Merge "Add feature flags for Factory Reset Wizard." into main
diff --git a/res/layout/accessibility_launch_activity_preference.xml b/res/layout/accessibility_launch_activity_preference.xml
index 6791206..f3841e2 100644
--- a/res/layout/accessibility_launch_activity_preference.xml
+++ b/res/layout/accessibility_launch_activity_preference.xml
@@ -21,8 +21,7 @@
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingVertical="@dimen/settingslib_switchbar_margin"
- android:background="@android:color/transparent"
- android:importantForAccessibility="no">
+ android:background="@android:color/transparent">
<FrameLayout
android:layout_height="wrap_content"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index dc06f3a..3d05af3 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -12460,6 +12460,8 @@
<!-- Developer settings: select Grammatical gender dialog title [CHAR LIMIT=50]-->
<string name="grammatical_gender_dialog_title">Select Grammatical gender</string>
- <!-- Developer settings: Title for the screen allowing user to control Quarantined apps [CHAR LIMIT=50] -->
- <string name="quarantined_apps_title">Quarantined Apps</string>
+ <!-- Do not translate. Developer settings: Title for the screen allowing user to control Quarantined apps [CHAR LIMIT=50] -->
+ <string name="quarantined_apps_title" translatable="false">Quarantined Apps</string>
+ <!-- Do not translate. Developer settings: Button to unquarantine an app [CHAR LIMIT=20] -->
+ <string name="unquarantine_app_button" translatable="false">Unquarantine app</string>
</resources>
diff --git a/src/com/android/settings/biometrics/fingerprint2/conversion/Util.kt b/src/com/android/settings/biometrics/fingerprint2/conversion/Util.kt
index b2767c3..98b7ed0 100644
--- a/src/com/android/settings/biometrics/fingerprint2/conversion/Util.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/conversion/Util.kt
@@ -17,43 +17,10 @@
package com.android.settings.biometrics.fingerprint2.conversion
import android.hardware.fingerprint.FingerprintManager
-import android.hardware.fingerprint.FingerprintSensorProperties
-import android.hardware.fingerprint.FingerprintSensorPropertiesInternal
import com.android.settings.biometrics.fingerprint2.shared.model.EnrollReason
-import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintSensorPropertyViewModel
-import com.android.settings.biometrics.fingerprint2.shared.model.SensorStrength
-import com.android.settings.biometrics.fingerprint2.shared.model.SensorType
-class Util {
- companion object {
- fun sensorPropsToViewModel(
- props: FingerprintSensorPropertiesInternal
- ): FingerprintSensorPropertyViewModel {
- val sensorStrength: SensorStrength =
- when (props.sensorStrength) {
- FingerprintSensorProperties.STRENGTH_CONVENIENCE -> SensorStrength.Convenient
- FingerprintSensorProperties.STRENGTH_WEAK -> SensorStrength.Weak
- FingerprintSensorProperties.STRENGTH_STRONG -> SensorStrength.Strong
- else -> SensorStrength.Unknown
- }
- val sensorType: SensorType =
- when (props.sensorType) {
- FingerprintSensorProperties.TYPE_UDFPS_OPTICAL -> SensorType.Optical
- FingerprintSensorProperties.TYPE_UDFPS_ULTRASONIC -> SensorType.Ultrasonic
- FingerprintSensorProperties.TYPE_REAR -> SensorType.RFPS
- FingerprintSensorProperties.TYPE_POWER_BUTTON -> SensorType.SFPS
- else -> SensorType.Unknown
- }
- return FingerprintSensorPropertyViewModel(
- props.sensorId,
- sensorStrength,
- props.maxEnrollmentsPerUser,
- sensorType
- )
- }
- }
+class Util
-}
fun EnrollReason.toOriginalReason(): Int {
return when (this) {
EnrollReason.EnrollEnrolling -> FingerprintManager.ENROLL_ENROLL
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractorImpl.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractorImpl.kt
index 41da247..5c9232f 100644
--- a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractorImpl.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractorImpl.kt
@@ -24,14 +24,14 @@
import android.os.CancellationSignal
import android.util.Log
import com.android.settings.biometrics.GatekeeperPasswordProvider
-import com.android.settings.biometrics.fingerprint2.conversion.Util
import com.android.settings.biometrics.fingerprint2.conversion.toOriginalReason
import com.android.settings.biometrics.fingerprint2.shared.domain.interactor.FingerprintManagerInteractor
import com.android.settings.biometrics.fingerprint2.shared.model.EnrollReason
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerEnrollStateViewModel
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptViewModel
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel
-import com.android.settings.biometrics.fingerprint2.shared.model.FingerEnrollStateViewModel
import com.android.settings.password.ChooseLockSettingsHelper
+import com.android.systemui.biometrics.shared.model.toFingerprintSensor
import kotlin.coroutines.resume
import kotlin.coroutines.suspendCoroutine
import kotlinx.coroutines.CancellableContinuation
@@ -94,7 +94,7 @@
val sensorPropertiesInternal = fingerprintManager.sensorPropertiesInternal
emit(
if (sensorPropertiesInternal.isEmpty()) null
- else Util.sensorPropsToViewModel(sensorPropertiesInternal.first())
+ else sensorPropertiesInternal.first().toFingerprintSensor()
)
}
diff --git a/src/com/android/settings/biometrics/fingerprint2/shared/Android.bp b/src/com/android/settings/biometrics/fingerprint2/shared/Android.bp
index 8873fd8..145f3d6 100644
--- a/src/com/android/settings/biometrics/fingerprint2/shared/Android.bp
+++ b/src/com/android/settings/biometrics/fingerprint2/shared/Android.bp
@@ -8,6 +8,7 @@
"**/*.kt"
],
static_libs: [
+ "BiometricsSharedLib",
"kotlinx-coroutines-android",
],
}
\ No newline at end of file
diff --git a/src/com/android/settings/biometrics/fingerprint2/shared/domain/interactor/FingerprintManagerInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/shared/domain/interactor/FingerprintManagerInteractor.kt
index 5353bb2..7286715 100644
--- a/src/com/android/settings/biometrics/fingerprint2/shared/domain/interactor/FingerprintManagerInteractor.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/shared/domain/interactor/FingerprintManagerInteractor.kt
@@ -18,9 +18,9 @@
import com.android.settings.biometrics.fingerprint2.shared.model.EnrollReason
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptViewModel
-import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintSensorPropertyViewModel
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel
import com.android.settings.biometrics.fingerprint2.shared.model.FingerEnrollStateViewModel
+import com.android.systemui.biometrics.shared.model.FingerprintSensor
import kotlinx.coroutines.flow.Flow
/**
@@ -40,7 +40,7 @@
val canEnrollFingerprints: Flow<Boolean>
/** Retrieves the sensor properties of a device */
- val sensorPropertiesInternal: Flow<FingerprintSensorPropertyViewModel?>
+ val sensorPropertiesInternal: Flow<FingerprintSensor?>
/** Runs the authenticate flow */
suspend fun authenticate(): FingerprintAuthAttemptViewModel
diff --git a/src/com/android/settings/biometrics/fingerprint2/shared/model/FingerprintViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/shared/model/FingerprintViewModel.kt
index fc9539c..db28e79 100644
--- a/src/com/android/settings/biometrics/fingerprint2/shared/model/FingerprintViewModel.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/shared/model/FingerprintViewModel.kt
@@ -32,36 +32,3 @@
val message: String,
) : FingerprintAuthAttemptViewModel()
}
-
-/** The various types of fingerprint sensors */
-sealed class SensorType {
- /** Rear fingerprint sensor */
- data object RFPS : SensorType()
-
- /** Optical under display sensor */
- data object Optical : SensorType()
-
- /** Ultrasonic under display sensor */
- data object Ultrasonic : SensorType()
-
- /** Side fingerprint sensor */
- data object SFPS : SensorType()
-
- /** Unkonwn fingerprint sensor */
- data object Unknown : SensorType()
-}
-
-/** The strength of a given sensor */
-sealed class SensorStrength {
- data object Convenient : SensorStrength()
- data object Weak : SensorStrength()
- data object Strong : SensorStrength()
- data object Unknown : SensorStrength()
-}
-
-data class FingerprintSensorPropertyViewModel(
- val sensorId: Int,
- val sensorStrength: SensorStrength,
- val maxEnrollmentsPerUser: Int,
- val sensorType: SensorType
-)
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollFindSensorV2Fragment.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollFindSensorV2Fragment.kt
index e4ac00f..dcdcccf 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollFindSensorV2Fragment.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollFindSensorV2Fragment.kt
@@ -29,7 +29,6 @@
import com.android.settings.R
import com.android.settings.biometrics.fingerprint.FingerprintErrorDialog
import com.android.settings.biometrics.fingerprint.FingerprintFindSensorAnimation
-import com.android.settings.biometrics.fingerprint2.shared.model.SensorType
import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollFindSensorViewModel
import com.android.systemui.biometrics.shared.model.FingerprintSensorType
import com.google.android.setupcompat.template.FooterBarMixin
@@ -66,9 +65,9 @@
viewModel.sensorType.collect {
contentLayoutId =
when (it) {
- SensorType.Optical,
- SensorType.Ultrasonic -> R.layout.udfps_enroll_find_sensor_layout
- SensorType.SFPS -> R.layout.sfps_enroll_find_sensor_layout
+ FingerprintSensorType.UDFPS_OPTICAL,
+ FingerprintSensorType.UDFPS_ULTRASONIC -> R.layout.udfps_enroll_find_sensor_layout
+ FingerprintSensorType.POWER_BUTTON -> R.layout.sfps_enroll_find_sensor_layout
else -> R.layout.fingerprint_v2_enroll_find_sensor
}
}
@@ -171,14 +170,14 @@
illustrationLottie?.visibility = View.VISIBLE
}
- private fun setTexts(sensorType: SensorType, view: GlifLayout) {
+ private fun setTexts(sensorType: FingerprintSensorType, view: GlifLayout) {
when (sensorType) {
- SensorType.Optical,
- SensorType.Ultrasonic -> {
+ FingerprintSensorType.UDFPS_OPTICAL,
+ FingerprintSensorType.UDFPS_ULTRASONIC -> {
view.setHeaderText(R.string.security_settings_udfps_enroll_find_sensor_title)
view.setDescriptionText(R.string.security_settings_udfps_enroll_find_sensor_message)
}
- SensorType.SFPS -> {
+ FingerprintSensorType.POWER_BUTTON -> {
view.setHeaderText(R.string.security_settings_sfps_enroll_find_sensor_title)
view.setDescriptionText(R.string.security_settings_sfps_enroll_find_sensor_message)
}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollIntroV2Fragment.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollIntroV2Fragment.kt
index 2ebc5d5..dbf6d12 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollIntroV2Fragment.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollIntroV2Fragment.kt
@@ -35,10 +35,10 @@
import com.android.settings.R
import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollNavigationViewModel
import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollViewModel
-import com.android.settings.biometrics.fingerprint2.shared.model.SensorType
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.Unicorn
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
import com.google.android.setupcompat.template.FooterBarMixin
import com.google.android.setupcompat.template.FooterButton
import com.google.android.setupdesign.GlifLayout
@@ -144,8 +144,8 @@
val iconShield: ImageView = view.requireViewById(R.id.icon_shield)
val footerMessage6: TextView = view.requireViewById(R.id.footer_message_6)
when (sensorType) {
- SensorType.Ultrasonic,
- SensorType.Optical -> {
+ FingerprintSensorType.UDFPS_ULTRASONIC,
+ FingerprintSensorType.UDFPS_OPTICAL -> {
footerMessage6.visibility = View.VISIBLE
iconShield.visibility = View.VISIBLE
}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollFindSensorViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollFindSensorViewModel.kt
index c877d67..94bfce3 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollFindSensorViewModel.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollFindSensorViewModel.kt
@@ -22,7 +22,6 @@
import androidx.lifecycle.viewModelScope
import com.android.settings.biometrics.fingerprint2.shared.model.EnrollReason
import com.android.settings.biometrics.fingerprint2.shared.model.FingerEnrollStateViewModel
-import com.android.settings.biometrics.fingerprint2.shared.model.SensorType
import com.android.systemui.biometrics.shared.model.FingerprintSensorType
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
@@ -45,13 +44,13 @@
orientationStateViewModel: OrientationStateViewModel
) : ViewModel() {
/** Represents the stream of sensor type. */
- val sensorType: Flow<SensorType> =
+ val sensorType: Flow<FingerprintSensorType> =
fingerprintEnrollViewModel.sensorType.filterWhenEducationIsShown()
private val _isUdfps: Flow<Boolean> =
sensorType.map {
- it == SensorType.Optical || it == SensorType.Ultrasonic
+ it == FingerprintSensorType.UDFPS_OPTICAL || it == FingerprintSensorType.UDFPS_ULTRASONIC
}
- private val _isSfps: Flow<Boolean> = sensorType.map { it == SensorType.RFPS }
+ private val _isSfps: Flow<Boolean> = sensorType.map { it == FingerprintSensorType.POWER_BUTTON }
private val _isRearSfps: Flow<Boolean> =
combineTransform(_isSfps, _isUdfps) { v1, v2 -> !v1 && !v2 }
@@ -95,8 +94,8 @@
) { sensorType, hasValidGatekeeperInfo, gatekeeperInfo, navigationViewModel ->
val shouldStartEnroll =
navigationViewModel.currStep == Education &&
- sensorType != SensorType.Optical &&
- sensorType != SensorType.Ultrasonic &&
+ sensorType != FingerprintSensorType.UDFPS_OPTICAL &&
+ sensorType != FingerprintSensorType.UDFPS_ULTRASONIC &&
hasValidGatekeeperInfo
if (shouldStartEnroll) (gatekeeperInfo as GatekeeperInfo.GatekeeperPasswordInfo).token
else null
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollViewModel.kt
index b2c51db..392d205 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollViewModel.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollViewModel.kt
@@ -20,7 +20,6 @@
import com.android.settings.biometrics.fingerprint2.shared.domain.interactor.FingerprintManagerInteractor
import com.android.settings.biometrics.fingerprint2.shared.model.EnrollReason
import com.android.settings.biometrics.fingerprint2.shared.model.FingerEnrollStateViewModel
-import com.android.settings.biometrics.fingerprint2.shared.model.SensorType
import com.android.systemui.biometrics.shared.model.FingerprintSensorType
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.flow.Flow
@@ -46,7 +45,7 @@
private var _consumerShouldEnroll: MutableStateFlow<Boolean> = MutableStateFlow(false)
/** Represents the stream of [FingerprintSensorType] */
- val sensorType: Flow<SensorType> =
+ val sensorType: Flow<FingerprintSensorType> =
fingerprintManagerInteractor.sensorPropertiesInternal.filterNotNull().map { it.sensorType }
/**
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsViewModel.kt
index d2691b4..fa1e5e1 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsViewModel.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsViewModel.kt
@@ -24,7 +24,7 @@
import com.android.settings.biometrics.fingerprint2.shared.domain.interactor.FingerprintManagerInteractor
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptViewModel
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel
-import com.android.settings.biometrics.fingerprint2.shared.model.SensorType
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableSharedFlow
@@ -89,7 +89,7 @@
private val _consumerShouldAuthenticate: MutableStateFlow<Boolean> = MutableStateFlow(false)
- private val _fingerprintSensorType: Flow<SensorType> =
+ private val _fingerprintSensorType: Flow<FingerprintSensorType> =
fingerprintManagerInteractor.sensorPropertiesInternal.filterNotNull().map { it.sensorType }
private val _sensorNullOrEmpty: Flow<Boolean> =
@@ -146,7 +146,10 @@
if (sensorNullOrEmpty) {
return@combine false
}
- if (listOf(SensorType.Ultrasonic, SensorType.Optical).contains(sensorType)) {
+ if (
+ listOf(FingerprintSensorType.UDFPS_ULTRASONIC, FingerprintSensorType.UDFPS_OPTICAL)
+ .contains(sensorType)
+ ) {
return@combine false
}
diff --git a/src/com/android/settings/development/quarantine/QuarantinedAppsScreenController.java b/src/com/android/settings/development/quarantine/QuarantinedAppsScreenController.java
index e5373fd..c3cb38d 100644
--- a/src/com/android/settings/development/quarantine/QuarantinedAppsScreenController.java
+++ b/src/com/android/settings/development/quarantine/QuarantinedAppsScreenController.java
@@ -19,6 +19,7 @@
import android.app.Application;
import android.content.Context;
import android.content.pm.PackageManager;
+import android.content.pm.SuspendDialogInfo;
import android.os.UserHandle;
import androidx.annotation.VisibleForTesting;
@@ -181,8 +182,17 @@
private void setPackageQuarantined(String pkg, int uid, boolean quarantined) {
final PackageManager pm = mContext.createContextAsUser(
UserHandle.getUserHandleForUid(uid), 0).getPackageManager();
+ final SuspendDialogInfo dialogInfo;
+ if (quarantined) {
+ dialogInfo = new SuspendDialogInfo.Builder()
+ .setNeutralButtonText(R.string.unquarantine_app_button)
+ .setNeutralButtonAction(SuspendDialogInfo.BUTTON_ACTION_UNSUSPEND)
+ .build();
+ } else {
+ dialogInfo = null;
+ }
pm.setPackagesSuspended(new String[] {pkg}, quarantined, null /* appExtras */,
- null /* launcherExtras */, null /* dialogInfo */,
+ null /* launcherExtras */, dialogInfo,
PackageManager.FLAG_SUSPEND_QUARANTINED);
}
diff --git a/src/com/android/settings/display/FoldLockBehaviorPreferenceController.java b/src/com/android/settings/display/FoldLockBehaviorPreferenceController.java
index 88e78e8..661eb99 100644
--- a/src/com/android/settings/display/FoldLockBehaviorPreferenceController.java
+++ b/src/com/android/settings/display/FoldLockBehaviorPreferenceController.java
@@ -24,12 +24,12 @@
import static com.android.settings.display.FoldLockBehaviorSettings.SETTING_VALUE_STAY_AWAKE_ON_FOLD;
import android.content.Context;
-import android.content.res.Resources;
import android.os.UserHandle;
import android.provider.Settings;
import androidx.preference.Preference;
+import com.android.internal.foldables.FoldLockSettingAvailabilityProvider;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
@@ -45,17 +45,17 @@
*/
public class FoldLockBehaviorPreferenceController extends BasePreferenceController {
- private final Resources mResources;
-
- private static Map<String, String> KEY_TO_TEXT = new HashMap<>();
+ private static final Map<String, String> KEY_TO_TEXT = new HashMap<>();
+ private final FoldLockSettingAvailabilityProvider mFoldLockSettingAvailabilityProvider;
public FoldLockBehaviorPreferenceController(Context context, String key) {
- this(context, key, context.getResources());
+ this(context, key, new FoldLockSettingAvailabilityProvider(context.getResources()));
}
- public FoldLockBehaviorPreferenceController(Context context, String key, Resources resources) {
+ public FoldLockBehaviorPreferenceController(Context context, String key,
+ FoldLockSettingAvailabilityProvider foldLockSettingAvailabilityProvider) {
super(context, key);
- mResources = resources;
+ mFoldLockSettingAvailabilityProvider = foldLockSettingAvailabilityProvider;
KEY_TO_TEXT.put(SETTING_VALUE_STAY_AWAKE_ON_FOLD,
resourceToString(R.string.stay_awake_on_fold_title));
KEY_TO_TEXT.put(SETTING_VALUE_SELECTIVE_STAY_AWAKE,
@@ -66,7 +66,9 @@
@Override
public int getAvailabilityStatus() {
- return mResources.getBoolean(com.android.internal.R.bool.config_fold_lock_behavior)
+ boolean isFoldLockBehaviorAvailable =
+ mFoldLockSettingAvailabilityProvider.isFoldLockBehaviorAvailable();
+ return isFoldLockBehaviorAvailable
? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java
index 4db4d3b..ea4fa3a 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java
@@ -146,10 +146,15 @@
return false;
}
- private String getActionKey(String packageName) {
- final String actionKey = TextUtils.isEmpty(packageName)
- ? PACKAGE_NAME_NONE : packageName;
- return mAnomalyEventId == null ? actionKey : actionKey + "|" + mAnomalyEventId;
+ private boolean isAnomalyBatteryDiffEntry(BatteryDiffEntry entry) {
+ return mIsHighlightSlot && mAnomalyEntryKey != null
+ && mAnomalyEntryKey.equals(entry.getKey());
+ }
+
+ private String getActionKey(BatteryDiffEntry entry) {
+ final String actionKey = TextUtils.isEmpty(entry.getPackageName())
+ ? PACKAGE_NAME_NONE : entry.getPackageName();
+ return !isAnomalyBatteryDiffEntry(entry) ? actionKey : actionKey + "|" + mAnomalyEventId;
}
@Override
@@ -159,17 +164,16 @@
}
final PowerGaugePreference powerPref = (PowerGaugePreference) preference;
final BatteryDiffEntry diffEntry = powerPref.getBatteryDiffEntry();
- final String packageName = diffEntry.getPackageName();
mMetricsFeatureProvider.action(
/* attribution */ SettingsEnums.OPEN_BATTERY_USAGE,
/* action */ diffEntry.isSystemEntry()
? SettingsEnums.ACTION_BATTERY_USAGE_SYSTEM_ITEM
: SettingsEnums.ACTION_BATTERY_USAGE_APP_ITEM,
/* pageId */ SettingsEnums.OPEN_BATTERY_USAGE,
- getActionKey(packageName),
+ getActionKey(diffEntry),
(int) Math.round(diffEntry.getPercentage()));
Log.d(TAG, String.format("handleClick() label=%s key=%s package=%s",
- diffEntry.getAppLabel(), diffEntry.getKey(), packageName));
+ diffEntry.getAppLabel(), diffEntry.getKey(), diffEntry.getPackageName()));
AdvancedPowerUsageDetail.startBatteryDetailPage(
mActivity, mFragment, diffEntry, powerPref.getPercentage(), mSlotTimestamp);
return true;
@@ -324,9 +328,7 @@
pref.setOrder(prefIndex);
pref.setSingleLineTitle(true);
// Updates App item preference style
- pref.setAnomalyHint(mIsHighlightSlot && mAnomalyEntryKey != null
- && mAnomalyEntryKey.equals(entry.getKey())
- ? mAnomalyHintString : null);
+ pref.setAnomalyHint(isAnomalyBatteryDiffEntry(entry) ? mAnomalyHintString : null);
// Sets the BatteryDiffEntry to preference for launching detailed page.
pref.setBatteryDiffEntry(entry);
pref.setSelectable(entry.validForRestriction());
diff --git a/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceController.kt b/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceController.kt
index 2cc26f6..4349b4c 100644
--- a/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceController.kt
+++ b/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceController.kt
@@ -21,6 +21,7 @@
import android.app.AppOpsManager.OP_USE_FULL_SCREEN_INTENT
import android.content.AttributionSource
import android.content.Context
+import android.content.pm.PackageManager.NameNotFoundException
import android.content.pm.PackageManager.FLAG_PERMISSION_USER_SET
import android.content.pm.PackageManager.GET_PERMISSIONS
import android.os.UserHandle
@@ -79,12 +80,16 @@
}
private fun isPermissionRequested(): Boolean {
- val packageInfo = packageManager.getPackageInfo(packageName, GET_PERMISSIONS)
+ try {
+ val packageInfo = packageManager.getPackageInfo(packageName, GET_PERMISSIONS)
- for (requestedPermission in packageInfo.requestedPermissions.orEmpty()) {
- if (USE_FULL_SCREEN_INTENT.equals(requestedPermission)) {
- return true
+ for (requestedPermission in packageInfo.requestedPermissions.orEmpty()) {
+ if (USE_FULL_SCREEN_INTENT.equals(requestedPermission)) {
+ return true
+ }
}
+ } catch (exception: NameNotFoundException) {
+ Log.e(TAG, "isPermissionRequested failed: $exception")
}
return false
diff --git a/tests/robotests/assets/exempt_slice_controller_not_in_xml b/tests/robotests/assets/exempt_slice_controller_not_in_xml
index 93bd9f3..88c716f 100644
--- a/tests/robotests/assets/exempt_slice_controller_not_in_xml
+++ b/tests/robotests/assets/exempt_slice_controller_not_in_xml
@@ -1,17 +1,17 @@
com.android.settings.accessibility.AccessibilitySlicePreferenceController
-com.android.settings.core.TogglePreferenceControllerTest$FakeToggle
+com.android.settings.accessibility.ReduceBrightColorsIntensityPreferenceController
+com.android.settings.accessibility.ReduceBrightColorsPersistencePreferenceController
com.android.settings.biometrics.face.FaceSettingsAttentionPreferenceController
+com.android.settings.core.TogglePreferenceControllerTest$FakeToggle
com.android.settings.display.DeviceStateAutoRotateSettingController
com.android.settings.display.SmartAutoRotatePreferenceController
com.android.settings.gestures.OneHandedMainSwitchPreferenceController
-com.android.settings.network.telephony.MmsMessagePreferenceController
com.android.settings.network.telephony.AutoDataSwitchPreferenceController
com.android.settings.network.telephony.Enhanced4gBasePreferenceController
+com.android.settings.network.telephony.MmsMessagePreferenceController
com.android.settings.notification.RingVolumePreferenceController
-com.android.settings.testutils.FakeToggleController
-com.android.settings.testutils.FakeSliderController
com.android.settings.testutils.FakeInvalidSliderController
+com.android.settings.testutils.FakeSliderController
+com.android.settings.testutils.FakeToggleController
+com.android.settings.users.GuestTelephonyPreferenceController
com.android.settings.wifi.details2.WifiAutoConnectPreferenceController2
-com.android.settings.accessibility.ReduceBrightColorsIntensityPreferenceController
-com.android.settings.accessibility.ReduceBrightColorsPersistencePreferenceController
-
diff --git a/tests/robotests/src/com/android/settings/development/quarantine/QuarantinedAppsScreenControllerTest.java b/tests/robotests/src/com/android/settings/development/quarantine/QuarantinedAppsScreenControllerTest.java
index 32ad0ad..a93e529 100644
--- a/tests/robotests/src/com/android/settings/development/quarantine/QuarantinedAppsScreenControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/quarantine/QuarantinedAppsScreenControllerTest.java
@@ -20,6 +20,7 @@
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isNull;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
@@ -28,6 +29,7 @@
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
+import android.content.pm.SuspendDialogInfo;
import android.os.UserHandle;
import androidx.test.core.app.ApplicationProvider;
@@ -70,12 +72,12 @@
mController.onPreferenceChange(preference, true);
verify(packageManager).setPackagesSuspended(aryEq(new String[] {TEST_PACKAGE}), eq(true),
- any(), any(), any(),
+ isNull(), isNull(), any(SuspendDialogInfo.class),
eq(PackageManager.FLAG_SUSPEND_QUARANTINED));
mController.onPreferenceChange(preference, false);
verify(packageManager).setPackagesSuspended(aryEq(new String[] {TEST_PACKAGE}), eq(false),
- any(), any(), any(),
+ isNull(), isNull(), isNull(),
eq(PackageManager.FLAG_SUSPEND_QUARANTINED));
}
diff --git a/tests/robotests/src/com/android/settings/display/FoldLockBehaviorPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/FoldLockBehaviorPreferenceControllerTest.java
index 2510bf1..4fc56b0 100644
--- a/tests/robotests/src/com/android/settings/display/FoldLockBehaviorPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/FoldLockBehaviorPreferenceControllerTest.java
@@ -25,9 +25,8 @@
import static org.mockito.Mockito.when;
import android.content.Context;
-import android.content.res.Resources;
-import com.android.internal.R;
+import com.android.internal.foldables.FoldLockSettingAvailabilityProvider;
import org.junit.Before;
import org.junit.Test;
@@ -41,27 +40,29 @@
public class FoldLockBehaviorPreferenceControllerTest {
@Mock
- private Resources mResources;
+ private FoldLockSettingAvailabilityProvider mFoldLockSettingAvailabilityProvider;
private Context mContext;
private FoldLockBehaviorPreferenceController mController;
@Before
public void setUp() {
mContext = RuntimeEnvironment.application;
- mResources = Mockito.mock(Resources.class);
- mController = new FoldLockBehaviorPreferenceController(mContext, "key", mResources);
+ mFoldLockSettingAvailabilityProvider = Mockito.mock(
+ FoldLockSettingAvailabilityProvider.class);
+ mController = new FoldLockBehaviorPreferenceController(mContext, "key",
+ mFoldLockSettingAvailabilityProvider);
}
@Test
public void getAvailabilityStatus_withConfigNoShow_returnUnsupported() {
- when(mResources.getBoolean(R.bool.config_fold_lock_behavior)).thenReturn(false);
+ when(mFoldLockSettingAvailabilityProvider.isFoldLockBehaviorAvailable()).thenReturn(false);
assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
}
@Test
public void getAvailabilityStatus_withConfigNoShow_returnAvailable() {
- when(mResources.getBoolean(R.bool.config_fold_lock_behavior)).thenReturn(true);
+ when(mFoldLockSettingAvailabilityProvider.isFoldLockBehaviorAvailable()).thenReturn(true);
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
}
diff --git a/tests/robotests/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceControllerTest.kt b/tests/robotests/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceControllerTest.kt
index 64bb849..89e33ee 100644
--- a/tests/robotests/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceControllerTest.kt
+++ b/tests/robotests/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceControllerTest.kt
@@ -30,6 +30,7 @@
import android.content.pm.PackageManager
import android.content.pm.PackageManager.FLAG_PERMISSION_USER_SET
import android.content.pm.PackageManager.GET_PERMISSIONS
+import android.content.pm.PackageManager.NameNotFoundException
import android.os.UserHandle
import android.permission.PermissionManager.PERMISSION_GRANTED
import android.permission.PermissionManager.PERMISSION_HARD_DENIED
@@ -134,6 +135,14 @@
}
@Test
+ fun testIsAvailable_notWhenPackageNotFound() {
+ setPackageInfoNotFound()
+ initController()
+
+ assertFalse(controller.isAvailable)
+ }
+
+ @Test
fun testIsEnabled_notWhenDisabledByAdmin() {
setPermissionRequestedInManifest()
initController(admin = makeTestAdmin())
@@ -242,6 +251,12 @@
})
}
+ private fun setPackageInfoNotFound() {
+ whenever(packageManager.getPackageInfo(TEST_PACKAGE, GET_PERMISSIONS)).thenThrow(
+ NameNotFoundException(TEST_PACKAGE)
+ )
+ }
+
private fun setPermissionResult(@PermissionResult result: Int) {
ShadowPermissionChecker.setResult(TEST_PACKAGE, USE_FULL_SCREEN_INTENT, result)
}
diff --git a/tests/shared/Android.bp b/tests/shared/Android.bp
index fca24b6..27573e8 100644
--- a/tests/shared/Android.bp
+++ b/tests/shared/Android.bp
@@ -4,6 +4,7 @@
"src/**/*.kt"
],
libs: [
+ "BiometricsSharedLib",
"FingerprintManagerInteractor",
],
}
diff --git a/tests/shared/src/com/android/settings/testutils2/FakeFingerprintManagerInteractor.kt b/tests/shared/src/com/android/settings/testutils2/FakeFingerprintManagerInteractor.kt
index 05c3e3c..ad943f2 100644
--- a/tests/shared/src/com/android/settings/testutils2/FakeFingerprintManagerInteractor.kt
+++ b/tests/shared/src/com/android/settings/testutils2/FakeFingerprintManagerInteractor.kt
@@ -17,13 +17,13 @@
package com.android.settings.testutils2
import com.android.settings.biometrics.fingerprint2.shared.domain.interactor.FingerprintManagerInteractor
-import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptViewModel
-import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintSensorPropertyViewModel
-import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel
import com.android.settings.biometrics.fingerprint2.shared.model.EnrollReason
import com.android.settings.biometrics.fingerprint2.shared.model.FingerEnrollStateViewModel
-import com.android.settings.biometrics.fingerprint2.shared.model.SensorStrength
-import com.android.settings.biometrics.fingerprint2.shared.model.SensorType
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptViewModel
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel
+import com.android.systemui.biometrics.shared.model.FingerprintSensor
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
+import com.android.systemui.biometrics.shared.model.SensorStrength
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.flowOf
@@ -39,7 +39,12 @@
var pressToAuthEnabled = true
var sensorProp =
- FingerprintSensorPropertyViewModel(0 /* sensorId */, SensorStrength.Strong, 5, SensorType.SFPS)
+ FingerprintSensor(
+ 0 /* sensorId */,
+ SensorStrength.STRONG,
+ 5,
+ FingerprintSensorType.POWER_BUTTON
+ )
override suspend fun authenticate(): FingerprintAuthAttemptViewModel {
return authenticateAttempt
@@ -57,7 +62,7 @@
emit(enrolledFingerprintsInternal.size < enrollableFingerprints)
}
- override val sensorPropertiesInternal: Flow<FingerprintSensorPropertyViewModel?> = flow {
+ override val sensorPropertiesInternal: Flow<FingerprintSensor?> = flow {
emit(sensorProp)
}
@@ -79,7 +84,7 @@
}
override suspend fun hasSideFps(): Boolean {
- return sensorProp.sensorType == SensorType.SFPS
+ return sensorProp.sensorType == FingerprintSensorType.POWER_BUTTON
}
override suspend fun pressToAuthEnabled(): Boolean {
diff --git a/tests/unit/Android.bp b/tests/unit/Android.bp
index 4f044c7..eb38980 100644
--- a/tests/unit/Android.bp
+++ b/tests/unit/Android.bp
@@ -25,6 +25,7 @@
"androidx.preference_preference",
"mockito-target-minus-junit4",
"platform-test-annotations",
+ "platform-test-rules",
"truth-prebuilt",
"kotlinx_coroutines_test",
"flag-junit",
diff --git a/tests/unit/src/com/android/settings/applications/appcompat/UserAspectRatioManagerTest.java b/tests/unit/src/com/android/settings/applications/appcompat/UserAspectRatioManagerTest.java
index 81078e8..61c4507 100644
--- a/tests/unit/src/com/android/settings/applications/appcompat/UserAspectRatioManagerTest.java
+++ b/tests/unit/src/com/android/settings/applications/appcompat/UserAspectRatioManagerTest.java
@@ -17,7 +17,6 @@
package com.android.settings.applications.appcompat;
import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_16_9;
-import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_3_2;
import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_4_3;
import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_FULLSCREEN;
import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_SPLIT_SCREEN;
@@ -45,6 +44,10 @@
import android.content.pm.LauncherApps;
import android.content.pm.PackageManager;
import android.content.res.Resources;
+import android.platform.test.rule.DeviceTypeRule;
+import android.platform.test.rule.FoldableOnly;
+import android.platform.test.rule.LargeScreenOnly;
+import android.platform.test.rule.TabletOnly;
import android.provider.DeviceConfig;
import androidx.test.core.app.ApplicationProvider;
@@ -55,7 +58,9 @@
import org.junit.After;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TestRule;
import org.junit.runner.RunWith;
import java.util.List;
@@ -64,6 +69,7 @@
* To run this test: atest SettingsUnitTests:UserAspectRatioManagerTest
*/
@RunWith(AndroidJUnit4.class)
+@LargeScreenOnly
public class UserAspectRatioManagerTest {
private Context mContext;
@@ -74,6 +80,10 @@
private String mPackageName = "com.test.mypackage";
private LauncherApps mLauncherApps;
private List<LauncherActivityInfo> mLauncherActivities;
+
+ @Rule
+ public TestRule mDeviceTypeRule = new DeviceTypeRule();
+
@Before
public void setUp() {
mContext = spy(ApplicationProvider.getApplicationContext());
@@ -219,7 +229,8 @@
}
@Test
- public void testGetUserMinAspectRatioEntry() {
+ @FoldableOnly
+ public void testGetUserMinAspectRatioEntry_Foldable() {
// R.string.user_aspect_ratio_app_default
final String appDefault = ResourcesUtils.getResourcesString(mContext,
"user_aspect_ratio_app_default");
@@ -232,19 +243,35 @@
assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_SPLIT_SCREEN,
mPackageName)).isEqualTo(ResourcesUtils.getResourcesString(mContext,
"user_aspect_ratio_half_screen"));
- // R.string.user_aspect_ratio_3_2
- assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_3_2, mPackageName))
- .isEqualTo(ResourcesUtils.getResourcesString(mContext, "user_aspect_ratio_3_2"));
// R,string.user_aspect_ratio_4_3
assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_4_3, mPackageName))
.isEqualTo(ResourcesUtils.getResourcesString(mContext, "user_aspect_ratio_4_3"));
- // R.string.user_aspect_ratio_16_9
+ assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_FULLSCREEN,
+ mPackageName)).isEqualTo(ResourcesUtils.getResourcesString(mContext,
+ "user_aspect_ratio_fullscreen"));
+ }
+
+ @Test
+ @TabletOnly
+ public void testGetUserMinAspectRatioEntry_Tablet() {
+ // R.string.user_aspect_ratio_app_default
+ final String appDefault = ResourcesUtils.getResourcesString(mContext,
+ "user_aspect_ratio_app_default");
+ assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_UNSET, mPackageName))
+ .isEqualTo(appDefault);
+ // should always return default if value does not correspond to anything
+ assertThat(mUtils.getUserMinAspectRatioEntry(-1, mPackageName))
+ .isEqualTo(appDefault);
+ // R.string.user_aspect_ratio_half_screen
+ assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_SPLIT_SCREEN,
+ mPackageName)).isEqualTo(ResourcesUtils.getResourcesString(mContext,
+ "user_aspect_ratio_half_screen"));
assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_16_9, mPackageName))
.isEqualTo(ResourcesUtils.getResourcesString(mContext, "user_aspect_ratio_16_9"));
// R.string.user_aspect_ratio_fullscreen
assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_FULLSCREEN,
mPackageName)).isEqualTo(ResourcesUtils.getResourcesString(mContext,
- "user_aspect_ratio_fullscreen"));
+ "user_aspect_ratio_fullscreen"));
}
@Test
diff --git a/tests/unit/src/com/android/settings/fingerprint2/ui/settings/FingerprintSettingsViewModelTest.kt b/tests/unit/src/com/android/settings/fingerprint2/ui/settings/FingerprintSettingsViewModelTest.kt
index fb1d05a..d25ced0 100644
--- a/tests/unit/src/com/android/settings/fingerprint2/ui/settings/FingerprintSettingsViewModelTest.kt
+++ b/tests/unit/src/com/android/settings/fingerprint2/ui/settings/FingerprintSettingsViewModelTest.kt
@@ -18,14 +18,14 @@
import androidx.arch.core.executor.testing.InstantTaskExecutorRule
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptViewModel
-import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintSensorPropertyViewModel
import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintViewModel
-import com.android.settings.biometrics.fingerprint2.shared.model.SensorStrength
-import com.android.settings.biometrics.fingerprint2.shared.model.SensorType
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.testutils2.FakeFingerprintManagerInteractor
+import com.android.systemui.biometrics.shared.model.FingerprintSensor
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
+import com.android.systemui.biometrics.shared.model.SensorStrength
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.collectLatest
@@ -96,11 +96,11 @@
fun authenticate_DoesNotRun_ifOptical() =
testScope.runTest {
fakeFingerprintManagerInteractor.sensorProp =
- FingerprintSensorPropertyViewModel(
+ FingerprintSensor(
0 /* sensorId */,
- SensorStrength.Strong,
+ SensorStrength.STRONG,
5 /* maxEnrollmentsPerUser */,
- SensorType.Optical,
+ FingerprintSensorType.UDFPS_OPTICAL,
)
fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
mutableListOf(FingerprintViewModel("a", 1, 3L))
@@ -132,11 +132,11 @@
fun authenticate_DoesNotRun_ifUltrasonic() =
testScope.runTest {
fakeFingerprintManagerInteractor.sensorProp =
- FingerprintSensorPropertyViewModel(
+ FingerprintSensor(
0 /* sensorId */,
- SensorStrength.Strong,
+ SensorStrength.STRONG,
5 /* maxEnrollmentsPerUser */,
- SensorType.Ultrasonic,
+ FingerprintSensorType.UDFPS_ULTRASONIC,
)
fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
mutableListOf(FingerprintViewModel("a", 1, 3L))
@@ -166,11 +166,11 @@
fun authenticate_DoesRun_ifNotUdfps() =
testScope.runTest {
fakeFingerprintManagerInteractor.sensorProp =
- FingerprintSensorPropertyViewModel(
+ FingerprintSensor(
0 /* sensorId */,
- SensorStrength.Strong,
+ SensorStrength.STRONG,
5 /* maxEnrollmentsPerUser */,
- SensorType.SFPS
+ FingerprintSensorType.POWER_BUTTON
)
fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
mutableListOf(FingerprintViewModel("a", 1, 3L))
@@ -372,11 +372,11 @@
private fun setupAuth(): MutableList<FingerprintViewModel> {
fakeFingerprintManagerInteractor.sensorProp =
- FingerprintSensorPropertyViewModel(
+ FingerprintSensor(
0 /* sensorId */,
- SensorStrength.Strong,
+ SensorStrength.STRONG,
5 /* maxEnrollmentsPerUser */,
- SensorType.SFPS
+ FingerprintSensorType.POWER_BUTTON
)
val fingerprints =
mutableListOf(FingerprintViewModel("a", 1, 3L), FingerprintViewModel("b", 2, 5L))