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
This commit is contained in:
tk.mun
2011-10-13 22:56:18 +09:00
committed by Robert Greenwalt
parent 815c7a042d
commit 7c5c16565e
8 changed files with 66 additions and 2 deletions

View File

@@ -25,6 +25,8 @@
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<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.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

View File

@@ -22,4 +22,7 @@
<!-- Whether the power control widget is enabled for this device. Should be overridden for
specific product builds. -->
<bool name="has_powercontrol_widget">true</bool>
<!-- Display additional System Update menu if true -->
<bool name="config_additional_system_update_setting_enable">false</bool>
</resources>

View File

@@ -19,4 +19,7 @@
<!-- If false, MIN is displayed. If true, MSID is displayed. -->
<bool name="config_msid_enable" translatable="false">false</bool>
<string name="additional_system_update" translatable="false"></string>
<string name="additional_system_update_menu" translatable="false"></string>
</resources>

View File

@@ -3431,6 +3431,9 @@ found in the list of installed apps.</string>
<!-- Messaage shown in dialog when you can't manually sync -->
<string name="cant_sync_dialog_message">Sync for this item is currently disabled. To change this setting, temporarily turn on background data and automatic sync.</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>
<!-- This is displayed to the user when the device needs to be decrypted -->
<string name="enter_password">Type password to decrypt storage</string>
<!-- This is displayed when the password is entered incorrectly -->
@@ -3764,4 +3767,9 @@ found in the list of installed apps.</string>
<!-- Representation of a numerical percentage. [CHAR LIMIT=8] -->
<string name="percentage"><xliff:g id="number" example="30">%d</xliff:g>%%</string>
<!-- A menu item in "About phone" that allows the user to update the phone with settings
from their cell phone carrier. The use of the string is similar to the string
"system_update_settings_list_item_title" in this project. [CHAR LIMIT=25] -->
<string name="additional_system_update_settings_list_item_title">Additional system updates</string>
</resources>

View File

@@ -120,5 +120,9 @@
android:title="@string/status_up_time"
android:summary="@string/device_info_not_available"
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" />
</PreferenceScreen>

View File

@@ -33,6 +33,16 @@
android:key="tether_settings"
android:title="@string/tether_settings_title_all" />
<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
android:key="toggle_nfc"
android:title="@string/nfc_quick_toggle_title"

View File

@@ -43,6 +43,7 @@ public class WirelessSettings extends SettingsPreferenceFragment {
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 @@ public class WirelessSettings extends SettingsPreferenceFragment {
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);

View File

@@ -22,6 +22,8 @@ import android.content.Context;
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.SystemClock;
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 @@ public class Status extends PreferenceActivity {
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 @@ public class Status extends PreferenceActivity {
mPhoneStateReceiver.notifyServiceState(EVENT_SERVICE_STATE_CHANGED);
}
setWimaxStatus();
setWifiStatus();
setBtStatus();
setIpAddressStatus();
@@ -409,6 +413,21 @@ 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() {
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();