diff options
| author | 2024-01-30 20:10:33 +0000 | |
|---|---|---|
| committer | 2024-01-31 16:28:23 +0000 | |
| commit | 7f5272e6cb1577640ca38c129760d1d4fc4a1f41 (patch) | |
| tree | 1811f10981f7eaa8da7040dc38eedf7817d37855 | |
| parent | 14f93277af54b01dce231801c15ff090c33c6869 (diff) | |
setHandleTouch in UdfpsTouchOverlayBinder
Some devices rely on setHandleTouch while others rely on SystemUI's
touch overlay.
Flag: ACONFIG com.android.systemui.device_entry_udfps_refactor DEVELOPMENT
Bug: 323018891
Test: manual
Change-Id: I61b6fe561609368148d47e2af43c43bea96e1cbf
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt | 2 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/UdfpsTouchOverlayBinder.kt | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt index 417608336974..4ea5f4c7af0f 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt @@ -198,11 +198,13 @@ class UdfpsControllerOverlay @JvmOverloads constructor( UdfpsTouchOverlayBinder.bind( view = this, viewModel = deviceEntryUdfpsTouchOverlayViewModel.get(), + udfpsOverlayInteractor = udfpsOverlayInteractor, ) else -> UdfpsTouchOverlayBinder.bind( view = this, viewModel = defaultUdfpsTouchOverlayViewModel.get(), + udfpsOverlayInteractor = udfpsOverlayInteractor, ) } } diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/UdfpsTouchOverlayBinder.kt b/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/UdfpsTouchOverlayBinder.kt index bb6a68b7aa2c..2e29c3b59c4c 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/UdfpsTouchOverlayBinder.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/UdfpsTouchOverlayBinder.kt @@ -16,9 +16,11 @@ package com.android.systemui.biometrics.ui.binder +import android.util.Log import androidx.core.view.isInvisible import androidx.lifecycle.Lifecycle import androidx.lifecycle.repeatOnLifecycle +import com.android.systemui.biometrics.domain.interactor.UdfpsOverlayInteractor import com.android.systemui.biometrics.ui.view.UdfpsTouchOverlay import com.android.systemui.biometrics.ui.viewmodel.UdfpsTouchOverlayViewModel import com.android.systemui.deviceentry.shared.DeviceEntryUdfpsRefactor @@ -31,19 +33,26 @@ object UdfpsTouchOverlayBinder { /** * Updates visibility for the UdfpsTouchOverlay which controls whether the view will receive - * touches or not. + * touches or not. For some devices, this is instead handled by UdfpsOverlayInteractor, so this + * viewBinder will send the information to the interactor. */ @JvmStatic fun bind( view: UdfpsTouchOverlay, viewModel: UdfpsTouchOverlayViewModel, + udfpsOverlayInteractor: UdfpsOverlayInteractor, ) { if (DeviceEntryUdfpsRefactor.isUnexpectedlyInLegacyMode()) return view.repeatWhenAttached { repeatOnLifecycle(Lifecycle.State.CREATED) { launch { viewModel.shouldHandleTouches.collect { shouldHandleTouches -> + Log.d( + "UdfpsTouchOverlayBinder", + "[$view]: update shouldHandleTouches=$shouldHandleTouches" + ) view.isInvisible = !shouldHandleTouches + udfpsOverlayInteractor.setHandleTouches(shouldHandleTouches) } } } |