- Enable ClockOptionsProvider and the flag let SystemUI(keyguard) have
the ability to apply custom clock
- Remove Analog and Bubble clock from SystemUI
Bug: 146530441
Test: `adb shell content query --uri content://com.android.keyguard.clock/list_options` will list available provider, `adb shell settings put secure lock_screen_custom_clock_face "com.android.keyguard.clock.BubbleClockController"` will not switch to Bubble clock.
Change-Id: Iecfb5e2ea0cc72ca6eb1e16ca0dc0213a3257b6e
Test: presubmit setup on source branch
Bug: 130289146 Create a Gradle build for SystemUI
Bug: 136279712 Daggerize FalsingManager
Bug: 137324767 "Unable to instantiate service com.android.systemui.doze.DozeService" exception breaks launcher tests
Bug: 137563419 Remove Bouncer reveal delay from bypass flow
Bug: 138787339 Allow Services and Activities to be injected into directly.
Bug: 139128921 [AS 3.5 RC2, SDK API 29 rev 2] Overload resolution ambiguity: while removing element from HashMap
Bug: 64712476 Import translations for dev branches
Change-Id: Ib7fd4706c070907fd556c3532957f3b1b046de6d
This change stops the animation because there isn't a
transition from the no-header state to the music header
state when turning the screen off (to AOD). Since there
isn't a transition, there isn't an animation.
This assumes that there isn't a transition from unlocked to
lock screen. If there is, then there would be an animation
of the music going away while arriving at the lock screen.
Fixes: 137383007
Test: Checked repro steps in bug, clock doesn't animate.
Test: Also checked repro steps when audio is paused, clock doesn't
animate.
Test: atest KeyguardSliceProviderTest.java
Change-Id: If39777340b72bc623d6690bc4f784c7f5c26ea8d
This will prevent custom clocks from persisting on dogfooders devices.
Bug: 136090066
Test: `adb shell settings put secure lock_screen_custom_clock_face
"com.android.keyguard.clock.BubbleClockController"` doesn't switch to
Bubble clock.
Change-Id: If9fc43295380d0bc37ca3df4c7187bd4faaf4bde
Fixes: 132273216
Test: visual -- transition to AOD with notifications
Test: visual -- transition to AOD without notifications
Test: visual -- remove last notification on LS
Test: visual -- add notification on LS
Change-Id: I1c003a8930cc557e388e2263e4a4fa41b912998a
This change tracks the state of the header in the smart space while a
custom clock is showing so that the correct digital clock size can be
restored when switching back to the default clock face.
Fixes: 135534500
Test: visual - take phone of dock and check size of default clock
Change-Id: Id4d1d46c94d8480f9675a3cf682a20a9706ba707
In the bug, it appears that the phone dozed during the transition.
Holding the wake lock will keep the phone awake until the transition
ends. This is a speculative change because I wasn't able to reproduce
the issue.
Bug: 135458132
Test: checked that the transition still works, but I wasn't able to
verify the fix because I'm not able to reproduce the issue.
Change-Id: Ibfd4ae7522c30882051a41927c1714ace3f08b89
- Always use white text with shadows on media
- Use lock screen colors for shade theme
- Remove legacy wallpaper visibility listener
- Remove shadow from black title
Test: set white wallpaper
Test: set dark wallpaper
Test: set dark wallpaper on home, light on ls
Test: set dark wallpaper on ls, light on home
Test: atest SysuiColorExtractorTests
Fixes: 134119878
Change-Id: I64ee2dee14322b2c02891c3ffe5fc0b25d1f100b
- Always use white text with shadows on media
- Use lock screen colors for shade theme
- Remove legacy wallpaper visibility listener
- Remove shadow from black title
Test: set white wallpaper
Test: set dark wallpaper
Test: set dark wallpaper on home, light on ls
Test: set dark wallpaper on ls, light on home
Test: atest SysuiColorExtractorTests
Fixes: 134119878
Change-Id: I64ee2dee14322b2c02891c3ffe5fc0b25d1f100b
Merged-In: I64ee2dee14322b2c02891c3ffe5fc0b25d1f100b
This ensures that the new transition starts from a good state so that
start-end state are computed corretly. Otherwise, it is possible that
the new animation starts from a transient state that doesn't compute
correct start and end states.
Some other cleanup:
- TransitionListener that sets the regular digital clock to GONE is
added before starting the transition to eliminate a race condition.
- Setting the view to the beginning visibility is performed in
AnimatorListener#onAnimationStart.
Bug: 132629519
Test: manual - flick to advance tracks while listening to YT music. It
is necessary to flick during the transition from lock to AOD to
reproduce the issue.
Change-Id: Id9d9732028a1693389f65dbb2f5c38ea60433bc6
AP is waking up but seems like clock is not being updated.
Added some logs to debug it.
Test: look at logs
Fixes: 130888082
Change-Id: I14e31a748573e26f161f837044ef61b57367bfe0
This changes adds a hook to the ClockPlugin to allow the
custom clock to control the position of the smart space.
Still todo:
- move out of the way for the lock icon
- don't slide smart space down on lock screen when no
notifs are showing
Bug: 129348218
Test: Manually checked custom clock faces.
Change-Id: I2472f6b2bb54f94e2e673f01c78170c0e7f87627
Detaches custom clock during onDetachFromWindow. This removes the
custom clock view from the keyguard during configuration changes.
The root cause for this issue is that the clock plugins remain in
memory after ag/6576777. There needs to be a way to communicate
to the clock plugin that it is done being used (something like
an onDestroyViews method). I'm leaving this work for a follow up
change.
Fixes: 127289716
Test: IllegalStateException not seen in logcat when performing repro
steps.
Change-Id: I184c52b25cb61325a920067dfc415b163f6a6b6d
Added methods to ClockPlugin to provide information to picker app.
Due to this change, I bumped the api number of the ClockPlugin
interface.
Bug: 125370285
Test: atest ClockManagerTest
Test: checked clock from plugin apk appears in picker app
Change-Id: I0dc3d5a450f7d352900b077b28c670ebadb874e7
This is in preparation for adding more logic related to docked state.
Bug: 122301289
Test: Used adb to switch between custom clock faces.
Change-Id: I0a13ef4e5894df1280a04c5a9df8bbed8054557b
End goal is to move clock switching logic out of this view class.
To do that, first need to make this class look less like a TextClock.
Bug: 122301289
Test: keyguard tests pass
Change-Id: Iccd7b0d02d1ec756d4e37f3d4ab47d0bcb55e566
Whenever there's a custom clock, notification icons should be on the top
left. The default clock will just show the dark shelf.
Test: atest NotificationStackScrollLayoutTest
Test: atest CollapsedStatusBarFragmentTest
Test: visual - with and w/o clock plugin
Test: visual - with and w/o RTL layout
Bug: 122301289
Bug: 111405682
Fixes: 120563185
Change-Id: I4c513d347f656262ee6f91bd208ab9f219e4419c
Option defaults to showing the slice view so that it doesn't break
existing plugins.
Test: SystemUIGoogleTests pass.
Test: SystemUITests pass.
Test: slice view is hidden when using example plugin.
Bug: 118496011
Change-Id: I574009170da4703e84fd392e327e1cb84ada6cd0
This prevents plugins from needing to register for time zone
changed broadcasts. The event can be relayed from
KeyguardUpdateMonitor.
Bug: 120666411
Test: example plugin updates when time zone is changed
Change-Id: I84732887527db8575504af27cc8ed537118696c6
setDarmAmount implementations provided by clock plugins
should use the dark amount to transition into and out
of the doze state on AOD. For example, the size of the
clock could shrink in the Y direction when leaving doze
to make room for the notification stack scroller.
Bug: 119035943
Test: KeyguardClockSwitchTest passes locally.
Change-Id: I9968dc2cc5ab8000ff525f3d1d06ffbf73359086