Loading res/values/strings.xml +1 −1 Original line number Diff line number Diff line Loading @@ -7413,7 +7413,7 @@ <string name="apps_summary_example">24 apps installed</string> <!-- Summary of storage usage [CHAR LIMIT=NONE] --> <string name="storage_summary"><xliff:g id="size1" example="8GB">%1$s</xliff:g> of <xliff:g id="size2" example="32GB">%2$s</xliff:g> used</string> <string name="storage_summary"><xliff:g id="percentage" example="54%">%1$s</xliff:g> used - <xliff:g id="free_space" example="32GB">%2$s</xliff:g> free</string> <!-- Summary of display with screen sleep timeout [CHAR LIMIT=NONE] --> <string name="display_summary">Sleep after <xliff:g id="timeout_description" example="10 minutes">%1$s</xliff:g> of inactivity</string> src/com/android/settings/deviceinfo/StorageSettings.java +10 −8 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.settings.deviceinfo; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.app.DialogFragment; import android.app.Fragment; import android.content.Context; import android.content.DialogInterface; Loading Loading @@ -59,10 +58,10 @@ import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider; import com.android.settingslib.drawer.SettingsDrawerActivity; import java.io.File; import java.text.NumberFormat; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; Loading Loading @@ -513,10 +512,13 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index private static class SummaryProvider implements SummaryLoader.SummaryProvider { private final Context mContext; private final SummaryLoader mLoader; private final StorageManagerVolumeProvider mStorageManagerVolumeProvider; private SummaryProvider(Context context, SummaryLoader loader) { mContext = context; mLoader = loader; final StorageManager storageManager = mContext.getSystemService(StorageManager.class); mStorageManagerVolumeProvider = new StorageManagerVolumeProvider(storageManager); } @Override Loading @@ -528,13 +530,13 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index private void updateSummary() { // TODO: Register listener. final StorageManager storageManager = mContext.getSystemService(StorageManager.class); PrivateStorageInfo info = PrivateStorageInfo.getPrivateStorageInfo( new StorageManagerVolumeProvider(storageManager)); long privateUsedBytes = info.totalBytes - info.freeBytes; final NumberFormat percentageFormat = NumberFormat.getPercentInstance(); final PrivateStorageInfo info = PrivateStorageInfo.getPrivateStorageInfo( mStorageManagerVolumeProvider); double privateUsedBytes = info.totalBytes - info.freeBytes; mLoader.setSummary(this, mContext.getString(R.string.storage_summary, Formatter.formatFileSize(mContext, privateUsedBytes), Formatter.formatFileSize(mContext, info.totalBytes))); percentageFormat.format(privateUsedBytes / info.totalBytes), Formatter.formatFileSize(mContext, info.freeBytes))); } } Loading tests/robotests/src/com/android/settings/deviceinfo/SerialNumberPreferenceControllerTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.content.Context; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceScreen; import com.android.settings.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import org.junit.Before; Loading @@ -27,7 +28,6 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; import static com.google.common.truth.Truth.assertThat; Loading @@ -39,7 +39,7 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @RunWith(RobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) public class SerialNumberPreferenceControllerTest { Loading tests/robotests/src/com/android/settings/deviceinfo/StorageSettingsTest.java 0 → 100644 +92 −0 Original line number Diff line number Diff line /* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.deviceinfo; import android.app.Activity; import android.icu.text.NumberFormat; import android.os.storage.VolumeInfo; import android.text.format.Formatter; import com.android.settings.R; import com.android.settings.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.dashboard.SummaryLoader; import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.util.ReflectionHelpers; import java.util.ArrayList; import java.util.List; import static org.mockito.Mockito.RETURNS_DEEP_STUBS; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) public class StorageSettingsTest { @Mock private StorageManagerVolumeProvider mStorageManagerVolumeProvider; @Mock private Activity mActivity; private List<VolumeInfo> mVolumes; private StorageSettings mSettings; @Before public void setUp() { MockitoAnnotations.initMocks(this); mVolumes = new ArrayList<>(); mVolumes.add(mock(VolumeInfo.class, RETURNS_DEEP_STUBS)); mSettings = new StorageSettings(); when(mStorageManagerVolumeProvider.getVolumes()).thenReturn(mVolumes); } @Test public void updateSummary_shouldDisplayUsedPercentAndFreeSpace() { final SummaryLoader loader = mock(SummaryLoader.class); final SummaryLoader.SummaryProvider provider = StorageSettings.SUMMARY_PROVIDER_FACTORY.createSummaryProvider(mActivity, loader); final VolumeInfo volumeInfo = mVolumes.get(0); when(volumeInfo.getType()).thenReturn(VolumeInfo.TYPE_PRIVATE); when(volumeInfo.getPath().getTotalSpace()).thenReturn(500L); when(volumeInfo.getPath().getFreeSpace()).thenReturn(0L); ReflectionHelpers.setField( provider, "mStorageManagerVolumeProvider", mStorageManagerVolumeProvider); ReflectionHelpers.setField(provider, "mContext", RuntimeEnvironment.application); provider.setListening(true); final String percentage = NumberFormat.getPercentInstance().format(1); final String freeSpace = Formatter.formatFileSize(RuntimeEnvironment.application, 0); verify(loader).setSummary(provider, RuntimeEnvironment.application.getString( R.string.storage_summary, percentage, freeSpace)); } } Loading
res/values/strings.xml +1 −1 Original line number Diff line number Diff line Loading @@ -7413,7 +7413,7 @@ <string name="apps_summary_example">24 apps installed</string> <!-- Summary of storage usage [CHAR LIMIT=NONE] --> <string name="storage_summary"><xliff:g id="size1" example="8GB">%1$s</xliff:g> of <xliff:g id="size2" example="32GB">%2$s</xliff:g> used</string> <string name="storage_summary"><xliff:g id="percentage" example="54%">%1$s</xliff:g> used - <xliff:g id="free_space" example="32GB">%2$s</xliff:g> free</string> <!-- Summary of display with screen sleep timeout [CHAR LIMIT=NONE] --> <string name="display_summary">Sleep after <xliff:g id="timeout_description" example="10 minutes">%1$s</xliff:g> of inactivity</string>
src/com/android/settings/deviceinfo/StorageSettings.java +10 −8 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.settings.deviceinfo; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.app.DialogFragment; import android.app.Fragment; import android.content.Context; import android.content.DialogInterface; Loading Loading @@ -59,10 +58,10 @@ import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider; import com.android.settingslib.drawer.SettingsDrawerActivity; import java.io.File; import java.text.NumberFormat; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; Loading Loading @@ -513,10 +512,13 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index private static class SummaryProvider implements SummaryLoader.SummaryProvider { private final Context mContext; private final SummaryLoader mLoader; private final StorageManagerVolumeProvider mStorageManagerVolumeProvider; private SummaryProvider(Context context, SummaryLoader loader) { mContext = context; mLoader = loader; final StorageManager storageManager = mContext.getSystemService(StorageManager.class); mStorageManagerVolumeProvider = new StorageManagerVolumeProvider(storageManager); } @Override Loading @@ -528,13 +530,13 @@ public class StorageSettings extends SettingsPreferenceFragment implements Index private void updateSummary() { // TODO: Register listener. final StorageManager storageManager = mContext.getSystemService(StorageManager.class); PrivateStorageInfo info = PrivateStorageInfo.getPrivateStorageInfo( new StorageManagerVolumeProvider(storageManager)); long privateUsedBytes = info.totalBytes - info.freeBytes; final NumberFormat percentageFormat = NumberFormat.getPercentInstance(); final PrivateStorageInfo info = PrivateStorageInfo.getPrivateStorageInfo( mStorageManagerVolumeProvider); double privateUsedBytes = info.totalBytes - info.freeBytes; mLoader.setSummary(this, mContext.getString(R.string.storage_summary, Formatter.formatFileSize(mContext, privateUsedBytes), Formatter.formatFileSize(mContext, info.totalBytes))); percentageFormat.format(privateUsedBytes / info.totalBytes), Formatter.formatFileSize(mContext, info.freeBytes))); } } Loading
tests/robotests/src/com/android/settings/deviceinfo/SerialNumberPreferenceControllerTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.content.Context; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceScreen; import com.android.settings.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import org.junit.Before; Loading @@ -27,7 +28,6 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; import static com.google.common.truth.Truth.assertThat; Loading @@ -39,7 +39,7 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @RunWith(RobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) public class SerialNumberPreferenceControllerTest { Loading
tests/robotests/src/com/android/settings/deviceinfo/StorageSettingsTest.java 0 → 100644 +92 −0 Original line number Diff line number Diff line /* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.deviceinfo; import android.app.Activity; import android.icu.text.NumberFormat; import android.os.storage.VolumeInfo; import android.text.format.Formatter; import com.android.settings.R; import com.android.settings.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.dashboard.SummaryLoader; import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.util.ReflectionHelpers; import java.util.ArrayList; import java.util.List; import static org.mockito.Mockito.RETURNS_DEEP_STUBS; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) public class StorageSettingsTest { @Mock private StorageManagerVolumeProvider mStorageManagerVolumeProvider; @Mock private Activity mActivity; private List<VolumeInfo> mVolumes; private StorageSettings mSettings; @Before public void setUp() { MockitoAnnotations.initMocks(this); mVolumes = new ArrayList<>(); mVolumes.add(mock(VolumeInfo.class, RETURNS_DEEP_STUBS)); mSettings = new StorageSettings(); when(mStorageManagerVolumeProvider.getVolumes()).thenReturn(mVolumes); } @Test public void updateSummary_shouldDisplayUsedPercentAndFreeSpace() { final SummaryLoader loader = mock(SummaryLoader.class); final SummaryLoader.SummaryProvider provider = StorageSettings.SUMMARY_PROVIDER_FACTORY.createSummaryProvider(mActivity, loader); final VolumeInfo volumeInfo = mVolumes.get(0); when(volumeInfo.getType()).thenReturn(VolumeInfo.TYPE_PRIVATE); when(volumeInfo.getPath().getTotalSpace()).thenReturn(500L); when(volumeInfo.getPath().getFreeSpace()).thenReturn(0L); ReflectionHelpers.setField( provider, "mStorageManagerVolumeProvider", mStorageManagerVolumeProvider); ReflectionHelpers.setField(provider, "mContext", RuntimeEnvironment.application); provider.setListening(true); final String percentage = NumberFormat.getPercentInstance().format(1); final String freeSpace = Formatter.formatFileSize(RuntimeEnvironment.application, 0); verify(loader).setSummary(provider, RuntimeEnvironment.application.getString( R.string.storage_summary, percentage, freeSpace)); } }