Update the system info dialog.
The string is updated as well as where the dialog shows up.
Change-Id: If1a3b17dca04fe81f52dbdc2353db34ce7adc49a
Fixes: 34857117
Test: Robotest
diff --git a/res/values/strings.xml b/res/values/strings.xml
index d37d9d9..43391fa 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2702,7 +2702,7 @@
\n\nTo see the visible contents of this <xliff:g id="name" example="SD card">^1</xliff:g>, tap Explore.</string>
<!-- Body of dialog informing user about the storage used by the Android System [CHAR LIMIT=NONE]-->
- <string name="storage_detail_dialog_system">System includes files that Android can\u2019t display individually.</string>
+ <string name="storage_detail_dialog_system">System includes files used to run Android version <xliff:g id="version" example="8.0">%s</xliff:g></string>
<!-- Body of dialog informing user about other users on a storage device [CHAR LIMIT=NONE]-->
<string name="storage_detail_dialog_user"><xliff:g id="user" example="Guest user">^1</xliff:g> may have saved photos, music, apps, or other data, using <xliff:g id="size" example="1.2 GB">^2</xliff:g> of storage.
diff --git a/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java b/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java
index 076ec05..9ddf7b7 100644
--- a/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java
+++ b/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java
@@ -27,6 +27,7 @@
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.UserInfo;
+import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.UserHandle;
@@ -759,7 +760,8 @@
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(getActivity())
- .setMessage(R.string.storage_detail_dialog_system)
+ .setMessage(getContext().getString(R.string.storage_detail_dialog_system,
+ Build.VERSION.RELEASE))
.setPositiveButton(android.R.string.ok, null)
.create();
}
diff --git a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
index eec9487..e22aa24 100644
--- a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
@@ -35,6 +35,7 @@
import com.android.settings.applications.ManageApplications;
import com.android.settings.core.PreferenceController;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
+import com.android.settings.deviceinfo.PrivateVolumeSettings.SystemInfoFragment;
import com.android.settings.deviceinfo.StorageItemPreference;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.deviceinfo.StorageMeasurement;
@@ -52,6 +53,7 @@
private static final String TAG = "StorageItemPreference";
private static final String IMAGE_MIME_TYPE = "image/*";
+ private static final String SYSTEM_FRAGMENT_TAG = "SystemInfo";
@VisibleForTesting
static final String PHOTO_KEY = "pref_photos_videos";
@@ -104,8 +106,6 @@
return false;
}
- // TODO: Currently, this reflects the existing behavior for these toggles.
- // After the intermediate views are built, swap them in.
Intent intent = null;
if (preference.getKey() == null) {
return false;
@@ -133,6 +133,11 @@
FeatureFactory.getFactory(mContext).getMetricsFeatureProvider().action(
mContext, MetricsEvent.STORAGE_FILES);
break;
+ case SYSTEM_KEY:
+ final SystemInfoFragment dialog = new SystemInfoFragment();
+ dialog.setTargetFragment(mFragment, 0);
+ dialog.show(mFragment.getFragmentManager(), SYSTEM_FRAGMENT_TAG);
+ return true;
}
if (intent != null) {
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
index 387bc43..18b0c82 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
@@ -20,6 +20,7 @@
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
@@ -45,6 +46,7 @@
import com.android.settings.TestConfig;
import com.android.settings.applications.ManageApplications;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
+import com.android.settings.deviceinfo.PrivateVolumeSettings;
import com.android.settings.deviceinfo.StorageItemPreference;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.applications.StorageStatsSource;
@@ -187,6 +189,15 @@
}
@Test
+ public void testClickSystem() {
+ mPreference.setKey("pref_system");
+ assertThat(mController.handlePreferenceTreeClick(mPreference)).isTrue();
+
+ verify(mFragment.getFragmentManager().beginTransaction()).add(
+ any(PrivateVolumeSettings.SystemInfoFragment.class), anyString());
+ }
+
+ @Test
public void testMeasurementCompletedUpdatesPreferences() {
StorageItemPreference audio = new StorageItemPreference(mContext);
StorageItemPreference image = new StorageItemPreference(mContext);