1 /*
2  * Copyright (C) 2012 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.layoutlib.bridge.android;
18 
19 import android.os.BatterySaverPolicyConfig;
20 import android.os.ParcelDuration;
21 import android.os.IBinder;
22 import android.os.IPowerManager;
23 import android.os.PowerManager;
24 import android.os.PowerManager.WakeReason;
25 import android.os.PowerSaveState;
26 import android.os.RemoteException;
27 import android.os.WorkSource;
28 
29 /**
30  * Fake implementation of IPowerManager.
31  */
32 public class BridgePowerManager implements IPowerManager {
33 
34     @Override
isInteractive()35     public boolean isInteractive() throws RemoteException {
36         return true;
37     }
38 
39     @Override
isPowerSaveMode()40     public boolean isPowerSaveMode() throws RemoteException {
41         return false;
42     }
43 
44     @Override
setPowerSaveModeEnabled(boolean mode)45     public boolean setPowerSaveModeEnabled(boolean mode) throws RemoteException {
46         return false;
47     }
48 
49     @Override
getFullPowerSavePolicy()50     public BatterySaverPolicyConfig getFullPowerSavePolicy() {
51         return new BatterySaverPolicyConfig.Builder().build();
52     }
53 
54     @Override
setFullPowerSavePolicy(BatterySaverPolicyConfig config)55     public boolean setFullPowerSavePolicy(BatterySaverPolicyConfig config) {
56         return false;
57     }
58 
59     @Override
setDynamicPowerSaveHint(boolean powerSaveHint, int disableThreshold)60     public boolean setDynamicPowerSaveHint(boolean powerSaveHint, int disableThreshold)
61             throws RemoteException {
62         return false;
63     }
64 
65     @Override
setAdaptivePowerSavePolicy(BatterySaverPolicyConfig config)66     public boolean setAdaptivePowerSavePolicy(BatterySaverPolicyConfig config)
67             throws RemoteException {
68         return false;
69     }
70 
71     @Override
setAdaptivePowerSaveEnabled(boolean enabled)72     public boolean setAdaptivePowerSaveEnabled(boolean enabled) throws RemoteException {
73         return false;
74     }
75 
76     @Override
getPowerSaveModeTrigger()77     public int getPowerSaveModeTrigger() {
78         return 0;
79     }
80 
getPowerSaveState(int serviceType)81     public PowerSaveState getPowerSaveState(int serviceType) {
82         return null;
83     }
84 
85     @Override
setBatteryDischargePrediction(ParcelDuration timeRemaining, boolean isPersonalized)86     public void setBatteryDischargePrediction(ParcelDuration timeRemaining,
87             boolean isPersonalized) {
88         // pass for now
89     }
90 
91     @Override
getBatteryDischargePrediction()92     public ParcelDuration getBatteryDischargePrediction() {
93         return null;
94     }
95 
96     @Override
isBatteryDischargePredictionPersonalized()97     public boolean isBatteryDischargePredictionPersonalized() {
98         return false;
99     }
100 
101     @Override
asBinder()102     public IBinder asBinder() {
103         // pass for now.
104         return null;
105     }
106 
107     @Override
acquireWakeLock(IBinder arg0, int arg1, String arg2, String arg2_5, WorkSource arg3, String arg4, int arg5)108     public void acquireWakeLock(IBinder arg0, int arg1, String arg2, String arg2_5, WorkSource arg3,
109             String arg4, int arg5)
110             throws RemoteException {
111         // pass for now.
112     }
113 
114     @Override
acquireWakeLockAsync(IBinder arg0, int arg1, String arg2, String arg2_5, WorkSource arg3, String arg4)115     public void acquireWakeLockAsync(IBinder arg0, int arg1, String arg2, String arg2_5,
116             WorkSource arg3, String arg4) throws RemoteException {
117         // pass for now.
118     }
119 
120     @Override
acquireWakeLockWithUid(IBinder arg0, int arg1, String arg2, String arg2_5, int arg3, int arg4)121     public void acquireWakeLockWithUid(IBinder arg0, int arg1, String arg2, String arg2_5,
122             int arg3, int arg4)
123             throws RemoteException {
124         // pass for now.
125     }
126 
127     @Override
setPowerBoost(int boost, int durationMs)128     public void setPowerBoost(int boost, int durationMs) {
129         // pass for now.
130     }
131 
132     @Override
setPowerMode(int mode, boolean enabled)133     public void setPowerMode(int mode, boolean enabled) {
134         // pass for now.
135     }
136 
137     @Override
setPowerModeChecked(int mode, boolean enabled)138     public boolean setPowerModeChecked(int mode, boolean enabled) {
139         return false;
140     }
141 
142     @Override
crash(String arg0)143     public void crash(String arg0) throws RemoteException {
144         // pass for now.
145     }
146 
147     @Override
goToSleep(long arg0, int arg1, int arg2)148     public void goToSleep(long arg0, int arg1, int arg2) throws RemoteException {
149         // pass for now.
150     }
151 
152     @Override
nap(long arg0)153     public void nap(long arg0) throws RemoteException {
154         // pass for now.
155     }
156 
157     @Override
getBrightnessConstraint(int constraint)158     public float getBrightnessConstraint(int constraint) {
159         return PowerManager.BRIGHTNESS_MAX;
160     }
161 
162     @Override
reboot(boolean confirm, String reason, boolean wait)163     public void reboot(boolean confirm, String reason, boolean wait) {
164         // pass for now.
165     }
166 
167     @Override
rebootSafeMode(boolean confirm, boolean wait)168     public void rebootSafeMode(boolean confirm, boolean wait) {
169         // pass for now.
170     }
171 
172     @Override
shutdown(boolean confirm, String reason, boolean wait)173     public void shutdown(boolean confirm, String reason, boolean wait) {
174         // pass for now.
175     }
176 
177     @Override
releaseWakeLock(IBinder arg0, int arg1)178     public void releaseWakeLock(IBinder arg0, int arg1) throws RemoteException {
179         // pass for now.
180     }
181 
182     @Override
releaseWakeLockAsync(IBinder arg0, int arg1)183     public void releaseWakeLockAsync(IBinder arg0, int arg1) throws RemoteException {
184         // pass for now.
185     }
186 
187     @Override
updateWakeLockUids(IBinder arg0, int[] arg1)188     public void updateWakeLockUids(IBinder arg0, int[] arg1) throws RemoteException {
189         // pass for now.
190     }
191 
192     @Override
updateWakeLockUidsAsync(IBinder arg0, int[] arg1)193     public void updateWakeLockUidsAsync(IBinder arg0, int[] arg1) throws RemoteException {
194         // pass for now.
195     }
196 
197     @Override
setAttentionLight(boolean arg0, int arg1)198     public void setAttentionLight(boolean arg0, int arg1) throws RemoteException {
199         // pass for now.
200     }
201 
202     @Override
setStayOnSetting(int arg0)203     public void setStayOnSetting(int arg0) throws RemoteException {
204         // pass for now.
205     }
206 
207     @Override
updateWakeLockWorkSource(IBinder arg0, WorkSource arg1, String arg2)208     public void updateWakeLockWorkSource(IBinder arg0, WorkSource arg1, String arg2) throws RemoteException {
209         // pass for now.
210     }
211 
212     @Override
isWakeLockLevelSupported(int level)213     public boolean isWakeLockLevelSupported(int level) throws RemoteException {
214         // pass for now.
215         return true;
216     }
217 
218     @Override
userActivity(int displayId, long time, int event, int flags)219     public void userActivity(int displayId, long time, int event, int flags)
220             throws RemoteException {
221         // pass for now.
222     }
223 
224     @Override
wakeUp(long time, @WakeReason int reason, String details , String opPackageName)225     public void wakeUp(long time, @WakeReason int reason, String details , String opPackageName)
226             throws RemoteException {
227         // pass for now.
228     }
229 
230     @Override
boostScreenBrightness(long time)231     public void boostScreenBrightness(long time) throws RemoteException {
232         // pass for now.
233     }
234 
235     @Override
isDeviceIdleMode()236     public boolean isDeviceIdleMode() throws RemoteException {
237         return false;
238     }
239 
240     @Override
isLightDeviceIdleMode()241     public boolean isLightDeviceIdleMode() throws RemoteException {
242         return false;
243     }
244 
245     @Override
isScreenBrightnessBoosted()246     public boolean isScreenBrightnessBoosted() throws RemoteException {
247         return false;
248     }
249 
250     @Override
getLastShutdownReason()251     public int getLastShutdownReason() {
252         return PowerManager.SHUTDOWN_REASON_UNKNOWN;
253     }
254 
255     @Override
getLastSleepReason()256     public int getLastSleepReason() {
257         return PowerManager.GO_TO_SLEEP_REASON_TIMEOUT;
258     }
259 
260     @Override
setDozeAfterScreenOff(boolean mode)261     public void setDozeAfterScreenOff(boolean mode) throws RemoteException {
262         // pass for now.
263     }
264 
265     @Override
isAmbientDisplayAvailable()266     public boolean isAmbientDisplayAvailable() {
267         return false;
268     }
269 
270     @Override
suppressAmbientDisplay(String token, boolean suppress)271     public void suppressAmbientDisplay(String token, boolean suppress) {
272         // pass for now
273     }
274 
275     @Override
isAmbientDisplaySuppressedForToken(String token)276     public boolean isAmbientDisplaySuppressedForToken(String token) {
277         return false;
278     }
279 
280     @Override
isAmbientDisplaySuppressedForTokenByApp(String token, int appUid)281     public boolean isAmbientDisplaySuppressedForTokenByApp(String token, int appUid) {
282         return false;
283     }
284 
285     @Override
isAmbientDisplaySuppressed()286     public boolean isAmbientDisplaySuppressed() {
287         return false;
288     }
289 
290     @Override
forceSuspend()291     public boolean forceSuspend() {
292         return false;
293     }
294 }
295