1 /*
2  * Copyright (C) 2014 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 
17 package android.content.pm;
18 
19 import android.content.pm.IPackageDeleteObserver2;
20 import android.content.pm.IPackageInstallerCallback;
21 import android.content.pm.IPackageInstallerSession;
22 import android.content.pm.PackageInstaller;
23 import android.content.pm.ParceledListSlice;
24 import android.content.pm.VersionedPackage;
25 import android.content.IntentSender;
26 
27 import android.graphics.Bitmap;
28 
29 /** {@hide} */
30 interface IPackageInstaller {
createSession(in PackageInstaller.SessionParams params, String installerPackageName, int userId)31     int createSession(in PackageInstaller.SessionParams params, String installerPackageName, int userId);
32 
updateSessionAppIcon(int sessionId, in Bitmap appIcon)33     void updateSessionAppIcon(int sessionId, in Bitmap appIcon);
updateSessionAppLabel(int sessionId, String appLabel)34     void updateSessionAppLabel(int sessionId, String appLabel);
35 
abandonSession(int sessionId)36     void abandonSession(int sessionId);
37 
openSession(int sessionId)38     IPackageInstallerSession openSession(int sessionId);
39 
getSessionInfo(int sessionId)40     PackageInstaller.SessionInfo getSessionInfo(int sessionId);
41 
getAllSessions(int userId)42     ParceledListSlice getAllSessions(int userId);
getMySessions(String installerPackageName, int userId)43     ParceledListSlice getMySessions(String installerPackageName, int userId);
44 
getStagedSessions()45     ParceledListSlice getStagedSessions();
46 
registerCallback(IPackageInstallerCallback callback, int userId)47     void registerCallback(IPackageInstallerCallback callback, int userId);
unregisterCallback(IPackageInstallerCallback callback)48     void unregisterCallback(IPackageInstallerCallback callback);
49 
50     @UnsupportedAppUsage
uninstall(in VersionedPackage versionedPackage, String callerPackageName, int flags, in IntentSender statusReceiver, int userId)51     void uninstall(in VersionedPackage versionedPackage, String callerPackageName, int flags,
52             in IntentSender statusReceiver, int userId);
53 
uninstallExistingPackage(in VersionedPackage versionedPackage, String callerPackageName, in IntentSender statusReceiver, int userId)54     void uninstallExistingPackage(in VersionedPackage versionedPackage, String callerPackageName,
55             in IntentSender statusReceiver, int userId);
56 
installExistingPackage(String packageName, int installFlags, int installReason, in IntentSender statusReceiver, int userId, in List<String> whiteListedPermissions)57     void installExistingPackage(String packageName, int installFlags, int installReason,
58             in IntentSender statusReceiver, int userId, in List<String> whiteListedPermissions);
59 
setPermissionsResult(int sessionId, boolean accepted)60     void setPermissionsResult(int sessionId, boolean accepted);
61 
bypassNextStagedInstallerCheck(boolean value)62     void bypassNextStagedInstallerCheck(boolean value);
63 }
64