1 /*
2  * Copyright (C) 2017 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.util.wakelock;
18 
19 import android.os.Handler;
20 import android.os.PowerManager;
21 
22 import com.android.internal.util.Preconditions;
23 
24 public class SettableWakeLock {
25 
26     private final WakeLock mInner;
27 
28     private boolean mAcquired;
29 
SettableWakeLock(WakeLock inner)30     public SettableWakeLock(WakeLock inner) {
31         Preconditions.checkNotNull(inner, "inner wakelock required");
32 
33         mInner = inner;
34     }
35 
isAcquired()36     public synchronized boolean isAcquired() {
37         return mAcquired;
38     }
39 
setAcquired(boolean acquired)40     public synchronized void setAcquired(boolean acquired) {
41         if (mAcquired != acquired) {
42             if (acquired) {
43                 mInner.acquire();
44             } else {
45                 mInner.release();
46             }
47             mAcquired = acquired;
48         }
49     }
50 }
51