1 /*
2  * Copyright (C) 2022 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.keyguard.shared.model
18 
19 import com.android.systemui.keyguard.ScreenLifecycle
20 
21 enum class ScreenState {
22     /** Screen is fully off. */
23     SCREEN_OFF,
24     /** Signal that the screen is turning on. */
25     SCREEN_TURNING_ON,
26     /** Screen is fully on. */
27     SCREEN_ON,
28     /** Signal that the screen is turning off. */
29     SCREEN_TURNING_OFF;
30 
31     companion object {
32         fun fromScreenLifecycleInt(value: Int): ScreenState {
33             return when (value) {
34                 ScreenLifecycle.SCREEN_OFF -> SCREEN_OFF
35                 ScreenLifecycle.SCREEN_TURNING_ON -> SCREEN_TURNING_ON
36                 ScreenLifecycle.SCREEN_ON -> SCREEN_ON
37                 ScreenLifecycle.SCREEN_TURNING_OFF -> SCREEN_TURNING_OFF
38                 else -> throw IllegalArgumentException("Invalid screen value: $value")
39             }
40         }
41     }
42 }
43