Allow shell to set merged flag on Non enterprise config

Bug: 188233722
Test: build
Change-Id: If6d440d8f88fef6d1c0f9958210fc74591de5069
diff --git a/service/java/com/android/server/wifi/WifiShellCommand.java b/service/java/com/android/server/wifi/WifiShellCommand.java
index ea2713e..8bc7810 100644
--- a/service/java/com/android/server/wifi/WifiShellCommand.java
+++ b/service/java/com/android/server/wifi/WifiShellCommand.java
@@ -1109,7 +1109,7 @@
                 }
             } else if (option.equals("-a")) {
                 if (SdkLevel.isAtLeastS()) {
-                    suggestionBuilder.setCarrierMerged(true);
+                    isCarrierMerged = true;
                 } else {
                     throw new IllegalArgumentException("-a option is not supported before S");
                 }
@@ -1132,6 +1132,14 @@
             option = getNextOption();
         }
         WifiNetworkSuggestion suggestion = suggestionBuilder.build();
+        if (isCarrierMerged) {
+            if (suggestion.wifiConfiguration.subscriptionId
+                    == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+                pw.println("Carrier merged network must have valid subscription Id");
+                return null;
+            }
+            suggestion.wifiConfiguration.carrierMerged = true;
+        }
         return suggestion;
     }