Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e4010e14 authored by Alex Buynytskyy's avatar Alex Buynytskyy Committed by Android (Google) Code Review
Browse files

Merge "Refactor PackageArchiver into PackageInstaller." into main

parents 9cc31f28 d60b6fb6
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ java_defaults {
    // Add java_aconfig_libraries to here to add them to the core framework
    srcs: [
        ":android.app.usage.flags-aconfig-java{.generated_srcjars}",
        ":android.content.pm.flags-aconfig-java{.generated_srcjars}",
        ":android.os.flags-aconfig-java{.generated_srcjars}",
        ":android.os.vibrator.flags-aconfig-java{.generated_srcjars}",
        ":android.security.flags-aconfig-java{.generated_srcjars}",
@@ -215,6 +216,19 @@ java_aconfig_library {
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Package Manager
aconfig_declarations {
    name: "android.content.pm.flags-aconfig",
    package: "android.content.pm",
    srcs: ["core/java/android/content/pm/*.aconfig"],
}

java_aconfig_library {
    name: "android.content.pm.flags-aconfig-java",
    aconfig_declarations: "android.content.pm.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Media BetterTogether
aconfig_declarations {
    name: "com.android.media.flags.bettertogether-aconfig",
+1 −1
Original line number Diff line number Diff line
@@ -420,7 +420,7 @@ public class PowerExemptionManager {
    public static final int REASON_SYSTEM_EXEMPT_APP_OP = 327;

    /**
     * Granted by {@link com.android.server.pm.PackageArchiverService} to the installer responsible
     * Granted by {@link com.android.server.pm.PackageArchiver} to the installer responsible
     * for unarchiving an app.
     *
     * @hide
+4 −8
Original line number Diff line number Diff line
@@ -3798,13 +3798,6 @@ package android.content.pm {
    field @RequiresPermission(android.Manifest.permission.ACCESS_SHORTCUTS) public static final int FLAG_GET_PERSONS_DATA = 2048; // 0x800
  }
  public class PackageArchiver {
    method @RequiresPermission(anyOf={android.Manifest.permission.DELETE_PACKAGES, android.Manifest.permission.REQUEST_DELETE_PACKAGES}) public void requestArchive(@NonNull String, @NonNull android.content.IntentSender) throws android.content.pm.PackageManager.NameNotFoundException;
    method @RequiresPermission(anyOf={android.Manifest.permission.INSTALL_PACKAGES, android.Manifest.permission.REQUEST_INSTALL_PACKAGES}) public void requestUnarchive(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
    field public static final String EXTRA_UNARCHIVE_ALL_USERS = "android.content.pm.extra.UNARCHIVE_ALL_USERS";
    field public static final String EXTRA_UNARCHIVE_PACKAGE_NAME = "android.content.pm.extra.UNARCHIVE_PACKAGE_NAME";
  }
  public class PackageInfo implements android.os.Parcelable {
    field public boolean isArchived;
  }
@@ -3812,6 +3805,8 @@ package android.content.pm {
  public class PackageInstaller {
    method @NonNull public android.content.pm.PackageInstaller.InstallInfo readInstallInfo(@NonNull java.io.File, int) throws android.content.pm.PackageInstaller.PackageParsingException;
    method @NonNull public android.content.pm.PackageInstaller.InstallInfo readInstallInfo(@NonNull android.os.ParcelFileDescriptor, @Nullable String, int) throws android.content.pm.PackageInstaller.PackageParsingException;
    method @FlaggedApi(Flags.FLAG_ARCHIVING) @RequiresPermission(anyOf={android.Manifest.permission.DELETE_PACKAGES, android.Manifest.permission.REQUEST_DELETE_PACKAGES}) public void requestArchive(@NonNull String, @NonNull android.content.IntentSender) throws android.content.pm.PackageManager.NameNotFoundException;
    method @FlaggedApi(Flags.FLAG_ARCHIVING) @RequiresPermission(anyOf={android.Manifest.permission.INSTALL_PACKAGES, android.Manifest.permission.REQUEST_INSTALL_PACKAGES}) public void requestUnarchive(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setPermissionsResult(int, boolean);
    field public static final String ACTION_CONFIRM_INSTALL = "android.content.pm.action.CONFIRM_INSTALL";
    field public static final String ACTION_CONFIRM_PRE_APPROVAL = "android.content.pm.action.CONFIRM_PRE_APPROVAL";
@@ -3822,6 +3817,8 @@ package android.content.pm {
    field public static final String EXTRA_DATA_LOADER_TYPE = "android.content.pm.extra.DATA_LOADER_TYPE";
    field public static final String EXTRA_LEGACY_STATUS = "android.content.pm.extra.LEGACY_STATUS";
    field public static final String EXTRA_RESOLVED_BASE_PATH = "android.content.pm.extra.RESOLVED_BASE_PATH";
    field @FlaggedApi(Flags.FLAG_ARCHIVING) public static final String EXTRA_UNARCHIVE_ALL_USERS = "android.content.pm.extra.UNARCHIVE_ALL_USERS";
    field @FlaggedApi(Flags.FLAG_ARCHIVING) public static final String EXTRA_UNARCHIVE_PACKAGE_NAME = "android.content.pm.extra.UNARCHIVE_PACKAGE_NAME";
    field public static final int LOCATION_DATA_APP = 0; // 0x0
    field public static final int LOCATION_MEDIA_DATA = 2; // 0x2
    field public static final int LOCATION_MEDIA_OBB = 1; // 0x1
@@ -3906,7 +3903,6 @@ package android.content.pm {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract java.util.List<android.content.pm.InstantAppInfo> getInstantApps();
    method @Deprecated @NonNull public abstract java.util.List<android.content.pm.IntentFilterVerificationInfo> getIntentFilterVerifications(@NonNull String);
    method @Deprecated @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract int getIntentVerificationStatusAsUser(@NonNull String, int);
    method @NonNull public android.content.pm.PackageArchiver getPackageArchiver();
    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public int getPackageUidAsUser(@NonNull String, @NonNull android.content.pm.PackageManager.PackageInfoFlags, int) throws android.content.pm.PackageManager.NameNotFoundException;
    method @android.content.pm.PackageManager.PermissionFlags @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, android.Manifest.permission.GET_RUNTIME_PERMISSIONS}) public abstract int getPermissionFlags(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] getUnsuspendablePackages(@NonNull String[]);
+0 −14
Original line number Diff line number Diff line
@@ -64,7 +64,6 @@ import android.content.pm.InstrumentationInfo;
import android.content.pm.IntentFilterVerificationInfo;
import android.content.pm.KeySet;
import android.content.pm.ModuleInfo;
import android.content.pm.PackageArchiver;
import android.content.pm.PackageInfo;
import android.content.pm.PackageInstaller;
import android.content.pm.PackageItemInfo;
@@ -173,7 +172,6 @@ public class ApplicationPackageManager extends PackageManager {
    private volatile UserManager mUserManager;
    private volatile PermissionManager mPermissionManager;
    private volatile PackageInstaller mInstaller;
    private volatile PackageArchiver mPackageArchiver;
    private volatile ArtManager mArtManager;
    private volatile DevicePolicyManager mDevicePolicyManager;
    private volatile String mPermissionsControllerPackageName;
@@ -3283,18 +3281,6 @@ public class ApplicationPackageManager extends PackageManager {
        return mInstaller;
    }

    @Override
    public PackageArchiver getPackageArchiver() {
        if (mPackageArchiver == null) {
            try {
                mPackageArchiver = new PackageArchiver(mContext, mPM.getPackageArchiverService());
            } catch (RemoteException e) {
                throw e.rethrowFromSystemServer();
            }
        }
        return mPackageArchiver;
    }

    @Override
    public boolean isPackageAvailable(String packageName) {
        try {
+1 −1
Original line number Diff line number Diff line
@@ -5274,7 +5274,7 @@ public class Intent implements Parcelable, Cloneable {
     * Broadcast Action: Sent to the responsible installer of an archived package when unarchival
     * is requested.
     *
     * @see android.content.pm.PackageArchiver
     * @see android.content.pm.PackageInstaller#requestUnarchive(String)
     * @hide
     */
    @SystemApi
Loading