diff options
| author | 2020-01-14 17:58:04 -0800 | |
|---|---|---|
| committer | 2020-01-23 18:09:08 +0000 | |
| commit | 0696c44824aa521cdfe49c65d81fa341b22c2446 (patch) | |
| tree | cd44e695891952844bbd708813c6ae5669159a1b | |
| parent | 5e6abe41065190502ad336a7295aa05f83e574ee (diff) | |
Add system API annotation to expose Incremental classes as system APIs.
Test: None
Change-Id: Iddf69534cd88670af34267287ae8ee63ed24d7c7
Bug: 148217803
4 files changed, 37 insertions, 6 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index a2f363f0d947..8d88f5a02669 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -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; } } diff --git a/core/java/android/content/pm/InstallationFile.java b/core/java/android/content/pm/InstallationFile.java index ac5fd1e41075..111ad32d1e41 100644 --- a/core/java/android/content/pm/InstallationFile.java +++ b/core/java/android/content/pm/InstallationFile.java @@ -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, diff --git a/core/java/android/service/dataloader/DataLoaderService.java b/core/java/android/service/dataloader/DataLoaderService.java index 75f252e23f79..c21577842199 100644 --- a/core/java/android/service/dataloader/DataLoaderService.java +++ b/core/java/android/service/dataloader/DataLoaderService.java @@ -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) { diff --git a/services/core/java/com/android/server/pm/PackageManagerShellCommandDataLoader.java b/services/core/java/com/android/server/pm/PackageManagerShellCommandDataLoader.java index a814cb8942e2..281c44a61153 100644 --- a/services/core/java/com/android/server/pm/PackageManagerShellCommandDataLoader.java +++ b/services/core/java/com/android/server/pm/PackageManagerShellCommandDataLoader.java @@ -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; |