From: Doris Ling Date: Wed, 30 Jan 2019 20:52:23 +0000 (-0800) Subject: Add feature flag check for mainline module version. X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=f5fd5c4985eb595d9a185a61d1440588ba8e404a;p=android-x86%2Fpackages-apps-Settings.git Add feature flag check for mainline module version. - in about phone settings, only show the mainline module version if the feature is enabled. Bug: 122615240 Test: make RunSettingsRoboTests Change-Id: If872859755dade7e601a47eb387d10c3b247d06e --- diff --git a/src/com/android/settings/core/FeatureFlags.java b/src/com/android/settings/core/FeatureFlags.java index 7f14c0d8e2..d1c2fd51de 100644 --- a/src/com/android/settings/core/FeatureFlags.java +++ b/src/com/android/settings/core/FeatureFlags.java @@ -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"; } diff --git a/src/com/android/settings/deviceinfo/firmwareversion/ModuleVersionDialogController.java b/src/com/android/settings/deviceinfo/firmwareversion/ModuleVersionDialogController.java index d6fcc38bf7..0dc953d159 100644 --- a/src/com/android/settings/deviceinfo/firmwareversion/ModuleVersionDialogController.java +++ b/src/com/android/settings/deviceinfo/firmwareversion/ModuleVersionDialogController.java @@ -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)) { diff --git a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/ModuleVersionDialogControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/ModuleVersionDialogControllerTest.java index e5958aab55..b84ea99d07 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/ModuleVersionDialogControllerTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/ModuleVersionDialogControllerTest.java @@ -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