Merge "Delete package sandbox data when it is uninstalled."

This commit is contained in:
Sudheer Shanka
2018-10-10 21:00:04 +00:00
committed by Android (Google) Code Review
3 changed files with 87 additions and 14 deletions

View File

@@ -16,6 +16,9 @@
package android.os.storage;
import android.annotation.NonNull;
import android.annotation.Nullable;
/**
* Mount service local interface.
*
@@ -81,18 +84,26 @@ public abstract class StorageManagerInternal {
public abstract int getExternalStorageMountMode(int uid, String packageName);
/**
* Mount external storage for the given package.
* Create storage sandbox for the given package.
*
* <p> This will involve calling into vold to setup appropriate bind mounts.
*
* @param packageName The package for which external storage will be mounted.
* @param packageName The package for which the sandbox needs to be created.
* @param appId The appId for the given package.
* @param sharedUserId The sharedUserId for given package if it specified
* {@code android:sharedUserId} in the manifest, otherwise {@code null}
* @param userId The userId in which the storage needs to be mounted.
* @param userId The userId in which the sandbox needs to be created.
*/
public abstract void mountExternalStorageForApp(String packageName, int appId,
String sharedUserId, int userId);
public abstract void prepareSandboxForApp(@NonNull String packageName, int appId,
@Nullable String sharedUserId, int userId);
/**
* Delete storage sandbox for the given package.
*
* @param packageName The package for which the sandbox needs to be destroyed.
* @param userId The userId in which the sandbox needs to be destroyed.
*/
public abstract void destroySandboxForApp(@NonNull String packageName, int userId);
/**
* @return Labels of storage volumes that are visible to the given userId.