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

Commit 1a110159 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix bouncer inflation race condition" into main

parents fabd0108 ef503de1
Loading
Loading
Loading
Loading
+9 −11
Original line number Diff line number Diff line
@@ -105,6 +105,7 @@ import org.mockito.Mockito.atLeastOnce
import org.mockito.Mockito.clearInvocations
import org.mockito.Mockito.mock
import org.mockito.Mockito.never
import org.mockito.Mockito.reset
import org.mockito.Mockito.spy
import org.mockito.Mockito.verify
import org.mockito.MockitoAnnotations
@@ -542,6 +543,7 @@ class KeyguardSecurityContainerControllerTest : SysuiTestCase() {
        // THEN the next security method of None will dismiss keyguard.
        verify(viewMediatorCallback, never()).keyguardDone(anyInt())
    }

    @Test
    fun showNextSecurityScreenOrFinish_SimPin_Swipe_userNotSetup() {
        // GIVEN the current security method is SimPin
@@ -635,14 +637,6 @@ class KeyguardSecurityContainerControllerTest : SysuiTestCase() {
        verify(configurationController).addCallback(configurationListenerArgumentCaptor.capture())
        clearInvocations(viewFlipperController)
        configurationListenerArgumentCaptor.value.onDensityOrFontScaleChanged()
        verify(viewFlipperController).clearViews()
        verify(viewFlipperController)
            .asynchronouslyInflateView(
                eq(SecurityMode.PIN),
                any(),
                onViewInflatedCallbackArgumentCaptor.capture()
            )
        onViewInflatedCallbackArgumentCaptor.value.onViewInflated(inputViewController)
        verify(view).onDensityOrFontScaleChanged()
    }

@@ -771,7 +765,9 @@ class KeyguardSecurityContainerControllerTest : SysuiTestCase() {
        underTest.reinflateViewFlipper(onViewInflatedCallback)
        verify(viewFlipperController).clearViews()
        verify(viewFlipperController)
            .asynchronouslyInflateView(any(), any(), eq(onViewInflatedCallback))
            .asynchronouslyInflateView(any(), any(), onViewInflatedCallbackArgumentCaptor.capture())
        onViewInflatedCallbackArgumentCaptor.value.onViewInflated(inputViewController)
        verify(view).updateSecurityViewFlipper()
    }

    @Test
@@ -935,8 +931,10 @@ class KeyguardSecurityContainerControllerTest : SysuiTestCase() {
        underTest.onViewAttached()
        verify(userSwitcherController)
            .addUserSwitchCallback(capture(userSwitchCallbackArgumentCaptor))
        reset(primaryBouncerInteractor)
        userSwitchCallbackArgumentCaptor.value.onUserSwitched()
        verify(viewFlipperController).asynchronouslyInflateView(any(), any(), any())

        verify(primaryBouncerInteractor).setLastShownPrimarySecurityScreen(any())
    }

    @Test
+7 −2
Original line number Diff line number Diff line
@@ -647,7 +647,12 @@ public class KeyguardSecurityContainer extends ConstraintLayout {
    @Override
    public void onFinishInflate() {
        super.onFinishInflate();
        updateSecurityViewFlipper();
    }

    protected void updateSecurityViewFlipper() {
        mSecurityViewFlipper = findViewById(R.id.view_flipper);
        setupViewMode();
    }

    @Override
@@ -1004,11 +1009,11 @@ public class KeyguardSecurityContainer extends ConstraintLayout {

            if (mUserSwitcherViewGroup == null) {
                inflateUserSwitcher();
            }
            updateSecurityViewLocation();
                setupUserSwitcher();
                mUserSwitcherController.addUserSwitchCallback(mUserSwitchCallback);
            }
            updateSecurityViewLocation();
        }

        @Override
        public void reset() {
+5 −13
Original line number Diff line number Diff line
@@ -164,11 +164,6 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
                    }
                    mCurrentUser = mSelectedUserInteractor.getSelectedUserId();
                    showPrimarySecurityScreen(false);
                    if (mCurrentSecurityMode != SimPin
                            && mCurrentSecurityMode != SimPuk) {
                        reinflateViewFlipper((l) -> {
                        });
                    }
                }
            };

@@ -375,8 +370,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard

                @Override
                public void onDensityOrFontScaleChanged() {
                    KeyguardSecurityContainerController.this
                            .onDensityOrFontScaleOrOrientationChanged();
                    mView.onDensityOrFontScaleChanged();
                }

                @Override
@@ -1227,11 +1221,6 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
        mView.reloadColors();
    }

    /** Handles density or font scale changes. */
    private void onDensityOrFontScaleOrOrientationChanged() {
        reinflateViewFlipper(controller -> mView.onDensityOrFontScaleChanged());
    }

    /**
     * Reinflate the view flipper child view.
     */
@@ -1239,7 +1228,10 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
            KeyguardSecurityViewFlipperController.OnViewInflatedCallback onViewInflatedListener) {
        mSecurityViewFlipperController.clearViews();
        mSecurityViewFlipperController.asynchronouslyInflateView(mCurrentSecurityMode,
                mKeyguardSecurityCallback, onViewInflatedListener);
                mKeyguardSecurityCallback, (controller) -> {
                mView.updateSecurityViewFlipper();
                onViewInflatedListener.onViewInflated(controller);
            });
    }

    /**