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

Commit 474dffd2 authored by Richard Uhler's avatar Richard Uhler Committed by Android (Google) Code Review
Browse files

Merge "Add RollbackManagerService"

parents 3f6d5ebb b29f1455
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -151,6 +151,7 @@ java_defaults {
        "core/java/android/content/pm/dex/IArtManager.aidl",
        "core/java/android/content/pm/dex/IArtManager.aidl",
        "core/java/android/content/pm/dex/ISnapshotRuntimeProfileCallback.aidl",
        "core/java/android/content/pm/dex/ISnapshotRuntimeProfileCallback.aidl",
        "core/java/android/content/pm/permission/IRuntimePermissionPresenter.aidl",
        "core/java/android/content/pm/permission/IRuntimePermissionPresenter.aidl",
        "core/java/android/content/rollback/IRollbackManager.aidl",
        "core/java/android/database/IContentObserver.aidl",
        "core/java/android/database/IContentObserver.aidl",
        "core/java/android/debug/IAdbManager.aidl",
        "core/java/android/debug/IAdbManager.aidl",
        "core/java/android/debug/IAdbTransport.aidl",
        "core/java/android/debug/IAdbTransport.aidl",
+45 −0
Original line number Original line Diff line number Diff line
@@ -329,6 +329,11 @@ package android.content {
    method public android.os.UserHandle getUser();
    method public android.os.UserHandle getUser();
    method public int getUserId();
    method public int getUserId();
    method public void setAutofillCompatibilityEnabled(boolean);
    method public void setAutofillCompatibilityEnabled(boolean);
    field public static final java.lang.String ROLLBACK_SERVICE = "rollback";
  }

  public class Intent implements java.lang.Cloneable android.os.Parcelable {
    field public static final java.lang.String ACTION_PACKAGE_ROLLBACK_EXECUTED = "android.intent.action.PACKAGE_ROLLBACK_EXECUTED";
  }
  }


}
}
@@ -351,6 +356,10 @@ package android.content.pm {
    ctor public LauncherApps(android.content.Context);
    ctor public LauncherApps(android.content.Context);
  }
  }


  public static class PackageInstaller.SessionParams implements android.os.Parcelable {
    method public void setEnableRollback();
  }

  public abstract class PackageManager {
  public abstract class PackageManager {
    method public abstract boolean arePermissionsIndividuallyControlled();
    method public abstract boolean arePermissionsIndividuallyControlled();
    method public abstract java.lang.String getDefaultBrowserPackageNameAsUser(int);
    method public abstract java.lang.String getDefaultBrowserPackageNameAsUser(int);
@@ -398,6 +407,42 @@ package android.content.res {


}
}


package android.content.rollback {

  public final class PackageRollbackInfo implements android.os.Parcelable {
    ctor public PackageRollbackInfo(java.lang.String, android.content.rollback.PackageRollbackInfo.PackageVersion, android.content.rollback.PackageRollbackInfo.PackageVersion);
    method public int describeContents();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.content.rollback.PackageRollbackInfo> CREATOR;
    field public final android.content.rollback.PackageRollbackInfo.PackageVersion higherVersion;
    field public final android.content.rollback.PackageRollbackInfo.PackageVersion lowerVersion;
    field public final java.lang.String packageName;
  }

  public static class PackageRollbackInfo.PackageVersion {
    ctor public PackageRollbackInfo.PackageVersion(long);
    field public final long versionCode;
  }

  public final class RollbackInfo implements android.os.Parcelable {
    ctor public RollbackInfo(android.content.rollback.PackageRollbackInfo);
    method public int describeContents();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.content.rollback.RollbackInfo> CREATOR;
    field public final android.content.rollback.PackageRollbackInfo targetPackage;
  }

  public final class RollbackManager {
    method public void executeRollback(android.content.rollback.RollbackInfo, android.content.IntentSender);
    method public void expireRollbackForPackage(java.lang.String);
    method public android.content.rollback.RollbackInfo getAvailableRollback(java.lang.String);
    method public java.util.List<java.lang.String> getPackagesWithAvailableRollbacks();
    method public java.util.List<android.content.rollback.RollbackInfo> getRecentlyExecutedRollbacks();
    method public void reloadPersistedData();
  }

}

package android.database.sqlite {
package android.database.sqlite {


  public class SQLiteCompatibilityWalFlags {
  public class SQLiteCompatibilityWalFlags {
+12 −0
Original line number Original line Diff line number Diff line
@@ -49,6 +49,8 @@ import android.content.pm.LauncherApps;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager;
import android.content.pm.ShortcutManager;
import android.content.pm.ShortcutManager;
import android.content.res.Resources;
import android.content.res.Resources;
import android.content.rollback.IRollbackManager;
import android.content.rollback.RollbackManager;
import android.debug.AdbManager;
import android.debug.AdbManager;
import android.debug.IAdbManager;
import android.debug.IAdbManager;
import android.hardware.ConsumerIrManager;
import android.hardware.ConsumerIrManager;
@@ -1169,6 +1171,16 @@ final class SystemServiceRegistry {
                            throws ServiceNotFoundException {
                            throws ServiceNotFoundException {
                        return new RoleManager(ctx.getOuterContext());
                        return new RoleManager(ctx.getOuterContext());
                    }});
                    }});

        registerService(Context.ROLLBACK_SERVICE, RollbackManager.class,
                new CachedServiceFetcher<RollbackManager>() {
                    @Override
                    public RollbackManager createService(ContextImpl ctx)
                            throws ServiceNotFoundException {
                        IBinder b = ServiceManager.getServiceOrThrow(Context.ROLLBACK_SERVICE);
                        return new RollbackManager(ctx.getOuterContext(),
                                IRollbackManager.Stub.asInterface(b));
                    }});
        //CHECKSTYLE:ON IndentationCheck
        //CHECKSTYLE:ON IndentationCheck
    }
    }


+12 −0
Original line number Original line Diff line number Diff line
@@ -3123,6 +3123,7 @@ public abstract class Context {
            APPWIDGET_SERVICE,
            APPWIDGET_SERVICE,
            //@hide: VOICE_INTERACTION_MANAGER_SERVICE,
            //@hide: VOICE_INTERACTION_MANAGER_SERVICE,
            //@hide: BACKUP_SERVICE,
            //@hide: BACKUP_SERVICE,
            ROLLBACK_SERVICE,
            DROPBOX_SERVICE,
            DROPBOX_SERVICE,
            //@hide: DEVICE_IDLE_CONTROLLER,
            //@hide: DEVICE_IDLE_CONTROLLER,
            DEVICE_POLICY_SERVICE,
            DEVICE_POLICY_SERVICE,
@@ -4002,6 +4003,17 @@ public abstract class Context {
    @SystemApi
    @SystemApi
    public static final String BACKUP_SERVICE = "backup";
    public static final String BACKUP_SERVICE = "backup";


    /**
     * Use with {@link #getSystemService(String)} to retrieve an
     * {@link android.content.rollback.RollbackManager} for communicating
     * with the rollback manager
     *
     * @see #getSystemService(String)
     * @hide TODO(ruhler): hidden, @TestApi until we decide on public vs. @SystemApi.
     */
    @TestApi
    public static final String ROLLBACK_SERVICE = "rollback";

    /**
    /**
     * Use with {@link #getSystemService(String)} to retrieve a
     * Use with {@link #getSystemService(String)} to retrieve a
     * {@link android.os.DropBoxManager} instance for recording
     * {@link android.os.DropBoxManager} instance for recording
+28 −0
Original line number Original line Diff line number Diff line
@@ -27,6 +27,7 @@ import android.annotation.RequiresPermission;
import android.annotation.SdkConstant;
import android.annotation.SdkConstant;
import android.annotation.SdkConstant.SdkConstantType;
import android.annotation.SdkConstant.SdkConstantType;
import android.annotation.SystemApi;
import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.annotation.UnsupportedAppUsage;
import android.annotation.UnsupportedAppUsage;
import android.content.pm.ActivityInfo;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.ApplicationInfo;
@@ -2247,6 +2248,32 @@ public class Intent implements Parcelable, Cloneable {
     */
     */
    @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
    @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
    public static final String ACTION_PACKAGE_CHANGED = "android.intent.action.PACKAGE_CHANGED";
    public static final String ACTION_PACKAGE_CHANGED = "android.intent.action.PACKAGE_CHANGED";
    /**
     * Broadcast Action: Sent to the system rollback manager when a package
     * needs to have rollback enabled.
     * <p class="note">
     * This is a protected intent that can only be sent by the system.
     * </p>
     *
     * @hide This broadcast is used internally by the system.
     */
    @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
    public static final String ACTION_PACKAGE_ENABLE_ROLLBACK =
            "android.intent.action.PACKAGE_ENABLE_ROLLBACK";
    /**
     * Broadcast Action: An existing version of an application package has been
     * rolled back to a previous version.
     * The data contains the name of the package.
     *
     * <p class="note">This is a protected intent that can only be sent
     * by the system.
     *
     * @hide TODO: hidden, @TestApi until we decide on public vs. @SystemApi.
     */
    @TestApi
    @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
    public static final String ACTION_PACKAGE_ROLLBACK_EXECUTED =
            "android.intent.action.PACKAGE_ROLLBACK_EXECUTED";
    /**
    /**
     * @hide
     * @hide
     * Broadcast Action: Ask system services if there is any reason to
     * Broadcast Action: Ask system services if there is any reason to
@@ -10343,6 +10370,7 @@ public class Intent implements Parcelable, Cloneable {
                case ACTION_MEDIA_SCANNER_SCAN_FILE:
                case ACTION_MEDIA_SCANNER_SCAN_FILE:
                case ACTION_PACKAGE_NEEDS_VERIFICATION:
                case ACTION_PACKAGE_NEEDS_VERIFICATION:
                case ACTION_PACKAGE_VERIFIED:
                case ACTION_PACKAGE_VERIFIED:
                case ACTION_PACKAGE_ENABLE_ROLLBACK:
                    // Ignore legacy actions
                    // Ignore legacy actions
                    break;
                    break;
                default:
                default:
Loading