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 
18 package com.android.systemui.keyguard.shared.model
19 
20 import android.util.Log
21 import com.android.keyguard.KeyguardClockSwitch
22 
23 enum class ClockSize(
24     @KeyguardClockSwitch.ClockSize val legacyValue: Int,
25 ) {
26     SMALL(KeyguardClockSwitch.SMALL),
27     LARGE(KeyguardClockSwitch.LARGE);
28 
29     companion object {
30         private val TAG = ClockSize::class.simpleName!!
fromLegacynull31         fun fromLegacy(@KeyguardClockSwitch.ClockSize value: Int): ClockSize {
32             for (enumVal in enumValues<ClockSize>()) {
33                 if (enumVal.legacyValue == value) {
34                     return enumVal
35                 }
36             }
37 
38             Log.e(TAG, "Unrecognized legacy clock size value: $value")
39             return LARGE
40         }
41     }
42 }
43 
44 enum class ClockSizeSetting(
45     val settingValue: Int,
46 ) {
47     DYNAMIC(1),
48     SMALL(0);
49 
50     companion object {
51         private val TAG = ClockSizeSetting::class.simpleName!!
fromSettingValuenull52         fun fromSettingValue(value: Int): ClockSizeSetting {
53             for (enumVal in enumValues<ClockSizeSetting>()) {
54                 if (enumVal.settingValue == value) {
55                     return enumVal
56                 }
57             }
58 
59             Log.e(TAG, "Unrecognized clock setting value: $value")
60             return DYNAMIC
61         }
62     }
63 }
64