Merge "Update feature flag dashboard UI to display all features"
diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java
index f99b894..74ce5d0 100644
--- a/src/com/android/settings/DeviceInfoSettings.java
+++ b/src/com/android/settings/DeviceInfoSettings.java
@@ -84,7 +84,7 @@
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
         final Bundle arguments = getArguments();
-        if (FeatureFlagUtils.isEnabled(getContext(), DEVICE_INFO_V2) || true) {
+        if (FeatureFlagUtils.isEnabled(getContext(), DEVICE_INFO_V2)) {
             // Do not override initial expand children count if we come from
             // search (EXTRA_FRAGMENT_ARG_KEY is set) - we need to display every if entry point
             // is search.
@@ -119,7 +119,7 @@
 
     @Override
     protected int getPreferenceScreenResId() {
-        return FeatureFlagUtils.isEnabled(getContext(), DEVICE_INFO_V2) || true
+        return FeatureFlagUtils.isEnabled(getContext(), DEVICE_INFO_V2)
                 ? R.xml.device_info_settings_v2 : R.xml.device_info_settings;
     }
 
@@ -156,7 +156,7 @@
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
             Activity activity, Fragment fragment, Lifecycle lifecycle) {
-        if (FeatureFlagUtils.isEnabled(context, DEVICE_INFO_V2) || true) {
+        if (FeatureFlagUtils.isEnabled(context, DEVICE_INFO_V2)) {
             final List<AbstractPreferenceController> controllers = new ArrayList<>();
             // Device name
 
@@ -220,7 +220,7 @@
                 public List<SearchIndexableResource> getXmlResourcesToIndex(
                         Context context, boolean enabled) {
                     final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = FeatureFlagUtils.isEnabled(context, DEVICE_INFO_V2) || true
+                    sir.xmlResId = FeatureFlagUtils.isEnabled(context, DEVICE_INFO_V2)
                             ? R.xml.device_info_settings_v2 : R.xml.device_info_settings;
                     return Arrays.asList(sir);
                 }
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
index 4f4753a..3fc2fb2 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
@@ -92,7 +92,7 @@
     }
 
     private static boolean isV2Enabled(Context context) {
-        return FeatureFlagUtils.isEnabled(context, SUGGESTIONS_V2) || true;
+        return FeatureFlagUtils.isEnabled(context, SUGGESTIONS_V2);
     }
 
     @Override
diff --git a/src/com/android/settings/development/featureflags/FeatureFlagsPreferenceController.java b/src/com/android/settings/development/featureflags/FeatureFlagsPreferenceController.java
index 7c00591..fe565ed 100644
--- a/src/com/android/settings/development/featureflags/FeatureFlagsPreferenceController.java
+++ b/src/com/android/settings/development/featureflags/FeatureFlagsPreferenceController.java
@@ -17,7 +17,6 @@
 package com.android.settings.development.featureflags;
 
 import android.content.Context;
-import android.support.v7.preference.Preference;
 import android.support.v7.preference.PreferenceScreen;
 import android.util.FeatureFlagUtils;
 
@@ -68,14 +67,8 @@
         }
         mScreen.removeAll();
         final Context prefContext = mScreen.getContext();
-        for (String prefixedFeature : featureMap.keySet()) {
-            if (prefixedFeature.startsWith(FeatureFlagUtils.FFLAG_PREFIX)
-                    && !prefixedFeature.startsWith(FeatureFlagUtils.FFLAG_OVERRIDE_PREFIX)) {
-                final String feature = prefixedFeature.substring(
-                        FeatureFlagUtils.FFLAG_PREFIX.length());
-                final Preference pref = new FeatureFlagPreference(prefContext, feature);
-                mScreen.addPreference(pref);
-            }
+        for (String feature : featureMap.keySet()) {
+            mScreen.addPreference(new FeatureFlagPreference(prefContext, feature));
         }
     }
 }
diff --git a/src/com/android/settings/deviceinfo/DeviceModelPreferenceController.java b/src/com/android/settings/deviceinfo/DeviceModelPreferenceController.java
index 89df7cc..7934ad7 100644
--- a/src/com/android/settings/deviceinfo/DeviceModelPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/DeviceModelPreferenceController.java
@@ -51,7 +51,7 @@
         super.displayPreference(screen);
         final Preference pref = screen.findPreference(KEY_DEVICE_MODEL);
         if (pref != null) {
-            if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.DEVICE_INFO_V2) || true) {
+            if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.DEVICE_INFO_V2)) {
                 pref.setSummary(mContext.getResources().getString(R.string.model_summary,
                         getDeviceModel()));
             } else {
diff --git a/src/com/android/settings/deviceinfo/HardwareInfoDialogFragment.java b/src/com/android/settings/deviceinfo/HardwareInfoDialogFragment.java
index d1c6447..26f1ac2 100644
--- a/src/com/android/settings/deviceinfo/HardwareInfoDialogFragment.java
+++ b/src/com/android/settings/deviceinfo/HardwareInfoDialogFragment.java
@@ -59,7 +59,7 @@
                 DeviceModelPreferenceController.getDeviceModel());
 
         // Serial number
-        if (FeatureFlagUtils.isEnabled(getContext(), FeatureFlags.DEVICE_INFO_V2) || true) {
+        if (FeatureFlagUtils.isEnabled(getContext(), FeatureFlags.DEVICE_INFO_V2)) {
             setText(content, R.id.serial_number_label, R.id.serial_number_value, getSerialNumber());
         } else {
             content.findViewById(R.id.serial_number_label).setVisibility(View.GONE);
diff --git a/tests/robotests/src/com/android/settings/DeviceInfoSettingsTest.java b/tests/robotests/src/com/android/settings/DeviceInfoSettingsTest.java
index 78f5bdf..486993d 100644
--- a/tests/robotests/src/com/android/settings/DeviceInfoSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/DeviceInfoSettingsTest.java
@@ -94,7 +94,12 @@
     }
 
     @Test
+    @Config(shadows = {
+            SettingsShadowSystemProperties.class
+    })
     public void getPrefXml_shouldReturnDeviceInfoXml() {
+        SystemProperties.set(FeatureFlagUtils.FFLAG_OVERRIDE_PREFIX + FeatureFlags.DEVICE_INFO_V2,
+                "true");
         assertThat(mSettings.getPreferenceScreenResId()).isEqualTo(R.xml.device_info_settings_v2);
     }
 
diff --git a/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPreferenceControllerTest.java
index e505d03..f831506 100644
--- a/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPreferenceControllerTest.java
@@ -21,6 +21,7 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.atLeastOnce;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -70,6 +71,6 @@
         mLifecycle.handleLifecycleEvent(ON_START);
 
         verify(mScreen).removeAll();
-        verify(mScreen).addPreference(any(FeatureFlagPreference.class));
+        verify(mScreen, atLeastOnce()).addPreference(any(FeatureFlagPreference.class));
     }
 }
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/DeviceModelPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/DeviceModelPreferenceControllerTest.java
index 1c8bde1..347ca3a 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/DeviceModelPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/DeviceModelPreferenceControllerTest.java
@@ -26,12 +26,16 @@
 
 import android.app.Fragment;
 import android.content.Context;
+import android.os.SystemProperties;
 import android.support.v7.preference.Preference;
 import android.support.v7.preference.PreferenceScreen;
+import android.util.FeatureFlagUtils;
 
 import com.android.settings.R;
 import com.android.settings.TestConfig;
+import com.android.settings.core.FeatureFlags;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settings.testutils.shadow.SettingsShadowSystemProperties;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -72,7 +76,12 @@
     }
 
     @Test
+    @Config(shadows = {
+            SettingsShadowSystemProperties.class
+    })
     public void displayPref_shouldSetSummary() {
+        SystemProperties.set(FeatureFlagUtils.FFLAG_OVERRIDE_PREFIX + FeatureFlags.DEVICE_INFO_V2,
+                "true");
         mController.displayPreference(mPreferenceScreen);
 
         verify(mPreference).setSummary(mContext.getResources().getString(R.string.model_summary,