From 7f075a3c41f02d58bae10fb3f2b4a4ad8ada8967 Mon Sep 17 00:00:00 2001 From: Daniel Nishi Date: Thu, 8 Sep 2016 17:24:50 -0700 Subject: [PATCH] Use a config flag instead of a RO flag for showing Manage Storage. Bug: 30455784 Test: make SettingsTests; run the instrumentation. Change-Id: I860192c1c20fcaec2a5cbcdc085ff01dafa7351a --- res/values/config.xml | 3 ++ .../deviceinfo/PrivateVolumeSettings.java | 8 ++-- .../tests/PrivateVolumeSettingsTest.java | 43 +++++++++++++++++++ 3 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 tests/app/src/com/android/settings/tests/PrivateVolumeSettingsTest.java diff --git a/res/values/config.xml b/res/values/config.xml index c8ea17158f0..75d8697b9d4 100755 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -55,4 +55,7 @@ false + + false + diff --git a/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java b/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java index 428e472c1c8..7197a0866ae 100644 --- a/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java +++ b/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java @@ -30,7 +30,6 @@ import android.content.pm.PackageManager; import android.content.pm.UserInfo; import android.os.Bundle; import android.os.Environment; -import android.os.SystemProperties; import android.os.UserHandle; import android.os.UserManager; import android.os.storage.StorageEventListener; @@ -93,8 +92,6 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment { private static final String AUTHORITY_MEDIA = "com.android.providers.media.documents"; - private static final String STORAGE_MANAGER_PROPERTY = "ro.storage_manager.enabled"; - private static final int[] ITEMS_NO_SHOW_SHARED = new int[] { R.string.storage_detail_apps, R.string.storage_detail_system, @@ -218,7 +215,7 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment { screen.removeAll(); - if (SystemProperties.getBoolean(STORAGE_MANAGER_PROPERTY, false)) { + if (getResources().getBoolean(R.bool.config_storage_manager_settings_enabled)) { addPreference(screen, mAutomaticStorageManagement); } addPreference(screen, mSummary); @@ -410,7 +407,8 @@ public class PrivateVolumeSettings extends SettingsPreferenceFragment { mount.setVisible(false); unmount.setVisible(false); format.setVisible(false); - manage.setVisible(SystemProperties.getBoolean(STORAGE_MANAGER_PROPERTY, false)); + manage.setVisible(getResources().getBoolean( + R.bool.config_storage_manager_settings_enabled)); } else { rename.setVisible(mVolume.getType() == VolumeInfo.TYPE_PRIVATE); mount.setVisible(mVolume.getState() == VolumeInfo.STATE_UNMOUNTED); diff --git a/tests/app/src/com/android/settings/tests/PrivateVolumeSettingsTest.java b/tests/app/src/com/android/settings/tests/PrivateVolumeSettingsTest.java new file mode 100644 index 00000000000..6289f1b449a --- /dev/null +++ b/tests/app/src/com/android/settings/tests/PrivateVolumeSettingsTest.java @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2016 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.tests; + +import android.app.Instrumentation; +import android.content.Intent; +import android.support.test.InstrumentationRegistry; +import android.support.test.filters.SmallTest; +import android.support.test.runner.AndroidJUnit4; +import com.android.settings.Settings; +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; + +import static android.support.test.espresso.Espresso.onView; +import static android.support.test.espresso.assertion.ViewAssertions.doesNotExist; +import static android.support.test.espresso.assertion.ViewAssertions.matches; +import static android.support.test.espresso.matcher.ViewMatchers.withText; + +@RunWith(AndroidJUnit4.class) +@SmallTest +public class PrivateVolumeSettingsTest { + @Test + public void test_ManageStorageNotShown() { + Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation(); + instrumentation.startActivitySync( + new Intent(android.provider.Settings.ACTION_INTERNAL_STORAGE_SETTINGS)); + onView(withText(com.android.settings.R.string.storage_menu_manage)).check(doesNotExist()); + } +} \ No newline at end of file