From d9712a353e0a55ce3786871816f51309efe9cab5 Mon Sep 17 00:00:00 2001
From: PeratX <1215714524@qq.com>
Date: Mon, 15 Jul 2019 09:47:35 +0800
Subject: [PATCH] AppFilter: optimizations
---
app/src/main/AndroidManifest.xml | 18 +++++++------
...xyActivity.java => AppFilterActivity.java} | 25 ++++++-------------
.../fragment/GlobalConfigFragment.java | 4 +--
.../daedalus/fragment/RuleConfigFragment.java | 6 ++---
.../itxtech/daedalus/util/Configurations.java | 12 ++++-----
...filter_app.xml => activity_app_filter.xml} | 0
app/src/main/res/values-zh-rCN/strings.xml | 2 +-
app/src/main/res/values-zh-rTW/strings.xml | 2 +-
app/src/main/res/values/strings.xml | 2 +-
app/src/main/res/xml/perf_rule.xml | 4 +--
10 files changed, 34 insertions(+), 41 deletions(-)
rename app/src/main/java/org/itxtech/daedalus/activity/{FilterAppProxyActivity.java => AppFilterActivity.java} (88%)
rename app/src/main/res/layout/{activity_filter_app.xml => activity_app_filter.xml} (100%)
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
+