Remove INSTALLER_V2 permission since the API is finalized in S.
Bug: 152310230 Fixes: 152310230 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest Change-Id: I624eb44a455ba65f156064c57787af5903567d96
This commit is contained in:
@@ -2461,10 +2461,10 @@ package android.content.pm {
|
||||
}
|
||||
|
||||
public static class PackageInstaller.Session implements java.io.Closeable {
|
||||
method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void addFile(int, @NonNull String, long, @NonNull byte[], @Nullable byte[]);
|
||||
method public void addFile(int, @NonNull String, long, @NonNull byte[], @Nullable byte[]);
|
||||
method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void commitTransferred(@NonNull android.content.IntentSender);
|
||||
method @Nullable @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public android.content.pm.DataLoaderParams getDataLoaderParams();
|
||||
method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void removeFile(int, @NonNull String);
|
||||
method @Nullable public android.content.pm.DataLoaderParams getDataLoaderParams();
|
||||
method public void removeFile(int, @NonNull String);
|
||||
}
|
||||
|
||||
public static class PackageInstaller.SessionInfo implements android.os.Parcelable {
|
||||
@@ -2485,7 +2485,7 @@ package android.content.pm {
|
||||
public static class PackageInstaller.SessionParams implements android.os.Parcelable {
|
||||
method @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public void setAllocateAggressive(boolean);
|
||||
method @Deprecated public void setAllowDowngrade(boolean);
|
||||
method @RequiresPermission(allOf={android.Manifest.permission.INSTALL_PACKAGES, "com.android.permission.USE_INSTALLER_V2"}) public void setDataLoaderParams(@NonNull android.content.pm.DataLoaderParams);
|
||||
method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setDataLoaderParams(@NonNull android.content.pm.DataLoaderParams);
|
||||
method public void setDontKillApp(boolean);
|
||||
method public void setEnableRollback(boolean);
|
||||
method public void setEnableRollback(boolean, int);
|
||||
|
||||
@@ -1173,7 +1173,6 @@ public class PackageInstaller {
|
||||
* {@hide}
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.USE_INSTALLER_V2)
|
||||
public @Nullable DataLoaderParams getDataLoaderParams() {
|
||||
try {
|
||||
DataLoaderParamsParcel data = mSession.getDataLoaderParams();
|
||||
@@ -1213,7 +1212,6 @@ public class PackageInstaller {
|
||||
* {@hide}
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.USE_INSTALLER_V2)
|
||||
public void addFile(@FileLocation int location, @NonNull String name, long lengthBytes,
|
||||
@NonNull byte[] metadata, @Nullable byte[] signature) {
|
||||
try {
|
||||
@@ -1237,7 +1235,6 @@ public class PackageInstaller {
|
||||
* {@hide}
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.USE_INSTALLER_V2)
|
||||
public void removeFile(@FileLocation int location, @NonNull String name) {
|
||||
try {
|
||||
mSession.removeFile(location, name);
|
||||
@@ -2050,9 +2047,7 @@ public class PackageInstaller {
|
||||
* {@hide}
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(allOf = {
|
||||
Manifest.permission.INSTALL_PACKAGES,
|
||||
Manifest.permission.USE_INSTALLER_V2})
|
||||
@RequiresPermission(Manifest.permission.INSTALL_PACKAGES)
|
||||
public void setDataLoaderParams(@NonNull DataLoaderParams dataLoaderParams) {
|
||||
this.dataLoaderParams = dataLoaderParams;
|
||||
}
|
||||
|
||||
@@ -3972,17 +3972,6 @@
|
||||
<permission android:name="com.android.permission.INSTALL_EXISTING_PACKAGES"
|
||||
android:protectionLevel="signature|privileged" />
|
||||
|
||||
<!-- Allows an application to use the package installer v2 APIs.
|
||||
<p>The package installer v2 APIs are still a work in progress and we're
|
||||
currently validating they work in all scenarios.
|
||||
<p>Not for use by third-party applications.
|
||||
TODO(b/152310230): use this permission to protect only Incremental installations
|
||||
once the APIs are confirmed to be sufficient.
|
||||
@hide
|
||||
-->
|
||||
<permission android:name="com.android.permission.USE_INSTALLER_V2"
|
||||
android:protectionLevel="signature|verifier" />
|
||||
|
||||
<!-- Allows an application to use System Data Loaders.
|
||||
<p>Not for use by third-party applications.
|
||||
@hide
|
||||
|
||||
@@ -406,8 +406,6 @@ applications that come with the platform
|
||||
<permission name="android.permission.SET_WALLPAPER" />
|
||||
<permission name="android.permission.SET_WALLPAPER_COMPONENT" />
|
||||
<permission name="android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE" />
|
||||
<!-- Permissions required for Incremental CTS tests -->
|
||||
<permission name="com.android.permission.USE_INSTALLER_V2"/>
|
||||
<permission name="android.permission.LOADER_USAGE_STATS"/>
|
||||
<!-- Permission required to test system only camera devices. -->
|
||||
<permission name="android.permission.SYSTEM_CAMERA" />
|
||||
|
||||
@@ -84,8 +84,6 @@
|
||||
<uses-permission android:name="android.permission.READ_INPUT_STATE" />
|
||||
<uses-permission android:name="android.permission.SET_ORIENTATION" />
|
||||
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
|
||||
<!-- TODO(b/152310230): remove once APIs are confirmed to be sufficient -->
|
||||
<uses-permission android:name="com.android.permission.USE_INSTALLER_V2" />
|
||||
<uses-permission android:name="com.android.permission.USE_SYSTEM_DATA_LOADERS" />
|
||||
<uses-permission android:name="android.permission.MOVE_PACKAGE" />
|
||||
<uses-permission android:name="android.permission.KEEP_UNINSTALLED_PACKAGES" />
|
||||
|
||||
@@ -530,14 +530,6 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements
|
||||
throw new SecurityException("User restriction prevents installing");
|
||||
}
|
||||
|
||||
if (params.dataLoaderParams != null
|
||||
&& mContext.checkCallingOrSelfPermission(Manifest.permission.USE_INSTALLER_V2)
|
||||
!= PackageManager.PERMISSION_GRANTED) {
|
||||
throw new SecurityException("You need the "
|
||||
+ "com.android.permission.USE_INSTALLER_V2 permission "
|
||||
+ "to use a data loader");
|
||||
}
|
||||
|
||||
// INSTALL_REASON_ROLLBACK allows an app to be rolled back without requiring the ROLLBACK
|
||||
// capability; ensure if this is set as the install reason the app has one of the necessary
|
||||
// signature permissions to perform the rollback.
|
||||
|
||||
@@ -3547,14 +3547,12 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
|
||||
|
||||
@Override
|
||||
public DataLoaderParamsParcel getDataLoaderParams() {
|
||||
mContext.enforceCallingOrSelfPermission(Manifest.permission.USE_INSTALLER_V2, null);
|
||||
return params.dataLoaderParams != null ? params.dataLoaderParams.getData() : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addFile(int location, String name, long lengthBytes, byte[] metadata,
|
||||
byte[] signature) {
|
||||
mContext.enforceCallingOrSelfPermission(Manifest.permission.USE_INSTALLER_V2, null);
|
||||
if (!isDataLoaderInstallation()) {
|
||||
throw new IllegalStateException(
|
||||
"Cannot add files to non-data loader installation session.");
|
||||
@@ -3587,7 +3585,6 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
|
||||
|
||||
@Override
|
||||
public void removeFile(int location, String name) {
|
||||
mContext.enforceCallingOrSelfPermission(Manifest.permission.USE_INSTALLER_V2, null);
|
||||
if (!isDataLoaderInstallation()) {
|
||||
throw new IllegalStateException(
|
||||
"Cannot add files to non-data loader installation session.");
|
||||
|
||||
Reference in New Issue
Block a user