1 /* 2 * Copyright (C) 2016 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.server.wm; 18 19 import static android.view.WindowManager.LayoutParams.TYPE_NOTIFICATION_SHADE; 20 21 import android.annotation.Nullable; 22 import android.content.Context; 23 import android.content.res.Configuration; 24 import android.os.Bundle; 25 import android.os.IBinder; 26 import android.os.PowerManager.GoToSleepReason; 27 import android.os.PowerManager.WakeReason; 28 import android.util.proto.ProtoOutputStream; 29 import android.view.KeyEvent; 30 import android.view.KeyboardShortcutGroup; 31 import android.view.WindowManager; 32 import android.view.animation.Animation; 33 34 import com.android.internal.policy.IKeyguardDismissCallback; 35 import com.android.internal.policy.IShortcutService; 36 import com.android.server.policy.WindowManagerPolicy; 37 38 import java.io.PrintWriter; 39 import java.util.Collections; 40 41 class TestWindowManagerPolicy implements WindowManagerPolicy { 42 43 boolean mKeyguardShowingAndNotOccluded = false; 44 boolean mOkToAnimate = true; 45 boolean mIsUserSetupComplete = false; 46 TestWindowManagerPolicy()47 TestWindowManagerPolicy() { 48 } 49 50 @Override registerShortcutKey(long shortcutCode, IShortcutService shortcutKeyReceiver)51 public void registerShortcutKey(long shortcutCode, IShortcutService shortcutKeyReceiver) { 52 } 53 54 @Override init(Context context, WindowManagerFuncs windowManagerFuncs)55 public void init(Context context, WindowManagerFuncs windowManagerFuncs) { 56 } 57 setDefaultDisplay(DisplayContentInfo displayContentInfo)58 public void setDefaultDisplay(DisplayContentInfo displayContentInfo) { 59 } 60 61 @Override checkAddPermission(int type, boolean isRoundedCornerOverlay, String packageName, int[] outAppOp, int displayId)62 public int checkAddPermission(int type, boolean isRoundedCornerOverlay, String packageName, 63 int[] outAppOp, int displayId) { 64 return 0; 65 } 66 67 @Override adjustConfigurationLw(Configuration config, int keyboardPresence, int navigationPresence)68 public void adjustConfigurationLw(Configuration config, int keyboardPresence, 69 int navigationPresence) { 70 } 71 72 @Override isKeyguardHostWindow(WindowManager.LayoutParams attrs)73 public boolean isKeyguardHostWindow(WindowManager.LayoutParams attrs) { 74 return attrs.type == TYPE_NOTIFICATION_SHADE; 75 } 76 77 @Override createHiddenByKeyguardExit(boolean onWallpaper, boolean goingToNotificationShade, boolean subtleAnimation)78 public Animation createHiddenByKeyguardExit(boolean onWallpaper, 79 boolean goingToNotificationShade, boolean subtleAnimation) { 80 return null; 81 } 82 83 @Override createKeyguardWallpaperExit(boolean goingToNotificationShade)84 public Animation createKeyguardWallpaperExit(boolean goingToNotificationShade) { 85 return null; 86 } 87 88 @Override interceptKeyBeforeQueueing(KeyEvent event, int policyFlags)89 public int interceptKeyBeforeQueueing(KeyEvent event, int policyFlags) { 90 return 0; 91 } 92 93 @Override interceptMotionBeforeQueueingNonInteractive(int displayId, int source, int action, long whenNanos, int policyFlags)94 public int interceptMotionBeforeQueueingNonInteractive(int displayId, int source, int action, 95 long whenNanos, int policyFlags) { 96 return 0; 97 } 98 99 @Override interceptKeyBeforeDispatching(IBinder focusedToken, KeyEvent event, int policyFlags)100 public long interceptKeyBeforeDispatching(IBinder focusedToken, KeyEvent event, 101 int policyFlags) { 102 return 0; 103 } 104 105 @Override interceptUnhandledKey(KeyEvent event, IBinder focusedToken)106 public boolean interceptUnhandledKey(KeyEvent event, IBinder focusedToken) { 107 return false; 108 } 109 110 @Override setTopFocusedDisplay(int displayId)111 public void setTopFocusedDisplay(int displayId) { 112 } 113 114 @Override setAllowLockscreenWhenOn(int displayId, boolean allow)115 public void setAllowLockscreenWhenOn(int displayId, boolean allow) { 116 } 117 118 @Override startedWakingUpGlobal(@akeReason int reason)119 public void startedWakingUpGlobal(@WakeReason int reason) { 120 } 121 122 @Override finishedWakingUpGlobal(@akeReason int reason)123 public void finishedWakingUpGlobal(@WakeReason int reason) { 124 } 125 126 @Override startedGoingToSleepGlobal(@oToSleepReason int reason)127 public void startedGoingToSleepGlobal(@GoToSleepReason int reason) { 128 } 129 130 @Override finishedGoingToSleepGlobal(@oToSleepReason int reason)131 public void finishedGoingToSleepGlobal(@GoToSleepReason int reason) { 132 } 133 134 @Override startedWakingUp(int displayGroupId, @WakeReason int wakeReason)135 public void startedWakingUp(int displayGroupId, @WakeReason int wakeReason) { 136 } 137 138 @Override finishedWakingUp(int displayGroupId, @WakeReason int wakeReason)139 public void finishedWakingUp(int displayGroupId, @WakeReason int wakeReason) { 140 } 141 142 @Override startedGoingToSleep(int displayGroupId, @GoToSleepReason int sleepReason)143 public void startedGoingToSleep(int displayGroupId, @GoToSleepReason int sleepReason) { 144 } 145 146 @Override finishedGoingToSleep(int displayGroupId, @GoToSleepReason int sleepReason)147 public void finishedGoingToSleep(int displayGroupId, @GoToSleepReason int sleepReason) { 148 } 149 150 @Override screenTurningOn(int displayId, ScreenOnListener screenOnListener)151 public void screenTurningOn(int displayId, ScreenOnListener screenOnListener) { 152 } 153 154 @Override screenTurnedOn(int displayId)155 public void screenTurnedOn(int displayId) { 156 } 157 158 @Override screenTurningOff(int displayId, ScreenOffListener screenOffListener)159 public void screenTurningOff(int displayId, ScreenOffListener screenOffListener) { 160 } 161 162 @Override screenTurnedOff(int displayId, boolean isSwappingDisplay)163 public void screenTurnedOff(int displayId, boolean isSwappingDisplay) { 164 } 165 166 @Override isScreenOn()167 public boolean isScreenOn() { 168 return true; 169 } 170 171 @Override onDisplaySwitchStart(int displayId)172 public void onDisplaySwitchStart(int displayId) { 173 } 174 175 @Override okToAnimate(boolean ignoreScreenOn)176 public boolean okToAnimate(boolean ignoreScreenOn) { 177 return mOkToAnimate; 178 } 179 180 @Override notifyLidSwitchChanged(long whenNanos, boolean lidOpen)181 public void notifyLidSwitchChanged(long whenNanos, boolean lidOpen) { 182 } 183 184 @Override notifyCameraLensCoverSwitchChanged(long whenNanos, boolean lensCovered)185 public void notifyCameraLensCoverSwitchChanged(long whenNanos, boolean lensCovered) { 186 } 187 188 @Override enableKeyguard(boolean enabled)189 public void enableKeyguard(boolean enabled) { 190 } 191 192 @Override exitKeyguardSecurely(OnKeyguardExitResult callback)193 public void exitKeyguardSecurely(OnKeyguardExitResult callback) { 194 } 195 196 @Override isKeyguardLocked()197 public boolean isKeyguardLocked() { 198 return mKeyguardShowingAndNotOccluded; 199 } 200 201 @Override isKeyguardSecure(int userId)202 public boolean isKeyguardSecure(int userId) { 203 return false; 204 } 205 206 @Override isKeyguardOccluded()207 public boolean isKeyguardOccluded() { 208 return false; 209 } 210 211 @Override isKeyguardTrustedLw()212 public boolean isKeyguardTrustedLw() { 213 return false; 214 } 215 216 @Override isKeyguardShowing()217 public boolean isKeyguardShowing() { 218 return mKeyguardShowingAndNotOccluded; 219 } 220 221 @Override isKeyguardShowingAndNotOccluded()222 public boolean isKeyguardShowingAndNotOccluded() { 223 return mKeyguardShowingAndNotOccluded; 224 } 225 226 @Override inKeyguardRestrictedKeyInputMode()227 public boolean inKeyguardRestrictedKeyInputMode() { 228 return false; 229 } 230 231 @Override dismissKeyguardLw(@ullable IKeyguardDismissCallback callback, CharSequence message)232 public void dismissKeyguardLw(@Nullable IKeyguardDismissCallback callback, 233 CharSequence message) { 234 } 235 236 @Override isKeyguardDrawnLw()237 public boolean isKeyguardDrawnLw() { 238 return false; 239 } 240 241 @Override onKeyguardOccludedChangedLw(boolean occluded)242 public void onKeyguardOccludedChangedLw(boolean occluded) { 243 } 244 setSafeMode(boolean safeMode)245 public void setSafeMode(boolean safeMode) { 246 } 247 248 @Override systemReady()249 public void systemReady() { 250 } 251 252 @Override systemBooted()253 public void systemBooted() { 254 } 255 256 @Override showBootMessage(CharSequence msg, boolean always)257 public void showBootMessage(CharSequence msg, boolean always) { 258 } 259 260 @Override hideBootMessages()261 public void hideBootMessages() { 262 } 263 264 @Override userActivity(int displayGroupId, int event)265 public void userActivity(int displayGroupId, int event) { 266 } 267 268 @Override enableScreenAfterBoot()269 public void enableScreenAfterBoot() { 270 } 271 272 @Override keepScreenOnStartedLw()273 public void keepScreenOnStartedLw() { 274 } 275 276 @Override keepScreenOnStoppedLw()277 public void keepScreenOnStoppedLw() { 278 } 279 280 @Override hasNavigationBar()281 public boolean hasNavigationBar() { 282 return false; 283 } 284 285 @Override lockNow(Bundle options)286 public void lockNow(Bundle options) { 287 } 288 289 @Override showRecentApps()290 public void showRecentApps() { 291 } 292 293 @Override showGlobalActions()294 public void showGlobalActions() { 295 } 296 297 @Override isUserSetupComplete()298 public boolean isUserSetupComplete() { 299 return mIsUserSetupComplete; 300 } 301 302 @Override getUiMode()303 public int getUiMode() { 304 return 0; 305 } 306 307 @Override setCurrentUserLw(int newUserId)308 public void setCurrentUserLw(int newUserId) { 309 } 310 311 @Override setSwitchingUser(boolean switching)312 public void setSwitchingUser(boolean switching) { 313 } 314 315 @Override dumpDebug(ProtoOutputStream proto, long fieldId)316 public void dumpDebug(ProtoOutputStream proto, long fieldId) { 317 } 318 319 @Override dump(String prefix, PrintWriter writer, String[] args)320 public void dump(String prefix, PrintWriter writer, String[] args) { 321 } 322 323 @Override startKeyguardExitAnimation(long startTime)324 public void startKeyguardExitAnimation(long startTime) { 325 } 326 327 @Override applyKeyguardOcclusionChange()328 public int applyKeyguardOcclusionChange() { 329 return 0; 330 } 331 332 @Override showDismissibleKeyguard()333 public void showDismissibleKeyguard() { 334 } 335 336 @Override setPipVisibilityLw(boolean visible)337 public void setPipVisibilityLw(boolean visible) { 338 } 339 340 @Override setRecentsVisibilityLw(boolean visible)341 public void setRecentsVisibilityLw(boolean visible) { 342 } 343 344 @Override setNavBarVirtualKeyHapticFeedbackEnabledLw(boolean enabled)345 public void setNavBarVirtualKeyHapticFeedbackEnabledLw(boolean enabled) { 346 } 347 348 @Override onSystemUiStarted()349 public void onSystemUiStarted() { 350 } 351 352 @Override canDismissBootAnimation()353 public boolean canDismissBootAnimation() { 354 return true; 355 } 356 357 @Override isGlobalKey(int keyCode)358 public boolean isGlobalKey(int keyCode) { 359 return false; 360 } 361 362 @Override getApplicationLaunchKeyboardShortcuts(int deviceId)363 public KeyboardShortcutGroup getApplicationLaunchKeyboardShortcuts(int deviceId) { 364 return new KeyboardShortcutGroup("", Collections.emptyList()); 365 } 366 } 367