DO NOT MERGE WiMAX settings menu

1. Show the 4G menu.
2. Show the 4G MAC address
3. Execute 4G setting apk.

Change-Id: Id9d5551e5bfdb7d79279de42b36ec0ebccdf6099
Signed-off-by: TK MUN <tk.mun@samsung.com>
This commit is contained in:
TK MUN
2011-02-23 18:57:38 +09:00
committed by Simon Wilson
parent f4393101f8
commit 36469186b7
6 changed files with 76 additions and 3 deletions

View File

@@ -24,6 +24,8 @@
<uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER" /> <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER" />
<uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.ACCESS_WIMAX_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIMAX_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
@@ -86,6 +88,19 @@
<!-- Top-level settings --> <!-- Top-level settings -->
<activity android:name=".wimax.WimaxSettings" android:label="@string/wimax_settings"
android:clearTaskOnLaunch="true"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.WIMAX_SETTINGS" />
<action android:name="android.net.wimax.PICK_WIMAX_NETWORK" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
</activity>
<activity android:name=".wifi.WifiSettings" <activity android:name=".wifi.WifiSettings"
android:label="@string/wifi_settings" android:label="@string/wifi_settings"
android:configChanges="orientation|keyboardHidden" android:configChanges="orientation|keyboardHidden"

View File

@@ -2649,4 +2649,8 @@ found in the list of installed applications.</string>
<string name="sound_category_calls_title">Incoming calls</string> <string name="sound_category_calls_title">Incoming calls</string>
<string name="sound_category_notification_title">Notifications</string> <string name="sound_category_notification_title">Notifications</string>
<string name="sound_category_feedback_title">Feedback</string> <string name="sound_category_feedback_title">Feedback</string>
<string name="wimax_settings">4G settings</string>
<string name="wimax_settings_summary">Set up &amp; manage 4G network and modem</string>
<string name="status_wimax_mac_address">4G MAC address</string>
</resources> </resources>

View File

@@ -90,6 +90,11 @@
android:title="@string/status_imei_sv" android:title="@string/status_imei_sv"
android:summary="@string/device_info_not_available" android:summary="@string/device_info_not_available"
android:persistent="false" /> android:persistent="false" />
<Preference android:key="wimax_mac_address"
style="?android:attr/preferenceInformationStyle"
android:title="@string/status_wimax_mac_address"
android:summary="@string/device_info_not_available"
android:persistent="false" />
<Preference android:key="wifi_mac_address" <Preference android:key="wifi_mac_address"
style="?android:attr/preferenceInformationStyle" style="?android:attr/preferenceInformationStyle"
android:title="@string/status_wifi_mac_address" android:title="@string/status_wifi_mac_address"

View File

@@ -40,6 +40,16 @@
android:targetClass="com.android.settings.wifi.WifiSettings" /> android:targetClass="com.android.settings.wifi.WifiSettings" />
</PreferenceScreen> </PreferenceScreen>
<PreferenceScreen
android:key="wimax_settings"
android:title="@string/wimax_settings"
android:summary="@string/wimax_settings_summary" >
<intent
android:action="android.intent.action.MAIN"
android:targetPackage="com.android.settings.wimax"
android:targetClass="com.android.settings.wimax.WimaxSettings" />
</PreferenceScreen>
<CheckBoxPreference <CheckBoxPreference
android:key="toggle_bluetooth" android:key="toggle_bluetooth"
android:title="@string/bluetooth_quick_toggle_title" android:title="@string/bluetooth_quick_toggle_title"

View File

@@ -42,6 +42,7 @@ public class WirelessSettings extends PreferenceActivity {
private static final String KEY_TOGGLE_WIFI = "toggle_wifi"; private static final String KEY_TOGGLE_WIFI = "toggle_wifi";
private static final String KEY_TOGGLE_NFC = "toggle_nfc"; private static final String KEY_TOGGLE_NFC = "toggle_nfc";
private static final String KEY_WIFI_SETTINGS = "wifi_settings"; private static final String KEY_WIFI_SETTINGS = "wifi_settings";
private static final String KEY_WIMAX_SETTINGS = "wimax_settings";
private static final String KEY_BT_SETTINGS = "bt_settings"; private static final String KEY_BT_SETTINGS = "bt_settings";
private static final String KEY_VPN_SETTINGS = "vpn_settings"; private static final String KEY_VPN_SETTINGS = "vpn_settings";
private static final String KEY_TETHER_SETTINGS = "tether_settings"; private static final String KEY_TETHER_SETTINGS = "tether_settings";
@@ -104,6 +105,22 @@ public class WirelessSettings extends PreferenceActivity {
String toggleable = Settings.System.getString(getContentResolver(), String toggleable = Settings.System.getString(getContentResolver(),
Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS); 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. // Manually set dependencies for Wifi when not toggleable.
if (toggleable == null || !toggleable.contains(Settings.System.RADIO_WIFI)) { if (toggleable == null || !toggleable.contains(Settings.System.RADIO_WIFI)) {
wifi.setDependency(KEY_TOGGLE_AIRPLANE); wifi.setDependency(KEY_TOGGLE_AIRPLANE);

View File

@@ -22,6 +22,8 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.content.res.Resources; import android.content.res.Resources;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.WifiInfo; import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager; import android.net.wifi.WifiManager;
import android.os.BatteryManager; import android.os.BatteryManager;
@@ -32,6 +34,7 @@ import android.os.SystemClock;
import android.os.SystemProperties; import android.os.SystemProperties;
import android.preference.Preference; import android.preference.Preference;
import android.preference.PreferenceActivity; import android.preference.PreferenceActivity;
import android.preference.PreferenceScreen;
import android.telephony.PhoneNumberUtils; import android.telephony.PhoneNumberUtils;
import android.telephony.PhoneStateListener; import android.telephony.PhoneStateListener;
import android.telephony.ServiceState; import android.telephony.ServiceState;
@@ -62,6 +65,7 @@ import java.lang.ref.WeakReference;
*/ */
public class Status extends PreferenceActivity { public class Status extends PreferenceActivity {
private static final String KEY_WIMAX_MAC_ADDRESS = "wimax_mac_address";
private static final String KEY_WIFI_MAC_ADDRESS = "wifi_mac_address"; private static final String KEY_WIFI_MAC_ADDRESS = "wifi_mac_address";
private static final String KEY_BT_ADDRESS = "bt_address"; private static final String KEY_BT_ADDRESS = "bt_address";
private static final int EVENT_SIGNAL_STRENGTH_CHANGED = 200; private static final int EVENT_SIGNAL_STRENGTH_CHANGED = 200;
@@ -234,6 +238,7 @@ public class Status extends PreferenceActivity {
mPhoneStateReceiver.notifySignalStrength(EVENT_SIGNAL_STRENGTH_CHANGED); mPhoneStateReceiver.notifySignalStrength(EVENT_SIGNAL_STRENGTH_CHANGED);
mPhoneStateReceiver.notifyServiceState(EVENT_SERVICE_STATE_CHANGED); mPhoneStateReceiver.notifyServiceState(EVENT_SERVICE_STATE_CHANGED);
setWimaxStatus();
setWifiStatus(); setWifiStatus();
setBtStatus(); setBtStatus();
} }
@@ -373,6 +378,23 @@ public class Status extends PreferenceActivity {
} }
} }
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() { private void setWifiStatus() {
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo(); WifiInfo wifiInfo = wifiManager.getConnectionInfo();