Loading packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java +5 −1 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT; import static com.android.keyguard.KeyguardClockSwitch.LARGE; import static com.android.keyguard.KeyguardClockSwitch.SMALL; import android.annotation.Nullable; import android.database.ContentObserver; import android.os.UserHandle; import android.provider.Settings; Loading Loading @@ -458,6 +459,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS mView.setClock(clock, mStatusBarStateController.getState()); } @Nullable private ClockController getClock() { return mClockEventController.getClock(); } Loading Loading @@ -510,7 +512,9 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS } /** Gets the animations for the current clock. */ @Nullable public ClockAnimations getClockAnimations() { return getClock().getAnimations(); ClockController clock = getClock(); return clock == null ? null : clock.getAnimations(); } } packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java +12 −7 Original line number Diff line number Diff line Loading @@ -159,6 +159,7 @@ import com.android.systemui.model.SysUiState; import com.android.systemui.navigationbar.NavigationBarController; import com.android.systemui.navigationbar.NavigationBarView; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.plugins.ClockAnimations; import com.android.systemui.plugins.FalsingManager; import com.android.systemui.plugins.FalsingManager.FalsingTapListener; import com.android.systemui.plugins.qs.QS; Loading Loading @@ -1592,10 +1593,9 @@ public final class NotificationPanelViewController implements Dumpable { transition.setInterpolator(Interpolators.FAST_OUT_SLOW_IN); transition.setDuration(StackStateAnimator.ANIMATION_DURATION_STANDARD); boolean customClockAnimation = mKeyguardStatusViewController.getClockAnimations() != null && mKeyguardStatusViewController.getClockAnimations() .getHasCustomPositionUpdatedAnimation(); ClockAnimations clockAnims = mKeyguardStatusViewController.getClockAnimations(); boolean customClockAnimation = clockAnims != null && clockAnims.getHasCustomPositionUpdatedAnimation(); if (mFeatureFlags.isEnabled(Flags.STEP_CLOCK_ANIMATION) && customClockAnimation) { // Find the clock, so we can exclude it from this transition. Loading Loading @@ -5119,9 +5119,14 @@ public final class NotificationPanelViewController implements Dumpable { Rect from = (Rect) startValues.values.get(PROP_BOUNDS); Rect to = (Rect) endValues.values.get(PROP_BOUNDS); anim.addUpdateListener( animation -> mController.getClockAnimations().onPositionUpdated( from, to, animation.getAnimatedFraction())); anim.addUpdateListener(animation -> { ClockAnimations clockAnims = mController.getClockAnimations(); if (clockAnims == null) { return; } clockAnims.onPositionUpdated(from, to, animation.getAnimatedFraction()); }); return anim; } Loading packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerTest.java +7 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.keyguard; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.eq; Loading Loading @@ -365,6 +366,12 @@ public class KeyguardClockSwitchControllerTest extends SysuiTestCase { assertEquals(View.VISIBLE, mFakeWeatherView.getVisibility()); } @Test public void testGetClockAnimations_nullClock_returnsNull() { when(mClockEventController.getClock()).thenReturn(null); assertNull(mController.getClockAnimations()); } private void verifyAttachment(VerificationMode times) { verify(mClockRegistry, times).registerClockChangeListener( any(ClockRegistry.ClockChangeListener.class)); Loading Loading
packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java +5 −1 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT; import static com.android.keyguard.KeyguardClockSwitch.LARGE; import static com.android.keyguard.KeyguardClockSwitch.SMALL; import android.annotation.Nullable; import android.database.ContentObserver; import android.os.UserHandle; import android.provider.Settings; Loading Loading @@ -458,6 +459,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS mView.setClock(clock, mStatusBarStateController.getState()); } @Nullable private ClockController getClock() { return mClockEventController.getClock(); } Loading Loading @@ -510,7 +512,9 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS } /** Gets the animations for the current clock. */ @Nullable public ClockAnimations getClockAnimations() { return getClock().getAnimations(); ClockController clock = getClock(); return clock == null ? null : clock.getAnimations(); } }
packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java +12 −7 Original line number Diff line number Diff line Loading @@ -159,6 +159,7 @@ import com.android.systemui.model.SysUiState; import com.android.systemui.navigationbar.NavigationBarController; import com.android.systemui.navigationbar.NavigationBarView; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.plugins.ClockAnimations; import com.android.systemui.plugins.FalsingManager; import com.android.systemui.plugins.FalsingManager.FalsingTapListener; import com.android.systemui.plugins.qs.QS; Loading Loading @@ -1592,10 +1593,9 @@ public final class NotificationPanelViewController implements Dumpable { transition.setInterpolator(Interpolators.FAST_OUT_SLOW_IN); transition.setDuration(StackStateAnimator.ANIMATION_DURATION_STANDARD); boolean customClockAnimation = mKeyguardStatusViewController.getClockAnimations() != null && mKeyguardStatusViewController.getClockAnimations() .getHasCustomPositionUpdatedAnimation(); ClockAnimations clockAnims = mKeyguardStatusViewController.getClockAnimations(); boolean customClockAnimation = clockAnims != null && clockAnims.getHasCustomPositionUpdatedAnimation(); if (mFeatureFlags.isEnabled(Flags.STEP_CLOCK_ANIMATION) && customClockAnimation) { // Find the clock, so we can exclude it from this transition. Loading Loading @@ -5119,9 +5119,14 @@ public final class NotificationPanelViewController implements Dumpable { Rect from = (Rect) startValues.values.get(PROP_BOUNDS); Rect to = (Rect) endValues.values.get(PROP_BOUNDS); anim.addUpdateListener( animation -> mController.getClockAnimations().onPositionUpdated( from, to, animation.getAnimatedFraction())); anim.addUpdateListener(animation -> { ClockAnimations clockAnims = mController.getClockAnimations(); if (clockAnims == null) { return; } clockAnims.onPositionUpdated(from, to, animation.getAnimatedFraction()); }); return anim; } Loading
packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerTest.java +7 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.keyguard; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.eq; Loading Loading @@ -365,6 +366,12 @@ public class KeyguardClockSwitchControllerTest extends SysuiTestCase { assertEquals(View.VISIBLE, mFakeWeatherView.getVisibility()); } @Test public void testGetClockAnimations_nullClock_returnsNull() { when(mClockEventController.getClock()).thenReturn(null); assertNull(mController.getClockAnimations()); } private void verifyAttachment(VerificationMode times) { verify(mClockRegistry, times).registerClockChangeListener( any(ClockRegistry.ClockChangeListener.class)); Loading