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

Commit bbc48c34 authored by Matt Pietal's avatar Matt Pietal Committed by Android (Google) Code Review
Browse files

Merge "Clean up security view modes onDestroy" into main

parents 09d5eda4 e4998b11
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -195,6 +195,28 @@ public class KeyguardSecurityContainerTest extends SysuiTestCase {
        assertThat(viewFlipperConstraint.layout.bottomToBottom).isEqualTo(PARENT_ID);
    }

    @Test
    public void testUserSwitcherToOneHandedRemovesViews() {
        // Can happen when a SIM is inserted into a large screen device
        initMode(MODE_USER_SWITCHER);
        {
            View view1 = mKeyguardSecurityContainer.findViewById(
                    R.id.keyguard_bouncer_user_switcher);
            View view2 = mKeyguardSecurityContainer.findViewById(R.id.user_switcher_header);
            assertThat(view1).isNotNull();
            assertThat(view2).isNotNull();
        }

        initMode(MODE_ONE_HANDED);
        {
            View view1 = mKeyguardSecurityContainer.findViewById(
                    R.id.keyguard_bouncer_user_switcher);
            View view2 = mKeyguardSecurityContainer.findViewById(R.id.user_switcher_header);
            assertThat(view1).isNull();
            assertThat(view2).isNull();
        }
    }

    @Test
    public void updatePosition_movesKeyguard() {
        setupForUpdateKeyguardPosition(/* oneHandedMode= */ true);
+26 −1
Original line number Diff line number Diff line
@@ -968,6 +968,15 @@ public class KeyguardSecurityContainer extends ConstraintLayout {
            constraintSet.constrainWidth(mViewFlipper.getId(), MATCH_CONSTRAINT);
            constraintSet.applyTo(mView);
        }

        @Override
        public void onDestroy() {
            if (mView == null) return;
            ConstraintSet constraintSet = new ConstraintSet();
            constraintSet.clone(mView);
            constraintSet.clear(mViewFlipper.getId());
            constraintSet.applyTo(mView);
        }
    }

    /**
@@ -1043,12 +1052,20 @@ public class KeyguardSecurityContainer extends ConstraintLayout {
        @Override
        public void onDensityOrFontScaleChanged() {
            mView.removeView(mUserSwitcherViewGroup);
            mView.removeView(mUserSwitcher);
            inflateUserSwitcher();
        }

        @Override
        public void onDestroy() {
            mUserSwitcherController.removeUserSwitchCallback(mUserSwitchCallback);
            ConstraintSet constraintSet = new ConstraintSet();
            constraintSet.clone(mView);
            constraintSet.clear(mUserSwitcherViewGroup.getId());
            constraintSet.clear(mViewFlipper.getId());
            constraintSet.applyTo(mView);

            mView.removeView(mUserSwitcherViewGroup);
            mView.removeView(mUserSwitcher);
        }

        private Drawable findLargeUserIcon(int userId) {
@@ -1344,5 +1361,13 @@ public class KeyguardSecurityContainer extends ConstraintLayout {
            constraintSet.constrainPercentWidth(mViewFlipper.getId(), 0.5f);
            constraintSet.applyTo(mView);
        }

        @Override
        public void onDestroy() {
            ConstraintSet constraintSet = new ConstraintSet();
            constraintSet.clone(mView);
            constraintSet.clear(mViewFlipper.getId());
            constraintSet.applyTo(mView);
        }
    }
}