This is an implementation of long screenshots supporting
interactive, incremental capture of scrolling content using
a cooperative API between the app process and the system.
Design goals:
- Provide for tile based incremental screenshots of scrolling content
- Support existing apps without developer action
- Provide support for non View-based Apps & UI toolkits
Bug: 148131831
Test: atest \
FrameworksCoreTests:android.view.ScrollCaptureClientTest \
FrameworksCoreTests:android.view.ScrollCaptureTargetResolverTest \
FrameworksCoreTests:com.android.internal.view.ViewGroupScrollCaptureTest \
FrameworksCoreTests:android.view.ScrollViewCaptureHelperTest \
WmTests:com.android.server.wm.DisplayContentTest
Merged-In: I6c66a623faba274c35b8fa857d3a72030a763aea
Change-Id: I6c66a623faba274c35b8fa857d3a72030a763aea
In case the ActivityManagerService hasn't started yet.
Bug: 153704326
Bug: 153598920
Test: Manual - induce wtf logs in early-booted services
Change-Id: I2b444cf70d9126963084ab15f9cd17fe5b464529
* changes:
Redesign for AccessibilityShortcutChooserActivity (3/n).
Redesign for AccessibilityShortcutChooserActivity (2/n).
Redesign for AccessibilityShortcutChooserActivity (1/n).
1. Migrate the functions related to permision dialog into AccessibilityTargetHelper file.
2. Remove redundant codes.
Bug: 147655054
Test: manual test
Change-Id: Ie052bd7c4159552a78193464602e3d1d9471554b
Analyzes the common attributes and functions in AccessibilityShortcutChooserActivity in advance and separate them into respective new component target related to Accessibility service, Accessibility activity or white listing feature.
Bug: 147655054
Test: manual test
Change-Id: I123d30cc4d2ada97eda6010e75cfca70e9fa4503
Implement puller code in StatsPullAtomService & ProcessStats that will
output new pre-aggregated proto form of ProcStats data.
Change-Id: Id3d28b0ec135b1b25f3b70a5eb29bec67d71805d
Test: local debugging, see b/152397079
Bug: b/152397079
Bug: b/145203981
Merged-In: Id3d28b0ec135b1b25f3b70a5eb29bec67d71805d
(cherry picked from commit 3b428af57f)
Currently if we have 0 browser apps in work profile and >1 in personal,
and we try open a link from the work profile, the personal profile
intent resolver is launched. We handle this gracefully by showing the
work tab and the no apps found empty state screen, instead of the
cross profile intents disabled.
Other changes in this commit:
- Handle all empty state screens from a single method
- All empty state screens are now shown from ResolveActivity#onPostListReady.
This was needed to guarantee consistency when showing the header.
- Always create the header exactly once for the lifetime of the intent
resolver/share sheet. Before it was re-created when swiping back to
the initial tab.
- Always show the header text when the tabbed view is enabled.
Fixes: 148536209
Test: manual
Test: atest ChooserActivityTest
Test: atest ResolverActivityTest
Change-Id: I737f1e8f864ae1108af7ec3ba8a1fa0f10b383b0
Aggregation of procstats data is done to a subset of total possible
process states; this reduces total data footprint.
Change-Id: Ia1528c5ca33bafcb992e34d5fec53156d357b9e1
Test: make, flash (code not yet invoked)
Bug: 145203981
Merged-In: Ia1528c5ca33bafcb992e34d5fec53156d357b9e1
(cherry picked from commit 1651ad3c3a)
Will be used for aggregating process states together for stats tracking
and output.
Change-Id: I5833a53f2e5e788d0475e10129658d12d9cf2b88
Bug: 148542701
Merged-In: I5833a53f2e5e788d0475e10129658d12d9cf2b88
Test: build, flash, unit tests (newly added code is not invoked yet)
(cherry picked from commit b832e98879)
RemoteViews is public API used out of scope of widget. The correct place
to call noteAppWidgetTapped is in AppWidgetHostView.
Fix: 153676411
Test: manual test, tap a widget, "adb shell dumpsys usagestats | grep
USER_INTERACTION" to oberserve USER_INTERACTION event sent to UsageStas, "adb shell dumpsys appops | grep appWidgetVisible" to observer appWidgetVisible flag.
Change-Id: Ic473211b91fd952dbb81b09b1e1568d6f69a0dd8
An a11y service targeting sdk version > Q and requesting a11y button
should be turned on by the Settings when it's assigned to the a11y
shortcut by the user. An a11y button callback is sent to the a11y
service when the user long press the a11y shortcut.
This issue happened when an disabled a11y service is assigned to the
a11y shortcut, and upgraded to the target sdk version > Q. Framework
fails to send the callback and no response when user long press the
shortcut.
Turns on the a11y service and show up a toast to fix this issue.
Bug: 153517972
Test: atest AccessibilityShortcutControllerTest
Change-Id: Ie4fc9bbeaf08ba674cfe6382eab214b2a15c004c
Hiding the button is not in line with the a11y
guidelines. Make button always show instead.
Fixes: 149817494
Test: manual
Change-Id: If2d2ef34ece72a6d397d18ff735ab2c55c8bd4a3
It was disabled because root task didn't have bounds for freeform
windows, but now it does so let's enable it.
Bug: 149585281
Test: Smoke tests on crosshatch with freeform developer option on.
Change-Id: Ie8a40ad20c028919c8959a1df291dee408b49c39
When copying over the fields into Google3 the linter failed on two field
names that are camel case rather than snake case. Changing here so the
two match. In addition, one of the enum fields didn't have a default
value.
Bug: 147508495
Test: compiles + ChooserActivityTest runs
Change-Id: Iacec9654350763e691a4a10087f693839fd5ea83
1. Update fragment type name to latest.
2. Revise the corresponding functions name.
Bug: 147655054
Test: manual test
Change-Id: I731246beda9159ac7672ac20f4d7ba0e4f8a3684
IncrementalService can create the library files beforehand, but
delay filling in their data. As it takes quite a while in
general (over a second in cases when the phone is busy), it's
better to run the unzipping and filling in a separate thread
and only make sure it finishes before the whole installation
process is complete.
This speeds up the megacity.apk installation by ~250-300ms,
1000-1100ms -> 750-800ms
Bug: 153513507
Test: adb install megacity.apk
Change-Id: Ia44f7e45b9e0abaebdfb6fe5352f9dcf29ab4ece
Button is visible on expanded notifications that are in the
conversation section.
Always visible if the notification has metadata & the user
hasn't turned off bubbles for the device.
Button is added to end of the template actions, making it
visible if there were no other actions.
Tapping it to make a button will change the app settings
to "selected" and enable bubbles for that channel, if the
bubble wasn't allowed otherwise.
Tapping it to stop the bubble will disallow that channel
from bubbling.
Test: manual:
- check bubble button on notif with long action text
- check button is hidden when inline reply is focused
- check no bubble button on non-conversation notifs
- check create bubble from HUN
- check create bubble from expanded notif
- check that dismissing a bubble updates state of the button
- check that getting new notif after dismissing bubble
updates state of the button
Bug: 138116133
Change-Id: Ic12204bd191530e94ea0400e16a9315a0d149252
Instead of starting the sharesheet in the other profile when
choosing the "Switch to work"/"Switch to personal" button,
we now start the sharesheet in the same profile with the other tab
selected.
For example, we're in the personal profile and share something
via an app that uses its own sharing logic. That shows the
"Switch to work" button and when we press it, we now start
the sharesheet in the personal profile with the work tab selected.
The reason for this is to avoid user confusion when they go back
to the personal tab and it shows an empty state screen due to
lack of cross-profile intents.
Fixes: 152866292
Test: manual
Test: atest ChooserActivityTest
Test: atest ResolverActivityTest
Test: atest IntentForwarderActivityTest#launchInSameProfile_chooserIntent
Change-Id: Ic117c9c51c663b6574e7692022bac82f7c899ec2
Previously, disabling the consuming logic was
done based on whether we target R.
But this:
- didn't work for Q apps that already use the new API
- causes a bit of unnecessary behavior churn
- requires special-casing the IME
Instead, we look at whether the app has requested to
handle insets with the R setDecorFitsSystemWindows API.
Fixes: 152384150
Test: atest DecorInsetSdk29Tests DecorInsetTests
Change-Id: I754851d0c11dccd21c2fa011cfdc3f0d7396cf60