Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +53 −24 Original line number Diff line number Diff line Loading @@ -236,6 +236,21 @@ public class UdfpsController implements DozeReceiver, Dumpable { private final List<String> mUdfpsSysfsNodePaths; private Handler mHandler; private UdfpsHelper mUdfpsHelper; private boolean mUseFrameworkDimming; private UdfpsHelper getUdfpsHelper(int reason) { if (mUdfpsHelper == null && mUseFrameworkDimming) { mUdfpsHelper = new UdfpsHelper( mContext, mWindowManager, mShadeInteractor, reason ); } return mUdfpsHelper; } private void updateUdfpsNodes(String value) { if (!mIsUdfpsNodeFeatureEnabled) { Log.d(TAG, "UDFPS node functionality is disabled via overlay."); Loading Loading @@ -325,6 +340,9 @@ public class UdfpsController implements DozeReceiver, Dumpable { public void showUdfpsOverlay(long requestId, int sensorId, int reason, @NonNull IUdfpsOverlayControllerCallback callback) { mUdfpsOverlayInteractor.setRequestId(requestId); mHandler.post(() -> { UdfpsHelper helper = getUdfpsHelper(reason); mFgExecutor.execute(() -> UdfpsController.this.showUdfpsOverlay( new UdfpsControllerOverlay( mContext, Loading @@ -348,8 +366,10 @@ public class UdfpsController implements DozeReceiver, Dumpable { mShadeInteractor, mUdfpsOverlayInteractor, mPowerInteractor, mScope mScope, helper ))); }); } @Override Loading Loading @@ -802,6 +822,9 @@ public class UdfpsController implements DozeReceiver, Dumpable { mPromptUdfpsTouchOverlayViewModel = promptUdfpsTouchOverlayViewModel; mHandler = new Handler(Looper.getMainLooper()); mUseFrameworkDimming = context.getResources().getBoolean( com.android.systemui.res.R.bool.config_udfpsFrameworkDimming); mIsUdfpsNodeFeatureEnabled = mContext.getResources().getBoolean( com.android.systemui.res.R.bool.config_enableUdfpsSysfsNodes ); Loading Loading @@ -1119,6 +1142,9 @@ public class UdfpsController implements DozeReceiver, Dumpable { } if (isOptical()) { mLatencyTracker.onActionStart(ACTION_UDFPS_ILLUMINATE); if (mUdfpsHelper != null) { mUdfpsHelper.addDimLayer(); } } // Refresh screen timeout and boost process priority if possible. if (Flags.bouncerUiRevamp()) { Loading Loading @@ -1192,6 +1218,9 @@ public class UdfpsController implements DozeReceiver, Dumpable { for (Callback cb : mCallbacks) { cb.onFingerUp(); } if (mUdfpsHelper != null) { mUdfpsHelper.removeDimLayer(); } } } mOnFingerDown = false; Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt +1 −8 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ constructor( private val udfpsOverlayInteractor: UdfpsOverlayInteractor, private val powerInteractor: PowerInteractor, @Application private val scope: CoroutineScope, private val udfpsHelper: UdfpsHelper?, ) { private val currentStateUpdatedToOffAodOrDozing: Flow<Unit> = transitionInteractor.currentKeyguardState Loading Loading @@ -118,12 +119,6 @@ constructor( com.android.systemui.res.R.bool.config_udfpsFrameworkDimming ) private val udfpsHelper: UdfpsHelper? = if (useFrameworkDimming) { UdfpsHelper(context, windowManager, shadeInteractor, requestReason) } else { null } private val coreLayoutParams = WindowManager.LayoutParams( WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL, Loading Loading @@ -226,7 +221,6 @@ constructor( } private fun addViewNowOrLater(view: View, animation: UdfpsAnimationViewController<*>?) { udfpsHelper?.addDimLayer() addViewRunnable = kotlinx.coroutines.Runnable { Trace.setCounter("UdfpsAddView", 1) Loading Loading @@ -275,7 +269,6 @@ constructor( } } udfpsDisplayModeProvider.disable(null) udfpsHelper?.removeDimLayer() getTouchOverlay()?.apply { if (this.parent != null) { windowManager.removeView(this) Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsHelper.kt +16 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,22 @@ class UdfpsHelper( visibility = View.GONE } ) { constructor( context: Context, windowManager: WindowManager, shadeInteractor: ShadeInteractor, requestReason: Int ) : this( context, windowManager, shadeInteractor, requestReason, View(context).apply { setBackgroundColor(Color.BLACK) visibility = View.GONE } ) private val displayManager = context.getSystemService(DisplayManager::class.java)!! private val isKeyguard = requestReason == REASON_AUTH_KEYGUARD private var newIsQsExpanded = false Loading Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +53 −24 Original line number Diff line number Diff line Loading @@ -236,6 +236,21 @@ public class UdfpsController implements DozeReceiver, Dumpable { private final List<String> mUdfpsSysfsNodePaths; private Handler mHandler; private UdfpsHelper mUdfpsHelper; private boolean mUseFrameworkDimming; private UdfpsHelper getUdfpsHelper(int reason) { if (mUdfpsHelper == null && mUseFrameworkDimming) { mUdfpsHelper = new UdfpsHelper( mContext, mWindowManager, mShadeInteractor, reason ); } return mUdfpsHelper; } private void updateUdfpsNodes(String value) { if (!mIsUdfpsNodeFeatureEnabled) { Log.d(TAG, "UDFPS node functionality is disabled via overlay."); Loading Loading @@ -325,6 +340,9 @@ public class UdfpsController implements DozeReceiver, Dumpable { public void showUdfpsOverlay(long requestId, int sensorId, int reason, @NonNull IUdfpsOverlayControllerCallback callback) { mUdfpsOverlayInteractor.setRequestId(requestId); mHandler.post(() -> { UdfpsHelper helper = getUdfpsHelper(reason); mFgExecutor.execute(() -> UdfpsController.this.showUdfpsOverlay( new UdfpsControllerOverlay( mContext, Loading @@ -348,8 +366,10 @@ public class UdfpsController implements DozeReceiver, Dumpable { mShadeInteractor, mUdfpsOverlayInteractor, mPowerInteractor, mScope mScope, helper ))); }); } @Override Loading Loading @@ -802,6 +822,9 @@ public class UdfpsController implements DozeReceiver, Dumpable { mPromptUdfpsTouchOverlayViewModel = promptUdfpsTouchOverlayViewModel; mHandler = new Handler(Looper.getMainLooper()); mUseFrameworkDimming = context.getResources().getBoolean( com.android.systemui.res.R.bool.config_udfpsFrameworkDimming); mIsUdfpsNodeFeatureEnabled = mContext.getResources().getBoolean( com.android.systemui.res.R.bool.config_enableUdfpsSysfsNodes ); Loading Loading @@ -1119,6 +1142,9 @@ public class UdfpsController implements DozeReceiver, Dumpable { } if (isOptical()) { mLatencyTracker.onActionStart(ACTION_UDFPS_ILLUMINATE); if (mUdfpsHelper != null) { mUdfpsHelper.addDimLayer(); } } // Refresh screen timeout and boost process priority if possible. if (Flags.bouncerUiRevamp()) { Loading Loading @@ -1192,6 +1218,9 @@ public class UdfpsController implements DozeReceiver, Dumpable { for (Callback cb : mCallbacks) { cb.onFingerUp(); } if (mUdfpsHelper != null) { mUdfpsHelper.removeDimLayer(); } } } mOnFingerDown = false; Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt +1 −8 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ constructor( private val udfpsOverlayInteractor: UdfpsOverlayInteractor, private val powerInteractor: PowerInteractor, @Application private val scope: CoroutineScope, private val udfpsHelper: UdfpsHelper?, ) { private val currentStateUpdatedToOffAodOrDozing: Flow<Unit> = transitionInteractor.currentKeyguardState Loading Loading @@ -118,12 +119,6 @@ constructor( com.android.systemui.res.R.bool.config_udfpsFrameworkDimming ) private val udfpsHelper: UdfpsHelper? = if (useFrameworkDimming) { UdfpsHelper(context, windowManager, shadeInteractor, requestReason) } else { null } private val coreLayoutParams = WindowManager.LayoutParams( WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL, Loading Loading @@ -226,7 +221,6 @@ constructor( } private fun addViewNowOrLater(view: View, animation: UdfpsAnimationViewController<*>?) { udfpsHelper?.addDimLayer() addViewRunnable = kotlinx.coroutines.Runnable { Trace.setCounter("UdfpsAddView", 1) Loading Loading @@ -275,7 +269,6 @@ constructor( } } udfpsDisplayModeProvider.disable(null) udfpsHelper?.removeDimLayer() getTouchOverlay()?.apply { if (this.parent != null) { windowManager.removeView(this) Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsHelper.kt +16 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,22 @@ class UdfpsHelper( visibility = View.GONE } ) { constructor( context: Context, windowManager: WindowManager, shadeInteractor: ShadeInteractor, requestReason: Int ) : this( context, windowManager, shadeInteractor, requestReason, View(context).apply { setBackgroundColor(Color.BLACK) visibility = View.GONE } ) private val displayManager = context.getSystemService(DisplayManager::class.java)!! private val isKeyguard = requestReason == REASON_AUTH_KEYGUARD private var newIsQsExpanded = false Loading