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

Commit 0696c448 authored by shengcow's avatar shengcow Committed by Shengcong Wang
Browse files

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

Test: None
Change-Id: Iddf69534cd88670af34267287ae8ee63ed24d7c7
Bug: 148217803
parent 5e6abe41
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[]);
@@ -10126,6 +10141,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;