From 690346b145b77b13951fbf27cbc792195f975b6a Mon Sep 17 00:00:00 2001 From: Daniel Nishi Date: Fri, 17 Jun 2016 10:21:48 -0700 Subject: Use the Deletion Helper when system storage is low. A notification is posted when the system storage gets too low. Currently, it redirects into the Storage Settings. Instead, it should redirect into the Deletion Helper to directly let the user clear out their storage. Bug: 29437277 Change-Id: I4e35adf300d5e479d4171f1e6f090f2a757400f2 --- api/current.txt | 2 +- api/system-current.txt | 2 +- api/test-current.txt | 2 +- core/java/android/os/storage/StorageManager.java | 14 ++++++++++++++ core/java/android/provider/Settings.java | 11 ----------- .../server/storage/DeviceStorageMonitorService.java | 4 +--- 6 files changed, 18 insertions(+), 17 deletions(-) diff --git a/api/current.txt b/api/current.txt index 38af43fe96d9..0e93c25c18f6 100644 --- a/api/current.txt +++ b/api/current.txt @@ -29600,6 +29600,7 @@ package android.os.storage { method public boolean isObbMounted(java.lang.String); method public boolean mountObb(java.lang.String, java.lang.String, android.os.storage.OnObbStateChangeListener); method public boolean unmountObb(java.lang.String, boolean, android.os.storage.OnObbStateChangeListener); + field public static final java.lang.String ACTION_MANAGE_STORAGE = "android.os.storage.action.MANAGE_STORAGE"; } public final class StorageVolume implements android.os.Parcelable { @@ -32385,7 +32386,6 @@ package android.provider { field public static final java.lang.String ACTION_CAST_SETTINGS = "android.settings.CAST_SETTINGS"; field public static final java.lang.String ACTION_DATA_ROAMING_SETTINGS = "android.settings.DATA_ROAMING_SETTINGS"; field public static final java.lang.String ACTION_DATE_SETTINGS = "android.settings.DATE_SETTINGS"; - field public static final java.lang.String ACTION_DELETION_HELPER_SETTINGS = "android.settings.DELETION_HELPER_SETTINGS"; field public static final java.lang.String ACTION_DEVICE_INFO_SETTINGS = "android.settings.DEVICE_INFO_SETTINGS"; field public static final java.lang.String ACTION_DISPLAY_SETTINGS = "android.settings.DISPLAY_SETTINGS"; field public static final java.lang.String ACTION_DREAM_SETTINGS = "android.settings.DREAM_SETTINGS"; diff --git a/api/system-current.txt b/api/system-current.txt index 1cd1be971102..cf3057c10bdd 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -32134,6 +32134,7 @@ package android.os.storage { method public boolean isObbMounted(java.lang.String); method public boolean mountObb(java.lang.String, java.lang.String, android.os.storage.OnObbStateChangeListener); method public boolean unmountObb(java.lang.String, boolean, android.os.storage.OnObbStateChangeListener); + field public static final java.lang.String ACTION_MANAGE_STORAGE = "android.os.storage.action.MANAGE_STORAGE"; } public final class StorageVolume implements android.os.Parcelable { @@ -35090,7 +35091,6 @@ package android.provider { field public static final java.lang.String ACTION_CAST_SETTINGS = "android.settings.CAST_SETTINGS"; field public static final java.lang.String ACTION_DATA_ROAMING_SETTINGS = "android.settings.DATA_ROAMING_SETTINGS"; field public static final java.lang.String ACTION_DATE_SETTINGS = "android.settings.DATE_SETTINGS"; - field public static final java.lang.String ACTION_DELETION_HELPER_SETTINGS = "android.settings.DELETION_HELPER_SETTINGS"; field public static final java.lang.String ACTION_DEVICE_INFO_SETTINGS = "android.settings.DEVICE_INFO_SETTINGS"; field public static final java.lang.String ACTION_DISPLAY_SETTINGS = "android.settings.DISPLAY_SETTINGS"; field public static final java.lang.String ACTION_DREAM_SETTINGS = "android.settings.DREAM_SETTINGS"; diff --git a/api/test-current.txt b/api/test-current.txt index 648fe8475d19..47260acef3d9 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -29671,6 +29671,7 @@ package android.os.storage { method public boolean isObbMounted(java.lang.String); method public boolean mountObb(java.lang.String, java.lang.String, android.os.storage.OnObbStateChangeListener); method public boolean unmountObb(java.lang.String, boolean, android.os.storage.OnObbStateChangeListener); + field public static final java.lang.String ACTION_MANAGE_STORAGE = "android.os.storage.action.MANAGE_STORAGE"; } public final class StorageVolume implements android.os.Parcelable { @@ -32459,7 +32460,6 @@ package android.provider { field public static final java.lang.String ACTION_CAST_SETTINGS = "android.settings.CAST_SETTINGS"; field public static final java.lang.String ACTION_DATA_ROAMING_SETTINGS = "android.settings.DATA_ROAMING_SETTINGS"; field public static final java.lang.String ACTION_DATE_SETTINGS = "android.settings.DATE_SETTINGS"; - field public static final java.lang.String ACTION_DELETION_HELPER_SETTINGS = "android.settings.DELETION_HELPER_SETTINGS"; field public static final java.lang.String ACTION_DEVICE_INFO_SETTINGS = "android.settings.DEVICE_INFO_SETTINGS"; field public static final java.lang.String ACTION_DISPLAY_SETTINGS = "android.settings.DISPLAY_SETTINGS"; field public static final java.lang.String ACTION_DREAM_SETTINGS = "android.settings.DREAM_SETTINGS"; diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java index 968996f10ba3..5254d35bc12c 100644 --- a/core/java/android/os/storage/StorageManager.java +++ b/core/java/android/os/storage/StorageManager.java @@ -20,6 +20,7 @@ import static android.net.TrafficStats.MB_IN_BYTES; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.SdkConstant; import android.app.ActivityThread; import android.content.ContentResolver; import android.content.Context; @@ -95,6 +96,19 @@ public class StorageManager { /** {@hide} */ public static final String UUID_PRIMARY_PHYSICAL = "primary_physical"; + + /** + * Activity Action: Allows the user to manage their storage. This activity provides the ability + * to free up space on the device by deleting data such as apps. + *

+ * Input: Nothing. + *

+ * Output: Nothing. + */ + @SdkConstant(SdkConstant.SdkConstantType.ACTIVITY_INTENT_ACTION) + public static final String ACTION_MANAGE_STORAGE + = "android.os.storage.action.MANAGE_STORAGE"; + /** {@hide} */ public static final int DEBUG_FORCE_ADOPTABLE = 1 << 0; /** {@hide} */ diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index ca45e62acf58..d08baf2be78c 100755 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -1277,17 +1277,6 @@ public final class Settings { @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) public static final String ACTION_WEBVIEW_SETTINGS = "android.settings.WEBVIEW_SETTINGS"; - /** - * Activity Action: Show the Deletion Helper settings. - *

- * Input: Nothing. - *

- * Output: Nothing. - */ - @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) - public static final String ACTION_DELETION_HELPER_SETTINGS - = "android.settings.DELETION_HELPER_SETTINGS"; - // End of Intent actions for Settings /** diff --git a/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java b/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java index cbbcb0e66860..0ae171768199 100644 --- a/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java +++ b/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java @@ -455,9 +455,7 @@ public class DeviceStorageMonitorService extends SystemService { //log the event to event log with the amount of free storage(in bytes) left on the device EventLog.writeEvent(EventLogTags.LOW_STORAGE, mFreeMem); // Pack up the values and broadcast them to everyone - Intent lowMemIntent = new Intent(Environment.isExternalStorageEmulated() - ? Settings.ACTION_INTERNAL_STORAGE_SETTINGS - : Intent.ACTION_MANAGE_PACKAGE_STORAGE); + Intent lowMemIntent = new Intent(StorageManager.ACTION_MANAGE_STORAGE); lowMemIntent.putExtra("memory", mFreeMem); lowMemIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); NotificationManager mNotificationMgr = -- cgit v1.2.3-59-g8ed1b