diff --git a/app/build.gradle b/app/build.gradle
index ea4b1d15..32a0a934 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -31,8 +31,8 @@ android {
minSdkVersion 26
//noinspection OldTargetApi
targetSdkVersion 27
- versionCode 45409
- versionName "4.5.4.5"
+ versionCode 45410
+ versionName "4.5.4.6"
signingConfig signingConfigs.release
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f253cdf7..40495f21 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -61,7 +61,13 @@
android:label="@string/Modules" />
+ android:label="@string/Settings">
+
+
+
+
+
+
NavUtil.startURL((AppCompatActivity) getActivity(), tab.support));
+ binding.showOnXda.setOnClickListener(v -> NavUtil.startURL((BaseActivity) getActivity(), tab.support));
binding.updateDescription.setOnClickListener(v -> new MaterialAlertDialogBuilder(Objects.requireNonNull(getContext()))
.setTitle(R.string.changes)
.setMessage(HtmlCompat.fromHtml(tab.description, HtmlCompat.FROM_HTML_MODE_LEGACY))
diff --git a/app/src/main/java/org/meowcat/edxposed/manager/DownloadActivity.java b/app/src/main/java/org/meowcat/edxposed/manager/DownloadActivity.java
index cb2b4441..c55599f3 100644
--- a/app/src/main/java/org/meowcat/edxposed/manager/DownloadActivity.java
+++ b/app/src/main/java/org/meowcat/edxposed/manager/DownloadActivity.java
@@ -6,7 +6,6 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.res.Resources;
-import android.content.res.TypedArray;
import android.database.Cursor;
import android.net.ConnectivityManager;
import android.net.Uri;
@@ -344,10 +343,7 @@ public class DownloadActivity extends BaseActivity implements RepoLoader.RepoLis
txtStatus.setText(context.getString(
R.string.download_status_installed, installedVersion));
txtStatus.setTextColor(ContextCompat.getColor(DownloadActivity.this, R.color.warning));
- TypedArray typedArray = DownloadActivity.this.getTheme().obtainStyledAttributes(new int[]{android.R.attr.textColorHighlight});
- int textColor = typedArray.getColor(0, 0);
- typedArray.recycle();
- txtStatus.setTextColor(textColor);
+ txtStatus.setTextColor(getThemedColor(android.R.attr.textColorHighlight));
txtStatus.setVisibility(View.VISIBLE);
} else {
txtStatus.setVisibility(View.GONE);
diff --git a/app/src/main/java/org/meowcat/edxposed/manager/DownloadDetailsFragment.java b/app/src/main/java/org/meowcat/edxposed/manager/DownloadDetailsFragment.java
index cb4e962f..d967f56d 100644
--- a/app/src/main/java/org/meowcat/edxposed/manager/DownloadDetailsFragment.java
+++ b/app/src/main/java/org/meowcat/edxposed/manager/DownloadDetailsFragment.java
@@ -10,7 +10,6 @@ import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
-import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.ViewCompat;
import androidx.fragment.app.Fragment;
@@ -52,7 +51,7 @@ public class DownloadDetailsFragment extends Fragment {
if (module.description != null) {
if (module.descriptionIsHtml) {
binding.downloadDescription.setText(RepoParser.parseSimpleHtml(getActivity(), module.description, binding.downloadDescription));
- binding.downloadDescription.setTransformationMethod(new LinkTransformationMethod((AppCompatActivity) getActivity()));
+ binding.downloadDescription.setTransformationMethod(new LinkTransformationMethod((BaseActivity) getActivity()));
binding.downloadDescription.setMovementMethod(LinkMovementMethod.getInstance());
} else {
binding.downloadDescription.setText(module.description);
@@ -71,7 +70,7 @@ public class DownloadDetailsFragment extends Fragment {
final Uri link = NavUtil.parseURL(moreInfoEntry.second);
if (link != null) {
moreinfoBinding.message.setTextColor(moreinfoBinding.message.getLinkTextColors());
- moreinfoBinding.getRoot().setOnClickListener(v -> NavUtil.startURL((AppCompatActivity) getActivity(), link));
+ moreinfoBinding.getRoot().setOnClickListener(v -> NavUtil.startURL((BaseActivity) getActivity(), link));
}
binding.downloadMoreinfoContainer.addView(moreinfoBinding.getRoot());
diff --git a/app/src/main/java/org/meowcat/edxposed/manager/DownloadDetailsVersionsFragment.java b/app/src/main/java/org/meowcat/edxposed/manager/DownloadDetailsVersionsFragment.java
index eeaabfdf..fcf79037 100644
--- a/app/src/main/java/org/meowcat/edxposed/manager/DownloadDetailsVersionsFragment.java
+++ b/app/src/main/java/org/meowcat/edxposed/manager/DownloadDetailsVersionsFragment.java
@@ -20,7 +20,6 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
import androidx.core.view.ViewCompat;
import androidx.fragment.app.ListFragment;
@@ -283,7 +282,7 @@ public class DownloadDetailsVersionsFragment extends ListFragment {
if (item.changelogIsHtml) {
holder.txtChanges.setText(RepoParser.parseSimpleHtml(getActivity(), item.changelog, holder.txtChanges));
- holder.txtChanges.setTransformationMethod(new LinkTransformationMethod((AppCompatActivity) getActivity()));
+ holder.txtChanges.setTransformationMethod(new LinkTransformationMethod((BaseActivity) getActivity()));
holder.txtChanges.setMovementMethod(LinkMovementMethod.getInstance());
} else {
holder.txtChanges.setText(item.changelog);
diff --git a/app/src/main/java/org/meowcat/edxposed/manager/SettingsActivity.java b/app/src/main/java/org/meowcat/edxposed/manager/SettingsActivity.java
index fab3d22f..2463a1fa 100644
--- a/app/src/main/java/org/meowcat/edxposed/manager/SettingsActivity.java
+++ b/app/src/main/java/org/meowcat/edxposed/manager/SettingsActivity.java
@@ -393,21 +393,21 @@ public class SettingsActivity extends BaseActivity {
});
}
- /*SwitchPreferenceCompat transparent = findPreference("transparent_status_bar");
+ SwitchPreferenceCompat transparent = findPreference("transparent_status_bar");
if (transparent != null) {
transparent.setOnPreferenceChangeListener((preference, newValue) -> {
boolean enabled = (Boolean) newValue;
- Activity activity = getActivity();
- if (activity != null && activity.getWindow().getStatusBarColor() != Color.BLACK) {
+ SettingsActivity activity = (SettingsActivity) getActivity();
+ if (activity != null) {
if (enabled) {
- activity.getWindow().setStatusBarColor(ContextCompat.getColor(activity, R.color.colorActionBar));
+ activity.getWindow().setStatusBarColor(activity.getThemedColor(R.attr.colorActionBar));
} else {
- activity.getWindow().setStatusBarColor(ContextCompat.getColor(activity, R.color.colorPrimaryDark));
+ activity.getWindow().setStatusBarColor(activity.getThemedColor(R.attr.colorPrimaryDark));
}
}
return true;
});
- }*/
+ }
Preference compat_mode = findPreference("compat_mode");
if (compat_mode != null) {
diff --git a/app/src/main/java/org/meowcat/edxposed/manager/receivers/DownloadReceiver.java b/app/src/main/java/org/meowcat/edxposed/manager/receivers/DownloadReceiver.java
index ffa77cd1..b24ca571 100644
--- a/app/src/main/java/org/meowcat/edxposed/manager/receivers/DownloadReceiver.java
+++ b/app/src/main/java/org/meowcat/edxposed/manager/receivers/DownloadReceiver.java
@@ -4,6 +4,7 @@ import android.app.DownloadManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
+import android.widget.Toast;
import org.meowcat.edxposed.manager.util.DownloadsUtil;
@@ -18,6 +19,7 @@ public class DownloadReceiver extends BroadcastReceiver {
}
} catch (Exception e) {//Flyme
e.printStackTrace();
+ Toast.makeText(context, "shit flyme boom", Toast.LENGTH_LONG).show();
}
}
diff --git a/app/src/main/java/org/meowcat/edxposed/manager/util/DownloadsUtil.java b/app/src/main/java/org/meowcat/edxposed/manager/util/DownloadsUtil.java
index 969f6000..6e0f819f 100644
--- a/app/src/main/java/org/meowcat/edxposed/manager/util/DownloadsUtil.java
+++ b/app/src/main/java/org/meowcat/edxposed/manager/util/DownloadsUtil.java
@@ -32,7 +32,6 @@ import java.util.Objects;
public class DownloadsUtil {
public static final String MIME_TYPE_APK = "application/vnd.android.package-archive";
- //private static final String MIME_TYPE_ZIP = "application/zip";
private static final Map callbacks = new HashMap<>();
private static final SharedPreferences pref = XposedApp.getInstance().getSharedPreferences("download_cache", Context.MODE_PRIVATE);
@@ -47,17 +46,10 @@ public class DownloadsUtil {
Request request = new Request(Uri.parse(b.url));
request.setTitle(b.title);
request.setMimeType(b.mimeType.toString());
- /*if (b.mSave) {
- try {
- request.setDestinationInExternalPublicDir(savePath, b.title + b.mimeType.getExtension());
- } catch (IllegalStateException e) {
- Toast.makeText(context, e.getMessage(), Toast.LENGTH_SHORT).show();
- }
- } else */
+ request.setNotificationVisibility(Request.VISIBILITY_VISIBLE);
File destination = new File(context.getExternalCacheDir(), "/downloads/" + b.title + b.mimeType.getExtension());
removeAllForLocalFile(context, destination);
request.setDestinationUri(Uri.fromFile(destination));
- request.setNotificationVisibility(Request.VISIBILITY_VISIBLE);
DownloadManager dm = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
long id = dm.enqueue(request);
diff --git a/app/src/main/java/org/meowcat/edxposed/manager/util/NavUtil.java b/app/src/main/java/org/meowcat/edxposed/manager/util/NavUtil.java
index 64e2c43e..80005bf8 100644
--- a/app/src/main/java/org/meowcat/edxposed/manager/util/NavUtil.java
+++ b/app/src/main/java/org/meowcat/edxposed/manager/util/NavUtil.java
@@ -9,12 +9,11 @@ import android.text.util.Linkify;
import androidx.annotation.AnyThread;
import androidx.annotation.NonNull;
-import androidx.appcompat.app.AppCompatActivity;
import androidx.browser.customtabs.CustomTabsIntent;
-import androidx.core.content.ContextCompat;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+import org.meowcat.edxposed.manager.BaseActivity;
import org.meowcat.edxposed.manager.R;
import org.meowcat.edxposed.manager.XposedApp;
@@ -31,14 +30,14 @@ public final class NavUtil {
return (spans.length > 0) ? Uri.parse(spans[0].getURL()) : null;
}
- public static void startURL(AppCompatActivity activity, Uri uri) {
+ public static void startURL(BaseActivity activity, Uri uri) {
CustomTabsIntent.Builder customTabsIntent = new CustomTabsIntent.Builder();
customTabsIntent.setShowTitle(true);
- customTabsIntent.setToolbarColor(ContextCompat.getColor(activity, R.color.colorActionBar));
+ customTabsIntent.setToolbarColor(activity.getThemedColor(R.attr.colorActionBar));
customTabsIntent.build().launchUrl(activity, uri);
}
- public static void startURL(AppCompatActivity activity, String url) {
+ public static void startURL(BaseActivity activity, String url) {
startURL(activity, parseURL(url));
}
diff --git a/app/src/main/java/org/meowcat/edxposed/manager/util/chrome/CustomTabsURLSpan.java b/app/src/main/java/org/meowcat/edxposed/manager/util/chrome/CustomTabsURLSpan.java
index c0b66544..45a9c1cc 100644
--- a/app/src/main/java/org/meowcat/edxposed/manager/util/chrome/CustomTabsURLSpan.java
+++ b/app/src/main/java/org/meowcat/edxposed/manager/util/chrome/CustomTabsURLSpan.java
@@ -3,8 +3,7 @@ package org.meowcat.edxposed.manager.util.chrome;
import android.text.style.URLSpan;
import android.view.View;
-import androidx.appcompat.app.AppCompatActivity;
-
+import org.meowcat.edxposed.manager.BaseActivity;
import org.meowcat.edxposed.manager.util.NavUtil;
/**
@@ -12,9 +11,9 @@ import org.meowcat.edxposed.manager.util.NavUtil;
*/
public class CustomTabsURLSpan extends URLSpan {
- private AppCompatActivity activity;
+ private BaseActivity activity;
- CustomTabsURLSpan(AppCompatActivity activity, String url) {
+ CustomTabsURLSpan(BaseActivity activity, String url) {
super(url);
this.activity = activity;
}
diff --git a/app/src/main/java/org/meowcat/edxposed/manager/util/chrome/LinkTransformationMethod.java b/app/src/main/java/org/meowcat/edxposed/manager/util/chrome/LinkTransformationMethod.java
index 7e37722f..9621a489 100644
--- a/app/src/main/java/org/meowcat/edxposed/manager/util/chrome/LinkTransformationMethod.java
+++ b/app/src/main/java/org/meowcat/edxposed/manager/util/chrome/LinkTransformationMethod.java
@@ -9,16 +9,16 @@ import android.text.util.Linkify;
import android.view.View;
import android.widget.TextView;
-import androidx.appcompat.app.AppCompatActivity;
+import org.meowcat.edxposed.manager.BaseActivity;
/**
* Created by Nikola D. on 12/23/2015.
*/
public class LinkTransformationMethod implements TransformationMethod {
- private AppCompatActivity activity;
+ private BaseActivity activity;
- public LinkTransformationMethod(AppCompatActivity activity) {
+ public LinkTransformationMethod(BaseActivity activity) {
this.activity = activity;
}
diff --git a/app/src/main/res/layout/item_module.xml b/app/src/main/res/layout/item_module.xml
index b68ac362..c73879a1 100644
--- a/app/src/main/res/layout/item_module.xml
+++ b/app/src/main/res/layout/item_module.xml
@@ -87,7 +87,7 @@
app:layout_constraintTop_toBottomOf="@+id/timestamps"
tools:text="@tools:sample/lorem" />
- 主要色
强调色
着色应用栏
+ 主题
diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml
index 84bfaba7..43b72850 100644
--- a/app/src/main/res/values-zh-rHK/strings.xml
+++ b/app/src/main/res/values-zh-rHK/strings.xml
@@ -300,4 +300,5 @@
主要色
強調色
着色應用欄
+ 主題
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index c074beb1..d8e4daa7 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -300,4 +300,5 @@
主要色
強調色
著色應用欄
+ 主題
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index bca96154..3ed51dd6 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -9,7 +9,7 @@
@color/red_500
#4CAF50
#FFC107
- @color/colorPrimary
+ ?colorPrimary
#eafafafa
#35C0CA
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 938b15f0..a3f51234 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,5 +1,5 @@
- EdXposed Manager
+ EdXposed Manager
Settings
Activated
Inactivate
@@ -331,4 +331,5 @@
Primary color
Accent color
Colorized action bar
+ Theme
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 7cf78c71..0c6a49e3 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -34,8 +34,6 @@