From ecd66c124a8dcec79f64fb05dca1afd565527a45 Mon Sep 17 00:00:00 2001 From: Matthias Bosc Date: Wed, 10 Apr 2013 16:20:29 +0200 Subject: Frameworks & SystemUI - additional DC-HSPAP support This commit adds some more informations about Dual-Carrier HSPAP It allows displaying a "DC" icon on status bar for compatible devices and add a "DCHSPAP" value in state phone patch 1: add TelephonyManager to fix build patch 2: modify ServiceState patch 3: switch to cm_strings patch 4: fix a mistake patch 5: upload a new set of icons, a bit prettier than previous patch 6: update icons (more opacity to match colors) patch 7: removed drawable-sw* here is a screenshot for example: http://imgur.com/mQ2du3l,PSyHoqC Change-Id: I77d05e23c8ad3efdfeb19cf06ed92e7c57105ebe --- telephony/java/android/telephony/NeighboringCellInfo.java | 8 ++++++-- telephony/java/android/telephony/ServiceState.java | 7 +++++-- telephony/java/android/telephony/TelephonyManager.java | 6 ++++++ 3 files changed, 17 insertions(+), 4 deletions(-) (limited to 'telephony') diff --git a/telephony/java/android/telephony/NeighboringCellInfo.java b/telephony/java/android/telephony/NeighboringCellInfo.java index 51e1e95..5371573 100644 --- a/telephony/java/android/telephony/NeighboringCellInfo.java +++ b/telephony/java/android/telephony/NeighboringCellInfo.java @@ -26,6 +26,7 @@ import static android.telephony.TelephonyManager.NETWORK_TYPE_HSDPA; import static android.telephony.TelephonyManager.NETWORK_TYPE_HSUPA; import static android.telephony.TelephonyManager.NETWORK_TYPE_HSPA; import static android.telephony.TelephonyManager.NETWORK_TYPE_HSPAP; +import static android.telephony.TelephonyManager.NETWORK_TYPE_DCHSPAP; /** * Represents the neighboring cell information, including @@ -108,7 +109,8 @@ public class NeighboringCellInfo implements Parcelable * {@link TelephonyManager#NETWORK_TYPE_HSDPA TelephonyManager.NETWORK_TYPE_HSDPA}, * {@link TelephonyManager#NETWORK_TYPE_HSUPA TelephonyManager.NETWORK_TYPE_HSUPA}, * {@link TelephonyManager#NETWORK_TYPE_HSPA TelephonyManager.NETWORK_TYPE_HSPA}, - * and {@link TelephonyManager#NETWORK_TYPE_HSPAP TelephonyManager.NETWORK_TYPE_HSPAP}. + * {@link TelephonyManager#NETWORK_TYPE_HSPAP TelephonyManager.NETWORK_TYPE_HSPAP}, + * and {@link TelephonyManager#NETWORK_TYPE_DCHSPAP TelephonyManager.NETWORK_TYPE_DCHSPAP}. */ public NeighboringCellInfo(int rssi, String location, int radioType) { // set default value @@ -144,6 +146,7 @@ public class NeighboringCellInfo implements Parcelable case NETWORK_TYPE_HSUPA: case NETWORK_TYPE_HSPA: case NETWORK_TYPE_HSPAP: + case NETWORK_TYPE_DCHSPAP: mNetworkType = radioType; mPsc = Integer.valueOf(location, 16); break; @@ -220,7 +223,8 @@ public class NeighboringCellInfo implements Parcelable * {@link TelephonyManager#NETWORK_TYPE_HSDPA TelephonyManager.NETWORK_TYPE_HSDPA}, * {@link TelephonyManager#NETWORK_TYPE_HSUPA TelephonyManager.NETWORK_TYPE_HSUPA}, * {@link TelephonyManager#NETWORK_TYPE_HSPA TelephonyManager.NETWORK_TYPE_HSPA}, - * or {@link TelephonyManager#NETWORK_TYPE_HSPAP TelephonyManager.NETWORK_TYPE_HSPAP} + * {@link TelephonyManager#NETWORK_TYPE_HSPAP TelephonyManager.NETWORK_TYPE_HSPAP}, + * or {@link TelephonyManager#NETWORK_TYPE_DCHSPAP TelephonyManager.NETWORK_TYPE_DCHSPAP} * means that Neighboring Cell information is stored for UMTS network, in * which {@link NeighboringCellInfo#getPsc NeighboringCellInfo.getPsc} * should be called to access location. diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java index 2fc8414..6e834db 100644 --- a/telephony/java/android/telephony/ServiceState.java +++ b/telephony/java/android/telephony/ServiceState.java @@ -455,9 +455,11 @@ public class ServiceState implements Parcelable { rtString = "LTE"; break; case RIL_RADIO_TECHNOLOGY_HSPAP: - case RIL_RADIO_TECHNOLOGY_DCHSPAP: rtString = "HSPAP"; break; + case RIL_RADIO_TECHNOLOGY_DCHSPAP: + rtString = "DCHSPAP"; + break; case RIL_RADIO_TECHNOLOGY_GSM: rtString = "GSM"; break; @@ -689,8 +691,9 @@ public class ServiceState implements Parcelable { case ServiceState.RIL_RADIO_TECHNOLOGY_LTE: return TelephonyManager.NETWORK_TYPE_LTE; case ServiceState.RIL_RADIO_TECHNOLOGY_HSPAP: - case ServiceState.RIL_RADIO_TECHNOLOGY_DCHSPAP: return TelephonyManager.NETWORK_TYPE_HSPAP; + case ServiceState.RIL_RADIO_TECHNOLOGY_DCHSPAP: + return TelephonyManager.NETWORK_TYPE_DCHSPAP; default: return TelephonyManager.NETWORK_TYPE_UNKNOWN; } diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 2f80d39..2be14cf 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -566,6 +566,8 @@ public class TelephonyManager { public static final int NETWORK_TYPE_EHRPD = 14; /** Current network is HSPA+ */ public static final int NETWORK_TYPE_HSPAP = 15; + /** Current network is DC-HSPAP */ + public static final int NETWORK_TYPE_DCHSPAP = 30; /** * Returns a constant indicating the radio technology (network type) @@ -588,6 +590,7 @@ public class TelephonyManager { * @see #NETWORK_TYPE_LTE * @see #NETWORK_TYPE_EHRPD * @see #NETWORK_TYPE_HSPAP + * @see #NETWORK_TYPE_DCHSPAP */ public int getNetworkType() { try{ @@ -650,6 +653,7 @@ public class TelephonyManager { case NETWORK_TYPE_EVDO_B: case NETWORK_TYPE_EHRPD: case NETWORK_TYPE_HSPAP: + case NETWORK_TYPE_DCHSPAP: return NETWORK_CLASS_3_G; case NETWORK_TYPE_LTE: return NETWORK_CLASS_4_G; @@ -702,6 +706,8 @@ public class TelephonyManager { return "iDEN"; case NETWORK_TYPE_HSPAP: return "HSPA+"; + case NETWORK_TYPE_DCHSPAP: + return "DCHSPAP"; default: return "UNKNOWN"; } -- cgit v1.1