Merge "Jostle the elements around in app storage settings." into oc-dev
diff --git a/res/xml/app_storage_settings.xml b/res/xml/app_storage_settings.xml
index 6bd8ae3..1c71bfa 100644
--- a/res/xml/app_storage_settings.xml
+++ b/res/xml/app_storage_settings.xml
@@ -15,8 +15,14 @@
-->
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:settings="http://schemas.android.com/apk/res-auto"
android:title="@string/application_info_label">
+ <com.android.settings.applications.LayoutPreference
+ android:key="header_view"
+ android:layout="@layout/app_action_buttons"
+ android:selectable="false" />
+
<com.android.settings.applications.SpacePreference
android:key="storage_space"
android:layout_height="8dp" />
@@ -36,13 +42,9 @@
<PreferenceCategory
android:key="storage_category"
android:layout="@layout/tall_preference_category"
- android:title="@string/storage_label">
-
- <Preference
- android:key="total_size"
- android:title="@string/total_size_label"
- android:selectable="false"
- android:layout="@layout/horizontal_preference" />
+ android:title="@string/app_info_storage_title"
+ settings:allowDividerAbove="false"
+ settings:allowDividerBelow="false">
<Preference
android:key="app_size"
@@ -56,32 +58,28 @@
android:selectable="false"
android:layout="@layout/horizontal_preference" />
- <com.android.settings.applications.LayoutPreference
- android:key="clear_data_button"
+ <Preference
+ android:key="cache_size"
+ android:title="@string/cache_size_label"
android:selectable="false"
- android:layout="@layout/single_button_panel" />
+ android:layout="@layout/horizontal_preference" />
+
+ <Preference
+ android:key="total_size"
+ android:title="@string/total_size_label"
+ android:selectable="false"
+ android:layout="@layout/horizontal_preference" />
+
+ <com.android.settings.applications.SpacePreference
+ android:layout_height="8dp" />
+
</PreferenceCategory>
- <com.android.settings.applications.SpacePreference
- android:layout_height="8dp" />
-
- <Preference
- android:key="cache_size"
- android:title="@string/cache_size_label"
- android:selectable="false"
- android:layout="@layout/horizontal_preference" />
-
- <com.android.settings.applications.LayoutPreference
- android:key="clear_cache_button"
- android:selectable="false"
- android:layout="@layout/single_button_panel" />
-
- <com.android.settings.applications.SpacePreference
- android:layout_height="8dp" />
-
<PreferenceCategory
android:key="uri_category"
- android:layout="@layout/headerless_preference_category" >
+ android:layout="@layout/headerless_preference_category"
+ settings:allowDividerAbove="false"
+ settings:allowDividerBelow="false">
<com.android.settings.applications.LayoutPreference
android:key="clear_uri_button"
android:layout="@layout/single_button_panel"
diff --git a/src/com/android/settings/applications/AppStorageSettings.java b/src/com/android/settings/applications/AppStorageSettings.java
index 8d41558..0676f56 100644
--- a/src/com/android/settings/applications/AppStorageSettings.java
+++ b/src/com/android/settings/applications/AppStorageSettings.java
@@ -90,13 +90,10 @@
private static final String KEY_TOTAL_SIZE = "total_size";
private static final String KEY_APP_SIZE = "app_size";
- private static final String KEY_EXTERNAL_CODE_SIZE = "external_code_size";
private static final String KEY_DATA_SIZE = "data_size";
- private static final String KEY_EXTERNAL_DATA_SIZE = "external_data_size";
private static final String KEY_CACHE_SIZE = "cache_size";
- private static final String KEY_CLEAR_DATA = "clear_data_button";
- private static final String KEY_CLEAR_CACHE = "clear_cache_button";
+ private static final String KEY_HEADER_BUTTONS = "header_view";
private static final String KEY_URI_CATEGORY = "uri_category";
private static final String KEY_CLEAR_URI = "clear_uri_button";
@@ -119,16 +116,11 @@
private boolean mCanClearData = true;
private boolean mCacheCleared;
- private AppStorageStats mLastResult;
private AppStorageSizesController mSizeController;
private ClearCacheObserver mClearCacheObserver;
private ClearUserDataObserver mClearDataObserver;
- // Resource strings
- private CharSequence mInvalidSizeStr;
- private CharSequence mComputingStr;
-
private VolumeInfo[] mCandidates;
private AlertDialog.Builder mDialogBuilder;
private ApplicationInfo mInfo;
@@ -158,9 +150,6 @@
}
private void setupViews() {
- mComputingStr = getActivity().getText(R.string.computing_size);
- mInvalidSizeStr = getActivity().getText(R.string.invalid_size_value);
-
// Set default values on sizes
mSizeController = new AppStorageSizesController.Builder()
.setTotalSizePreference(findPreference(KEY_TOTAL_SIZE))
@@ -171,8 +160,8 @@
.setErrorString(R.string.invalid_size_value)
.build();
- mClearDataButton = (Button) ((LayoutPreference) findPreference(KEY_CLEAR_DATA))
- .findViewById(R.id.button);
+ mClearDataButton = (Button) ((LayoutPreference) findPreference(KEY_HEADER_BUTTONS))
+ .findViewById(R.id.left_button);
mStorageUsed = findPreference(KEY_STORAGE_USED);
mChangeStorageButton = (Button) ((LayoutPreference) findPreference(KEY_CHANGE_STORAGE))
@@ -182,8 +171,8 @@
// Cache section
mCacheSize = findPreference(KEY_CACHE_SIZE);
- mClearCacheButton = (Button) ((LayoutPreference) findPreference(KEY_CLEAR_CACHE))
- .findViewById(R.id.button);
+ mClearCacheButton = (Button) ((LayoutPreference) findPreference(KEY_HEADER_BUTTONS))
+ .findViewById(R.id.right_button);
mClearCacheButton.setText(R.string.clear_cache_btn_text);
// URI permissions section
@@ -267,7 +256,7 @@
if (mAppEntry == null) {
return false;
}
- updateUiWithSize(mLastResult);
+ updateUiWithSize(mSizeController.getLastResult());
refreshGrantedUriPermissions();
final VolumeInfo currentVol = getActivity().getPackageManager()
diff --git a/src/com/android/settings/applications/AppStorageSizesController.java b/src/com/android/settings/applications/AppStorageSizesController.java
index 94935bd..23a3eb2 100644
--- a/src/com/android/settings/applications/AppStorageSizesController.java
+++ b/src/com/android/settings/applications/AppStorageSizesController.java
@@ -110,6 +110,13 @@
mCachedCleared = isCleared;
}
+ /**
+ * Returns the last result calculated, if it exists. If it does not, returns null.
+ */
+ public StorageStatsSource.AppStorageStats getLastResult() {
+ return mLastResult;
+ }
+
private String getSizeStr(Context context, long size) {
return Formatter.formatFileSize(context, size);
}