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