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

Commit 3599322f authored by Beverly Tai's avatar Beverly Tai Committed by Automerger Merge Worker
Browse files

Merge "Update co-ex error logic" into sc-dev am: 1593d6a8 am: 24a93078

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

Change-Id: Ib12a0fcb4d10c6e6a746cdcdffcc9fca0fd171c3
parents e51a2f8e 24a93078
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -189,7 +189,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
        @Override
        public void onSwipeUp() {
            if (!mUpdateMonitor.isFaceDetectionRunning()) {
                mUpdateMonitor.requestFaceAuth();
                mUpdateMonitor.requestFaceAuth(true);
                mKeyguardSecurityCallback.userActivity();
                showMessage(null, null);
            }
+10 −2
Original line number Diff line number Diff line
@@ -315,6 +315,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
    private RingerModeTracker mRingerModeTracker;
    private int mFingerprintRunningState = BIOMETRIC_STATE_STOPPED;
    private int mFaceRunningState = BIOMETRIC_STATE_STOPPED;
    private boolean mIsFaceAuthUserRequested;
    private LockPatternUtils mLockPatternUtils;
    private final IDreamManager mDreamManager;
    private boolean mIsDreaming;
@@ -2111,12 +2112,18 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
    /**
     * Requests face authentication if we're on a state where it's allowed.
     * This will re-trigger auth in case it fails.
     * @param userInitiatedRequest true if the user explicitly requested face auth
     */
    public void requestFaceAuth() {
        if (DEBUG) Log.d(TAG, "requestFaceAuth()");
    public void requestFaceAuth(boolean userInitiatedRequest) {
        if (DEBUG) Log.d(TAG, "requestFaceAuth() userInitiated=" + userInitiatedRequest);
        mIsFaceAuthUserRequested |= userInitiatedRequest;
        updateFaceListeningState();
    }

    public boolean isFaceAuthUserRequested() {
        return mIsFaceAuthUserRequested;
    }

    /**
     * In case face auth is running, cancel it.
     */
@@ -2133,6 +2140,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
        mHandler.removeCallbacks(mRetryFaceAuthentication);
        boolean shouldListenForFace = shouldListenForFace();
        if (mFaceRunningState == BIOMETRIC_STATE_RUNNING && !shouldListenForFace) {
            mIsFaceAuthUserRequested = false;
            stopListeningForFace();
        } else if (mFaceRunningState != BIOMETRIC_STATE_RUNNING && shouldListenForFace) {
            startListeningForFace();
+1 −6
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ import android.widget.ProgressBar;
import android.widget.TextView;

import com.android.internal.R;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.settingslib.Utils;
import com.android.systemui.plugins.GlobalActions;
import com.android.systemui.scrim.ScrimDrawable;
@@ -51,7 +50,6 @@ public class GlobalActionsImpl implements GlobalActions, CommandQueue.Callbacks
    private final KeyguardStateController mKeyguardStateController;
    private final DeviceProvisionedController mDeviceProvisionedController;
    private final BlurUtils mBlurUtils;
    private final KeyguardUpdateMonitor mKeyguardUpdateMonitor;
    private final CommandQueue mCommandQueue;
    private GlobalActionsDialogLite mGlobalActionsDialog;
    private boolean mDisabled;
@@ -60,15 +58,13 @@ public class GlobalActionsImpl implements GlobalActions, CommandQueue.Callbacks
    public GlobalActionsImpl(Context context, CommandQueue commandQueue,
            Lazy<GlobalActionsDialogLite> globalActionsDialogLazy, BlurUtils blurUtils,
            KeyguardStateController keyguardStateController,
            DeviceProvisionedController deviceProvisionedController,
            KeyguardUpdateMonitor keyguardUpdateMonitor) {
            DeviceProvisionedController deviceProvisionedController) {
        mContext = context;
        mGlobalActionsDialogLazy = globalActionsDialogLazy;
        mKeyguardStateController = keyguardStateController;
        mDeviceProvisionedController = deviceProvisionedController;
        mCommandQueue = commandQueue;
        mBlurUtils = blurUtils;
        mKeyguardUpdateMonitor = keyguardUpdateMonitor;
        mCommandQueue.addCallback(this);
    }

@@ -87,7 +83,6 @@ public class GlobalActionsImpl implements GlobalActions, CommandQueue.Callbacks
        mGlobalActionsDialog = mGlobalActionsDialogLazy.get();
        mGlobalActionsDialog.showOrHideDialog(mKeyguardStateController.isShowing(),
                mDeviceProvisionedController.isDeviceProvisioned());
        mKeyguardUpdateMonitor.requestFaceAuth();
    }

    @Override
+26 −2
Original line number Diff line number Diff line
@@ -40,18 +40,22 @@ public class KeyguardIndication {
    private final View.OnClickListener mOnClickListener;
    @Nullable
    private final Drawable mBackground;
    @Nullable
    private final Long mMinVisibilityMillis; // in milliseconds

    private KeyguardIndication(
            CharSequence message,
            ColorStateList textColor,
            Drawable icon,
            View.OnClickListener onClickListener,
            Drawable background) {
            Drawable background,
            Long minVisibilityMillis) {
        mMessage = message;
        mTextColor = textColor;
        mIcon = icon;
        mOnClickListener = onClickListener;
        mBackground = background;
        mMinVisibilityMillis = minVisibilityMillis;
    }

    /**
@@ -89,6 +93,14 @@ public class KeyguardIndication {
        return mBackground;
    }

    /**
     * Minimum time to show text in milliseconds.
     * @return null if unspecified
     */
    public @Nullable Long getMinVisibilityMillis() {
        return mMinVisibilityMillis;
    }

    @Override
    public String toString() {
        String str = "KeyguardIndication{";
@@ -96,6 +108,7 @@ public class KeyguardIndication {
        if (mIcon != null) str += " mIcon=" + mIcon;
        if (mOnClickListener != null) str += " mOnClickListener=" + mOnClickListener;
        if (mBackground != null) str += " mBackground=" + mBackground;
        if (mMinVisibilityMillis != null) str += " mMinVisibilityMillis=" + mMinVisibilityMillis;
        str += "}";
        return str;
    }
@@ -109,6 +122,7 @@ public class KeyguardIndication {
        private View.OnClickListener mOnClickListener;
        private ColorStateList mTextColor;
        private Drawable mBackground;
        private Long mMinVisibilityMillis;

        public Builder() { }

@@ -154,6 +168,15 @@ public class KeyguardIndication {
            return this;
        }

        /**
         * Optional. Set a required minimum visibility time in milliseconds for the text
         * to show.
         */
        public Builder setMinVisibilityMillis(Long minVisibilityMillis) {
            this.mMinVisibilityMillis = minVisibilityMillis;
            return this;
        }

        /**
         * Build the KeyguardIndication.
         */
@@ -166,7 +189,8 @@ public class KeyguardIndication {
            }

            return new KeyguardIndication(
                    mMessage, mTextColor, mIcon, mOnClickListener, mBackground);
                    mMessage, mTextColor, mIcon, mOnClickListener, mBackground,
                    mMinVisibilityMillis);
        }
    }
}
+2 −0
Original line number Diff line number Diff line
@@ -167,12 +167,14 @@ public class KeyguardIndicationRotateTextViewController extends
     * - can be presented with an "error" color if isError is true
     */
    public void showTransient(CharSequence newIndication, boolean isError) {
        final long inAnimationDuration = 600L; // see KeyguardIndicationTextView.getYInDuration
        updateIndication(INDICATION_TYPE_TRANSIENT,
                new KeyguardIndication.Builder()
                        .setMessage(newIndication)
                        .setTextColor(isError
                                ? Utils.getColorError(getContext())
                                : mInitialTextColorState)
                        .setMinVisibilityMillis(2000L + inAnimationDuration)
                        .build(),
                /* showImmediately */true);
    }
Loading