Merge changes I696e3c5d,Iea7a5610,If627e613 into rvc-dev
* changes:
update javadoc for InstallationFile
fix error message
remove incremental.check_loader
diff --git a/api/system-current.txt b/api/system-current.txt
index bfdb052..d902949 100755
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -2014,7 +2014,6 @@
}
public final class InstallationFile {
- ctor public InstallationFile(int, @NonNull String, long, @Nullable byte[], @Nullable byte[]);
method public long getLengthBytes();
method public int getLocation();
method @Nullable public byte[] getMetadata();
diff --git a/core/java/android/content/pm/InstallationFile.java b/core/java/android/content/pm/InstallationFile.java
index edc04c9..de761ad 100644
--- a/core/java/android/content/pm/InstallationFile.java
+++ b/core/java/android/content/pm/InstallationFile.java
@@ -21,13 +21,25 @@
import android.annotation.SystemApi;
/**
- * Defines the properties of a file in an installation session.
+ * Definition of a file in a streaming installation session.
+ * You can use this class to retrieve the information of such a file, such as its name, size and
+ * metadata. These file attributes will be consistent with those used in:
+ * {@code PackageInstaller.Session#addFile}, when the file was first added into the session.
+ *
+ * WARNING: This is a system API to aid internal development.
+ * Use at your own risk. It will change or be removed without warning.
+ *
+ * @see android.content.pm.PackageInstaller.Session#addFile
* @hide
*/
@SystemApi
public final class InstallationFile {
private final @NonNull InstallationFileParcel mParcel;
+ /**
+ * Constructor, internal use only
+ * @hide
+ */
public InstallationFile(@PackageInstaller.FileLocation int location, @NonNull String name,
long lengthBytes, @Nullable byte[] metadata, @Nullable byte[] signature) {
mParcel = new InstallationFileParcel();
@@ -38,22 +50,44 @@
mParcel.signature = signature;
}
+ /**
+ * Installation Location of this file. Can be one of the following three locations:
+ * <ul>
+ * <li>(1) {@code PackageInstaller.LOCATION_DATA_APP}</li>
+ * <li>(2) {@code PackageInstaller.LOCATION_MEDIA_OBB}</li>
+ * <li>(3) {@code PackageInstaller.LOCATION_MEDIA_DATA}</li>
+ * </ul>
+ * @see android.content.pm.PackageInstaller
+ * @return Integer that denotes the installation location of the file.
+ */
public @PackageInstaller.FileLocation int getLocation() {
return mParcel.location;
}
+ /**
+ * @return Name of the file.
+ */
public @NonNull String getName() {
return mParcel.name;
}
+ /**
+ * @return File size in bytes.
+ */
public long getLengthBytes() {
return mParcel.size;
}
+ /**
+ * @return File metadata as a byte array
+ */
public @Nullable byte[] getMetadata() {
return mParcel.metadata;
}
+ /**
+ * @return File signature info as a byte array
+ */
public @Nullable byte[] getSignature() {
return mParcel.signature;
}
diff --git a/core/java/android/service/dataloader/DataLoaderService.java b/core/java/android/service/dataloader/DataLoaderService.java
index 5bf1975..0b9a8af 100644
--- a/core/java/android/service/dataloader/DataLoaderService.java
+++ b/core/java/android/service/dataloader/DataLoaderService.java
@@ -172,7 +172,7 @@
@Override
public void prepareImage(InstallationFileParcel[] addedFiles, String[] removedFiles) {
if (!nativePrepareImage(mId, addedFiles, removedFiles)) {
- Slog.w(TAG, "Failed to destroy loader: " + mId);
+ Slog.w(TAG, "Failed to prepare image for data loader: " + mId);
}
}
}
diff --git a/services/core/java/com/android/server/pm/DataLoaderManagerService.java b/services/core/java/com/android/server/pm/DataLoaderManagerService.java
index ad20d38..8eb773a 100644
--- a/services/core/java/com/android/server/pm/DataLoaderManagerService.java
+++ b/services/core/java/com/android/server/pm/DataLoaderManagerService.java
@@ -116,9 +116,6 @@
return null;
}
- // TODO(b/136132412): better way to enable privileged data loaders in tests
- boolean checkLoader =
- android.os.SystemProperties.getBoolean("incremental.check_loader", false);
int numServices = services.size();
for (int i = 0; i < numServices; i++) {
ResolveInfo ri = services.get(i);
@@ -128,7 +125,7 @@
// If there's more than one, return the first one found.
try {
ApplicationInfo ai = pm.getApplicationInfo(resolved.getPackageName(), 0);
- if (checkLoader && !ai.isPrivilegedApp()) {
+ if (!ai.isPrivilegedApp()) {
Slog.w(TAG,
"Data loader: " + resolved + " is not a privileged app, skipping.");
continue;