set Default country code to be persistent
1. on receiving WifiManager#setDefaultCountryCode(String)
store the default country code in config store.
2. When framework set default country code in driver/fw, set the persistent country code
if available (from config store) else set the country code
from system property ro.boot.wificountrycode.
Bug: 140008208
Test: atest com.android.server.wifi.WifiCountryCodeTest#setDefaultCountryCode
Test: Manual - Set the default country code by calling WifiManager#setDefaultCountryCode(String)
via cts test & confirmed that wifi_default_country_code entry in WifiConfigStore.xml is updated.
Change-Id: I41a1bc8a16b479199a84d0ab2fb1b715662bf89e
diff --git a/service/java/com/android/server/wifi/WifiSettingsConfigStore.java b/service/java/com/android/server/wifi/WifiSettingsConfigStore.java
index 444359b..23d7f6c 100644
--- a/service/java/com/android/server/wifi/WifiSettingsConfigStore.java
+++ b/service/java/com/android/server/wifi/WifiSettingsConfigStore.java
@@ -94,6 +94,12 @@
public static final Key<String> WIFI_STA_FACTORY_MAC_ADDRESS =
new Key<>("wifi_sta_factory_mac_address", null);
+ /**
+ * Store the default country code updated via {@link WifiManager#setDefaultCountryCode(String)}
+ */
+ public static final Key<String> WIFI_DEFAULT_COUNTRY_CODE =
+ new Key<>("wifi_default_country_code", WifiCountryCode.getOemDefaultCountryCode());
+
/******** Wifi shared pref keys ***************/
private final Context mContext;