diff --git a/res/values/strings.xml b/res/values/strings.xml
index 334c4d43528..80a241517c3 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1848,7 +1848,7 @@
Calculating\u2026
- Apps
+ Apps (app data & media content)
Media
@@ -1918,6 +1918,11 @@
Unmount in progress
+
+ Storage space is running out
+
+ Some system functions, such as syncing, may not work correctly. Try to free space by deleting or unpinning items, such as apps or media content.
+
USB computer connection
diff --git a/src/com/android/settings/deviceinfo/StorageVolumePreferenceCategory.java b/src/com/android/settings/deviceinfo/StorageVolumePreferenceCategory.java
index bbf1d0175ce..0211c775388 100644
--- a/src/com/android/settings/deviceinfo/StorageVolumePreferenceCategory.java
+++ b/src/com/android/settings/deviceinfo/StorageVolumePreferenceCategory.java
@@ -16,9 +16,11 @@
package com.android.settings.deviceinfo;
+import android.app.ActivityThread;
import android.app.DownloadManager;
import android.content.Context;
import android.content.Intent;
+import android.content.pm.IPackageManager;
import android.content.res.Resources;
import android.graphics.drawable.ShapeDrawable;
import android.graphics.drawable.shapes.RectShape;
@@ -26,6 +28,7 @@ import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
+import android.os.RemoteException;
import android.os.storage.StorageManager;
import android.os.storage.StorageVolume;
import android.preference.Preference;
@@ -53,6 +56,7 @@ public class StorageVolumePreferenceCategory extends PreferenceCategory implemen
private Preference[] mPreferences;
private Preference mMountTogglePreference;
private Preference mFormatPreference;
+ private Preference mStorageLow;
private int[] mColors;
private Resources mResources;
@@ -204,6 +208,18 @@ public class StorageVolumePreferenceCategory extends PreferenceCategory implemen
mFormatPreference.setTitle(R.string.sd_format);
mFormatPreference.setSummary(R.string.sd_format_summary);
}
+
+ final IPackageManager pm = ActivityThread.getPackageManager();
+ try {
+ if (pm.isStorageLow()) {
+ mStorageLow = new Preference(getContext());
+ mStorageLow.setTitle(R.string.storage_low_title);
+ mStorageLow.setSummary(R.string.storage_low_summary);
+ } else {
+ mStorageLow = null;
+ }
+ } catch (RemoteException e) {
+ }
}
public StorageVolume getStorageVolume() {
@@ -227,6 +243,9 @@ public class StorageVolumePreferenceCategory extends PreferenceCategory implemen
}
addPreference(mUsageBarPreference);
+ if (mStorageLow != null) {
+ addPreference(mStorageLow);
+ }
for (int i = 0; i < numberOfCategories; i++) {
addPreference(mPreferences[i]);
}