OSDN Git Service

Add feature flag check for mainline module version.
authorDoris Ling <dling@google.com>
Wed, 30 Jan 2019 20:52:23 +0000 (12:52 -0800)
committerDoris Ling <dling@google.com>
Wed, 30 Jan 2019 20:52:23 +0000 (12:52 -0800)
- in about phone settings, only show the mainline module version if the
feature is enabled.

Bug: 122615240
Test: make RunSettingsRoboTests
Change-Id: If872859755dade7e601a47eb387d10c3b247d06e

src/com/android/settings/core/FeatureFlags.java
src/com/android/settings/deviceinfo/firmwareversion/ModuleVersionDialogController.java
tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/ModuleVersionDialogControllerTest.java

index 7f14c0d..d1c2fd5 100644 (file)
@@ -28,4 +28,5 @@ public class FeatureFlags {
     public static final String NETWORK_INTERNET_V2 = "settings_network_and_internet_v2";
     public static final String WIFI_SHARING = "settings_wifi_sharing";
     public static final String SLICE_INJECTION = "settings_slice_injection";
+    public static final String MAINLINE_MODULE = "settings_mainline_module";
 }
index d6fcc38..0dc953d 100644 (file)
@@ -19,9 +19,11 @@ package com.android.settings.deviceinfo.firmwareversion;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.text.TextUtils;
+import android.util.FeatureFlagUtils;
 import android.util.Log;
 
 import com.android.settings.R;
+import com.android.settings.core.FeatureFlags;
 
 import androidx.annotation.VisibleForTesting;
 
@@ -48,6 +50,11 @@ public class ModuleVersionDialogController {
      * Updates the mainline module version field of the dialog.
      */
     public void initialize() {
+        if (!FeatureFlagUtils.isEnabled(mContext, FeatureFlags.MAINLINE_MODULE)) {
+            mDialog.removeSettingFromScreen(MODULE_VERSION_LABEL_ID);
+            mDialog.removeSettingFromScreen(MODULE_VERSION_VALUE_ID);
+            return;
+        }
         final String moduleProvider = mContext.getString(
             com.android.internal.R.string.config_defaultModuleMetadataProvider);
         if (!TextUtils.isEmpty(moduleProvider)) {
index e5958aa..b84ea99 100644 (file)
@@ -25,6 +25,9 @@ import static org.mockito.Mockito.when;
 import android.content.Context;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
+import android.util.FeatureFlagUtils;
+
+import com.android.settings.core.FeatureFlags;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -52,6 +55,17 @@ public class ModuleVersionDialogControllerTest {
         when(mDialog.getContext()).thenReturn(mContext);
         when(mContext.getPackageManager()).thenReturn(mPackageManager);
         mController = new ModuleVersionDialogController(mDialog);
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.MAINLINE_MODULE, true);
+    }
+
+    @Test
+    public void initialize_featureDisabled_shouldRemoveSettingFromDialog() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.MAINLINE_MODULE, false);
+
+        mController.initialize();
+
+        verify(mDialog).removeSettingFromScreen(mController.MODULE_VERSION_LABEL_ID);
+        verify(mDialog).removeSettingFromScreen(mController.MODULE_VERSION_VALUE_ID);
     }
 
     @Test