Loading packages/SystemUI/multivalentTests/src/com/android/systemui/touchpad/tutorial/ui/viewmodel/BackGestureScreenViewModelTest.kt +18 −6 Original line number Diff line number Diff line Loading @@ -16,12 +16,13 @@ package com.android.systemui.touchpad.tutorial.ui.viewmodel import android.content.res.mockResources import android.view.MotionEvent import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.ui.data.repository.fakeConfigurationRepository import com.android.systemui.common.ui.domain.interactor.configurationInteractor import com.android.systemui.inputdevice.tutorial.inputDeviceTutorialLogger import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.collectLastValue import com.android.systemui.kosmos.runTest Loading @@ -34,18 +35,27 @@ import com.android.systemui.touchpad.tutorial.ui.composable.GestureUiState.Finis import com.android.systemui.touchpad.tutorial.ui.composable.GestureUiState.InProgress import com.android.systemui.touchpad.tutorial.ui.gesture.MultiFingerGesture.Companion.SWIPE_DISTANCE import com.android.systemui.touchpad.tutorial.ui.gesture.ThreeFingerGesture import com.android.systemui.touchpad.ui.gesture.touchpadGestureResources import com.google.common.truth.Truth.assertThat import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.kotlin.whenever @SmallTest @RunWith(AndroidJUnit4::class) class BackGestureScreenViewModelTest : SysuiTestCase() { private val kosmos = testKosmos() private val resources = kosmos.mockResources private val fakeConfigRepository = kosmos.fakeConfigurationRepository private val viewModel = BackGestureScreenViewModel(kosmos.configurationInteractor) private val viewModel = BackGestureScreenViewModel( GestureRecognizerAdapter( BackGestureRecognizerProvider(kosmos.touchpadGestureResources), kosmos.inputDeviceTutorialLogger, ) ) @Before fun before() { Loading Loading @@ -115,10 +125,12 @@ class BackGestureScreenViewModelTest : SysuiTestCase() { } private fun setThresholdResource(threshold: Float) { fakeConfigRepository.setDimensionPixelSize( R.dimen.touchpad_tutorial_gestures_distance_threshold, (threshold).toInt(), whenever( resources.getDimensionPixelSize( R.dimen.touchpad_tutorial_gestures_distance_threshold ) ) .thenReturn(threshold.toInt()) fakeConfigRepository.onAnyConfigurationChange() } Loading packages/SystemUI/multivalentTests/src/com/android/systemui/touchpad/tutorial/ui/viewmodel/EasterEggGestureViewModelTest.kt +8 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.view.MotionEvent import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.inputdevice.tutorial.inputDeviceTutorialLogger import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.collectLastValue import com.android.systemui.kosmos.runTest Loading @@ -36,7 +37,13 @@ import org.junit.runner.RunWith class EasterEggGestureViewModelTest : SysuiTestCase() { private val kosmos = testKosmos() private val viewModel = EasterEggGestureViewModel() private val viewModel = EasterEggGestureViewModel( GestureRecognizerAdapter( EasterEggRecognizerProvider(), kosmos.inputDeviceTutorialLogger, ) ) @Before fun before() { Loading packages/SystemUI/multivalentTests/src/com/android/systemui/touchpad/tutorial/ui/viewmodel/HomeGestureScreenViewModelTest.kt +14 −6 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.ui.data.repository.fakeConfigurationRepository import com.android.systemui.common.ui.domain.interactor.configurationInteractor import com.android.systemui.inputdevice.tutorial.inputDeviceTutorialLogger import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.collectLastValue import com.android.systemui.kosmos.runTest Loading @@ -37,6 +37,7 @@ import com.android.systemui.touchpad.tutorial.ui.gesture.MultiFingerGesture.Comp import com.android.systemui.touchpad.tutorial.ui.gesture.ThreeFingerGesture import com.android.systemui.touchpad.tutorial.ui.gesture.Velocity import com.android.systemui.touchpad.ui.gesture.fakeVelocityTracker import com.android.systemui.touchpad.ui.gesture.touchpadGestureResources import com.google.common.truth.Truth.assertThat import org.junit.Before import org.junit.Test Loading @@ -59,7 +60,12 @@ class HomeGestureScreenViewModelTest : SysuiTestCase() { private val resources = kosmos.mockResources private val viewModel = HomeGestureScreenViewModel(kosmos.configurationInteractor, resources, fakeVelocityTracker) HomeGestureScreenViewModel( GestureRecognizerAdapter( HomeGestureRecognizerProvider(kosmos.touchpadGestureResources, fakeVelocityTracker), kosmos.inputDeviceTutorialLogger, ) ) @Before fun before() { Loading Loading @@ -126,10 +132,12 @@ class HomeGestureScreenViewModelTest : SysuiTestCase() { } private fun setDistanceThreshold(threshold: Float) { fakeConfigRepository.setDimensionPixelSize( R.dimen.touchpad_tutorial_gestures_distance_threshold, (threshold).toInt(), whenever( resources.getDimensionPixelSize( R.dimen.touchpad_tutorial_gestures_distance_threshold ) ) .thenReturn(threshold.toInt()) fakeConfigRepository.onAnyConfigurationChange() } Loading packages/SystemUI/multivalentTests/src/com/android/systemui/touchpad/tutorial/ui/viewmodel/RecentAppsGestureScreenViewModelTest.kt +9 −4 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.ui.data.repository.fakeConfigurationRepository import com.android.systemui.common.ui.domain.interactor.configurationInteractor import com.android.systemui.inputdevice.tutorial.inputDeviceTutorialLogger import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.collectLastValue import com.android.systemui.kosmos.runTest Loading @@ -37,6 +37,7 @@ import com.android.systemui.touchpad.tutorial.ui.gesture.MultiFingerGesture.Comp import com.android.systemui.touchpad.tutorial.ui.gesture.ThreeFingerGesture import com.android.systemui.touchpad.tutorial.ui.gesture.Velocity import com.android.systemui.touchpad.ui.gesture.fakeVelocityTracker import com.android.systemui.touchpad.ui.gesture.touchpadGestureResources import com.google.common.truth.Truth.assertThat import org.junit.Before import org.junit.Test Loading @@ -60,9 +61,13 @@ class RecentAppsGestureScreenViewModelTest : SysuiTestCase() { private val viewModel = RecentAppsGestureScreenViewModel( kosmos.configurationInteractor, resources, GestureRecognizerAdapter( RecentAppsGestureRecognizerProvider( kosmos.touchpadGestureResources, fakeVelocityTracker, ), kosmos.inputDeviceTutorialLogger, ) ) @Before Loading packages/SystemUI/src/com/android/systemui/touchpad/tutorial/TouchpadTutorialModule.kt +39 −1 Original line number Diff line number Diff line Loading @@ -30,9 +30,15 @@ import com.android.systemui.touchpad.tutorial.ui.composable.HomeGestureTutorialS import com.android.systemui.touchpad.tutorial.ui.gesture.VelocityTracker import com.android.systemui.touchpad.tutorial.ui.gesture.VerticalVelocityTracker import com.android.systemui.touchpad.tutorial.ui.view.TouchpadTutorialActivity import com.android.systemui.touchpad.tutorial.ui.viewmodel.BackGestureRecognizerProvider import com.android.systemui.touchpad.tutorial.ui.viewmodel.BackGestureScreenViewModel import com.android.systemui.touchpad.tutorial.ui.viewmodel.EasterEggGestureViewModel import com.android.systemui.touchpad.tutorial.ui.viewmodel.EasterEggRecognizerProvider import com.android.systemui.touchpad.tutorial.ui.viewmodel.GestureRecognizerAdapter import com.android.systemui.touchpad.tutorial.ui.viewmodel.HomeGestureRecognizerProvider import com.android.systemui.touchpad.tutorial.ui.viewmodel.HomeGestureScreenViewModel import com.android.systemui.touchpad.tutorial.ui.viewmodel.RecentAppsGestureRecognizerProvider import com.android.systemui.touchpad.tutorial.ui.viewmodel.RecentAppsGestureScreenViewModel import dagger.Binds import dagger.Module import dagger.Provides Loading @@ -53,14 +59,46 @@ interface TouchpadTutorialModule { fun touchpadScreensProvider( backGestureScreenViewModel: BackGestureScreenViewModel, homeGestureScreenViewModel: HomeGestureScreenViewModel, easterEggGestureViewModel: EasterEggGestureViewModel, ): TouchpadTutorialScreensProvider { return ScreensProvider( backGestureScreenViewModel, homeGestureScreenViewModel, EasterEggGestureViewModel(), easterEggGestureViewModel, ) } @Provides fun recentAppsViewModel( recognizerProvider: RecentAppsGestureRecognizerProvider, adapterFactory: GestureRecognizerAdapter.Factory, ): RecentAppsGestureScreenViewModel { return RecentAppsGestureScreenViewModel(adapterFactory.create(recognizerProvider)) } @Provides fun backViewModel( recognizerProvider: BackGestureRecognizerProvider, adapterFactory: GestureRecognizerAdapter.Factory, ): BackGestureScreenViewModel { return BackGestureScreenViewModel(adapterFactory.create(recognizerProvider)) } @Provides fun homeViewModel( recognizerProvider: HomeGestureRecognizerProvider, adapterFactory: GestureRecognizerAdapter.Factory, ): HomeGestureScreenViewModel { return HomeGestureScreenViewModel(adapterFactory.create(recognizerProvider)) } @Provides fun easterEggViewModel( adapterFactory: GestureRecognizerAdapter.Factory ): EasterEggGestureViewModel { return EasterEggGestureViewModel(adapterFactory.create(EasterEggRecognizerProvider())) } @SysUISingleton @Provides fun touchpadGesturesInteractor( Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/touchpad/tutorial/ui/viewmodel/BackGestureScreenViewModelTest.kt +18 −6 Original line number Diff line number Diff line Loading @@ -16,12 +16,13 @@ package com.android.systemui.touchpad.tutorial.ui.viewmodel import android.content.res.mockResources import android.view.MotionEvent import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.ui.data.repository.fakeConfigurationRepository import com.android.systemui.common.ui.domain.interactor.configurationInteractor import com.android.systemui.inputdevice.tutorial.inputDeviceTutorialLogger import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.collectLastValue import com.android.systemui.kosmos.runTest Loading @@ -34,18 +35,27 @@ import com.android.systemui.touchpad.tutorial.ui.composable.GestureUiState.Finis import com.android.systemui.touchpad.tutorial.ui.composable.GestureUiState.InProgress import com.android.systemui.touchpad.tutorial.ui.gesture.MultiFingerGesture.Companion.SWIPE_DISTANCE import com.android.systemui.touchpad.tutorial.ui.gesture.ThreeFingerGesture import com.android.systemui.touchpad.ui.gesture.touchpadGestureResources import com.google.common.truth.Truth.assertThat import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.kotlin.whenever @SmallTest @RunWith(AndroidJUnit4::class) class BackGestureScreenViewModelTest : SysuiTestCase() { private val kosmos = testKosmos() private val resources = kosmos.mockResources private val fakeConfigRepository = kosmos.fakeConfigurationRepository private val viewModel = BackGestureScreenViewModel(kosmos.configurationInteractor) private val viewModel = BackGestureScreenViewModel( GestureRecognizerAdapter( BackGestureRecognizerProvider(kosmos.touchpadGestureResources), kosmos.inputDeviceTutorialLogger, ) ) @Before fun before() { Loading Loading @@ -115,10 +125,12 @@ class BackGestureScreenViewModelTest : SysuiTestCase() { } private fun setThresholdResource(threshold: Float) { fakeConfigRepository.setDimensionPixelSize( R.dimen.touchpad_tutorial_gestures_distance_threshold, (threshold).toInt(), whenever( resources.getDimensionPixelSize( R.dimen.touchpad_tutorial_gestures_distance_threshold ) ) .thenReturn(threshold.toInt()) fakeConfigRepository.onAnyConfigurationChange() } Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/touchpad/tutorial/ui/viewmodel/EasterEggGestureViewModelTest.kt +8 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.view.MotionEvent import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.inputdevice.tutorial.inputDeviceTutorialLogger import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.collectLastValue import com.android.systemui.kosmos.runTest Loading @@ -36,7 +37,13 @@ import org.junit.runner.RunWith class EasterEggGestureViewModelTest : SysuiTestCase() { private val kosmos = testKosmos() private val viewModel = EasterEggGestureViewModel() private val viewModel = EasterEggGestureViewModel( GestureRecognizerAdapter( EasterEggRecognizerProvider(), kosmos.inputDeviceTutorialLogger, ) ) @Before fun before() { Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/touchpad/tutorial/ui/viewmodel/HomeGestureScreenViewModelTest.kt +14 −6 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.ui.data.repository.fakeConfigurationRepository import com.android.systemui.common.ui.domain.interactor.configurationInteractor import com.android.systemui.inputdevice.tutorial.inputDeviceTutorialLogger import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.collectLastValue import com.android.systemui.kosmos.runTest Loading @@ -37,6 +37,7 @@ import com.android.systemui.touchpad.tutorial.ui.gesture.MultiFingerGesture.Comp import com.android.systemui.touchpad.tutorial.ui.gesture.ThreeFingerGesture import com.android.systemui.touchpad.tutorial.ui.gesture.Velocity import com.android.systemui.touchpad.ui.gesture.fakeVelocityTracker import com.android.systemui.touchpad.ui.gesture.touchpadGestureResources import com.google.common.truth.Truth.assertThat import org.junit.Before import org.junit.Test Loading @@ -59,7 +60,12 @@ class HomeGestureScreenViewModelTest : SysuiTestCase() { private val resources = kosmos.mockResources private val viewModel = HomeGestureScreenViewModel(kosmos.configurationInteractor, resources, fakeVelocityTracker) HomeGestureScreenViewModel( GestureRecognizerAdapter( HomeGestureRecognizerProvider(kosmos.touchpadGestureResources, fakeVelocityTracker), kosmos.inputDeviceTutorialLogger, ) ) @Before fun before() { Loading Loading @@ -126,10 +132,12 @@ class HomeGestureScreenViewModelTest : SysuiTestCase() { } private fun setDistanceThreshold(threshold: Float) { fakeConfigRepository.setDimensionPixelSize( R.dimen.touchpad_tutorial_gestures_distance_threshold, (threshold).toInt(), whenever( resources.getDimensionPixelSize( R.dimen.touchpad_tutorial_gestures_distance_threshold ) ) .thenReturn(threshold.toInt()) fakeConfigRepository.onAnyConfigurationChange() } Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/touchpad/tutorial/ui/viewmodel/RecentAppsGestureScreenViewModelTest.kt +9 −4 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.common.ui.data.repository.fakeConfigurationRepository import com.android.systemui.common.ui.domain.interactor.configurationInteractor import com.android.systemui.inputdevice.tutorial.inputDeviceTutorialLogger import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.collectLastValue import com.android.systemui.kosmos.runTest Loading @@ -37,6 +37,7 @@ import com.android.systemui.touchpad.tutorial.ui.gesture.MultiFingerGesture.Comp import com.android.systemui.touchpad.tutorial.ui.gesture.ThreeFingerGesture import com.android.systemui.touchpad.tutorial.ui.gesture.Velocity import com.android.systemui.touchpad.ui.gesture.fakeVelocityTracker import com.android.systemui.touchpad.ui.gesture.touchpadGestureResources import com.google.common.truth.Truth.assertThat import org.junit.Before import org.junit.Test Loading @@ -60,9 +61,13 @@ class RecentAppsGestureScreenViewModelTest : SysuiTestCase() { private val viewModel = RecentAppsGestureScreenViewModel( kosmos.configurationInteractor, resources, GestureRecognizerAdapter( RecentAppsGestureRecognizerProvider( kosmos.touchpadGestureResources, fakeVelocityTracker, ), kosmos.inputDeviceTutorialLogger, ) ) @Before Loading
packages/SystemUI/src/com/android/systemui/touchpad/tutorial/TouchpadTutorialModule.kt +39 −1 Original line number Diff line number Diff line Loading @@ -30,9 +30,15 @@ import com.android.systemui.touchpad.tutorial.ui.composable.HomeGestureTutorialS import com.android.systemui.touchpad.tutorial.ui.gesture.VelocityTracker import com.android.systemui.touchpad.tutorial.ui.gesture.VerticalVelocityTracker import com.android.systemui.touchpad.tutorial.ui.view.TouchpadTutorialActivity import com.android.systemui.touchpad.tutorial.ui.viewmodel.BackGestureRecognizerProvider import com.android.systemui.touchpad.tutorial.ui.viewmodel.BackGestureScreenViewModel import com.android.systemui.touchpad.tutorial.ui.viewmodel.EasterEggGestureViewModel import com.android.systemui.touchpad.tutorial.ui.viewmodel.EasterEggRecognizerProvider import com.android.systemui.touchpad.tutorial.ui.viewmodel.GestureRecognizerAdapter import com.android.systemui.touchpad.tutorial.ui.viewmodel.HomeGestureRecognizerProvider import com.android.systemui.touchpad.tutorial.ui.viewmodel.HomeGestureScreenViewModel import com.android.systemui.touchpad.tutorial.ui.viewmodel.RecentAppsGestureRecognizerProvider import com.android.systemui.touchpad.tutorial.ui.viewmodel.RecentAppsGestureScreenViewModel import dagger.Binds import dagger.Module import dagger.Provides Loading @@ -53,14 +59,46 @@ interface TouchpadTutorialModule { fun touchpadScreensProvider( backGestureScreenViewModel: BackGestureScreenViewModel, homeGestureScreenViewModel: HomeGestureScreenViewModel, easterEggGestureViewModel: EasterEggGestureViewModel, ): TouchpadTutorialScreensProvider { return ScreensProvider( backGestureScreenViewModel, homeGestureScreenViewModel, EasterEggGestureViewModel(), easterEggGestureViewModel, ) } @Provides fun recentAppsViewModel( recognizerProvider: RecentAppsGestureRecognizerProvider, adapterFactory: GestureRecognizerAdapter.Factory, ): RecentAppsGestureScreenViewModel { return RecentAppsGestureScreenViewModel(adapterFactory.create(recognizerProvider)) } @Provides fun backViewModel( recognizerProvider: BackGestureRecognizerProvider, adapterFactory: GestureRecognizerAdapter.Factory, ): BackGestureScreenViewModel { return BackGestureScreenViewModel(adapterFactory.create(recognizerProvider)) } @Provides fun homeViewModel( recognizerProvider: HomeGestureRecognizerProvider, adapterFactory: GestureRecognizerAdapter.Factory, ): HomeGestureScreenViewModel { return HomeGestureScreenViewModel(adapterFactory.create(recognizerProvider)) } @Provides fun easterEggViewModel( adapterFactory: GestureRecognizerAdapter.Factory ): EasterEggGestureViewModel { return EasterEggGestureViewModel(adapterFactory.create(EasterEggRecognizerProvider())) } @SysUISingleton @Provides fun touchpadGesturesInteractor( Loading