summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Joe Onorato <joeo@google.com> 2010-12-01 17:37:00 -0800
committer Joe Onorato <joeo@google.com> 2010-12-02 16:52:14 -0800
commit355ebc09d2354795ff674d65eb09d4fee0ddb402 (patch)
tree759a97d2f1531ae71e0f7613723d46f6d1296441
parent9d5055a2bcb231ea13e8da8f64bd93398f04225e (diff)
Show the operator or wifi ssid in the status bar panel.
Change-Id: Ia2983bce35c5f2ab706995777c80e96cc9a4c2ae
-rw-r--r--packages/SystemUI/res/values-xlarge/strings.xml36
-rw-r--r--packages/SystemUI/res/values/strings.xml3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java48
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);
}