From 6185e381e0aba3997922a4d9718de33df2f7ea6b Mon Sep 17 00:00:00 2001 From: andychou Date: Wed, 24 Apr 2019 23:12:09 +0800 Subject: [PATCH] Fix incorrect mapping to get subscriptioninfo getActiveSubscriptionInfoList() returns a list of active subscription. It doesn't 1:1 mapping with slotId. So it is not correct to use slotId as index to get subscriptioninfo from list. Use framework interface getActiveSubscriptionInfoForSimSlotIndex() to get subscriptioninfo per slotid instead. Bug: 131123246 Test: Test with dual SIM device and atest SimStatusDialogControllerTest pass Change-Id: If7140f602571a5cb8dcdfff939bd84ccff0b482f --- .../deviceinfo/simstatus/SimStatusDialogController.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java index a014c2975eb..95f913eda56 100644 --- a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java +++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java @@ -406,13 +406,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O } private SubscriptionInfo getPhoneSubscriptionInfo(int slotId) { - final List subscriptionInfoList = SubscriptionManager.from( - mContext).getActiveSubscriptionInfoList(true); - if (subscriptionInfoList != null && subscriptionInfoList.size() > slotId) { - return subscriptionInfoList.get(slotId); - } else { - return null; - } + return SubscriptionManager.from(mContext).getActiveSubscriptionInfoForSimSlotIndex(slotId); } @VisibleForTesting