From a43d0a712f86c3e8a8ccb5b1a9c90e9bf17cdf7e Mon Sep 17 00:00:00 2001 From: Jayachandran C Date: Fri, 1 Nov 2019 17:39:38 -0700 Subject: Remove usage of hidden API in System UI TelephonyManager.getSimCount() TelephonyManager.getDefault() TelephonyManager.from() Bug: 111498835 Test: Manual DSDS test cases atest com.android.systemui.statusbar.policy Change-Id: I676a70a5dbd2dcbdbbee6cd889ffd614dc42fb9d --- packages/SystemUI/src/com/android/keyguard/KeyguardSimPinView.java | 7 ++++++- packages/SystemUI/src/com/android/keyguard/KeyguardSimPukView.java | 7 ++++++- .../SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java | 6 ++++-- .../android/systemui/statusbar/policy/NetworkControllerImpl.java | 2 +- .../android/systemui/statusbar/policy/UserSwitcherController.java | 7 +++++-- 5 files changed, 22 insertions(+), 7 deletions(-) diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSimPinView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSimPinView.java index 9c0a71c1f81d..b1502b9a0d63 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSimPinView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSimPinView.java @@ -104,7 +104,12 @@ public class KeyguardSimPinView extends KeyguardPinBasedInputView { private void setLockedSimMessage() { boolean isEsimLocked = KeyguardEsimArea.isEsimLocked(mContext, mSubId); - int count = TelephonyManager.getDefault().getSimCount(); + int count = 1; + TelephonyManager telephonyManager = + (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE); + if (telephonyManager != null) { + count = telephonyManager.getActiveModemCount(); + } Resources rez = getResources(); String msg; TypedArray array = mContext.obtainStyledAttributes(new int[] { R.attr.wallpaperTextColor }); diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSimPukView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSimPukView.java index fc888e11d3f5..70237a053e1e 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSimPukView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSimPukView.java @@ -164,7 +164,12 @@ public class KeyguardSimPukView extends KeyguardPinBasedInputView { } boolean isEsimLocked = KeyguardEsimArea.isEsimLocked(mContext, mSubId); - int count = TelephonyManager.getDefault().getSimCount(); + int count = 1; + TelephonyManager telephonyManager = + (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE); + if (telephonyManager != null) { + count = telephonyManager.getActiveModemCount(); + } Resources rez = getResources(); String msg; TypedArray array = mContext.obtainStyledAttributes(new int[] { R.attr.wallpaperTextColor }); diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java index 8373fb24ee4f..c8ef0855c3d0 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java @@ -2647,8 +2647,10 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab // that don't return the complete set of values and have different types. In Keyguard we // need IccCardConstants, but TelephonyManager would only give us // TelephonyManager.SIM_STATE*, so we retrieve it manually. - final TelephonyManager tele = TelephonyManager.from(mContext); - int simState = tele.getSimState(slotId); + final TelephonyManager tele = + (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE); + int simState = (tele != null) ? + tele.getSimState(slotId) : TelephonyManager.SIM_STATE_UNKNOWN; State state; try { state = State.intToState(simState); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java index 60784c91ee62..decf7b15d7d0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java @@ -643,7 +643,7 @@ public class NetworkControllerImpl extends BroadcastReceiver } private boolean hasAnySim() { - int simCount = mPhone.getSimCount(); + int simCount = mPhone.getActiveModemCount(); for (int i = 0; i < simCount; i++) { int state = mPhone.getSimState(i); if (state != TelephonyManager.SIM_STATE_ABSENT diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java index 2c996684f437..53700bb8d9af 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java @@ -459,8 +459,11 @@ public class UserSwitcherController implements Dumpable { } private void listenForCallState() { - TelephonyManager.from(mContext).listen(mPhoneStateListener, - PhoneStateListener.LISTEN_CALL_STATE); + final TelephonyManager tele = + (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE); + if (tele != null) { + tele.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE); + } } private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() { -- cgit v1.2.3-59-g8ed1b