diff options
| author | 2010-12-01 17:37:00 -0800 | |
|---|---|---|
| committer | 2010-12-02 16:52:14 -0800 | |
| commit | 355ebc09d2354795ff674d65eb09d4fee0ddb402 (patch) | |
| tree | 759a97d2f1531ae71e0f7613723d46f6d1296441 | |
| parent | 9d5055a2bcb231ea13e8da8f64bd93398f04225e (diff) | |
Show the operator or wifi ssid in the status bar panel.
Change-Id: Ia2983bce35c5f2ab706995777c80e96cc9a4c2ae
3 files changed, 51 insertions, 36 deletions
diff --git a/packages/SystemUI/res/values-xlarge/strings.xml b/packages/SystemUI/res/values-xlarge/strings.xml index e3e5148bcf4e..279a135ae703 100644 --- a/packages/SystemUI/res/values-xlarge/strings.xml +++ b/packages/SystemUI/res/values-xlarge/strings.xml @@ -26,44 +26,16 @@ <!-- Text to display underneath the graphical signal strength meter when no connection is available. [CHAR LIMIT=20] --> <string name="status_bar_settings_signal_meter_disconnected"> - no internet connection - </string> - - <!-- Text to display underneath the graphical signal strength meter when - it is displaying information about a connected, named Wi-Fi network. - [CHAR LIMIT=20] --> - <string name="status_bar_settings_signal_meter_wifi_ssid_format"> - <xliff:g id="ssid">%s</xliff:g> + No Internet connection </string> <!-- Text to display underneath the graphical signal strength meter when it is displaying Wi-Fi status and Wi-Fi is connected to a network whose SSID is not available. [CHAR LIMIT=20] --> - <string name="status_bar_settings_signal_meter_wifi_nossid"> - Wi-Fi: connected - </string> + <string name="status_bar_settings_signal_meter_wifi_nossid">Wi-Fi connected</string> - <!-- Text to display underneath the graphical signal strength meter when - it is displaying Wi-Fi status and Wi-Fi is in the process of - connecting to a network. [CHAR LIMIT=20] --> - <string name="status_bar_settings_signal_meter_wifi_connecting"> - Wi-Fi: connecting… - </string> - - <!-- Text to display underneath the graphical signal strength meter when - it is displaying mobile data (3G) status and a network connection is - available. - [CHAR LIMIT=20] --> - <string name="status_bar_settings_signal_meter_data_connected"> - Mobile data: connected - </string> + <!-- Separator for PLMN and SPN in network name. --> + <string name="status_bar_network_name_separator" translatable="false">" – "</string> - <!-- Text to display underneath the graphical signal strength meter when - it is displaying mobile data (3G) status and a network connection is - unavailable. - [CHAR LIMIT=20] --> - <string name="status_bar_settings_signal_meter_data_connecting"> - Mobile data: connecting… - </string> </resources> diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index ed31a3494469..f3ad9ff409ca 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -88,6 +88,9 @@ <xliff:g id="number">%d</xliff:g><xliff:g id="percent">%%</xliff:g> </string> + <!-- Separator for PLMN and SPN in network name. --> + <string name="status_bar_network_name_separator" translatable="false">"\n"</string> + <!-- Recent Tasks dialog: title [CHAR LIMIT=30] --> <string name="recent_tasks_title">Recent</string> <!-- Recent Tasks dialog: message when there are no recent applications [CHAR LIMIT=NONE]--> diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java index ec23a3d72017..1090463b1e13 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java @@ -32,6 +32,7 @@ import android.net.wifi.WifiManager; import android.os.Binder; import android.os.RemoteException; import android.provider.Settings; +import android.provider.Telephony; import android.telephony.PhoneStateListener; import android.telephony.ServiceState; import android.telephony.SignalStrength; @@ -65,6 +66,9 @@ public class NetworkController extends BroadcastReceiver { ServiceState mServiceState; SignalStrength mSignalStrength; int[] mDataIconList = TelephonyIcons.DATA_G[0]; + String mNetworkName; + String mNetworkNameDefault; + String mNetworkNameSeparator; int mPhoneSignalIconId; int mDataDirectionIconId; int mDataSignalIconId; @@ -116,7 +120,10 @@ public class NetworkController extends BroadcastReceiver { | PhoneStateListener.LISTEN_DATA_ACTIVITY); mHspaDataDistinguishable = mContext.getResources().getBoolean( R.bool.config_hspa_data_distinguishable); - + mNetworkNameSeparator = mContext.getString(R.string.status_bar_network_name_separator); + mNetworkNameDefault = mContext.getString( + com.android.internal.R.string.lockscreen_carrier_default); + mNetworkName = mNetworkNameDefault; // wifi mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); @@ -127,6 +134,9 @@ public class NetworkController extends BroadcastReceiver { filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); filter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED); + filter.addAction(Telephony.Intents.SPN_STRINGS_UPDATED_ACTION); + filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); + filter.addAction(ConnectivityManager.INET_CONDITION_ACTION); context.registerReceiver(this, filter); // yuck @@ -168,6 +178,12 @@ public class NetworkController extends BroadcastReceiver { updateSimState(intent); updateDataIcon(); refreshViews(); + } else if (action.equals(Telephony.Intents.SPN_STRINGS_UPDATED_ACTION)) { + updateNetworkName(intent.getBooleanExtra(Telephony.Intents.EXTRA_SHOW_SPN, false), + intent.getStringExtra(Telephony.Intents.EXTRA_SPN), + intent.getBooleanExtra(Telephony.Intents.EXTRA_SHOW_PLMN, false), + intent.getStringExtra(Telephony.Intents.EXTRA_PLMN)); + refreshViews(); } else if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION) || action.equals(ConnectivityManager.INET_CONDITION_ACTION)) { updateConnectivity(intent); @@ -516,6 +532,31 @@ public class NetworkController extends BroadcastReceiver { mDataConnected = visible; } + void updateNetworkName(boolean showSpn, String spn, boolean showPlmn, String plmn) { + if (false) { + Slog.d("CarrierLabel", "updateNetworkName showSpn=" + showSpn + " spn=" + spn + + " showPlmn=" + showPlmn + " plmn=" + plmn); + } + StringBuilder str = new StringBuilder(); + boolean something = false; + if (showPlmn && plmn != null) { + str.append(plmn); + something = true; + } + if (showSpn && spn != null) { + if (something) { + str.append(mNetworkNameSeparator); + } + str.append(spn); + something = true; + } + if (something) { + mNetworkName = str.toString(); + } else { + mNetworkName = mNetworkNameDefault; + } + } + // ===== Wifi =================================================================== private void updateWifiState(Intent intent) { @@ -618,14 +659,13 @@ public class NetworkController extends BroadcastReceiver { if (mWifiSsid == null) { label = context.getString(R.string.status_bar_settings_signal_meter_wifi_nossid); } else { - label = context.getString(R.string.status_bar_settings_signal_meter_wifi_ssid_format, - mWifiSsid); + label = mWifiSsid; } combinedSignalIconId = mWifiIconId; dataTypeIconId = 0; } else { if (mDataConnected) { - label = context.getString(R.string.status_bar_settings_signal_meter_data_connected); + label = mNetworkName; } else { label = context.getString(R.string.status_bar_settings_signal_meter_disconnected); } |