1/* 2 * Copyright (C) 2011 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 17package android.view; 18 19import android.graphics.Point; 20import com.android.internal.view.IInputContext; 21import com.android.internal.view.IInputMethodClient; 22 23import android.content.res.CompatibilityInfo; 24import android.content.res.Configuration; 25import android.graphics.Bitmap; 26import android.os.Bundle; 27import android.os.IBinder; 28import android.os.IRemoteCallback; 29import android.os.RemoteException; 30import android.util.DisplayMetrics; 31 32import java.lang.Override; 33 34/** 35 * Basic implementation of {@link IWindowManager} so that {@link Display} (and 36 * {@link Display_Delegate}) can return a valid instance. 37 */ 38public class IWindowManagerImpl implements IWindowManager { 39 40 private final Configuration mConfig; 41 private final DisplayMetrics mMetrics; 42 private final int mRotation; 43 private final boolean mHasNavigationBar; 44 45 public IWindowManagerImpl(Configuration config, DisplayMetrics metrics, int rotation, 46 boolean hasNavigationBar) { 47 mConfig = config; 48 mMetrics = metrics; 49 mRotation = rotation; 50 mHasNavigationBar = hasNavigationBar; 51 } 52 53 // custom API. 54 55 public DisplayMetrics getMetrics() { 56 return mMetrics; 57 } 58 59 // ---- implementation of IWindowManager that we care about ---- 60 61 @Override 62 public int getRotation() throws RemoteException { 63 return mRotation; 64 } 65 66 @Override 67 public boolean hasNavigationBar() { 68 return mHasNavigationBar; 69 } 70 71 // ---- unused implementation of IWindowManager ---- 72 73 @Override 74 public void addAppToken(int arg0, IApplicationToken arg1, int arg2, int arg3, int arg4, 75 boolean arg5, boolean arg6, int arg7, int arg8, boolean arg9, boolean arg10) 76 throws RemoteException { 77 // TODO Auto-generated method stub 78 79 } 80 81 @Override 82 public void addWindowToken(IBinder arg0, int arg1) throws RemoteException { 83 // TODO Auto-generated method stub 84 85 } 86 87 @Override 88 public void clearForcedDisplaySize(int displayId) throws RemoteException { 89 // TODO Auto-generated method stub 90 } 91 92 @Override 93 public void clearForcedDisplayDensity(int displayId) throws RemoteException { 94 // TODO Auto-generated method stub 95 } 96 97 @Override 98 public void setOverscan(int displayId, int left, int top, int right, int bottom) 99 throws RemoteException { 100 // TODO Auto-generated method stub 101 } 102 103 @Override 104 public void closeSystemDialogs(String arg0) throws RemoteException { 105 // TODO Auto-generated method stub 106 107 } 108 109 @Override 110 public void startFreezingScreen(int exitAnim, int enterAnim) { 111 // TODO Auto-generated method stub 112 } 113 114 @Override 115 public void stopFreezingScreen() { 116 // TODO Auto-generated method stub 117 } 118 119 @Override 120 public void disableKeyguard(IBinder arg0, String arg1) throws RemoteException { 121 // TODO Auto-generated method stub 122 123 } 124 125 @Override 126 public void executeAppTransition() throws RemoteException { 127 // TODO Auto-generated method stub 128 129 } 130 131 @Override 132 public void exitKeyguardSecurely(IOnKeyguardExitResult arg0) throws RemoteException { 133 // TODO Auto-generated method stub 134 135 } 136 137 @Override 138 public void freezeRotation(int arg0) throws RemoteException { 139 // TODO Auto-generated method stub 140 141 } 142 143 @Override 144 public float getAnimationScale(int arg0) throws RemoteException { 145 // TODO Auto-generated method stub 146 return 0; 147 } 148 149 @Override 150 public float[] getAnimationScales() throws RemoteException { 151 // TODO Auto-generated method stub 152 return null; 153 } 154 155 @Override 156 public int getAppOrientation(IApplicationToken arg0) throws RemoteException { 157 // TODO Auto-generated method stub 158 return 0; 159 } 160 161 @Override 162 public int getPendingAppTransition() throws RemoteException { 163 // TODO Auto-generated method stub 164 return 0; 165 } 166 167 @Override 168 public boolean inKeyguardRestrictedInputMode() throws RemoteException { 169 // TODO Auto-generated method stub 170 return false; 171 } 172 173 @Override 174 public boolean inputMethodClientHasFocus(IInputMethodClient arg0) throws RemoteException { 175 // TODO Auto-generated method stub 176 return false; 177 } 178 179 @Override 180 public boolean isKeyguardLocked() throws RemoteException { 181 // TODO Auto-generated method stub 182 return false; 183 } 184 185 @Override 186 public boolean isKeyguardSecure() throws RemoteException { 187 // TODO Auto-generated method stub 188 return false; 189 } 190 191 @Override 192 public boolean isViewServerRunning() throws RemoteException { 193 // TODO Auto-generated method stub 194 return false; 195 } 196 197 @Override 198 public IWindowSession openSession(IWindowSessionCallback argn1, IInputMethodClient arg0, 199 IInputContext arg1) throws RemoteException { 200 // TODO Auto-generated method stub 201 return null; 202 } 203 204 @Override 205 public void overridePendingAppTransition(String arg0, int arg1, int arg2, 206 IRemoteCallback startedCallback) throws RemoteException { 207 // TODO Auto-generated method stub 208 209 } 210 211 @Override 212 public void overridePendingAppTransitionScaleUp(int startX, int startY, int startWidth, 213 int startHeight) throws RemoteException { 214 // TODO Auto-generated method stub 215 } 216 217 @Override 218 public void overridePendingAppTransitionThumb(Bitmap srcThumb, int startX, int startY, 219 IRemoteCallback startedCallback, boolean scaleUp) throws RemoteException { 220 // TODO Auto-generated method stub 221 } 222 223 @Override 224 public void overridePendingAppTransitionAspectScaledThumb(Bitmap srcThumb, int startX, 225 int startY, int targetWidth, int targetHeight, IRemoteCallback startedCallback, 226 boolean scaleUp) { 227 // TODO Auto-generated method stub 228 } 229 230 @Override 231 public void overridePendingAppTransitionInPlace(String packageName, int anim) { 232 // TODO Auto-generated method stub 233 } 234 235 @Override 236 public void pauseKeyDispatching(IBinder arg0) throws RemoteException { 237 // TODO Auto-generated method stub 238 239 } 240 241 @Override 242 public void prepareAppTransition(int arg0, boolean arg1) throws RemoteException { 243 // TODO Auto-generated method stub 244 245 } 246 247 @Override 248 public void reenableKeyguard(IBinder arg0) throws RemoteException { 249 // TODO Auto-generated method stub 250 251 } 252 253 @Override 254 public void removeAppToken(IBinder arg0) throws RemoteException { 255 // TODO Auto-generated method stub 256 257 } 258 259 @Override 260 public void removeWindowToken(IBinder arg0) throws RemoteException { 261 // TODO Auto-generated method stub 262 263 } 264 265 @Override 266 public void resumeKeyDispatching(IBinder arg0) throws RemoteException { 267 // TODO Auto-generated method stub 268 269 } 270 271 @Override 272 public Bitmap screenshotApplications(IBinder arg0, int displayId, int arg1, 273 int arg2, boolean arg3) throws RemoteException { 274 // TODO Auto-generated method stub 275 return null; 276 } 277 278 @Override 279 public void setAnimationScale(int arg0, float arg1) throws RemoteException { 280 // TODO Auto-generated method stub 281 282 } 283 284 @Override 285 public void setAnimationScales(float[] arg0) throws RemoteException { 286 // TODO Auto-generated method stub 287 288 } 289 290 @Override 291 public float getCurrentAnimatorScale() throws RemoteException { 292 return 0; 293 } 294 295 @Override 296 public void setAppGroupId(IBinder arg0, int arg1) throws RemoteException { 297 // TODO Auto-generated method stub 298 299 } 300 301 @Override 302 public void setAppOrientation(IApplicationToken arg0, int arg1) throws RemoteException { 303 // TODO Auto-generated method stub 304 } 305 306 @Override 307 public void setAppStartingWindow(IBinder arg0, String arg1, int arg2, CompatibilityInfo arg3, 308 CharSequence arg4, int arg5, int arg6, int arg7, int arg8, IBinder arg9, boolean arg10) 309 throws RemoteException { 310 // TODO Auto-generated method stub 311 } 312 313 @Override 314 public void setAppVisibility(IBinder arg0, boolean arg1) throws RemoteException { 315 // TODO Auto-generated method stub 316 317 } 318 319 @Override 320 public void setAppWillBeHidden(IBinder arg0) throws RemoteException { 321 // TODO Auto-generated method stub 322 } 323 324 @Override 325 public void setEventDispatching(boolean arg0) throws RemoteException { 326 // TODO Auto-generated method stub 327 } 328 329 @Override 330 public void setFocusedApp(IBinder arg0, boolean arg1) throws RemoteException { 331 // TODO Auto-generated method stub 332 } 333 334 @Override 335 public void getInitialDisplaySize(int displayId, Point size) { 336 // TODO Auto-generated method stub 337 } 338 339 @Override 340 public void getBaseDisplaySize(int displayId, Point size) { 341 // TODO Auto-generated method stub 342 } 343 344 @Override 345 public void setForcedDisplaySize(int displayId, int arg0, int arg1) throws RemoteException { 346 // TODO Auto-generated method stub 347 } 348 349 @Override 350 public int getInitialDisplayDensity(int displayId) { 351 return -1; 352 } 353 354 @Override 355 public int getBaseDisplayDensity(int displayId) { 356 return -1; 357 } 358 359 @Override 360 public void setForcedDisplayDensity(int displayId, int density) throws RemoteException { 361 // TODO Auto-generated method stub 362 } 363 364 @Override 365 public void setInTouchMode(boolean arg0) throws RemoteException { 366 // TODO Auto-generated method stub 367 } 368 369 @Override 370 public void setNewConfiguration(Configuration arg0) throws RemoteException { 371 // TODO Auto-generated method stub 372 } 373 374 @Override 375 public void setScreenCaptureDisabled(int userId, boolean disabled) { 376 // TODO Auto-generated method stub 377 } 378 379 @Override 380 public void updateRotation(boolean arg0, boolean arg1) throws RemoteException { 381 // TODO Auto-generated method stub 382 } 383 384 @Override 385 public void setStrictModeVisualIndicatorPreference(String arg0) throws RemoteException { 386 // TODO Auto-generated method stub 387 } 388 389 @Override 390 public void showStrictModeViolation(boolean arg0) throws RemoteException { 391 // TODO Auto-generated method stub 392 } 393 394 @Override 395 public void startAppFreezingScreen(IBinder arg0, int arg1) throws RemoteException { 396 // TODO Auto-generated method stub 397 } 398 399 @Override 400 public boolean startViewServer(int arg0) throws RemoteException { 401 // TODO Auto-generated method stub 402 return false; 403 } 404 405 @Override 406 public void statusBarVisibilityChanged(int arg0) throws RemoteException { 407 // TODO Auto-generated method stub 408 } 409 410 @Override 411 public void stopAppFreezingScreen(IBinder arg0, boolean arg1) throws RemoteException { 412 // TODO Auto-generated method stub 413 } 414 415 @Override 416 public boolean stopViewServer() throws RemoteException { 417 // TODO Auto-generated method stub 418 return false; 419 } 420 421 @Override 422 public void thawRotation() throws RemoteException { 423 // TODO Auto-generated method stub 424 } 425 426 @Override 427 public Configuration updateOrientationFromAppTokens(Configuration arg0, IBinder arg1) 428 throws RemoteException { 429 // TODO Auto-generated method stub 430 return null; 431 } 432 433 @Override 434 public int watchRotation(IRotationWatcher arg0) throws RemoteException { 435 // TODO Auto-generated method stub 436 return 0; 437 } 438 439 @Override 440 public void removeRotationWatcher(IRotationWatcher arg0) throws RemoteException { 441 } 442 443 @Override 444 public IBinder asBinder() { 445 // TODO Auto-generated method stub 446 return null; 447 } 448 449 @Override 450 public int getPreferredOptionsPanelGravity() throws RemoteException { 451 return Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM; 452 } 453 454 @Override 455 public void dismissKeyguard() { 456 } 457 458 @Override 459 public void keyguardGoingAway(boolean disableWindowAnimations, 460 boolean keyguardGoingToNotificationShade) throws RemoteException { 461 } 462 463 @Override 464 public void lockNow(Bundle options) { 465 // TODO Auto-generated method stub 466 } 467 468 @Override 469 public boolean isSafeModeEnabled() { 470 return false; 471 } 472 473 @Override 474 public boolean isRotationFrozen() throws RemoteException { 475 // TODO Auto-generated method stub 476 return false; 477 } 478 479 @Override 480 public void enableScreenIfNeeded() throws RemoteException { 481 // TODO Auto-generated method stub 482 } 483 484 @Override 485 public boolean clearWindowContentFrameStats(IBinder token) throws RemoteException { 486 // TODO Auto-generated method stub 487 return false; 488 } 489 490 @Override 491 public WindowContentFrameStats getWindowContentFrameStats(IBinder token) 492 throws RemoteException { 493 // TODO Auto-generated method stub 494 return null; 495 } 496} 497