diff --git a/res/values/strings.xml b/res/values/strings.xml
index d37d9d98e6a..43391fa31d8 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2702,7 +2702,7 @@
\n\nTo see the visible contents of this ^1, tap Explore.
- System includes files that Android can\u2019t display individually.
+ System includes files used to run Android version %s
^1 may have saved photos, music, apps, or other data, using ^2 of storage.
diff --git a/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java b/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java
index 076ec05b894..9ddf7b7d512 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.IPackageDataObserver;
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 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment {
@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 eec9487d574..e22aa24060a 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.Utils;
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 @@ public class StorageItemPreferenceController extends PreferenceController {
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 @@ public class StorageItemPreferenceController extends PreferenceController {
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 @@ public class StorageItemPreferenceController extends PreferenceController {
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 387bc43a9af..18b0c82c680 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.android.settings.TestUtils.KILOBYTE;
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.SubSettings;
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;
@@ -186,6 +188,15 @@ public class StorageItemPreferenceControllerTest {
.isEqualTo(R.string.game_storage_settings);
}
+ @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);