Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f71b5482 authored by SongFerng Wang's avatar SongFerng Wang Committed by Android (Google) Code Review
Browse files

Merge "Revert "[MEP] psim->esim, don't skip carrierConfigChanged with subId -1"" into tm-qpr-dev

parents bfa35a7b fe5978cd
Loading
Loading
Loading
Loading
+2 −14
Original line number Diff line number Diff line
@@ -32,20 +32,9 @@ public class CarrierConfigChangedReceiver extends BroadcastReceiver {
            CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED;

    private final CountDownLatch mLatch;
    private final boolean mIsWaitingForValidSubId;

    /**
     * This is the CarrierConfigChanged receiver. If it receives the carrier config changed, then it
     * call the CountDownLatch.countDown().
     * If the "isWaitingForValidSubId" is true, then the receiver skip the carrier config changed
     * with the subId = -1. The receiver executes the countDown when the CarrierConfigChanged
     * with valid subId.
     * If the "isWaitingForValidSubId" is false, then the receiver executes the countDown when
     * receiving any CarrierConfigChanged.
     */
    public CarrierConfigChangedReceiver(CountDownLatch latch, boolean isWaitingForValidSubId) {
    public CarrierConfigChangedReceiver(CountDownLatch latch) {
        mLatch = latch;
        mIsWaitingForValidSubId = isWaitingForValidSubId;
    }

    public void registerOn(Context context) {
@@ -64,8 +53,7 @@ public class CarrierConfigChangedReceiver extends BroadcastReceiver {
    }

    private void checkSubscriptionIndex(Intent intent) {
        if (intent.hasExtra(CarrierConfigManager.EXTRA_SUBSCRIPTION_INDEX)
                || !mIsWaitingForValidSubId) {
        if (intent.hasExtra(CarrierConfigManager.EXTRA_SUBSCRIPTION_INDEX)) {
            int subId = intent.getIntExtra(CarrierConfigManager.EXTRA_SUBSCRIPTION_INDEX, -1);
            Log.i(TAG, "subId from config changed: " + subId);
            mLatch.countDown();
+4 −7
Original line number Diff line number Diff line
@@ -140,8 +140,7 @@ public class UiccSlotUtil {
                        inactiveRemovableSlot,
                        /*removable sim's port Id*/ TelephonyManager.DEFAULT_PORT_INDEX,
                        excludedLogicalSlotIndex),
                context,
                /*isWaitingForValidSubId=*/ true);
                context);
    }

    /**
@@ -179,8 +178,7 @@ public class UiccSlotUtil {
        performSwitchToSlot(telMgr,
                prepareUiccSlotMappings(uiccSlotMappings, /*slot is not psim*/ false,
                        physicalSlotId, port, excludedLogicalSlotIndex),
                context,
                /*isWaitingForValidSubId=*/ false);
                context);
    }

    /**
@@ -232,8 +230,7 @@ public class UiccSlotUtil {
    }

    private static void performSwitchToSlot(TelephonyManager telMgr,
            Collection<UiccSlotMapping> uiccSlotMappings, Context context,
            boolean isWaitingForValidSubId)
            Collection<UiccSlotMapping> uiccSlotMappings, Context context)
            throws UiccSlotsException {
        CarrierConfigChangedReceiver receiver = null;
        long waitingTimeMillis =
@@ -243,7 +240,7 @@ public class UiccSlotUtil {
                        DEFAULT_WAIT_AFTER_SWITCH_TIMEOUT_MILLIS);
        try {
            CountDownLatch latch = new CountDownLatch(1);
            receiver = new CarrierConfigChangedReceiver(latch, isWaitingForValidSubId);
            receiver = new CarrierConfigChangedReceiver(latch);
            receiver.registerOn(context);
            telMgr.setSimSlotMapping(uiccSlotMappings);
            latch.await(waitingTimeMillis, TimeUnit.MILLISECONDS);