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);