1 package io.keybase.ossifrage.util;
2 
3 import java.lang.reflect.Method;
4 import java.util.ArrayList;
5 
6 public class DNSNSFetcher implements keybase.ExternalDNSNSFetcher {
getServers()7     public byte[] getServers() {
8         try {
9             Class<?> SystemProperties = Class.forName("android.os.SystemProperties");
10             Method method = SystemProperties.getMethod("get", new Class[] { String.class });
11             ArrayList<String> servers = new ArrayList<String>();
12             for (String name : new String[] { "net.dns1", "net.dns2", "net.dns3", "net.dns4", }) {
13                 String value = (String) method.invoke(null, name);
14                 if (value != null && !"".equals(value) && !servers.contains(value))
15                     servers.add(value);
16             }
17             String srvStr = new String();
18             for (int i = 0; i < servers.size(); i++) {
19                 srvStr += servers.get(i);
20                 if (i < servers.size()-1) {
21                     srvStr+=",";
22                 }
23             }
24             return srvStr.getBytes();
25         } catch (Exception e) {
26             return "".getBytes();
27         }
28     }
29 }
30