Loading packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt +3 −1 Original line number Original line Diff line number Diff line Loading @@ -50,6 +50,7 @@ class DefaultClockController( private val layoutInflater: LayoutInflater, private val layoutInflater: LayoutInflater, private val resources: Resources, private val resources: Resources, private val settings: ClockSettings?, private val settings: ClockSettings?, private val hasStepClockAnimation: Boolean = false, ) : ClockController { ) : ClockController { override val smallClock: DefaultClockFaceController override val smallClock: DefaultClockFaceController override val largeClock: LargeClockFaceController override val largeClock: LargeClockFaceController Loading Loading @@ -170,7 +171,8 @@ class DefaultClockController( view: AnimatableClockView, view: AnimatableClockView, seedColor: Int?, seedColor: Int?, ) : DefaultClockFaceController(view, seedColor) { ) : DefaultClockFaceController(view, seedColor) { override val config = ClockFaceConfig(hasCustomPositionUpdatedAnimation = true) override val config = ClockFaceConfig(hasCustomPositionUpdatedAnimation = hasStepClockAnimation) init { init { animations = LargeClockAnimations(view, 0f, 0f) animations = LargeClockAnimations(view, 0f, 0f) Loading packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockProvider.kt +10 −3 Original line number Original line Diff line number Diff line Loading @@ -29,10 +29,11 @@ const val DEFAULT_CLOCK_NAME = "Default Clock" const val DEFAULT_CLOCK_ID = "DEFAULT" const val DEFAULT_CLOCK_ID = "DEFAULT" /** Provides the default system clock */ /** Provides the default system clock */ class DefaultClockProvider constructor( class DefaultClockProvider( val ctx: Context, val ctx: Context, val layoutInflater: LayoutInflater, val layoutInflater: LayoutInflater, val resources: Resources val resources: Resources, val hasStepClockAnimation: Boolean = false ) : ClockProvider { ) : ClockProvider { override fun getClocks(): List<ClockMetadata> = override fun getClocks(): List<ClockMetadata> = listOf(ClockMetadata(DEFAULT_CLOCK_ID, DEFAULT_CLOCK_NAME)) listOf(ClockMetadata(DEFAULT_CLOCK_ID, DEFAULT_CLOCK_NAME)) Loading @@ -42,7 +43,13 @@ class DefaultClockProvider constructor( throw IllegalArgumentException("${settings.clockId} is unsupported by $TAG") throw IllegalArgumentException("${settings.clockId} is unsupported by $TAG") } } return DefaultClockController(ctx, layoutInflater, resources, settings) return DefaultClockController( ctx, layoutInflater, resources, settings, hasStepClockAnimation, ) } } override fun getClockThumbnail(id: ClockId): Drawable? { override fun getClockThumbnail(id: ClockId): Drawable? { Loading packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java +5 −3 Original line number Original line Diff line number Diff line Loading @@ -46,7 +46,6 @@ import com.android.keyguard.KeyguardClockSwitch.ClockSize; import com.android.keyguard.logging.KeyguardLogger; import com.android.keyguard.logging.KeyguardLogger; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.Flags; import com.android.systemui.plugins.ClockController; import com.android.systemui.plugins.ClockController; import com.android.systemui.statusbar.notification.AnimatableProperty; import com.android.systemui.statusbar.notification.AnimatableProperty; import com.android.systemui.statusbar.notification.PropertyAnimator; import com.android.systemui.statusbar.notification.PropertyAnimator; Loading Loading @@ -363,7 +362,7 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV boolean customClockAnimation = clock != null boolean customClockAnimation = clock != null && clock.getLargeClock().getConfig().getHasCustomPositionUpdatedAnimation(); && clock.getLargeClock().getConfig().getHasCustomPositionUpdatedAnimation(); if (mFeatureFlags.isEnabled(Flags.STEP_CLOCK_ANIMATION) && customClockAnimation) { if (customClockAnimation) { // Find the clock, so we can exclude it from this transition. // Find the clock, so we can exclude it from this transition. FrameLayout clockContainerView = mView.findViewById(R.id.lockscreen_clock_view_large); FrameLayout clockContainerView = mView.findViewById(R.id.lockscreen_clock_view_large); Loading Loading @@ -400,8 +399,10 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV @VisibleForTesting @VisibleForTesting static class SplitShadeTransitionAdapter extends Transition { static class SplitShadeTransitionAdapter extends Transition { private static final String PROP_BOUNDS_LEFT = "splitShadeTransitionAdapter:boundsLeft"; private static final String PROP_BOUNDS_LEFT = "splitShadeTransitionAdapter:boundsLeft"; private static final String PROP_BOUNDS_RIGHT = "splitShadeTransitionAdapter:boundsRight"; private static final String PROP_X_IN_WINDOW = "splitShadeTransitionAdapter:xInWindow"; private static final String PROP_X_IN_WINDOW = "splitShadeTransitionAdapter:xInWindow"; private static final String[] TRANSITION_PROPERTIES = { PROP_BOUNDS_LEFT, PROP_X_IN_WINDOW}; private static final String[] TRANSITION_PROPERTIES = { PROP_BOUNDS_LEFT, PROP_BOUNDS_RIGHT, PROP_X_IN_WINDOW}; private final KeyguardClockSwitchController mController; private final KeyguardClockSwitchController mController; Loading @@ -412,6 +413,7 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV private void captureValues(TransitionValues transitionValues) { private void captureValues(TransitionValues transitionValues) { transitionValues.values.put(PROP_BOUNDS_LEFT, transitionValues.view.getLeft()); transitionValues.values.put(PROP_BOUNDS_LEFT, transitionValues.view.getLeft()); transitionValues.values.put(PROP_BOUNDS_RIGHT, transitionValues.view.getRight()); int[] locationInWindowTmp = new int[2]; int[] locationInWindowTmp = new int[2]; transitionValues.view.getLocationInWindow(locationInWindowTmp); transitionValues.view.getLocationInWindow(locationInWindowTmp); transitionValues.values.put(PROP_X_IN_WINDOW, locationInWindowTmp[0]); transitionValues.values.put(PROP_X_IN_WINDOW, locationInWindowTmp[0]); Loading packages/SystemUI/src/com/android/keyguard/dagger/ClockRegistryModule.java +5 −1 Original line number Original line Diff line number Diff line Loading @@ -63,7 +63,11 @@ public abstract class ClockRegistryModule { bgDispatcher, bgDispatcher, featureFlags.isEnabled(Flags.LOCKSCREEN_CUSTOM_CLOCKS), featureFlags.isEnabled(Flags.LOCKSCREEN_CUSTOM_CLOCKS), /* handleAllUsers= */ true, /* handleAllUsers= */ true, new DefaultClockProvider(context, layoutInflater, resources), new DefaultClockProvider( context, layoutInflater, resources, featureFlags.isEnabled(Flags.STEP_CLOCK_ANIMATION)), context.getString(R.string.lockscreen_clock_id_fallback), context.getString(R.string.lockscreen_clock_id_fallback), logBuffer, logBuffer, /* keepAllLoaded = */ false, /* keepAllLoaded = */ false, Loading Loading
packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt +3 −1 Original line number Original line Diff line number Diff line Loading @@ -50,6 +50,7 @@ class DefaultClockController( private val layoutInflater: LayoutInflater, private val layoutInflater: LayoutInflater, private val resources: Resources, private val resources: Resources, private val settings: ClockSettings?, private val settings: ClockSettings?, private val hasStepClockAnimation: Boolean = false, ) : ClockController { ) : ClockController { override val smallClock: DefaultClockFaceController override val smallClock: DefaultClockFaceController override val largeClock: LargeClockFaceController override val largeClock: LargeClockFaceController Loading Loading @@ -170,7 +171,8 @@ class DefaultClockController( view: AnimatableClockView, view: AnimatableClockView, seedColor: Int?, seedColor: Int?, ) : DefaultClockFaceController(view, seedColor) { ) : DefaultClockFaceController(view, seedColor) { override val config = ClockFaceConfig(hasCustomPositionUpdatedAnimation = true) override val config = ClockFaceConfig(hasCustomPositionUpdatedAnimation = hasStepClockAnimation) init { init { animations = LargeClockAnimations(view, 0f, 0f) animations = LargeClockAnimations(view, 0f, 0f) Loading
packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockProvider.kt +10 −3 Original line number Original line Diff line number Diff line Loading @@ -29,10 +29,11 @@ const val DEFAULT_CLOCK_NAME = "Default Clock" const val DEFAULT_CLOCK_ID = "DEFAULT" const val DEFAULT_CLOCK_ID = "DEFAULT" /** Provides the default system clock */ /** Provides the default system clock */ class DefaultClockProvider constructor( class DefaultClockProvider( val ctx: Context, val ctx: Context, val layoutInflater: LayoutInflater, val layoutInflater: LayoutInflater, val resources: Resources val resources: Resources, val hasStepClockAnimation: Boolean = false ) : ClockProvider { ) : ClockProvider { override fun getClocks(): List<ClockMetadata> = override fun getClocks(): List<ClockMetadata> = listOf(ClockMetadata(DEFAULT_CLOCK_ID, DEFAULT_CLOCK_NAME)) listOf(ClockMetadata(DEFAULT_CLOCK_ID, DEFAULT_CLOCK_NAME)) Loading @@ -42,7 +43,13 @@ class DefaultClockProvider constructor( throw IllegalArgumentException("${settings.clockId} is unsupported by $TAG") throw IllegalArgumentException("${settings.clockId} is unsupported by $TAG") } } return DefaultClockController(ctx, layoutInflater, resources, settings) return DefaultClockController( ctx, layoutInflater, resources, settings, hasStepClockAnimation, ) } } override fun getClockThumbnail(id: ClockId): Drawable? { override fun getClockThumbnail(id: ClockId): Drawable? { Loading
packages/SystemUI/src/com/android/keyguard/KeyguardStatusViewController.java +5 −3 Original line number Original line Diff line number Diff line Loading @@ -46,7 +46,6 @@ import com.android.keyguard.KeyguardClockSwitch.ClockSize; import com.android.keyguard.logging.KeyguardLogger; import com.android.keyguard.logging.KeyguardLogger; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.Flags; import com.android.systemui.plugins.ClockController; import com.android.systemui.plugins.ClockController; import com.android.systemui.statusbar.notification.AnimatableProperty; import com.android.systemui.statusbar.notification.AnimatableProperty; import com.android.systemui.statusbar.notification.PropertyAnimator; import com.android.systemui.statusbar.notification.PropertyAnimator; Loading Loading @@ -363,7 +362,7 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV boolean customClockAnimation = clock != null boolean customClockAnimation = clock != null && clock.getLargeClock().getConfig().getHasCustomPositionUpdatedAnimation(); && clock.getLargeClock().getConfig().getHasCustomPositionUpdatedAnimation(); if (mFeatureFlags.isEnabled(Flags.STEP_CLOCK_ANIMATION) && customClockAnimation) { if (customClockAnimation) { // Find the clock, so we can exclude it from this transition. // Find the clock, so we can exclude it from this transition. FrameLayout clockContainerView = mView.findViewById(R.id.lockscreen_clock_view_large); FrameLayout clockContainerView = mView.findViewById(R.id.lockscreen_clock_view_large); Loading Loading @@ -400,8 +399,10 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV @VisibleForTesting @VisibleForTesting static class SplitShadeTransitionAdapter extends Transition { static class SplitShadeTransitionAdapter extends Transition { private static final String PROP_BOUNDS_LEFT = "splitShadeTransitionAdapter:boundsLeft"; private static final String PROP_BOUNDS_LEFT = "splitShadeTransitionAdapter:boundsLeft"; private static final String PROP_BOUNDS_RIGHT = "splitShadeTransitionAdapter:boundsRight"; private static final String PROP_X_IN_WINDOW = "splitShadeTransitionAdapter:xInWindow"; private static final String PROP_X_IN_WINDOW = "splitShadeTransitionAdapter:xInWindow"; private static final String[] TRANSITION_PROPERTIES = { PROP_BOUNDS_LEFT, PROP_X_IN_WINDOW}; private static final String[] TRANSITION_PROPERTIES = { PROP_BOUNDS_LEFT, PROP_BOUNDS_RIGHT, PROP_X_IN_WINDOW}; private final KeyguardClockSwitchController mController; private final KeyguardClockSwitchController mController; Loading @@ -412,6 +413,7 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV private void captureValues(TransitionValues transitionValues) { private void captureValues(TransitionValues transitionValues) { transitionValues.values.put(PROP_BOUNDS_LEFT, transitionValues.view.getLeft()); transitionValues.values.put(PROP_BOUNDS_LEFT, transitionValues.view.getLeft()); transitionValues.values.put(PROP_BOUNDS_RIGHT, transitionValues.view.getRight()); int[] locationInWindowTmp = new int[2]; int[] locationInWindowTmp = new int[2]; transitionValues.view.getLocationInWindow(locationInWindowTmp); transitionValues.view.getLocationInWindow(locationInWindowTmp); transitionValues.values.put(PROP_X_IN_WINDOW, locationInWindowTmp[0]); transitionValues.values.put(PROP_X_IN_WINDOW, locationInWindowTmp[0]); Loading
packages/SystemUI/src/com/android/keyguard/dagger/ClockRegistryModule.java +5 −1 Original line number Original line Diff line number Diff line Loading @@ -63,7 +63,11 @@ public abstract class ClockRegistryModule { bgDispatcher, bgDispatcher, featureFlags.isEnabled(Flags.LOCKSCREEN_CUSTOM_CLOCKS), featureFlags.isEnabled(Flags.LOCKSCREEN_CUSTOM_CLOCKS), /* handleAllUsers= */ true, /* handleAllUsers= */ true, new DefaultClockProvider(context, layoutInflater, resources), new DefaultClockProvider( context, layoutInflater, resources, featureFlags.isEnabled(Flags.STEP_CLOCK_ANIMATION)), context.getString(R.string.lockscreen_clock_id_fallback), context.getString(R.string.lockscreen_clock_id_fallback), logBuffer, logBuffer, /* keepAllLoaded = */ false, /* keepAllLoaded = */ false, Loading