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