Loading packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardTouchHandlingViewModelTest.kt +15 −0 Original line number Diff line number Diff line Loading @@ -17,20 +17,25 @@ package com.android.systemui.keyguard.ui.viewmodel import android.graphics.Rect import android.platform.test.annotations.EnableFlags import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.Flags import com.android.systemui.SysuiTestCase import com.android.systemui.biometrics.data.repository.fingerprintPropertyRepository import com.android.systemui.coroutines.collectLastValue import com.android.systemui.haptics.msdl.fakeMSDLPlayer import com.android.systemui.keyguard.data.repository.deviceEntryFingerprintAuthRepository import com.android.systemui.keyguard.domain.interactor.keyguardTouchHandlingInteractor import com.android.systemui.kosmos.testScope import com.android.systemui.testKosmos import com.google.android.msdl.data.model.MSDLToken import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.test.runTest import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.kotlin.any @SmallTest @RunWith(AndroidJUnit4::class) Loading @@ -38,6 +43,7 @@ class KeyguardTouchHandlingViewModelTest : SysuiTestCase() { private val kosmos = testKosmos() private val testScope = kosmos.testScope private val msdlPlayer = kosmos.fakeMSDLPlayer private lateinit var underTest: KeyguardTouchHandlingViewModel @Before Loading @@ -64,6 +70,15 @@ class KeyguardTouchHandlingViewModelTest : SysuiTestCase() { .isEqualTo(Rect(0, 1000, 1000, 2000)) } @EnableFlags(Flags.FLAG_MSDL_FEEDBACK) @Test fun onLongPress_playsLongPressHapticToken() = testScope.runTest { underTest.onLongPress(any()) assertThat(msdlPlayer.latestTokenPlayed).isEqualTo(MSDLToken.LONG_PRESS) } private fun setUdfpsListeningState(isListening: Boolean) { if (isListening) { kosmos.fingerprintPropertyRepository.supportsUdfps() Loading packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardTouchHandlingViewModel.kt +7 −0 Original line number Diff line number Diff line Loading @@ -19,10 +19,13 @@ package com.android.systemui.keyguard.ui.viewmodel import android.graphics.Rect import androidx.compose.runtime.getValue import com.android.systemui.Flags import com.android.systemui.deviceentry.domain.interactor.DeviceEntryUdfpsInteractor import com.android.systemui.keyguard.domain.interactor.KeyguardTouchHandlingInteractor import com.android.systemui.lifecycle.ExclusiveActivatable import com.android.systemui.lifecycle.Hydrator import com.google.android.msdl.data.model.MSDLToken import com.google.android.msdl.domain.MSDLPlayer import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import kotlinx.coroutines.ExperimentalCoroutinesApi Loading @@ -35,6 +38,7 @@ class KeyguardTouchHandlingViewModel @AssistedInject constructor( private val interactor: KeyguardTouchHandlingInteractor, private val msdlPlayer: MSDLPlayer, deviceEntryUdfpsInteractor: DeviceEntryUdfpsInteractor, ) : ExclusiveActivatable() { private val hydrator = Hydrator("KeyguardTouchHandlingViewModel.hydrator") Loading Loading @@ -82,6 +86,9 @@ constructor( * @param isA11yAction: Whether the action was performed as an a11y action */ fun onLongPress(isA11yAction: Boolean) { if (Flags.msdlFeedback()) { msdlPlayer.playToken(MSDLToken.LONG_PRESS) } interactor.onLongPress(isA11yAction) } Loading packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardLongPressViewModelKosmos.kt +2 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.systemui.keyguard.ui.viewmodel import com.android.systemui.deviceentry.domain.interactor.deviceEntryUdfpsInteractor import com.android.systemui.haptics.msdl.msdlPlayer import com.android.systemui.keyguard.domain.interactor.keyguardTouchHandlingInteractor import com.android.systemui.kosmos.Kosmos Loading @@ -24,6 +25,7 @@ val Kosmos.keyguardTouchHandlingViewModel by Kosmos.Fixture { KeyguardTouchHandlingViewModel( interactor = keyguardTouchHandlingInteractor, msdlPlayer = msdlPlayer, deviceEntryUdfpsInteractor = deviceEntryUdfpsInteractor, ) } packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardTouchHandlingViewModelFactoryKosmos.kt +2 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.systemui.keyguard.ui.viewmodel import com.android.systemui.deviceentry.domain.interactor.deviceEntryUdfpsInteractor import com.android.systemui.haptics.msdl.msdlPlayer import com.android.systemui.keyguard.domain.interactor.keyguardTouchHandlingInteractor import com.android.systemui.kosmos.Kosmos Loading @@ -26,6 +27,7 @@ val Kosmos.keyguardTouchHandlingViewModelFactory by override fun create(): KeyguardTouchHandlingViewModel { return KeyguardTouchHandlingViewModel( keyguardTouchHandlingInteractor, msdlPlayer, deviceEntryUdfpsInteractor, ) } Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardTouchHandlingViewModelTest.kt +15 −0 Original line number Diff line number Diff line Loading @@ -17,20 +17,25 @@ package com.android.systemui.keyguard.ui.viewmodel import android.graphics.Rect import android.platform.test.annotations.EnableFlags import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.Flags import com.android.systemui.SysuiTestCase import com.android.systemui.biometrics.data.repository.fingerprintPropertyRepository import com.android.systemui.coroutines.collectLastValue import com.android.systemui.haptics.msdl.fakeMSDLPlayer import com.android.systemui.keyguard.data.repository.deviceEntryFingerprintAuthRepository import com.android.systemui.keyguard.domain.interactor.keyguardTouchHandlingInteractor import com.android.systemui.kosmos.testScope import com.android.systemui.testKosmos import com.google.android.msdl.data.model.MSDLToken import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.test.runTest import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.kotlin.any @SmallTest @RunWith(AndroidJUnit4::class) Loading @@ -38,6 +43,7 @@ class KeyguardTouchHandlingViewModelTest : SysuiTestCase() { private val kosmos = testKosmos() private val testScope = kosmos.testScope private val msdlPlayer = kosmos.fakeMSDLPlayer private lateinit var underTest: KeyguardTouchHandlingViewModel @Before Loading @@ -64,6 +70,15 @@ class KeyguardTouchHandlingViewModelTest : SysuiTestCase() { .isEqualTo(Rect(0, 1000, 1000, 2000)) } @EnableFlags(Flags.FLAG_MSDL_FEEDBACK) @Test fun onLongPress_playsLongPressHapticToken() = testScope.runTest { underTest.onLongPress(any()) assertThat(msdlPlayer.latestTokenPlayed).isEqualTo(MSDLToken.LONG_PRESS) } private fun setUdfpsListeningState(isListening: Boolean) { if (isListening) { kosmos.fingerprintPropertyRepository.supportsUdfps() Loading
packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardTouchHandlingViewModel.kt +7 −0 Original line number Diff line number Diff line Loading @@ -19,10 +19,13 @@ package com.android.systemui.keyguard.ui.viewmodel import android.graphics.Rect import androidx.compose.runtime.getValue import com.android.systemui.Flags import com.android.systemui.deviceentry.domain.interactor.DeviceEntryUdfpsInteractor import com.android.systemui.keyguard.domain.interactor.KeyguardTouchHandlingInteractor import com.android.systemui.lifecycle.ExclusiveActivatable import com.android.systemui.lifecycle.Hydrator import com.google.android.msdl.data.model.MSDLToken import com.google.android.msdl.domain.MSDLPlayer import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import kotlinx.coroutines.ExperimentalCoroutinesApi Loading @@ -35,6 +38,7 @@ class KeyguardTouchHandlingViewModel @AssistedInject constructor( private val interactor: KeyguardTouchHandlingInteractor, private val msdlPlayer: MSDLPlayer, deviceEntryUdfpsInteractor: DeviceEntryUdfpsInteractor, ) : ExclusiveActivatable() { private val hydrator = Hydrator("KeyguardTouchHandlingViewModel.hydrator") Loading Loading @@ -82,6 +86,9 @@ constructor( * @param isA11yAction: Whether the action was performed as an a11y action */ fun onLongPress(isA11yAction: Boolean) { if (Flags.msdlFeedback()) { msdlPlayer.playToken(MSDLToken.LONG_PRESS) } interactor.onLongPress(isA11yAction) } Loading
packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardLongPressViewModelKosmos.kt +2 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.systemui.keyguard.ui.viewmodel import com.android.systemui.deviceentry.domain.interactor.deviceEntryUdfpsInteractor import com.android.systemui.haptics.msdl.msdlPlayer import com.android.systemui.keyguard.domain.interactor.keyguardTouchHandlingInteractor import com.android.systemui.kosmos.Kosmos Loading @@ -24,6 +25,7 @@ val Kosmos.keyguardTouchHandlingViewModel by Kosmos.Fixture { KeyguardTouchHandlingViewModel( interactor = keyguardTouchHandlingInteractor, msdlPlayer = msdlPlayer, deviceEntryUdfpsInteractor = deviceEntryUdfpsInteractor, ) }
packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardTouchHandlingViewModelFactoryKosmos.kt +2 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.systemui.keyguard.ui.viewmodel import com.android.systemui.deviceentry.domain.interactor.deviceEntryUdfpsInteractor import com.android.systemui.haptics.msdl.msdlPlayer import com.android.systemui.keyguard.domain.interactor.keyguardTouchHandlingInteractor import com.android.systemui.kosmos.Kosmos Loading @@ -26,6 +27,7 @@ val Kosmos.keyguardTouchHandlingViewModelFactory by override fun create(): KeyguardTouchHandlingViewModel { return KeyguardTouchHandlingViewModel( keyguardTouchHandlingInteractor, msdlPlayer, deviceEntryUdfpsInteractor, ) } Loading