1cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka/*
2cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka * Copyright (C) 2016 The Android Open Source Project
3cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka *
4cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka * Licensed under the Apache License, Version 2.0 (the "License");
5cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka * you may not use this file except in compliance with the License.
6cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka * You may obtain a copy of the License at
7cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka *
8cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka *      http://www.apache.org/licenses/LICENSE-2.0
9cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka *
10cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka * Unless required by applicable law or agreed to in writing, software
11cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka * distributed under the License is distributed on an "AS IS" BASIS,
12cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka * See the License for the specific language governing permissions and
14cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka * limitations under the License.
15cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka */
16cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka
17cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankapackage android.app;
18cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka
19cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.app.IInstrumentationWatcher;
20cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.app.IUiAutomationConnection;
21cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.app.ProfilerInfo;
22cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.app.ResultInfo;
23446e824e22692ee217b5b15e4f0de6add6e83d2aAndrii Kulianimport android.app.servertransaction.ClientTransaction;
24cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.content.ComponentName;
25cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.content.IIntentReceiver;
26cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.content.Intent;
27cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.content.pm.ActivityInfo;
28cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.content.pm.ApplicationInfo;
293f7c9f2d0164f2b5826c194e9309791637f35c2cDianne Hackbornimport android.content.pm.ParceledListSlice;
30cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.content.pm.ProviderInfo;
31cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.content.pm.ServiceInfo;
32cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.content.res.CompatibilityInfo;
33cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.content.res.Configuration;
34cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.net.Uri;
35cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.os.Bundle;
36cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.os.Debug;
37cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.os.IBinder;
38cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.os.IInterface;
39cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.os.ParcelFileDescriptor;
40cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport android.os.PersistableBundle;
41cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka
42cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport com.android.internal.app.IVoiceInteractor;
43cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport com.android.internal.content.ReferrerIntent;
44cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka
45cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport java.util.List;
46cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaimport java.util.Map;
47cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka
48cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka/**
49cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka * System private API for communicating with the application.  This is given to
50cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka * the activity manager by an application  when it starts up, for the activity
51cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka * manager to tell the application about things it needs to do.
52cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka *
53cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka * {@hide}
54cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka */
55cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shankaoneway interface IApplicationThread {
56cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka    void scheduleReceiver(in Intent intent, in ActivityInfo info,
57cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka            in CompatibilityInfo compatInfo,
58cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka            int resultCode, in String data, in Bundle extras, boolean sync,
593052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka            int sendingUser, int processState);
60cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka    void scheduleCreateService(IBinder token, in ServiceInfo info,
613052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka            in CompatibilityInfo compatInfo, int processState);
623052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void scheduleStopService(IBinder token);
63cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka    void bindApplication(in String packageName, in ApplicationInfo info,
64cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka            in List<ProviderInfo> providers, in ComponentName testName,
65cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka            in ProfilerInfo profilerInfo, in Bundle testArguments,
66cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka            IInstrumentationWatcher testWatcher, IUiAutomationConnection uiAutomationConnection,
67cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka            int debugMode, boolean enableBinderTracking, boolean trackAllocation,
68cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka            boolean restrictedBackupMode, boolean persistent, in Configuration config,
69cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka            in CompatibilityInfo compatInfo, in Map services,
7024c90450fe3fe097a7bca51edd6a4cffd8fd13aaSvetoslav Ganov            in Bundle coreSettings, in String buildSerial, boolean isAutofillCompatEnabled);
71466cbe4bc1d9ee0d51d09602df10b52617d3bd31Torne (Richard Coles)    void runIsolatedEntryPoint(in String entryPoint, in String[] entryPointArgs);
723052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void scheduleExit();
733f7c9f2d0164f2b5826c194e9309791637f35c2cDianne Hackborn    void scheduleServiceArgs(IBinder token, in ParceledListSlice args);
743052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void updateTimeZone();
753052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void processInBackground();
76cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka    void scheduleBindService(IBinder token,
773052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka            in Intent intent, boolean rebind, int processState);
78cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka    void scheduleUnbindService(IBinder token,
793052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka            in Intent intent);
80cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka    void dumpService(in ParcelFileDescriptor fd, IBinder servicetoken,
813052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka            in String[] args);
82cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka    void scheduleRegisteredReceiver(IIntentReceiver receiver, in Intent intent,
83cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka            int resultCode, in String data, in Bundle extras, boolean ordered,
843052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka            boolean sticky, int sendingUser, int processState);
853052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void scheduleLowMemory();
863052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void scheduleSleeping(IBinder token, boolean sleeping);
873052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void profilerControl(boolean start, in ProfilerInfo profilerInfo, int profileType);
883052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void setSchedulingGroup(int group);
89cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka    void scheduleCreateBackupAgent(in ApplicationInfo app, in CompatibilityInfo compatInfo,
903052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka            int backupMode);
91cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka    void scheduleDestroyBackupAgent(in ApplicationInfo app,
923052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka            in CompatibilityInfo compatInfo);
933052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void scheduleOnNewActivityOptions(IBinder token, in Bundle options);
943052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void scheduleSuicide();
953052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void dispatchPackageBroadcast(int cmd, in String[] packages);
963052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void scheduleCrash(in String msg);
978d652f8f7e48370b92314bbd547ddf2d66a1ed4bChristopher Ferris    void dumpHeap(boolean managed, boolean mallocInfo, boolean runGc, in String path,
988d652f8f7e48370b92314bbd547ddf2d66a1ed4bChristopher Ferris            in ParcelFileDescriptor fd);
99cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka    void dumpActivity(in ParcelFileDescriptor fd, IBinder servicetoken, in String prefix,
1003052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka            in String[] args);
1013052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void clearDnsCache();
102cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka    void setHttpProxy(in String proxy, in String port, in String exclList,
1033052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka            in Uri pacFileUrl);
1043052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void setCoreSettings(in Bundle coreSettings);
1053052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void updatePackageCompatibilityInfo(in String pkg, in CompatibilityInfo info);
1063052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void scheduleTrimMemory(int level);
107cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka    void dumpMemInfo(in ParcelFileDescriptor fd, in Debug.MemoryInfo mem, boolean checkin,
108cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka            boolean dumpInfo, boolean dumpDalvik, boolean dumpSummaryOnly, boolean dumpUnreachable,
1093052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka            in String[] args);
110983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    void dumpMemInfoProto(in ParcelFileDescriptor fd, in Debug.MemoryInfo mem,
111983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams            boolean dumpInfo, boolean dumpDalvik, boolean dumpSummaryOnly, boolean dumpUnreachable,
112983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams            in String[] args);
1133052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void dumpGfxInfo(in ParcelFileDescriptor fd, in String[] args);
114cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka    void dumpProvider(in ParcelFileDescriptor fd, IBinder servicetoken,
1153052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka            in String[] args);
1163052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void dumpDbInfo(in ParcelFileDescriptor fd, in String[] args);
1173052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void unstableProviderDied(IBinder provider);
118cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka    void requestAssistContextExtras(IBinder activityToken, IBinder requestToken,
119fd31f85d0c6f19138d06d565d2b30b59e241a960Svet Ganov            int requestType, int sessionId, int flags);
1203052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void scheduleTranslucentConversionComplete(IBinder token, boolean timeout);
1213052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void setProcessState(int state);
1223052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void scheduleInstallProvider(in ProviderInfo provider);
123b7146fec0d864fc8d107ff42c863f999d1129c84Neil Fuller    void updateTimePrefs(int timeFormatPreference);
1243052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void scheduleEnterAnimationComplete(IBinder token);
1253052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void notifyCleartextNetwork(in byte[] firstPacket);
1263052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void startBinderTracking();
1273052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void stopBinderTrackingAndDump(in ParcelFileDescriptor fd);
128cc6418feb7d5d13fd5062d9fd469650651eeda00Sudheer Shanka    void scheduleLocalVoiceInteractionStarted(IBinder token,
1293052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka            IVoiceInteractor voiceInteractor);
1303052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void handleTrustStorageUpdate();
1313052f85a1c516a60205633280e4862301e7ec566Sudheer Shanka    void attachAgent(String path);
13249a4a1dfceeebc4b94022827b7e68cc971689c84Mårten Kongstad    void scheduleApplicationInfoChanged(in ApplicationInfo ai);
13384a4895c9c1eb7f381d99fb8eb298d8335d4e480Sudheer Shanka    void setNetworkBlockSeq(long procStateSeq);
134446e824e22692ee217b5b15e4f0de6add6e83d2aAndrii Kulian    void scheduleTransaction(in ClientTransaction transaction);
135b7146fec0d864fc8d107ff42c863f999d1129c84Neil Fuller}
136