Loading libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedBackgroundPanelOrganizer.java +16 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.wm.shell.onehanded; import static com.android.wm.shell.onehanded.OneHandedState.STATE_ACTIVE; import android.animation.ValueAnimator; import android.content.Context; import android.graphics.Color; Loading Loading @@ -46,7 +48,7 @@ import java.util.concurrent.Executor; * the screen has entered one handed mode. */ public class OneHandedBackgroundPanelOrganizer extends DisplayAreaOrganizer implements OneHandedAnimationCallback { implements OneHandedAnimationCallback, OneHandedState.OnStateChangedListener { private static final String TAG = "OneHandedBackgroundPanelOrganizer"; private static final int THEME_COLOR_OFFSET = 10; private static final int ALPHA_ANIMATION_DURATION = 200; Loading @@ -56,6 +58,7 @@ public class OneHandedBackgroundPanelOrganizer extends DisplayAreaOrganizer private final OneHandedSurfaceTransactionHelper.SurfaceControlTransactionFactory mTransactionFactory; private @OneHandedState.State int mCurrentState; private ValueAnimator mAlphaAnimator; private float mTranslationFraction; Loading Loading @@ -180,6 +183,9 @@ public class OneHandedBackgroundPanelOrganizer extends DisplayAreaOrganizer * Called when transition finished. */ public void onStopFinished() { if (mAlphaAnimator == null) { return; } mAlphaAnimator.start(); } Loading Loading @@ -224,6 +230,10 @@ public class OneHandedBackgroundPanelOrganizer extends DisplayAreaOrganizer */ public void onConfigurationChanged() { updateThemeColors(); if (mCurrentState != STATE_ACTIVE) { return; } showBackgroundPanelLayer(); } Loading @@ -242,6 +252,11 @@ public class OneHandedBackgroundPanelOrganizer extends DisplayAreaOrganizer return Math.max(origColor - THEME_COLOR_OFFSET, 0) / 255.0f; } @Override public void onStateChanged(int newState) { mCurrentState = newState; } void dump(@NonNull PrintWriter pw) { final String innerPrefix = " "; pw.println(TAG); Loading libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedController.java +1 −0 Original line number Diff line number Diff line Loading @@ -307,6 +307,7 @@ public class OneHandedController implements RemoteCallable<OneHandedController> mAccessibilityManager.addAccessibilityStateChangeListener( mAccessibilityStateChangeListener); mState.addSListeners(mBackgroundPanelOrganizer); mState.addSListeners(mTutorialHandler); } Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/onehanded/OneHandedBackgroundPanelOrganizerTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,9 @@ package com.android.wm.shell.onehanded; import static android.view.Display.DEFAULT_DISPLAY; import static android.window.DisplayAreaOrganizer.FEATURE_ONE_HANDED_BACKGROUND_PANEL; import static com.android.wm.shell.onehanded.OneHandedState.STATE_ACTIVE; import static com.android.wm.shell.onehanded.OneHandedState.STATE_NONE; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyInt; Loading Loading @@ -109,4 +112,20 @@ public class OneHandedBackgroundPanelOrganizerTest extends OneHandedTestCase { assertThat(mSpiedBackgroundPanelOrganizer.mBackgroundSurface).isNull(); } @Test public void testStateNone_onConfigurationChanged() { mSpiedBackgroundPanelOrganizer.onStateChanged(STATE_NONE); mSpiedBackgroundPanelOrganizer.onConfigurationChanged(); verify(mSpiedBackgroundPanelOrganizer, never()).showBackgroundPanelLayer(); } @Test public void testStateActivate_onConfigurationChanged() { mSpiedBackgroundPanelOrganizer.onStateChanged(STATE_ACTIVE); mSpiedBackgroundPanelOrganizer.onConfigurationChanged(); verify(mSpiedBackgroundPanelOrganizer).showBackgroundPanelLayer(); } } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedBackgroundPanelOrganizer.java +16 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.wm.shell.onehanded; import static com.android.wm.shell.onehanded.OneHandedState.STATE_ACTIVE; import android.animation.ValueAnimator; import android.content.Context; import android.graphics.Color; Loading Loading @@ -46,7 +48,7 @@ import java.util.concurrent.Executor; * the screen has entered one handed mode. */ public class OneHandedBackgroundPanelOrganizer extends DisplayAreaOrganizer implements OneHandedAnimationCallback { implements OneHandedAnimationCallback, OneHandedState.OnStateChangedListener { private static final String TAG = "OneHandedBackgroundPanelOrganizer"; private static final int THEME_COLOR_OFFSET = 10; private static final int ALPHA_ANIMATION_DURATION = 200; Loading @@ -56,6 +58,7 @@ public class OneHandedBackgroundPanelOrganizer extends DisplayAreaOrganizer private final OneHandedSurfaceTransactionHelper.SurfaceControlTransactionFactory mTransactionFactory; private @OneHandedState.State int mCurrentState; private ValueAnimator mAlphaAnimator; private float mTranslationFraction; Loading Loading @@ -180,6 +183,9 @@ public class OneHandedBackgroundPanelOrganizer extends DisplayAreaOrganizer * Called when transition finished. */ public void onStopFinished() { if (mAlphaAnimator == null) { return; } mAlphaAnimator.start(); } Loading Loading @@ -224,6 +230,10 @@ public class OneHandedBackgroundPanelOrganizer extends DisplayAreaOrganizer */ public void onConfigurationChanged() { updateThemeColors(); if (mCurrentState != STATE_ACTIVE) { return; } showBackgroundPanelLayer(); } Loading @@ -242,6 +252,11 @@ public class OneHandedBackgroundPanelOrganizer extends DisplayAreaOrganizer return Math.max(origColor - THEME_COLOR_OFFSET, 0) / 255.0f; } @Override public void onStateChanged(int newState) { mCurrentState = newState; } void dump(@NonNull PrintWriter pw) { final String innerPrefix = " "; pw.println(TAG); Loading
libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedController.java +1 −0 Original line number Diff line number Diff line Loading @@ -307,6 +307,7 @@ public class OneHandedController implements RemoteCallable<OneHandedController> mAccessibilityManager.addAccessibilityStateChangeListener( mAccessibilityStateChangeListener); mState.addSListeners(mBackgroundPanelOrganizer); mState.addSListeners(mTutorialHandler); } Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/onehanded/OneHandedBackgroundPanelOrganizerTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,9 @@ package com.android.wm.shell.onehanded; import static android.view.Display.DEFAULT_DISPLAY; import static android.window.DisplayAreaOrganizer.FEATURE_ONE_HANDED_BACKGROUND_PANEL; import static com.android.wm.shell.onehanded.OneHandedState.STATE_ACTIVE; import static com.android.wm.shell.onehanded.OneHandedState.STATE_NONE; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyInt; Loading Loading @@ -109,4 +112,20 @@ public class OneHandedBackgroundPanelOrganizerTest extends OneHandedTestCase { assertThat(mSpiedBackgroundPanelOrganizer.mBackgroundSurface).isNull(); } @Test public void testStateNone_onConfigurationChanged() { mSpiedBackgroundPanelOrganizer.onStateChanged(STATE_NONE); mSpiedBackgroundPanelOrganizer.onConfigurationChanged(); verify(mSpiedBackgroundPanelOrganizer, never()).showBackgroundPanelLayer(); } @Test public void testStateActivate_onConfigurationChanged() { mSpiedBackgroundPanelOrganizer.onStateChanged(STATE_ACTIVE); mSpiedBackgroundPanelOrganizer.onConfigurationChanged(); verify(mSpiedBackgroundPanelOrganizer).showBackgroundPanelLayer(); } }