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)
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
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
Core system image (CSI) doesn't have Launcher or Settings so no home
activity, but still needs to boot properly. This change enables the
fallback home activity, SystemUserHome, in the framework for CSI.
Bug: 149307007
Bug: 149780604
Test: $ lunch csi_arm64-userdebug; m
# flash the system.img built to crosshatch
$ atest DeviceHealthTests
Change-Id: I0f999f76e23c6316f6d5d0741a1116028e34a0ab
Check that the kernel supports the Tagged Pointers feature before asking
libc to disable/enable pointer tagging.
Bug: 153114333
Test: Build coral, note no messages from SetHeapTaggingLevel.
Test: atest CtsTaggingHostTestCases
Change-Id: Id5fbd731aa70f7b0a75525387479f6123628a012
Merged-In: Id5fbd731aa70f7b0a75525387479f6123628a012
Especially with images this was leading to really bad transitions
since the image would pop over immediately.
We now update the counter once the expansion has finished
Fixes: 153392205
Test: add conversations with messages with unread count and image, click on it.
Change-Id: I2ad2ec6a989a21154e3edbf09aabc6d17ea75bd7
Previously we were showing image messages of all senders instead
of just the last one.
This is now fixed.
Fixes: 153388613
Change-Id: I4e9c563c28291de25bf3dbd0ad72940ab59cad6f
Text toasts don't currently support multi-user. This CL prepares toasts
for multi-user by wiring the user information from who requested the
toast (in the form of uid) to ToastUI, where text toasts are actually
rendered.
We go only as far as obtaining a new user-specific context for that user
and using that to construct the view. Actual support will come in future
CLs.
Bug: 151414297
Test: atest android.widget.cts29.ToastTest android.widget.cts.ToastTest
ToastWindowTest ToastUITest NotificationManagerServiceTest
LegacyToastTest
Change-Id: I8c92453c6a2b73c31f9a41ca9ff463d194d4f44f
Target is not populated for "Open With" processed by ChooserActivity.
Adding a null catch in the logger to return default intent.
Bug: 153335691
Test: manual testing and running ChooserActivityTests
Change-Id: Ib7477a9030d0244d33d74690c6aab8b03b88e1e3
Previously we would autolaunch in this case, as
getResolversForIntentAsUserInternal didn't return any apps for
the work profile when it's off. This change adds the
MATCH_DIRECT_BOOT_AWARE and MATCH_DIRECT_BOOT_UNAWARE
flags to the PackageManager#queryIntentActivitiesAsUser call.
Test: manual
Test: atest ResolverActivityTest
Test: atest ChooserActivityTest
Fixes: 153338971
Change-Id: Iedf10d54953b94393c78d6357ce7e5216f3ba261
Previously the expand button layout was always at 80dp which
made the collapsed size increase. we now measure it at
match_parent instead and just internally use another layout
to position it properly.
Fixes: 153204251
Test: add heads up notification, observe normal padding
Change-Id: I76df6529c1a24808bce54ed0d04230cddf7a0c8c
AlertDialog.Builder's setTitle() does not set the title of its
window, which TalkBack uses for announcements.
Make the behavior consistent between the AlertDialog.Builder's
setTitle and AlertDialog's setTitle, which does change the window
title.
Bug: 149755168
Test: Menu titles appear in the node tree debug info and are announced.
by TalkBack. App version info in Settings is announced.
Change-Id: I49deb98ad294538864e413c6c486b4148e06a2b6
Add a Logger for sharesheet and add calls into ChooserActivity.java
Bug: 147508495
Test: manual testing and added unit tests into ChooserActivityTests.
Change-Id: I0024b5020f47475a28c4745af4d8ef268e5f85be
This is a follow up CL to our previous CL [1], which implemented
fail-fast mode for blocking InputConnection APIs based on
IInputMethod.unbindInput() async signal from IMMS to IMS.
What was not implemented in the previous CL was a mechanism to
immediately unblock a sync InputConnection API call that is already
requested to the IME client process and waiting for its response.
With this CL, any blocking InputConnection API fails immediately when
IInputMethod#onUnbindInput() is delivered to the IME process, without
waiting for the full time-out period (MAX_WAIT_TIME_MILLIS == 2 sec)
to pass.
Implementation Note:
The key idea is to use CountDownLatch to compose multiple wait
conditions.composed wait condition. The CountDownLatch is initialized
with 1 then will be decremented when:
A. received a result from the IME client
B. received IInputMethod.unbindInput()
Hence InputConnectionWrapper can simply wait for the CountDownLatch to
become 0 with an existing timeout (MAX_WAIT_TIME_MILLIS) then returns
failure unless the CountDownLatch became 0 because of A.
[1]: I0f816c6ca4c5c0664962432b913f074605fedd27
1d113d041f
Fix: 36897707
Test: atest InputConnectionBlockingMethodTest
Test: InputConnectionBlockingMethodTest#*FailFastAfterUnbindInput()
take shorter time to complete.
Test: Monitor logcat with `adb logcat -s InputConnectionWrapper:*`
while running `atest InputConnectionBlockingMethodTest`
Change-Id: Ic65a95eb5d0fd56f505a02fd9083bcf6694b6734