Commit Graph

11140 Commits

Author SHA1 Message Date
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
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
Richard Uhler
2124d4b313 Ensure race between rollback and roll forward is properly handled
If rollback for a package is committed at the same time the package is
updated, it's possible we will incorrectly roll back the newly updated
version of the application.

Add a hidden API to the package installer that lets you set a required
existing version of a package to be updated. If the expected package
version is not installed at the time of commit, the update install
fails.

The RollbackManager uses this new API to ensure that rollback will fail
if the package in question was just updated.

Test: atest RollbackTest, with new test added and manual confirmation
      that the race condition was exercised by the new test.
Bug: 128831080

Change-Id: Ifa5627e257d2ef13e2b213ef0dbc93932797ce0d
2019-05-01 09:10:36 +00:00
TreeHugger Robot
565e2634e6 Merge changes I2b059826,I64bee605 into qt-dev
* changes:
  Sharesheet - make az list label disappear with use
  Sharesheet - add a-z list label
2019-05-01 00:14:53 +00:00
TreeHugger Robot
b6b549baf6 Merge "Move timeout from RankerResolverServiceComparator to abstract class." into qt-dev 2019-05-01 00:00:33 +00:00
Tarandeep Singh
e439dec155 Propagate light nav bar info
When SystemUI (notification UI) is pulled down, the windows behind are
dimmed, including navigation bar. At this point of time, navigationbar
color could be controlled by IME and system overrides it.
With this fix, we check if IME is already controlling navbar color.

Change-Id: I9f25860a5b7858f1d17d2921816910a938c656bb
Fix: 122439339
Test: Manually verified using steps in bug.
2019-04-30 14:41:23 -07:00
Matt Pietal
791b1c3741 Sharesheet - Bump up limit for shortcuts
Allow apps to provide more targets via shortcut API, and allow AIAI
or default ranker to order them appropriately.

Bug: 130812721
Test: Visual inspection using Messages which has Shortcuts!
Change-Id: I4b16f3317056a2c5daad9b0576c22faa7ad3ca7b
2019-04-30 17:35:02 -04:00
George Hodulik
1f5d9bfa84 Move timeout from RankerResolverServiceComparator to abstract class.
BUG:129014961
Test: atest frameworks/base/core/tests/coretests/src/com/android/internal/app
Change-Id: Ia34e938e4e641a134cbc8bff3419d25f09f0370d
2019-04-30 20:37:53 +00:00
Anton Hansson
788ec75be5 Optimize FileSystemProvider.includeFile
When traversing a file tree using SAF, this method is called for
every file in the tree, so wasted cycles add up to quite a lot
of total time for large trees.

Optimizations:
- don't look up info not necessary by the cursor, by inspecting
  the projection columns
- remove a few redundant double-lookups, of e.g. the File path
- mark variables final where possible

On my device/file tree, this reduces the total time spent in includeFile
from ~33 seconds to ~22 seconds. This is where the majority of cycles
are spent when traversing a dir with SAF.

Bug: 130276310
Test: SAF test app
Change-Id: Ibdfc335253a90eb87795a7a4eecb8b7b89601f09
2019-04-30 15:49:33 +01:00
Matt Pietal
8a8cfc46ca Sharesheet - Talkback fixes
Disable the content preview area so it is not clickable. Do not make
the drag handle clickable.

Bug: 131121700
Test: Use Talkback on Sharesheet
Change-Id: Iad60eae8f2b69a7680914cff88a6902a1246364f
2019-04-30 07:59:14 -04:00
Ying Zheng
7f39f77d6c Merge "Rename headless system user flag to under 32 chars." into qt-dev 2019-04-29 21:07:56 +00:00
Mike Digman
849a9d13f0 Sharesheet - make az list label disappear with use
Following example set by launcher, eventually make a-z list
label disappear after n expansions. Done with the Sharedpref
associated with ChooserActivity.

Test: manual
Fixes: 130349817
Change-Id: I2b05982654265804bbc1b3e4821f05ced1e011cd
2019-04-29 12:30:03 -07:00
Ying Zheng
a71afb26d3 Rename headless system user flag to under 32 chars.
Test: build
Bug: 131601785
Change-Id: I7199b444e90063fe6c29c7c7be42197e820c59da
2019-04-29 10:11:16 -07:00
Svet Ganov
3b6be08c3d Address API council feedback
Make the get actions API async. Also fix a potenrial
memory leak when exchaning callbacks.

Test: atest CtsVoiceInteractionTestCases

bug:129705716

Change-Id: I91f1beb3dc7a395c6c6307ca4601fe7b7097f6e3
2019-04-28 23:01:30 -07:00
Mike Digman
ae730b1f07 Sharesheet - add a-z list label
New users may not understand what the a-z list is, as demoed in
user testing. Add a label above the list that describes the
contents.

Bug: 130349817
Test: manual
Change-Id: I64bee605ab33dd486ef6cd95346c46f4eff62269
2019-04-26 11:55:47 -07:00
TreeHugger Robot
0fcd8ceef8 Merge "Fix app crash while running in second display" into qt-dev 2019-04-26 07:30:51 +00:00
TreeHugger Robot
862a21c977 Merge "Zygote: add a way to preload Vulkan driver" into qt-dev 2019-04-26 05:20:34 +00:00
TreeHugger Robot
2f956b53df Merge "Sharesheet - Modify header scrolling behavior" into qt-dev 2019-04-25 21:49:04 +00:00
Yiwei Zhang
4bf3d9eda4 Zygote: add a way to preload Vulkan driver
Since HWUI render pipeline has both GL and Vulkan backends now, we'd
like to preload either GL or Vulkan driver based upon HWUI's choice on
the render backend.

1) Keep using ro.zygote.disable_gl_preload property to disable Vulkan
driver preloading if HWUI's render pipeline uses Vulkan backend.
Properly rename the corresponding APIs for driver preloading.

2) Add a path to preload Vulkan driver based on HWUI's render backend.

Bug: 131249898
Test: build, flash and boot.
Test: verified with set USE_VULKAN=true
Test: verified with setprop debug.hwui.renderer skiagl/skiavk
Change-Id: Ie0bf5d18edcf907c75a25ac3249e2620ec21b63c
2019-04-25 14:29:34 -07:00
Matt Pietal
c6d3ac2385 Sharesheet - Modify header scrolling behavior
To align with UX, scroll the listview before the header when
collapsing the sharesheet to its minified state, on both flings and
drags. Fix an issue with the expansion area, whereby state is only
updated if view positions are actually updated.

Bug: 129979914
Test: Visual inspection
Change-Id: I2e32a1a3288a21bcd3ce07819f77760f10d5d929
2019-04-25 14:42:19 -04:00
sanryhuang
2ed879f213 Fix app crash while running in second display
Launch DocumentsUI at second display,then crash happened after
pressing right button of mouse to trigger conext menu.

Create a new DecorContext instance for external display.

Bug: b/117215434
Test: atest PhoneWindowTest, DecorContextTest and manual test
Change-Id: I2f1dc1ac3721a20a7a49cfcde97fb168fcbfcc56
2019-04-25 17:19:24 +08:00
Svetoslav Ganov
5a6f9dc608 Merge "[DO NOT MERGE] Adding API for defining and invoking DirectActions" into qt-dev 2019-04-25 08:45:49 +00:00
Sunny Goyal
d40c345536 [DO NOT MERGE] Adding API for defining and invoking DirectActions
DirectActions are abstract actions defined by an Activtiy. The
actual definition of these actions will be available through
the support lib.

This API provides a secure channel for system or assistant to
interact with a running app using these Actions.

Test: atest CtsVoiceInteractionTestCases
Test: added android.voiceinteraction.cts.DirectActionsTest

Bug: 129705716

Change-Id: I0ce568e0d8f41e0fe46306052016a74c7b394efa
2019-04-25 00:06:02 -07:00
Kevin Chyn
d9919f2750 Merge "Do not dismiss BiometricPrompt when "soft" errors are received" into qt-dev 2019-04-25 03:20:30 +00:00
TreeHugger Robot
b6e9673bd4 Merge "Sharesheet - add label loading placeholder" into qt-dev 2019-04-24 22:59:28 +00:00
Christian Wailes
88ee294504 Merge "Load the default graphics driver in USAPs." into qt-dev 2019-04-24 21:18:14 +00:00
Kevin Chyn
e674e85497 Do not dismiss BiometricPrompt when "soft" errors are received
Some errors such as ERROR_TIMEOUT should not caues the BiometricPrompt
dialog to be dismissed. Updated plumbing to allow
onBiometricAuthenticated to pass a string indicating the failure reason

Fixes: 131240917

Test: BiometricPromptDemo
Change-Id: I63a6f1138a24fbc3736184efefc620dd5bb640dd
2019-04-24 12:44:35 -07:00
Susi Kharraz-Post
131a7fe872 Merge "Restructure logging for selection of share targets" into qt-dev 2019-04-24 18:29:01 +00:00
Chris Wailes
35fdbc570b Load the default graphics driver in USAPs.
This patch causes unspecialized app processes to load the OpenGL driver
after they are forked.  The ZygoteProcess code will then take an
application's driver preference into account when selecting how to
launch it.

Test: m & boot & launch & inspect traces for driver loading
Bug: 130029351
Change-Id: If6fa02f9c387596162e75a685b04208b45a5c86b
Merged-In: If6fa02f9c387596162e75a685b04208b45a5c86b
(cherry picked from commit 301a1c46da)
2019-04-24 17:43:15 +00:00
Mike Digman
bd7e0dfc54 Sharesheet - add label loading placeholder
When loading DS targets we show an animated icon, also want to
show a label placeholder.

Fixes: 129979593
Test: manual, visual
Change-Id: I2f8fbbad552dd412fd5aed3dfad9ac2a5abed0b0
2019-04-24 08:27:10 -07:00
TreeHugger Robot
c35533726d Merge "Sharesheet - Scrolling UI adjustments" into qt-dev 2019-04-24 01:56:52 +00:00