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