summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Tomasz Wasilczyk <twasilczyk@google.com> 2025-03-25 08:47:49 -0700
committer Android Build Coastguard Worker <android-build-coastguard-worker@google.com> 2025-04-03 18:23:30 -0700
commit6cc79f73345887e17387499e1b5c5dc742c69af0 (patch)
treeaf02cb6379c9912aed262d8e9a5acab27f3bbf06
parentb5f6b84933f8421e67e1121224656c55ce38d445 (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.java4
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;