From 33e21fcc99dd91061ea245984c4e9a1544cb943f Mon Sep 17 00:00:00 2001 From: John Wang Date: Thu, 8 Oct 2009 10:35:27 -0700 Subject: [PATCH] Control H icon display in Status bar. Bug 2138275. Add a config setting to control if status bar should show different icons for UMTS and HSPA connnection. --- core/res/res/values/config.xml | 2 ++ .../android/server/status/StatusBarPolicy.java | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 9040edb7a58c2..6fd7657979023 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -158,4 +158,6 @@ false + + false diff --git a/services/java/com/android/server/status/StatusBarPolicy.java b/services/java/com/android/server/status/StatusBarPolicy.java index 3d1fb83ee1327..d590c40286122 100644 --- a/services/java/com/android/server/status/StatusBarPolicy.java +++ b/services/java/com/android/server/status/StatusBarPolicy.java @@ -272,6 +272,7 @@ public class StatusBarPolicy { private IBinder mDataIcon; private IconData mDataData; private boolean mDataIconVisible; + private boolean mHspaDataDistinguishable; // ringer volume private IBinder mVolumeIcon; @@ -517,6 +518,14 @@ public class StatusBarPolicy { filter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED); filter.addAction(TtyIntent.TTY_ENABLED_CHANGE_ACTION); mContext.registerReceiver(mIntentReceiver, filter, null, mHandler); + + // load config to determine if to distinguish Hspa data icon + try { + mHspaDataDistinguishable = mContext.getResources().getBoolean( + com.android.internal.R.bool.config_hspa_data_distinguishable); + } catch (Exception e) { + mHspaDataDistinguishable = false; + } } public static void installIcons(Context context, StatusBarService service) { @@ -960,7 +969,11 @@ public class StatusBarPolicy { case TelephonyManager.NETWORK_TYPE_HSDPA: case TelephonyManager.NETWORK_TYPE_HSUPA: case TelephonyManager.NETWORK_TYPE_HSPA: - mDataIconList = sDataNetType_h; + if (mHspaDataDistinguishable) { + mDataIconList = sDataNetType_h; + } else { + mDataIconList = sDataNetType_3g; + } break; case TelephonyManager.NETWORK_TYPE_CDMA: // display 1xRTT for IS95A/B