diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1979a6f..4000d81 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -24,12 +24,12 @@ + android:name=".service.DaedalusTileService" + android:label="@string/app_name" + android:icon="@drawable/ic_security" + android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> - + @@ -71,7 +71,11 @@ android:configChanges="keyboard|keyboardHidden|screenLayout|uiMode|orientation|screenSize|smallestScreenSize" android:theme="@style/AppTheme.NoActionBar"> - + - \ No newline at end of file + diff --git a/app/src/main/java/org/itxtech/daedalus/activity/FilterAppProxyActivity.java b/app/src/main/java/org/itxtech/daedalus/activity/AppFilterActivity.java similarity index 88% rename from app/src/main/java/org/itxtech/daedalus/activity/FilterAppProxyActivity.java rename to app/src/main/java/org/itxtech/daedalus/activity/AppFilterActivity.java index 7f5b52a..65cc4a2 100644 --- a/app/src/main/java/org/itxtech/daedalus/activity/FilterAppProxyActivity.java +++ b/app/src/main/java/org/itxtech/daedalus/activity/AppFilterActivity.java @@ -39,7 +39,7 @@ import java.util.Objects; * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. */ -public class FilterAppProxyActivity extends AppCompatActivity { +public class AppFilterActivity extends AppCompatActivity { private RecyclerViewAdapter adapter; @@ -50,7 +50,7 @@ public class FilterAppProxyActivity extends AppCompatActivity { } super.onCreate(savedInstanceState); - setContentView(R.layout.activity_filter_app); + setContentView(R.layout.activity_app_filter); Toolbar toolbar = findViewById(R.id.toolbar_filter); Drawable drawable = ContextCompat.getDrawable(this, R.drawable.ic_clear); RecyclerView recyclerView = findViewById(R.id.recyclerView_app_filter_list); @@ -60,19 +60,10 @@ public class FilterAppProxyActivity extends AppCompatActivity { DrawableCompat.setTint(wrappedDrawable, Color.WHITE); toolbar.setNavigationIcon(drawable); toolbar.setNavigationOnClickListener(v -> onBackPressed()); + toolbar.setTitle(R.string.settings_app_filter); adapter = new RecyclerViewAdapter(); recyclerView.setAdapter(adapter); - new Thread(() -> { - ArrayList appList = getAppList(); - adapter.updateList(appList); - }).start(); - } - - @Override - public void onPostCreate(Bundle savedInstanceState) { - super.onPostCreate(savedInstanceState); - Toolbar toolbar = findViewById(R.id.toolbar_filter); - toolbar.setTitle(R.string.settings_app_filter); + new Thread(() -> adapter.updateList(getAppList())).start(); } @Override @@ -122,7 +113,7 @@ public class FilterAppProxyActivity extends AppCompatActivity { appList = appObjects; for (int i = 0; i < appObjects.size(); i++) { - if (Daedalus.configurations.getFilterAppObjects().contains(appObjects.get(i).appPackageName)) { + if (Daedalus.configurations.getAppObjects().contains(appObjects.get(i).appPackageName)) { checkStatus.put(i, true); } } @@ -144,7 +135,7 @@ public class FilterAppProxyActivity extends AppCompatActivity { holder.appIcon.setImageDrawable(appList.get(position).appIcon); holder.appPackageName = packageName; holder.appCheck.setOnCheckedChangeListener(null); - if (Daedalus.configurations.getFilterAppObjects().contains(packageName)) { + if (Daedalus.configurations.getAppObjects().contains(packageName)) { holder.appCheck.setChecked(true); } holder.appCheck.setOnCheckedChangeListener((buttonView, isChecked) -> { @@ -186,10 +177,10 @@ public class FilterAppProxyActivity extends AppCompatActivity { public void onClick(View v) { if (appCheck.isChecked()) { appCheck.setChecked(false); - Daedalus.configurations.getFilterAppObjects().remove(appPackageName); + Daedalus.configurations.getAppObjects().remove(appPackageName); } else { appCheck.setChecked(true); - Daedalus.configurations.getFilterAppObjects().add(appPackageName); + Daedalus.configurations.getAppObjects().add(appPackageName); } } } diff --git a/app/src/main/java/org/itxtech/daedalus/fragment/GlobalConfigFragment.java b/app/src/main/java/org/itxtech/daedalus/fragment/GlobalConfigFragment.java index 403aa49..79353b9 100644 --- a/app/src/main/java/org/itxtech/daedalus/fragment/GlobalConfigFragment.java +++ b/app/src/main/java/org/itxtech/daedalus/fragment/GlobalConfigFragment.java @@ -5,7 +5,7 @@ import android.os.Bundle; import android.preference.*; import org.itxtech.daedalus.Daedalus; import org.itxtech.daedalus.R; -import org.itxtech.daedalus.activity.FilterAppProxyActivity; +import org.itxtech.daedalus.activity.AppFilterActivity; import org.itxtech.daedalus.activity.MainActivity; import org.itxtech.daedalus.util.server.DNSServerHelper; @@ -86,7 +86,7 @@ public class GlobalConfigFragment extends PreferenceFragment { }); findPreference("settings_app_filter_list").setOnPreferenceClickListener(preference -> { - startActivity(new Intent(getActivity(), FilterAppProxyActivity.class)); + startActivity(new Intent(getActivity(), AppFilterActivity.class)); return false; }); diff --git a/app/src/main/java/org/itxtech/daedalus/fragment/RuleConfigFragment.java b/app/src/main/java/org/itxtech/daedalus/fragment/RuleConfigFragment.java index 1c4caef..883eddf 100644 --- a/app/src/main/java/org/itxtech/daedalus/fragment/RuleConfigFragment.java +++ b/app/src/main/java/org/itxtech/daedalus/fragment/RuleConfigFragment.java @@ -42,9 +42,9 @@ import java.util.concurrent.TimeUnit; */ public class RuleConfigFragment extends ConfigFragment { private static final OkHttpClient HTTP_CLIENT = new OkHttpClient.Builder() - .connectTimeout(5, TimeUnit.SECONDS) - .readTimeout(10, TimeUnit.SECONDS) - .writeTimeout(10, TimeUnit.SECONDS) + .connectTimeout(30, TimeUnit.SECONDS) + .readTimeout(30, TimeUnit.SECONDS) + .writeTimeout(30, TimeUnit.SECONDS) .build(); private static final int READ_REQUEST_CODE = 1; diff --git a/app/src/main/java/org/itxtech/daedalus/util/Configurations.java b/app/src/main/java/org/itxtech/daedalus/util/Configurations.java index d4a7630..7de91c7 100644 --- a/app/src/main/java/org/itxtech/daedalus/util/Configurations.java +++ b/app/src/main/java/org/itxtech/daedalus/util/Configurations.java @@ -4,7 +4,6 @@ import com.google.gson.Gson; import com.google.gson.stream.JsonReader; import org.itxtech.daedalus.Daedalus; import org.itxtech.daedalus.util.server.CustomDNSServer; -import org.itxtech.daedalus.util.server.DNSServer; import java.io.File; import java.io.FileReader; @@ -28,9 +27,8 @@ public class Configurations { private static File file; - private ArrayList builtInDNSServers; private ArrayList customDNSServers; - private ArrayList filterAppObjects; + private ArrayList appObjects; private ArrayList hostsRules; private ArrayList dnsmasqRules; @@ -69,11 +67,11 @@ public class Configurations { return customDNSServers; } - public ArrayList getFilterAppObjects() { - if (filterAppObjects == null) { - filterAppObjects = new ArrayList<>(); + public ArrayList getAppObjects() { + if (appObjects == null) { + appObjects = new ArrayList<>(); } - return filterAppObjects; + return appObjects; } public ArrayList getHostsRules() { diff --git a/app/src/main/res/layout/activity_filter_app.xml b/app/src/main/res/layout/activity_app_filter.xml similarity index 100% rename from app/src/main/res/layout/activity_filter_app.xml rename to app/src/main/res/layout/activity_app_filter.xml diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 9ff148d..db68622 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -74,7 +74,7 @@ 同步规则 规则文件名 导入 - 内置 + 内置 外部 服务器名称 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 9aa95ab..2d0bedc 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -73,7 +73,7 @@ 同步規則 規則檔案名稱 匯入 - 内置 + 内置 外部 DNS 查询方式 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 62e2d9b..9c1de0f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -79,7 +79,7 @@ Sync Rule Rule Filename Import - Build-in + Built-in External Server Name diff --git a/app/src/main/res/xml/perf_rule.xml b/app/src/main/res/xml/perf_rule.xml index 1db13ab..5e24c80 100644 --- a/app/src/main/res/xml/perf_rule.xml +++ b/app/src/main/res/xml/perf_rule.xml @@ -32,9 +32,9 @@ android:title="@string/settings_rule_import"> + android:title="@string/settings_rule_import_built_in"/> - \ No newline at end of file +