The shouldShowTabs() call checks for the existence of the work
profile user, which is actually initialized after that call.
Fixes: 156462936
Test: manual
Test: atest ChooserActivityTest
Test: atest ResolverActivityTest
Change-Id: Iff840826f7b008420f1a254c1044c05c27764d0c
For better testability of KeyguardUpdateMonitor. We don't actually want
to register callbacks to the real lock settings. But if we ever do in
tests, we make sure to cleanup the callbacks in
KeyguardUpdateMonitor.destroy().
Test: atest SystemUITests
Fixes: 156230507
Change-Id: I2548c15da29ef5a15f6d3b512fbfd344ca2bd355
- Provide more clear content for single and multiple services are
enabled.
- Avoid non-a11y users accidentally turning shortcut on without
reading this carefully. Hence we put "don't turn on" as the
primary action.
Bug: 155249323
Bug: 138582063
Test: atest AccessibilityShortcutControllerTest
Change-Id: I1c391bb0516bcebfbf6161b94cc0c0b80e0bb72f
In Scoped Storage world, access to "Android/data" style directories are
hidden for privacy reasons. Allow ExternalStorageProvider to show these
hidden files when in manage mode.
Bug: 150366834
Test: Android/data and Android/obb is visible from Files App, but are
hidden in Picker view from StorageTestApp and Gmail (GMAIL > Compose >
Attach > Go to Pixel > Android)
Change-Id: I58b4fc23d9b479df4fc0480ae55f1f2070d0cb7c
* Uses the atom AccessibilityShortcutReported in westworld.
Bug: 151285965
Test: make statsd_testdrive && ./out/host/linux-x86/bin/statsd_testdrive 266
Change-Id: Iba9d829ae35c7a336c38007101bdddfcd3dc2ddb
Bug: 155551642
Test: atest CtsSharesheetTestCases:android.sharesheet.cts.CtsSharesheetDeviceTest
Test: manually test on the device
Change-Id: I7a28dbebfb4bf9cdf1fe27dd224c72ef9b44f2fe
* Before this change, when the inline suggestion view is detached from
the IME window (e.g. due to layout change), the remote view content
will not show again even after the view is reattached to the window
on the IME side. This patch fixes it by requesting the remote view
owner (the ext services) for a new SurfacePackage when the view is
re-attached to the window (see javadoc of SurfaceControlViewHost for
why this works).
* This patch also fixes the issue where the SurfaceControlViewHost was
never released in the ext services. This is done by notifying the
ext services (through system server) when the view is detached from
the IME window, and then the system server will release the
SurfaceControlViewHost if after N(=500) ms the view is not re-attached
to a window.
* After the SurfaceControlViewHost is released, if the view is
re-attached to the window later, a new SurfaceControlViewHost will be
created to back the same InlineContentView.
* The current code structure also lays a foundation for a subsequent
change to allow reusing the same remote view for inline suggestions
during filtering.
Test: atest CtsAutofillServiceTestCases (sanity test)
Bug: 153615023
Bug: 154683107
Change-Id: Idc587e1e82a96b792c351796464821b7aad7cd89
1. Announce app name with direct share targets
2. Don't speak 'heading' in direct share rows
3. Don't close resolver/sharesheet when swiping left
4. Talkback will announce # of rows and columns for sharesheet
Fixes: 141908464
Fixes: 155153657
Fixes: 151897812
Fixes: 149437892
Fixes: 80319063
Test: talkback
Change-Id: I16586208407ba56814d3cf69648e660bded72ccf
immediately instead of sending them to main thread Looper queue of
ChooserActivity.
These methods are relatively latency-sensitive. When main thread Looper queue has many backlogs, it takes long time
to dispatch requests.
Bug: 155551642
Test: atest CtsSharesheetTestCases:android.sharesheet.cts.CtsSharesheetDeviceTest
Test: manually test on the device
Change-Id: I7d00e49c6a30fec478e620bc98180d379f801fc8
This CL makes the following changes:
1. Cache the itemViewType in the ViewHolder, so that we don't
have to call it again from onBindViewHolder
2. Cache the result of shouldDisplayLandscape to reduce the
number of IPC calls while scrolling the list, as this is called
indirectly by the ChooserGridAdapter's getRowCount and
getItemCount. It calls Activity#isInMultiWindowMode which makes
an IPC call to the ActivityTaskManager.
3. Cache the work profile user handle to reduce the number of
IPC calls while scrolling the list, as this is called
indirectly by ChooserGridAdapter's getRowCount and getItemCount.
Test: atest ChooserActivityTest
Test: atest ResolverActivityTest
Test: manually verify there is no jankiness when scrolling
Test: manually change orientation between portrait and
landscape to make sure screen orientation cache gets invalidated
Test: launched share sheet in multi-window mode and then removed
one window - sharesheet properly updated its views
Fixes: 151117747
Fixes: 154766645
Change-Id: Ib8e329b534f3de1d4906f6a07908cc7879dcaa47
Currently, there is
onOpNoted - tells listeners that noteOp has occurred
onOpActiveChanged - tells listeners that an op's 'active' state has
changed, i.e. that a successfull startOp or stopOp has happened
There was, however, no way of telling a listener that a startOp has
happened (regardless of whether it was successful). This cl introduces
it, via a OnOpStartedListener.
This is required by the ForegroundServiceAppOpSessionEnded atom,
which counts the number of accepted vs. rejected attempts, and
therefore also needs to know when a rejected start happened.
This cl also contains some cosmetic moving of code so that
startOperation() and noteOperationImpl() are almost
exactly parallel.
* Also *
This cl fixes a bug I discovered in stopWatchingNoted, in which
the callback wasn't fully removed. Consequently, if a callback
was unregistered and then re-registered, the re-registration would
mistakingly be ignored (in direct contradiction to the javadoc).
Test: atest UidAtomTests#testForegroundServiceAccessAppOp
Test: atest AppOpsStartedWatcherTest AppOpsActiveWatcherTest AppOpsNotedWatcherTest
Test: manually monitor: adb shell cmd stats print-logs && adb logcat -v uid -s statsd | grep "statsd : {" | egrep '\(256\)'
Bug: 152800926
Change-Id: Icdb9edf6b2b7c5807b339c1aabb32e882190b071
Introduces new test api to access the background view of status bar and
navigation bar.
Bug: 154720832
Test: atest WindowInsetsPolicyTest
Change-Id: If38d3f57edfbb2631d4c1e47ed5347a332edacfb
Rank ChooserTargets of the same component as per available scores returned by AppPredictor.
These two features are guarded by flag "mChooserTargetRankingEnabled"
Add relevant logging to make it easy to figure out root cause from bug report.
Bug: 151112858
Test: atest CtsSharesheetTestCases:android.sharesheet.cts.CtsSharesheetDeviceTest
Change-Id: Id8c4b373ba9e2e1ae29281791e49dde8722ba9d1
Previously, maxVisibleSize is only enforced when we want to preserve
orientation. However, we should enforce it when in complete freeform
also.
Even for preserve orientation case, since it calculates two possible
rectangles and grab the bigger one if it's a grow operation, it's
possible the bigger rectangle is beyond the max possible size. By
setting the limitations early, this will no longer happen.
Bug: 154936459
Bug: 155433395
Test: Drag-resize a window that has a max size set (PIP window), and now
it is properly constrained.
Test: atest TaskPositionerTests
Change-Id: I3e9bc615554561e035a5c7110d0400687c6ba365