1 /* 2 * Copyright (C) 2006 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 android.app; 18 19 import android.content.ComponentName; 20 import android.content.ContentProviderNative; 21 import android.content.IContentProvider; 22 import android.content.IIntentReceiver; 23 import android.content.IIntentSender; 24 import android.content.Intent; 25 import android.content.IntentFilter; 26 import android.content.IntentSender; 27 import android.content.pm.ApplicationInfo; 28 import android.content.pm.ConfigurationInfo; 29 import android.content.pm.IPackageDataObserver; 30 import android.content.pm.ProviderInfo; 31 import android.content.pm.UserInfo; 32 import android.content.res.Configuration; 33 import android.graphics.Bitmap; 34 import android.net.Uri; 35 import android.os.Bundle; 36 import android.os.Debug; 37 import android.os.IBinder; 38 import android.os.IInterface; 39 import android.os.Parcel; 40 import android.os.ParcelFileDescriptor; 41 import android.os.Parcelable; 42 import android.os.RemoteException; 43 import android.os.StrictMode; 44 45 import java.util.List; 46 47 /** 48 * System private API for talking with the activity manager service. This 49 * provides calls from the application back to the activity manager. 50 * 51 * {@hide} 52 */ 53 public interface IActivityManager extends IInterface { startActivity(IApplicationThread caller, Intent intent, String resolvedType, IBinder resultTo, String resultWho, int requestCode, int flags, String profileFile, ParcelFileDescriptor profileFd, Bundle options)54 public int startActivity(IApplicationThread caller, 55 Intent intent, String resolvedType, IBinder resultTo, String resultWho, 56 int requestCode, int flags, String profileFile, 57 ParcelFileDescriptor profileFd, Bundle options) throws RemoteException; startActivityAsUser(IApplicationThread caller, Intent intent, String resolvedType, IBinder resultTo, String resultWho, int requestCode, int flags, String profileFile, ParcelFileDescriptor profileFd, Bundle options, int userId)58 public int startActivityAsUser(IApplicationThread caller, 59 Intent intent, String resolvedType, IBinder resultTo, String resultWho, 60 int requestCode, int flags, String profileFile, 61 ParcelFileDescriptor profileFd, Bundle options, int userId) throws RemoteException; startActivityAndWait(IApplicationThread caller, Intent intent, String resolvedType, IBinder resultTo, String resultWho, int requestCode, int flags, String profileFile, ParcelFileDescriptor profileFd, Bundle options, int userId)62 public WaitResult startActivityAndWait(IApplicationThread caller, 63 Intent intent, String resolvedType, IBinder resultTo, String resultWho, 64 int requestCode, int flags, String profileFile, 65 ParcelFileDescriptor profileFd, Bundle options, int userId) throws RemoteException; startActivityWithConfig(IApplicationThread caller, Intent intent, String resolvedType, IBinder resultTo, String resultWho, int requestCode, int startFlags, Configuration newConfig, Bundle options, int userId)66 public int startActivityWithConfig(IApplicationThread caller, 67 Intent intent, String resolvedType, IBinder resultTo, String resultWho, 68 int requestCode, int startFlags, Configuration newConfig, 69 Bundle options, int userId) throws RemoteException; startActivityIntentSender(IApplicationThread caller, IntentSender intent, Intent fillInIntent, String resolvedType, IBinder resultTo, String resultWho, int requestCode, int flagsMask, int flagsValues, Bundle options)70 public int startActivityIntentSender(IApplicationThread caller, 71 IntentSender intent, Intent fillInIntent, String resolvedType, 72 IBinder resultTo, String resultWho, int requestCode, 73 int flagsMask, int flagsValues, Bundle options) throws RemoteException; startNextMatchingActivity(IBinder callingActivity, Intent intent, Bundle options)74 public boolean startNextMatchingActivity(IBinder callingActivity, 75 Intent intent, Bundle options) throws RemoteException; finishActivity(IBinder token, int code, Intent data)76 public boolean finishActivity(IBinder token, int code, Intent data) 77 throws RemoteException; finishSubActivity(IBinder token, String resultWho, int requestCode)78 public void finishSubActivity(IBinder token, String resultWho, int requestCode) throws RemoteException; finishActivityAffinity(IBinder token)79 public boolean finishActivityAffinity(IBinder token) throws RemoteException; willActivityBeVisible(IBinder token)80 public boolean willActivityBeVisible(IBinder token) throws RemoteException; registerReceiver(IApplicationThread caller, String callerPackage, IIntentReceiver receiver, IntentFilter filter, String requiredPermission, int userId)81 public Intent registerReceiver(IApplicationThread caller, String callerPackage, 82 IIntentReceiver receiver, IntentFilter filter, 83 String requiredPermission, int userId) throws RemoteException; unregisterReceiver(IIntentReceiver receiver)84 public void unregisterReceiver(IIntentReceiver receiver) throws RemoteException; broadcastIntent(IApplicationThread caller, Intent intent, String resolvedType, IIntentReceiver resultTo, int resultCode, String resultData, Bundle map, String requiredPermission, boolean serialized, boolean sticky, int userId)85 public int broadcastIntent(IApplicationThread caller, Intent intent, 86 String resolvedType, IIntentReceiver resultTo, int resultCode, 87 String resultData, Bundle map, String requiredPermission, 88 boolean serialized, boolean sticky, int userId) throws RemoteException; unbroadcastIntent(IApplicationThread caller, Intent intent, int userId)89 public void unbroadcastIntent(IApplicationThread caller, Intent intent, int userId) throws RemoteException; finishReceiver(IBinder who, int resultCode, String resultData, Bundle map, boolean abortBroadcast)90 public void finishReceiver(IBinder who, int resultCode, String resultData, Bundle map, boolean abortBroadcast) throws RemoteException; attachApplication(IApplicationThread app)91 public void attachApplication(IApplicationThread app) throws RemoteException; activityResumed(IBinder token)92 public void activityResumed(IBinder token) throws RemoteException; activityIdle(IBinder token, Configuration config, boolean stopProfiling)93 public void activityIdle(IBinder token, Configuration config, 94 boolean stopProfiling) throws RemoteException; activityPaused(IBinder token)95 public void activityPaused(IBinder token) throws RemoteException; activityStopped(IBinder token, Bundle state, Bitmap thumbnail, CharSequence description)96 public void activityStopped(IBinder token, Bundle state, 97 Bitmap thumbnail, CharSequence description) throws RemoteException; activitySlept(IBinder token)98 public void activitySlept(IBinder token) throws RemoteException; activityDestroyed(IBinder token)99 public void activityDestroyed(IBinder token) throws RemoteException; getCallingPackage(IBinder token)100 public String getCallingPackage(IBinder token) throws RemoteException; getCallingActivity(IBinder token)101 public ComponentName getCallingActivity(IBinder token) throws RemoteException; getTasks(int maxNum, int flags, IThumbnailReceiver receiver)102 public List getTasks(int maxNum, int flags, 103 IThumbnailReceiver receiver) throws RemoteException; getRecentTasks(int maxNum, int flags, int userId)104 public List<ActivityManager.RecentTaskInfo> getRecentTasks(int maxNum, 105 int flags, int userId) throws RemoteException; getTaskThumbnails(int taskId)106 public ActivityManager.TaskThumbnails getTaskThumbnails(int taskId) throws RemoteException; getTaskTopThumbnail(int taskId)107 public Bitmap getTaskTopThumbnail(int taskId) throws RemoteException; getServices(int maxNum, int flags)108 public List getServices(int maxNum, int flags) throws RemoteException; getProcessesInErrorState()109 public List<ActivityManager.ProcessErrorStateInfo> getProcessesInErrorState() 110 throws RemoteException; moveTaskToFront(int task, int flags, Bundle options)111 public void moveTaskToFront(int task, int flags, Bundle options) throws RemoteException; moveTaskToBack(int task)112 public void moveTaskToBack(int task) throws RemoteException; moveActivityTaskToBack(IBinder token, boolean nonRoot)113 public boolean moveActivityTaskToBack(IBinder token, boolean nonRoot) throws RemoteException; moveTaskBackwards(int task)114 public void moveTaskBackwards(int task) throws RemoteException; getTaskForActivity(IBinder token, boolean onlyRoot)115 public int getTaskForActivity(IBinder token, boolean onlyRoot) throws RemoteException; 116 /* oneway */ reportThumbnail(IBinder token, Bitmap thumbnail, CharSequence description)117 public void reportThumbnail(IBinder token, 118 Bitmap thumbnail, CharSequence description) throws RemoteException; getContentProvider(IApplicationThread caller, String name, int userId, boolean stable)119 public ContentProviderHolder getContentProvider(IApplicationThread caller, 120 String name, int userId, boolean stable) throws RemoteException; getContentProviderExternal(String name, int userId, IBinder token)121 public ContentProviderHolder getContentProviderExternal(String name, int userId, IBinder token) 122 throws RemoteException; removeContentProvider(IBinder connection, boolean stable)123 public void removeContentProvider(IBinder connection, boolean stable) throws RemoteException; removeContentProviderExternal(String name, IBinder token)124 public void removeContentProviderExternal(String name, IBinder token) throws RemoteException; publishContentProviders(IApplicationThread caller, List<ContentProviderHolder> providers)125 public void publishContentProviders(IApplicationThread caller, 126 List<ContentProviderHolder> providers) throws RemoteException; refContentProvider(IBinder connection, int stableDelta, int unstableDelta)127 public boolean refContentProvider(IBinder connection, int stableDelta, int unstableDelta) 128 throws RemoteException; unstableProviderDied(IBinder connection)129 public void unstableProviderDied(IBinder connection) throws RemoteException; getRunningServiceControlPanel(ComponentName service)130 public PendingIntent getRunningServiceControlPanel(ComponentName service) 131 throws RemoteException; startService(IApplicationThread caller, Intent service, String resolvedType, int userId)132 public ComponentName startService(IApplicationThread caller, Intent service, 133 String resolvedType, int userId) throws RemoteException; stopService(IApplicationThread caller, Intent service, String resolvedType, int userId)134 public int stopService(IApplicationThread caller, Intent service, 135 String resolvedType, int userId) throws RemoteException; stopServiceToken(ComponentName className, IBinder token, int startId)136 public boolean stopServiceToken(ComponentName className, IBinder token, 137 int startId) throws RemoteException; setServiceForeground(ComponentName className, IBinder token, int id, Notification notification, boolean keepNotification)138 public void setServiceForeground(ComponentName className, IBinder token, 139 int id, Notification notification, boolean keepNotification) throws RemoteException; bindService(IApplicationThread caller, IBinder token, Intent service, String resolvedType, IServiceConnection connection, int flags, int userId)140 public int bindService(IApplicationThread caller, IBinder token, 141 Intent service, String resolvedType, 142 IServiceConnection connection, int flags, int userId) throws RemoteException; unbindService(IServiceConnection connection)143 public boolean unbindService(IServiceConnection connection) throws RemoteException; publishService(IBinder token, Intent intent, IBinder service)144 public void publishService(IBinder token, 145 Intent intent, IBinder service) throws RemoteException; unbindFinished(IBinder token, Intent service, boolean doRebind)146 public void unbindFinished(IBinder token, Intent service, 147 boolean doRebind) throws RemoteException; 148 /* oneway */ serviceDoneExecuting(IBinder token, int type, int startId, int res)149 public void serviceDoneExecuting(IBinder token, int type, int startId, 150 int res) throws RemoteException; peekService(Intent service, String resolvedType)151 public IBinder peekService(Intent service, String resolvedType) throws RemoteException; 152 bindBackupAgent(ApplicationInfo appInfo, int backupRestoreMode)153 public boolean bindBackupAgent(ApplicationInfo appInfo, int backupRestoreMode) 154 throws RemoteException; clearPendingBackup()155 public void clearPendingBackup() throws RemoteException; backupAgentCreated(String packageName, IBinder agent)156 public void backupAgentCreated(String packageName, IBinder agent) throws RemoteException; unbindBackupAgent(ApplicationInfo appInfo)157 public void unbindBackupAgent(ApplicationInfo appInfo) throws RemoteException; killApplicationProcess(String processName, int uid)158 public void killApplicationProcess(String processName, int uid) throws RemoteException; 159 startInstrumentation(ComponentName className, String profileFile, int flags, Bundle arguments, IInstrumentationWatcher watcher, int userId)160 public boolean startInstrumentation(ComponentName className, String profileFile, 161 int flags, Bundle arguments, IInstrumentationWatcher watcher, int userId) 162 throws RemoteException; finishInstrumentation(IApplicationThread target, int resultCode, Bundle results)163 public void finishInstrumentation(IApplicationThread target, 164 int resultCode, Bundle results) throws RemoteException; 165 getConfiguration()166 public Configuration getConfiguration() throws RemoteException; updateConfiguration(Configuration values)167 public void updateConfiguration(Configuration values) throws RemoteException; setRequestedOrientation(IBinder token, int requestedOrientation)168 public void setRequestedOrientation(IBinder token, 169 int requestedOrientation) throws RemoteException; getRequestedOrientation(IBinder token)170 public int getRequestedOrientation(IBinder token) throws RemoteException; 171 getActivityClassForToken(IBinder token)172 public ComponentName getActivityClassForToken(IBinder token) throws RemoteException; getPackageForToken(IBinder token)173 public String getPackageForToken(IBinder token) throws RemoteException; 174 getIntentSender(int type, String packageName, IBinder token, String resultWho, int requestCode, Intent[] intents, String[] resolvedTypes, int flags, Bundle options, int userId)175 public IIntentSender getIntentSender(int type, 176 String packageName, IBinder token, String resultWho, 177 int requestCode, Intent[] intents, String[] resolvedTypes, 178 int flags, Bundle options, int userId) throws RemoteException; cancelIntentSender(IIntentSender sender)179 public void cancelIntentSender(IIntentSender sender) throws RemoteException; clearApplicationUserData(final String packageName, final IPackageDataObserver observer, int userId)180 public boolean clearApplicationUserData(final String packageName, 181 final IPackageDataObserver observer, int userId) throws RemoteException; getPackageForIntentSender(IIntentSender sender)182 public String getPackageForIntentSender(IIntentSender sender) throws RemoteException; getUidForIntentSender(IIntentSender sender)183 public int getUidForIntentSender(IIntentSender sender) throws RemoteException; 184 handleIncomingUser(int callingPid, int callingUid, int userId, boolean allowAll, boolean requireFull, String name, String callerPackage)185 public int handleIncomingUser(int callingPid, int callingUid, int userId, boolean allowAll, 186 boolean requireFull, String name, String callerPackage) throws RemoteException; 187 setProcessLimit(int max)188 public void setProcessLimit(int max) throws RemoteException; getProcessLimit()189 public int getProcessLimit() throws RemoteException; 190 setProcessForeground(IBinder token, int pid, boolean isForeground)191 public void setProcessForeground(IBinder token, int pid, 192 boolean isForeground) throws RemoteException; 193 checkPermission(String permission, int pid, int uid)194 public int checkPermission(String permission, int pid, int uid) 195 throws RemoteException; 196 checkUriPermission(Uri uri, int pid, int uid, int mode)197 public int checkUriPermission(Uri uri, int pid, int uid, int mode) 198 throws RemoteException; grantUriPermission(IApplicationThread caller, String targetPkg, Uri uri, int mode)199 public void grantUriPermission(IApplicationThread caller, String targetPkg, 200 Uri uri, int mode) throws RemoteException; revokeUriPermission(IApplicationThread caller, Uri uri, int mode)201 public void revokeUriPermission(IApplicationThread caller, Uri uri, 202 int mode) throws RemoteException; 203 showWaitingForDebugger(IApplicationThread who, boolean waiting)204 public void showWaitingForDebugger(IApplicationThread who, boolean waiting) 205 throws RemoteException; 206 getMemoryInfo(ActivityManager.MemoryInfo outInfo)207 public void getMemoryInfo(ActivityManager.MemoryInfo outInfo) throws RemoteException; 208 killBackgroundProcesses(final String packageName, int userId)209 public void killBackgroundProcesses(final String packageName, int userId) 210 throws RemoteException; killAllBackgroundProcesses()211 public void killAllBackgroundProcesses() throws RemoteException; forceStopPackage(final String packageName, int userId)212 public void forceStopPackage(final String packageName, int userId) throws RemoteException; 213 214 // Note: probably don't want to allow applications access to these. goingToSleep()215 public void goingToSleep() throws RemoteException; wakingUp()216 public void wakingUp() throws RemoteException; setLockScreenShown(boolean shown)217 public void setLockScreenShown(boolean shown) throws RemoteException; 218 unhandledBack()219 public void unhandledBack() throws RemoteException; openContentUri(Uri uri)220 public ParcelFileDescriptor openContentUri(Uri uri) throws RemoteException; setDebugApp( String packageName, boolean waitForDebugger, boolean persistent)221 public void setDebugApp( 222 String packageName, boolean waitForDebugger, boolean persistent) 223 throws RemoteException; setAlwaysFinish(boolean enabled)224 public void setAlwaysFinish(boolean enabled) throws RemoteException; setActivityController(IActivityController watcher)225 public void setActivityController(IActivityController watcher) 226 throws RemoteException; 227 enterSafeMode()228 public void enterSafeMode() throws RemoteException; 229 noteWakeupAlarm(IIntentSender sender)230 public void noteWakeupAlarm(IIntentSender sender) throws RemoteException; 231 killPids(int[] pids, String reason, boolean secure)232 public boolean killPids(int[] pids, String reason, boolean secure) throws RemoteException; killProcessesBelowForeground(String reason)233 public boolean killProcessesBelowForeground(String reason) throws RemoteException; 234 235 // Special low-level communication with activity manager. startRunning(String pkg, String cls, String action, String data)236 public void startRunning(String pkg, String cls, String action, 237 String data) throws RemoteException; handleApplicationCrash(IBinder app, ApplicationErrorReport.CrashInfo crashInfo)238 public void handleApplicationCrash(IBinder app, 239 ApplicationErrorReport.CrashInfo crashInfo) throws RemoteException; handleApplicationWtf(IBinder app, String tag, ApplicationErrorReport.CrashInfo crashInfo)240 public boolean handleApplicationWtf(IBinder app, String tag, 241 ApplicationErrorReport.CrashInfo crashInfo) throws RemoteException; 242 243 // A StrictMode violation to be handled. The violationMask is a 244 // subset of the original StrictMode policy bitmask, with only the 245 // bit violated and penalty bits to be executed by the 246 // ActivityManagerService remaining set. handleApplicationStrictModeViolation(IBinder app, int violationMask, StrictMode.ViolationInfo crashInfo)247 public void handleApplicationStrictModeViolation(IBinder app, int violationMask, 248 StrictMode.ViolationInfo crashInfo) throws RemoteException; 249 250 /* 251 * This will deliver the specified signal to all the persistent processes. Currently only 252 * SIGUSR1 is delivered. All others are ignored. 253 */ signalPersistentProcesses(int signal)254 public void signalPersistentProcesses(int signal) throws RemoteException; 255 // Retrieve running application processes in the system getRunningAppProcesses()256 public List<ActivityManager.RunningAppProcessInfo> getRunningAppProcesses() 257 throws RemoteException; 258 // Retrieve info of applications installed on external media that are currently 259 // running. getRunningExternalApplications()260 public List<ApplicationInfo> getRunningExternalApplications() 261 throws RemoteException; 262 // Get memory information about the calling process. getMyMemoryState(ActivityManager.RunningAppProcessInfo outInfo)263 public void getMyMemoryState(ActivityManager.RunningAppProcessInfo outInfo) 264 throws RemoteException; 265 // Get device configuration getDeviceConfigurationInfo()266 public ConfigurationInfo getDeviceConfigurationInfo() throws RemoteException; 267 268 // Turn on/off profiling in a particular process. profileControl(String process, int userId, boolean start, String path, ParcelFileDescriptor fd, int profileType)269 public boolean profileControl(String process, int userId, boolean start, 270 String path, ParcelFileDescriptor fd, int profileType) throws RemoteException; 271 shutdown(int timeout)272 public boolean shutdown(int timeout) throws RemoteException; 273 stopAppSwitches()274 public void stopAppSwitches() throws RemoteException; resumeAppSwitches()275 public void resumeAppSwitches() throws RemoteException; 276 killApplicationWithAppId(String pkg, int appid)277 public void killApplicationWithAppId(String pkg, int appid) throws RemoteException; 278 closeSystemDialogs(String reason)279 public void closeSystemDialogs(String reason) throws RemoteException; 280 getProcessMemoryInfo(int[] pids)281 public Debug.MemoryInfo[] getProcessMemoryInfo(int[] pids) 282 throws RemoteException; 283 overridePendingTransition(IBinder token, String packageName, int enterAnim, int exitAnim)284 public void overridePendingTransition(IBinder token, String packageName, 285 int enterAnim, int exitAnim) throws RemoteException; 286 isUserAMonkey()287 public boolean isUserAMonkey() throws RemoteException; 288 finishHeavyWeightApp()289 public void finishHeavyWeightApp() throws RemoteException; 290 setImmersive(IBinder token, boolean immersive)291 public void setImmersive(IBinder token, boolean immersive) throws RemoteException; isImmersive(IBinder token)292 public boolean isImmersive(IBinder token) throws RemoteException; isTopActivityImmersive()293 public boolean isTopActivityImmersive() throws RemoteException; 294 crashApplication(int uid, int initialPid, String packageName, String message)295 public void crashApplication(int uid, int initialPid, String packageName, 296 String message) throws RemoteException; 297 getProviderMimeType(Uri uri, int userId)298 public String getProviderMimeType(Uri uri, int userId) throws RemoteException; 299 newUriPermissionOwner(String name)300 public IBinder newUriPermissionOwner(String name) throws RemoteException; grantUriPermissionFromOwner(IBinder owner, int fromUid, String targetPkg, Uri uri, int mode)301 public void grantUriPermissionFromOwner(IBinder owner, int fromUid, String targetPkg, 302 Uri uri, int mode) throws RemoteException; revokeUriPermissionFromOwner(IBinder owner, Uri uri, int mode)303 public void revokeUriPermissionFromOwner(IBinder owner, Uri uri, 304 int mode) throws RemoteException; 305 checkGrantUriPermission(int callingUid, String targetPkg, Uri uri, int modeFlags)306 public int checkGrantUriPermission(int callingUid, String targetPkg, 307 Uri uri, int modeFlags) throws RemoteException; 308 309 // Cause the specified process to dump the specified heap. dumpHeap(String process, int userId, boolean managed, String path, ParcelFileDescriptor fd)310 public boolean dumpHeap(String process, int userId, boolean managed, String path, 311 ParcelFileDescriptor fd) throws RemoteException; 312 startActivities(IApplicationThread caller, Intent[] intents, String[] resolvedTypes, IBinder resultTo, Bundle options, int userId)313 public int startActivities(IApplicationThread caller, 314 Intent[] intents, String[] resolvedTypes, IBinder resultTo, 315 Bundle options, int userId) throws RemoteException; 316 getFrontActivityScreenCompatMode()317 public int getFrontActivityScreenCompatMode() throws RemoteException; setFrontActivityScreenCompatMode(int mode)318 public void setFrontActivityScreenCompatMode(int mode) throws RemoteException; getPackageScreenCompatMode(String packageName)319 public int getPackageScreenCompatMode(String packageName) throws RemoteException; setPackageScreenCompatMode(String packageName, int mode)320 public void setPackageScreenCompatMode(String packageName, int mode) 321 throws RemoteException; getPackageAskScreenCompat(String packageName)322 public boolean getPackageAskScreenCompat(String packageName) throws RemoteException; setPackageAskScreenCompat(String packageName, boolean ask)323 public void setPackageAskScreenCompat(String packageName, boolean ask) 324 throws RemoteException; 325 326 // Multi-user APIs switchUser(int userid)327 public boolean switchUser(int userid) throws RemoteException; stopUser(int userid, IStopUserCallback callback)328 public int stopUser(int userid, IStopUserCallback callback) throws RemoteException; getCurrentUser()329 public UserInfo getCurrentUser() throws RemoteException; isUserRunning(int userid, boolean orStopping)330 public boolean isUserRunning(int userid, boolean orStopping) throws RemoteException; getRunningUserIds()331 public int[] getRunningUserIds() throws RemoteException; 332 removeSubTask(int taskId, int subTaskIndex)333 public boolean removeSubTask(int taskId, int subTaskIndex) throws RemoteException; 334 removeTask(int taskId, int flags)335 public boolean removeTask(int taskId, int flags) throws RemoteException; 336 registerProcessObserver(IProcessObserver observer)337 public void registerProcessObserver(IProcessObserver observer) throws RemoteException; unregisterProcessObserver(IProcessObserver observer)338 public void unregisterProcessObserver(IProcessObserver observer) throws RemoteException; 339 isIntentSenderTargetedToPackage(IIntentSender sender)340 public boolean isIntentSenderTargetedToPackage(IIntentSender sender) throws RemoteException; 341 isIntentSenderAnActivity(IIntentSender sender)342 public boolean isIntentSenderAnActivity(IIntentSender sender) throws RemoteException; 343 getIntentForIntentSender(IIntentSender sender)344 public Intent getIntentForIntentSender(IIntentSender sender) throws RemoteException; 345 updatePersistentConfiguration(Configuration values)346 public void updatePersistentConfiguration(Configuration values) throws RemoteException; 347 getProcessPss(int[] pids)348 public long[] getProcessPss(int[] pids) throws RemoteException; 349 showBootMessage(CharSequence msg, boolean always)350 public void showBootMessage(CharSequence msg, boolean always) throws RemoteException; 351 dismissKeyguardOnNextActivity()352 public void dismissKeyguardOnNextActivity() throws RemoteException; 353 targetTaskAffinityMatchesActivity(IBinder token, String destAffinity)354 public boolean targetTaskAffinityMatchesActivity(IBinder token, String destAffinity) 355 throws RemoteException; 356 navigateUpTo(IBinder token, Intent target, int resultCode, Intent resultData)357 public boolean navigateUpTo(IBinder token, Intent target, int resultCode, Intent resultData) 358 throws RemoteException; 359 360 // This is not public because you need to be very careful in how you 361 // manage your activity to make sure it is always the uid you expect. getLaunchedFromUid(IBinder activityToken)362 public int getLaunchedFromUid(IBinder activityToken) throws RemoteException; 363 registerUserSwitchObserver(IUserSwitchObserver observer)364 public void registerUserSwitchObserver(IUserSwitchObserver observer) throws RemoteException; unregisterUserSwitchObserver(IUserSwitchObserver observer)365 public void unregisterUserSwitchObserver(IUserSwitchObserver observer) throws RemoteException; 366 requestBugReport()367 public void requestBugReport() throws RemoteException; 368 inputDispatchingTimedOut(int pid, boolean aboveSystem)369 public long inputDispatchingTimedOut(int pid, boolean aboveSystem) throws RemoteException; 370 371 /* 372 * Private non-Binder interfaces 373 */ testIsSystemReady()374 /* package */ boolean testIsSystemReady(); 375 376 /** Information you can retrieve about a particular application. */ 377 public static class ContentProviderHolder implements Parcelable { 378 public final ProviderInfo info; 379 public IContentProvider provider; 380 public IBinder connection; 381 public boolean noReleaseNeeded; 382 ContentProviderHolder(ProviderInfo _info)383 public ContentProviderHolder(ProviderInfo _info) { 384 info = _info; 385 } 386 describeContents()387 public int describeContents() { 388 return 0; 389 } 390 writeToParcel(Parcel dest, int flags)391 public void writeToParcel(Parcel dest, int flags) { 392 info.writeToParcel(dest, 0); 393 if (provider != null) { 394 dest.writeStrongBinder(provider.asBinder()); 395 } else { 396 dest.writeStrongBinder(null); 397 } 398 dest.writeStrongBinder(connection); 399 dest.writeInt(noReleaseNeeded ? 1:0); 400 } 401 402 public static final Parcelable.Creator<ContentProviderHolder> CREATOR 403 = new Parcelable.Creator<ContentProviderHolder>() { 404 public ContentProviderHolder createFromParcel(Parcel source) { 405 return new ContentProviderHolder(source); 406 } 407 408 public ContentProviderHolder[] newArray(int size) { 409 return new ContentProviderHolder[size]; 410 } 411 }; 412 ContentProviderHolder(Parcel source)413 private ContentProviderHolder(Parcel source) { 414 info = ProviderInfo.CREATOR.createFromParcel(source); 415 provider = ContentProviderNative.asInterface( 416 source.readStrongBinder()); 417 connection = source.readStrongBinder(); 418 noReleaseNeeded = source.readInt() != 0; 419 } 420 } 421 422 /** Information returned after waiting for an activity start. */ 423 public static class WaitResult implements Parcelable { 424 public int result; 425 public boolean timeout; 426 public ComponentName who; 427 public long thisTime; 428 public long totalTime; 429 WaitResult()430 public WaitResult() { 431 } 432 describeContents()433 public int describeContents() { 434 return 0; 435 } 436 writeToParcel(Parcel dest, int flags)437 public void writeToParcel(Parcel dest, int flags) { 438 dest.writeInt(result); 439 dest.writeInt(timeout ? 1 : 0); 440 ComponentName.writeToParcel(who, dest); 441 dest.writeLong(thisTime); 442 dest.writeLong(totalTime); 443 } 444 445 public static final Parcelable.Creator<WaitResult> CREATOR 446 = new Parcelable.Creator<WaitResult>() { 447 public WaitResult createFromParcel(Parcel source) { 448 return new WaitResult(source); 449 } 450 451 public WaitResult[] newArray(int size) { 452 return new WaitResult[size]; 453 } 454 }; 455 WaitResult(Parcel source)456 private WaitResult(Parcel source) { 457 result = source.readInt(); 458 timeout = source.readInt() != 0; 459 who = ComponentName.readFromParcel(source); 460 thisTime = source.readLong(); 461 totalTime = source.readLong(); 462 } 463 }; 464 465 String descriptor = "android.app.IActivityManager"; 466 467 // Please keep these transaction codes the same -- they are also 468 // sent by C++ code. 469 int START_RUNNING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION; 470 int HANDLE_APPLICATION_CRASH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+1; 471 int START_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+2; 472 int UNHANDLED_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+3; 473 int OPEN_CONTENT_URI_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+4; 474 475 // Remaining non-native transaction codes. 476 int FINISH_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+10; 477 int REGISTER_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+11; 478 int UNREGISTER_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+12; 479 int BROADCAST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+13; 480 int UNBROADCAST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+14; 481 int FINISH_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+15; 482 int ATTACH_APPLICATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+16; 483 int ACTIVITY_IDLE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+17; 484 int ACTIVITY_PAUSED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+18; 485 int ACTIVITY_STOPPED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+19; 486 int GET_CALLING_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+20; 487 int GET_CALLING_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+21; 488 int GET_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+22; 489 int MOVE_TASK_TO_FRONT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+23; 490 int MOVE_TASK_TO_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+24; 491 int MOVE_TASK_BACKWARDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+25; 492 int GET_TASK_FOR_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+26; 493 int REPORT_THUMBNAIL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+27; 494 int GET_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+28; 495 int PUBLISH_CONTENT_PROVIDERS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+29; 496 int REF_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+30; 497 int FINISH_SUB_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+31; 498 int GET_RUNNING_SERVICE_CONTROL_PANEL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+32; 499 int START_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+33; 500 int STOP_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+34; 501 int BIND_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+35; 502 int UNBIND_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+36; 503 int PUBLISH_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+37; 504 int ACTIVITY_RESUMED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+38; 505 int GOING_TO_SLEEP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+39; 506 int WAKING_UP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+40; 507 int SET_DEBUG_APP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+41; 508 int SET_ALWAYS_FINISH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+42; 509 int START_INSTRUMENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+43; 510 int FINISH_INSTRUMENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+44; 511 int GET_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+45; 512 int UPDATE_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+46; 513 int STOP_SERVICE_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+47; 514 int GET_ACTIVITY_CLASS_FOR_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+48; 515 int GET_PACKAGE_FOR_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+49; 516 int SET_PROCESS_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+50; 517 int GET_PROCESS_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+51; 518 int CHECK_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+52; 519 int CHECK_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+53; 520 int GRANT_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+54; 521 int REVOKE_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+55; 522 int SET_ACTIVITY_CONTROLLER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+56; 523 int SHOW_WAITING_FOR_DEBUGGER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+57; 524 int SIGNAL_PERSISTENT_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+58; 525 int GET_RECENT_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+59; 526 int SERVICE_DONE_EXECUTING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+60; 527 int ACTIVITY_DESTROYED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+61; 528 int GET_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+62; 529 int CANCEL_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+63; 530 int GET_PACKAGE_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+64; 531 int ENTER_SAFE_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+65; 532 int START_NEXT_MATCHING_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+66; 533 int NOTE_WAKEUP_ALARM_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+67; 534 int REMOVE_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+68; 535 int SET_REQUESTED_ORIENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+69; 536 int GET_REQUESTED_ORIENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+70; 537 int UNBIND_FINISHED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+71; 538 int SET_PROCESS_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+72; 539 int SET_SERVICE_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+73; 540 int MOVE_ACTIVITY_TASK_TO_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+74; 541 int GET_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+75; 542 int GET_PROCESSES_IN_ERROR_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+76; 543 int CLEAR_APP_DATA_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+77; 544 int FORCE_STOP_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+78; 545 int KILL_PIDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+79; 546 int GET_SERVICES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+80; 547 int GET_TASK_THUMBNAILS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+81; 548 int GET_RUNNING_APP_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+82; 549 int GET_DEVICE_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+83; 550 int PEEK_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+84; 551 int PROFILE_CONTROL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+85; 552 int SHUTDOWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+86; 553 int STOP_APP_SWITCHES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+87; 554 int RESUME_APP_SWITCHES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+88; 555 int START_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+89; 556 int BACKUP_AGENT_CREATED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+90; 557 int UNBIND_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+91; 558 int GET_UID_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+92; 559 int HANDLE_INCOMING_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+93; 560 int GET_TASK_TOP_THUMBNAIL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+94; 561 int KILL_APPLICATION_WITH_APPID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+95; 562 int CLOSE_SYSTEM_DIALOGS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+96; 563 int GET_PROCESS_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+97; 564 int KILL_APPLICATION_PROCESS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+98; 565 int START_ACTIVITY_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+99; 566 int OVERRIDE_PENDING_TRANSITION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+100; 567 int HANDLE_APPLICATION_WTF_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+101; 568 int KILL_BACKGROUND_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+102; 569 int IS_USER_A_MONKEY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+103; 570 int START_ACTIVITY_AND_WAIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+104; 571 int WILL_ACTIVITY_BE_VISIBLE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+105; 572 int START_ACTIVITY_WITH_CONFIG_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+106; 573 int GET_RUNNING_EXTERNAL_APPLICATIONS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+107; 574 int FINISH_HEAVY_WEIGHT_APP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+108; 575 int HANDLE_APPLICATION_STRICT_MODE_VIOLATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+109; 576 int IS_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+110; 577 int SET_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+111; 578 int IS_TOP_ACTIVITY_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+112; 579 int CRASH_APPLICATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+113; 580 int GET_PROVIDER_MIME_TYPE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+114; 581 int NEW_URI_PERMISSION_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+115; 582 int GRANT_URI_PERMISSION_FROM_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+116; 583 int REVOKE_URI_PERMISSION_FROM_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+117; 584 int CHECK_GRANT_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+118; 585 int DUMP_HEAP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+119; 586 int START_ACTIVITIES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+120; 587 int IS_USER_RUNNING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+121; 588 int ACTIVITY_SLEPT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+122; 589 int GET_FRONT_ACTIVITY_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+123; 590 int SET_FRONT_ACTIVITY_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+124; 591 int GET_PACKAGE_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+125; 592 int SET_PACKAGE_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+126; 593 int GET_PACKAGE_ASK_SCREEN_COMPAT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+127; 594 int SET_PACKAGE_ASK_SCREEN_COMPAT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+128; 595 int SWITCH_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+129; 596 int REMOVE_SUB_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+130; 597 int REMOVE_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+131; 598 int REGISTER_PROCESS_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+132; 599 int UNREGISTER_PROCESS_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+133; 600 int IS_INTENT_SENDER_TARGETED_TO_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+134; 601 int UPDATE_PERSISTENT_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+135; 602 int GET_PROCESS_PSS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+136; 603 int SHOW_BOOT_MESSAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+137; 604 int DISMISS_KEYGUARD_ON_NEXT_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+138; 605 int KILL_ALL_BACKGROUND_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+139; 606 int GET_CONTENT_PROVIDER_EXTERNAL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+140; 607 int REMOVE_CONTENT_PROVIDER_EXTERNAL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+141; 608 int GET_MY_MEMORY_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+142; 609 int KILL_PROCESSES_BELOW_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+143; 610 int GET_CURRENT_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+144; 611 int TARGET_TASK_AFFINITY_MATCHES_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+145; 612 int NAVIGATE_UP_TO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+146; 613 int SET_LOCK_SCREEN_SHOWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+147; 614 int FINISH_ACTIVITY_AFFINITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+148; 615 int GET_LAUNCHED_FROM_UID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+149; 616 int UNSTABLE_PROVIDER_DIED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+150; 617 int IS_INTENT_SENDER_AN_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+151; 618 int START_ACTIVITY_AS_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+152; 619 int STOP_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+153; 620 int REGISTER_USER_SWITCH_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+154; 621 int UNREGISTER_USER_SWITCH_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+155; 622 int GET_RUNNING_USER_IDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+156; 623 int REQUEST_BUG_REPORT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+157; 624 int INPUT_DISPATCHING_TIMED_OUT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+158; 625 int CLEAR_PENDING_BACKUP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+159; 626 int GET_INTENT_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+160; 627 } 628