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

Commit b3a6772e authored by Sarah Chin's avatar Sarah Chin Committed by Automerger Merge Worker
Browse files

Don't report data stall for disconnected DataNetwork am: 5981a032

parents e29ded20 5981a032
Loading
Loading
Loading
Loading
+11 −1
Original line number Original line Diff line number Diff line
@@ -2612,8 +2612,18 @@ public class DataNetworkController extends Handler {
            return;
            return;
        }
        }


        // TODO: Add DataConfigManager.isRecoveryOnBadNetworkEnabled()
        if (!mDataSettingsManager.isRecoveryOnBadNetworkEnabled()) {
            log("Ignore data network validation status changed becaused"
                    + "data stall recovery is disabled.");
            return;
        }

        if (dataNetwork.isInternetSupported()) {
        if (dataNetwork.isInternetSupported()) {
            if (status == NetworkAgent.VALIDATION_STATUS_NOT_VALID
                    && (dataNetwork.getCurrentState() == null || dataNetwork.isDisconnected())) {
                log("Ignoring invalid validation status for disconnected DataNetwork");
                return;
            }
            mDataNetworkControllerCallbacks.forEach(callback -> callback.invokeFromExecutor(
            mDataNetworkControllerCallbacks.forEach(callback -> callback.invokeFromExecutor(
                    () -> callback.onInternetDataNetworkValidationStatusChanged(status)));
                    () -> callback.onInternetDataNetworkValidationStatusChanged(status)));
        }
        }
+11 −0
Original line number Original line Diff line number Diff line
@@ -564,6 +564,15 @@ public class DataSettingsManager extends Handler {
        return mDataEnabledOverride.isDataAllowedInVoiceCall();
        return mDataEnabledOverride.isDataAllowedInVoiceCall();
    }
    }


    /**
     * Check whether data stall recovery on bad network is enabled.
     * @return {@code true} if data stall recovery is enabled and {@code false} otherwise.
     */
    public boolean isRecoveryOnBadNetworkEnabled() {
        return Settings.Global.getInt(mResolver,
                Settings.Global.DATA_STALL_RECOVERY_ON_BAD_NETWORK, 1) == 1;
    }

    private void notifyDataEnabledChanged(boolean enabled,
    private void notifyDataEnabledChanged(boolean enabled,
            @TelephonyManager.DataEnabledChangedReason int reason) {
            @TelephonyManager.DataEnabledChangedReason int reason) {
        logl("notifyDataEnabledChanged: enabled=" + enabled + ", reason="
        logl("notifyDataEnabledChanged: enabled=" + enabled + ", reason="
@@ -669,6 +678,8 @@ public class DataSettingsManager extends Handler {
        pw.println("device_provisioned=" + Settings.Global.getInt(
        pw.println("device_provisioned=" + Settings.Global.getInt(
                mResolver, Settings.Global.DEVICE_PROVISIONED, 0));
                mResolver, Settings.Global.DEVICE_PROVISIONED, 0));
        pw.println("isProvisioningDataEnabled=" + isProvisioningDataEnabled());
        pw.println("isProvisioningDataEnabled=" + isProvisioningDataEnabled());
        pw.println("data_stall_recovery_on_bad_network=" + Settings.Global.getInt(
                mResolver, Settings.Global.DATA_STALL_RECOVERY_ON_BAD_NETWORK, 1));
        pw.println("mDataEnabledSettings=" + mDataEnabledSettings.entrySet().stream()
        pw.println("mDataEnabledSettings=" + mDataEnabledSettings.entrySet().stream()
                .map(entry ->
                .map(entry ->
                        dataEnabledChangedReasonToString(entry.getKey()) + "=" + entry.getValue())
                        dataEnabledChangedReasonToString(entry.getKey()) + "=" + entry.getValue())