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

Commit 696396fb authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "provide a resource overlay to configure customized DNS Server." into qt-dev

parents 53f25dd9 cf8dab45
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -35,4 +35,8 @@
    </string-array>
    <string-array name="config_captive_portal_fallback_probe_specs" translatable="false">
    </string-array>

    <!-- Customized default DNS Servers address. -->
    <string-array name="config_default_dns_servers" translatable="false">
    </string-array>
</resources>
+14 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ import static com.android.server.util.NetworkStackConstants.IPV4_ADDR_ANY;

import android.content.Context;
import android.net.DhcpResults;
import android.net.InetAddresses;
import android.net.TrafficStats;
import android.net.ip.IpClient;
import android.net.metrics.DhcpClientEvent;
@@ -67,6 +68,7 @@ import com.android.internal.util.State;
import com.android.internal.util.StateMachine;
import com.android.internal.util.TrafficStatsConstants;
import com.android.internal.util.WakeupMessage;
import com.android.networkstack.R;

import java.io.FileDescriptor;
import java.io.IOException;
@@ -500,6 +502,18 @@ public class DhcpClient extends StateMachine {

    private void acceptDhcpResults(DhcpResults results, String msg) {
        mDhcpLease = results;
        if (mDhcpLease.dnsServers.isEmpty()) {
            // supplement customized dns servers
            String[] dnsServersList =
                    mContext.getResources().getStringArray(R.array.config_default_dns_servers);
            for (final String dnsServer : dnsServersList) {
                try {
                    mDhcpLease.dnsServers.add(InetAddresses.parseNumericAddress(dnsServer));
                } catch (IllegalArgumentException e) {
                    Log.e(TAG, "Invalid default DNS server: " + dnsServer, e);
                }
            }
        }
        mOffer = null;
        Log.d(TAG, msg + " lease: " + mDhcpLease);
        notifySuccess();