Commit Graph

56972 Commits

Author SHA1 Message Date
Adam Powell
eba13dd07f Prevent duplicate loader onLoadFinished calls on config change
Loaders report entering the started state in two places, once from
their host callbacks and once when moving into their host fragment's
starting state. In the former, we will also deliver load results if
we're finishing a retained cycle.

In practice, the individual fragment start happens first which clears
the report-next-start flag, then the finishRetain step sees that flag
is cleared and dispatches the finished load results again. Change
reportStart to only call onLoadFinished if we are not finishing up a
retain step.

Bug 28074512

Change-Id: I85b848f7d7b239c8fac5aec8f0c91e4eea6bcebf
2016-04-11 14:26:58 -07:00
Benjamin Franz
3f7fdaaa76 Merge "Revert "Throw security exception for non-parent aware APIs"" into nyc-dev 2016-04-11 14:32:49 +00:00
Benjamin Franz
a26c626564 Revert "Throw security exception for non-parent aware APIs"
This reverts commit bd7ae782ed.

Bug: 28107853

Change-Id: Ic286d9a181e96b8eb9826dab9ed297e0e4dfa6de
2016-04-11 12:43:17 +00:00
Yohei Yukawa
a8c81c1a80 Merge "Fix inefficient CursorAnchorInfo#hashCode()." into nyc-dev 2016-04-11 09:49:23 +00:00
Clara Bayarri
738ab04fd9 Merge "Expose the Keyboard Shortcuts Helper in Activity" into nyc-dev 2016-04-11 09:43:16 +00:00
Yohei Yukawa
b7edebc8ad Fix inefficient CursorAnchorInfo#hashCode().
It turns out that the current CursorAnchorInfo#equals() is quite
inefficient because our CursorAnchorInfo#hashCode() tries to use almost
all the fields.  Even worse, as Matrix#hashCode() is hard-coded to 44,
we get the same hashCode() when comparing two CursorAnchorInfo objects
that are different only in transformation Matrix after such a complex
hash calculation.

In the real world scenarios, most likely calculation hash code only from
Matrix and composing text would be good enough for our use case, because
the former can cover UI scrolling scenario and the latter can cover the
text typing scenario.  More complex hash calculation is probably
inefficient.

With this CL, CursorAnchorInfo#hashCode() is pre-calculated only from
those two fields, and carefully reorder comparisons in
CursorAnchorInfo#equals() to improve the likelihood of returning false
with fewer comparisons.

Bug: 28105733
Change-Id: Id896adeab5ffe87ceddb2c2762d6d91475e28ec4
2016-04-11 01:38:23 -07:00
Jeff Sharkey
2e3ce4ca46 Merge "Use inode numbers for CE storage." into nyc-dev 2016-04-11 06:12:37 +00:00
Jeff Sharkey
4288419787 Use inode numbers for CE storage.
Certain operations, such as clearing/destroying app data, or just
counting on-disk size, require us to know the CE storage directory
of a particular app.  To facilitate these operations, offer a method
to get the inode of a CE directory, and accept that inode number
for later operations.  Collect and store the inode number in
PackageUserState for future use when that user's CE storage is
still locked.  This design means it's safe to clear/destroy app
data in both CE/DE storage at the same time.

Move most installd-related methods to a uniform calling convention
that accepts a single parent PackageParser.Package, and internally
fans out to handle all "leaf" packages under that parent.

In previous releases, we started installing apps using a new
directory-based layout, where all app code, unpacked native libraries,
and optimized code is bundled together.  So now we only have a single
path to measure for code size.  This fixes several outstanding bugs
that were causing sizes to be miscounted for apps supporting multiple
architectures.

Fix a subtle bug in PackageSettings that would cause "notLaunched"
to be parsed incorrectly.

Bug: 27828915, 27197819
Change-Id: Ia582cf3550553292bde4bb4313367111332913ec
2016-04-10 23:26:09 -06:00
Yohei Yukawa
757224008e Revert "Customizes input extract edit view for Wear"
This reverts commit 880602eb64 [1],
which was committed with a wrong author email address and lacked license
notice in some files.  To avoid confusion, this we decided to
temporarily revert that CL so that we can commit it with proper license
notice and author address again.

 [1]: I16226ce393f2d15065d08e66a36d008eb1a0c8a1

Bug: 22512982
Bug: 28098677
Change-Id: I3dd3c7bf0ee9634fc4f3bf433bf5023675873e46
2016-04-09 15:24:02 -07:00
Jorim Jaggi
fe52f91f0c Merge "Only force drawing status bar background if target >= N" into nyc-dev 2016-04-09 04:04:35 +00:00
Jorim Jaggi
8f5701bd9f Only force drawing status bar background if target >= N
Since forcing it all the time has the potential of breaking
compatibility with apps, we don't want to do this.

Instead, we only force it if the app targets >= N.

We communicate this to window manager with
PRIVATE_FLAG_FORCE_DRAW_STATUS_BAR_BACKGROUND.

We introduced this for 2-up split-screen. If we have an app
that doesn't draw the status bar background by itself, we
just force the whole bar to be black.

The same applies for windows that used translucent status
bar - we also force the whole bar to be black

Bug: 27285627
Change-Id: I7f1ceaa364f8a4e851935f77aa5e8d913bf11791
2016-04-08 20:49:20 -07:00
Jack Yu
2e062ab8de Merge "Excluded certain APNs (e.g. IMS) from mobile data usage." into nyc-dev 2016-04-09 03:30:31 +00:00
Amith Yamasani
0cc0381714 Merge "Improved javadoc for onLocalVoiceInteractionStopped" into nyc-dev 2016-04-09 00:47:23 +00:00
Zhijun He
b0fe2a9637 Merge "Camera2: update API per API council review" into nyc-dev 2016-04-08 23:30:41 +00:00
Zhijun He
0034743236 Camera2: update API per API council review
Per API concil recommendation, made below API change:
* change method name from createCaptureSessionByOutputConfiguration to
createCaptureSessionByOutputConfigurations
* Change method name from
createReprocessableCaptureSessionWithConfigurations to
createReprocessableCaptureSessionByConfigurations

Bug: 27950067
Change-Id: I8346d384210556a40bc2544c3660cc4819f304a1
2016-04-08 23:21:06 +00:00
Phil Weaver
af93306a3d Merge "Reduce unnecessary accessibility cache clearing." into nyc-dev 2016-04-08 22:33:33 +00:00
Tenghui Zhu
3cb5ba75b7 Merge "Update the documentation on createCircularReveal" into nyc-dev 2016-04-08 21:24:04 +00:00
Bryce Lee
196a05724d Merge "Add granular control over disabled effects." into nyc-dev 2016-04-08 20:59:10 +00:00
Mark Renouf
880602eb64 Customizes input extract edit view for Wear
Provides an alternate presentation of the extract edit area
of an input method window, designed for sub 250dp width screens.

An icon is used on a round material style button in place of a text
action, providing more horizontal space for the editing area.

BUG: 22512982
Change-Id: I16226ce393f2d15065d08e66a36d008eb1a0c8a1
(cherry picked from commit fd71a6a5d99bad5d3ab32edc328fb5b026b66215)
2016-04-08 16:56:25 -04:00
Julia Reynolds
3898db9e15 Merge "Allow the ranker to autobundle notifications." into nyc-dev 2016-04-08 20:13:45 +00:00
Phil Weaver
e37cfab6c6 Reduce unnecessary accessibility cache clearing.
Tracking if accessibility focus is being cleared because it is being
set to another view in the same window. In this case, leave
accessibility focus on the window.

This change greatly reduces the amount of cache re-indexing.
Previously we flushed the cache every time accessibility focus moved.

Bug: 28077283
Change-Id: If80899d36e7f58b22635f844bdd4ea37a55b875e
2016-04-08 13:06:44 -07:00
Jason Monk
aa336f8926 Merge "Allow mode of TileService to be changed" into nyc-dev 2016-04-08 19:37:55 +00:00
Dianne Hackborn
6827db3e5f Merge "Fix issue #28075893: Don't hold strong refs on to JobService" into nyc-dev 2016-04-08 19:28:42 +00:00
Adam Powell
fe5e1a75c1 Merge "Chooser filtering and caller direct share targets" into nyc-dev 2016-04-08 19:20:25 +00:00
Andrii Kulian
21400cb552 Merge "Fix multiple configuration changes in multiwindow" into nyc-dev 2016-04-08 19:05:20 +00:00
Andrii Kulian
701214b282 Fix multiple configuration changes in multiwindow
When in split-screen mode and activity handles configuration changes
it gets 2 onConfigurationChanged calls which originate from
ActivityManagerService#updateConfigurationLocked:
1. app.thread.scheduleConfigurationChanged calls to all process records
   send configuration of the whole screen for corresponding orientation,
   which leads to CONFIGURATION_CHANGED message in ActivityThread.
2. mStackSupervisor.resizeStackLocked call resizes both visible stacks and
   eventually ActivityThread receives ACTIVITY_CONFIGURATION_CHANGED
   message with correct configuration corresponding to space occupied in
   split-screen.

In this CL if component callback is an instance of Activity and it had
override config set - onConfigurationChanged will not be triggered unless
override config has changed.

Bug: 27948331
Change-Id: Ia73b045570b44eb5b351811bf6c4f63d78c3f909
2016-04-08 11:58:43 -07:00
Phil Weaver
ab4d5ffd12 Merge "Eliminate side effects of a11y window title." into nyc-dev 2016-04-08 18:22:02 +00:00
Doris Liu
0e89f98044 Merge "Improve error logging for parsing failures" into nyc-dev 2016-04-08 18:02:51 +00:00
Doris Liu
0a1a5167be Improve error logging for parsing failures
Bug: 27043594
Change-Id: I901b65f734c49444a78e0714e007e15e2340ab9d
2016-04-08 18:01:54 +00:00
Julia Reynolds
e46bb37acf Allow the ranker to autobundle notifications.
Bug: 26709317
Change-Id: I5017a471604e513a7b582cdc2f3472441e108fae
2016-04-08 13:55:03 -04:00
Bryce Lee
7219adadb0 Add granular control over disabled effects.
Currently, we can only wholesale disable effects outside of zen mode.
There are some devices that require long running suppression of features.
Effects disabling was added previously to support this. However, calling
suppression was broken recently on a device where we needed notification
suppression, but not calling suppression.

This CL remedies this problem by adding more granular disabled effects
hints. The NotificationManagerService has been updated to handle these
request types and present ZenModeHelper with a unified map of what should
be suppressed.

Bug: 27992763
Change-Id: I38b4706446dfd6e1c3eb97266dbc3332b250adda
2016-04-08 10:54:23 -07:00
Amith Yamasani
d8d967e425 Improved javadoc for onLocalVoiceInteractionStopped
Improved docs per API review: b/27365473

Change-Id: I8e2fd5291ecf3c41b4c1fa4df62b0dc69597c122
2016-04-08 09:57:01 -07:00
Jason Monk
97d2272be0 Allow mode of TileService to be changed
Since the mode of a tile service was set in onTileAdded, it couldn't
be controlled by developers if they updated their tile.  To handle
the mode has been moved to a boolean meta-data flag to indicate
a tile should be an active tile.

Bug: 28043969
Change-Id: I6403d34f8cb70809edc07769389d5a1f835c1ab3
2016-04-08 11:42:57 -04:00
Adam Powell
52c39215db Chooser filtering and caller direct share targets
Let apps invoking the system chooser specify components to filter out
such as themselves; this will prevent duplicate nonsensical UX where
it doesn't make sense for an app to share to itself.

Similarly, let apps provide their own Direct Share targets for when
they do want to let users share via their own internal services in the
same UI. These options can be used together.

Also fix a bug where a lingering binder reference from a remote
ChooserTargetService that hasn't been GC'd in the remote process could
keep an active reference to a ChooserActivity instance.

Bug 28073484

Change-Id: Ib613b1153b49dfedf79574b1af7c45379eceec24
2016-04-08 08:40:38 -07:00
John Reck
c724dcf23c Merge "Make stopped state a first-class thing" into nyc-dev 2016-04-08 15:09:42 +00:00
Gustav Sennton
1d16d773b0 Merge "Create WebViewUpdateServiceImpl to move implementation there." into nyc-dev 2016-04-08 14:25:59 +00:00
Benjamin Franz
5c1fbadb1a Merge "Throw security exception for non-parent aware APIs" into nyc-dev 2016-04-08 12:02:26 +00:00
Ruchi Kandoi
0f36ba81e7 Merge "batteryService: Add Charge Counter." into nyc-dev 2016-04-08 01:09:24 +00:00
Ruchi Kandoi
6361e22fea batteryService: Add Charge Counter.
Bug: 27174034
Change-Id: Ib8bc8f617288c0ad543c67e0fa609c5a0c87b5fd
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
2016-04-08 01:09:02 +00:00
Dianne Hackborn
0796e9fb3d Fix issue #28075893: Don't hold strong refs on to JobService
Change-Id: I822adaee953be9b14213def001b174d5c348fa14
2016-04-07 17:29:36 -07:00
Jorim Jaggi
7c3912e4ab Merge "Dismiss docked stack when opening non-resizable activity" into nyc-dev 2016-04-07 23:40:44 +00:00
Tim Murray
d8ca02f252 Merge "Improve service start/creation tracing." into nyc-dev 2016-04-07 23:19:38 +00:00
Teng-Hui Zhu
9b3be58403 Update the documentation on createCircularReveal
fix:25250431

Change-Id: I9fc76ad69b495c36a03c875a529f755a029fae96
2016-04-07 16:13:27 -07:00
John Reck
4a62effbfe Merge "Fix some edge cases" into nyc-dev 2016-04-07 23:08:10 +00:00
Jorim Jaggi
d53f09254e Dismiss docked stack when opening non-resizable activity
- Also move the toast to SysemUI as a cleanup.

Bug: 27341740
Bug: 28026841
Change-Id: Ic6196ed75511751c6fadb12fa24574c881100f65
2016-04-07 16:07:27 -07:00
John Reck
945961f78a Make stopped state a first-class thing
Bug: 27286867

WindowManager has committed to stopped state
controlling the lifecycle of the Surface, so
make that a first-class thing in HWUI as well.

This makes it more resistent to things like
a rogue updateSurface() happening while mStopped=true,
leading to bad things down the line. Instead let
the surface be changed/updated as often as desired,
and just block any attempt to draw on that surface.

Also removes some unnecessary makeCurrent()s, as
EglManager ensures that we *always* have a valid
GL context now (using a pbuffer surface if there is
no window surface set)

Change-Id: Iead78ddebc7997e8fdb0c9534836352f5e54b9bd
2016-04-07 16:02:33 -07:00
Tim Murray
b6f5a4292b Improve service start/creation tracing.
bug 27998068

Change-Id: If18ab5d293f0bb0dfbfbed2f2af383c349464963
2016-04-07 15:37:43 -07:00
Vladislav Kaznacheev
e1efbceeb7 Merge "Hide unnecessary extra name constants in ClipDescription" into nyc-dev 2016-04-07 22:21:45 +00:00
Phil Weaver
9be3c7bdc7 Eliminate side effects of a11y window title.
ag/898112 added passing the window title to accessibility. To do that,
it also updated copy of the title in WindowManager.LayoutParams. That
was a behavior change, and the change broke cts tests that enforce that
the title in LayoutParams matches its expected format.

This change restores the previous behavior and adds a separate field to
LayoutParams to old an up-to-date title to pass to accessibility.

Bug: 28002185
Change-Id: Ia5b549113600b7c4fcc80b76c3f3a944dddaf483
2016-04-07 15:15:41 -07:00
John Reck
51f2d606dc Fix some edge cases
Bug: 27709981

This desperately needs a refactor, but to keep
the current (really needed & nice) behavior of
dispatching after sync finishes would be difficult
to handle cleanly without lots of ripping so... #yolo

Change-Id: I831a06c6ae7412a062720d68ecbe3085190f0258
2016-04-07 14:10:43 -07:00