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

Commit 204bcfca authored by Hung-ying Tyan's avatar Hung-ying Tyan Committed by Gerrit Code Review
Browse files

Merge "VPN: fix crash on missing CCM" into android15-tests-dev

parents 5ef29ae2 259528f8
Loading
Loading
Loading
Loading
+16 −4
Original line number Diff line number Diff line
@@ -344,7 +344,11 @@ public class Vpn {
    private final AppOpsManager mAppOpsManager;
    private final ConnectivityDiagnosticsManager mConnectivityDiagnosticsManager;
    private final TelephonyManager mTelephonyManager;

    // null if FEATURE_TELEPHONY_SUBSCRIPTION is not declared
    @Nullable
    private final CarrierConfigManager mCarrierConfigManager;

    private final SubscriptionManager mSubscriptionManager;

    // The context is for specific user which is created from mUserId
@@ -2837,9 +2841,11 @@ public class Vpn {
                    createUserAndRestrictedProfilesRanges(mUserId,
                            mConfig.allowedApplications, mConfig.disallowedApplications));

            if (mCarrierConfigManager != null) {
                mCarrierConfigManager.registerCarrierConfigChangeListener(mExecutor,
                        mCarrierConfigChangeListener);
            }
        }

        @Override
        public void run() {
@@ -3343,6 +3349,10 @@ public class Vpn {
         */
        @Nullable
        private CarrierConfigInfo getCarrierConfigForUnderlyingNetwork() {
            if (mCarrierConfigManager == null) {
                return null;
            }

            final int subId = getCellSubIdForNetworkCapabilities(mUnderlyingNetworkCapabilities);
            if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
                Log.d(TAG, "Underlying network is not a cellular network");
@@ -3962,8 +3972,10 @@ public class Vpn {

            resetIkeState();

            if (mCarrierConfigManager != null) {
                mCarrierConfigManager.unregisterCarrierConfigChangeListener(
                        mCarrierConfigChangeListener);
            }
            mConnectivityManager.unregisterNetworkCallback(mNetworkCallback);

            mExecutor.shutdown();