Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7d641daa authored by Behnam Heydarshahi's avatar Behnam Heydarshahi Committed by Automerger Merge Worker
Browse files

Merge "Tear down VolumeDialogImplTest cleanly" into udc-qpr-dev am: 0b73a074

parents dc1c7737 0b73a074
Loading
Loading
Loading
Loading
+14 −1
Original line number Original line Diff line number Diff line
@@ -168,6 +168,13 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable,
    /** Volume dialog slider animation. */
    /** Volume dialog slider animation. */
    private static final String TYPE_UPDATE = "update";
    private static final String TYPE_UPDATE = "update";


    /**
     *  TODO(b/290612381): remove lingering animations or tolerate them
     *  When false, this will cause this class to not listen to animator events and not record jank
     *  events. This should never be false in production code, and only is false for unit tests for
     *  this class. This flag should be true in Scenario/Integration tests.
     */
    private final boolean mShouldListenForJank;
    private final int mDialogShowAnimationDurationMs;
    private final int mDialogShowAnimationDurationMs;
    private final int mDialogHideAnimationDurationMs;
    private final int mDialogHideAnimationDurationMs;
    private int mDialogWidth;
    private int mDialogWidth;
@@ -304,6 +311,7 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable,
            VolumePanelFactory volumePanelFactory,
            VolumePanelFactory volumePanelFactory,
            ActivityStarter activityStarter,
            ActivityStarter activityStarter,
            InteractionJankMonitor interactionJankMonitor,
            InteractionJankMonitor interactionJankMonitor,
            boolean shouldListenForJank,
            CsdWarningDialog.Factory csdWarningDialogFactory,
            CsdWarningDialog.Factory csdWarningDialogFactory,
            DevicePostureController devicePostureController,
            DevicePostureController devicePostureController,
            Looper looper,
            Looper looper,
@@ -311,6 +319,8 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable,
        mContext =
        mContext =
                new ContextThemeWrapper(context, R.style.volume_dialog_theme);
                new ContextThemeWrapper(context, R.style.volume_dialog_theme);
        mHandler = new H(looper);
        mHandler = new H(looper);

        mShouldListenForJank = shouldListenForJank;
        mController = volumeDialogController;
        mController = volumeDialogController;
        mKeyguard = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE);
        mKeyguard = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE);
        mActivityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
        mActivityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
@@ -1368,7 +1378,10 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable,
    }
    }


    private Animator.AnimatorListener getJankListener(View v, String type, long timeout) {
    private Animator.AnimatorListener getJankListener(View v, String type, long timeout) {
        return new Animator.AnimatorListener() {
        if (!mShouldListenForJank) {
            // TODO(b/290612381): temporary fix to prevent null pointers on leftover JankMonitors
            return null;
        } else return new Animator.AnimatorListener() {
            @Override
            @Override
            public void onAnimationStart(@NonNull Animator animation) {
            public void onAnimationStart(@NonNull Animator animation) {
                if (!v.isAttachedToWindow()) {
                if (!v.isAttachedToWindow()) {
+1 −0
Original line number Original line Diff line number Diff line
@@ -72,6 +72,7 @@ public interface VolumeModule {
                volumePanelFactory,
                volumePanelFactory,
                activityStarter,
                activityStarter,
                interactionJankMonitor,
                interactionJankMonitor,
                true, /* should listen for jank */
                csdFactory,
                csdFactory,
                devicePostureController,
                devicePostureController,
                Looper.getMainLooper(),
                Looper.getMainLooper(),
+21 −6
Original line number Original line Diff line number Diff line
@@ -142,6 +142,7 @@ public class VolumeDialogImplTest extends SysuiTestCase {
                mVolumePanelFactory,
                mVolumePanelFactory,
                mActivityStarter,
                mActivityStarter,
                mInteractionJankMonitor,
                mInteractionJankMonitor,
                false,
                mCsdWarningDialogFactory,
                mCsdWarningDialogFactory,
                mPostureController,
                mPostureController,
                mTestableLooper.getLooper(),
                mTestableLooper.getLooper(),
@@ -378,6 +379,7 @@ public class VolumeDialogImplTest extends SysuiTestCase {
                mVolumePanelFactory,
                mVolumePanelFactory,
                mActivityStarter,
                mActivityStarter,
                mInteractionJankMonitor,
                mInteractionJankMonitor,
                false,
                mCsdWarningDialogFactory,
                mCsdWarningDialogFactory,
                devicePostureController,
                devicePostureController,
                mTestableLooper.getLooper(),
                mTestableLooper.getLooper(),
@@ -397,6 +399,8 @@ public class VolumeDialogImplTest extends SysuiTestCase {


        int gravity = dialog.getWindowGravity();
        int gravity = dialog.getWindowGravity();
        assertEquals(Gravity.TOP, gravity & Gravity.VERTICAL_GRAVITY_MASK);
        assertEquals(Gravity.TOP, gravity & Gravity.VERTICAL_GRAVITY_MASK);

        cleanUp(dialog);
    }
    }


    @Test
    @Test
@@ -415,6 +419,7 @@ public class VolumeDialogImplTest extends SysuiTestCase {
                mVolumePanelFactory,
                mVolumePanelFactory,
                mActivityStarter,
                mActivityStarter,
                mInteractionJankMonitor,
                mInteractionJankMonitor,
                false,
                mCsdWarningDialogFactory,
                mCsdWarningDialogFactory,
                devicePostureController,
                devicePostureController,
                mTestableLooper.getLooper(),
                mTestableLooper.getLooper(),
@@ -433,6 +438,8 @@ public class VolumeDialogImplTest extends SysuiTestCase {


        int gravity = dialog.getWindowGravity();
        int gravity = dialog.getWindowGravity();
        assertEquals(Gravity.CENTER_VERTICAL, gravity & Gravity.VERTICAL_GRAVITY_MASK);
        assertEquals(Gravity.CENTER_VERTICAL, gravity & Gravity.VERTICAL_GRAVITY_MASK);

        cleanUp(dialog);
    }
    }


    @Test
    @Test
@@ -451,6 +458,7 @@ public class VolumeDialogImplTest extends SysuiTestCase {
                mVolumePanelFactory,
                mVolumePanelFactory,
                mActivityStarter,
                mActivityStarter,
                mInteractionJankMonitor,
                mInteractionJankMonitor,
                false,
                mCsdWarningDialogFactory,
                mCsdWarningDialogFactory,
                devicePostureController,
                devicePostureController,
                mTestableLooper.getLooper(),
                mTestableLooper.getLooper(),
@@ -469,6 +477,8 @@ public class VolumeDialogImplTest extends SysuiTestCase {


        int gravity = dialog.getWindowGravity();
        int gravity = dialog.getWindowGravity();
        assertEquals(Gravity.CENTER_VERTICAL, gravity & Gravity.VERTICAL_GRAVITY_MASK);
        assertEquals(Gravity.CENTER_VERTICAL, gravity & Gravity.VERTICAL_GRAVITY_MASK);

        cleanUp(dialog);
    }
    }


    @Test
    @Test
@@ -489,18 +499,19 @@ public class VolumeDialogImplTest extends SysuiTestCase {
                mVolumePanelFactory,
                mVolumePanelFactory,
                mActivityStarter,
                mActivityStarter,
                mInteractionJankMonitor,
                mInteractionJankMonitor,
                false,
                mCsdWarningDialogFactory,
                mCsdWarningDialogFactory,
                mPostureController,
                mPostureController,
                mTestableLooper.getLooper(),
                mTestableLooper.getLooper(),
                mDumpManager
                mDumpManager);
        );
        dialog.init(0, null);
        dialog.init(0, null);


        verify(mPostureController, never()).removeCallback(any());
        verify(mPostureController, never()).removeCallback(any());

        dialog.destroy();
        dialog.destroy();


        verify(mPostureController).removeCallback(any());
        verify(mPostureController).removeCallback(any());

        cleanUp(dialog);
    }
    }


    private void setOrientation(int orientation) {
    private void setOrientation(int orientation) {
@@ -513,14 +524,18 @@ public class VolumeDialogImplTest extends SysuiTestCase {


    @After
    @After
    public void teardown() {
    public void teardown() {
        if (mDialog != null) {
        cleanUp(mDialog);
            mDialog.clearInternalHandlerAfterTest();
        }
        setOrientation(mOriginalOrientation);
        setOrientation(mOriginalOrientation);
        mTestableLooper.processAllMessages();
        mTestableLooper.processAllMessages();
        reset(mPostureController);
        reset(mPostureController);
    }
    }


    private void cleanUp(VolumeDialogImpl dialog) {
        if (dialog != null) {
            dialog.clearInternalHandlerAfterTest();
        }
    }

/*
/*
    @Test
    @Test
    public void testContentDescriptions() {
    public void testContentDescriptions() {