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

Commit a92006ef authored by Jorim Jaggi's avatar Jorim Jaggi Committed by Android (Google) Code Review
Browse files

Merge "Reload state when user unlocks" into nyc-mr1-dev

parents 80f15e3b dadafd41
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.keyguard;

import static android.content.Intent.ACTION_USER_UNLOCKED;
import static android.os.BatteryManager.BATTERY_HEALTH_UNKNOWN;
import static android.os.BatteryManager.BATTERY_STATUS_FULL;
import static android.os.BatteryManager.BATTERY_STATUS_UNKNOWN;
@@ -136,6 +137,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
    private static final int MSG_SCREEN_TURNED_ON = 331;
    private static final int MSG_SCREEN_TURNED_OFF = 332;
    private static final int MSG_DREAMING_STATE_CHANGED = 333;
    private static final int MSG_USER_UNLOCKED = 334;

    /** Fingerprint state: Not listening to fingerprint. */
    private static final int FINGERPRINT_STATE_STOPPED = 0;
@@ -291,6 +293,9 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
                case MSG_DREAMING_STATE_CHANGED:
                    handleDreamingStateChanged(msg.arg1);
                    break;
                case MSG_USER_UNLOCKED:
                    handleUserUnlocked();
                    break;
            }
        }
    };
@@ -723,6 +728,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
            } else if (DevicePolicyManager.ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED
                    .equals(action)) {
                mHandler.sendEmptyMessage(MSG_DPM_STATE_CHANGED);
            } else if (ACTION_USER_UNLOCKED.equals(action)) {
                mHandler.sendEmptyMessage(MSG_USER_UNLOCKED);
            }
        }
    };
@@ -1025,6 +1032,16 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
        }
    }

    private void handleUserUnlocked() {
        mNeedsSlowUnlockTransition = resolveNeedsSlowUnlockTransition();
        for (int i = 0; i < mCallbacks.size(); i++) {
            KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get();
            if (cb != null) {
                cb.onUserUnlocked();
            }
        }
    }

    private KeyguardUpdateMonitor(Context context) {
        mContext = context;
        mSubscriptionManager = SubscriptionManager.from(context);
@@ -1065,6 +1082,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
        allUserFilter.addAction(ACTION_FACE_UNLOCK_STARTED);
        allUserFilter.addAction(ACTION_FACE_UNLOCK_STOPPED);
        allUserFilter.addAction(DevicePolicyManager.ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED);
        allUserFilter.addAction(ACTION_USER_UNLOCKED);
        context.registerReceiverAsUser(mBroadcastAllReceiver, UserHandle.ALL, allUserFilter,
                null, null);

+5 −0
Original line number Diff line number Diff line
@@ -127,6 +127,11 @@ public class KeyguardUpdateMonitorCallback {
     */
    public void onUserInfoChanged(int userId) { }

    /**
     * Called when a user got unlocked.
     */
    public void onUserUnlocked() { }

    /**
     * Called when boot completed.
     *
+3 −6
Original line number Diff line number Diff line
@@ -95,8 +95,6 @@ public class KeyguardIndicationController {
        KeyguardUpdateMonitor.getInstance(context).registerCallback(mUpdateMonitor);
        context.registerReceiverAsUser(mTickReceiver, UserHandle.SYSTEM,
                new IntentFilter(Intent.ACTION_TIME_TICK), null, null);
        context.registerReceiverAsUser(mUnlockReceiver, UserHandle.ALL,
                new IntentFilter(Intent.ACTION_USER_UNLOCKED), null, null);
    }

    public void setVisible(boolean visible) {
@@ -322,18 +320,16 @@ public class KeyguardIndicationController {
            super.onFingerprintAuthFailed();
            mLastSuccessiveErrorMessage = -1;
        }
    };

    BroadcastReceiver mTickReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
        public void onUserUnlocked() {
            if (mVisible) {
                updateIndication();
            }
        }
    };

    BroadcastReceiver mUnlockReceiver = new BroadcastReceiver() {
    BroadcastReceiver mTickReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            if (mVisible) {
@@ -342,6 +338,7 @@ public class KeyguardIndicationController {
        }
    };


    private final Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
+18 −0
Original line number Diff line number Diff line
@@ -111,6 +111,7 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
    private KeyguardIndicationController mIndicationController;
    private AccessibilityController mAccessibilityController;
    private PhoneStatusBar mPhoneStatusBar;
    private KeyguardAffordanceHelper mAffordanceHelper;

    private boolean mUserSetupComplete;
    private boolean mPrewarmBound;
@@ -271,6 +272,10 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
        updateCameraVisibility(); // in case onFinishInflate() was called too early
    }

    public void setAffordanceHelper(KeyguardAffordanceHelper affordanceHelper) {
        mAffordanceHelper = affordanceHelper;
    }

    public void setUserSetupComplete(boolean userSetupComplete) {
        mUserSetupComplete = userSetupComplete;
        updateCameraVisibility();
@@ -601,6 +606,9 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
            mPreviewContainer.addView(mCameraPreview);
            mCameraPreview.setVisibility(visibleBefore ? View.VISIBLE : View.INVISIBLE);
        }
        if (mAffordanceHelper != null) {
            mAffordanceHelper.updatePreviews();
        }
    }

    private void updateLeftPreview() {
@@ -618,6 +626,9 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
            mPreviewContainer.addView(mLeftPreview);
            mLeftPreview.setVisibility(View.INVISIBLE);
        }
        if (mAffordanceHelper != null) {
            mAffordanceHelper.updatePreviews();
        }
    }

    public void startFinishDozeAnimation() {
@@ -702,6 +713,13 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
        public void onStrongAuthStateChanged(int userId) {
            mLockIcon.update();
        }

        @Override
        public void onUserUnlocked() {
            inflateCameraPreview();
            updateCameraVisibility();
            updateLeftAffordance();
        }
    };

    public void setKeyguardIndicationController(
+1 −1
Original line number Diff line number Diff line
@@ -233,6 +233,7 @@ public class NotificationPanelView extends PanelView implements
        mKeyguardBottomArea = (KeyguardBottomAreaView) findViewById(R.id.keyguard_bottom_area);
        mQsNavbarScrim = findViewById(R.id.qs_navbar_scrim);
        mAfforanceHelper = new KeyguardAffordanceHelper(this, getContext());
        mKeyguardBottomArea.setAffordanceHelper(mAfforanceHelper);
        mLastOrientation = getResources().getConfiguration().orientation;

        mQsAutoReinflateContainer =
@@ -1016,7 +1017,6 @@ public class NotificationPanelView extends PanelView implements
            mKeyguardStatusBar.setVisibility(keyguardShowing ? View.VISIBLE : View.INVISIBLE);
            if (keyguardShowing && oldState != mStatusBarState) {
                mKeyguardBottomArea.onKeyguardShowingChanged();
                mAfforanceHelper.updatePreviews();
            }
        }
        if (keyguardShowing) {