IActivityManager.java revision fee756ff91ab4d8f0e09ddb050d22d88ebb66ae7
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 void finishVoiceTask(IVoiceInteractionSession session) throws RemoteException;
94    public boolean willActivityBeVisible(IBinder token) throws RemoteException;
95    public Intent registerReceiver(IApplicationThread caller, String callerPackage,
96            IIntentReceiver receiver, IntentFilter filter,
97            String requiredPermission, int userId) throws RemoteException;
98    public void unregisterReceiver(IIntentReceiver receiver) throws RemoteException;
99    public int broadcastIntent(IApplicationThread caller, Intent intent,
100            String resolvedType, IIntentReceiver resultTo, int resultCode,
101            String resultData, Bundle map, String requiredPermission,
102            int appOp, boolean serialized, boolean sticky, int userId) throws RemoteException;
103    public void unbroadcastIntent(IApplicationThread caller, Intent intent, int userId) throws RemoteException;
104    public void finishReceiver(IBinder who, int resultCode, String resultData, Bundle map, boolean abortBroadcast) throws RemoteException;
105    public void attachApplication(IApplicationThread app) throws RemoteException;
106    public void activityResumed(IBinder token) throws RemoteException;
107    public void activityIdle(IBinder token, Configuration config,
108            boolean stopProfiling) throws RemoteException;
109    public void activityPaused(IBinder token, PersistableBundle persistentState) throws RemoteException;
110    public void activityStopped(IBinder token, Bundle state,
111            PersistableBundle persistentState, CharSequence description) throws RemoteException;
112    public void activitySlept(IBinder token) throws RemoteException;
113    public void activityDestroyed(IBinder token) throws RemoteException;
114    public String getCallingPackage(IBinder token) throws RemoteException;
115    public ComponentName getCallingActivity(IBinder token) throws RemoteException;
116    public List<IAppTask> getAppTasks() throws RemoteException;
117    public List<RunningTaskInfo> getTasks(int maxNum, int flags) throws RemoteException;
118    public List<ActivityManager.RecentTaskInfo> getRecentTasks(int maxNum,
119            int flags, int userId) throws RemoteException;
120    public ActivityManager.TaskThumbnail getTaskThumbnail(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 addPackageDependency(String packageName) throws RemoteException;
299
300    public void killApplicationWithAppId(String pkg, int appid, String reason)
301            throws RemoteException;
302
303    public void closeSystemDialogs(String reason) throws RemoteException;
304
305    public Debug.MemoryInfo[] getProcessMemoryInfo(int[] pids)
306            throws RemoteException;
307
308    public void overridePendingTransition(IBinder token, String packageName,
309            int enterAnim, int exitAnim) throws RemoteException;
310
311    public boolean isUserAMonkey() throws RemoteException;
312
313    public void setUserIsMonkey(boolean monkey) throws RemoteException;
314
315    public void finishHeavyWeightApp() throws RemoteException;
316
317    public boolean convertFromTranslucent(IBinder token) throws RemoteException;
318    public boolean convertToTranslucent(IBinder token, ActivityOptions options) throws RemoteException;
319    public void notifyActivityDrawn(IBinder token) throws RemoteException;
320    public ActivityOptions getActivityOptions(IBinder token) throws RemoteException;
321
322    public void setImmersive(IBinder token, boolean immersive) throws RemoteException;
323    public boolean isImmersive(IBinder token) throws RemoteException;
324    public boolean isTopActivityImmersive() throws RemoteException;
325    public boolean isTopOfTask(IBinder token) throws RemoteException;
326
327    public void crashApplication(int uid, int initialPid, String packageName,
328            String message) throws RemoteException;
329
330    public String getProviderMimeType(Uri uri, int userId) throws RemoteException;
331
332    public IBinder newUriPermissionOwner(String name) throws RemoteException;
333    public void grantUriPermissionFromOwner(IBinder owner, int fromUid, String targetPkg,
334            Uri uri, int mode, int userId) throws RemoteException;
335    public void revokeUriPermissionFromOwner(IBinder owner, Uri uri,
336            int mode, int userId) throws RemoteException;
337
338    public int checkGrantUriPermission(int callingUid, String targetPkg, Uri uri,
339            int modeFlags, int userId) throws RemoteException;
340
341    // Cause the specified process to dump the specified heap.
342    public boolean dumpHeap(String process, int userId, boolean managed, String path,
343        ParcelFileDescriptor fd) throws RemoteException;
344
345    public int startActivities(IApplicationThread caller, String callingPackage,
346            Intent[] intents, String[] resolvedTypes, IBinder resultTo,
347            Bundle options, int userId) throws RemoteException;
348
349    public int getFrontActivityScreenCompatMode() throws RemoteException;
350    public void setFrontActivityScreenCompatMode(int mode) throws RemoteException;
351    public int getPackageScreenCompatMode(String packageName) throws RemoteException;
352    public void setPackageScreenCompatMode(String packageName, int mode)
353            throws RemoteException;
354    public boolean getPackageAskScreenCompat(String packageName) throws RemoteException;
355    public void setPackageAskScreenCompat(String packageName, boolean ask)
356            throws RemoteException;
357
358    // Multi-user APIs
359    public boolean switchUser(int userid) throws RemoteException;
360    public boolean startUserInBackground(int userid) throws RemoteException;
361    public int stopUser(int userid, IStopUserCallback callback) throws RemoteException;
362    public UserInfo getCurrentUser() throws RemoteException;
363    public boolean isUserRunning(int userid, boolean orStopping) throws RemoteException;
364    public int[] getRunningUserIds() throws RemoteException;
365
366    public boolean removeTask(int taskId, int flags) throws RemoteException;
367
368    public void registerProcessObserver(IProcessObserver observer) throws RemoteException;
369    public void unregisterProcessObserver(IProcessObserver observer) throws RemoteException;
370
371    public boolean isIntentSenderTargetedToPackage(IIntentSender sender) throws RemoteException;
372
373    public boolean isIntentSenderAnActivity(IIntentSender sender) throws RemoteException;
374
375    public Intent getIntentForIntentSender(IIntentSender sender) throws RemoteException;
376
377    public String getTagForIntentSender(IIntentSender sender, String prefix) throws RemoteException;
378
379    public void updatePersistentConfiguration(Configuration values) throws RemoteException;
380
381    public long[] getProcessPss(int[] pids) throws RemoteException;
382
383    public void showBootMessage(CharSequence msg, boolean always) throws RemoteException;
384
385    public void dismissKeyguardOnNextActivity() throws RemoteException;
386
387    public boolean targetTaskAffinityMatchesActivity(IBinder token, String destAffinity)
388            throws RemoteException;
389
390    public boolean navigateUpTo(IBinder token, Intent target, int resultCode, Intent resultData)
391            throws RemoteException;
392
393    // These are not public because you need to be very careful in how you
394    // manage your activity to make sure it is always the uid you expect.
395    public int getLaunchedFromUid(IBinder activityToken) throws RemoteException;
396    public String getLaunchedFromPackage(IBinder activityToken) throws RemoteException;
397
398    public void registerUserSwitchObserver(IUserSwitchObserver observer) throws RemoteException;
399    public void unregisterUserSwitchObserver(IUserSwitchObserver observer) throws RemoteException;
400
401    public void requestBugReport() throws RemoteException;
402
403    public long inputDispatchingTimedOut(int pid, boolean aboveSystem, String reason)
404            throws RemoteException;
405
406    public Bundle getAssistContextExtras(int requestType) throws RemoteException;
407
408    public void reportAssistContextExtras(IBinder token, Bundle extras) throws RemoteException;
409
410    public void killUid(int uid, String reason) throws RemoteException;
411
412    public void hang(IBinder who, boolean allowRestart) throws RemoteException;
413
414    public void reportActivityFullyDrawn(IBinder token) throws RemoteException;
415
416    public void restart() throws RemoteException;
417
418    public void performIdleMaintenance() throws RemoteException;
419
420    public IActivityContainer createActivityContainer(IBinder parentActivityToken,
421            IActivityContainerCallback callback) throws RemoteException;
422
423    public void deleteActivityContainer(IActivityContainer container) throws RemoteException;
424
425    public IActivityContainer getEnclosingActivityContainer(IBinder activityToken)
426            throws RemoteException;
427
428    public IBinder getHomeActivityToken() throws RemoteException;
429
430    public void startLockTaskModeOnCurrent() throws RemoteException;
431
432    public void startLockTaskMode(int taskId) throws RemoteException;
433
434    public void startLockTaskMode(IBinder token) throws RemoteException;
435
436    public void stopLockTaskMode() throws RemoteException;
437
438    public void stopLockTaskModeOnCurrent() throws RemoteException;
439
440    public boolean isInLockTaskMode() throws RemoteException;
441
442    public void setTaskDescription(IBinder token, ActivityManager.TaskDescription values)
443            throws RemoteException;
444
445    public boolean setMediaPlaying(IBinder token, boolean playing) throws RemoteException;
446    public boolean isBackgroundMediaPlaying(IBinder token) throws RemoteException;
447    public void mediaResourcesReleased(IBinder token) throws RemoteException;
448
449    public void notifyLaunchTaskBehindComplete(IBinder token) throws RemoteException;
450
451    /*
452     * Private non-Binder interfaces
453     */
454    /* package */ boolean testIsSystemReady();
455
456    /** Information you can retrieve about a particular application. */
457    public static class ContentProviderHolder implements Parcelable {
458        public final ProviderInfo info;
459        public IContentProvider provider;
460        public IBinder connection;
461        public boolean noReleaseNeeded;
462
463        public ContentProviderHolder(ProviderInfo _info) {
464            info = _info;
465        }
466
467        @Override
468        public int describeContents() {
469            return 0;
470        }
471
472        @Override
473        public void writeToParcel(Parcel dest, int flags) {
474            info.writeToParcel(dest, 0);
475            if (provider != null) {
476                dest.writeStrongBinder(provider.asBinder());
477            } else {
478                dest.writeStrongBinder(null);
479            }
480            dest.writeStrongBinder(connection);
481            dest.writeInt(noReleaseNeeded ? 1:0);
482        }
483
484        public static final Parcelable.Creator<ContentProviderHolder> CREATOR
485                = new Parcelable.Creator<ContentProviderHolder>() {
486            @Override
487            public ContentProviderHolder createFromParcel(Parcel source) {
488                return new ContentProviderHolder(source);
489            }
490
491            @Override
492            public ContentProviderHolder[] newArray(int size) {
493                return new ContentProviderHolder[size];
494            }
495        };
496
497        private ContentProviderHolder(Parcel source) {
498            info = ProviderInfo.CREATOR.createFromParcel(source);
499            provider = ContentProviderNative.asInterface(
500                source.readStrongBinder());
501            connection = source.readStrongBinder();
502            noReleaseNeeded = source.readInt() != 0;
503        }
504    }
505
506    /** Information returned after waiting for an activity start. */
507    public static class WaitResult implements Parcelable {
508        public int result;
509        public boolean timeout;
510        public ComponentName who;
511        public long thisTime;
512        public long totalTime;
513
514        public WaitResult() {
515        }
516
517        @Override
518        public int describeContents() {
519            return 0;
520        }
521
522        @Override
523        public void writeToParcel(Parcel dest, int flags) {
524            dest.writeInt(result);
525            dest.writeInt(timeout ? 1 : 0);
526            ComponentName.writeToParcel(who, dest);
527            dest.writeLong(thisTime);
528            dest.writeLong(totalTime);
529        }
530
531        public static final Parcelable.Creator<WaitResult> CREATOR
532                = new Parcelable.Creator<WaitResult>() {
533            @Override
534            public WaitResult createFromParcel(Parcel source) {
535                return new WaitResult(source);
536            }
537
538            @Override
539            public WaitResult[] newArray(int size) {
540                return new WaitResult[size];
541            }
542        };
543
544        private WaitResult(Parcel source) {
545            result = source.readInt();
546            timeout = source.readInt() != 0;
547            who = ComponentName.readFromParcel(source);
548            thisTime = source.readLong();
549            totalTime = source.readLong();
550        }
551    }
552
553    String descriptor = "android.app.IActivityManager";
554
555    // Please keep these transaction codes the same -- they are also
556    // sent by C++ code.
557    int HANDLE_APPLICATION_CRASH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+1;
558    int START_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+2;
559    int UNHANDLED_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+3;
560    int OPEN_CONTENT_URI_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+4;
561
562    // Remaining non-native transaction codes.
563    int FINISH_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+10;
564    int REGISTER_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+11;
565    int UNREGISTER_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+12;
566    int BROADCAST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+13;
567    int UNBROADCAST_INTENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+14;
568    int FINISH_RECEIVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+15;
569    int ATTACH_APPLICATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+16;
570    int ACTIVITY_IDLE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+17;
571    int ACTIVITY_PAUSED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+18;
572    int ACTIVITY_STOPPED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+19;
573    int GET_CALLING_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+20;
574    int GET_CALLING_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+21;
575    int GET_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+22;
576    int MOVE_TASK_TO_FRONT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+23;
577    int MOVE_TASK_TO_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+24;
578    int MOVE_TASK_BACKWARDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+25;
579    int GET_TASK_FOR_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+26;
580
581    int GET_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+28;
582    int PUBLISH_CONTENT_PROVIDERS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+29;
583    int REF_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+30;
584    int FINISH_SUB_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+31;
585    int GET_RUNNING_SERVICE_CONTROL_PANEL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+32;
586    int START_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+33;
587    int STOP_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+34;
588    int BIND_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+35;
589    int UNBIND_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+36;
590    int PUBLISH_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+37;
591    int ACTIVITY_RESUMED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+38;
592    int SET_DEBUG_APP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+41;
593    int SET_ALWAYS_FINISH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+42;
594    int START_INSTRUMENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+43;
595    int FINISH_INSTRUMENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+44;
596    int GET_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+45;
597    int UPDATE_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+46;
598    int STOP_SERVICE_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+47;
599    int GET_ACTIVITY_CLASS_FOR_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+48;
600    int GET_PACKAGE_FOR_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+49;
601    int SET_PROCESS_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+50;
602    int GET_PROCESS_LIMIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+51;
603    int CHECK_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+52;
604    int CHECK_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+53;
605    int GRANT_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+54;
606    int REVOKE_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+55;
607    int SET_ACTIVITY_CONTROLLER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+56;
608    int SHOW_WAITING_FOR_DEBUGGER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+57;
609    int SIGNAL_PERSISTENT_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+58;
610    int GET_RECENT_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+59;
611    int SERVICE_DONE_EXECUTING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+60;
612    int ACTIVITY_DESTROYED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+61;
613    int GET_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+62;
614    int CANCEL_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+63;
615    int GET_PACKAGE_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+64;
616    int ENTER_SAFE_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+65;
617    int START_NEXT_MATCHING_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+66;
618    int NOTE_WAKEUP_ALARM_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+67;
619    int REMOVE_CONTENT_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+68;
620    int SET_REQUESTED_ORIENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+69;
621    int GET_REQUESTED_ORIENTATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+70;
622    int UNBIND_FINISHED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+71;
623    int SET_PROCESS_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+72;
624    int SET_SERVICE_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+73;
625    int MOVE_ACTIVITY_TASK_TO_BACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+74;
626    int GET_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+75;
627    int GET_PROCESSES_IN_ERROR_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+76;
628    int CLEAR_APP_DATA_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+77;
629    int FORCE_STOP_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+78;
630    int KILL_PIDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+79;
631    int GET_SERVICES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+80;
632    int GET_TASK_THUMBNAIL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+81;
633    int GET_RUNNING_APP_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+82;
634    int GET_DEVICE_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+83;
635    int PEEK_SERVICE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+84;
636    int PROFILE_CONTROL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+85;
637    int SHUTDOWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+86;
638    int STOP_APP_SWITCHES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+87;
639    int RESUME_APP_SWITCHES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+88;
640    int START_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+89;
641    int BACKUP_AGENT_CREATED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+90;
642    int UNBIND_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+91;
643    int GET_UID_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+92;
644    int HANDLE_INCOMING_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+93;
645    int ADD_PACKAGE_DEPENDENCY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+94;
646    int KILL_APPLICATION_WITH_APPID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+95;
647    int CLOSE_SYSTEM_DIALOGS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+96;
648    int GET_PROCESS_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+97;
649    int KILL_APPLICATION_PROCESS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+98;
650    int START_ACTIVITY_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+99;
651    int OVERRIDE_PENDING_TRANSITION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+100;
652    int HANDLE_APPLICATION_WTF_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+101;
653    int KILL_BACKGROUND_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+102;
654    int IS_USER_A_MONKEY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+103;
655    int START_ACTIVITY_AND_WAIT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+104;
656    int WILL_ACTIVITY_BE_VISIBLE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+105;
657    int START_ACTIVITY_WITH_CONFIG_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+106;
658    int GET_RUNNING_EXTERNAL_APPLICATIONS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+107;
659    int FINISH_HEAVY_WEIGHT_APP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+108;
660    int HANDLE_APPLICATION_STRICT_MODE_VIOLATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+109;
661    int IS_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+110;
662    int SET_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+111;
663    int IS_TOP_ACTIVITY_IMMERSIVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+112;
664    int CRASH_APPLICATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+113;
665    int GET_PROVIDER_MIME_TYPE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+114;
666    int NEW_URI_PERMISSION_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+115;
667    int GRANT_URI_PERMISSION_FROM_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+116;
668    int REVOKE_URI_PERMISSION_FROM_OWNER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+117;
669    int CHECK_GRANT_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+118;
670    int DUMP_HEAP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+119;
671    int START_ACTIVITIES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+120;
672    int IS_USER_RUNNING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+121;
673    int ACTIVITY_SLEPT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+122;
674    int GET_FRONT_ACTIVITY_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+123;
675    int SET_FRONT_ACTIVITY_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+124;
676    int GET_PACKAGE_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+125;
677    int SET_PACKAGE_SCREEN_COMPAT_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+126;
678    int GET_PACKAGE_ASK_SCREEN_COMPAT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+127;
679    int SET_PACKAGE_ASK_SCREEN_COMPAT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+128;
680    int SWITCH_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+129;
681    int ___AVAILABLE_1___ = IBinder.FIRST_CALL_TRANSACTION+130;
682    int REMOVE_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+131;
683    int REGISTER_PROCESS_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+132;
684    int UNREGISTER_PROCESS_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+133;
685    int IS_INTENT_SENDER_TARGETED_TO_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+134;
686    int UPDATE_PERSISTENT_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+135;
687    int GET_PROCESS_PSS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+136;
688    int SHOW_BOOT_MESSAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+137;
689    int DISMISS_KEYGUARD_ON_NEXT_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+138;
690    int KILL_ALL_BACKGROUND_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+139;
691    int GET_CONTENT_PROVIDER_EXTERNAL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+140;
692    int REMOVE_CONTENT_PROVIDER_EXTERNAL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+141;
693    int GET_MY_MEMORY_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+142;
694    int KILL_PROCESSES_BELOW_FOREGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+143;
695    int GET_CURRENT_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+144;
696    int TARGET_TASK_AFFINITY_MATCHES_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+145;
697    int NAVIGATE_UP_TO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+146;
698    int SET_LOCK_SCREEN_SHOWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+147;
699    int FINISH_ACTIVITY_AFFINITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+148;
700    int GET_LAUNCHED_FROM_UID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+149;
701    int UNSTABLE_PROVIDER_DIED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+150;
702    int IS_INTENT_SENDER_AN_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+151;
703    int START_ACTIVITY_AS_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+152;
704    int STOP_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+153;
705    int REGISTER_USER_SWITCH_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+154;
706    int UNREGISTER_USER_SWITCH_OBSERVER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+155;
707    int GET_RUNNING_USER_IDS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+156;
708    int REQUEST_BUG_REPORT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+157;
709    int INPUT_DISPATCHING_TIMED_OUT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+158;
710    int CLEAR_PENDING_BACKUP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+159;
711    int GET_INTENT_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+160;
712    int GET_ASSIST_CONTEXT_EXTRAS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+161;
713    int REPORT_ASSIST_CONTEXT_EXTRAS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+162;
714    int GET_LAUNCHED_FROM_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+163;
715    int KILL_UID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+164;
716    int SET_USER_IS_MONKEY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+165;
717    int HANG_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+166;
718    int CREATE_ACTIVITY_CONTAINER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+167;
719    int MOVE_TASK_TO_STACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+168;
720    int RESIZE_STACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+169;
721    int GET_ALL_STACK_INFOS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+170;
722    int SET_FOCUSED_STACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+171;
723    int GET_STACK_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+172;
724    int CONVERT_FROM_TRANSLUCENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+173;
725    int CONVERT_TO_TRANSLUCENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+174;
726    int NOTIFY_ACTIVITY_DRAWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+175;
727    int REPORT_ACTIVITY_FULLY_DRAWN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+176;
728    int RESTART_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+177;
729    int PERFORM_IDLE_MAINTENANCE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+178;
730    int TAKE_PERSISTABLE_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+179;
731    int RELEASE_PERSISTABLE_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+180;
732    int GET_PERSISTED_URI_PERMISSIONS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+181;
733    int APP_NOT_RESPONDING_VIA_PROVIDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+182;
734    int GET_HOME_ACTIVITY_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+183;
735    int GET_ACTIVITY_CONTAINER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+184;
736    int DELETE_ACTIVITY_CONTAINER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+185;
737
738
739    // Start of L transactions
740    int GET_TAG_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+210;
741    int START_USER_IN_BACKGROUND_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+211;
742    int IS_IN_HOME_STACK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+212;
743    int START_LOCK_TASK_BY_TASK_ID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+213;
744    int START_LOCK_TASK_BY_TOKEN_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+214;
745    int STOP_LOCK_TASK_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+215;
746    int IS_IN_LOCK_TASK_MODE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+216;
747    int SET_TASK_DESCRIPTION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+217;
748    int START_VOICE_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+218;
749    int GET_ACTIVITY_OPTIONS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+219;
750    int GET_APP_TASKS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+220;
751    int START_LOCK_TASK_BY_CURRENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+221;
752    int STOP_LOCK_TASK_BY_CURRENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+222;
753    int FINISH_VOICE_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+223;
754    int IS_TOP_OF_TASK_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+224;
755    int SET_MEDIA_PLAYING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+225;
756    int IS_BG_MEDIA_PLAYING_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+226;
757    int MEDIA_RESOURCES_RELEASED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+227;
758    int NOTIFY_LAUNCH_TASK_BEHIND_COMPLETE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+228;
759}
760