IWindowManager.aidl revision 8078d8c8a282ca81344febe7256f63b1e805e3aa
17da6ac33a9de82be52e22846d5f22d502452854cDianne Hackborn/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** Copyright 2006, The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project*/ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.view; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport com.android.internal.view.IInputContext; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport com.android.internal.view.IInputMethodClient; 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 222f0b17573d4324832f7a20402a3d2b5920bc4866Dianne Hackbornimport android.content.res.CompatibilityInfo; 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.res.Configuration; 240aae2d4e0075fd699cf40b26dca0eb2c3b3e37d2Dianne Hackbornimport android.graphics.Bitmap; 25ac8dea12c17aa047e03a358110aeb60401d36aa2Dianne Hackbornimport android.graphics.Point; 2638e29a61d0c87fe3e391d24e2eb11dd1800d107dDianne Hackbornimport android.os.IRemoteCallback; 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.view.IApplicationToken; 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.view.IOnKeyguardExitResult; 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.view.IRotationWatcher; 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.view.IWindowSession; 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.view.KeyEvent; 326ec402b5ae33c8927694d8522b4cc6a5c8ba974eJeff Brownimport android.view.InputEvent; 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.view.MotionEvent; 34a41ca77fabe1c7ad12ebb9b69b9e786c07d49fa0Jeff Brownimport android.view.InputChannel; 358d60866e2100db70ecf0502c14768a384514d7e9Jeff Brownimport android.view.InputDevice; 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * System private interface to the window manager. 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@hide} 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinterface IWindowManager 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{ 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * ===== NOTICE ===== 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The first three methods must remain the first three methods. Scripts 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * and tools rely on their transaction number to work properly. 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // This is used for debugging 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean startViewServer(int port); // Transaction #1 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean stopViewServer(); // Transaction #2 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isViewServerRunning(); // Transaction #3 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IWindowSession openSession(in IInputMethodClient client, 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project in IInputContext inputContext); 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean inputMethodClientHasFocus(IInputMethodClient client); 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58ac8dea12c17aa047e03a358110aeb60401d36aa2Dianne Hackborn void getDisplaySize(out Point size); 59bc68a59c024bdb745dac8e2ec7408a9f30595f1aJeff Brown void getRealDisplaySize(out Point size); 60ac8dea12c17aa047e03a358110aeb60401d36aa2Dianne Hackborn int getMaximumSizeDimension(); 61ac8dea12c17aa047e03a358110aeb60401d36aa2Dianne Hackborn 627916ac65dc492e4e1431879875c77d7121fbf82eDianne Hackborn void setForcedDisplaySize(int longDimen, int shortDimen); 637916ac65dc492e4e1431879875c77d7121fbf82eDianne Hackborn void clearForcedDisplaySize(); 647916ac65dc492e4e1431879875c77d7121fbf82eDianne Hackborn 6581e56d535c853d73ff537357da5b935f51cb779dDianne Hackborn // Is device configured with a hideable status bar or a tablet system bar? 6681e56d535c853d73ff537357da5b935f51cb779dDianne Hackborn boolean canStatusBarHide(); 6781e56d535c853d73ff537357da5b935f51cb779dDianne Hackborn 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // These can only be called when injecting events to your own window, 696ec402b5ae33c8927694d8522b4cc6a5c8ba974eJeff Brown // or by holding the INJECT_EVENTS permission. These methods may block 706ec402b5ae33c8927694d8522b4cc6a5c8ba974eJeff Brown // until pending input events are finished being dispatched even when 'sync' is false. 716ec402b5ae33c8927694d8522b4cc6a5c8ba974eJeff Brown // Avoid calling these methods on your UI thread or use the 'NoWait' version instead. 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean injectKeyEvent(in KeyEvent ev, boolean sync); 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean injectPointerEvent(in MotionEvent ev, boolean sync); 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean injectTrackballEvent(in MotionEvent ev, boolean sync); 756ec402b5ae33c8927694d8522b4cc6a5c8ba974eJeff Brown boolean injectInputEventNoWait(in InputEvent ev); 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // These can only be called when holding the MANAGE_APP_TOKENS permission. 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void pauseKeyDispatching(IBinder token); 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void resumeKeyDispatching(IBinder token); 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setEventDispatching(boolean enabled); 81e4fbd6235c8d1c5b0ed4883ec275dd3fc9c919fbDianne Hackborn void addWindowToken(IBinder token, int type); 82e4fbd6235c8d1c5b0ed4883ec275dd3fc9c919fbDianne Hackborn void removeWindowToken(IBinder token); 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void addAppToken(int addPos, IApplicationToken token, 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int groupId, int requestedOrientation, boolean fullscreen); 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setAppGroupId(IBinder token, int groupId); 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setAppOrientation(IApplicationToken token, int requestedOrientation); 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getAppOrientation(IApplicationToken token); 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setFocusedApp(IBinder token, boolean moveFocusNow); 897da6ac33a9de82be52e22846d5f22d502452854cDianne Hackborn void prepareAppTransition(int transit, boolean alwaysKeepCurrent); 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getPendingAppTransition(); 913b3e145d3c41fd68974e08f799b1fd1f8f060cf0Dianne Hackborn void overridePendingAppTransition(String packageName, int enterAnim, int exitAnim); 928078d8c8a282ca81344febe7256f63b1e805e3aaDianne Hackborn void overridePendingAppTransitionThumb(in Bitmap srcThumb, int startX, int startY, 938078d8c8a282ca81344febe7256f63b1e805e3aaDianne Hackborn IRemoteCallback startedCallback); 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void executeAppTransition(); 959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setAppStartingWindow(IBinder token, String pkg, int theme, 962f0b17573d4324832f7a20402a3d2b5920bc4866Dianne Hackborn in CompatibilityInfo compatInfo, CharSequence nonLocalizedLabel, int labelRes, 977eec10e6c99c30d5ee061fec08ac89ad4254ac32Dianne Hackborn int icon, int windowFlags, IBinder transferFrom, boolean createIfNeeded); 989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setAppWillBeHidden(IBinder token); 999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setAppVisibility(IBinder token, boolean visible); 1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void startAppFreezingScreen(IBinder token, int configChanges); 1019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void stopAppFreezingScreen(IBinder token, boolean force); 1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void removeAppToken(IBinder token); 1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void moveAppToken(int index, IBinder token); 1049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void moveAppTokensToTop(in List<IBinder> tokens); 1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void moveAppTokensToBottom(in List<IBinder> tokens); 1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 107e36d6e277e49475076b7872d36ea6a5c5b996e9dDianne Hackborn // Re-evaluate the current orientation from the caller's state. 108e36d6e277e49475076b7872d36ea6a5c5b996e9dDianne Hackborn // If there is a change, the new Configuration is returned and the 109e36d6e277e49475076b7872d36ea6a5c5b996e9dDianne Hackborn // caller must call setNewConfiguration() sometime later. 110e36d6e277e49475076b7872d36ea6a5c5b996e9dDianne Hackborn Configuration updateOrientationFromAppTokens(in Configuration currentConfig, 111e36d6e277e49475076b7872d36ea6a5c5b996e9dDianne Hackborn IBinder freezeThisOneIfNeeded); 112e36d6e277e49475076b7872d36ea6a5c5b996e9dDianne Hackborn void setNewConfiguration(in Configuration config); 113e36d6e277e49475076b7872d36ea6a5c5b996e9dDianne Hackborn 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // these require DISABLE_KEYGUARD permission 1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void disableKeyguard(IBinder token, String tag); 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void reenableKeyguard(IBinder token); 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void exitKeyguardSecurely(IOnKeyguardExitResult callback); 118520d8bc1d840966b5519195aaa514597a662c053Mike Lockwood boolean isKeyguardLocked(); 119520d8bc1d840966b5519195aaa514597a662c053Mike Lockwood boolean isKeyguardSecure(); 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean inKeyguardRestrictedInputMode(); 12190c52de28691ca0bbbf7c039ef20f85ce46882ccDianne Hackborn void dismissKeyguard(); 1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 123ffa424800d0338b8b894aef2ea1e3e3344cbda7aDianne Hackborn void closeSystemDialogs(String reason); 124ffa424800d0338b8b894aef2ea1e3e3344cbda7aDianne Hackborn 1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // These can only be called with the SET_ANIMATON_SCALE permission. 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project float getAnimationScale(int which); 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project float[] getAnimationScales(); 1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setAnimationScale(int which, float scale); 1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setAnimationScales(in float[] scales); 1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // These require the READ_INPUT_STATE permission. 1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getSwitchState(int sw); 1339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getSwitchStateForDevice(int devid, int sw); 1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getScancodeState(int sw); 1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getScancodeStateForDevice(int devid, int sw); 1361d62ea9d8c2646d198b6967e2c6ae3dad5c18f9eDianne Hackborn int getTrackballScancodeState(int sw); 1371d62ea9d8c2646d198b6967e2c6ae3dad5c18f9eDianne Hackborn int getDPadScancodeState(int sw); 1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getKeycodeState(int sw); 1399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getKeycodeStateForDevice(int devid, int sw); 1401d62ea9d8c2646d198b6967e2c6ae3dad5c18f9eDianne Hackborn int getTrackballKeycodeState(int sw); 1411d62ea9d8c2646d198b6967e2c6ae3dad5c18f9eDianne Hackborn int getDPadKeycodeState(int sw); 142a41ca77fabe1c7ad12ebb9b69b9e786c07d49fa0Jeff Brown InputChannel monitorInput(String inputChannelName); 1436804433b0af50f33a338307ae8ddb50bc49e886bBrad Fitzpatrick 1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Report whether the hardware supports the given keys; returns true if successful 1459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean hasKeys(in int[] keycodes, inout boolean[] keyExists); 1469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1478d60866e2100db70ecf0502c14768a384514d7e9Jeff Brown // Get input device information. 1488d60866e2100db70ecf0502c14768a384514d7e9Jeff Brown InputDevice getInputDevice(int deviceId); 1498d60866e2100db70ecf0502c14768a384514d7e9Jeff Brown int[] getInputDeviceIds(); 1508d60866e2100db70ecf0502c14768a384514d7e9Jeff Brown 1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // For testing 1529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setInTouchMode(boolean showFocus); 1536804433b0af50f33a338307ae8ddb50bc49e886bBrad Fitzpatrick 1546804433b0af50f33a338307ae8ddb50bc49e886bBrad Fitzpatrick // For StrictMode flashing a red border on violations from the UI 1556804433b0af50f33a338307ae8ddb50bc49e886bBrad Fitzpatrick // thread. The uid/pid is implicit from the Binder call, and the Window 1566804433b0af50f33a338307ae8ddb50bc49e886bBrad Fitzpatrick // Manager uses that to determine whether or not the red border should 1576804433b0af50f33a338307ae8ddb50bc49e886bBrad Fitzpatrick // actually be shown. (it will be ignored that pid doesn't have windows 1586804433b0af50f33a338307ae8ddb50bc49e886bBrad Fitzpatrick // on screen) 1596804433b0af50f33a338307ae8ddb50bc49e886bBrad Fitzpatrick void showStrictModeViolation(boolean on); 1606804433b0af50f33a338307ae8ddb50bc49e886bBrad Fitzpatrick 161c1a968a8ed45181312f7d4bcdbba0cc8ddc201baBrad Fitzpatrick // Proxy to set the system property for whether the flashing 162c1a968a8ed45181312f7d4bcdbba0cc8ddc201baBrad Fitzpatrick // should be enabled. The 'enabled' value is null or blank for 163c1a968a8ed45181312f7d4bcdbba0cc8ddc201baBrad Fitzpatrick // the system default (differs per build variant) or any valid 164c1a968a8ed45181312f7d4bcdbba0cc8ddc201baBrad Fitzpatrick // boolean string as parsed by SystemProperties.getBoolean(). 165c1a968a8ed45181312f7d4bcdbba0cc8ddc201baBrad Fitzpatrick void setStrictModeVisualIndicatorPreference(String enabled); 166c1a968a8ed45181312f7d4bcdbba0cc8ddc201baBrad Fitzpatrick 1679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // These can only be called with the SET_ORIENTATION permission. 1689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 16901a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown * Update the current screen rotation based on the current state of 17001a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown * the world. 1719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param alwaysSendConfiguration Flag to force a new configuration to 1729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * be evaluated. This can be used when there are other parameters in 1739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * configuration that are changing. 1749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 17501a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown void updateRotation(boolean alwaysSendConfiguration); 1769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Retrieve the current screen orientation, constants as per 1799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.view.Surface}. 1809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getRotation(); 1829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Watch the rotation of the screen. Returns the current rotation, 1859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * calls back when it changes. 1869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int watchRotation(IRotationWatcher watcher); 188b73617de462579f7c12c25a4c2747c576f00f6a2Daniel Sandler 189dfee59afb3e4cdcde38f6338f9360655de76da92Adam Powell /** 190dfee59afb3e4cdcde38f6338f9360655de76da92Adam Powell * Determine the preferred edge of the screen to pin the compact options menu against. 191dfee59afb3e4cdcde38f6338f9360655de76da92Adam Powell * @return a Gravity value for the options menu panel 192dfee59afb3e4cdcde38f6338f9360655de76da92Adam Powell * @hide 193dfee59afb3e4cdcde38f6338f9360655de76da92Adam Powell */ 194dfee59afb3e4cdcde38f6338f9360655de76da92Adam Powell int getPreferredOptionsPanelGravity(); 195dfee59afb3e4cdcde38f6338f9360655de76da92Adam Powell 196b73617de462579f7c12c25a4c2747c576f00f6a2Daniel Sandler /** 1974dfce20cac7492882d366d053006795aefad59daJeff Brown * Lock the device orientation to the specified rotation, or to the 1984dfce20cac7492882d366d053006795aefad59daJeff Brown * current rotation if -1. Sensor input will be ignored until 1994dfce20cac7492882d366d053006795aefad59daJeff Brown * thawRotation() is called. 200b73617de462579f7c12c25a4c2747c576f00f6a2Daniel Sandler * @hide 201b73617de462579f7c12c25a4c2747c576f00f6a2Daniel Sandler */ 2024dfce20cac7492882d366d053006795aefad59daJeff Brown void freezeRotation(int rotation); 203b73617de462579f7c12c25a4c2747c576f00f6a2Daniel Sandler 204b73617de462579f7c12c25a4c2747c576f00f6a2Daniel Sandler /** 205b73617de462579f7c12c25a4c2747c576f00f6a2Daniel Sandler * Release the orientation lock imposed by freezeRotation(). 206b73617de462579f7c12c25a4c2747c576f00f6a2Daniel Sandler * @hide 207b73617de462579f7c12c25a4c2747c576f00f6a2Daniel Sandler */ 208b73617de462579f7c12c25a4c2747c576f00f6a2Daniel Sandler void thawRotation(); 2090aae2d4e0075fd699cf40b26dca0eb2c3b3e37d2Dianne Hackborn 2100aae2d4e0075fd699cf40b26dca0eb2c3b3e37d2Dianne Hackborn /** 2110aae2d4e0075fd699cf40b26dca0eb2c3b3e37d2Dianne Hackborn * Create a screenshot of the applications currently displayed. 2120aae2d4e0075fd699cf40b26dca0eb2c3b3e37d2Dianne Hackborn */ 213d2835935d2df8be70d1b37d3ef3b2fe0155b3422Dianne Hackborn Bitmap screenshotApplications(IBinder appToken, int maxWidth, int maxHeight); 214664644d9e012aa2a28ac96f305b1ce6499ec8806Joe Onorato 215664644d9e012aa2a28ac96f305b1ce6499ec8806Joe Onorato /** 216664644d9e012aa2a28ac96f305b1ce6499ec8806Joe Onorato * Called by the status bar to notify Views of changes to System UI visiblity. 217664644d9e012aa2a28ac96f305b1ce6499ec8806Joe Onorato */ 218664644d9e012aa2a28ac96f305b1ce6499ec8806Joe Onorato void statusBarVisibilityChanged(int visibility); 2191a84fd1fb7a51f3fe4f8865e1cdd09f3490f696cJeff Brown 2201a84fd1fb7a51f3fe4f8865e1cdd09f3490f696cJeff Brown /** 2211a84fd1fb7a51f3fe4f8865e1cdd09f3490f696cJeff Brown * Called by the settings application to temporarily set the pointer speed. 2221a84fd1fb7a51f3fe4f8865e1cdd09f3490f696cJeff Brown */ 2231a84fd1fb7a51f3fe4f8865e1cdd09f3490f696cJeff Brown void setPointerSpeed(int speed); 22429aae6f36e565b8f2a99f2193597b964bb800ee8Dianne Hackborn 22529aae6f36e565b8f2a99f2193597b964bb800ee8Dianne Hackborn /** 22638e29a61d0c87fe3e391d24e2eb11dd1800d107dDianne Hackborn * Block until the given window has been drawn to the screen. 22729aae6f36e565b8f2a99f2193597b964bb800ee8Dianne Hackborn */ 22838e29a61d0c87fe3e391d24e2eb11dd1800d107dDianne Hackborn void waitForWindowDrawn(IBinder token, in IRemoteCallback callback); 2290c4ccff36930ff4f0292b94ad51e164c9fa060a3Daniel Sandler 2300c4ccff36930ff4f0292b94ad51e164c9fa060a3Daniel Sandler /** 2310c4ccff36930ff4f0292b94ad51e164c9fa060a3Daniel Sandler * Device has a software navigation bar (separate from the status bar). 2320c4ccff36930ff4f0292b94ad51e164c9fa060a3Daniel Sandler */ 2330c4ccff36930ff4f0292b94ad51e164c9fa060a3Daniel Sandler boolean hasNavigationBar(); 23493c518e4f8abd98f87cda1712b30a5a86cfa60ddJim Miller 23593c518e4f8abd98f87cda1712b30a5a86cfa60ddJim Miller /** 23693c518e4f8abd98f87cda1712b30a5a86cfa60ddJim Miller * Lock the device immediately. 23793c518e4f8abd98f87cda1712b30a5a86cfa60ddJim Miller */ 23893c518e4f8abd98f87cda1712b30a5a86cfa60ddJim Miller void lockNow(); 2399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 240