ActionBarOverlayLayout used to drop WindowInsets, extract the content insets
as a rect, and then dispatch a modified rect to the content view; this because
there was no way to retarget the WindowInsets to the content view, and the
WindowInsets were not truly immutable. That means however, that other kinds of
insets than the content insets do not get dispatched, such as the display cutout.
To fix this, we add APIs to inset WindowInsets, make them immutable. Note that
a similar change is needed for the support lib.
Bug: 79733300
Test: atest ActionBarOverlayLayoutTest
Change-Id: I6a69d8462163ca5e66fdb53f83def6bc4063f8aa
The main thread was recycling the objects before the hander could
pack up the binder call.
Change-Id: I4289bdcc5b940a0a8209fdd5d3df47972de0fa4b
Fixes: 72953296
Test: atest com.android.notification.functional.NotificationInteractionTests#testNotificationShadeMetrics
When sender symbol is number or special-char, use person avatar icon
with sendor name color tint.
Fixes: 73551742
Test: manual use different sender name and send message notification
Change-Id: I5e3080efc834bf09c1dae93ef8af06cf3df4d22d
Widgets get masked with separate remove views when suspended. Need to
update them with the correct pending intent. Moved around the logic
creating the suspended alert activity to make it reusable.
Test: Manually, "pm suspend <app-with-widget>", followed by tap on
widget
Existing tests pass:
atest GtsSuspendAppsTestCases
atest com.android.server.am.ActivityStartInterceptorTest
Bug: 79474038
Change-Id: Ic75ee762434bf92c54bda307e9cb6018f94a914c
Fixes splitscreen from the right for launching splitscreen from
fullscreen app including pixel launcher and 3rd party launchers. With
3rd party launchers, the experience is the same as Android O. With pixel
launcher since launcher and recents are merged, it will split to
minimized mode. When pixel launcher is used, the recents stack is
ignored.
Fixes: 73250406
Fixes: 78247419
Test: use split screen; invoke command with supportapp.apk in b/78247419
adb shell am broadcast -a launcher-acc --ei cmd 1
Change-Id: I70b0551c517465b3a059ff7d0641c27f71e8114e
- Stop using individual lock instances and use use the power manager lock.
- Make sure not to access external components with the lock held,
*except for settings provider*, which is already touched by the power manager
and the battery service
(I'm planning to re-organize things for Q: b/79580230)
Fixes: 79486713
Test: atest /android/pi-dev/frameworks/base/services/tests/servicestests/src/com/android/server/power/batterysaver/Battery*Test.java /android/pi-dev/frameworks/base/services/tests/servicestests/src/com/android/server/power/*Test.java
Test: Manual test with ./development/scripts/battery_simulator.py with toggling
battery saver on and off and then watch
adb logcat -b all | grep -P '(battery_saving_stats|battery_saver_mode)'
Change-Id: I8ecdfefe978de348ee979d765c82e3d8f0280082
Fallback would not be registered/drawn if background was explicitly set before calling
setContentView and the area that was supposed to be covered by fallback ended up black.
mBackgroundDrawable does not control fallback, so setting fallback should not be dependent on
it's existence.
Change-Id: I7da85e8c61dababa3a7ce930238ea0f283d19b32
Fixes: 68822553
Test: atest PhoneWindowTest
Fix some bugs, add the ability to monitor state changes, improve
dumpsys output to help debugging, add a new check API that allows
the caller to get the real state.
Bug: 78480444
Test: atest FrameworksServicesTests:AppOpsServiceTest
Test: atest CtsPermissionTestCases:AppOpsTest
Change-Id: I3d41be9968c1d95a1456f4052da958ea64aa068d
Pass an explicit flag to the runtime when we need to profile the system
server. This ensures that we only start the ProfileSaver and allocate the
code cache when needed.
Test: manual, on a device with system server profiling enabled
Bug: 74081010
(cherry picked from commit 8eb891be6f)
Merged-In: I756682a9644796afb53f0c010d2bd2764ea5a828
Change-Id: I756682a9644796afb53f0c010d2bd2764ea5a828
In minimized mode there is only 1 split snap target compared to regular
portrait that has 30%, 50%, 70% targets. Update the accessibility options
for minimized mode to reflect the correct targets. Also removed the
middle target if there is only 1 split snap target.
Test: using talkback, see custom options on divider handle in minimized
mode
Fixes: 78304300
Change-Id: I8421499616cf0fe503c1f6a081a2151098640a9c
Also remove all references to old loadSafeLabel method to prevent
proliferation of old method via copy+paste.
The implementation assumes that there are three cases:
- Short labels that don't have anything wrong with them
- Labels that are fine, but are a little too long
- Intentionally bad label that try to break stuff and slow things down.
In the first two cases no characters are marked for removal, in the
third case we have an implementation that does not use a lot of memory
and has linear performance when there are a lot of bad characters.
Test: gts-tradefed run gts-dev -m GtsContentTestCases
Bug: 77964730
Change-Id: I3feb17b2a12018cd5407c88fe3603f2ebbc9d14e
Test: manual, applied password length restriction via TestDPC and
set a new password via settings (see the other CL in the topic)
Bug: 30558331
Change-Id: I51302bad02604c8fc0def37dc33a5837f29ab858
Current limitation is that we cannot distinguish between key events
from Window#injectInputEvent() and key presses from physical devices.
Bug: 79185725
Test: Manually verified with the test app, and Cts
Change-Id: I1c3da4a963238512eec8b57fbc2d825c7436b140
* changes:
Revert "Rotate IMEs (subtypes) by Meta+Space."
Revert "Show toast when subtype is rotated by Meta-Space."
Revert "Shift+Meta+Space should reverse-rotate subtypes."
Revert "Shift+Meta+Space should reverse-rotate subtypes part 2."
Revert "Make sure that Toast is always shown by Meta-Space."