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

Commit 033bed25 authored by Xiangyu/Malcolm Chen's avatar Xiangyu/Malcolm Chen Committed by Android (Google) Code Review
Browse files

Merge "Add a carrier config to specify validation timeout for data switch." into qt-qpr1-dev

parents 5e9632cd 39439191
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -52,7 +52,7 @@ public class CellularNetworkValidator {


    private int mState = STATE_IDLE;
    private int mState = STATE_IDLE;
    private int mSubId;
    private int mSubId;
    private int mTimeoutInMs;
    private long mTimeoutInMs;
    private boolean mReleaseAfterValidation;
    private boolean mReleaseAfterValidation;


    private NetworkRequest mNetworkRequest;
    private NetworkRequest mNetworkRequest;
@@ -114,7 +114,7 @@ public class CellularNetworkValidator {
    /**
    /**
     * API to start a validation
     * API to start a validation
     */
     */
    public synchronized void validate(int subId, int timeoutInMs,
    public synchronized void validate(int subId, long timeoutInMs,
            boolean releaseAfterValidation, ValidationCallback callback) {
            boolean releaseAfterValidation, ValidationCallback callback) {
        // If it's already validating the same subscription, do nothing.
        // If it's already validating the same subscription, do nothing.
        if (subId == mSubId) return;
        if (subId == mSubId) return;
+13 −2
Original line number Original line Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.internal.telephony;
package com.android.internal.telephony;


import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR;
import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR;
import static android.telephony.CarrierConfigManager.KEY_DATA_SWITCH_VALIDATION_TIMEOUT_LONG;
import static android.telephony.SubscriptionManager.DEFAULT_SUBSCRIPTION_ID;
import static android.telephony.SubscriptionManager.DEFAULT_SUBSCRIPTION_ID;
import static android.telephony.SubscriptionManager.INVALID_PHONE_INDEX;
import static android.telephony.SubscriptionManager.INVALID_PHONE_INDEX;
import static android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID;
import static android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID;
@@ -41,10 +42,12 @@ import android.os.AsyncResult;
import android.os.Handler;
import android.os.Handler;
import android.os.Looper;
import android.os.Looper;
import android.os.Message;
import android.os.Message;
import android.os.PersistableBundle;
import android.os.Registrant;
import android.os.Registrant;
import android.os.RegistrantList;
import android.os.RegistrantList;
import android.os.RemoteException;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.ServiceManager;
import android.telephony.CarrierConfigManager;
import android.telephony.PhoneCapability;
import android.telephony.PhoneCapability;
import android.telephony.PhoneStateListener;
import android.telephony.PhoneStateListener;
import android.telephony.Rlog;
import android.telephony.Rlog;
@@ -1162,8 +1165,16 @@ public class PhoneSwitcher extends Handler {
        // start validation on the subscription first.
        // start validation on the subscription first.
        if (mValidator.isValidationFeatureSupported() && needValidation) {
        if (mValidator.isValidationFeatureSupported() && needValidation) {
            mSetOpptSubCallback = callback;
            mSetOpptSubCallback = callback;
            mValidator.validate(subIdToValidate, DEFAULT_VALIDATION_EXPIRATION_TIME,
            long validationTimeout = DEFAULT_VALIDATION_EXPIRATION_TIME;
                    false, mValidationCallback);
            CarrierConfigManager configManager = (CarrierConfigManager)
                    mContext.getSystemService(Context.CARRIER_CONFIG_SERVICE);
            if (configManager != null) {
                PersistableBundle b = configManager.getConfigForSubId(subIdToValidate);
                if (b != null) {
                    validationTimeout = b.getLong(KEY_DATA_SWITCH_VALIDATION_TIMEOUT_LONG);
                }
            }
            mValidator.validate(subIdToValidate, validationTimeout, false, mValidationCallback);
        } else {
        } else {
            setOpportunisticSubscriptionInternal(subId);
            setOpportunisticSubscriptionInternal(subId);
            sendSetOpptCallbackHelper(callback, SET_OPPORTUNISTIC_SUB_SUCCESS);
            sendSetOpptCallbackHelper(callback, SET_OPPORTUNISTIC_SUB_SUCCESS);