* changes:
Introduce SelfExecutingMonitor for tests.
Run dream logic only for current user process.
Always have ConditionalCoreStartable subscribe to monitor.
A number of tested components rely on monitors for pretext conditions.
In these cases, a mocked monitor will not execute the callback in order
for the logic to proceed. This change introduces and integrates
SelfExecutingMonitor to handle this case.
Bug: 261420432
Test: atest ComplicationTypesUpdaterTest
Test: atest DreamClockTimeComplicationTest
Test: atest DreamHomeControlsComplicationTest
Test: atest SmartSpaceComplicationTest
Change-Id: I2368bdcaa8a8a064484c160ddd95bf73882b733d
This changelist updates dream-related components to only run in the
process associated with the current user.
Test: manual (exercised in upstream CLs)
Fixes: 261420432
Change-Id: I856fc348bb2c606bc15f2bc42a2d743f4994de0b
Merged-In: I856fc348bb2c606bc15f2bc42a2d743f4994de0b
Currently, ConditionalCoreStartables bypass subscribing to the
condition monitor if no conditions are specified. However, a
monitor might have preconditions set on it that would be ignored
in this case. This changelist ensures the CoreStartable always
subscribes to that any preconditions from the monitor are
considered.
Test: atest ConditionalCoreStartableTest
Test: atest ConditionMonitorTest
Bug: 261420432
Change-Id: If4e14bca8c51a7568966950c429dae7c16fdf759
Store 0 in a named constant as the default animation background color.
Update the animation background color usage to make sure it is not
transparent.
Bug: 267955776
Test: verify the behavior is not changed with demo app
Change-Id: I23fcab10a516de2c7646639e5773cf8c67143bcb
CurrentlyExpanded is always true. So listening attribute in
seekbarViewModel is always true. This makes SystemUI execute a runnable
repeatedly.
A listener is added to MediaScrollViewHolder to update players seekbar
whenever visibleToUser attribute is updated to make sure that listening
attribute is false when UMO is not visible to user.
Bug: 268191023
Test: atest MediaCaroselControllerTest
Change-Id: I3296cd6b560fa886b2fdb1dc11634a4df746fde9
See b/268205519 for the full analysis and description, but the summary
is mSavePending could previously get stuck in the true state, preventing
the shader cache from being written to disk for the rest of an app's
lifecycle.
This stuck state seems to occur on every app launch after the first,
unless any shaders are compiled in the first 4 seconds. This occurs
frequently, as the shaders initially required by an app in its first 4
seconds were likely compiled on its first launch and already available
in its persistent cache, thus not necessitating new compilation in that
initial window and triggering the failure case.
This seems to have serious jank implications, particularly for SysUI.
Note: time is now represented in milliseconds to make testing easier.
Fixes: 268205519
Bug: 268205519
Bug: 225211273
Test: `atest hwui_unit_tests:ShaderCacheTest` (before and after fix)
Change-Id: I102d75df4c61f9b3012dd5d956dc37435d5b5a84
(cherry picked from commit 193cd9678e)
The BT A2DP, LE and HearingAid proxies to the BT service were
initialized on profile connection, but were never reset on
profile disconnection in BtHelper.
Wrapped the calls to the BT proxies with try/catch as the
notification that a profile disconnected can happen while
the proxy is used.
Bug: 265815315
Test: BT crash case in bug
Change-Id: I9e7a24baba2742237397f950401fa03376fb5d29
Merged-In: I9e7a24baba2742237397f950401fa03376fb5d29
Setup the dialog panel for font scaling
- Slider: The number of steps in the slider refers to the values
options for font scaling. Changing the progress of the seekbar will
change the size of fonts including the ones on the dialog panel.
- Title and Done button: Update font size when onConfigurationChanged.
Bug: 242326166
Test: Attach a video to the bug
Test: atest FontScalingDialogTest
Change-Id: I9004aa933ff1d8021f3087a015ebc23bb8724871
If an app posts a time-sensitive (alarm, call, etc.) notification that
can either HUN or FSI, it's possible for *neither* alerting behavior to
happen if the user has snoozed HUNs for the package and System UI has
suppressed FSIs because the screen is on and unlocked and the
FSI_REQUIRES_KEYGUARD flag is set.
In this case, assume any notification with an FSI is time-sensitive
(like an alarm or incoming call) and ignore whether HUNs have been
snoozed for the package.
Bug: 245356701
Test: atest NotificationInterruptStateProviderImplTest
Test: manual tests of relevant FSI/HUN snooze scenarios
Change-Id: Idee76ef9fc9d303903617ffd5bc79aad0756b2a0
Setup the basic layout of the dialog that would show up after clicking
the font scaling tile. The dialog includes the Title, the Done button,
and a seekbar which allows users to change the font size.
Bug: 242326166
Test: Attach a video to the bug
Test: atest FontScalingTileTest
Change-Id: I53db74af00e358a5e35283128a11164d4ae6733e
The conditional permission was introduced for TaskFragmentOrganizer, but
not really needed. Remove the conditional check.
Bug: 259938771
Test: pass existing tests
Merged-In: I666b9ee6b6076766513b97e675fdbaa002428601
Change-Id: I666b9ee6b6076766513b97e675fdbaa002428601