Loading src/com/android/settings/network/helper/SubscriptionAnnotation.java +1 −2 Original line number Diff line number Diff line Loading @@ -90,16 +90,15 @@ public class SubscriptionAnnotation { mOrderWithinList = subInfoIndex; mType = mSubInfo.isEmbedded() ? TYPE_ESIM : TYPE_PSIM; mIsExisted = true; if (mType == TYPE_ESIM) { int cardId = mSubInfo.getCardId(); mIsExisted = eSimCardId.contains(cardId); mIsActive = activeSimSlotIndexList.contains(mSubInfo.getSimSlotIndex()); mIsAllowToDisplay = (cardId < 0) // always allow when eSIM not in slot || isDisplayAllowed(context); return; } mIsExisted = true; mIsActive = (mSubInfo.getSimSlotIndex() > SubscriptionManager.INVALID_SIM_SLOT_INDEX) && activeSimSlotIndexList.contains(mSubInfo.getSimSlotIndex()); mIsAllowToDisplay = isDisplayAllowed(context); Loading src/com/android/settings/network/helper/SubscriptionGrouping.java +6 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.network.helper; import android.os.ParcelUuid; import android.util.Log; import androidx.annotation.Keep; import androidx.annotation.VisibleForTesting; Loading Loading @@ -44,9 +45,12 @@ import java.util.stream.Collectors; */ public class SubscriptionGrouping implements UnaryOperator<List<SubscriptionAnnotation>> { private static final String LOG_TAG = "SubscriptionGrouping"; // implementation of UnaryOperator public List<SubscriptionAnnotation> apply(List<SubscriptionAnnotation> listOfSubscriptions) { Log.d(LOG_TAG, "Grouping " + listOfSubscriptions); // group by GUID Map<ParcelUuid, List<SubscriptionAnnotation>> groupedSubInfoList = listOfSubscriptions.stream() Loading Loading @@ -89,8 +93,8 @@ public class SubscriptionGrouping annoSelector = annoSelector // eSIM in front of pSIM .thenComparingInt(anno -> -anno.getType()) // subscription ID in reverse order .thenComparingInt(anno -> -anno.getSubscriptionId()); // maintain the ordering given within constructor .thenComparingInt(anno -> annoList.indexOf(anno)); return annoList.stream().sorted(annoSelector).findFirst().orElse(null); } } tests/unit/src/com/android/settings/network/helper/SubscriptionGroupingTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ public class SubscriptionGroupingTest { List<SubscriptionAnnotation> result = mTarget .apply(Arrays.asList(subAnno2, subAnno1, subAnno3)); assertThat(result.size()).isEqualTo(1); assertThat(result.get(0)).isEqualTo(subAnno3); assertThat(result.get(0)).isEqualTo(subAnno1); } @Test Loading Loading
src/com/android/settings/network/helper/SubscriptionAnnotation.java +1 −2 Original line number Diff line number Diff line Loading @@ -90,16 +90,15 @@ public class SubscriptionAnnotation { mOrderWithinList = subInfoIndex; mType = mSubInfo.isEmbedded() ? TYPE_ESIM : TYPE_PSIM; mIsExisted = true; if (mType == TYPE_ESIM) { int cardId = mSubInfo.getCardId(); mIsExisted = eSimCardId.contains(cardId); mIsActive = activeSimSlotIndexList.contains(mSubInfo.getSimSlotIndex()); mIsAllowToDisplay = (cardId < 0) // always allow when eSIM not in slot || isDisplayAllowed(context); return; } mIsExisted = true; mIsActive = (mSubInfo.getSimSlotIndex() > SubscriptionManager.INVALID_SIM_SLOT_INDEX) && activeSimSlotIndexList.contains(mSubInfo.getSimSlotIndex()); mIsAllowToDisplay = isDisplayAllowed(context); Loading
src/com/android/settings/network/helper/SubscriptionGrouping.java +6 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.network.helper; import android.os.ParcelUuid; import android.util.Log; import androidx.annotation.Keep; import androidx.annotation.VisibleForTesting; Loading Loading @@ -44,9 +45,12 @@ import java.util.stream.Collectors; */ public class SubscriptionGrouping implements UnaryOperator<List<SubscriptionAnnotation>> { private static final String LOG_TAG = "SubscriptionGrouping"; // implementation of UnaryOperator public List<SubscriptionAnnotation> apply(List<SubscriptionAnnotation> listOfSubscriptions) { Log.d(LOG_TAG, "Grouping " + listOfSubscriptions); // group by GUID Map<ParcelUuid, List<SubscriptionAnnotation>> groupedSubInfoList = listOfSubscriptions.stream() Loading Loading @@ -89,8 +93,8 @@ public class SubscriptionGrouping annoSelector = annoSelector // eSIM in front of pSIM .thenComparingInt(anno -> -anno.getType()) // subscription ID in reverse order .thenComparingInt(anno -> -anno.getSubscriptionId()); // maintain the ordering given within constructor .thenComparingInt(anno -> annoList.indexOf(anno)); return annoList.stream().sorted(annoSelector).findFirst().orElse(null); } }
tests/unit/src/com/android/settings/network/helper/SubscriptionGroupingTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ public class SubscriptionGroupingTest { List<SubscriptionAnnotation> result = mTarget .apply(Arrays.asList(subAnno2, subAnno1, subAnno3)); assertThat(result.size()).isEqualTo(1); assertThat(result.get(0)).isEqualTo(subAnno3); assertThat(result.get(0)).isEqualTo(subAnno1); } @Test Loading