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 @@