Commit Graph

55472 Commits

Author SHA1 Message Date
Yohei Yukawa
7baeceb966 Merge "Make InputMethodInfo#isEncryptionAware() strict." into nyc-dev am: ae8e090004
am: 7f2bfe20e1

* commit '7f2bfe20e17751b8e9e1169c943d53c65949760a':
  Make InputMethodInfo#isEncryptionAware() strict.
2016-02-09 22:50:41 +00:00
Yohei Yukawa
b128427289 Merge changes Icf921fe3,Ie1a8ee22 into nyc-dev am: 2ba26dd87c
am: 3b656f7a82

* commit '3b656f7a821f4ff4b3d882954a4fdba91b491acc':
  Add a utility method to InputMethodInfo for FBE.
  Fix style issues in InputMethodInfo.java.
2016-02-09 22:44:07 +00:00
Andres Morales
7e8da9ca19 Merge "updates to FrameStatsObserver API" into nyc-dev am: 7364905303
am: 3d5a7e408a

* commit '3d5a7e408a1421bee144c87c832a7ac1b0fdc9ab':
  updates to FrameStatsObserver API
2016-02-09 22:36:15 +00:00
Selim Gurun
692c3a9203 Fix build break am: 75827b2fb6
am: ce10f2098b

* commit 'ce10f2098b33e61234f2fa61deb97b0dd013f6a6':
  Fix build break
2016-02-09 22:35:12 +00:00
Selim Gurun
2254773e76 Merge "Introduce a use32bitAbi flag" into nyc-dev am: 8b67c1697e
am: 6e6470cea0

* commit '6e6470cea0f87f7843d79be8300399c49e270996':
  Introduce a use32bitAbi flag
2016-02-09 22:33:03 +00:00
Yohei Yukawa
37db07216e Make InputMethodInfo#isEncryptionAware() strict.
This is a follow up CL to the previous CL [1], which unintentionally
relied on whether the entire application rather than the
InputMethodService is marked to be encryption-aware.  This wasn't
obvious because right now LatinIME is entirely marked to be
encryption-aware, which probably needs to be reconsidered in subsequent
CLs.

This CL drops "encryptionAware" line from InputMethodInfo#dump() as it
is redundant.  The same information is already dumped in the
'ServiceInfo' section.

 [1] Icf921fe3661eccf4a589b08b616d05decc561356
     69811a98f1

Bug: 26279466
Change-Id: I6cea5fe5731f4a6a64ea722b854b99c5154a15ae
2016-02-09 13:39:50 -08:00
Yohei Yukawa
2ba26dd87c Merge changes Icf921fe3,Ie1a8ee22 into nyc-dev
* changes:
  Add a utility method to InputMethodInfo for FBE.
  Fix style issues in InputMethodInfo.java.
2016-02-09 19:49:20 +00:00
Andres Morales
7364905303 Merge "updates to FrameStatsObserver API" into nyc-dev 2016-02-09 19:00:32 +00:00
Selim Gurun
75827b2fb6 Fix build break
Bug: 26874366
Change-Id: Ic7634cb9d823d4f74d2893f4c46a77a5af02a0a1
2016-02-09 10:55:33 -08:00
Andres Morales
910beb8f5d updates to FrameStatsObserver API
- Rename to FrameMetrics to avoid collision with existing
  android.view.FrameStats class
- Make FrameMetricsObserver implementation detail,
  exposing FrameMetricsListener interface as public API
  and wrapping in FrameStatsObserver to maintain state
- Remove dropped frame count call, in favor of passing as
  parameter to callback method.
- Move away from raw timestamp access in favor of Metric IDs
  which represent higher-level, more stable stages in a frame
  lifecycle and match the categories exposed in the onscreen
  bars.
- Support many-to-many Window<->FrameMetricsListener relationship

Change-Id: I00e741d664d4c868b1b6d0131a23f8316bd8c5c2
2016-02-09 10:40:01 -08:00
Selim Gurun
2d291d89f9 Introduce a use32bitAbi flag
Bug: 26874366

On Multiarch apps, it might be necessary to prioritize 32bit Abi ahead
of 64bit ones. The use32bitAbi flag enables this.

This CL also reverts the public api changes in  I2c1fd1d036efe72b28b5fe996416df69a583959f and Ie3ecea6d84e2cb1522e736a21c3a3a24ac62eb27. Previously
the same functionality was provided using a raw abi string that
utilized cpuabioverride flag.

Change-Id: Idce3cbfedd11ef9079ce8a2901e69d30b1cf9ef4
2016-02-09 10:20:21 -08:00
Phil Weaver
cc494765fa Merge "Clean up UiAutomation working alongside a11y." into nyc-dev 2016-02-09 16:59:26 +00:00
Yohei Yukawa
69811a98f1 Add a utility method to InputMethodInfo for FBE.
This is another preparation for Bug 26279466.  Whether an input method
is marked to be encryption-aware or not would become the thing here and
there in the Framework code.  Having a utility method and debug info
in dumpsys should make our lives easier.

Bug: 26279466
Change-Id: Icf921fe3661eccf4a589b08b616d05decc561356
2016-02-09 01:10:27 -08:00
Yohei Yukawa
285765014f Fix style issues in InputMethodInfo.java.
This has nothing to do with Bug 26279466 but might be something nice to
fix just as a preparation.

Bug: 26279466
Change-Id: Ie1a8ee2248081a70728c29e52c657b3a0ed919b1
2016-02-09 01:10:17 -08:00
Jorim Jaggi
8d2b92f112 Merge "Put dismiss end target at navigation bar" into nyc-dev am: 93f04f8920
am: 8629333b9c

* commit '8629333b9c1fe90459120357421b831c8bf761bf':
  Put dismiss end target at navigation bar
2016-02-09 02:12:27 +00:00
Jorim Jaggi
93f04f8920 Merge "Put dismiss end target at navigation bar" into nyc-dev 2016-02-09 01:56:23 +00:00
Jorim Jaggi
81ba11eccb Put dismiss end target at navigation bar
This makes the animation when exiting docked mode a bit nicer
when you fling the divider towards to the navigation bar. However,
since the divider ends at the navigation bar, we need to immediately
dismiss it instead of fading out when the divider is fully occluded
by the navigation bar.

Change-Id: Ic5432fd118cb71be36485667b2c537caf5065ce5
2016-02-08 16:54:55 -08:00
Phil Weaver
78d2e2ddf0 Clean up accessibility gestures.
Closing two small holes in the implementation:
1. The gesture was dispatched before the callback was registered. It
was possible for gestures that failed quickly to fail to report any
status.
2. Gestures could be dispatched before the input filter was
installed. Adding a wait to give the filter a chance to install
before reporting a failure.

Also removing an unused method on the input filter.

Change-Id: I77cd80dcd2cec6c72b3761169aba5eaecf62250b
(cherry picked from commit 03465fb874)
2016-02-09 00:51:18 +00:00
Phil Weaver
156618c991 Merge "Clean up accessibility gestures." 2016-02-09 00:51:06 +00:00
Phil Weaver
f564afa4cd Clean up UiAutomation working alongside a11y.
Fix two bugs: one where Instrumentation did not properly
handle destroyed UiAutomations, another where UiAutomation
did not properly disable running accessibility services.

Change-Id: I1773dbd373f4d5b0e7c9917ff18d8d9b1a0e07c7
(cherry picked from commit 846522cea0)
2016-02-09 00:08:59 +00:00
Phil Weaver
8333cfec7a Merge "Clean up UiAutomation working alongside a11y." 2016-02-09 00:08:36 +00:00
Svetoslav Ganov
9137079ca2 Merge "Multi packages per APK" into nyc-dev am: f2971c45df
am: 9ebeee829c

* commit '9ebeee829cba860e5106407963be479085e6789d':
  Multi packages per APK
2016-02-09 00:04:34 +00:00
Siyamed Sinir
8664c051fc Merge "Clamp EditText cursor in the drawable boundaries." into nyc-dev am: f4aa7d2e8a
am: c1a79aebc2

* commit 'c1a79aebc2378c49b878d561131d895dd471efc8':
  Clamp EditText cursor in the drawable boundaries.
2016-02-09 00:03:00 +00:00
John Reck
e5957279d1 Merge "Fix drawing cache on sw drawing" into nyc-dev am: 8f81637a87
am: 167c5b76be

* commit '167c5b76be038fba621eca65e8c3e81af16ecb0f':
  Fix drawing cache on sw drawing
2016-02-08 23:22:17 +00:00
Svetoslav Ganov
f2971c45df Merge "Multi packages per APK" into nyc-dev 2016-02-08 23:20:51 +00:00
Siyamed Sinir
f4aa7d2e8a Merge "Clamp EditText cursor in the drawable boundaries." into nyc-dev 2016-02-08 23:16:49 +00:00
Svet Ganov
354cd3ce22 Multi packages per APK
This change introduces the ability to have multiple packages per
APK. The feature is currently restricted to privileged apps and
updates to such apps.

In essence the manifest can have multiple child package declarations.
A child package can declare everything an Android package can except
some tags or attributes that are not applicable and instead inherited
from the parent when needed. For example, the target SDK of the parent
applies to all children.

A child package can be updated only through the parent package.
A package with multiple child packages is installed, uninstalled
atomically - no partial installs where some child packages are not
installed.

The remaining work is to ensure broadcasts are also sent for child
packages. This will come in a subsequent change.

Sample app:ag/848432

Design doc: https://docs.google.com/document/d/18nFWtJuZchLxrHf5SBbJW03-Ky9Rh_G0-OVB14b6u78

Change-Id: I6fd021d981bf5786290e0c53502724a14c97358c
2016-02-08 15:14:07 -08:00
Tao Bao
1c8f646c2d Merge "Add system APIs for A/B update." into nyc-dev am: 6af1d75a0c
am: bfc03b7a93

* commit 'bfc03b7a93a26ed26fcc0516436e383b0106175e':
  Add system APIs for A/B update.
2016-02-08 22:59:28 +00:00
Paul Crowley
760f2686ed Merge "Password security for FBE disk encryption keys" into nyc-dev am: 23b588c7b3
am: d386008899

* commit 'd386008899ff359a0e8cea629523d6bf305896b9':
  Password security for FBE disk encryption keys
2016-02-08 22:53:02 +00:00
Siyamed Sinir
087d7b7c9c Merge "Do not save TextView text when freezesText is false" into nyc-dev 2016-02-08 22:51:33 +00:00
John Reck
8f81637a87 Merge "Fix drawing cache on sw drawing" into nyc-dev 2016-02-08 22:46:09 +00:00
Siyamed Sinir
217c0f71df Clamp EditText cursor in the drawable boundaries.
EditText tried to draw outside of the padding boundaries because of a
cursor positioning issue in RTL. This CL removes that fix and instead
clamps the cursor position if cursor is outside of the clipped view
boundary.

Bug: 23397961
Change-Id: Id5f1fbe2a0f571100c89b21758fbb81b14d5da57
2016-02-08 22:41:26 +00:00
Siyamed Sinir
027711904b Do not save TextView text when freezesText is false
Currently TextView state is saved whenever selection is set even if
freezesText is false. This causes inconsistencies with the described
behavior for the attribute. This CL updates the behavior as:
- Always save the text for EditText
- Always save the selection if there are any.
- Do not save the text for TextView if freezesText is false.
- During onRestoreInstanceState if selection is out of the text
  boundaries, do not restore the selection.

Bug: 22076905
Change-Id: I5e05d343e752a7d106c8881993e4d95ae21a38ce
(cherry picked from commit 8535836673)
2016-02-08 22:23:25 +00:00
Siyamed Sinir
90a8d1d4f7 Merge "Do not save TextView text when freezesText is false" 2016-02-08 22:22:23 +00:00
John Reck
046bd306e7 Fix drawing cache on sw drawing
Bug: 26644517
Change-Id: Ie087a05e1dbab75040ca39e0c43df985f8afed3e
2016-02-08 14:13:06 -08:00
Tao Bao
6af1d75a0c Merge "Add system APIs for A/B update." into nyc-dev 2016-02-08 22:07:05 +00:00
Suprabh Shukla
d9414fa843 Merge "Added an api to uninstall a packge with active DAs" 2016-02-08 21:46:01 +00:00
Paul Crowley
23b588c7b3 Merge "Password security for FBE disk encryption keys" into nyc-dev 2016-02-08 21:45:45 +00:00
Suprabh Shukla
8e60f6bb17 Added an api to uninstall a packge with active DAs
The api deactivates all the active admins in the package, then force
stops the package and starts the uninstall intent for the package. This
is intended to provide an easy way for a user to delete a misbehaving
Device Admin

Bug: b/22359208
Change-Id: Ic7ddd89ef6db53e7e76f805808d9e806100374db
2016-02-08 13:43:56 -08:00
Phil Weaver
846522cea0 Clean up UiAutomation working alongside a11y.
Fix two bugs: one where Instrumentation did not properly
handle destroyed UiAutomations, another where UiAutomation
did not properly disable running accessibility services.

Change-Id: I1773dbd373f4d5b0e7c9917ff18d8d9b1a0e07c7
2016-02-08 13:09:46 -08:00
Robert Carr
e12aece4ca Ensure surfaces stay alive until activity stop.
Prior to this commit in this case of activity pause, with finishing=true
the activity manager will notify us of app visibility and we will begin
an exit animation. When this exit animation finishes, we will destroy
the application surface (unless its eligible for saving). However there
are two cases where this breaks down:

1. The exit animation finishes before the activity thread handles
the stop transition. Many activities stop rendering on Pause
but many do not and it is totally legal to do so. Sometimes this
results in non fatal dequeue buffer errors and sometimes results in
fatal errors with Pixel Buffers, etc...
2. We may resume the activity shortly after asking the window manager
to pause it. If the window wasn't eligible for animation, we will
immediately destroy it after being told of the visibility change
following PAUSE_FINISHING. It's possible for this to complete
before we process the resume. On the other hand the client
happilly processes the resume and transitions back from PAUSE
and then crashes once it attempts to use it's surface.

In this commit we have the activity manager notify the window manager
when an application has actually finished (or we have timed out
waiting). For windows which have not been explicitly removed by the
client, we defer destruction until we have received both this signal
and the animation has completed.

Bug: 26793431
Change-Id: Ib6ee8fbdd1f03450fbbfd62468a19e97774befab
2016-02-08 20:46:53 +00:00
George Mount
5affef0773 Fix Fade transition interrupt.
Bug 26963113

When a Fade transition is interrupted and reversed, the
View started the animation from the beginning. This change
captures the previous transitionAlpha and starts the animation
from the previous alpha state.

Change-Id: I801fe9ade6af4cf8446838e231bdc71841668a18
(cherry picked from commit 3cf9fa3db0)
2016-02-08 20:33:49 +00:00
Jeff Sharkey
95728a5db6 Merge "Move graphics and JIT caches to DE storage." into nyc-dev 2016-02-08 19:47:20 +00:00
Jeff Sharkey
e84bdd38ad Move graphics and JIT caches to DE storage.
We confirmed with the graphics and JIT teams that no sensitive
user data is written to these caches, so they're safe to point at DE
storage.

Since we don't have control over what is written by the app, we need
to keep the cache environment variable pointing at CE storage.

Fix ensurePrivateDirExists() to always return a path, instead of
returning null which can cause scary bugs.

Change packages.list to no longer canonicalize data paths, since
these fail when CE storage is still locked.

Bug: 27069522
Change-Id: Ifff64a036fa4aa1e61aa0dd98486bc711fbf8f4a
2016-02-08 12:24:05 -07:00
Adam Powell
44ba79e47d Permit setRetainInstance(true) on nested fragments, framework edition
Save arbitrarily nested fragments across config changes as
nonconfiguration objects. This permits the use of retain-instance
child fragments as arbitrary opaque dependencies within other
fragments.

Change-Id: Ia6640b76cfcf7ec28ba252628957a0c14863e957
(cherry picked from commit 7466be6626)
2016-02-08 19:10:44 +00:00
Adam Powell
8585ed66b9 FragmentTransaction.commitNow, framework edition
Offer commitNow and commitNowAllowingStateLoss methods on Fragment for
use by encapsulated components using fragments as implementation
details. This can help prevent unexpected ordering side effects at the
app level when a call to a library method wants to commit and
immediately initialize a fragment as an implementation detail.

Note that this change still does not permit reentrant FragmentManager
operations. It is still an error to add/remove/change fragments in the
same FragmentManager while a fragment transaction is being executed.

Have the commonly used ViewPager adapters use commitNow instead of
executePendingTransactions.

Change-Id: Ia37a871234a287423063f0c2c3e4c93d69116cad
(cherry picked from commit f6b30662f8)
2016-02-08 19:00:52 +00:00
Adam Powell
2af189a0a7 Preserve compatibility for ViewGroup#showContextMenuForChild
Have the new showContextMenuForChild(View, float, float) call through
to the old showContextMenuForChild(View) before recursing up to its
parent. This ensures that existing apps with custom views that
override the old method still get called as expected if they implement
custom behavior.

Unlike some other similar circumstances we aren't implementing this to
be bidirectional as the new behavior doesn't need to be triggered by
invoking the old. If the older method is invoked explicitly we will
still show old-style dialog context menus instead of the newer popup
style since we won't have a good place to visually anchor a popup.

Bug 26919262

Change-Id: Ie09f922d322b5a24789c7867820c4bc43824c385
(cherry picked from commit 759a4c5400)
2016-02-08 18:59:28 +00:00
Tao Bao
43cd1bcb10 Add system APIs for A/B update.
Add android.os.UpdateEngine and UpdateEngineCallback classes that
communicate with the update engine via binder APIs for A/B update.

Bug: 26695366
Change-Id: I2471858d28df5443bc0b56d9a20281ccebde4484
2016-02-08 10:38:35 -08:00
Siyamed Sinir
8535836673 Do not save TextView text when freezesText is false
Currently TextView state is saved whenever selection is set even if
freezesText is false. This causes inconsistencies with the described
behavior for the attribute. This CL updates the behavior as:
- Always save the text for EditText
- Always save the selection if there are any.
- Do not save the text for TextView if freezesText is false.
- During onRestoreInstanceState if selection is out of the text
  boundaries, do not restore the selection.

Bug: 22076905
Change-Id: I5e05d343e752a7d106c8881993e4d95ae21a38ce
2016-02-08 10:35:50 -08:00
Paul Crowley
faeb3eb0ba Password security for FBE disk encryption keys
Add the means to protect FBE keys with a combination of an auth token
from Gatekeeper, and a hash of the password. Both of these must be
passed to unlock_user_key. Keys are created unprotected, and
change_user_key changes the way they are protected.

Bug: 22950892
Change-Id: Ie13bc6f82059ce941b0e664a5b60355e52b45f30
2016-02-08 15:58:29 +00:00