Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsAnimationEnroll.java +1 −8 Original line number Diff line number Diff line Loading @@ -28,7 +28,6 @@ import android.util.Log; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.android.internal.graphics.ColorUtils; import com.android.settingslib.Utils; import com.android.systemui.R; Loading Loading @@ -98,13 +97,7 @@ public class UdfpsAnimationEnroll extends UdfpsAnimation { @Override public void setAlpha(int alpha) { super.setAlpha(alpha); // Gradually fade into the notification shade color. This needs to be done because the // UDFPS view is drawn on a layer on top of the notification shade final float percent = alpha / 255.f; mSensorPaint.setColor(ColorUtils.blendARGB(mNotificationShadeColor, Color.WHITE, percent)); mSensorPaint.setShadowLayer(SHADOW_RADIUS, 0, 0, ColorUtils.blendARGB(mNotificationShadeColor, Color.BLACK, percent)); mSensorPaint.setAlpha(alpha); } @Override Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsAnimationView.java +18 −7 Original line number Diff line number Diff line Loading @@ -25,22 +25,21 @@ import android.util.AttributeSet; import android.view.View; import com.android.systemui.doze.DozeReceiver; import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.phone.StatusBar; /** * Class that coordinates non-HBM animations (such as enroll, keyguard, BiometricPrompt, * FingerprintManager). */ public class UdfpsAnimationView extends View implements DozeReceiver, ScrimController.ScrimChangedListener { StatusBar.ExpansionChangedListener { private static final String TAG = "UdfpsAnimationView"; @NonNull private UdfpsView mParent; @Nullable private UdfpsAnimation mUdfpsAnimation; @NonNull private RectF mSensorRect; private int mNotificationPanelAlpha; private int mAlpha; public UdfpsAnimationView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); Loading @@ -52,12 +51,24 @@ public class UdfpsAnimationView extends View implements DozeReceiver, super.onDraw(canvas); if (mUdfpsAnimation != null) { final int alpha = mParent.shouldPauseAuth() ? 255 - mNotificationPanelAlpha : 255; final int alpha = mParent.shouldPauseAuth() ? mAlpha : 255; mUdfpsAnimation.setAlpha(alpha); mUdfpsAnimation.draw(canvas); } } private int expansionToAlpha(float expansion) { // Fade to 0 opacity when reaching this expansion amount final float maxExpansion = 0.4f; if (expansion >= maxExpansion) { return 0; // transparent } final float percent = expansion / maxExpansion; return (int) ((1 - percent) * 255); } void setParent(@NonNull UdfpsView parent) { mParent = parent; } Loading Loading @@ -87,8 +98,8 @@ public class UdfpsAnimationView extends View implements DozeReceiver, } @Override public void onAlphaChanged(float alpha) { mNotificationPanelAlpha = (int) (alpha * 255); public void onExpansionChanged(float expansion, boolean expanded) { mAlpha = expansionToAlpha(expansion); postInvalidate(); } Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +3 −2 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.doze.DozeReceiver; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.util.concurrency.DelayableExecutor; import javax.inject.Inject; Loading Loading @@ -155,7 +156,7 @@ public class UdfpsController implements DozeReceiver, HbmCallback { WindowManager windowManager, @NonNull StatusBarStateController statusBarStateController, @Main DelayableExecutor fgExecutor, @NonNull ScrimController scrimController) { @Nullable StatusBar statusBar) { mContext = context; // The fingerprint manager is queried for UDFPS before this class is constructed, so the // fingerprint manager should never be null. Loading Loading @@ -186,7 +187,7 @@ public class UdfpsController implements DozeReceiver, HbmCallback { mView.setSensorProperties(mSensorProps); mView.setHbmCallback(this); scrimController.addScrimChangedListener(mView); statusBar.addExpansionChangedListener(mView); statusBarStateController.addCallback(mView); mFingerprintManager.setUdfpsOverlayController(new UdfpsOverlayController()); Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.java +4 −4 Original line number Diff line number Diff line Loading @@ -39,14 +39,14 @@ import android.widget.FrameLayout; import com.android.systemui.R; import com.android.systemui.doze.DozeReceiver; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.phone.StatusBar; /** * A view containing 1) A SurfaceView for HBM, and 2) A normal drawable view for all other * animations. */ public class UdfpsView extends FrameLayout implements DozeReceiver, UdfpsIlluminator, StatusBarStateController.StateListener, ScrimController.ScrimChangedListener { StatusBarStateController.StateListener, StatusBar.ExpansionChangedListener { private static final String TAG = "UdfpsView"; private static final int DEBUG_TEXT_SIZE_PX = 32; Loading Loading @@ -133,8 +133,8 @@ public class UdfpsView extends FrameLayout implements DozeReceiver, UdfpsIllumin } @Override public void onAlphaChanged(float alpha) { mAnimationView.onAlphaChanged(alpha); public void onExpansionChanged(float expansion, boolean expanded) { mAnimationView.onExpansionChanged(expansion, expanded); } @Override Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java +14 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.util.leak.RotationUtils; import java.util.List; import java.util.Objects; public class PhoneStatusBarView extends PanelBar { Loading Loading @@ -75,6 +76,8 @@ public class PhoneStatusBarView extends PanelBar { @Nullable private DisplayCutout mDisplayCutout; private int mStatusBarHeight; @Nullable private List<StatusBar.ExpansionChangedListener> mExpansionChangedListeners; /** * Draw this many pixels into the left/right side of the cutout to optimally use the space Loading @@ -93,6 +96,11 @@ public class PhoneStatusBarView extends PanelBar { mBar = bar; } public void setExpansionChangedListeners( @Nullable List<StatusBar.ExpansionChangedListener> listeners) { mExpansionChangedListeners = listeners; } public void setScrimController(ScrimController scrimController) { mScrimController = scrimController; } Loading Loading @@ -277,6 +285,12 @@ public class PhoneStatusBarView extends PanelBar { if ((frac == 0 || frac == 1) && mBar.getNavigationBarView() != null) { mBar.getNavigationBarView().onStatusBarPanelStateChanged(); } if (mExpansionChangedListeners != null) { for (StatusBar.ExpansionChangedListener listener : mExpansionChangedListeners) { listener.onExpansionChanged(frac, expanded); } } } private void updateScrimFraction() { Loading Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsAnimationEnroll.java +1 −8 Original line number Diff line number Diff line Loading @@ -28,7 +28,6 @@ import android.util.Log; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.android.internal.graphics.ColorUtils; import com.android.settingslib.Utils; import com.android.systemui.R; Loading Loading @@ -98,13 +97,7 @@ public class UdfpsAnimationEnroll extends UdfpsAnimation { @Override public void setAlpha(int alpha) { super.setAlpha(alpha); // Gradually fade into the notification shade color. This needs to be done because the // UDFPS view is drawn on a layer on top of the notification shade final float percent = alpha / 255.f; mSensorPaint.setColor(ColorUtils.blendARGB(mNotificationShadeColor, Color.WHITE, percent)); mSensorPaint.setShadowLayer(SHADOW_RADIUS, 0, 0, ColorUtils.blendARGB(mNotificationShadeColor, Color.BLACK, percent)); mSensorPaint.setAlpha(alpha); } @Override Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsAnimationView.java +18 −7 Original line number Diff line number Diff line Loading @@ -25,22 +25,21 @@ import android.util.AttributeSet; import android.view.View; import com.android.systemui.doze.DozeReceiver; import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.phone.StatusBar; /** * Class that coordinates non-HBM animations (such as enroll, keyguard, BiometricPrompt, * FingerprintManager). */ public class UdfpsAnimationView extends View implements DozeReceiver, ScrimController.ScrimChangedListener { StatusBar.ExpansionChangedListener { private static final String TAG = "UdfpsAnimationView"; @NonNull private UdfpsView mParent; @Nullable private UdfpsAnimation mUdfpsAnimation; @NonNull private RectF mSensorRect; private int mNotificationPanelAlpha; private int mAlpha; public UdfpsAnimationView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); Loading @@ -52,12 +51,24 @@ public class UdfpsAnimationView extends View implements DozeReceiver, super.onDraw(canvas); if (mUdfpsAnimation != null) { final int alpha = mParent.shouldPauseAuth() ? 255 - mNotificationPanelAlpha : 255; final int alpha = mParent.shouldPauseAuth() ? mAlpha : 255; mUdfpsAnimation.setAlpha(alpha); mUdfpsAnimation.draw(canvas); } } private int expansionToAlpha(float expansion) { // Fade to 0 opacity when reaching this expansion amount final float maxExpansion = 0.4f; if (expansion >= maxExpansion) { return 0; // transparent } final float percent = expansion / maxExpansion; return (int) ((1 - percent) * 255); } void setParent(@NonNull UdfpsView parent) { mParent = parent; } Loading Loading @@ -87,8 +98,8 @@ public class UdfpsAnimationView extends View implements DozeReceiver, } @Override public void onAlphaChanged(float alpha) { mNotificationPanelAlpha = (int) (alpha * 255); public void onExpansionChanged(float expansion, boolean expanded) { mAlpha = expansionToAlpha(expansion); postInvalidate(); } Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +3 −2 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.doze.DozeReceiver; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.util.concurrency.DelayableExecutor; import javax.inject.Inject; Loading Loading @@ -155,7 +156,7 @@ public class UdfpsController implements DozeReceiver, HbmCallback { WindowManager windowManager, @NonNull StatusBarStateController statusBarStateController, @Main DelayableExecutor fgExecutor, @NonNull ScrimController scrimController) { @Nullable StatusBar statusBar) { mContext = context; // The fingerprint manager is queried for UDFPS before this class is constructed, so the // fingerprint manager should never be null. Loading Loading @@ -186,7 +187,7 @@ public class UdfpsController implements DozeReceiver, HbmCallback { mView.setSensorProperties(mSensorProps); mView.setHbmCallback(this); scrimController.addScrimChangedListener(mView); statusBar.addExpansionChangedListener(mView); statusBarStateController.addCallback(mView); mFingerprintManager.setUdfpsOverlayController(new UdfpsOverlayController()); Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.java +4 −4 Original line number Diff line number Diff line Loading @@ -39,14 +39,14 @@ import android.widget.FrameLayout; import com.android.systemui.R; import com.android.systemui.doze.DozeReceiver; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.phone.ScrimController; import com.android.systemui.statusbar.phone.StatusBar; /** * A view containing 1) A SurfaceView for HBM, and 2) A normal drawable view for all other * animations. */ public class UdfpsView extends FrameLayout implements DozeReceiver, UdfpsIlluminator, StatusBarStateController.StateListener, ScrimController.ScrimChangedListener { StatusBarStateController.StateListener, StatusBar.ExpansionChangedListener { private static final String TAG = "UdfpsView"; private static final int DEBUG_TEXT_SIZE_PX = 32; Loading Loading @@ -133,8 +133,8 @@ public class UdfpsView extends FrameLayout implements DozeReceiver, UdfpsIllumin } @Override public void onAlphaChanged(float alpha) { mAnimationView.onAlphaChanged(alpha); public void onExpansionChanged(float expansion, boolean expanded) { mAnimationView.onExpansionChanged(expansion, expanded); } @Override Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java +14 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.util.leak.RotationUtils; import java.util.List; import java.util.Objects; public class PhoneStatusBarView extends PanelBar { Loading Loading @@ -75,6 +76,8 @@ public class PhoneStatusBarView extends PanelBar { @Nullable private DisplayCutout mDisplayCutout; private int mStatusBarHeight; @Nullable private List<StatusBar.ExpansionChangedListener> mExpansionChangedListeners; /** * Draw this many pixels into the left/right side of the cutout to optimally use the space Loading @@ -93,6 +96,11 @@ public class PhoneStatusBarView extends PanelBar { mBar = bar; } public void setExpansionChangedListeners( @Nullable List<StatusBar.ExpansionChangedListener> listeners) { mExpansionChangedListeners = listeners; } public void setScrimController(ScrimController scrimController) { mScrimController = scrimController; } Loading Loading @@ -277,6 +285,12 @@ public class PhoneStatusBarView extends PanelBar { if ((frac == 0 || frac == 1) && mBar.getNavigationBarView() != null) { mBar.getNavigationBarView().onStatusBarPanelStateChanged(); } if (mExpansionChangedListeners != null) { for (StatusBar.ExpansionChangedListener listener : mExpansionChangedListeners) { listener.onExpansionChanged(frac, expanded); } } } private void updateScrimFraction() { Loading