Loading services/api/current.txt +74 −0 Original line number Diff line number Diff line Loading @@ -72,16 +72,90 @@ package com.android.server.pm { package com.android.server.pm.pkg { public interface AndroidPackage { method @Nullable public String getAppComponentFactory(); method @Nullable public String getApplicationClassName(); method @Nullable public String getBackupAgentName(); method @DrawableRes public int getBannerRes(); method public int getBaseRevisionCode(); method public int getCategory(); method @Nullable public String getClassLoaderName(); method @Dimension(unit=android.annotation.Dimension.DP) public int getCompatibleWidthLimitDp(); method @XmlRes public int getDataExtractionRulesRes(); method @StringRes public int getDescriptionRes(); method @XmlRes public int getFullBackupContentRes(); method public int getGwpAsanMode(); method @DrawableRes public int getIconRes(); method @StringRes public int getLabelRes(); method @Dimension(unit=android.annotation.Dimension.DP) public int getLargestWidthLimitDp(); method @NonNull public java.util.List<java.lang.String> getLibraryNames(); method @XmlRes public int getLocaleConfigRes(); method @DrawableRes public int getLogoRes(); method public long getLongVersionCode(); method public float getMaxAspectRatio(); method public float getMinAspectRatio(); method public int getNativeHeapZeroInitialized(); method @XmlRes public int getNetworkSecurityConfigRes(); method @Nullable public String getRequiredAccountType(); method @Dimension(unit=android.annotation.Dimension.DP) public int getRequiresSmallestWidthDp(); method @Nullable public String getRestrictedAccountType(); method @DrawableRes public int getRoundIconRes(); method @Nullable public String getSdkLibraryName(); method @Nullable public String getSharedUserId(); method @StringRes public int getSharedUserLabelRes(); method @NonNull public java.util.List<com.android.server.pm.pkg.AndroidPackageSplit> getSplits(); method @Nullable public String getStaticSharedLibraryName(); method @NonNull public java.util.UUID getStorageUuid(); method public int getTargetSdkVersion(); method @StyleRes public int getThemeRes(); method public int getUiOptions(); method @Nullable public String getVersionName(); method @Nullable public String getZygotePreloadName(); method public boolean isAllowAudioPlaybackCapture(); method public boolean isAllowBackup(); method public boolean isAllowClearUserData(); method public boolean isAllowClearUserDataOnFailedRestore(); method public boolean isAllowNativeHeapPointerTagging(); method public boolean isAllowTaskReparenting(); method public boolean isAnyDensity(); method public boolean isAttributionsUserVisible(); method public boolean isBackupInForeground(); method public boolean isCantSaveState(); method public boolean isCoreApp(); method public boolean isCrossProfile(); method public boolean isDebuggable(); method public boolean isDefaultToDeviceProtectedStorage(); method public boolean isDirectBootAware(); method public boolean isExtractNativeLibs(); method public boolean isFactoryTest(); method public boolean isForceQueryable(); method public boolean isFullBackupOnly(); method public boolean isHardwareAccelerated(); method public boolean isHasCode(); method public boolean isHasFragileUserData(); method public boolean isIsolatedSplitLoading(); method public boolean isKillAfterRestore(); method public boolean isLargeHeap(); method public boolean isLeavingSharedUser(); method public boolean isMultiArch(); method public boolean isNativeLibraryRootRequiresIsa(); method public boolean isOnBackInvokedCallbackEnabled(); method public boolean isPersistent(); method public boolean isProfileable(); method public boolean isProfileableByShell(); method public boolean isRequestLegacyExternalStorage(); method public boolean isRequiredForAllUsers(); method public boolean isResetEnabledSettingsOnAppDataCleared(); method public boolean isRestoreAnyVersion(); method public boolean isSignedWithPlatformKey(); method public boolean isSupportsExtraLargeScreens(); method public boolean isSupportsLargeScreens(); method public boolean isSupportsNormalScreens(); method public boolean isSupportsRtl(); method public boolean isSupportsSmallScreens(); method public boolean isTestOnly(); method public boolean isUse32BitAbi(); method public boolean isUseEmbeddedDex(); method public boolean isUsesCleartextTraffic(); method public boolean isUsesNonSdkApi(); method public boolean isVmSafeMode(); } Loading services/core/java/com/android/server/pm/ComputerEngine.java +2 −1 Original line number Diff line number Diff line Loading @@ -2045,7 +2045,8 @@ public class ComputerEngine implements Computer { } final SharedLibraryInfo libraryInfo = getSharedLibraryInfo( ps.getPkg().getStaticSharedLibraryName(), ps.getPkg().getStaticSharedLibVersion()); ps.getPkg().getStaticSharedLibraryName(), ps.getPkg().getStaticSharedLibraryVersion()); if (libraryInfo == null) { return false; } Loading services/core/java/com/android/server/pm/DeletePackageHelper.java +1 −1 Original line number Diff line number Diff line Loading @@ -186,7 +186,7 @@ final class DeletePackageHelper { SharedLibraryInfo libraryInfo = null; if (pkg.getStaticSharedLibraryName() != null) { libraryInfo = computer.getSharedLibraryInfo(pkg.getStaticSharedLibraryName(), pkg.getStaticSharedLibVersion()); pkg.getStaticSharedLibraryVersion()); } else if (pkg.getSdkLibraryName() != null) { libraryInfo = computer.getSharedLibraryInfo(pkg.getSdkLibraryName(), pkg.getSdkLibVersionMajor()); Loading services/core/java/com/android/server/pm/InstallPackageHelper.java +5 −5 Original line number Diff line number Diff line Loading @@ -297,7 +297,7 @@ final class InstallPackageHelper { SharedUserSetting sharedUserSetting = mPm.mSettings.getSharedUserSettingLPr(pkgSetting); if (sharedUserSetting != null) { sharedUserSetting.addPackage(pkgSetting); if (parsedPackage.isLeavingSharedUid() if (parsedPackage.isLeavingSharedUser() && SharedUidMigration.applyStrategy(BEST_EFFORT) && sharedUserSetting.isSingleUser()) { // Attempt the transparent shared UID migration Loading Loading @@ -1552,7 +1552,7 @@ final class InstallPackageHelper { } // APK should not re-join shared UID if (oldPackage.isLeavingSharedUid() && !parsedPackage.isLeavingSharedUid()) { if (oldPackage.isLeavingSharedUser() && !parsedPackage.isLeavingSharedUser()) { throw new PrepareFailure(INSTALL_FAILED_UID_CHANGED, "Package " + parsedPackage.getPackageName() + " attempting to rejoin " + newSharedUid); Loading Loading @@ -3801,7 +3801,7 @@ final class InstallPackageHelper { if (installedPkgSetting == null || !installedPkgSetting.hasSharedUser()) { // Directly ignore sharedUserSetting for new installs, or if the app has // already left shared UID ignoreSharedUserId = parsedPackage.isLeavingSharedUid(); ignoreSharedUserId = parsedPackage.isLeavingSharedUser(); } if (!ignoreSharedUserId && parsedPackage.getSharedUserId() != null) { Loading Loading @@ -4324,10 +4324,10 @@ final class InstallPackageHelper { SharedLibraryInfo libInfo = versionedLib.valueAt(i); final long libVersionCode = libInfo.getDeclaringPackage() .getLongVersionCode(); if (libInfo.getLongVersion() < pkg.getStaticSharedLibVersion()) { if (libInfo.getLongVersion() < pkg.getStaticSharedLibraryVersion()) { minVersionCode = Math.max(minVersionCode, libVersionCode + 1); } else if (libInfo.getLongVersion() > pkg.getStaticSharedLibVersion()) { > pkg.getStaticSharedLibraryVersion()) { maxVersionCode = Math.min(maxVersionCode, libVersionCode - 1); } else { minVersionCode = maxVersionCode = libVersionCode; Loading services/core/java/com/android/server/pm/PackageManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -2878,7 +2878,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService static void renameStaticSharedLibraryPackage(ParsedPackage parsedPackage) { // Derive the new package synthetic package name parsedPackage.setPackageName(toStaticSharedLibraryPackageName( parsedPackage.getPackageName(), parsedPackage.getStaticSharedLibVersion())); parsedPackage.getPackageName(), parsedPackage.getStaticSharedLibraryVersion())); } private static String toStaticSharedLibraryPackageName( Loading Loading
services/api/current.txt +74 −0 Original line number Diff line number Diff line Loading @@ -72,16 +72,90 @@ package com.android.server.pm { package com.android.server.pm.pkg { public interface AndroidPackage { method @Nullable public String getAppComponentFactory(); method @Nullable public String getApplicationClassName(); method @Nullable public String getBackupAgentName(); method @DrawableRes public int getBannerRes(); method public int getBaseRevisionCode(); method public int getCategory(); method @Nullable public String getClassLoaderName(); method @Dimension(unit=android.annotation.Dimension.DP) public int getCompatibleWidthLimitDp(); method @XmlRes public int getDataExtractionRulesRes(); method @StringRes public int getDescriptionRes(); method @XmlRes public int getFullBackupContentRes(); method public int getGwpAsanMode(); method @DrawableRes public int getIconRes(); method @StringRes public int getLabelRes(); method @Dimension(unit=android.annotation.Dimension.DP) public int getLargestWidthLimitDp(); method @NonNull public java.util.List<java.lang.String> getLibraryNames(); method @XmlRes public int getLocaleConfigRes(); method @DrawableRes public int getLogoRes(); method public long getLongVersionCode(); method public float getMaxAspectRatio(); method public float getMinAspectRatio(); method public int getNativeHeapZeroInitialized(); method @XmlRes public int getNetworkSecurityConfigRes(); method @Nullable public String getRequiredAccountType(); method @Dimension(unit=android.annotation.Dimension.DP) public int getRequiresSmallestWidthDp(); method @Nullable public String getRestrictedAccountType(); method @DrawableRes public int getRoundIconRes(); method @Nullable public String getSdkLibraryName(); method @Nullable public String getSharedUserId(); method @StringRes public int getSharedUserLabelRes(); method @NonNull public java.util.List<com.android.server.pm.pkg.AndroidPackageSplit> getSplits(); method @Nullable public String getStaticSharedLibraryName(); method @NonNull public java.util.UUID getStorageUuid(); method public int getTargetSdkVersion(); method @StyleRes public int getThemeRes(); method public int getUiOptions(); method @Nullable public String getVersionName(); method @Nullable public String getZygotePreloadName(); method public boolean isAllowAudioPlaybackCapture(); method public boolean isAllowBackup(); method public boolean isAllowClearUserData(); method public boolean isAllowClearUserDataOnFailedRestore(); method public boolean isAllowNativeHeapPointerTagging(); method public boolean isAllowTaskReparenting(); method public boolean isAnyDensity(); method public boolean isAttributionsUserVisible(); method public boolean isBackupInForeground(); method public boolean isCantSaveState(); method public boolean isCoreApp(); method public boolean isCrossProfile(); method public boolean isDebuggable(); method public boolean isDefaultToDeviceProtectedStorage(); method public boolean isDirectBootAware(); method public boolean isExtractNativeLibs(); method public boolean isFactoryTest(); method public boolean isForceQueryable(); method public boolean isFullBackupOnly(); method public boolean isHardwareAccelerated(); method public boolean isHasCode(); method public boolean isHasFragileUserData(); method public boolean isIsolatedSplitLoading(); method public boolean isKillAfterRestore(); method public boolean isLargeHeap(); method public boolean isLeavingSharedUser(); method public boolean isMultiArch(); method public boolean isNativeLibraryRootRequiresIsa(); method public boolean isOnBackInvokedCallbackEnabled(); method public boolean isPersistent(); method public boolean isProfileable(); method public boolean isProfileableByShell(); method public boolean isRequestLegacyExternalStorage(); method public boolean isRequiredForAllUsers(); method public boolean isResetEnabledSettingsOnAppDataCleared(); method public boolean isRestoreAnyVersion(); method public boolean isSignedWithPlatformKey(); method public boolean isSupportsExtraLargeScreens(); method public boolean isSupportsLargeScreens(); method public boolean isSupportsNormalScreens(); method public boolean isSupportsRtl(); method public boolean isSupportsSmallScreens(); method public boolean isTestOnly(); method public boolean isUse32BitAbi(); method public boolean isUseEmbeddedDex(); method public boolean isUsesCleartextTraffic(); method public boolean isUsesNonSdkApi(); method public boolean isVmSafeMode(); } Loading
services/core/java/com/android/server/pm/ComputerEngine.java +2 −1 Original line number Diff line number Diff line Loading @@ -2045,7 +2045,8 @@ public class ComputerEngine implements Computer { } final SharedLibraryInfo libraryInfo = getSharedLibraryInfo( ps.getPkg().getStaticSharedLibraryName(), ps.getPkg().getStaticSharedLibVersion()); ps.getPkg().getStaticSharedLibraryName(), ps.getPkg().getStaticSharedLibraryVersion()); if (libraryInfo == null) { return false; } Loading
services/core/java/com/android/server/pm/DeletePackageHelper.java +1 −1 Original line number Diff line number Diff line Loading @@ -186,7 +186,7 @@ final class DeletePackageHelper { SharedLibraryInfo libraryInfo = null; if (pkg.getStaticSharedLibraryName() != null) { libraryInfo = computer.getSharedLibraryInfo(pkg.getStaticSharedLibraryName(), pkg.getStaticSharedLibVersion()); pkg.getStaticSharedLibraryVersion()); } else if (pkg.getSdkLibraryName() != null) { libraryInfo = computer.getSharedLibraryInfo(pkg.getSdkLibraryName(), pkg.getSdkLibVersionMajor()); Loading
services/core/java/com/android/server/pm/InstallPackageHelper.java +5 −5 Original line number Diff line number Diff line Loading @@ -297,7 +297,7 @@ final class InstallPackageHelper { SharedUserSetting sharedUserSetting = mPm.mSettings.getSharedUserSettingLPr(pkgSetting); if (sharedUserSetting != null) { sharedUserSetting.addPackage(pkgSetting); if (parsedPackage.isLeavingSharedUid() if (parsedPackage.isLeavingSharedUser() && SharedUidMigration.applyStrategy(BEST_EFFORT) && sharedUserSetting.isSingleUser()) { // Attempt the transparent shared UID migration Loading Loading @@ -1552,7 +1552,7 @@ final class InstallPackageHelper { } // APK should not re-join shared UID if (oldPackage.isLeavingSharedUid() && !parsedPackage.isLeavingSharedUid()) { if (oldPackage.isLeavingSharedUser() && !parsedPackage.isLeavingSharedUser()) { throw new PrepareFailure(INSTALL_FAILED_UID_CHANGED, "Package " + parsedPackage.getPackageName() + " attempting to rejoin " + newSharedUid); Loading Loading @@ -3801,7 +3801,7 @@ final class InstallPackageHelper { if (installedPkgSetting == null || !installedPkgSetting.hasSharedUser()) { // Directly ignore sharedUserSetting for new installs, or if the app has // already left shared UID ignoreSharedUserId = parsedPackage.isLeavingSharedUid(); ignoreSharedUserId = parsedPackage.isLeavingSharedUser(); } if (!ignoreSharedUserId && parsedPackage.getSharedUserId() != null) { Loading Loading @@ -4324,10 +4324,10 @@ final class InstallPackageHelper { SharedLibraryInfo libInfo = versionedLib.valueAt(i); final long libVersionCode = libInfo.getDeclaringPackage() .getLongVersionCode(); if (libInfo.getLongVersion() < pkg.getStaticSharedLibVersion()) { if (libInfo.getLongVersion() < pkg.getStaticSharedLibraryVersion()) { minVersionCode = Math.max(minVersionCode, libVersionCode + 1); } else if (libInfo.getLongVersion() > pkg.getStaticSharedLibVersion()) { > pkg.getStaticSharedLibraryVersion()) { maxVersionCode = Math.min(maxVersionCode, libVersionCode - 1); } else { minVersionCode = maxVersionCode = libVersionCode; Loading
services/core/java/com/android/server/pm/PackageManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -2878,7 +2878,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService static void renameStaticSharedLibraryPackage(ParsedPackage parsedPackage) { // Derive the new package synthetic package name parsedPackage.setPackageName(toStaticSharedLibraryPackageName( parsedPackage.getPackageName(), parsedPackage.getStaticSharedLibVersion())); parsedPackage.getPackageName(), parsedPackage.getStaticSharedLibraryVersion())); } private static String toStaticSharedLibraryPackageName( Loading