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

Commit 796b7a56 authored by Android Build Merger (Role)'s avatar Android Build Merger (Role) Committed by Android (Google) Code Review
Browse files

Merge "Merge "Stop unnecessary tethering reconfigurations" into oc-dr1-dev am:...

Merge "Merge "Stop unnecessary tethering reconfigurations" into oc-dr1-dev am: 49a16f09 am: e49c3675"
parents d5d183ea 5532099d
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -255,6 +255,12 @@ public class Tethering extends BaseNetworkObserver {
        mUpstreamNetworkMonitor.updateMobileRequiresDun(mConfig.isDunRequired);
    }

    private void maybeUpdateConfiguration() {
        final int dunCheck = TetheringConfiguration.checkDunRequired(mContext);
        if (dunCheck == mConfig.dunCheck) return;
        updateConfiguration();
    }

    @Override
    public void interfaceStatusChanged(String iface, boolean up) {
        // Never called directly: only called from interfaceLinkStateChanged.
@@ -1283,7 +1289,9 @@ public class Tethering extends BaseNetworkObserver {
        }

        protected void chooseUpstreamType(boolean tryCell) {
            updateConfiguration(); // TODO - remove?
            // We rebuild configuration on ACTION_CONFIGURATION_CHANGED, but we
            // do not currently know how to watch for changes in DUN settings.
            maybeUpdateConfiguration();

            final NetworkState ns = mUpstreamNetworkMonitor.selectPreferredUpstreamType(
                    mConfig.preferredUpstreamIfaceTypes);
+3 −2
Original line number Diff line number Diff line
@@ -70,6 +70,7 @@ public class TetheringConfiguration {
    public final String[] tetherableUsbRegexs;
    public final String[] tetherableWifiRegexs;
    public final String[] tetherableBluetoothRegexs;
    public final int dunCheck;
    public final boolean isDunRequired;
    public final Collection<Integer> preferredUpstreamIfaceTypes;
    public final String[] dhcpRanges;
@@ -88,7 +89,7 @@ public class TetheringConfiguration {
        tetherableBluetoothRegexs = ctx.getResources().getStringArray(
                com.android.internal.R.array.config_tether_bluetooth_regexs);

        final int dunCheck = checkDunRequired(ctx);
        dunCheck = checkDunRequired(ctx);
        configLog.log("DUN check returned: " + dunCheckString(dunCheck));

        preferredUpstreamIfaceTypes = getUpstreamIfaceTypes(ctx, dunCheck);
@@ -175,7 +176,7 @@ public class TetheringConfiguration {
        return upstreamNames;
    }

    private static int checkDunRequired(Context ctx) {
    public static int checkDunRequired(Context ctx) {
        final TelephonyManager tm = (TelephonyManager) ctx.getSystemService(TELEPHONY_SERVICE);
        return (tm != null) ? tm.getTetherApnRequired() : DUN_UNSPECIFIED;
    }