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