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