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;
}