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

Commit 583f71cd authored by Daniel Bright's avatar Daniel Bright Committed by Android (Google) Code Review
Browse files

Merge "Unthrottle all APNs on APM" into sc-dev

parents dd996fb3 d4c609ec
Loading
Loading
Loading
Loading
+23 −0
Original line number Original line Diff line number Diff line
@@ -241,6 +241,7 @@ public class ServiceStateTracker extends Handler {
    private RegistrantList mNrStateChangedRegistrants = new RegistrantList();
    private RegistrantList mNrStateChangedRegistrants = new RegistrantList();
    private RegistrantList mNrFrequencyChangedRegistrants = new RegistrantList();
    private RegistrantList mNrFrequencyChangedRegistrants = new RegistrantList();
    private RegistrantList mCssIndicatorChangedRegistrants = new RegistrantList();
    private RegistrantList mCssIndicatorChangedRegistrants = new RegistrantList();
    private final RegistrantList mAirplaneModeChangedRegistrants = new RegistrantList();


    /* Radio power off pending flag and tag counter */
    /* Radio power off pending flag and tag counter */
    private boolean mPendingRadioPowerOffAfterDataOff = false;
    private boolean mPendingRadioPowerOffAfterDataOff = false;
@@ -2005,6 +2006,7 @@ public class ServiceStateTracker extends Handler {
    public void onAirplaneModeChanged(boolean isAirplaneModeOn) {
    public void onAirplaneModeChanged(boolean isAirplaneModeOn) {
        mLastNitzData = null;
        mLastNitzData = null;
        mNitzState.handleAirplaneModeChanged(isAirplaneModeOn);
        mNitzState.handleAirplaneModeChanged(isAirplaneModeOn);
        mAirplaneModeChangedRegistrants.notifyResult(isAirplaneModeOn);
    }
    }


    protected Phone getPhone() {
    protected Phone getPhone() {
@@ -4790,6 +4792,27 @@ public class ServiceStateTracker extends Handler {
        }
        }
    }
    }


    /**
     * Registration for Airplane Mode changing.  The state of Airplane Mode will be returned
     * {@link AsyncResult#result} as a {@link Boolean} Object.
     * The {@link AsyncResult} will be in the notification {@link Message#obj}.
     * @param h handler to notify
     * @param what what code of message when delivered
     * @param obj placed in {@link AsyncResult#userObj}
     */
    public void registerForAirplaneModeChanged(Handler h, int what, Object obj) {
        mAirplaneModeChangedRegistrants.add(h, what, obj);
    }

    /**
     * Unregister for Airplane Mode changed event.
     *
     * @param h The handler
     */
    public void unregisterForAirplaneModeChanged(Handler h) {
        mAirplaneModeChangedRegistrants.remove(h);
    }

    /**
    /**
     * Registration point for transition into network attached.
     * Registration point for transition into network attached.
     * @param h handler to notify
     * @param h handler to notify
+15 −0
Original line number Original line Diff line number Diff line
@@ -127,6 +127,21 @@ public class DataThrottler {
        return RetryManager.NO_SUGGESTED_RETRY_DELAY;
        return RetryManager.NO_SUGGESTED_RETRY_DELAY;
    }
    }


    /**
     * Resets retry times for all APNs to {@link RetryManager.NO_SUGGESTED_RETRY_DELAY}.
     */
    public void reset() {
        final List<Integer> apnTypes = new ArrayList<>();
        for (ThrottleStatus throttleStatus : mThrottleStatus.values()) {
            apnTypes.add(throttleStatus.getApnType());
        }

        for (int apnType : apnTypes) {
            setRetryTime(apnType, RetryManager.NO_SUGGESTED_RETRY_DELAY,
                    DcTracker.REQUEST_TYPE_NORMAL);
        }
    }

    private ThrottleStatus createStatus(@Annotation.ApnType int apnType, long retryElapsedTime,
    private ThrottleStatus createStatus(@Annotation.ApnType int apnType, long retryElapsedTime,
            @DcTracker.RequestNetworkType int newRequestType) {
            @DcTracker.RequestNetworkType int newRequestType) {
        ThrottleStatus.Builder builder = new ThrottleStatus.Builder();
        ThrottleStatus.Builder builder = new ThrottleStatus.Builder();
+10 −0
Original line number Original line Diff line number Diff line
@@ -813,6 +813,8 @@ public class DcTracker extends Handler {
                DctConstants.EVENT_PS_RESTRICT_DISABLED, null);
                DctConstants.EVENT_PS_RESTRICT_DISABLED, null);
        mPhone.getServiceStateTracker().registerForDataRegStateOrRatChanged(mTransportType, this,
        mPhone.getServiceStateTracker().registerForDataRegStateOrRatChanged(mTransportType, this,
                DctConstants.EVENT_DATA_RAT_CHANGED, null);
                DctConstants.EVENT_DATA_RAT_CHANGED, null);
        mPhone.getServiceStateTracker().registerForAirplaneModeChanged(this,
                DctConstants.EVENT_AIRPLANE_MODE_CHANGED, null);
    }
    }


    public void unregisterServiceStateTrackerEvents() {
    public void unregisterServiceStateTrackerEvents() {
@@ -823,6 +825,7 @@ public class DcTracker extends Handler {
        mPhone.getServiceStateTracker().unregisterForPsRestrictedEnabled(this);
        mPhone.getServiceStateTracker().unregisterForPsRestrictedEnabled(this);
        mPhone.getServiceStateTracker().unregisterForPsRestrictedDisabled(this);
        mPhone.getServiceStateTracker().unregisterForPsRestrictedDisabled(this);
        mPhone.getServiceStateTracker().unregisterForDataRegStateOrRatChanged(mTransportType, this);
        mPhone.getServiceStateTracker().unregisterForDataRegStateOrRatChanged(mTransportType, this);
        mPhone.getServiceStateTracker().unregisterForAirplaneModeChanged(this);
    }
    }


    private void registerForAllEvents() {
    private void registerForAllEvents() {
@@ -3996,6 +3999,13 @@ public class DcTracker extends Handler {
                String apn = (String) ar.result;
                String apn = (String) ar.result;
                onApnUnthrottled(apn);
                onApnUnthrottled(apn);
                break;
                break;
            case DctConstants.EVENT_AIRPLANE_MODE_CHANGED:
                ar = (AsyncResult) msg.obj;
                if (!(Boolean) ar.result) {
                    log("Airplane Mode switched off, resetting data throttler");
                    mDataThrottler.reset();
                }
                break;
            default:
            default:
                Rlog.e("DcTracker", "Unhandled event=" + msg);
                Rlog.e("DcTracker", "Unhandled event=" + msg);
                break;
                break;