Turns off handling of `-e mobile ...` commands from
`DemoModeController` if the new status bar mobile icon pipeline is
enabled.
This will be a requirement to transfer demo mode to the new pipeline
Bug: 249790009
Test: manual; enable demo mode and flag `606`, and send mobile demo
commands
Change-Id: I6beaccc56d2c2b816c2983c3822f0e15b022efe5
This sets config_show_sidefps_hint_on_bouncer to true as default, and removes the large screen override.
Bug: 260195934
Test: Current tests && verified manually
Change-Id: Icc92a0915f229e716e653e742173181caad050da
Instead of delaying 500ms
Test: atest KeyguardUpdateMonitorTest
Test: Attempt to authenticate with SideFPS right
after pressing the power button => observe FP can
authenticate
Fixes: 259172472
Change-Id: I7f07c549628a21a92ddfac0d0679d0f054ad1dda
This is a partial alternative solution of [1] to avoid black background
(no wallpaper target) when turning on screen with a translucent activity
which is occluding keyguard while AOD is disabled.
[1]: Ifc3ce28424fe87b1e0a0a2af07bdad559575ebec
Now instead of always recomputing wallpaper target after committing
visibility, the update hint only needs to be set when there is a
translucent occluding activity.
Also use usingShellTransitions to skip some legacy animation checks
that shell transition doesn't care.
Bug: 260059642
Test: Enable shell transition. Disable AOD
KeyguardTests#testDialogShowWhenLockedActivity
KeyguardTests#testTranslucentShowWhenLockedActivity
Test: Transition latency of OpenAppMicrobenchmark
Change-Id: Ic3c704f0579690c51f7188a26c5256dc3e74e1f7
If a display is disabled, do not share it outside of
DisplayManagerService.
This will help by not creating any unnecessary updates for displays that
are disabled, and also not informing Applications of displays that they
are unable to use.
Also fixing a concurrency issue with DMS.handleLogicalDisplaySwapped
which became apparent with this CL. Deferring the runnable with a
Handler.post() caused the display-state-OFF update to happen after a newer
change to turn the display ON. This caused the device to startup into a
black screen. Removed the unnecessary call (since the displays are now
made to both go into the "transition" state) to update the state and
removed a lot of the redundant code with handleLogicalDisplayChange()
which was called at the end of the method anyway.
Bug: 221071695
Test: atest com.server.android.display
Test: Manually verify display layouts still successfully change, and
also confirm logs no longer hand excessive add/remove
display notifications.
Change-Id: I003fd91567630a447cf030b6fb83e5cb1041bcb5
Merged-In: I003fd91567630a447cf030b6fb83e5cb1041bcb5
in order to share surface effects between launcher and sysui, the
package has been moved to the AnimationLib, which is visible to launcher
as well.
fyi the corresponding tests remain in the SystemUiLib module.
technically they should be moved to AnimationLib together, but those
tests are dependant on SystemUI testing frameworks (e.g. SysuiTestCase,
FakeExecutor, etc.). because of this, some of the variables are marked
as VisibleForTesting.
Bug: 249536060
Test: MultiRippleControllerTest MultiRippleViewTest RippleAnimationTest RippleViewTest TurbulenceNoiseControllerTest TurbulenceNoiseViewTest
Change-Id: I37cdc7cf9064d4d8f02afe72ad16b1cc3df95b6c
"Manager" is a little vague and "Copier" is clearer with the class's
purpose.
Bug: 258323047
Test: None with this change; simple refactoring
Change-Id: I43a24b27983838e0ef9798eef2f45d1d4b1c9ac8
Merged-In: I43a24b27983838e0ef9798eef2f45d1d4b1c9ac8
android.media.permission.Identity is not needed for AppOpsManager calls
and is an unnecessary coupling.
Bug: 258323047
Test: None with this change; pure refactoring
Change-Id: I1c70f95a73e36c2793e87116b426d55ce359b74b
Merged-In: I1c70f95a73e36c2793e87116b426d55ce359b74b
A HotwordDetectionService can specify a buffer length for each
HotwordAudioStream in the HotwordDetectedResult by adding an int in the
HotwordAudioStream's metadata PersistableBundle, with the key
HotwordAudioStream.KEY_AUDIO_STREAM_COPY_BUFFER_LENGTH_BYTES.
If the value is not specified or is an invalid value, the default buffer
length is 2,560 bytes.
Bug: 257509629
Test: Manually with test app, verified with logs
Test: atest CtsVoiceInteractionTestCases
Change-Id: I28c7f21bdf7c00b62c9cc6c29153d79ce9d85286
Merged-In: I28c7f21bdf7c00b62c9cc6c29153d79ce9d85286
Before, we only provide startBounds when the animation target is
MODE_CHANGING, with which we won't know the start bounds for target that
is closing while resizing.
Now, we provide startBounds for all targets, so that we can use it to
provide seamless animation when the target is closing while resizing.
Also make sure the closing container's surface is in the start bounds
before the animation starts to avoid any flicker.
Bug: 241043533
Test: Verify with switching between split and stack.
Change-Id: I4d8e1ee44d418249dcb434425c7ab3d63a429bad
It seems like an exception is thrown because ArraySet is not
thread-safe.
Use a synchronized hash set for the receivers.
Fixes: 261099639
Test: atest KeyguardQuickAffordanceProviderTest
Change-Id: I39c43bb2d5dbdc6705b5dec4b362d75189c136d9
After merge into master, @hide annotations will be removed and CTS tests
added.
Bug: 253481667
Test: will be added in master
Change-Id: Ia8bb930c72113c510ed7c4eb70738083c0662151
Creating a simple color fade animation for when theme or region
sampling changes the color of the clock. This replaces the use of
animateAppearOnLockscreen() for those cases by creating a specific animation that only deals with color.
Fixes: 259282866
Test: manual
Change-Id: I279b5e01025a0f7bf5815599ea786a1ab68c06ef
Due to the fact that the resolved type of an intent is not available
during startActivityFromRecents, the intent might not match the intent
filter, making the activity un-launchable if the enforcement is enabled.
The solution in this commit is a nasty hack for T; a proper fix should
be implemented in master.
Bug: 240373119
Test: atest CtsContentTestCases:PackageManagerTest
Change-Id: Ic88c728373d86dfddd6198600a05c696112048da
With keep clear areas flag on, PiP will gravitate towards one of the
bottom corners of the screen if possible. However, once a user moves
PiP manually, it will only continue to avoid occluding keep clear
areas, but no longer move downwards. This also happens if user resized
the window.
This can be disabled by turning the newly introduced sysprop flag.
Bug: 258529269
Test: manually
Change-Id: Ieaa292c54762d5cd005bcdf7eab48d6082e5c3a9
Trace.beginSection() throws an IllegalArgumentException if section name
is longer than 127 chars. Therefore, it shouldn't be used anytime a
string name is generated at runtime. Instead, replace with equivalent
call to Trace.traceBegin().
Also, guard against StringBuilder GC garbage while tracing.
Test: manual
Bug: 257075630
Change-Id: Ia3477dc98b7d87f6fcd0c4f2e0aaad976f2203a2
Modify TraceUtils' traceSection to use traceBegin instead of
beginSection because beginSection will crash at run-time if the string
is longer than 127 chars.
Also, guard against StringBuilder GC garbage while tracing.
Test: manual
Bug: 257075630
Change-Id: I74cb5687a206f5d7ab8eb570cf24715d7e671df1