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

Commit 9277321f authored by Aaron Liu's avatar Aaron Liu Committed by Automerger Merge Worker
Browse files

Merge "Revert "Destroy and reinflate bouncer before showing"" into tm-qpr-dev...

Merge "Revert "Destroy and reinflate bouncer before showing"" into tm-qpr-dev am: c573766a am: 48247597

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21403775



Change-Id: I9d3ac2e094a193744a00c1896012cd582b944276
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents efa29460 48247597
Loading
Loading
Loading
Loading
+17 −16
Original line number Diff line number Diff line
@@ -202,11 +202,8 @@ public class KeyguardHostViewController extends ViewController<KeyguardHostView>
        mKeyguardSecurityContainerController.onPause();
    }

    /**
     * Reinflate the view flipper child view.
     */
    public void reinflateViewFlipper() {
        mKeyguardSecurityContainerController.reinflateViewFlipper();
    public void resetSecurityContainer() {
        mKeyguardSecurityContainerController.reset();
    }

    /**
@@ -235,9 +232,12 @@ public class KeyguardHostViewController extends ViewController<KeyguardHostView>
    /**
     * Starts the animation when the Keyguard gets shown.
     */
    public void appear() {
    public void appear(int statusBarHeight) {
        // We might still be collapsed and the view didn't have time to layout yet or still
        // be small, let's wait on the predraw to do the animation in that case.
        if (mView.getHeight() != 0 && mView.getHeight() != statusBarHeight) {
            mKeyguardSecurityContainerController.startAppearAnimation();
        } else {
            mView.getViewTreeObserver().addOnPreDrawListener(
                    new ViewTreeObserver.OnPreDrawListener() {
                        @Override
@@ -249,6 +249,7 @@ public class KeyguardHostViewController extends ViewController<KeyguardHostView>
                    });
            mView.requestLayout();
        }
    }

    /**
     * Show a string explaining why the security view needs to be solved.
+3 −6
Original line number Diff line number Diff line
@@ -744,20 +744,17 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
    }

    private void reloadColors() {
        reinflateViewFlipper();
        resetViewFlipper();
        mView.reloadColors();
    }

    /** Handles density or font scale changes. */
    private void onDensityOrFontScaleChanged() {
        reinflateViewFlipper();
        resetViewFlipper();
        mView.onDensityOrFontScaleChanged();
    }

    /**
     * Reinflate the view flipper child view.
     */
    public void reinflateViewFlipper() {
    private void resetViewFlipper() {
        mSecurityViewFlipperController.clearViews();
        mSecurityViewFlipperController.getSecurityView(mCurrentSecurityMode,
                mKeyguardSecurityCallback);
+14 −3
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.view.ViewGroup
import android.window.OnBackAnimationCallback
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.repeatOnLifecycle
import com.android.internal.policy.SystemBarUtils
import com.android.keyguard.KeyguardHostViewController
import com.android.keyguard.KeyguardSecurityModel
import com.android.keyguard.KeyguardUpdateMonitor
@@ -97,14 +98,14 @@ object KeyguardBouncerViewBinder {
                    viewModel.setBouncerViewDelegate(delegate)
                    launch {
                        viewModel.show.collect {
                            // Reset Security Container entirely.
                            hostViewController.reinflateViewFlipper()
                            hostViewController.showPromptReason(it.promptReason)
                            it.errorMessage?.let { errorMessage ->
                                hostViewController.showErrorMessage(errorMessage)
                            }
                            hostViewController.showPrimarySecurityScreen()
                            hostViewController.appear()
                            hostViewController.appear(
                                SystemBarUtils.getStatusBarHeight(view.context)
                            )
                            hostViewController.onResume()
                        }
                    }
@@ -113,6 +114,7 @@ object KeyguardBouncerViewBinder {
                        viewModel.hide.collect {
                            hostViewController.cancelDismissAction()
                            hostViewController.cleanUp()
                            hostViewController.resetSecurityContainer()
                        }
                    }

@@ -157,6 +159,15 @@ object KeyguardBouncerViewBinder {
                        }
                    }

                    launch {
                        viewModel.isBouncerVisible
                            .filter { !it }
                            .collect {
                                // Remove existing input for security reasons.
                                hostViewController.resetSecurityContainer()
                            }
                    }

                    launch {
                        viewModel.keyguardPosition.collect { position ->
                            hostViewController.updateKeyguardPosition(position)
+0 −8
Original line number Diff line number Diff line
@@ -602,14 +602,6 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase {
                any(KeyguardSecurityCallback.class));
    }

    @Test
    public void testReinflateViewFlipper() {
        mKeyguardSecurityContainerController.reinflateViewFlipper();
        verify(mKeyguardSecurityViewFlipperController).clearViews();
        verify(mKeyguardSecurityViewFlipperController).getSecurityView(any(SecurityMode.class),
                any(KeyguardSecurityCallback.class));
    }

    private KeyguardSecurityContainer.SwipeListener getRegisteredSwipeListener() {
        mKeyguardSecurityContainerController.onViewAttached();
        verify(mView).setSwipeListener(mSwipeListenerArgumentCaptor.capture());