Wimax : 4G settings menu and 4G MAC address.
1. Show the 4G menu.
2. Show the 4G MAC address
3. Execute 4G setting apk.
Change-Id: I14adc4775d35afe3398ddba4fd91c739011a06fa
Signed-off-by: tk.mun <tk.mun@samsung.com>
bug:5486930
diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java
index 0ed781f..13f6902 100644
--- a/src/com/android/settings/WirelessSettings.java
+++ b/src/com/android/settings/WirelessSettings.java
@@ -43,6 +43,7 @@
private static final String KEY_TOGGLE_AIRPLANE = "toggle_airplane";
private static final String KEY_TOGGLE_NFC = "toggle_nfc";
+ private static final String KEY_WIMAX_SETTINGS = "wimax_settings";
private static final String KEY_ANDROID_BEAM_SETTINGS = "android_beam_settings";
private static final String KEY_VPN_SETTINGS = "vpn_settings";
private static final String KEY_TOGGLE_WIFI_P2P = "toggle_wifi_p2p";
@@ -109,6 +110,20 @@
String toggleable = Settings.System.getString(activity.getContentResolver(),
Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS);
+ //enable/disable wimax depending on the value in config.xml
+ boolean isWimaxEnabled = this.getResources().getBoolean(
+ com.android.internal.R.bool.config_wimaxEnabled);
+ if (!isWimaxEnabled) {
+ PreferenceScreen root = getPreferenceScreen();
+ Preference ps = (Preference) findPreference(KEY_WIMAX_SETTINGS);
+ if (ps != null) root.removePreference(ps);
+ } else {
+ if (toggleable == null || !toggleable.contains(Settings.System.RADIO_WIMAX )
+ && isWimaxEnabled) {
+ Preference ps = (Preference) findPreference(KEY_WIMAX_SETTINGS);
+ ps.setDependency(KEY_TOGGLE_AIRPLANE);
+ }
+ }
// Manually set dependencies for Wifi when not toggleable.
if (toggleable == null || !toggleable.contains(Settings.System.RADIO_WIFI)) {
findPreference(KEY_VPN_SETTINGS).setDependency(KEY_TOGGLE_AIRPLANE);
diff --git a/src/com/android/settings/deviceinfo/Status.java b/src/com/android/settings/deviceinfo/Status.java
index d7116c1..c315acd 100644
--- a/src/com/android/settings/deviceinfo/Status.java
+++ b/src/com/android/settings/deviceinfo/Status.java
@@ -22,6 +22,8 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Resources;
+import android.net.ConnectivityManager;
+import android.net.NetworkInfo;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.BatteryManager;
@@ -33,6 +35,7 @@
import android.os.SystemProperties;
import android.preference.Preference;
import android.preference.PreferenceActivity;
+import android.preference.PreferenceScreen;
import android.telephony.PhoneNumberUtils;
import android.telephony.PhoneStateListener;
import android.telephony.ServiceState;
@@ -83,7 +86,7 @@
private static final String KEY_BT_ADDRESS = "bt_address";
private static final String KEY_SERIAL_NUMBER = "serial_number";
private static final String KEY_ICC_ID = "icc_id";
-
+ private static final String KEY_WIMAX_MAC_ADDRESS = "wimax_mac_address";
private static final String[] PHONE_RELATED_ENTRIES = {
KEY_DATA_STATE,
KEY_SERVICE_STATE,
@@ -248,6 +251,7 @@
mPhoneStateReceiver.notifyServiceState(EVENT_SERVICE_STATE_CHANGED);
}
+ setWimaxStatus();
setWifiStatus();
setBtStatus();
setIpAddressStatus();
@@ -409,6 +413,21 @@
}
}
+ private void setWimaxStatus() {
+ ConnectivityManager cm = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
+ NetworkInfo ni = cm.getNetworkInfo(ConnectivityManager.TYPE_WIMAX);
+
+ if (ni == null) {
+ PreferenceScreen root = getPreferenceScreen();
+ Preference ps = (Preference) findPreference(KEY_WIMAX_MAC_ADDRESS);
+ if (ps != null) root.removePreference(ps);
+ } else {
+ Preference wimaxMacAddressPref = findPreference(KEY_WIMAX_MAC_ADDRESS);
+ String macAddress = SystemProperties.get("net.wimax.mac.address",
+ getString(R.string.status_unavailable));
+ wimaxMacAddressPref.setSummary(macAddress);
+ }
+ }
private void setWifiStatus() {
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();