diff options
author | Matt Pietal <mpietal@google.com> | 2021-09-23 10:18:41 -0400 |
---|---|---|
committer | Matt Pietal <mpietal@google.com> | 2021-09-23 15:16:24 +0000 |
commit | ddfb4df1a83d6e51e23177790f0b0ecae207f764 (patch) | |
tree | 99896fc7f12930edc5fb074fa37f8dff73b37175 /packages/SystemUI/src | |
parent | 38c00180bcfd4e2faeb0b183806a6c15a8c28a3f (diff) |
[DO NOT MERGE] Only show lock icon background with UDFPS
Otherwise the background should remain hidden (View.GONE) for devices
without the UDFPS sensor.
Fixes: 200813382
Test: atest LockIconViewControllerTest
Change-Id: I1ef3cef37de60e6968432869f4c946b6de414db4
Diffstat (limited to 'packages/SystemUI/src')
-rw-r--r-- | packages/SystemUI/src/com/android/keyguard/LockIconView.java | 16 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/keyguard/LockIconViewController.java | 4 |
2 files changed, 17 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/LockIconView.java b/packages/SystemUI/src/com/android/keyguard/LockIconView.java index 371564a98aad..ef4353b93179 100644 --- a/packages/SystemUI/src/com/android/keyguard/LockIconView.java +++ b/packages/SystemUI/src/com/android/keyguard/LockIconView.java @@ -48,6 +48,7 @@ public class LockIconView extends FrameLayout implements Dumpable { private ImageView mBgView; private int mLockIconColor; + private boolean mUseBackground = false; public LockIconView(Context context, AttributeSet attrs) { super(context, attrs); @@ -61,8 +62,8 @@ public class LockIconView extends FrameLayout implements Dumpable { mBgView = findViewById(R.id.lock_icon_bg); } - void updateColorAndBackgroundVisibility(boolean useBackground) { - if (useBackground && mLockIcon.getDrawable() != null) { + void updateColorAndBackgroundVisibility() { + if (mUseBackground && mLockIcon.getDrawable() != null) { mLockIconColor = Utils.getColorAttrDefaultColor(getContext(), android.R.attr.textColorPrimary); mBgView.setBackground(getContext().getDrawable(R.drawable.fingerprint_bg)); @@ -78,6 +79,9 @@ public class LockIconView extends FrameLayout implements Dumpable { void setImageDrawable(Drawable drawable) { mLockIcon.setImageDrawable(drawable); + + if (!mUseBackground) return; + if (drawable == null) { mBgView.setVisibility(View.INVISIBLE); } else { @@ -86,6 +90,14 @@ public class LockIconView extends FrameLayout implements Dumpable { } /** + * Whether or not to render the lock icon background. Mainly used for UDPFS. + */ + public void setUseBackground(boolean useBackground) { + mUseBackground = useBackground; + updateColorAndBackgroundVisibility(); + } + + /** * Set the location of the lock icon. */ @VisibleForTesting diff --git a/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java b/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java index aa79504ae7ca..52ebf2fa09d0 100644 --- a/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java +++ b/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java @@ -345,7 +345,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme } private void updateColors() { - mView.updateColorAndBackgroundVisibility(mUdfpsSupported); + mView.updateColorAndBackgroundVisibility(); } private void updateConfiguration() { @@ -425,6 +425,8 @@ public class LockIconViewController extends ViewController<LockIconView> impleme boolean wasUdfpsEnrolled = mUdfpsEnrolled; mUdfpsSupported = mAuthController.getUdfpsSensorLocation() != null; + mView.setUseBackground(mUdfpsSupported); + mUdfpsEnrolled = mKeyguardUpdateMonitor.isUdfpsEnrolled(); if (wasUdfpsSupported != mUdfpsSupported || wasUdfpsEnrolled != mUdfpsEnrolled) { updateVisibility(); |