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