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