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

Commit 55ee914a authored by Lucas Dupin's avatar Lucas Dupin Committed by Android (Google) Code Review
Browse files

Merge "Update lock icon when necessary"

parents ff002f54 27321c4a
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -157,6 +157,10 @@ public class KeyguardHostView extends FrameLayout implements SecurityCallback {
        mSecurityContainer.showPrimarySecurityScreen(false);
    }

    public KeyguardSecurityView getCurrentSecurityView() {
        return mSecurityContainer != null ? mSecurityContainer.getCurrentSecurityView() : null;
    }

    /**
     * Show a string explaining why the security view needs to be solved.
     *
+6 −0
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe
    private KeyguardSecurityViewFlipper mSecurityViewFlipper;
    private boolean mIsVerifyUnlockOnly;
    private SecurityMode mCurrentSecuritySelection = SecurityMode.Invalid;
    private KeyguardSecurityView mCurrentSecurityView;
    private SecurityCallback mSecurityCallback;
    private AlertDialog mAlertDialog;

@@ -405,6 +406,7 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe
        }

        mCurrentSecuritySelection = securityMode;
        mCurrentSecurityView = newView;
        mSecurityCallback.onSecurityModeChanged(securityMode,
                securityMode != SecurityMode.None && newView.needsInput());
    }
@@ -506,6 +508,10 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe
        return mCurrentSecuritySelection;
    }

    public KeyguardSecurityView getCurrentSecurityView() {
        return mCurrentSecurityView;
    }

    public void verifyUnlock() {
        mIsVerifyUnlockOnly = true;
        showSecurityScreen(getSecurityMode());
+14 −4
Original line number Diff line number Diff line
@@ -137,7 +137,7 @@ public class KeyguardBouncer {
        if (resetSecuritySelection) {
            // showPrimarySecurityScreen() updates the current security method. This is needed in
            // case we are already showing and the current security method changed.
            mKeyguardView.showPrimarySecurityScreen();
            showPrimarySecurityScreen();
        }
        if (mRoot.getVisibility() == View.VISIBLE || mShowingSoon) {
            return;
@@ -344,11 +344,20 @@ public class KeyguardBouncer {
        boolean wasInitialized = mRoot != null;
        ensureView();
        if (wasInitialized) {
            mKeyguardView.showPrimarySecurityScreen();
            showPrimarySecurityScreen();
        }
        mBouncerPromptReason = mCallback.getBouncerPromptReason();
    }

    private void showPrimarySecurityScreen() {
        mKeyguardView.showPrimarySecurityScreen();
        KeyguardSecurityView keyguardSecurityView = mKeyguardView.getCurrentSecurityView();
        if (keyguardSecurityView != null) {
            mLockIconContainer = ((ViewGroup) keyguardSecurityView)
                    .findViewById(R.id.lock_icon_container);
        }
    }

    /**
     * Current notification panel expansion
     * @param fraction 0 when notification panel is collapsed and 1 when expanded.
@@ -406,7 +415,6 @@ public class KeyguardBouncer {
        removeView();
        mHandler.removeCallbacks(mRemoveViewRunnable);
        mRoot = (ViewGroup) LayoutInflater.from(mContext).inflate(R.layout.keyguard_bouncer, null);
        mLockIconContainer = mRoot.findViewById(R.id.lock_icon_container);
        mKeyguardView = mRoot.findViewById(R.id.keyguard_host_view);
        mKeyguardView.setLockPatternUtils(mLockPatternUtils);
        mKeyguardView.setViewMediatorCallback(mCallback);
@@ -414,6 +422,8 @@ public class KeyguardBouncer {
        mStatusBarHeight = mRoot.getResources().getDimensionPixelOffset(
                com.android.systemui.R.dimen.status_bar_height);
        mRoot.setVisibility(View.INVISIBLE);
        mRoot.addOnLayoutChangeListener((v, left, top, right, bottom, oldLeft, oldTop, oldRight,
                oldBottom) -> mExpansionCallback.onLayout());
        mRoot.setAccessibilityPaneTitle(mKeyguardView.getAccessibilityTitleForCurrentMode());

        final WindowInsets rootInsets = mRoot.getRootWindowInsets();
@@ -426,7 +436,6 @@ public class KeyguardBouncer {
        if (mRoot != null && mRoot.getParent() == mContainer) {
            mContainer.removeView(mRoot);
            mRoot = null;
            mLockIconContainer = null;
        }
    }

@@ -495,5 +504,6 @@ public class KeyguardBouncer {
        void onFullyShown();
        void onStartingToHide();
        void onFullyHidden();
        void onLayout();
    }
}
+5 −0
Original line number Diff line number Diff line
@@ -97,6 +97,11 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
        public void onFullyHidden() {
            updateStates();
        }

        @Override
        public void onLayout() {
            mNotificationPanelView.updateLockIcon();
        }
    };

    protected LockPatternUtils mLockPatternUtils;