Merge "Add feature flag check for mainline module version."
diff --git a/src/com/android/settings/core/FeatureFlags.java b/src/com/android/settings/core/FeatureFlags.java
index 7f14c0d..d1c2fd5 100644
--- a/src/com/android/settings/core/FeatureFlags.java
+++ b/src/com/android/settings/core/FeatureFlags.java
@@ -28,4 +28,5 @@
     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 d6fcc38..0dc953d 100644
--- a/src/com/android/settings/deviceinfo/firmwareversion/ModuleVersionDialogController.java
+++ b/src/com/android/settings/deviceinfo/firmwareversion/ModuleVersionDialogController.java
@@ -19,9 +19,11 @@
 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 @@
      * 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 e5958aa..b84ea99 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 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 @@
         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