From a6f9b6dfbdf2f78229ba829fa0b94d9e92cef7b0 Mon Sep 17 00:00:00 2001 From: Jayachandran C Date: Thu, 7 Nov 2019 17:26:02 -0800 Subject: [PATCH] Remove usage of SignalStrength.getCdmaLevel() API This CL fetches CellSignalStrengthCdma from SignalStrength and invokes getLevel() Bug: 111498835 Test: Manual atest com.android.systemui.statusbar.policy Change-Id: I0ef07cc2c63f94fb3216a18346e808bfa8028817 --- .../policy/MobileSignalController.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java index e75365e66f817..c519f5694e5a8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java @@ -22,6 +22,8 @@ import android.net.NetworkCapabilities; import android.os.Handler; import android.os.Looper; import android.provider.Settings.Global; +import android.telephony.CellSignalStrength; +import android.telephony.CellSignalStrengthCdma; import android.telephony.NetworkRegistrationInfo; import android.telephony.PhoneStateListener; import android.telephony.ServiceState; @@ -48,6 +50,7 @@ import com.android.systemui.statusbar.policy.NetworkControllerImpl.SubscriptionD import java.io.PrintWriter; import java.util.BitSet; import java.util.Objects; +import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -456,6 +459,18 @@ public class MobileSignalController extends SignalController< } } + /** + * Extracts the CellSignalStrengthCdma from SignalStrength then returns the level + */ + private final int getCdmaLevel() { + List signalStrengthCdma = + mSignalStrength.getCellSignalStrengths(CellSignalStrengthCdma.class); + if (!signalStrengthCdma.isEmpty()) { + return signalStrengthCdma.get(0).getLevel(); + } + return CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN; + } + /** * Updates the current state based on mServiceState, mSignalStrength, mDataNetType, * mDataState, and mSimState. It should be called any time one of these is updated. @@ -470,7 +485,7 @@ public class MobileSignalController extends SignalController< && mSignalStrength != null; if (mCurrentState.connected) { if (!mSignalStrength.isGsm() && mConfig.alwaysShowCdmaRssi) { - mCurrentState.level = mSignalStrength.getCdmaLevel(); + mCurrentState.level = getCdmaLevel(); } else { mCurrentState.level = mSignalStrength.getLevel(); }