public class PackageManagerService
extends IPackageManager.Stub
Internally there are two important locks:
mPackages
is used to guard all in-memory parsed package details
and other related state. It is a fine-grained lock that should only be held
momentarily, as it's one of the most contended locks in the system.
mInstallLock
is used to guard all installd
access, whose
operations typically involve heavy lifting of application data on disk. Since
installd
is single-threaded, and it's operations can often be slow,
this lock should never be acquired while already holding mPackages
.
Conversely, it's safe to acquire mPackages
momentarily while already
holding mInstallLock
.
mInstallLock
mInstallLock
and the package
being modified must be frozen
mPackages
for reading
mPackages
for writing
Because this class is very central to the platform's security; please run all CTS and unit tests whenever making modifications:
$ runtest -c android.content.pm.PackageManagerTests frameworks-core $ cts-tradefed run commandAndExit cts -m AppSecurityTests
Modifier and Type | Class and Description |
---|---|
static class |
PackageManagerService.SharedLibraryEntry |
Modifier and Type | Field and Description |
---|---|
static int |
REASON_AB_OTA |
static int |
REASON_BACKGROUND_DEXOPT |
static int |
REASON_BOOT |
static int |
REASON_CORE_APP |
static int |
REASON_FIRST_BOOT |
static int |
REASON_FORCED_DEXOPT |
static int |
REASON_INSTALL |
static int |
REASON_LAST |
static int |
REASON_NON_SYSTEM_LIBRARY |
static int |
REASON_SHARED_APK |
Constructor and Description |
---|
PackageManagerService(Context context,
Installer installer,
boolean factoryTest,
boolean onlyCore) |
Modifier and Type | Method and Description |
---|---|
boolean |
activitySupportsIntent(ComponentName component,
Intent intent,
String resolvedType) |
void |
addCrossProfileIntentFilter(IntentFilter intentFilter,
String ownerPackage,
int sourceUserId,
int targetUserId,
int flags) |
void |
addOnPermissionsChangeListener(IOnPermissionsChangeListener listener) |
boolean |
addPermission(PermissionInfo info) |
boolean |
addPermissionAsync(PermissionInfo info) |
void |
addPersistentPreferredActivity(IntentFilter filter,
ComponentName activity,
int userId) |
void |
addPreferredActivity(IntentFilter filter,
int match,
ComponentName[] set,
ComponentName activity,
int userId) |
boolean |
canForwardTo(Intent intent,
String resolvedType,
int sourceUserId,
int targetUserId) |
String[] |
canonicalToCurrentPackageNames(String[] names) |
void |
checkPackageStartable(String packageName,
int userId) |
int |
checkPermission(String permName,
String pkgName,
int userId) |
int |
checkSignatures(String pkg1,
String pkg2) |
int |
checkUidPermission(String permName,
int uid) |
int |
checkUidSignatures(int uid1,
int uid2) |
void |
clearApplicationProfileData(String packageName) |
void |
clearApplicationUserData(String packageName,
IPackageDataObserver observer,
int userId) |
void |
clearCrossProfileIntentFilters(int sourceUserId,
String ownerPackage) |
void |
clearPackagePersistentPreferredActivities(String packageName,
int userId) |
void |
clearPackagePreferredActivities(String packageName) |
String[] |
currentToCanonicalPackageNames(String[] names) |
void |
deleteApplicationCacheFiles(String packageName,
IPackageDataObserver observer) |
void |
deleteApplicationCacheFilesAsUser(String packageName,
int userId,
IPackageDataObserver observer) |
void |
deleteCompilerPackageStats(String pkgName) |
void |
deletePackage(String packageName,
IPackageDeleteObserver2 observer,
int userId,
int deleteFlags) |
void |
deletePackageAsUser(String packageName,
IPackageDeleteObserver observer,
int userId,
int flags) |
protected void |
dump(FileDescriptor fd,
PrintWriter pw,
String[] args) |
void |
dumpProfiles(String packageName) |
void |
enterSafeMode() |
void |
extendVerificationTimeout(int id,
int verificationCodeAtTimeout,
long millisecondsToDelay) |
void |
finishPackageInstall(int token,
boolean didLaunch) |
void |
flushPackageRestrictionsAsUser(int userId) |
void |
forceDexOpt(String packageName) |
void |
freeStorage(String volumeUuid,
long freeStorageSize,
IntentSender pi) |
void |
freeStorageAndNotify(String volumeUuid,
long freeStorageSize,
IPackageDataObserver observer) |
com.android.server.pm.PackageManagerService.PackageFreezer |
freezePackage(String packageName,
int userId,
String killReason) |
com.android.server.pm.PackageManagerService.PackageFreezer |
freezePackage(String packageName,
String killReason) |
com.android.server.pm.PackageManagerService.PackageFreezer |
freezePackageForDelete(String packageName,
int userId,
int deleteFlags,
String killReason) |
com.android.server.pm.PackageManagerService.PackageFreezer |
freezePackageForDelete(String packageName,
int deleteFlags,
String killReason) |
com.android.server.pm.PackageManagerService.PackageFreezer |
freezePackageForInstall(String packageName,
int userId,
int installFlags,
String killReason) |
com.android.server.pm.PackageManagerService.PackageFreezer |
freezePackageForInstall(String packageName,
int installFlags,
String killReason) |
ActivityInfo |
getActivityInfo(ComponentName component,
int flags,
int userId) |
ParceledListSlice<IntentFilter> |
getAllIntentFilters(String packageName) |
List<String> |
getAllPackages() |
ParceledListSlice<PermissionGroupInfo> |
getAllPermissionGroups(int flags) |
int |
getApplicationEnabledSetting(String packageName,
int userId) |
boolean |
getApplicationHiddenSettingAsUser(String packageName,
int userId)
Returns true if application is not found or there was an error.
|
ApplicationInfo |
getApplicationInfo(String packageName,
int flags,
int userId) |
String[] |
getAppOpPermissionPackages(String permissionName) |
boolean |
getBlockUninstallForUser(String packageName,
int userId) |
com.android.server.pm.CompilerStats.PackageStats |
getCompilerPackageStats(String pkgName) |
int |
getComponentEnabledSetting(ComponentName componentName,
int userId) |
byte[] |
getDefaultAppsBackup(int userId)
Non-Binder method, support for the backup/restore mechanism: write the
default browser (etc) settings in its canonical XML format.
|
String |
getDefaultBrowserPackageName(int userId) |
byte[] |
getEphemeralApplicationCookie(String packageName,
int userId) |
Bitmap |
getEphemeralApplicationIcon(String packageName,
int userId) |
ParceledListSlice<EphemeralApplicationInfo> |
getEphemeralApplications(int userId) |
int |
getFlagsForUid(int uid) |
ComponentName |
getHomeActivities(List<ResolveInfo> allHomeCandidates) |
ParceledListSlice<ApplicationInfo> |
getInstalledApplications(int flags,
int userId) |
ParceledListSlice<PackageInfo> |
getInstalledPackages(int flags,
int userId) |
String |
getInstallerPackageName(String packageName) |
int |
getInstallLocation() |
InstrumentationInfo |
getInstrumentationInfo(ComponentName name,
int flags) |
byte[] |
getIntentFilterVerificationBackup(int userId) |
ParceledListSlice<IntentFilterVerificationInfo> |
getIntentFilterVerifications(String packageName) |
int |
getIntentVerificationStatus(String packageName,
int userId) |
KeySet |
getKeySetByAlias(String packageName,
String alias) |
ResolveInfo |
getLastChosenActivity(Intent intent,
String resolvedType,
int flags) |
int |
getMoveStatus(int moveId) |
String |
getNameForUid(int uid) |
ArraySet<String> |
getOptimizablePackages() |
com.android.server.pm.CompilerStats.PackageStats |
getOrCreateCompilerPackageStats(PackageParser.Package pkg) |
com.android.server.pm.CompilerStats.PackageStats |
getOrCreateCompilerPackageStats(String pkgName) |
int[] |
getPackageGids(String packageName,
int flags,
int userId) |
PackageInfo |
getPackageInfo(String packageName,
int flags,
int userId) |
IPackageInstaller |
getPackageInstaller() |
String[] |
getPackagesForUid(int uid) |
ParceledListSlice<PackageInfo> |
getPackagesHoldingPermissions(String[] permissions,
int flags,
int userId) |
void |
getPackageSizeInfo(String packageName,
int userHandle,
IPackageStatsObserver observer) |
int |
getPackageUid(String packageName,
int flags,
int userId) |
String |
getPermissionControllerPackageName() |
int |
getPermissionFlags(String name,
String packageName,
int userId) |
byte[] |
getPermissionGrantBackup(int userId) |
PermissionGroupInfo |
getPermissionGroupInfo(String name,
int flags) |
PermissionInfo |
getPermissionInfo(String name,
int flags) |
ParceledListSlice<ApplicationInfo> |
getPersistentApplications(int flags) |
int |
getPreferredActivities(List<IntentFilter> outFilters,
List<ComponentName> outActivities,
String packageName) |
byte[] |
getPreferredActivityBackup(int userId)
Non-Binder method, support for the backup/restore mechanism: write the
full set of preferred activities in its canonical XML format.
|
List<String> |
getPreviousCodePaths(String packageName) |
int |
getPrivateFlagsForUid(int uid) |
ProviderInfo |
getProviderInfo(ComponentName component,
int flags,
int userId) |
ActivityInfo |
getReceiverInfo(ComponentName component,
int flags,
int userId) |
ServiceInfo |
getServiceInfo(ComponentName component,
int flags,
int userId) |
String |
getServicesSystemSharedLibraryPackageName() |
String |
getSharedSystemSharedLibraryPackageName() |
KeySet |
getSigningKeySet(String packageName) |
ParceledListSlice<FeatureInfo> |
getSystemAvailableFeatures() |
String[] |
getSystemSharedLibraryNames() |
int |
getUidForSharedUser(String sharedUserName) |
VerifierDeviceIdentity |
getVerifierDeviceIdentity() |
void |
grantDefaultPermissionsToEnabledCarrierApps(String[] packageNames,
int userId) |
void |
grantRuntimePermission(String packageName,
String name,
int userId) |
boolean |
hasSystemFeature(String name,
int version) |
boolean |
hasSystemUidErrors() |
int |
installExistingPackageAsUser(String packageName,
int userId) |
void |
installPackageAsUser(String originPath,
IPackageInstallObserver2 observer,
int installFlags,
String installerPackageName,
int userId) |
boolean |
isEphemeralApplication(String packageName,
int userId) |
boolean |
isFirstBoot() |
boolean |
isOnlyCoreApps() |
boolean |
isOrphaned(String packageName) |
boolean |
isPackageAvailable(String packageName,
int userId) |
boolean |
isPackageDeviceAdminOnAnyUser(String packageName) |
boolean |
isPackageSignedByKeySet(String packageName,
KeySet ks) |
boolean |
isPackageSignedByKeySetExactly(String packageName,
KeySet ks) |
boolean |
isPackageSuspendedForUser(String packageName,
int userId) |
boolean |
isPermissionEnforced(String permission)
Deprecated.
|
boolean |
isPermissionRevokedByPolicy(String permission,
String packageName,
int userId) |
boolean |
isProtectedBroadcast(String actionName) |
boolean |
isSafeMode() |
boolean |
isStorageLow() |
boolean |
isUidPrivileged(int uid) |
boolean |
isUpgrade() |
void |
logAppProcessStartIfNeeded(String processName,
int uid,
String seinfo,
String apkFile,
int pid)
Logs process start information (including base APK hash) to the security log.
|
static PackageManagerService |
main(Context context,
Installer installer,
boolean factoryTest,
boolean onlyCore) |
int |
movePackage(String packageName,
String volumeUuid) |
int |
movePrimaryStorage(String volumeUuid) |
PackageCleanItem |
nextPackageToClean(PackageCleanItem lastPackage) |
void |
notifyPackageUse(String packageName,
int reason) |
void |
onShellCommand(FileDescriptor in,
FileDescriptor out,
FileDescriptor err,
String[] args,
ResultReceiver resultReceiver) |
boolean |
onTransact(int code,
Parcel data,
Parcel reply,
int flags) |
boolean |
performDexOpt(String packageName,
boolean checkProfiles,
int compileReason,
boolean force) |
boolean |
performDexOptIfNeeded(String packageName) |
boolean |
performDexOptMode(String packageName,
boolean checkProfiles,
String targetCompilerFilter,
boolean force) |
void |
performFstrimIfNeeded() |
ParceledListSlice<ProviderInfo> |
queryContentProviders(String processName,
int uid,
int flags) |
ParceledListSlice<InstrumentationInfo> |
queryInstrumentation(String targetPackage,
int flags) |
ParceledListSlice<ResolveInfo> |
queryIntentActivities(Intent intent,
String resolvedType,
int flags,
int userId) |
ParceledListSlice<ResolveInfo> |
queryIntentActivityOptions(ComponentName caller,
Intent[] specifics,
String[] specificTypes,
Intent intent,
String resolvedType,
int flags,
int userId) |
ParceledListSlice<ResolveInfo> |
queryIntentContentProviders(Intent intent,
String resolvedType,
int flags,
int userId) |
ParceledListSlice<ResolveInfo> |
queryIntentReceivers(Intent intent,
String resolvedType,
int flags,
int userId) |
ParceledListSlice<ResolveInfo> |
queryIntentServices(Intent intent,
String resolvedType,
int flags,
int userId) |
ParceledListSlice<PermissionInfo> |
queryPermissionsByGroup(String group,
int flags) |
void |
querySyncProviders(List<String> outNames,
List<ProviderInfo> outInfo)
Deprecated.
|
void |
registerMoveCallback(IPackageMoveObserver callback) |
void |
removeOnPermissionsChangeListener(IOnPermissionsChangeListener listener) |
void |
removePermission(String name) |
void |
replacePreferredActivity(IntentFilter filter,
int match,
ComponentName[] set,
ComponentName activity,
int userId) |
void |
resetApplicationPreferences(int userId) |
void |
resetRuntimePermissions() |
ProviderInfo |
resolveContentProvider(String name,
int flags,
int userId) |
ResolveInfo |
resolveIntent(Intent intent,
String resolvedType,
int flags,
int userId) |
ResolveInfo |
resolveService(Intent intent,
String resolvedType,
int flags,
int userId) |
void |
restoreDefaultApps(byte[] backup,
int userId) |
void |
restoreIntentFilterVerification(byte[] backup,
int userId) |
void |
restorePermissionGrants(byte[] backup,
int userId) |
void |
restorePreferredActivities(byte[] backup,
int userId) |
void |
revokeRuntimePermission(String packageName,
String name,
int userId) |
void |
scanAvailableAsecs()
Called by MountService when the initial ASECs to scan are available.
|
void |
setApplicationEnabledSetting(String appPackageName,
int newState,
int flags,
int userId,
String callingPackage) |
boolean |
setApplicationHiddenSettingAsUser(String packageName,
boolean hidden,
int userId) |
boolean |
setBlockUninstallForUser(String packageName,
boolean blockUninstall,
int userId) |
void |
setComponentEnabledSetting(ComponentName componentName,
int newState,
int flags,
int userId) |
boolean |
setDefaultBrowserPackageName(String packageName,
int userId) |
boolean |
setEphemeralApplicationCookie(String packageName,
byte[] cookie,
int userId) |
void |
setHomeActivity(ComponentName comp,
int userId) |
void |
setInstallerPackageName(String targetPackage,
String installerPackageName) |
boolean |
setInstallLocation(int loc) |
void |
setLastChosenActivity(Intent intent,
String resolvedType,
int flags,
IntentFilter filter,
int match,
ComponentName activity) |
String[] |
setPackagesSuspendedAsUser(String[] packageNames,
boolean suspended,
int userId) |
void |
setPackageStoppedState(String packageName,
boolean stopped,
int userId) |
void |
setPermissionEnforced(String permission,
boolean enforced) |
boolean |
setRequiredForSystemUser(String packageName,
boolean systemUserApp) |
boolean |
shouldShowRequestPermissionRationale(String permissionName,
String packageName,
int userId) |
void |
shutdown() |
void |
systemReady() |
void |
unregisterMoveCallback(IPackageMoveObserver callback) |
void |
updateExternalMediaStatus(boolean mediaStatus,
boolean reportStatus) |
boolean |
updateIntentVerificationStatus(String packageName,
int status,
int userId) |
void |
updatePackagesIfNeeded() |
void |
updatePermissionFlags(String name,
String packageName,
int flagMask,
int flagValues,
int userId) |
void |
updatePermissionFlagsForAllApps(int flagMask,
int flagValues,
int userId)
Update the permission flags for all packages and runtime permissions of a user in order
to allow device or profile owner to remove POLICY_FIXED.
|
void |
verifyIntentFilter(int id,
int verificationCode,
List<String> failedDomains) |
void |
verifyPendingInstall(int id,
int verificationCode) |
public static final int REASON_FIRST_BOOT
public static final int REASON_BOOT
public static final int REASON_INSTALL
public static final int REASON_BACKGROUND_DEXOPT
public static final int REASON_AB_OTA
public static final int REASON_NON_SYSTEM_LIBRARY
public static final int REASON_SHARED_APK
public static final int REASON_FORCED_DEXOPT
public static final int REASON_CORE_APP
public static final int REASON_LAST
public static PackageManagerService main(Context context, Installer installer, boolean factoryTest, boolean onlyCore)
public boolean isFirstBoot()
public boolean isOnlyCoreApps()
public boolean isUpgrade()
public boolean onTransact(int code, Parcel data, Parcel reply, int flags) throws RemoteException
RemoteException
public void checkPackageStartable(String packageName, int userId)
public boolean isPackageAvailable(String packageName, int userId)
public PackageInfo getPackageInfo(String packageName, int flags, int userId)
public int getPackageUid(String packageName, int flags, int userId)
public int[] getPackageGids(String packageName, int flags, int userId)
public PermissionInfo getPermissionInfo(String name, int flags)
public ParceledListSlice<PermissionInfo> queryPermissionsByGroup(String group, int flags)
public PermissionGroupInfo getPermissionGroupInfo(String name, int flags)
public ParceledListSlice<PermissionGroupInfo> getAllPermissionGroups(int flags)
public ApplicationInfo getApplicationInfo(String packageName, int flags, int userId)
public void freeStorageAndNotify(String volumeUuid, long freeStorageSize, IPackageDataObserver observer)
public void freeStorage(String volumeUuid, long freeStorageSize, IntentSender pi)
public ActivityInfo getActivityInfo(ComponentName component, int flags, int userId)
public boolean activitySupportsIntent(ComponentName component, Intent intent, String resolvedType)
public ActivityInfo getReceiverInfo(ComponentName component, int flags, int userId)
public ServiceInfo getServiceInfo(ComponentName component, int flags, int userId)
public ProviderInfo getProviderInfo(ComponentName component, int flags, int userId)
public String[] getSystemSharedLibraryNames()
public String getServicesSystemSharedLibraryPackageName()
public String getSharedSystemSharedLibraryPackageName()
public ParceledListSlice<FeatureInfo> getSystemAvailableFeatures()
public boolean hasSystemFeature(String name, int version)
public int checkUidPermission(String permName, int uid)
public boolean isPermissionRevokedByPolicy(String permission, String packageName, int userId)
public String getPermissionControllerPackageName()
public boolean addPermission(PermissionInfo info)
public boolean addPermissionAsync(PermissionInfo info)
public void removePermission(String name)
public void grantRuntimePermission(String packageName, String name, int userId)
public void revokeRuntimePermission(String packageName, String name, int userId)
public void resetRuntimePermissions()
public void updatePermissionFlags(String name, String packageName, int flagMask, int flagValues, int userId)
public void updatePermissionFlagsForAllApps(int flagMask, int flagValues, int userId)
public boolean shouldShowRequestPermissionRationale(String permissionName, String packageName, int userId)
public void addOnPermissionsChangeListener(IOnPermissionsChangeListener listener)
public void removeOnPermissionsChangeListener(IOnPermissionsChangeListener listener)
public boolean isProtectedBroadcast(String actionName)
public int checkUidSignatures(int uid1, int uid2)
public String[] getPackagesForUid(int uid)
public String getNameForUid(int uid)
public int getUidForSharedUser(String sharedUserName)
public int getFlagsForUid(int uid)
public int getPrivateFlagsForUid(int uid)
public boolean isUidPrivileged(int uid)
public ResolveInfo resolveIntent(Intent intent, String resolvedType, int flags, int userId)
public void setLastChosenActivity(Intent intent, String resolvedType, int flags, IntentFilter filter, int match, ComponentName activity)
public ResolveInfo getLastChosenActivity(Intent intent, String resolvedType, int flags)
public boolean canForwardTo(Intent intent, String resolvedType, int sourceUserId, int targetUserId)
public ParceledListSlice<ResolveInfo> queryIntentActivities(Intent intent, String resolvedType, int flags, int userId)
public ParceledListSlice<ResolveInfo> queryIntentActivityOptions(ComponentName caller, Intent[] specifics, String[] specificTypes, Intent intent, String resolvedType, int flags, int userId)
public ParceledListSlice<ResolveInfo> queryIntentReceivers(Intent intent, String resolvedType, int flags, int userId)
public ResolveInfo resolveService(Intent intent, String resolvedType, int flags, int userId)
public ParceledListSlice<ResolveInfo> queryIntentServices(Intent intent, String resolvedType, int flags, int userId)
public ParceledListSlice<ResolveInfo> queryIntentContentProviders(Intent intent, String resolvedType, int flags, int userId)
public ParceledListSlice<PackageInfo> getInstalledPackages(int flags, int userId)
public ParceledListSlice<PackageInfo> getPackagesHoldingPermissions(String[] permissions, int flags, int userId)
public ParceledListSlice<ApplicationInfo> getInstalledApplications(int flags, int userId)
public ParceledListSlice<EphemeralApplicationInfo> getEphemeralApplications(int userId)
public boolean isEphemeralApplication(String packageName, int userId)
public byte[] getEphemeralApplicationCookie(String packageName, int userId)
public boolean setEphemeralApplicationCookie(String packageName, byte[] cookie, int userId)
public Bitmap getEphemeralApplicationIcon(String packageName, int userId)
public ParceledListSlice<ApplicationInfo> getPersistentApplications(int flags)
public ProviderInfo resolveContentProvider(String name, int flags, int userId)
@Deprecated public void querySyncProviders(List<String> outNames, List<ProviderInfo> outInfo)
public ParceledListSlice<ProviderInfo> queryContentProviders(String processName, int uid, int flags)
public InstrumentationInfo getInstrumentationInfo(ComponentName name, int flags)
public ParceledListSlice<InstrumentationInfo> queryInstrumentation(String targetPackage, int flags)
public void performFstrimIfNeeded()
public void updatePackagesIfNeeded()
public void notifyPackageUse(String packageName, int reason)
public boolean performDexOptIfNeeded(String packageName)
public boolean performDexOpt(String packageName, boolean checkProfiles, int compileReason, boolean force)
public boolean performDexOptMode(String packageName, boolean checkProfiles, String targetCompilerFilter, boolean force)
public void shutdown()
public void dumpProfiles(String packageName)
public void forceDexOpt(String packageName)
public PackageCleanItem nextPackageToClean(PackageCleanItem lastPackage)
public void installPackageAsUser(String originPath, IPackageInstallObserver2 observer, int installFlags, String installerPackageName, int userId)
public boolean setApplicationHiddenSettingAsUser(String packageName, boolean hidden, int userId)
public boolean getApplicationHiddenSettingAsUser(String packageName, int userId)
public int installExistingPackageAsUser(String packageName, int userId)
public String[] setPackagesSuspendedAsUser(String[] packageNames, boolean suspended, int userId)
public boolean isPackageSuspendedForUser(String packageName, int userId)
public void verifyPendingInstall(int id, int verificationCode) throws RemoteException
RemoteException
public void extendVerificationTimeout(int id, int verificationCodeAtTimeout, long millisecondsToDelay)
public void finishPackageInstall(int token, boolean didLaunch)
public void verifyIntentFilter(int id, int verificationCode, List<String> failedDomains) throws RemoteException
RemoteException
public int getIntentVerificationStatus(String packageName, int userId)
public boolean updateIntentVerificationStatus(String packageName, int status, int userId)
public ParceledListSlice<IntentFilterVerificationInfo> getIntentFilterVerifications(String packageName)
public ParceledListSlice<IntentFilter> getAllIntentFilters(String packageName)
public boolean setDefaultBrowserPackageName(String packageName, int userId)
public String getDefaultBrowserPackageName(int userId)
public void setInstallerPackageName(String targetPackage, String installerPackageName)
public void deletePackageAsUser(String packageName, IPackageDeleteObserver observer, int userId, int flags)
public void deletePackage(String packageName, IPackageDeleteObserver2 observer, int userId, int deleteFlags)
public boolean isPackageDeviceAdminOnAnyUser(String packageName)
public boolean setBlockUninstallForUser(String packageName, boolean blockUninstall, int userId)
public boolean getBlockUninstallForUser(String packageName, int userId)
public boolean setRequiredForSystemUser(String packageName, boolean systemUserApp)
public void clearApplicationProfileData(String packageName)
public void clearApplicationUserData(String packageName, IPackageDataObserver observer, int userId)
public void deleteApplicationCacheFiles(String packageName, IPackageDataObserver observer)
public void deleteApplicationCacheFilesAsUser(String packageName, int userId, IPackageDataObserver observer)
public void getPackageSizeInfo(String packageName, int userHandle, IPackageStatsObserver observer)
public void addPreferredActivity(IntentFilter filter, int match, ComponentName[] set, ComponentName activity, int userId)
public void replacePreferredActivity(IntentFilter filter, int match, ComponentName[] set, ComponentName activity, int userId)
public void clearPackagePreferredActivities(String packageName)
public void resetApplicationPreferences(int userId)
public int getPreferredActivities(List<IntentFilter> outFilters, List<ComponentName> outActivities, String packageName)
public void addPersistentPreferredActivity(IntentFilter filter, ComponentName activity, int userId)
public void clearPackagePersistentPreferredActivities(String packageName, int userId)
public byte[] getPreferredActivityBackup(int userId)
public void restorePreferredActivities(byte[] backup, int userId)
public byte[] getDefaultAppsBackup(int userId)
public void restoreDefaultApps(byte[] backup, int userId)
public byte[] getIntentFilterVerificationBackup(int userId)
public void restoreIntentFilterVerification(byte[] backup, int userId)
public byte[] getPermissionGrantBackup(int userId)
public void restorePermissionGrants(byte[] backup, int userId)
public void addCrossProfileIntentFilter(IntentFilter intentFilter, String ownerPackage, int sourceUserId, int targetUserId, int flags)
public void clearCrossProfileIntentFilters(int sourceUserId, String ownerPackage)
public ComponentName getHomeActivities(List<ResolveInfo> allHomeCandidates)
public void setHomeActivity(ComponentName comp, int userId)
public void setApplicationEnabledSetting(String appPackageName, int newState, int flags, int userId, String callingPackage)
public void setComponentEnabledSetting(ComponentName componentName, int newState, int flags, int userId)
public void flushPackageRestrictionsAsUser(int userId)
public void setPackageStoppedState(String packageName, boolean stopped, int userId)
public boolean isOrphaned(String packageName)
public int getApplicationEnabledSetting(String packageName, int userId)
public int getComponentEnabledSetting(ComponentName componentName, int userId)
public void enterSafeMode()
public void systemReady()
public boolean isSafeMode()
public boolean hasSystemUidErrors()
public void onShellCommand(FileDescriptor in, FileDescriptor out, FileDescriptor err, String[] args, ResultReceiver resultReceiver)
protected void dump(FileDescriptor fd, PrintWriter pw, String[] args)
public void updateExternalMediaStatus(boolean mediaStatus, boolean reportStatus)
public void scanAvailableAsecs()
public com.android.server.pm.PackageManagerService.PackageFreezer freezePackage(String packageName, String killReason)
public com.android.server.pm.PackageManagerService.PackageFreezer freezePackage(String packageName, int userId, String killReason)
public com.android.server.pm.PackageManagerService.PackageFreezer freezePackageForInstall(String packageName, int installFlags, String killReason)
public com.android.server.pm.PackageManagerService.PackageFreezer freezePackageForInstall(String packageName, int userId, int installFlags, String killReason)
public com.android.server.pm.PackageManagerService.PackageFreezer freezePackageForDelete(String packageName, int deleteFlags, String killReason)
public com.android.server.pm.PackageManagerService.PackageFreezer freezePackageForDelete(String packageName, int userId, int deleteFlags, String killReason)
public int movePrimaryStorage(String volumeUuid) throws RemoteException
RemoteException
public int getMoveStatus(int moveId)
public void registerMoveCallback(IPackageMoveObserver callback)
public void unregisterMoveCallback(IPackageMoveObserver callback)
public boolean setInstallLocation(int loc)
public int getInstallLocation()
public VerifierDeviceIdentity getVerifierDeviceIdentity() throws RemoteException
RemoteException
public void setPermissionEnforced(String permission, boolean enforced)
@Deprecated public boolean isPermissionEnforced(String permission)
public boolean isStorageLow()
public IPackageInstaller getPackageInstaller()
public boolean isPackageSignedByKeySetExactly(String packageName, KeySet ks)
public void grantDefaultPermissionsToEnabledCarrierApps(String[] packageNames, int userId)
public void logAppProcessStartIfNeeded(String processName, int uid, String seinfo, String apkFile, int pid)
public com.android.server.pm.CompilerStats.PackageStats getCompilerPackageStats(String pkgName)
public com.android.server.pm.CompilerStats.PackageStats getOrCreateCompilerPackageStats(PackageParser.Package pkg)
public com.android.server.pm.CompilerStats.PackageStats getOrCreateCompilerPackageStats(String pkgName)
public void deleteCompilerPackageStats(String pkgName)