Loading packages/SystemUI/res/values/config.xml +0 −7 Original line number Diff line number Diff line Loading @@ -659,13 +659,6 @@ <!--sensorRadius --> </integer-array> <!-- The properties of the lock icon in pixels. --> <integer-array name="config_lock_icon_props"> <!-- X --> <!-- Y --> <!-- radius --> </integer-array> <!-- Overrides the behavior of the face unlock keyguard bypass setting: 0 - Don't override the setting (default) 1 - Override the setting to always bypass keyguard Loading packages/SystemUI/src/com/android/keyguard/LockIconView.java +15 −2 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.keyguard; import android.annotation.NonNull; import android.content.Context; import android.graphics.PointF; import android.graphics.RectF; Loading @@ -24,10 +23,17 @@ import android.util.AttributeSet; import android.widget.FrameLayout; import android.widget.ImageView; import androidx.annotation.NonNull; import com.android.systemui.Dumpable; import java.io.FileDescriptor; import java.io.PrintWriter; /** * A view positioned under the notification shade. */ public class LockIconView extends ImageView { public class LockIconView extends ImageView implements Dumpable { @NonNull private final RectF mSensorRect; @NonNull private PointF mLockIconCenter = new PointF(0f, 0f); private int mRadius; Loading Loading @@ -63,4 +69,11 @@ public class LockIconView extends ImageView { float getLocationTop() { return mLockIconCenter.y - mRadius; } @Override public void dump(@NonNull FileDescriptor fd, @NonNull PrintWriter pw, @NonNull String[] args) { pw.println("Center in px (x, y)= (" + mLockIconCenter.x + ", " + mLockIconCenter.y + ")"); pw.println("Radius in pixels: " + mRadius); } } packages/SystemUI/src/com/android/keyguard/LockIconViewController.java +66 −67 Original line number Diff line number Diff line Loading @@ -18,17 +18,17 @@ package com.android.keyguard; import static android.hardware.biometrics.BiometricSourceType.FINGERPRINT; import static com.android.systemui.classifier.Classifier.DISABLED_UDFPS_AFFORDANCE; import static com.android.systemui.classifier.Classifier.LOCK_ICON; import android.content.Context; import android.content.res.Configuration; import android.graphics.PointF; import android.graphics.drawable.Drawable; import android.graphics.drawable.InsetDrawable; import android.hardware.biometrics.BiometricSourceType; import android.hardware.fingerprint.FingerprintSensorPropertiesInternal; import android.util.Log; import android.util.DisplayMetrics; import android.view.View; import android.view.ViewGroup; import android.view.accessibility.AccessibilityManager; import android.view.accessibility.AccessibilityNodeInfo; Loading Loading @@ -73,15 +73,10 @@ public class LockIconViewController extends ViewController<LockIconView> impleme @NonNull private final AccessibilityManager mAccessibilityManager; @NonNull private final ConfigurationController mConfigurationController; @NonNull private final DelayableExecutor mExecutor; private boolean mHasUdfpsOrFaceAuthFeatures; private boolean mUdfpsEnrolled; private boolean mFaceAuthEnrolled; @NonNull private final Drawable mButton; @NonNull private final Drawable mUnlockIcon; @NonNull private final Drawable mLockIcon; @NonNull private final CharSequence mDisabledLabel; @NonNull private final CharSequence mUnlockedLabel; @NonNull private final CharSequence mLockedLabel; Loading @@ -95,7 +90,12 @@ public class LockIconViewController extends ViewController<LockIconView> impleme private boolean mUserUnlockedWithBiometric; private Runnable mCancelDelayedUpdateVisibilityRunnable; private boolean mShowButton; private boolean mHasUdfps; private float mHeightPixels; private float mWidthPixels; private float mDensity; private int mIndicationBottomPadding; private boolean mShowUnlockIcon; private boolean mShowLockIcon; Loading Loading @@ -125,8 +125,6 @@ public class LockIconViewController extends ViewController<LockIconView> impleme mExecutor = executor; final Context context = view.getContext(); mButton = context.getResources().getDrawable( com.android.systemui.R.drawable.circle_white, context.getTheme()); mUnlockIcon = new InsetDrawable(context.getResources().getDrawable( com.android.internal.R.drawable.ic_lock_open, context.getTheme()), context.getResources().getDimensionPixelSize( Loading @@ -135,8 +133,6 @@ public class LockIconViewController extends ViewController<LockIconView> impleme com.android.internal.R.drawable.ic_lock, context.getTheme()), context.getResources().getDimensionPixelSize( com.android.systemui.R.dimen.udfps_unlock_icon_inset)); mDisabledLabel = context.getResources().getString( R.string.accessibility_udfps_disabled_button); mUnlockedLabel = context.getResources().getString(R.string.accessibility_unlock_button); mLockedLabel = context.getResources().getString(R.string.accessibility_lock_icon); dumpManager.registerDumpable("LockIconViewController", this); Loading @@ -149,37 +145,11 @@ public class LockIconViewController extends ViewController<LockIconView> impleme @Override protected void onViewAttached() { // we check this here instead of onInit since the FingeprintManager + FaceManager may not // we check this here instead of onInit since the FingerprintManager + FaceManager may not // have started up yet onInit final boolean hasFaceAuth = mAuthController.getFaceAuthSensorLocation() != null; final boolean hasUdfps = mAuthController.getUdfpsSensorLocation() != null; mHasUdfpsOrFaceAuthFeatures = hasFaceAuth || hasUdfps; if (!mHasUdfpsOrFaceAuthFeatures) { // Posting since removing a view in the middle of onAttach can lead to a crash in the // iteration loop when the view isn't last mView.setVisibility(View.GONE); mView.post(() -> { mView.setVisibility(View.VISIBLE); ((ViewGroup) mView.getParent()).removeView(mView); }); return; } if (hasUdfps) { FingerprintSensorPropertiesInternal props = mAuthController.getUdfpsProps().get(0); mView.setLocation(new PointF(props.sensorLocationX, props.sensorLocationY), props.sensorRadius); } else { int[] props = mView.getContext().getResources().getIntArray( com.android.systemui.R.array.config_lock_icon_props); if (props == null || props.length < 3) { Log.e("LockIconViewController", "lock icon position should be " + "setup in config under config_lock_icon_props"); props = new int[]{0, 0, 0}; } mView.setLocation(new PointF(props[0], props[1]), props[2]); } mHasUdfps = mAuthController.getUdfpsSensorLocation() != null; updateConfiguration(); updateKeyguardShowing(); mUserUnlockedWithBiometric = false; mIsBouncerShowing = mKeyguardViewController.isBouncerShowing(); Loading Loading @@ -220,7 +190,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme } private boolean onAffordanceClick() { if (mFalsingManager.isFalseTouch(DISABLED_UDFPS_AFFORDANCE)) { if (mFalsingManager.isFalseTouch(LOCK_ICON)) { return false; } Loading @@ -245,32 +215,25 @@ public class LockIconViewController extends ViewController<LockIconView> impleme mCancelDelayedUpdateVisibilityRunnable = null; } if (!mIsKeyguardShowing || (!mUdfpsEnrolled && !mFaceAuthEnrolled)) { if (!mIsKeyguardShowing) { mView.setVisibility(View.INVISIBLE); return; } // these three states are mutually exclusive: mShowButton = mUdfpsEnrolled && !mCanDismissLockScreen && !mRunningFPS && !mUserUnlockedWithBiometric && isLockScreen(); mShowUnlockIcon = mFaceAuthEnrolled & mCanDismissLockScreen && isLockScreen(); mShowLockIcon = !mUdfpsEnrolled && !mCanDismissLockScreen && isLockScreen() && mFaceAuthEnrolled; mShowLockIcon = !mCanDismissLockScreen && !mUserUnlockedWithBiometric && isLockScreen() && (!mUdfpsEnrolled || !mRunningFPS); mShowUnlockIcon = mCanDismissLockScreen && isLockScreen(); updateClickListener(); final CharSequence prevContentDescription = mView.getContentDescription(); if (mShowButton) { mView.setImageDrawable(mButton); if (mShowLockIcon) { mView.setImageDrawable(mLockIcon); mView.setVisibility(View.VISIBLE); mView.setContentDescription(mDisabledLabel); mView.setContentDescription(mLockedLabel); } else if (mShowUnlockIcon) { mView.setImageDrawable(mUnlockIcon); mView.setVisibility(View.VISIBLE); mView.setContentDescription(mUnlockedLabel); } else if (mShowLockIcon) { mView.setImageDrawable(mLockIcon); mView.setVisibility(View.VISIBLE); mView.setContentDescription(mLockedLabel); } else { mView.setVisibility(View.INVISIBLE); mView.setContentDescription(null); Loading @@ -293,7 +256,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme getResources().getString(R.string.accessibility_enter_hint)); public void onInitializeAccessibilityNodeInfo(View v, AccessibilityNodeInfo info) { super.onInitializeAccessibilityNodeInfo(v, info); if (mShowButton || mShowLockIcon) { if (mShowLockIcon) { info.addAction(mAccessibilityAuthenticateHint); } else if (mShowUnlockIcon) { info.addAction(mAccessibilityEnterHint); Loading @@ -310,6 +273,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme private void updateClickListener() { if (mView != null) { if (mUdfpsEnrolled || mShowUnlockIcon) { mView.setOnClickListener(v -> onAffordanceClick()); if (mAccessibilityManager.isTouchExplorationEnabled()) { mView.setOnLongClickListener(null); Loading @@ -317,6 +281,11 @@ public class LockIconViewController extends ViewController<LockIconView> impleme } else { mView.setOnLongClickListener(v -> onAffordanceClick()); } } else { mView.setOnClickListener(null); mView.setOnLongClickListener(null); } } } Loading @@ -332,13 +301,35 @@ public class LockIconViewController extends ViewController<LockIconView> impleme mLockIcon.setTint(color); } private void updateConfiguration() { final DisplayMetrics metrics = mView.getContext().getResources().getDisplayMetrics(); mWidthPixels = metrics.widthPixels; mHeightPixels = metrics.heightPixels; mDensity = metrics.density; mIndicationBottomPadding = mView.getContext().getResources().getDimensionPixelSize( R.dimen.keyguard_indication_bottom_padding); updateLockIconLocation(); } private void updateLockIconLocation() { if (mHasUdfps) { FingerprintSensorPropertiesInternal props = mAuthController.getUdfpsProps().get(0); mView.setLocation(new PointF(props.sensorLocationX, props.sensorLocationY), props.sensorRadius); } else { final float distAboveKgBottomArea = 12 * mDensity; final float radius = 36 * mDensity; mView.setLocation( new PointF(mWidthPixels / 2, mHeightPixels - mIndicationBottomPadding - distAboveKgBottomArea - radius), (int) radius); } } @Override public void dump(@NonNull FileDescriptor fd, @NonNull PrintWriter pw, @NonNull String[] args) { pw.println("mHasUdfpsOrFaceAuthFeatures: " + mHasUdfpsOrFaceAuthFeatures); pw.println("mUdfpsEnrolled: " + mUdfpsEnrolled); pw.println("mFaceAuthEnrolled: " + mFaceAuthEnrolled); pw.println("mIsKeyguardShowing: " + mIsKeyguardShowing); pw.println(" mShowBouncerButton: " + mShowButton); pw.println(" mShowUnlockIcon: " + mShowUnlockIcon); pw.println(" mShowLockIcon: " + mShowLockIcon); pw.println(" mIsDozing: " + mIsDozing); Loading @@ -348,6 +339,10 @@ public class LockIconViewController extends ViewController<LockIconView> impleme pw.println(" mCanDismissLockScreen: " + mCanDismissLockScreen); pw.println(" mStatusBarState: " + StatusBarState.toShortString(mStatusBarState)); pw.println(" mQsExpanded: " + mQsExpanded); if (mView != null) { mView.dump(fd, pw, args); } } private StatusBarStateController.StateListener mStatusBarStateListener = Loading Loading @@ -420,7 +415,6 @@ public class LockIconViewController extends ViewController<LockIconView> impleme public void onKeyguardShowingChanged() { updateKeyguardShowing(); mUdfpsEnrolled = mKeyguardUpdateMonitor.isUdfpsEnrolled(); mFaceAuthEnrolled = mKeyguardUpdateMonitor.isFaceEnrolled(); updateVisibility(); } Loading @@ -447,6 +441,11 @@ public class LockIconViewController extends ViewController<LockIconView> impleme public void onOverlayChanged() { updateColors(); } @Override public void onConfigChanged(Configuration newConfig) { updateConfiguration(); } }; private final AccessibilityManager.TouchExplorationStateChangeListener Loading packages/SystemUI/src/com/android/systemui/classifier/Classifier.java +2 −2 Original line number Diff line number Diff line Loading @@ -41,7 +41,7 @@ public abstract class Classifier { public static final int SHADE_DRAG = 11; public static final int QS_COLLAPSE = 12; public static final int UDFPS_AUTHENTICATION = 13; public static final int DISABLED_UDFPS_AFFORDANCE = 14; public static final int LOCK_ICON = 14; public static final int QS_SWIPE = 15; public static final int BACK_GESTURE = 16; Loading @@ -61,7 +61,7 @@ public abstract class Classifier { QS_COLLAPSE, BRIGHTNESS_SLIDER, UDFPS_AUTHENTICATION, DISABLED_UDFPS_AFFORDANCE, LOCK_ICON, QS_SWIPE, BACK_GESTURE }) Loading packages/SystemUI/src/com/android/systemui/classifier/DistanceClassifier.java +1 −1 Original line number Diff line number Diff line Loading @@ -155,7 +155,7 @@ class DistanceClassifier extends FalsingClassifier { || interactionType == SHADE_DRAG || interactionType == QS_COLLAPSE || interactionType == Classifier.UDFPS_AUTHENTICATION || interactionType == Classifier.DISABLED_UDFPS_AFFORDANCE || interactionType == Classifier.LOCK_ICON || interactionType == Classifier.QS_SWIPE) { return Result.passed(0); } Loading Loading
packages/SystemUI/res/values/config.xml +0 −7 Original line number Diff line number Diff line Loading @@ -659,13 +659,6 @@ <!--sensorRadius --> </integer-array> <!-- The properties of the lock icon in pixels. --> <integer-array name="config_lock_icon_props"> <!-- X --> <!-- Y --> <!-- radius --> </integer-array> <!-- Overrides the behavior of the face unlock keyguard bypass setting: 0 - Don't override the setting (default) 1 - Override the setting to always bypass keyguard Loading
packages/SystemUI/src/com/android/keyguard/LockIconView.java +15 −2 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.keyguard; import android.annotation.NonNull; import android.content.Context; import android.graphics.PointF; import android.graphics.RectF; Loading @@ -24,10 +23,17 @@ import android.util.AttributeSet; import android.widget.FrameLayout; import android.widget.ImageView; import androidx.annotation.NonNull; import com.android.systemui.Dumpable; import java.io.FileDescriptor; import java.io.PrintWriter; /** * A view positioned under the notification shade. */ public class LockIconView extends ImageView { public class LockIconView extends ImageView implements Dumpable { @NonNull private final RectF mSensorRect; @NonNull private PointF mLockIconCenter = new PointF(0f, 0f); private int mRadius; Loading Loading @@ -63,4 +69,11 @@ public class LockIconView extends ImageView { float getLocationTop() { return mLockIconCenter.y - mRadius; } @Override public void dump(@NonNull FileDescriptor fd, @NonNull PrintWriter pw, @NonNull String[] args) { pw.println("Center in px (x, y)= (" + mLockIconCenter.x + ", " + mLockIconCenter.y + ")"); pw.println("Radius in pixels: " + mRadius); } }
packages/SystemUI/src/com/android/keyguard/LockIconViewController.java +66 −67 Original line number Diff line number Diff line Loading @@ -18,17 +18,17 @@ package com.android.keyguard; import static android.hardware.biometrics.BiometricSourceType.FINGERPRINT; import static com.android.systemui.classifier.Classifier.DISABLED_UDFPS_AFFORDANCE; import static com.android.systemui.classifier.Classifier.LOCK_ICON; import android.content.Context; import android.content.res.Configuration; import android.graphics.PointF; import android.graphics.drawable.Drawable; import android.graphics.drawable.InsetDrawable; import android.hardware.biometrics.BiometricSourceType; import android.hardware.fingerprint.FingerprintSensorPropertiesInternal; import android.util.Log; import android.util.DisplayMetrics; import android.view.View; import android.view.ViewGroup; import android.view.accessibility.AccessibilityManager; import android.view.accessibility.AccessibilityNodeInfo; Loading Loading @@ -73,15 +73,10 @@ public class LockIconViewController extends ViewController<LockIconView> impleme @NonNull private final AccessibilityManager mAccessibilityManager; @NonNull private final ConfigurationController mConfigurationController; @NonNull private final DelayableExecutor mExecutor; private boolean mHasUdfpsOrFaceAuthFeatures; private boolean mUdfpsEnrolled; private boolean mFaceAuthEnrolled; @NonNull private final Drawable mButton; @NonNull private final Drawable mUnlockIcon; @NonNull private final Drawable mLockIcon; @NonNull private final CharSequence mDisabledLabel; @NonNull private final CharSequence mUnlockedLabel; @NonNull private final CharSequence mLockedLabel; Loading @@ -95,7 +90,12 @@ public class LockIconViewController extends ViewController<LockIconView> impleme private boolean mUserUnlockedWithBiometric; private Runnable mCancelDelayedUpdateVisibilityRunnable; private boolean mShowButton; private boolean mHasUdfps; private float mHeightPixels; private float mWidthPixels; private float mDensity; private int mIndicationBottomPadding; private boolean mShowUnlockIcon; private boolean mShowLockIcon; Loading Loading @@ -125,8 +125,6 @@ public class LockIconViewController extends ViewController<LockIconView> impleme mExecutor = executor; final Context context = view.getContext(); mButton = context.getResources().getDrawable( com.android.systemui.R.drawable.circle_white, context.getTheme()); mUnlockIcon = new InsetDrawable(context.getResources().getDrawable( com.android.internal.R.drawable.ic_lock_open, context.getTheme()), context.getResources().getDimensionPixelSize( Loading @@ -135,8 +133,6 @@ public class LockIconViewController extends ViewController<LockIconView> impleme com.android.internal.R.drawable.ic_lock, context.getTheme()), context.getResources().getDimensionPixelSize( com.android.systemui.R.dimen.udfps_unlock_icon_inset)); mDisabledLabel = context.getResources().getString( R.string.accessibility_udfps_disabled_button); mUnlockedLabel = context.getResources().getString(R.string.accessibility_unlock_button); mLockedLabel = context.getResources().getString(R.string.accessibility_lock_icon); dumpManager.registerDumpable("LockIconViewController", this); Loading @@ -149,37 +145,11 @@ public class LockIconViewController extends ViewController<LockIconView> impleme @Override protected void onViewAttached() { // we check this here instead of onInit since the FingeprintManager + FaceManager may not // we check this here instead of onInit since the FingerprintManager + FaceManager may not // have started up yet onInit final boolean hasFaceAuth = mAuthController.getFaceAuthSensorLocation() != null; final boolean hasUdfps = mAuthController.getUdfpsSensorLocation() != null; mHasUdfpsOrFaceAuthFeatures = hasFaceAuth || hasUdfps; if (!mHasUdfpsOrFaceAuthFeatures) { // Posting since removing a view in the middle of onAttach can lead to a crash in the // iteration loop when the view isn't last mView.setVisibility(View.GONE); mView.post(() -> { mView.setVisibility(View.VISIBLE); ((ViewGroup) mView.getParent()).removeView(mView); }); return; } if (hasUdfps) { FingerprintSensorPropertiesInternal props = mAuthController.getUdfpsProps().get(0); mView.setLocation(new PointF(props.sensorLocationX, props.sensorLocationY), props.sensorRadius); } else { int[] props = mView.getContext().getResources().getIntArray( com.android.systemui.R.array.config_lock_icon_props); if (props == null || props.length < 3) { Log.e("LockIconViewController", "lock icon position should be " + "setup in config under config_lock_icon_props"); props = new int[]{0, 0, 0}; } mView.setLocation(new PointF(props[0], props[1]), props[2]); } mHasUdfps = mAuthController.getUdfpsSensorLocation() != null; updateConfiguration(); updateKeyguardShowing(); mUserUnlockedWithBiometric = false; mIsBouncerShowing = mKeyguardViewController.isBouncerShowing(); Loading Loading @@ -220,7 +190,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme } private boolean onAffordanceClick() { if (mFalsingManager.isFalseTouch(DISABLED_UDFPS_AFFORDANCE)) { if (mFalsingManager.isFalseTouch(LOCK_ICON)) { return false; } Loading @@ -245,32 +215,25 @@ public class LockIconViewController extends ViewController<LockIconView> impleme mCancelDelayedUpdateVisibilityRunnable = null; } if (!mIsKeyguardShowing || (!mUdfpsEnrolled && !mFaceAuthEnrolled)) { if (!mIsKeyguardShowing) { mView.setVisibility(View.INVISIBLE); return; } // these three states are mutually exclusive: mShowButton = mUdfpsEnrolled && !mCanDismissLockScreen && !mRunningFPS && !mUserUnlockedWithBiometric && isLockScreen(); mShowUnlockIcon = mFaceAuthEnrolled & mCanDismissLockScreen && isLockScreen(); mShowLockIcon = !mUdfpsEnrolled && !mCanDismissLockScreen && isLockScreen() && mFaceAuthEnrolled; mShowLockIcon = !mCanDismissLockScreen && !mUserUnlockedWithBiometric && isLockScreen() && (!mUdfpsEnrolled || !mRunningFPS); mShowUnlockIcon = mCanDismissLockScreen && isLockScreen(); updateClickListener(); final CharSequence prevContentDescription = mView.getContentDescription(); if (mShowButton) { mView.setImageDrawable(mButton); if (mShowLockIcon) { mView.setImageDrawable(mLockIcon); mView.setVisibility(View.VISIBLE); mView.setContentDescription(mDisabledLabel); mView.setContentDescription(mLockedLabel); } else if (mShowUnlockIcon) { mView.setImageDrawable(mUnlockIcon); mView.setVisibility(View.VISIBLE); mView.setContentDescription(mUnlockedLabel); } else if (mShowLockIcon) { mView.setImageDrawable(mLockIcon); mView.setVisibility(View.VISIBLE); mView.setContentDescription(mLockedLabel); } else { mView.setVisibility(View.INVISIBLE); mView.setContentDescription(null); Loading @@ -293,7 +256,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme getResources().getString(R.string.accessibility_enter_hint)); public void onInitializeAccessibilityNodeInfo(View v, AccessibilityNodeInfo info) { super.onInitializeAccessibilityNodeInfo(v, info); if (mShowButton || mShowLockIcon) { if (mShowLockIcon) { info.addAction(mAccessibilityAuthenticateHint); } else if (mShowUnlockIcon) { info.addAction(mAccessibilityEnterHint); Loading @@ -310,6 +273,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme private void updateClickListener() { if (mView != null) { if (mUdfpsEnrolled || mShowUnlockIcon) { mView.setOnClickListener(v -> onAffordanceClick()); if (mAccessibilityManager.isTouchExplorationEnabled()) { mView.setOnLongClickListener(null); Loading @@ -317,6 +281,11 @@ public class LockIconViewController extends ViewController<LockIconView> impleme } else { mView.setOnLongClickListener(v -> onAffordanceClick()); } } else { mView.setOnClickListener(null); mView.setOnLongClickListener(null); } } } Loading @@ -332,13 +301,35 @@ public class LockIconViewController extends ViewController<LockIconView> impleme mLockIcon.setTint(color); } private void updateConfiguration() { final DisplayMetrics metrics = mView.getContext().getResources().getDisplayMetrics(); mWidthPixels = metrics.widthPixels; mHeightPixels = metrics.heightPixels; mDensity = metrics.density; mIndicationBottomPadding = mView.getContext().getResources().getDimensionPixelSize( R.dimen.keyguard_indication_bottom_padding); updateLockIconLocation(); } private void updateLockIconLocation() { if (mHasUdfps) { FingerprintSensorPropertiesInternal props = mAuthController.getUdfpsProps().get(0); mView.setLocation(new PointF(props.sensorLocationX, props.sensorLocationY), props.sensorRadius); } else { final float distAboveKgBottomArea = 12 * mDensity; final float radius = 36 * mDensity; mView.setLocation( new PointF(mWidthPixels / 2, mHeightPixels - mIndicationBottomPadding - distAboveKgBottomArea - radius), (int) radius); } } @Override public void dump(@NonNull FileDescriptor fd, @NonNull PrintWriter pw, @NonNull String[] args) { pw.println("mHasUdfpsOrFaceAuthFeatures: " + mHasUdfpsOrFaceAuthFeatures); pw.println("mUdfpsEnrolled: " + mUdfpsEnrolled); pw.println("mFaceAuthEnrolled: " + mFaceAuthEnrolled); pw.println("mIsKeyguardShowing: " + mIsKeyguardShowing); pw.println(" mShowBouncerButton: " + mShowButton); pw.println(" mShowUnlockIcon: " + mShowUnlockIcon); pw.println(" mShowLockIcon: " + mShowLockIcon); pw.println(" mIsDozing: " + mIsDozing); Loading @@ -348,6 +339,10 @@ public class LockIconViewController extends ViewController<LockIconView> impleme pw.println(" mCanDismissLockScreen: " + mCanDismissLockScreen); pw.println(" mStatusBarState: " + StatusBarState.toShortString(mStatusBarState)); pw.println(" mQsExpanded: " + mQsExpanded); if (mView != null) { mView.dump(fd, pw, args); } } private StatusBarStateController.StateListener mStatusBarStateListener = Loading Loading @@ -420,7 +415,6 @@ public class LockIconViewController extends ViewController<LockIconView> impleme public void onKeyguardShowingChanged() { updateKeyguardShowing(); mUdfpsEnrolled = mKeyguardUpdateMonitor.isUdfpsEnrolled(); mFaceAuthEnrolled = mKeyguardUpdateMonitor.isFaceEnrolled(); updateVisibility(); } Loading @@ -447,6 +441,11 @@ public class LockIconViewController extends ViewController<LockIconView> impleme public void onOverlayChanged() { updateColors(); } @Override public void onConfigChanged(Configuration newConfig) { updateConfiguration(); } }; private final AccessibilityManager.TouchExplorationStateChangeListener Loading
packages/SystemUI/src/com/android/systemui/classifier/Classifier.java +2 −2 Original line number Diff line number Diff line Loading @@ -41,7 +41,7 @@ public abstract class Classifier { public static final int SHADE_DRAG = 11; public static final int QS_COLLAPSE = 12; public static final int UDFPS_AUTHENTICATION = 13; public static final int DISABLED_UDFPS_AFFORDANCE = 14; public static final int LOCK_ICON = 14; public static final int QS_SWIPE = 15; public static final int BACK_GESTURE = 16; Loading @@ -61,7 +61,7 @@ public abstract class Classifier { QS_COLLAPSE, BRIGHTNESS_SLIDER, UDFPS_AUTHENTICATION, DISABLED_UDFPS_AFFORDANCE, LOCK_ICON, QS_SWIPE, BACK_GESTURE }) Loading
packages/SystemUI/src/com/android/systemui/classifier/DistanceClassifier.java +1 −1 Original line number Diff line number Diff line Loading @@ -155,7 +155,7 @@ class DistanceClassifier extends FalsingClassifier { || interactionType == SHADE_DRAG || interactionType == QS_COLLAPSE || interactionType == Classifier.UDFPS_AUTHENTICATION || interactionType == Classifier.DISABLED_UDFPS_AFFORDANCE || interactionType == Classifier.LOCK_ICON || interactionType == Classifier.QS_SWIPE) { return Result.passed(0); } Loading