Commit Graph

69982 Commits

Author SHA1 Message Date
TreeHugger Robot
42c6529c1d Merge "SurfaceView: Don't destroy Surface while Stopped." into oc-dev 2017-05-23 02:32:17 +00:00
Jiaquan He
652e940ebd Do not relayout on default focus highlight.
Test: AdjacentListsWithAdjacentISVsInsideTest.testFocusedRectAndFocusHintWorkWithinListItemHorizontal
Bug: 38195445

Change-Id: I4ba61d1dd6b806bff5305986a086c436c3b05b12
2017-05-22 20:12:46 +00:00
Dianne Hackborn
ad6dde65ff Merge "Fix issue #38393543: Not allowed to start service Intent" into oc-dev 2017-05-22 20:03:33 +00:00
Bryce Lee
3ebe54b3e6 Merge "Disallow starting activities without new task from non-activity context." into oc-dev 2017-05-22 14:31:07 +00:00
Phil Weaver
ed83139842 Merge "Revert "NumberPicker a11y (and a11y-inspired) fixes"" into oc-dev 2017-05-22 13:03:45 +00:00
Dianne Hackborn
3e6e3855ea Fix issue #38393543: Not allowed to start service Intent
Turns out there was another path in to the activity manager
to trigger a PendingIntent, which needs to be modified to
now also pass in the whitelist token of that pending intent.

Test: manual
Change-Id: I755ff87db1b782fa6974d404dcb490786053c5e0
2017-05-19 16:12:08 -07:00
Robert Carr
73678099f8 SurfaceView: Don't destroy Surface while Stopped.
We instead just want to leave it floating, and let
it's lifetime be controlled by the parent surface. This way it can
take part in animations. Normally the WindowManager handles this by
calling detachChildren but it seems sometimes stop arrives before
the window manager is even clued in. Rather than bringing ActivityManager
in to the detach children dance...this seemed more appropriate and very similar
to the behavior before SV->SurfaceControl port.

Bug: 37922210
Test: Manual from bug + Launch chrome a bunch
Change-Id: Iee4fb0078a6e8dfd4c7acdb0107f8edd3a995634
2017-05-19 15:21:58 -07:00
Evan Rosky
a2ee78aeb9 Merge "Missed a break statement. very sorry" into oc-dev 2017-05-19 20:25:54 +00:00
Keun-young Park
ff4cc4ebb5 Merge "Wait for keyguard draw before stopping boot animation" into oc-dev 2017-05-19 20:07:14 +00:00
Michael Wachenschwanz
61e2b15866 Merge "DO NOT MERGE Revert "WTF Logging for catching memory issue in Parcel"" into oc-dev 2017-05-19 18:27:15 +00:00
Adam Bookatz
1effe000b8 Merge "Cumulative wakelock time per uid" into oc-dev 2017-05-19 18:24:44 +00:00
Keun-young Park
4136d2d54b Wait for keyguard draw before stopping boot animation
- Add check for keyguard drawn before stopping boot animation.
  Otherwise blank screen can happen.
- Bind to keyguard service when sysui is launched to reduce waiting
  time later.
- Increase keyguard timeout to 5 secs if it is not boot completed.
  Otherwise (= normal screen on), keep the current 1 sec.
  This timeout can still lead into blank screen so use bigger timeout
  during boot-up to prevent such case.

bug: 37867510
Test: many reboots

Change-Id: Ibfdc42d295bb1d3f5b4ea316fe5aca9ab875e4be
2017-05-19 09:20:28 -07:00
Jorim Jaggi
64900ad13c Merge "Take snapshot when screen is turning off" into oc-dev 2017-05-19 12:29:54 +00:00
TreeHugger Robot
01d5b3d2af Merge "Introduce early exit path for non resource path." into oc-dev 2017-05-18 23:30:24 +00:00
Jorim Jaggi
51304d7380 Take snapshot when screen is turning off
Since we can't take a snapshot when screen is turned off, we need
to snapshot before we are turning the screen off. For this, we
- Add a callback from DisplayPowerController to give policy a
chance to do something before display will be turned off.
- Implement this callback by taking snapshots of all visible
tasks.

Test: Inspect logs/traces about screen off blocking to make sure
callback is working correctly.
Test: Insert artificial 500ms delay in onScreenTurningOff and make
sure we are unblocking screen off when turning on screen in the
meantime.
Test: Open Maps, go to recents, open maps again, scroll to another
location, toggle power button, make sure the old location isn't
shown during unlock.

Change-Id: I489f31358f838d418f894f996495946084f136a4
Fixes: 37107783
2017-05-19 00:55:31 +02:00
Michael Wachenschwanz
138bebf4c1 DO NOT MERGE Revert "WTF Logging for catching memory issue in Parcel"
This reverts commit 101e38cbec.

Bug: 37298089
Change-Id: Ia468d50fd1e4ca2ffa6145967bf3c847ed1929b8
2017-05-18 22:09:18 +00:00
TreeHugger Robot
99e620ef32 Merge "In onDragEvent(), don't assume text is Spannable" into oc-dev 2017-05-18 19:21:51 +00:00
Evan Rosky
0892401a86 Missed a break statement. very sorry
Change-Id: Ifbc6c60a3fa2cf296a34836c890a10d50c0f14c1
2017-05-18 11:18:18 -07:00
Dianne Hackborn
e4f484915f Merge "Work on issue #36891897: Need to ensure foreground services..." into oc-dev 2017-05-18 17:35:15 +00:00
Phil Weaver
a998b5f869 Revert "NumberPicker a11y (and a11y-inspired) fixes"
This reverts commit 1d359a6d31.

Bug: 38301562
Change-Id: I7a04f3068a8ecb0de63efcb82205b41916138a89
2017-05-18 16:19:23 +00:00
Jeff Sharkey
f383c24749 Unbreak even more APK 26 apps running on "O" preview/beta builds.
Bug: 38391358
Test: builds
Change-Id: Ic48f9cb53da3ed8241e5d40d3096304ee4dfebd2
2017-05-17 17:53:38 -06:00
Roozbeh Pournader
74e7b26a10 In onDragEvent(), don't assume text is Spannable
Previously, onDragEvent() tried to set the anchor even if
the text was not Spannable. Now we check to make sure it is
Spannable before trying to set the selection.

Test: cts-tradefed run cts-dev --module CtsTextTestCases
Change-Id: I835bf3d6024bf3c85e1d248458829eef496ad93d
Fixes: 37261326
2017-05-17 15:04:45 -07:00
Michael Wachenschwanz
a61f09f657 Merge "Purge Nonexistent User Jobs on Boot" into oc-dev 2017-05-17 18:58:12 +00:00
Charles He
50be382341 Merge "Fingerprint: call onRemovalSucceeded with # of remaining templates." into oc-dev 2017-05-17 12:58:21 +00:00
TreeHugger Robot
487231e79c Merge "Add more JSDoc about ErrnoException" into oc-dev 2017-05-17 02:17:01 +00:00
Michael Wachenschwanz
3f2b6552ec Purge Nonexistent User Jobs on Boot
In the case that a user has been removed but their jobs still exist on
disk, the JobSchedulerService will remove all jobs not associated with
current users on boot.
Exposed UserManagerService#getUserIds() via UserManagerInternal for
quick user id retrieval.

Fixes: 38261977
Test: manual

Change-Id: Id4b3c0a4142b4818fcd875eef18ea03f3c45ca40
Signed-off-by: Michael Wachenschwanz <mwachens@google.com>
2017-05-16 17:41:36 -07:00
Dianne Hackborn
fb5d4b598c Work on issue #36891897: Need to ensure foreground services...
...can't hide themselves

Propagate to notification manager the apps that are causing
the "running in background" notification to be shown.

Also hopefully this time fix the problem with the notification
being stuck.  (We were mixing elapsed time in the state management
with uptime in the message scheduling.)

Test: manual

Change-Id: I9e38bff5fe69fa75b418e34c84d4e704ef70f460
2017-05-16 17:05:02 -07:00
Winson Chung
0553cbcf36 Merge "Updating Overview to work with PiP" into oc-dev 2017-05-16 23:41:17 +00:00
TreeHugger Robot
9e6ef496bc Merge "Discover primary service by UUID for PTS tests (4/4)" into oc-dev 2017-05-16 22:53:50 +00:00
TreeHugger Robot
146e8f415f Merge "Specify behavior around DocumentsProvider#openDocument()." into oc-dev 2017-05-16 22:34:41 +00:00
TreeHugger Robot
4bc839e267 Merge "ViewRootImpl: Guard against null in performMeasure" into oc-dev 2017-05-16 22:25:09 +00:00
TreeHugger Robot
f38a1d3d2a Merge "Restrict access to instant app data in usage stats" into oc-dev 2017-05-16 21:56:15 +00:00
TreeHugger Robot
97bcf59fce Merge "SurfaceView: Reset window stopped state when attaching to window." into oc-dev 2017-05-16 21:51:28 +00:00
Bookatz
c8c44960c0 Cumulative wakelock time per uid
Currently, the time for each partial wakelock was tracked. If one
wants the total time that a uid held partial wakelocks (over all of its
wakelocks), they could sum over all the uid's partial wakelock
totalTimes, but this would underestimate the value because totalTimes
are pooled amongst all uids. Alternatively, they could sum over all the
uid's partial wakelock totalDurations, but this would overestimate the
value because totalDurations are not pooled within the uid (so there
will be double-counting if two wakelocks are held simultaneously). This
cl adds a new timer that specifically tracks the actual total time that
the uid spent holding wakelocks, and also provides the ability to see
how much time the uid was in the background when doing so.

Bug: 38198272
Test: runtest -x frameworks/base/core/tests/coretests/src/com/android/internal/os/BatteryStatsTests.java

Change-Id: I20ea3546338c44ffdf06859bc840d9059fb18321
2017-05-16 14:01:28 -07:00
Jakub Pawlowski
09ad0b27bb Discover primary service by UUID for PTS tests (4/4)
Bug: 38123054
Test: manual
Change-Id: I89e088e60f4325f1ece59d22efda0c907a3b716a
(cherry picked from commit fe2bf16a2b)
2017-05-16 13:50:11 -07:00
Garfield Tan
af03e5a322 Specify behavior around DocumentsProvider#openDocument().
Add supported modes and contracts on receiving unsupported modes.
Test: Builds.
Bug: 11279339

Change-Id: I8c403f6168baadb354813d4c1e630bb8662ddb34
2017-05-16 13:13:23 -07:00
TreeHugger Robot
83478acb87 Merge "Check for mAttachInfo nullness when getting the autofillable drawable." into oc-dev 2017-05-16 19:38:36 +00:00
Jorim Jaggi
cb414be017 Merge "Optimize hot launching recents" into oc-dev 2017-05-16 19:34:52 +00:00
Makoto Onuki
ad623015a1 Restrict access to instant app data in usage stats
- Events are obfuscated based on whether the app was instant or not at
the time each event was logged.

- UsageStats are obfuscated based on whether each app is instant or
not at the moment.

Bug 38202133
Test: Manual test using UsageStatsTest and instant apps

Change-Id: I3c74309196b88d010d317cb0dd6749bf4624e876
2017-05-16 12:33:43 -07:00
TreeHugger Robot
b2bd32929b Merge "Remove deprecated recommendation request code." into oc-dev 2017-05-16 18:44:28 +00:00
Felipe Leme
354587a972 Check for mAttachInfo nullness when getting the autofillable drawable.
Test: manual verification on Caviar (automated test will be added later)
Test: CtsAutoFillServiceTestCases pass

Bug: 38341498
Fixes:  38323841

Change-Id: I15cc792de87987cc19a229c2ab2dfc317877f7ec
2017-05-16 10:38:41 -07:00
Seigo Nonaka
2ea169a2ec Introduce early exit path for non resource path.
Developer can specify android:fontFamily with three ways, pre-defined
font family name, e.g. "sans-serif", path to the font file in resource
directory, e.g. "res/fonts/Roboto-Regular.ttf", or path to the XML font
family file, e.g. "res/fonts/Roboto.xml".

Resources.getFont treats font files and XML files but pre-defined family
name is handled by TextView. Thus, we can early exit if the passed value
is not likely resource path.

This improves the inflation performance.
The score without this patch:
gfx-avg-frame-time-50: 6.9
gfx-avg-frame-time-90: 9.4
gfx-avg-frame-time-95: 10.4
gfx-avg-frame-time-99: 16.7

The score with this patch:
gfx-avg-frame-time-50: 7.0
gfx-avg-frame-time-90: 8.9
gfx-avg-frame-time-95: 9.7
gfx-avg-frame-time-99: 16.5

Measured on bullhead-userdebug.

The APCT perf test improves from
String FontFamily: 200,086 -> 132,561
File FontFamily  : 199,256 -> 161,843
XML FontFamily   : 203,681 -> 158,553

Measured on angler-userdebug.

Bug: 38232467
Test: UiBenchmark
Change-Id: Ia601ae7207ae8c60848c9efdbb9396267a57257c
2017-05-16 10:14:56 -07:00
TreeHugger Robot
28f0fd7a2d Merge "Invoke BLKSECDISCARD to securely delete sensitive data" into oc-dev 2017-05-16 16:26:47 +00:00
Aurimas Liutikas
a7dde34a81 Merge "Remove internal listener when cloning" into oc-dev 2017-05-16 15:43:50 +00:00
Charles He
ee17d352d6 Fingerprint: call onRemovalSucceeded with # of remaining templates.
The onRemoved() callback from fingerprint daemon provides a "remaining"
parameter which contains the number of fingerprint templates yet to be
removed in the current removal operation. This is especially useful when
a group is removed, as remaining == 0 indicates the end of the group
removal.

In this CL, we wire up FingerprintManager so that the "remaining"
parameter gets passed to RemovalCallback#onRemovalSucceeded(). This
would allow clients like Settings to make use of the information.

Bug: 37938345
Test: manual, both with and without work profile
Change-Id: Idf46ef42e1d178cd3dc267aaf4219f03e27be766
2017-05-16 16:34:21 +01:00
Jorim Jaggi
34795e3197 Optimize hot launching recents
Rearrange how we generate the transition specs, which involves
creating a thumbnail on the mainthread (about 10ms on large
devices): First, we put launching the activity onto a handler
thread (with default priority), to free up the main thread. Then,
we immediately start generating the thumbnail such that when the
future calls us we have the generated spec already handy.

For that we need to be able to supply a specs future into
ActivityOptions, to avoid race conditions. Furthermore we need to
make sure not to call into WM while creating specs, to avoid WM
lock contention.

Test: App -> Recents -> Same app, inspect app transition logs
Test: Double tap recents for quick switching

Bug: 32668632
Change-Id: I6001e29145f8e56deb9c4ead46c53c87c9191436
Merged-In: Ic6ec65c2560f67cade3b5ddde9f79ee13e9ba32c
2017-05-16 17:28:40 +02:00
TreeHugger Robot
ce50eb2d17 Merge "Fix back stack problems due to postponed transitions" into oc-dev 2017-05-16 14:22:08 +00:00
TreeHugger Robot
2df0155a97 Merge "Fixes crash (race cond) when using toast that is immediately cancelled" into oc-dev 2017-05-16 14:16:01 +00:00
Rubin Xu
ee67b61bb0 Invoke BLKSECDISCARD to securely delete sensitive data
Bug: 34600579
Test: manual - change device lock under synthetic password, verify
      old data on disk is erased.

Change-Id: I247bd1f095dd27335e671981f9e2d77e149af84f
Merged-In: I247bd1f095dd27335e671981f9e2d77e149af84f
2017-05-16 13:30:05 +01:00
Svet Ganov
0df3702f53 Fixes crash (race cond) when using toast that is immediately cancelled
Running cancel after toast is shown and adding some UI stress (or sleep
on UI thread) causes a crash from toast when trying to add the toast
window to the display. The toast must be triggered from app that is
above N MR1 (25).

The steps that crash the app are:
1. Show toast (Toast.makeText(...).show()), window token is created
2. Immediately cancel toast (Toast.cancel()), window token is removed
3. Stall UI thread (Thread.sleep, heavy task), both show and cancel
events are queued to UI thread from window manager
4. Crash trying to add toast but no window token exists

In Toast:handleShow(), the mNextView is required to add the toast to
display, if the mNextView is null before posting to window manager, then
when handleShow() runs later, it will ignore adding the toast to
display. The issue before is that mNextView is set to null after cancel
runs back from window manager in UI thread but the show post will always
happen first. Therefore set mNextView to null at the beginning of
cancel will ignore adding the toast to display and avoid the crash.

Bug: 37606432

Test: manual - write an app to Toast.show(), Toast.cancel(), then
Thread.sleep(), set app's sdk usage above 25 (N MR1) and show the
toast

Change-Id: I352e296c47b1b8776c78b6b0943b1dc809963026
2017-05-15 23:46:21 -07:00