From c7d1e8abd38ccd1cfe3c030db279ad3ad8c4d1ad Mon Sep 17 00:00:00 2001 From: FongMi Date: Sat, 25 Jun 2022 18:05:59 +0800 Subject: [PATCH] Use full screen and show progress when change url --- .../fongmi/bear/ui/activity/BaseActivity.java | 17 ----------------- .../bear/ui/activity/SettingActivity.java | 3 ++- .../bear/ui/custom/SpaceItemDecoration.java | 8 ++++---- .../main/java/com/fongmi/bear/utils/Notify.java | 17 ++++++++++++++++- .../main/java/com/fongmi/bear/utils/Utils.java | 6 ------ .../com/github/catvod/crawler/JarLoader.java | 2 +- app/src/main/res/layout/dialog_progress.xml | 7 +++++++ app/src/main/res/values/styles.xml | 1 + settings.gradle | 4 ++-- 9 files changed, 33 insertions(+), 32 deletions(-) create mode 100644 app/src/main/res/layout/dialog_progress.xml diff --git a/app/src/main/java/com/fongmi/bear/ui/activity/BaseActivity.java b/app/src/main/java/com/fongmi/bear/ui/activity/BaseActivity.java index 68bab4490..ed7db8804 100644 --- a/app/src/main/java/com/fongmi/bear/ui/activity/BaseActivity.java +++ b/app/src/main/java/com/fongmi/bear/ui/activity/BaseActivity.java @@ -1,15 +1,11 @@ package com.fongmi.bear.ui.activity; import android.app.Activity; -import android.content.res.Configuration; import android.os.Bundle; -import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.viewbinding.ViewBinding; -import com.fongmi.bear.utils.Utils; - public abstract class BaseActivity extends AppCompatActivity { protected abstract ViewBinding getBinding(); @@ -18,7 +14,6 @@ public abstract class BaseActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(getBinding().getRoot()); - Utils.hideSystemUI(this); initView(); initEvent(); } @@ -32,16 +27,4 @@ public abstract class BaseActivity extends AppCompatActivity { protected void initEvent() { } - - @Override - public void onConfigurationChanged(@NonNull Configuration newConfig) { - super.onConfigurationChanged(newConfig); - Utils.hideSystemUI(this); - } - - @Override - public void onWindowFocusChanged(boolean hasFocus) { - super.onWindowFocusChanged(hasFocus); - if (hasFocus) Utils.hideSystemUI(this); - } } diff --git a/app/src/main/java/com/fongmi/bear/ui/activity/SettingActivity.java b/app/src/main/java/com/fongmi/bear/ui/activity/SettingActivity.java index c28fc2f48..0d3354be2 100644 --- a/app/src/main/java/com/fongmi/bear/ui/activity/SettingActivity.java +++ b/app/src/main/java/com/fongmi/bear/ui/activity/SettingActivity.java @@ -44,16 +44,17 @@ public class SettingActivity extends BaseActivity { Notify.show(this, bindingDialog.getRoot(), (dialogInterface, i) -> { Prefers.put("url", bindingDialog.url.getText().toString().trim()); binding.url.setText(Prefers.getUrl()); + Notify.progress(this); reloadConfig(); }); } - //TODO SHOW PROGRESS private void reloadConfig() { ApiConfig.get().loadConfig(new Callback() { @Override public void success() { setResult(RESULT_OK); + Notify.dismiss(); } @Override diff --git a/app/src/main/java/com/fongmi/bear/ui/custom/SpaceItemDecoration.java b/app/src/main/java/com/fongmi/bear/ui/custom/SpaceItemDecoration.java index 7fa921b4b..dfd9f873a 100644 --- a/app/src/main/java/com/fongmi/bear/ui/custom/SpaceItemDecoration.java +++ b/app/src/main/java/com/fongmi/bear/ui/custom/SpaceItemDecoration.java @@ -10,10 +10,10 @@ import com.fongmi.bear.utils.ResUtil; public class SpaceItemDecoration extends RecyclerView.ItemDecoration { - private boolean includeEdge; - private int spanCount; - private int spacing; - private int headerNum; + private final boolean includeEdge; + private final int spanCount; + private final int spacing; + private final int headerNum; public SpaceItemDecoration(int spanCount, int spacing, boolean includeEdge, int headerNum) { this.spanCount = spanCount; diff --git a/app/src/main/java/com/fongmi/bear/utils/Notify.java b/app/src/main/java/com/fongmi/bear/utils/Notify.java index d538f789c..a4659c9f6 100644 --- a/app/src/main/java/com/fongmi/bear/utils/Notify.java +++ b/app/src/main/java/com/fongmi/bear/utils/Notify.java @@ -2,6 +2,7 @@ package com.fongmi.bear.utils; import android.content.Context; import android.content.DialogInterface; +import android.view.LayoutInflater; import android.view.View; import android.widget.Toast; @@ -9,11 +10,13 @@ import androidx.appcompat.app.AlertDialog; import com.fongmi.bear.App; import com.fongmi.bear.R; +import com.fongmi.bear.databinding.DialogProgressBinding; import com.google.android.material.dialog.MaterialAlertDialogBuilder; public class Notify { private Toast mToast; + private AlertDialog mProgress; private static class Loader { static volatile Notify INSTANCE = new Notify(); @@ -32,14 +35,26 @@ public class Notify { } public static void show(Context context, View view, DialogInterface.OnClickListener listener) { - AlertDialog dialog = new MaterialAlertDialogBuilder(context).setView(view).setNegativeButton(R.string.dialog_negative, null).setPositiveButton(R.string.dialog_positive, listener).show(); + AlertDialog dialog = new MaterialAlertDialogBuilder(context).setView(view).setNegativeButton(R.string.dialog_negative, null).setPositiveButton(R.string.dialog_positive, listener).create(); dialog.getWindow().setDimAmount(0); dialog.show(); } + public static void progress(Context context) { + DialogProgressBinding binding = DialogProgressBinding.inflate(LayoutInflater.from(context)); + get().mProgress = new MaterialAlertDialogBuilder(context).setView(binding.getRoot()).create(); + get().mProgress.getWindow().setBackgroundDrawableResource(android.R.color.transparent); + get().mProgress.show(); + } + + public static void dismiss() { + if (get().mProgress != null && get().mProgress.isShowing()) get().mProgress.dismiss(); + } + private void makeText(String message) { if (mToast != null) mToast.cancel(); mToast = Toast.makeText(App.get(), message, Toast.LENGTH_LONG); mToast.show(); + dismiss(); } } diff --git a/app/src/main/java/com/fongmi/bear/utils/Utils.java b/app/src/main/java/com/fongmi/bear/utils/Utils.java index 749463f99..1e047082a 100644 --- a/app/src/main/java/com/fongmi/bear/utils/Utils.java +++ b/app/src/main/java/com/fongmi/bear/utils/Utils.java @@ -7,7 +7,6 @@ import android.os.Build; import android.provider.Settings; import android.util.Rational; import android.view.KeyEvent; -import android.view.View; import android.widget.ImageView; import com.bumptech.glide.Glide; @@ -66,11 +65,6 @@ public class Utils { Glide.with(App.get()).load(url).transform(new CenterCrop(), new RoundedCorners(ResUtil.dp2px(8))).into(view); } - public static void hideSystemUI(Activity activity) { - int flags = View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; - activity.getWindow().getDecorView().setSystemUiVisibility(flags); - } - public static boolean hasPIP() { return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && App.get().getPackageManager().hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE); } diff --git a/app/src/main/java/com/github/catvod/crawler/JarLoader.java b/app/src/main/java/com/github/catvod/crawler/JarLoader.java index 2f669c1ca..67b1988f9 100644 --- a/app/src/main/java/com/github/catvod/crawler/JarLoader.java +++ b/app/src/main/java/com/github/catvod/crawler/JarLoader.java @@ -73,7 +73,7 @@ public class JarLoader { public Spider getSpider(String key, String ext) { String clsKey = key.replace("csp_", ""); - if (spiders.contains(clsKey)) return spiders.get(clsKey); + if (spiders.containsKey(clsKey)) return spiders.get(clsKey); if (classLoader == null) return new SpiderNull(); try { Spider spider = (Spider) classLoader.loadClass("com.github.catvod.spider." + clsKey).newInstance(); diff --git a/app/src/main/res/layout/dialog_progress.xml b/app/src/main/res/layout/dialog_progress.xml new file mode 100644 index 000000000..167efd235 --- /dev/null +++ b/app/src/main/res/layout/dialog_progress.xml @@ -0,0 +1,7 @@ + + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 64cf59195..ddaca3030 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -8,6 +8,7 @@ @color/blue_500 @null @drawable/wallpaper_1 + true true true diff --git a/settings.gradle b/settings.gradle index f817ef0d9..c4de59805 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,15 +1,15 @@ pluginManagement { repositories { gradlePluginPortal() - google() mavenCentral() + google() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { - google() mavenCentral() + google() } } rootProject.name = "BearTV"