Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ae40494e authored by Hao Dong's avatar Hao Dong
Browse files

Use shared lib for settings v2.

Test: settingsv2 tests passed
Bug: 302372183

Change-Id: I6d1b20853b26662c538e804b1191bb720f1d7b8f
parent df1e559e
Loading
Loading
Loading
Loading
+1 −34
Original line number Diff line number Diff line
@@ -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
+3 −3
Original line number Diff line number Diff line
@@ -24,14 +24,14 @@ import android.hardware.fingerprint.FingerprintManager.RemovalCallback
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 @@ class FingerprintManagerInteractorImpl(
    val sensorPropertiesInternal = fingerprintManager.sensorPropertiesInternal
    emit(
      if (sensorPropertiesInternal.isEmpty()) null
      else Util.sensorPropsToViewModel(sensorPropertiesInternal.first())
      else sensorPropertiesInternal.first().toFingerprintSensor()
    )
  }

+1 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ android_library {
      "**/*.kt"
    ],
    static_libs: [
      "BiometricsSharedLib",
      "kotlinx-coroutines-android",
    ],
}
 No newline at end of file
+2 −2
Original line number Diff line number Diff line
@@ -18,9 +18,9 @@ package com.android.settings.biometrics.fingerprint2.shared.domain.interactor

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 @@ interface FingerprintManagerInteractor {
  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
+0 −33
Original line number Diff line number Diff line
@@ -32,36 +32,3 @@ sealed class FingerprintAuthAttemptViewModel {
    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
)
Loading