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

Commit d11b9d16 authored by Hao Dong's avatar Hao Dong Committed by Android (Google) Code Review
Browse files

Merge "Use shared lib for settings v2." into main

parents 51ab3f95 ae40494e
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