1 /*
2  * Copyright (C) 2023 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.systemui.biometrics.shared.model
18 
19 import android.hardware.biometrics.SensorProperties
20 
21 /** Sensor security strength. Represents [SensorProperties.Strength]. */
22 enum class SensorStrength {
23     CONVENIENCE,
24     WEAK,
25     STRONG,
26 }
27 
28 /** Convert [this] to corresponding [SensorStrength] */
Intnull29 fun Int.toSensorStrength(): SensorStrength =
30     when (this) {
31         SensorProperties.STRENGTH_CONVENIENCE -> SensorStrength.CONVENIENCE
32         SensorProperties.STRENGTH_WEAK -> SensorStrength.WEAK
33         SensorProperties.STRENGTH_STRONG -> SensorStrength.STRONG
34         else -> throw IllegalArgumentException("Invalid SensorStrength value: $this")
35     }
36 /** Convert [SensorStrength] to corresponding [Int] */
toIntnull37 fun SensorStrength.toInt(): Int =
38     when (this) {
39         SensorStrength.CONVENIENCE -> SensorProperties.STRENGTH_CONVENIENCE
40         SensorStrength.WEAK -> SensorProperties.STRENGTH_WEAK
41         SensorStrength.STRONG -> SensorProperties.STRENGTH_STRONG
42     }
43