From fa530b4a10e8553afd58b827dfd7dcd8726126b4 Mon Sep 17 00:00:00 2001 From: Jack Yu Date: Mon, 4 Jan 2016 10:04:34 -0800 Subject: [PATCH] Fixed the incorrect cdma RAT detection logic. Used the correct CDMA bitmask to determine if the bearer services are based on 3GPP2 radio technologies. bug: 26318528 Change-Id: Ic30c25aa7b67372898a041dd1f3a08a3abede394 --- telephony/java/android/telephony/ServiceState.java | 23 ++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java index 8537f9cf2f86..c680999e6fb9 100644 --- a/telephony/java/android/telephony/ServiceState.java +++ b/telephony/java/android/telephony/ServiceState.java @@ -153,6 +153,17 @@ public class ServiceState implements Parcelable { * @hide */ public static final int RIL_RADIO_TECHNOLOGY_IWLAN = 18; + + /** @hide */ + public static final int RIL_RADIO_CDMA_TECHNOLOGY_BITMASK = + (1 << (RIL_RADIO_TECHNOLOGY_IS95A - 1)) + | (1 << (RIL_RADIO_TECHNOLOGY_IS95B - 1)) + | (1 << (RIL_RADIO_TECHNOLOGY_1xRTT - 1)) + | (1 << (RIL_RADIO_TECHNOLOGY_EVDO_0 - 1)) + | (1 << (RIL_RADIO_TECHNOLOGY_EVDO_A - 1)) + | (1 << (RIL_RADIO_TECHNOLOGY_EVDO_B - 1)) + | (1 << (RIL_RADIO_TECHNOLOGY_EHRPD - 1)); + /** * Available registration states for GSM, UMTS and CDMA. */ @@ -1141,16 +1152,8 @@ public class ServiceState implements Parcelable { } /** @hide */ - public static boolean hasCdma(int radioTechnologyBitmask) { - int cdmaBitmask = (RIL_RADIO_TECHNOLOGY_IS95A - | RIL_RADIO_TECHNOLOGY_IS95B - | RIL_RADIO_TECHNOLOGY_1xRTT - | RIL_RADIO_TECHNOLOGY_EVDO_0 - | RIL_RADIO_TECHNOLOGY_EVDO_A - | RIL_RADIO_TECHNOLOGY_EVDO_B - | RIL_RADIO_TECHNOLOGY_EHRPD); - - return ((radioTechnologyBitmask & cdmaBitmask) != 0); + public static boolean bearerBitmapHasCdma(int radioTechnologyBitmap) { + return (RIL_RADIO_CDMA_TECHNOLOGY_BITMASK & radioTechnologyBitmap) != 0; } /** @hide */ -- 2.11.0