Commit Graph

11314 Commits

Author SHA1 Message Date
Chris Wailes
0779af6259 Adjusts the USAP pool refill mechanism.
This patch adjusts the USAP pool refill mechanism so that it is less
disruptive to launching applications.  Refill events are now delayed
by several (3) seconds if delaying wouldn't cause the pool to be below
the minimum population size.

This patch also adjusts the process priorities for the USAPs and other
processes spawned from the Zygote so that they behave better in the
context they are spawned in.

Bug: 131362095
Test: booted & launched apps & checked logs
Change-Id: If26d625c4b1e5e8eee54dcdacb32360b0d852829
Merged-In: If26d625c4b1e5e8eee54dcdacb32360b0d852829
(cherry picked from commit b32150024f)
2019-05-14 16:19:19 -07:00
TreeHugger Robot
6eb7f58ea7 Merge "Report request failure when binder died in remote service." into qt-dev 2019-05-14 17:56:10 +00:00
Sudheer Shanka
2699f04e82 Merge "Allow files to be created under download dirs from MediaStore." into qt-dev 2019-05-14 16:05:26 +00:00
Hai Zhang
a0e313a889 Report request failure when binder died in remote service.
Or the caller could be waiting too long for a request that has already
failed due to remote process crash.

Bug: 132341999
Bug: 126266412
Test: atest CtsAutoFillServiceTestCases CtsContentCaptureServiceTestCases
Change-Id: I014c8657ce247aed47335afb3144d88a0144e422
2019-05-13 15:20:19 -07:00
Sudheer Shanka
21a3b657d3 Allow files to be created under download dirs from MediaStore.
Also, allow files to be renamed if they are not in pending state and
trigger a media scan when a new file is created.

Bug: 127844893
Bug: 127802924
Test: manual
Change-Id: I162f1827dacc422bfa33c54904e92a4aecb7747d
2019-05-13 19:18:57 +00:00
Rubin Xu
c3c30eefb2 Merge "Bump several device admin notifications to high priority" into qt-dev 2019-05-13 10:30:25 +00:00
TreeHugger Robot
99e622c232 Merge "Sharesheet - Fix shortcut ranking logic" into qt-dev 2019-05-10 16:52:36 +00:00
Wale Ogunwale
b7ae1efc96 Merge "PointerLocation: move showing exclusion rects behind flag" into qt-dev 2019-05-10 15:19:04 +00:00
Adrian Roos
a3341ae060 PointerLocation: move showing exclusion rects behind flag
Fixes: 131810593
Test: Enable "show pointer location" in developer setting, verify no pink overlays
Change-Id: I258466af07edfc5bc7f36b348564a81fed2cb2b4
2019-05-09 17:41:52 -07:00
TreeHugger Robot
64096f1e78 Merge "Fix accounting bug in BatteryStatsImpl." into qt-dev 2019-05-09 21:01:30 +00:00
Sudheer Shanka
803c052816 Merge "Remove storage sandboxes related code." into qt-dev 2019-05-09 20:38:16 +00:00
Sudheer Shanka
64501e5126 Remove storage sandboxes related code.
Bug: 131115422
Test: manual
Test: atest --test-mapping packages/providers/MediaProvider
Test: atest cts/hostsidetests/appsecurity/src/android/appsecurity/cts/ExternalStorageHostTest.java
Test: atest DownloadProviderTests
Test: atest cts/tests/app/src/android/app/cts/DownloadManagerTest.java
Test: atest cts/tests/app/DownloadManagerLegacyTest/src/android/app/cts/DownloadManagerLegacyTest.java
Test: atest cts/tests/app/DownloadManagerApi28Test/src/android/app/cts/DownloadManagerApi28Test.java
Change-Id: Ib8a10d3a9097c1dc4132a71782d622e9e3c3747d
Merged-In: Ib8a10d3a9097c1dc4132a71782d622e9e3c3747d
2019-05-09 17:47:30 +00:00
Jorim Jaggi
44787038c2 Merge "Check for null bg insets during initialization" into qt-dev 2019-05-09 16:20:28 +00:00
Rubin Xu
897750a79b Bump several device admin notifications to high priority
The following device admin related events now generate interruptive notifications:
1. Admin-triggered remote bug report collections (requires user action)
2. Remote work profile wipe - post wipe notification
3. The enabling of Network logging
4. Admin remotely installs/removes an APK
5. Work profile needs unlocking after boot

Test: manual
Change-Id: If5a51123c05b15e544a31ac7ec6b42ec831a1ccc
Fix: 130623009
Fix: 120770584
Fix: 118810015
2019-05-09 16:35:16 +01:00
Jorim Jaggi
89d1bdedf7 Merge "Only consume status bar if FULLSCREEN is set" into qt-dev 2019-05-09 14:34:19 +00:00
Jorim Jaggi
d798fd3f99 Check for null bg insets during initialization
Test: Turn on Ambient sensing, toggle ambient sensing in settings
Fixes: 132264167
Change-Id: I7f19a91a7d78f8e6ae730871aebb6f7bfb30a0c5
2019-05-09 16:06:02 +02:00
Jorim Jaggi
01d60d0907 Only consume status bar if FULLSCREEN is set
We only need to consume if the app may not expect to have insets,
meaning that they set fullscreen but it was denied.

Test: WindowInsetsPolicy
Fixes: 129272201
Change-Id: I6392f2bcb9a510db4c60bc4f071070b45f143dcb
2019-05-08 22:58:07 +02:00
Matt Pietal
39d181d0f4 Sharesheet - Fix shortcut ranking logic
Fallback code for AppPredictionService was causing legacy direct share
targets to be boosted over new shortcut api results.

Bug: 132259015
Test: Manual, via Messages alpha
Change-Id: I7edd94b4de6a235b2326aae7d91a594a5d11afe0
2019-05-08 14:48:30 -04:00
TreeHugger Robot
b6e2ab9db9 Merge "Sharesheet - Address misleading logs" into qt-dev 2019-05-08 17:59:33 +00:00
Jorim Jaggi
f9363aadeb Merge "Pretend to be having the original background" into qt-dev 2019-05-08 12:21:53 +00:00
TreeHugger Robot
aae9d6c77a Merge "Do not hide caption for hiding navigation bar flag" into qt-dev 2019-05-07 22:23:33 +00:00
Jorim Jaggi
24cf50f00c Pretend to be having the original background
...as otherwise setWindowBackground(bg) => bg == dv.getBackground
property is violated.

Also ensure the setBackground updates mOriginalBackground as well,
such that getBackground doesn't return a stale value.

Test: WindowTest
Test: Open maps
Bug: 130586696
Fixes: 130170137
Change-Id: I22b74ca6d4fd18600645b5d24814a90b8528745c
2019-05-07 17:17:48 +02:00
Matt Pietal
62532e55d6 Sharesheet - Address misleading logs
Log more informative warnings to assist developers in adding an
optional preview section.

Bug: 132152987
Test: Manual
Change-Id: I4a97675315871317591d627cccc79da3f7e89d46
2019-05-07 10:02:47 -04:00
Mehdi Alizadeh
97fb3ed8bc Collects metrics for the new Sharing Shortcuts api
Bug: 122904954
Test: atest com.android.server.pm.ShortcutManagerTest1 \
            com.android.server.pm.ShortcutManagerTest2 \
            com.android.server.pm.ShortcutManagerTest3 \
            com.android.server.pm.ShortcutManagerTest4 \
            com.android.server.pm.ShortcutManagerTest5 \
            com.android.server.pm.ShortcutManagerTest6 \
            com.android.server.pm.ShortcutManagerTest7 \
            com.android.server.pm.ShortcutManagerTest8 \
            com.android.server.pm.ShortcutManagerTest9 \
            com.android.server.pm.ShortcutManagerTest10
Change-Id: Ifafcaa789814618846d41431d6190e4d79e871e5
2019-05-06 12:35:03 -07:00
TreeHugger Robot
f3c58fd242 Merge "Sharesheet - make loading placeholders unclickable" into qt-dev 2019-05-06 12:05:22 +00:00
Mike Digman
4b83c21d99 Sharesheet - make loading placeholders unclickable
The AVD used to animate loading ds targets is build using a
square with a ds shaped cutout. Ripples on touch that go below
the AVD show a square bounding box. This looks awful, prevent
ripples as clicking the placeholder does nothing anyway.

Fixes: 129979593
Test: visual inspection
Change-Id: Id8734f3d92bd104097a60a6aa411be71db3e4efe
2019-05-03 17:05:20 -07:00
Kweku Adams
cf031239c3 Fix accounting bug in BatteryStatsImpl.
A line was added to set mLastChargeStepLevel to level every time the
battery level changed when the device was plugged in. However, it was
added right before an if block that checked if mLastChargeStepLevel was
not equal to level, which then meant that the if block would never
execute. Moving the setting line below the if block to fix that and
removing redundant lines.

Bug: 111360323
Test: atest com.android.internal.os.BatteryStatsTests
Test: atest CtsJobSchedulerTestCases
Test: atest CtsBatterySavingTestCases
Change-Id: I36f1b05f8d344b4d2432696acbf370d47a769d03
2019-05-03 16:19:07 -07:00
TreeHugger Robot
23d047ab15 Merge "Reenable CursorAnchorInfo API with ActivityView" into qt-dev 2019-05-03 17:07:35 +00:00
TreeHugger Robot
3f713de610 Merge "Sharesheet - Fix expansion area min size" into qt-dev 2019-05-03 17:00:22 +00:00
Anton Hansson
3415499ae0 Merge "Make DocumentCursor opt-out of having a self-observer" into qt-dev 2019-05-03 15:57:38 +00:00
Anton Hansson
d79473f881 Make DocumentCursor opt-out of having a self-observer
A content observer is registered by default when setting a notification
uri for a Cursor, in order to make the Cursor correctly notify listeners
of all changes to its URI, not just the ones made locally.

This is not required for DocumentCursor, because it already has a
separate mechanism for watching for all changes made to the data backed
by the cursor.

This avoids DocumentProviders having to call into system_server to
answer queries about directory trees, which can otherwise add up to
significant amounts of time for large directory trees. In my tests,
this improves the performance of iterating through a directory by
roughly 20%. This number is likely to be higher on non-test devices,
that probably see more binder contention, and will also depend on the
structure of the file tree.

Bug: 130276310
Test: SAF test app
Change-Id: I386363b0608c420e9847caf6fbf6686641c955e2
2019-05-03 13:33:57 +01:00
Matt Pietal
394ebd00ed Sharesheet - Fix expansion area min size
Need to make sure we reserve enough height for the 4->8 direct share
expansion to work. Fix the calculation for offseting the sharesheet.

Bug: 129980100
Test: Visual inspection
Change-Id: Iaef245b9b8e2ed1dbacf01107dbafb6bf5016483
2019-05-03 07:55:34 -04:00
Richard Uhler
07a9e9f9f9 Merge "Ensure race between rollback and roll forward is properly handled" into qt-dev 2019-05-03 08:09:17 +00:00
TreeHugger Robot
d9a22cb829 Merge "Sharesheet - run APS sortTargets in newSingleThreadExecutor" into qt-dev 2019-05-02 21:29:24 +00:00
TreeHugger Robot
ba3a49b0b6 Merge "Enable using prediction manager for sharesheet." into qt-dev 2019-05-02 21:29:24 +00:00
George Hodulik
ccb0cbccfd Sharesheet - run APS sortTargets in newSingleThreadExecutor
Also add some debugging logs.

Bug:129014961
Test:Manually tested.
Test: atest frameworks/base/core/tests/coretests/src/com/android/internal/app
Change-Id: Id05cecf31f3c0afe5fd45911e78203e4ce4bd999
2019-05-02 12:23:44 -07:00
Matt Pietal
e54dcc2eea Sharesheet - Add logic to when 4->8 expansion occurs
Should help reduce the amount of reshuffling due to older
pull-style direct share targets.

Bug: 129980100
Test: Visual inspection
Change-Id: I6bd2dd3da2b4c39ee79edaf92da89f1f79b12f75
2019-05-02 14:24:25 -04:00
Andrei-Valentin Onea
7739542d2d Merge "DO NOT MERGE Fix setting hidden api usage log sample rate" into qt-dev 2019-05-02 15:59:13 +00:00
Yohei Yukawa
b4f328a2f3 Reenable CursorAnchorInfo API with ActivityView
With my previous CL [1], CursorAnchorInfo API was globally disabled
for cross-display scenario including ActivityView scenario.

This CL slightly relaxes the above condition so that IMEs can rely on
CursorAnchorInfo APIs again to interact with apps running inside
ActivityView.

The basic idea here is keeping reporting relevant information from
ActivityView to InputMethodManagerService (IMMS) so that IMMS can take
the display hierarchy because of ActivityView into account.  As long
as IMMS has the up-to-date hierarchical information, IMMS can tell
InputMethodManager (IMM) running in the IME client process about the
missing coordinate transformation information from the virtual display
space to the outer display space where the IME is actually shown.

Note that there was a similar fix for AccessibilityService that keeps
reporting ActivityView location to WindowManagerService (WMS) [2].
Ideally we should be able to share the logic, but to do so we need to
introduce a generalized callback mechanism into WMS so that IMMS can
be notified when a cetain coordinate transform matrix has changed.
For Q, this CL implements IMMS's own mechanism to keep track of
ActivityView hierarchy instead of introducing a direct dependency from
WMS to IMMS.

For R+, most likely we may want to reconsider how ActivityView should
be implemented.

There should be no behavior change in this CL if ActivityView is not
involved.

 [1]: Ie2f7a5117cff3a13ad5c5806fd4b3abef7569549
      3d2cc0fffd
 [2]: I38da5b84a11890bf0f4a57eb9d5b7e71bdcc16a9
      d8ec938609

Fix: 115693908
Test: atest CtsWindowManagerDeviceTestCases:ActivityViewTest#testInputMethod
Change-Id: Id0411a80456182111bb5b681c6d1230b58e7ec2e
2019-05-02 08:41:27 -07:00
TreeHugger Robot
ff7fc1de48 Merge "Sharesheet - Make ripples consistent" into qt-dev 2019-05-02 15:13:26 +00:00
Matt Pietal
84a55bd5eb Sharesheet - Make ripples consistent
There were differences in ripple behavior depending on the list row
background. Modify this so the ripples propogate against the same
parent background. Make copy button style match the work profile style.

Bug: 129979196
Test: Visual inspection
Change-Id: I51f1b7503c2169bd03f04edecf98927850e6582b
2019-05-02 07:37:39 -04:00
George Hodulik
1428bebe69 Enable using prediction manager for sharesheet.
Sharesheet in AiAi is currently disabled, so sharesheet will
default to ranker. This will allow remote enabling for experimentation.

Bug:129014961
Test:Manually tested.
Test: atest frameworks/base/core/tests/coretests/src/com/android/internal/app
Change-Id: I0c21c29356120a873940bcaa8a659ea02046be71
2019-05-01 17:04:23 -07:00
George Hodulik
2f8f43514f Merge "Default to RankerResolver if AppPredictor is disabled" into qt-dev 2019-05-02 00:00:35 +00:00
TreeHugger Robot
545021d0c9 Merge "Cleanup messages in onDestory in ChooserActivity" into qt-dev 2019-05-01 22:37:36 +00:00
George Hodulik
3f399f2b16 Default to RankerResolver if AppPredictor is disabled
The AppPredictionServiceResolverComparator will use the ResolverRankerService
if APS appears to be disabled for share activities (returning empty despite
being given a non-empty target list).

For Direct share targets, if the share target list returned is empty, we fall
back on calling the ShortcutManager directly and relying on ChooserTargetService
to rank.

Bug:129014961
Test:Manually tested.
Test: atest frameworks/base/core/tests/coretests/src/com/android/internal/app
Change-Id: I9891a3a4d879e247b84a651408058153ea57c766
2019-05-01 22:01:16 +00:00
TreeHugger Robot
fabb5ebb59 Merge "Propagate light nav bar info" into qt-dev 2019-05-01 18:44:39 +00:00
Mehdi Alizadeh
f472313347 Cleanup messages in onDestory in ChooserActivity
Bug: 129679731
Test: Builds and ShareSheet works
Change-Id: I78afd4546e139698213e952495d46fc401fba540
2019-05-01 18:40:36 +00:00
Andrei Onea
b019c7eea3 DO NOT MERGE Fix setting hidden api usage log sample rate
This fix addresses two related issues: one with the
DeviceConfig.onPropertiesChangedListener, and another with
HiddenApiUsageLogger.setHiddenApiAccessLogSampleRates.
In both cases, setting one of the sample rates
(hidden_api_access_log_sampling_rate or
hidden_api_access_statslog_sampling_rate) unsets the other. This is due
to them being sent sequentially instead of simultaneously.
Additionally, out of an abundance of caution, mirror the behaviour in
attemptConnectionToPrimaryZygote and attemptConnectionToSecondaryZygote
for the statslog sample rate. This was overlooked in a previous change.

Bug: 119217680
Test: m
Test: cts-tradefed run cts-dev -m CtsStatsdHostTestCases -t \
            android.cts.statsd.atom.UidAtomTests#testHiddenApiUsed

Change-Id: I8a5534403269a2339fcabc8f847199ab837ae71b
2019-05-01 19:04:00 +01:00
Anton Hansson
0397997310 Merge "Optimize FileSystemProvider.includeFile" into qt-dev 2019-05-01 13:51:31 +00:00
TreeHugger Robot
df7e984cc3 Merge "Sharesheet - Talkback fixes" into qt-dev 2019-05-01 13:00:30 +00:00