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

Commit 70417302 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 12289667 from 92c552f0 to 24Q4-release

Change-Id: Idbc84d7b22ad4b960530f2666c98ae05b5d447d6
parents c11a0747 92c552f0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -126,7 +126,7 @@ flag {
  name: "sim_disabled_graceful_tear_down"
  namespace: "telephony"
  description: "Gracefully tear down the networks when SIM is disabled."
  bug: ""
  bug: "362372940"
  metadata {
    purpose: PURPOSE_BUGFIX
  }
+35 −8
Original line number Diff line number Diff line
@@ -238,7 +238,7 @@ public class SatelliteController extends Handler {
    private static final int EVENT_SATELLITE_CONFIG_DATA_UPDATED = 40;
    private static final int EVENT_SATELLITE_SUPPORTED_STATE_CHANGED = 41;
    private static final int EVENT_NOTIFY_NTN_HYSTERESIS_TIMED_OUT = 42;
    private static final int EVENT_EVALUATE_ESOS_PROFILES_PRIORITIZATION = 43;
    private static final int CMD_EVALUATE_ESOS_PROFILES_PRIORITIZATION = 43;
    private static final int CMD_UPDATE_PROVISION_SATELLITE_TOKEN = 44;
    private static final int EVENT_UPDATE_PROVISION_SATELLITE_TOKEN_DONE = 45;
    private static final int EVENT_NOTIFY_NTN_ELIGIBILITY_HYSTERESIS_TIMED_OUT = 46;
@@ -519,6 +519,17 @@ public class SatelliteController extends Handler {
    private final Object mIsWifiConnectedLock = new Object();
    @GuardedBy("mIsWifiConnectedLock")
    private boolean mIsWifiConnected = false;
    private BroadcastReceiver
            mDefaultSmsSubscriptionChangedBroadcastReceiver = new BroadcastReceiver() {
                @Override
                public void onReceive(Context context, Intent intent) {
                    if (intent.getAction().equals(
                            SubscriptionManager.ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED)) {
                        plogd("Default SMS subscription changed");
                        sendRequestAsync(CMD_EVALUATE_ESOS_PROFILES_PRIORITIZATION, null, null);
                    }
                }
            };

    /**
     * @return The singleton instance of SatelliteController.
@@ -651,7 +662,7 @@ public class SatelliteController extends Handler {
                getDemoPointingNotAlignedDurationMillisFromResources();
        mSatelliteEmergencyModeDurationMillis =
                getSatelliteEmergencyModeDurationFromOverlayConfig(context);
        sendMessageDelayed(obtainMessage(EVENT_EVALUATE_ESOS_PROFILES_PRIORITIZATION),
        sendMessageDelayed(obtainMessage(CMD_EVALUATE_ESOS_PROFILES_PRIORITIZATION),
                /* delayMillis= */ TimeUnit.MINUTES.toMillis(1));

        SubscriptionManager subscriptionManager = mContext.getSystemService(
@@ -661,6 +672,7 @@ public class SatelliteController extends Handler {
            subscriptionManager.addOnSubscriptionsChangedListener(
                    new HandlerExecutor(new Handler(looper)), mSubscriptionsChangedListener);
        }
        registerDefaultSmsSubscriptionChangedBroadcastReceiver();
    }

    class SatelliteSubscriptionsChangedListener
@@ -1576,7 +1588,7 @@ public class SatelliteController extends Handler {
                break;
            }

            case EVENT_EVALUATE_ESOS_PROFILES_PRIORITIZATION: {
            case CMD_EVALUATE_ESOS_PROFILES_PRIORITIZATION: {
                evaluateESOSProfilesPrioritization();
                break;
            }
@@ -4356,13 +4368,13 @@ public class SatelliteController extends Handler {
        processNewCarrierConfigData(subId);
        resetCarrierRoamingSatelliteModeParams(subId);
        handleStateChangedForCarrierRoamingNtnEligibility();
        sendMessageDelayed(obtainMessage(EVENT_EVALUATE_ESOS_PROFILES_PRIORITIZATION),
        sendMessageDelayed(obtainMessage(CMD_EVALUATE_ESOS_PROFILES_PRIORITIZATION),
                TimeUnit.MINUTES.toMillis(1));
    }

    // imsi, msisdn, default sms subId change
    private void handleSubscriptionsChanged() {
        sendMessageDelayed(obtainMessage(EVENT_EVALUATE_ESOS_PROFILES_PRIORITIZATION),
        sendMessageDelayed(obtainMessage(CMD_EVALUATE_ESOS_PROFILES_PRIORITIZATION),
                TimeUnit.MINUTES.toMillis(1));
    }

@@ -5621,11 +5633,12 @@ public class SatelliteController extends Handler {
     */
    private void evaluateESOSProfilesPrioritization() {
        if (!mFeatureFlags.carrierRoamingNbIotNtn()) {
            plogd("evaluateESOSProfilesPrioritization: Flag CarrierRoamingNbIotNtn is disabled");
            return;
        }
        List<SubscriptionInfo> allSubInfos = mSubscriptionManagerService.getAllSubInfoList(
                mContext.getOpPackageName(), mContext.getAttributionTag());
        //key : priority, low value is high, value : List<SubscriptionInfo>
        // Key : priority - lower value has higher priority; Value : List<SubscriptionInfo>
        Map<Integer, List<SubscriptionInfo>> newSubsInfoListPerPriority = new HashMap<>();
        for (SubscriptionInfo info : allSubInfos) {
            int subId = info.getSubscriptionId();
@@ -5643,15 +5656,18 @@ public class SatelliteController extends Handler {
            if (keyPriority != -1) {
                newSubsInfoListPerPriority.computeIfAbsent(keyPriority,
                        k -> new ArrayList<>()).add(info);
            } else {
                plogw("evaluateESOSProfilesPrioritization: Got -1 keyPriority for subId="
                        + info.getSubscriptionId());
            }
        }

        if (newSubsInfoListPerPriority.size() == 0) {
            logd("evaluateESOSProfilesPrioritization: no available");
            logd("evaluateESOSProfilesPrioritization: no satellite subscription available");
            return;
        }

        // if priority is changed, send broadcast for provisioned ESOS subs ids
        // If priority has changed, send broadcast for provisioned ESOS subs IDs
        synchronized (mSatelliteTokenProvisionedLock) {
            if (isPriorityChanged(mSubsInfoListPerPriority, newSubsInfoListPerPriority)) {
                mSubsInfoListPerPriority = newSubsInfoListPerPriority;
@@ -6022,4 +6038,15 @@ public class SatelliteController extends Handler {
            }
        }
    }

    private void registerDefaultSmsSubscriptionChangedBroadcastReceiver() {
        if (!mFeatureFlags.carrierRoamingNbIotNtn()) {
            plogd("registerDefaultSmsSubscriptionChangedBroadcastReceiver: Flag "
                    + "CarrierRoamingNbIotNtn is disabled");
            return;
        }
        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction(SubscriptionManager.ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED);
        mContext.registerReceiver(mDefaultSmsSubscriptionChangedBroadcastReceiver, intentFilter);
    }
}