diff options
author | 2025-03-25 08:47:49 -0700 | |
---|---|---|
committer | 2025-04-03 18:23:30 -0700 | |
commit | 6cc79f73345887e17387499e1b5c5dc742c69af0 (patch) | |
tree | af02cb6379c9912aed262d8e9a5acab27f3bbf06 | |
parent | b5f6b84933f8421e67e1121224656c55ce38d445 (diff) |
Fix UiccController crash due to inconsistent phone count
Using TelephonyManager.getDefault() causes mContext to be null, which
makes getPhoneCount quietly fall back to default values. This makes it
return sometimes 0, sometimes 1, depending on whether the calling code
used TelephonyManager.getDefault() or TelephonyManager.from(Context).
Bug: 404627136
Flag: EXEMPT bugfix
Test: boot gcar_x86_64-trunk_staging-userdebug and observe NPEs in logcat
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:5a3ba387198cc50f42a032bc799112649a6be6b3)
Merged-In: Ibf87e7cac9595d87ac593d581928b3863953a274
Change-Id: Ibf87e7cac9595d87ac593d581928b3863953a274
-rw-r--r-- | src/java/com/android/internal/telephony/uicc/UiccController.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/java/com/android/internal/telephony/uicc/UiccController.java b/src/java/com/android/internal/telephony/uicc/UiccController.java index 5c2b6bef27..c242a1b29d 100644 --- a/src/java/com/android/internal/telephony/uicc/UiccController.java +++ b/src/java/com/android/internal/telephony/uicc/UiccController.java @@ -1665,7 +1665,7 @@ public class UiccController extends Handler { } private boolean isValidPhoneIndex(int index) { - return (index >= 0 && index < TelephonyManager.getDefault().getPhoneCount()); + return (index >= 0 && index < mTelephonyManager.getActiveModemCount()); } private boolean isValidSlotIndex(int index) { @@ -1673,7 +1673,7 @@ public class UiccController extends Handler { } private boolean isShuttingDown() { - for (int i = 0; i < TelephonyManager.getDefault().getActiveModemCount(); i++) { + for (int i = 0; i < mTelephonyManager.getActiveModemCount(); i++) { if (PhoneFactory.getPhone(i) != null && PhoneFactory.getPhone(i).isShuttingDown()) { return true; |