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