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

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

Merge "Add system API annotation to expose Incremental classes as system APIs."

parents a0a90f24 0696c448
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -2063,6 +2063,21 @@ package android.content.pm {
    method @NonNull public final int getType();
  }
  public final class InstallationFile implements android.os.Parcelable {
    ctor public InstallationFile(@NonNull String, long, @Nullable byte[]);
    method public int describeContents();
    method public int getFileType();
    method @Nullable public byte[] getMetadata();
    method @NonNull public String getName();
    method public long getSize();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstallationFile> CREATOR;
    field public static final int FILE_TYPE_APK = 0; // 0x0
    field public static final int FILE_TYPE_LIB = 1; // 0x1
    field public static final int FILE_TYPE_OBB = 2; // 0x2
    field public static final int FILE_TYPE_UNKNOWN = -1; // 0xffffffff
  }
  public final class InstantAppInfo implements android.os.Parcelable {
    ctor public InstantAppInfo(android.content.pm.ApplicationInfo, String[], String[]);
    ctor public InstantAppInfo(String, CharSequence, String[], String[]);
@@ -10131,6 +10146,16 @@ package android.service.dataloader {
  public abstract class DataLoaderService extends android.app.Service {
    ctor public DataLoaderService();
    method @Nullable public android.service.dataloader.DataLoaderService.DataLoader onCreateDataLoader();
  }
  public static interface DataLoaderService.DataLoader {
    method public boolean onCreate(@NonNull android.content.pm.DataLoaderParams, @NonNull android.service.dataloader.DataLoaderService.FileSystemConnector);
    method public boolean onPrepareImage(@NonNull java.util.Collection<android.content.pm.InstallationFile>, @NonNull java.util.Collection<java.lang.String>);
  }
  public static final class DataLoaderService.FileSystemConnector {
    method public void writeData(@NonNull String, long, long, @NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
  }
}
+3 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package android.content.pm;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcelable;

@@ -31,12 +32,14 @@ import java.lang.annotation.RetentionPolicy;
 *
 * @hide
 */
@SystemApi
public final class InstallationFile implements Parcelable {
    public static final int FILE_TYPE_UNKNOWN = -1;
    public static final int FILE_TYPE_APK = 0;
    public static final int FILE_TYPE_LIB = 1;
    public static final int FILE_TYPE_OBB = 2;

    /** @hide */
    @Retention(RetentionPolicy.SOURCE)
    @IntDef(prefix = {"FILE_TYPE_"}, value = {
            FILE_TYPE_APK,
+7 −4
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ public abstract class DataLoaderService extends Service {
     * Managed DataLoader interface. Each instance corresponds to a single installation session.
     * @hide
     */
    @SystemApi
    public interface DataLoader {
        /**
         * A virtual constructor.
@@ -78,8 +79,8 @@ public abstract class DataLoaderService extends Service {
         * @param removedFiles list of files removed in this installation session.
         * @return false if unable to create and populate all addedFiles.
         */
        boolean onPrepareImage(Collection<InstallationFile> addedFiles,
                Collection<String> removedFiles);
        boolean onPrepareImage(@NonNull Collection<InstallationFile> addedFiles,
                @NonNull Collection<String> removedFiles);
    }

    /**
@@ -88,6 +89,7 @@ public abstract class DataLoaderService extends Service {
     * @return An instance of a DataLoader.
     * @hide
     */
    @SystemApi
    public @Nullable DataLoader onCreateDataLoader() {
        return null;
    }
@@ -188,6 +190,7 @@ public abstract class DataLoaderService extends Service {
     *
     * @hide
     */
    @SystemApi
    public static final class FileSystemConnector {
        /**
         * Create a wrapper for a native instance.
@@ -211,8 +214,8 @@ public abstract class DataLoaderService extends Service {
         * @throws IOException if trouble opening the file for writing, such as lack of disk space
         *                     or unavailable media.
         */
        public void writeData(String name, long offsetBytes, long lengthBytes,
                ParcelFileDescriptor incomingFd) throws IOException {
        public void writeData(@NonNull String name, long offsetBytes, long lengthBytes,
                @NonNull ParcelFileDescriptor incomingFd) throws IOException {
            try {
                nativeWriteData(mNativeInstance, name, offsetBytes, lengthBytes, incomingFd);
            } catch (RuntimeException e) {
+2 −2
Original line number Diff line number Diff line
@@ -115,8 +115,8 @@ public class PackageManagerShellCommandDataLoader extends DataLoaderService {
        }

        @Override
        public boolean onPrepareImage(Collection<InstallationFile> addedFiles,
                Collection<String> removedFiles) {
        public boolean onPrepareImage(@NonNull Collection<InstallationFile> addedFiles,
                @NonNull Collection<String> removedFiles) {
            final int commandId = extractShellCommandId(mParams.getArguments());
            if (commandId == INVALID_SHELL_COMMAND_ID) {
                return false;