Added manual edit dns test servers
This commit is contained in:
parent
4f082c6e45
commit
cd425eb8a5
@ -4,10 +4,12 @@ import android.app.ActivityManager;
|
||||
import android.app.Application;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.ShortcutInfo;
|
||||
import android.content.pm.ShortcutManager;
|
||||
import android.graphics.drawable.Icon;
|
||||
import android.os.Build;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.util.Log;
|
||||
import org.itxtech.daedalus.activity.MainActivity;
|
||||
import org.itxtech.daedalus.service.DaedalusVpnService;
|
||||
@ -28,7 +30,7 @@ import java.util.List;
|
||||
* the Free Software Foundation, version 3.
|
||||
*/
|
||||
public class Daedalus extends Application {
|
||||
public static final String SHORTCUT_ID_ACTIVATE = "activate";
|
||||
private static final String SHORTCUT_ID_ACTIVATE = "shortcut_activate";
|
||||
|
||||
public static final List<DnsServer> DNS_SERVERS = new ArrayList<DnsServer>() {{
|
||||
add(new DnsServer("0", "113.107.249.56", R.string.server_north_china));
|
||||
@ -45,14 +47,26 @@ public class Daedalus extends Application {
|
||||
};
|
||||
|
||||
private static Daedalus instance = null;
|
||||
private static SharedPreferences prefs;
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
|
||||
initConfig();
|
||||
|
||||
instance = this;
|
||||
}
|
||||
|
||||
private void initConfig() {
|
||||
PreferenceManager.setDefaultValues(this, R.xml.perf_settings, false);
|
||||
prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
}
|
||||
|
||||
public static SharedPreferences getPrefs() {
|
||||
return prefs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTerminate() {
|
||||
super.onTerminate();
|
||||
|
@ -3,10 +3,8 @@ package org.itxtech.daedalus.activity;
|
||||
import android.app.ActivityManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.net.VpnService;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.design.widget.FloatingActionButton;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.util.Log;
|
||||
@ -38,7 +36,6 @@ public class MainActivity extends AppCompatActivity {
|
||||
public static final int LAUNCH_ACTION_DEACTIVATE = 2;
|
||||
|
||||
private static MainActivity instance = null;
|
||||
private SharedPreferences prefs;
|
||||
|
||||
public static MainActivity getInstance() {
|
||||
return instance;
|
||||
@ -50,8 +47,6 @@ public class MainActivity extends AppCompatActivity {
|
||||
|
||||
instance = this;
|
||||
|
||||
initConfig();
|
||||
|
||||
setContentView(R.layout.activity_main);
|
||||
/*Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
|
||||
setSupportActionBar(toolbar);*/
|
||||
@ -152,11 +147,6 @@ public class MainActivity extends AppCompatActivity {
|
||||
updateUserInterface();
|
||||
}
|
||||
|
||||
private void initConfig() {
|
||||
PreferenceManager.setDefaultValues(this, R.xml.perf_settings, false);
|
||||
prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
}
|
||||
|
||||
private void activateService() {
|
||||
Intent intent = VpnService.prepare(this);
|
||||
if (intent != null) {
|
||||
@ -188,8 +178,8 @@ public class MainActivity extends AppCompatActivity {
|
||||
|
||||
protected void onActivityResult(int request, int result, Intent data) {
|
||||
if (result == RESULT_OK) {
|
||||
DaedalusVpnService.primaryServer = DnsServer.getDnsServerAddressById(prefs.getString("primary_server", "0"));
|
||||
DaedalusVpnService.secondaryServer = DnsServer.getDnsServerAddressById(prefs.getString("secondary_server", "1"));
|
||||
DaedalusVpnService.primaryServer = DnsServer.getDnsServerAddressById(Daedalus.getPrefs().getString("primary_server", "0"));
|
||||
DaedalusVpnService.secondaryServer = DnsServer.getDnsServerAddressById(Daedalus.getPrefs().getString("secondary_server", "1"));
|
||||
|
||||
startService(getServiceIntent().setAction(DaedalusVpnService.ACTION_ACTIVATE));
|
||||
|
||||
|
@ -21,6 +21,7 @@ import org.itxtech.daedalus.R;
|
||||
import org.itxtech.daedalus.util.DnsServer;
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Random;
|
||||
import java.util.Set;
|
||||
|
||||
@ -84,7 +85,15 @@ public class ServerTestActivity extends AppCompatActivity {
|
||||
testDomain = Daedalus.DEFAULT_TEST_DOMAINS[0];
|
||||
}
|
||||
StringBuilder testText = new StringBuilder();
|
||||
String[] dnsServers = {DnsServer.getDnsServerAddressByStringDescription(context, spinnerServerChoice.getSelectedItem().toString()), "114.114.114.114", "8.8.8.8"};
|
||||
ArrayList<String> dnsServers = new ArrayList<String>() {{
|
||||
add(DnsServer.getDnsServerAddressByStringDescription(context, spinnerServerChoice.getSelectedItem().toString()));
|
||||
String servers = Daedalus.getPrefs().getString("dns_test_servers", "");
|
||||
if (!servers.equals("")) {
|
||||
for (String server : servers.split(",")) {
|
||||
add(server);
|
||||
}
|
||||
}
|
||||
}};
|
||||
DNSClient client = new DNSClient(null);
|
||||
for (String dnsServer : dnsServers) {
|
||||
testText = testServer(client, dnsServer, testDomain, testText);
|
||||
|
@ -3,12 +3,9 @@ package org.itxtech.daedalus.receiver;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.net.VpnService;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.util.Log;
|
||||
import org.itxtech.daedalus.Daedalus;
|
||||
import org.itxtech.daedalus.R;
|
||||
import org.itxtech.daedalus.service.DaedalusVpnService;
|
||||
import org.itxtech.daedalus.util.DnsServer;
|
||||
|
||||
@ -25,17 +22,15 @@ import org.itxtech.daedalus.util.DnsServer;
|
||||
public class BootBroadcastReceiver extends BroadcastReceiver {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
PreferenceManager.setDefaultValues(context, R.xml.perf_settings, false);
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
if (prefs.getBoolean("settings_boot", false)) {
|
||||
if (Daedalus.getPrefs().getBoolean("settings_boot", false)) {
|
||||
|
||||
Intent vIntent = VpnService.prepare(context);
|
||||
if (vIntent != null) {
|
||||
context.startActivity(vIntent);
|
||||
}
|
||||
|
||||
DaedalusVpnService.primaryServer = DnsServer.getDnsServerAddressById(prefs.getString("primary_server", "0"));
|
||||
DaedalusVpnService.secondaryServer = DnsServer.getDnsServerAddressById(prefs.getString("secondary_server", "1"));
|
||||
DaedalusVpnService.primaryServer = DnsServer.getDnsServerAddressById(Daedalus.getPrefs().getString("primary_server", "0"));
|
||||
DaedalusVpnService.secondaryServer = DnsServer.getDnsServerAddressById(Daedalus.getPrefs().getString("secondary_server", "1"));
|
||||
|
||||
context.startService((new Intent(context, DaedalusVpnService.class)).setAction(DaedalusVpnService.ACTION_ACTIVATE));
|
||||
|
||||
|
@ -37,4 +37,5 @@
|
||||
<string name="notice_legacy_api">当前 Android API 无法支持所有功能。</string>
|
||||
<string name="settings_issue_tracker">提交反馈</string>
|
||||
<string name="settings_issue_summary">前往 GitHub 提交问题反馈。</string>
|
||||
<string name="settings_dns_test_servers">DNS 测试服务器</string>
|
||||
</resources>
|
@ -37,4 +37,5 @@
|
||||
<string name="notice_legacy_api">The current Android API can not support all the features.</string>
|
||||
<string name="settings_issue_tracker">Issue tracker</string>
|
||||
<string name="settings_issue_summary">Submit an issue in GitHub Issues page.</string>
|
||||
<string name="settings_dns_test_servers">DNS test servers</string>
|
||||
</resources>
|
||||
|
@ -16,6 +16,12 @@
|
||||
android:title="@string/secondary_server"
|
||||
android:defaultValue="1">
|
||||
</ListPreference>
|
||||
<EditTextPreference
|
||||
android:key="dns_test_servers"
|
||||
android:defaultValue="114.114.114.114,8.8.8.8"
|
||||
android:selectAllOnFocus="true"
|
||||
android:singleLine="true"
|
||||
android:title="@string/settings_dns_test_servers"/>
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory
|
||||
android:key="settings_system"
|
||||
|
Loading…
Reference in New Issue
Block a user