Add intent to clear app cache

Adds a new public API intent action that should be used to launch a
dialog that prompts the user to clear app caches.
The intent can be used by apps holding MANAGE_EXTERNAL_STORAGE
permission or with OP_MANAGE_EXTERNAL_STORAGE allowed

Bug: 144341120
Test: build

Change-Id: Icc6de16da4f892f1ed46ffc89e51071647a17400
This commit is contained in:
shafik
2020-02-06 18:21:07 +00:00
parent b9d84550d5
commit 0f2c4d12eb
2 changed files with 15 additions and 0 deletions

View File

@@ -37314,6 +37314,7 @@ package android.os.storage {
method public void setCacheBehaviorTombstone(java.io.File, boolean) throws java.io.IOException;
method public boolean unmountObb(String, boolean, android.os.storage.OnObbStateChangeListener);
method public void unregisterStorageVolumeCallback(@NonNull android.os.storage.StorageManager.StorageVolumeCallback);
field @RequiresPermission(android.Manifest.permission.MANAGE_EXTERNAL_STORAGE) public static final String ACTION_CLEAR_APP_CACHE = "android.os.storage.action.CLEAR_APP_CACHE";
field public static final String ACTION_MANAGE_STORAGE = "android.os.storage.action.MANAGE_STORAGE";
field public static final String EXTRA_REQUESTED_BYTES = "android.os.storage.extra.REQUESTED_BYTES";
field public static final String EXTRA_UUID = "android.os.storage.extra.UUID";

View File

@@ -214,6 +214,20 @@ public class StorageManager {
@SdkConstant(SdkConstant.SdkConstantType.ACTIVITY_INTENT_ACTION)
public static final String ACTION_MANAGE_STORAGE = "android.os.storage.action.MANAGE_STORAGE";
/**
* Activity Action: Allows the user to free up space by clearing app external cache directories.
* The intent doesn't automatically clear cache, but shows a dialog and lets the user decide.
* <p>
* This intent should be launched using
* {@link Activity#startActivityForResult(Intent, int)} so that the user
* knows which app is requesting to clear cache. The returned result will
* be {@link Activity#RESULT_OK} if the activity was launched and the user accepted to clear
* cache, or {@link Activity#RESULT_CANCELED} otherwise.
*/
@RequiresPermission(android.Manifest.permission.MANAGE_EXTERNAL_STORAGE)
@SdkConstant(SdkConstant.SdkConstantType.ACTIVITY_INTENT_ACTION)
public static final String ACTION_CLEAR_APP_CACHE = "android.os.storage.action.CLEAR_APP_CACHE";
/**
* Extra {@link UUID} used to indicate the storage volume where an
* application is interested in allocating or managing disk space.