diff --git a/AndroidManifest.xml b/AndroidManifest.xml index c3bd4dfb4ee..b147fff310e 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -2567,7 +2567,8 @@ - @@ -4942,7 +4943,7 @@ + android:value="com.android.settings.biometrics.fingerprint2.ui.settings.fragment.FingerprintSettingsV2Fragment" /> diff --git a/src/com/android/settings/biometrics/fingerprint2/README.md b/src/com/android/settings/biometrics/fingerprint2/README.md new file mode 100644 index 00000000000..4a99a2bb9f6 --- /dev/null +++ b/src/com/android/settings/biometrics/fingerprint2/README.md @@ -0,0 +1,10 @@ +### Fingerprint Settings Enrollment + +#### Flows + +* FingerprintSettings (ui.settings.fragment.FingerprintSettingsV2Fragment) +* FingerprintEnrollment (ui.enrollment.activity.FingerprintEnrollmentV2Activity) + +#### Style + +* Please use [kfmt](https://plugins.jetbrains.com/plugin/14912-ktfmt) \ No newline at end of file diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractor.kt index 2fbdedfc7e4..e7c458dc9af 100644 --- a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractor.kt +++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractor.kt @@ -25,8 +25,8 @@ import android.hardware.fingerprint.FingerprintSensorPropertiesInternal import android.os.CancellationSignal import android.util.Log import com.android.settings.biometrics.GatekeeperPasswordProvider -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintAuthAttemptViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptViewModel +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel import com.android.settings.password.ChooseLockSettingsHelper import kotlin.coroutines.resume import kotlin.coroutines.suspendCoroutine diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/shared/model/FingerprintViewModel.kt similarity index 86% rename from src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintViewModel.kt rename to src/com/android/settings/biometrics/fingerprint2/shared/model/FingerprintViewModel.kt index 1df0e34f060..36bdf8ddb6e 100644 --- a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintViewModel.kt +++ b/src/com/android/settings/biometrics/fingerprint2/shared/model/FingerprintViewModel.kt @@ -14,7 +14,9 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.ui.viewmodel +package com.android.settings.biometrics.fingerprint2.shared.model + +import android.hardware.fingerprint.FingerprintSensorPropertiesInternal /** Represents the fingerprint data nad the relevant state. */ data class FingerprintStateViewModel( @@ -23,6 +25,7 @@ data class FingerprintStateViewModel( val maxFingerprints: Int, val hasSideFps: Boolean, val pressToAuth: Boolean, + val sensorProps: FingerprintSensorPropertiesInternal, ) data class FingerprintViewModel( diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/README.md b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/README.md new file mode 100644 index 00000000000..8469f59222a --- /dev/null +++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/README.md @@ -0,0 +1,23 @@ +### Fingerprint Settings Enrollment + +#### Entry Points (To FingerprintEnrollment) + +* FingerprintSettings (which launches the below intent) +* Intent -> ".biometrics.fingerprint2.ui.enrollment.activity.FingerprintEnrollmentV2Activity") + +#### General Architecture + +The code should follow the MVVM architecture. + +**In addition, one activity (FingerprintEnrollmentV2Activity) should** + +* Control a list of fragments which correspond to enrollment steps +* Be responsible for navigation events between fragments +* Be responsible for navigation events to other activities if need be ( + ConfirmDeviceCredentialActivity) +* Be the controller of the viewmodels + +#### Style + +* Please use [kfmt](https://plugins.jetbrains.com/plugin/14912-ktfmt) + diff --git a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/activity/FingerprintEnrollmentV2Activity.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/activity/FingerprintEnrollmentV2Activity.kt similarity index 85% rename from src/com/android/settings/biometrics/fingerprint2/enrollment/ui/activity/FingerprintEnrollmentV2Activity.kt rename to src/com/android/settings/biometrics/fingerprint2/ui/enrollment/activity/FingerprintEnrollmentV2Activity.kt index 7bea4b4e515..d497d464257 100644 --- a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/activity/FingerprintEnrollmentV2Activity.kt +++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/activity/FingerprintEnrollmentV2Activity.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.enrollment.ui.activity +package com.android.settings.biometrics.fingerprint2.ui.enrollment.activity import android.annotation.ColorInt import android.app.Activity @@ -40,21 +40,21 @@ import com.android.settings.biometrics.BiometricEnrollBase.CONFIRM_REQUEST import com.android.settings.biometrics.BiometricEnrollBase.RESULT_FINISHED import com.android.settings.biometrics.GatekeeperPasswordProvider import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractorImpl -import com.android.settings.biometrics.fingerprint2.enrollment.ui.fragment.FingerprintEnrollConfirmationV2Fragment -import com.android.settings.biometrics.fingerprint2.enrollment.ui.fragment.FingerprintEnrollEnrollingV2Fragment -import com.android.settings.biometrics.fingerprint2.enrollment.ui.fragment.FingerprintEnrollFindSensorV2Fragment -import com.android.settings.biometrics.fingerprint2.enrollment.ui.fragment.FingerprintEnrollmentIntroV2Fragment -import com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel.Confirmation -import com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel.Education -import com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel.Enrollment -import com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel.FingerprintEnrollmentNavigationViewModel -import com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel.FingerprintGatekeeperViewModel -import com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel.FingerprintScrollViewModel -import com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel.FingerprintViewModel -import com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel.Finish -import com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel.GatekeeperInfo -import com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel.Intro -import com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel.LaunchConfirmDeviceCredential +import com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment.FingerprintEnrollConfirmationV2Fragment +import com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment.FingerprintEnrollEnrollingV2Fragment +import com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment.FingerprintEnrollFindSensorV2Fragment +import com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment.FingerprintEnrollmentIntroV2Fragment +import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.Confirmation +import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.Education +import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.Enrollment +import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollmentNavigationViewModel +import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintGatekeeperViewModel +import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintScrollViewModel +import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintViewModel +import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.Finish +import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.GatekeeperInfo +import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.Intro +import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.LaunchConfirmDeviceCredential import com.android.settings.password.ChooseLockGeneric import com.android.settings.password.ChooseLockSettingsHelper import com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE diff --git a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/fragment/FingerprintEnrollConfirmationV2Fragment.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollConfirmationV2Fragment.kt similarity index 86% rename from src/com/android/settings/biometrics/fingerprint2/enrollment/ui/fragment/FingerprintEnrollConfirmationV2Fragment.kt rename to src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollConfirmationV2Fragment.kt index 84a56587d22..df4cf725ca3 100644 --- a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/fragment/FingerprintEnrollConfirmationV2Fragment.kt +++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollConfirmationV2Fragment.kt @@ -14,12 +14,12 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.enrollment.ui.fragment +package com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment import android.os.Bundle import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider -import com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel.FingerprintEnrollmentNavigationViewModel +import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollmentNavigationViewModel /** * A fragment to indicate that fingerprint enrollment has been completed. diff --git a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/fragment/FingerprintEnrollEnrollingV2Fragment.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollEnrollingV2Fragment.kt similarity index 85% rename from src/com/android/settings/biometrics/fingerprint2/enrollment/ui/fragment/FingerprintEnrollEnrollingV2Fragment.kt rename to src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollEnrollingV2Fragment.kt index 846bad7b491..915aa1f32fb 100644 --- a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/fragment/FingerprintEnrollEnrollingV2Fragment.kt +++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollEnrollingV2Fragment.kt @@ -14,12 +14,12 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.enrollment.ui.fragment +package com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment import android.os.Bundle import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider -import com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel.FingerprintEnrollmentNavigationViewModel +import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollmentNavigationViewModel /** A fragment that is responsible for enrolling a users fingerprint. */ class FingerprintEnrollEnrollingV2Fragment : Fragment() { diff --git a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/fragment/FingerprintEnrollFindSensorV2Fragment.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollFindSensorV2Fragment.kt similarity index 88% rename from src/com/android/settings/biometrics/fingerprint2/enrollment/ui/fragment/FingerprintEnrollFindSensorV2Fragment.kt rename to src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollFindSensorV2Fragment.kt index 6b074678289..e9e1db2b730 100644 --- a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/fragment/FingerprintEnrollFindSensorV2Fragment.kt +++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollFindSensorV2Fragment.kt @@ -14,13 +14,13 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.enrollment.ui.fragment +package com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment import android.os.Bundle import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import com.android.settings.R -import com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel.FingerprintEnrollmentNavigationViewModel +import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollmentNavigationViewModel /** * A fragment that is used to educate the user about the fingerprint sensor on this device. diff --git a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/fragment/FingerprintEnrollmentIntroV2Fragment.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollmentIntroV2Fragment.kt similarity index 95% rename from src/com/android/settings/biometrics/fingerprint2/enrollment/ui/fragment/FingerprintEnrollmentIntroV2Fragment.kt rename to src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollmentIntroV2Fragment.kt index 14229eea5a4..88f8391c032 100644 --- a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/fragment/FingerprintEnrollmentIntroV2Fragment.kt +++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollmentIntroV2Fragment.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.enrollment.ui.fragment +package com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment import android.annotation.NonNull import android.annotation.StringRes @@ -34,11 +34,11 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope import com.android.settings.R -import com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel.FingerprintEnrollmentNavigationViewModel -import com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel.FingerprintGatekeeperViewModel -import com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel.FingerprintScrollViewModel -import com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel.FingerprintViewModel -import com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel.Unicorn +import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollmentNavigationViewModel +import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintGatekeeperViewModel +import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintScrollViewModel +import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintViewModel +import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.Unicorn import com.google.android.setupcompat.template.FooterBarMixin import com.google.android.setupcompat.template.FooterButton import com.google.android.setupdesign.GlifLayout diff --git a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/viewmodel/FingerprintEnrolllmentNavigationViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrolllmentNavigationViewModel.kt similarity index 98% rename from src/com/android/settings/biometrics/fingerprint2/enrollment/ui/viewmodel/FingerprintEnrolllmentNavigationViewModel.kt rename to src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrolllmentNavigationViewModel.kt index d074fdd5df5..6a8a8c40acc 100644 --- a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/viewmodel/FingerprintEnrolllmentNavigationViewModel.kt +++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrolllmentNavigationViewModel.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel +package com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel import android.util.Log import androidx.lifecycle.ViewModel diff --git a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/viewmodel/FingerprintGatekeeperViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintGatekeeperViewModel.kt similarity index 98% rename from src/com/android/settings/biometrics/fingerprint2/enrollment/ui/viewmodel/FingerprintGatekeeperViewModel.kt rename to src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintGatekeeperViewModel.kt index 8079f7a69c5..5486e7ab37d 100644 --- a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/viewmodel/FingerprintGatekeeperViewModel.kt +++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintGatekeeperViewModel.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel +package com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel import android.os.CountDownTimer import android.util.Log diff --git a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/viewmodel/FingerprintScrollViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintScrollViewModel.kt similarity index 95% rename from src/com/android/settings/biometrics/fingerprint2/enrollment/ui/viewmodel/FingerprintScrollViewModel.kt rename to src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintScrollViewModel.kt index ad90fc757b7..d79d9c0e8bc 100644 --- a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/viewmodel/FingerprintScrollViewModel.kt +++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintScrollViewModel.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel +package com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider diff --git a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/viewmodel/FingerprintStateViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintStateViewModel.kt similarity index 78% rename from src/com/android/settings/biometrics/fingerprint2/enrollment/ui/viewmodel/FingerprintStateViewModel.kt rename to src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintStateViewModel.kt index 1acd15a032d..20e3a0a90a6 100644 --- a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/viewmodel/FingerprintStateViewModel.kt +++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintStateViewModel.kt @@ -14,13 +14,13 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel +package com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel -import android.hardware.fingerprint.FingerprintSensorPropertiesInternal import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractor +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintStateViewModel import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow @@ -28,21 +28,6 @@ import kotlinx.coroutines.flow.last import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch -/** Represents the fingerprint data nad the relevant state. */ -data class FingerprintStateViewModel( - val fingerprintViewModels: List, - val canEnroll: Boolean, - val maxFingerprints: Int, - val sensorProps: FingerprintSensorPropertiesInternal, -) - -/** Represents a fingerprint enrollment. */ -data class FingerEnrollmentViewModel( - val name: String, - val fingerId: Int, - val deviceId: Long, -) - /** Represents all of the fingerprint information needed for fingerprint enrollment. */ class FingerprintViewModel(fingerprintManagerInteractor: FingerprintManagerInteractor) : ViewModel() { @@ -61,7 +46,11 @@ class FingerprintViewModel(fingerprintManagerInteractor: FingerprintManagerInter viewModelScope.launch { val enrolledFingerprints = fingerprintManagerInteractor.enrolledFingerprints.last().map { - FingerEnrollmentViewModel(it.name, it.fingerId, it.deviceId) + com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel( + it.name, + it.fingerId, + it.deviceId + ) } val sensorProps = fingerprintManagerInteractor.sensorPropertiesInternal().first() val maxFingerprints = 5 @@ -70,6 +59,8 @@ class FingerprintViewModel(fingerprintManagerInteractor: FingerprintManagerInter enrolledFingerprints, enrolledFingerprints.size < maxFingerprints, maxFingerprints, + sensorProps.isAnySidefpsType, + false, sensorProps, ) } diff --git a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/viewmodel/NextStepViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/NextStepViewModel.kt similarity index 97% rename from src/com/android/settings/biometrics/fingerprint2/enrollment/ui/viewmodel/NextStepViewModel.kt rename to src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/NextStepViewModel.kt index a8a8077db2d..e99b8f91e6c 100644 --- a/src/com/android/settings/biometrics/fingerprint2/enrollment/ui/viewmodel/NextStepViewModel.kt +++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/NextStepViewModel.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.enrollment.ui.viewmodel +package com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel /** * A class that represents an action that the consumer should transition between lastStep and diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/settings/README.md b/src/com/android/settings/biometrics/fingerprint2/ui/settings/README.md new file mode 100644 index 00000000000..461ffc2cac2 --- /dev/null +++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/README.md @@ -0,0 +1,17 @@ +### Fingerprint Settings Enrollment + +#### Entry Point (For Fingerprint Settings) + +* [SecuritySettings] (https://cs.android.com/android/platform/superproject/+/master:packages/apps/Settings/src/com/android/settings/security/SecuritySettings.java;l=40?q=SecuritySettings) + +#### General Architecture + +The code should follow the MVVM architecture. + +The FingerprintSettingsV2Fragment is responsible for most of the heavy lifting. It should coordinate +navigation events, maintain the viewmodels, and launch new activities if need be. + +#### Style + +* Please use [kfmt](https://plugins.jetbrains.com/plugin/14912-ktfmt) + diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/binder/FingerprintSettingsViewBinder.kt b/src/com/android/settings/biometrics/fingerprint2/ui/settings/binder/FingerprintSettingsViewBinder.kt similarity index 81% rename from src/com/android/settings/biometrics/fingerprint2/ui/binder/FingerprintSettingsViewBinder.kt rename to src/com/android/settings/biometrics/fingerprint2/ui/settings/binder/FingerprintSettingsViewBinder.kt index d9f3e43fa6f..6a4463038dd 100644 --- a/src/com/android/settings/biometrics/fingerprint2/ui/binder/FingerprintSettingsViewBinder.kt +++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/binder/FingerprintSettingsViewBinder.kt @@ -14,25 +14,25 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.ui.binder +package com.android.settings.biometrics.fingerprint2.ui.settings.binder import android.hardware.fingerprint.FingerprintManager import android.util.Log import androidx.lifecycle.LifecycleCoroutineScope -import com.android.settings.biometrics.fingerprint2.ui.binder.FingerprintSettingsViewBinder.FingerprintView -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.EnrollAdditionalFingerprint -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.EnrollFirstFingerprint -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintAuthAttemptViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsNavigationViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintStateViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FinishSettings -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FinishSettingsWithResult -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.LaunchConfirmDeviceCredential -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.LaunchedActivity -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.PreferenceViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.ShowSettings +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptViewModel +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintStateViewModel +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel +import com.android.settings.biometrics.fingerprint2.ui.settings.binder.FingerprintSettingsViewBinder.FingerprintView +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.EnrollAdditionalFingerprint +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.EnrollFirstFingerprint +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FingerprintSettingsNavigationViewModel +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FingerprintSettingsViewModel +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FinishSettings +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FinishSettingsWithResult +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.LaunchConfirmDeviceCredential +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.LaunchedActivity +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.PreferenceViewModel +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.ShowSettings import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job import kotlinx.coroutines.flow.collectLatest diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintDeletionDialog.kt b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintDeletionDialog.kt similarity index 97% rename from src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintDeletionDialog.kt rename to src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintDeletionDialog.kt index 42e20477acc..32b50c5747b 100644 --- a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintDeletionDialog.kt +++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintDeletionDialog.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.ui.fragment +package com.android.settings.biometrics.fingerprint2.ui.settings.fragment import android.app.Dialog import android.app.admin.DevicePolicyManager @@ -26,7 +26,7 @@ import android.os.Bundle import android.os.UserManager import androidx.appcompat.app.AlertDialog import com.android.settings.R -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel import com.android.settings.core.instrumentation.InstrumentedDialogFragment import kotlin.coroutines.resume import kotlinx.coroutines.suspendCancellableCoroutine diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsPreference.kt b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsPreference.kt similarity index 95% rename from src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsPreference.kt rename to src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsPreference.kt index e12785d12f0..b1e5097c565 100644 --- a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsPreference.kt +++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsPreference.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.ui.fragment +package com.android.settings.biometrics.fingerprint2.ui.settings.fragment import android.content.Context import android.util.Log @@ -22,7 +22,7 @@ import android.view.View import androidx.lifecycle.lifecycleScope import androidx.preference.PreferenceViewHolder import com.android.settings.R -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel import com.android.settingslib.widget.TwoTargetPreference import kotlinx.coroutines.delay import kotlinx.coroutines.launch diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsRenameDialog.kt b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsRenameDialog.kt similarity index 94% rename from src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsRenameDialog.kt rename to src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsRenameDialog.kt index 9542ed83371..0ebc561a815 100644 --- a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsRenameDialog.kt +++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsRenameDialog.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.ui.fragment +package com.android.settings.biometrics.fingerprint2.ui.settings.fragment import android.app.Dialog import android.app.settings.SettingsEnums @@ -27,7 +27,7 @@ import android.util.Log import android.widget.ImeAwareEditText import androidx.appcompat.app.AlertDialog import com.android.settings.R -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel import com.android.settings.core.instrumentation.InstrumentedDialogFragment import kotlin.coroutines.resume import kotlinx.coroutines.suspendCancellableCoroutine @@ -106,8 +106,8 @@ class FingerprintSettingsRenameDialog : InstrumentedDialogFragment() { val dialog = FingerprintSettingsRenameDialog() val onClick = DialogInterface.OnClickListener { _, _ -> - val dialogTextField = dialog.requireDialog() - .requireViewById(R.id.fingerprint_rename_field) as ImeAwareEditText + val dialogTextField = + dialog.requireDialog().findViewById(R.id.fingerprint_rename_field) as ImeAwareEditText val newName = dialogTextField.text.toString() if (!TextUtils.equals(newName, fp.name)) { Log.d(TAG, "rename $fp.name to $newName for $dialog") diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsV2Fragment.kt b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsV2Fragment.kt similarity index 97% rename from src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsV2Fragment.kt rename to src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsV2Fragment.kt index b82f7c1aec3..7dcf46aea41 100644 --- a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsV2Fragment.kt +++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsV2Fragment.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.ui.fragment +package com.android.settings.biometrics.fingerprint2.ui.settings.fragment import android.app.Activity import android.app.admin.DevicePolicyManager @@ -26,7 +26,6 @@ import android.hardware.fingerprint.FingerprintManager import android.os.Bundle import android.provider.Settings.Secure import android.text.TextUtils -import android.util.FeatureFlagUtils import android.util.Log import android.view.View import android.widget.Toast @@ -47,12 +46,12 @@ import com.android.settings.biometrics.GatekeeperPasswordProvider import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling import com.android.settings.biometrics.fingerprint.FingerprintEnrollIntroductionInternal import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractorImpl -import com.android.settings.biometrics.fingerprint2.ui.binder.FingerprintSettingsViewBinder -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintAuthAttemptViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsNavigationViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintStateViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptViewModel +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintStateViewModel +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel +import com.android.settings.biometrics.fingerprint2.ui.settings.binder.FingerprintSettingsViewBinder +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FingerprintSettingsNavigationViewModel +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FingerprintSettingsViewModel import com.android.settings.core.SettingsBaseActivity import com.android.settings.core.instrumentation.InstrumentedDialogFragment import com.android.settings.dashboard.DashboardFragment @@ -164,6 +163,7 @@ class FingerprintSettingsV2Fragment : Log.d(TAG, "onCreate()") } + /* if ( !FeatureFlagUtils.isEnabled( context, @@ -175,6 +175,8 @@ class FingerprintSettingsV2Fragment : return } + */ + val context = requireContext() val userId = context.userId diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintSettingsNavigationViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsNavigationViewModel.kt similarity index 98% rename from src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintSettingsNavigationViewModel.kt rename to src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsNavigationViewModel.kt index a638806474b..538bb6d5540 100644 --- a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintSettingsNavigationViewModel.kt +++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsNavigationViewModel.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.ui.viewmodel +package com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel import android.hardware.fingerprint.FingerprintManager import androidx.lifecycle.ViewModel diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintSettingsViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsViewModel.kt similarity index 96% rename from src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintSettingsViewModel.kt rename to src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsViewModel.kt index 0bae07533a1..fbd0f1d251e 100644 --- a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintSettingsViewModel.kt +++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsViewModel.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.ui.viewmodel +package com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel import android.hardware.fingerprint.FingerprintManager import android.hardware.fingerprint.FingerprintSensorProperties @@ -24,6 +24,9 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractor +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptViewModel +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintStateViewModel +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableSharedFlow @@ -270,7 +273,8 @@ class FingerprintSettingsViewModel( canEnrollFingerprint, maxFingerprints, hasSideFps, - pressToAuthEnabled + pressToAuthEnabled, + fingerprintManagerInteractor.sensorPropertiesInternal().first(), ) } } diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/NextStepViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/NextStepViewModel.kt similarity index 95% rename from src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/NextStepViewModel.kt rename to src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/NextStepViewModel.kt index f9dbbffda33..d9155b6d364 100644 --- a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/NextStepViewModel.kt +++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/NextStepViewModel.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.ui.viewmodel +package com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel /** * A class to represent a high level step for FingerprintSettings. This is typically to perform an diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/PreferenceViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/PreferenceViewModel.kt similarity index 85% rename from src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/PreferenceViewModel.kt rename to src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/PreferenceViewModel.kt index 05764a217f1..4c33f7f0415 100644 --- a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/PreferenceViewModel.kt +++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/PreferenceViewModel.kt @@ -14,7 +14,9 @@ * limitations under the License. */ -package com.android.settings.biometrics.fingerprint2.ui.viewmodel +package com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel + +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel /** Classed use to represent a Dialogs state. */ sealed class PreferenceViewModel { diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java index a06af8eb9e8..f269ed11051 100644 --- a/src/com/android/settings/core/gateway/SettingsGateway.java +++ b/src/com/android/settings/core/gateway/SettingsGateway.java @@ -72,7 +72,7 @@ import com.android.settings.biometrics.combination.CombinedBiometricProfileSetti import com.android.settings.biometrics.combination.CombinedBiometricSettings; import com.android.settings.biometrics.face.FaceSettings; import com.android.settings.biometrics.fingerprint.FingerprintSettings; -import com.android.settings.biometrics.fingerprint2.ui.fragment.FingerprintSettingsV2Fragment; +import com.android.settings.biometrics.fingerprint2.ui.settings.fragment.FingerprintSettingsV2Fragment; import com.android.settings.bluetooth.BluetoothBroadcastDialog; import com.android.settings.bluetooth.BluetoothDeviceDetailsFragment; import com.android.settings.bluetooth.BluetoothFindBroadcastsFragment; diff --git a/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FakeFingerprintManagerInteractor.kt b/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FakeFingerprintManagerInteractor.kt index 1848c01c10b..759306e6bb0 100644 --- a/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FakeFingerprintManagerInteractor.kt +++ b/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FakeFingerprintManagerInteractor.kt @@ -20,8 +20,8 @@ import android.hardware.biometrics.SensorProperties import android.hardware.fingerprint.FingerprintSensorProperties.TYPE_POWER_BUTTON import android.hardware.fingerprint.FingerprintSensorPropertiesInternal import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractor -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintAuthAttemptViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptViewModel +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow diff --git a/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FingerprintManagerInteractorTest.kt b/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FingerprintManagerInteractorTest.kt index 7af740adb2c..cc6f42af2aa 100644 --- a/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FingerprintManagerInteractorTest.kt +++ b/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FingerprintManagerInteractorTest.kt @@ -29,8 +29,8 @@ import androidx.test.core.app.ApplicationProvider import com.android.settings.biometrics.GatekeeperPasswordProvider import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractor import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractorImpl -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintAuthAttemptViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptViewModel +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel import com.android.settings.password.ChooseLockSettingsHelper import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.cancelAndJoin diff --git a/tests/unit/src/com/android/settings/fingerprint2/viewmodel/FingerprintSettingsNavigationViewModelTest.kt b/tests/unit/src/com/android/settings/fingerprint2/settings/viewmodel/FingerprintSettingsNavigationViewModelTest.kt similarity index 93% rename from tests/unit/src/com/android/settings/fingerprint2/viewmodel/FingerprintSettingsNavigationViewModelTest.kt rename to tests/unit/src/com/android/settings/fingerprint2/settings/viewmodel/FingerprintSettingsNavigationViewModelTest.kt index 9206afb44e6..6bb8a165312 100644 --- a/tests/unit/src/com/android/settings/fingerprint2/viewmodel/FingerprintSettingsNavigationViewModelTest.kt +++ b/tests/unit/src/com/android/settings/fingerprint2/settings/viewmodel/FingerprintSettingsNavigationViewModelTest.kt @@ -14,18 +14,18 @@ * limitations under the License. */ -package com.android.settings.fingerprint2.viewmodel +package com.android.settings.fingerprint2.settings.viewmodel import androidx.arch.core.executor.testing.InstantTaskExecutorRule import com.android.settings.biometrics.BiometricEnrollBase -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.EnrollFirstFingerprint -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsNavigationViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FinishSettings -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FinishSettingsWithResult -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.LaunchConfirmDeviceCredential -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.NextStepViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.ShowSettings +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.EnrollFirstFingerprint +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FingerprintSettingsNavigationViewModel +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FinishSettings +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FinishSettingsWithResult +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.LaunchConfirmDeviceCredential +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.NextStepViewModel +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.ShowSettings import com.android.settings.fingerprint2.domain.interactor.FakeFingerprintManagerInteractor import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.Dispatchers diff --git a/tests/unit/src/com/android/settings/fingerprint2/viewmodel/FingerprintSettingsViewModelTest.kt b/tests/unit/src/com/android/settings/fingerprint2/settings/viewmodel/FingerprintSettingsViewModelTest.kt similarity index 96% rename from tests/unit/src/com/android/settings/fingerprint2/viewmodel/FingerprintSettingsViewModelTest.kt rename to tests/unit/src/com/android/settings/fingerprint2/settings/viewmodel/FingerprintSettingsViewModelTest.kt index 8bd0b10560b..e8a4d55274f 100644 --- a/tests/unit/src/com/android/settings/fingerprint2/viewmodel/FingerprintSettingsViewModelTest.kt +++ b/tests/unit/src/com/android/settings/fingerprint2/settings/viewmodel/FingerprintSettingsViewModelTest.kt @@ -14,17 +14,17 @@ * limitations under the License. */ -package com.android.settings.fingerprint2.viewmodel +package com.android.settings.fingerprint2.settings.viewmodel import android.hardware.biometrics.SensorProperties import android.hardware.fingerprint.FingerprintSensorProperties import android.hardware.fingerprint.FingerprintSensorPropertiesInternal import androidx.arch.core.executor.testing.InstantTaskExecutorRule -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintAuthAttemptViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsNavigationViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel -import com.android.settings.biometrics.fingerprint2.ui.viewmodel.PreferenceViewModel +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptViewModel +import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FingerprintSettingsNavigationViewModel +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FingerprintSettingsViewModel +import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.PreferenceViewModel import com.android.settings.fingerprint2.domain.interactor.FakeFingerprintManagerInteractor import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.Dispatchers