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