From 06ee0b30ba84c800e30b7590c01063fa9d3836cd Mon Sep 17 00:00:00 2001 From: FongMi Date: Mon, 25 Jul 2022 18:38:21 +0800 Subject: [PATCH] Clean code --- .../fongmi/bear/ui/activity/PlayActivity.java | 3 +- .../java/com/fongmi/bear/utils/Clock.java | 78 +++++++++---------- .../java/com/fongmi/bear/utils/KeyDown.java | 58 +++++++++++--- .../java/com/fongmi/bear/utils/Utils.java | 43 +--------- 4 files changed, 90 insertions(+), 92 deletions(-) diff --git a/app/src/main/java/com/fongmi/bear/ui/activity/PlayActivity.java b/app/src/main/java/com/fongmi/bear/ui/activity/PlayActivity.java index 576417360..1c895abd1 100644 --- a/app/src/main/java/com/fongmi/bear/ui/activity/PlayActivity.java +++ b/app/src/main/java/com/fongmi/bear/ui/activity/PlayActivity.java @@ -20,7 +20,6 @@ import com.fongmi.bear.utils.KeyDown; import com.fongmi.bear.utils.Notify; import com.fongmi.bear.utils.Prefers; import com.fongmi.bear.utils.ResUtil; -import com.fongmi.bear.utils.Utils; import com.google.android.exoplayer2.Player; import org.greenrobot.eventbus.EventBus; @@ -142,7 +141,7 @@ public class PlayActivity extends BaseActivity implements KeyDownImpl { @Override public boolean dispatchKeyEvent(KeyEvent event) { - if (!mBinding.video.isControllerFullyVisible() && Utils.hasEvent(event)) return mKeyDown.onKeyDown(event); + if (!mBinding.video.isControllerFullyVisible() && mKeyDown.hasEvent(event)) return mKeyDown.onKeyDown(event); else return super.dispatchKeyEvent(event); } diff --git a/app/src/main/java/com/fongmi/bear/utils/Clock.java b/app/src/main/java/com/fongmi/bear/utils/Clock.java index 11723c812..69d7f2a65 100644 --- a/app/src/main/java/com/fongmi/bear/utils/Clock.java +++ b/app/src/main/java/com/fongmi/bear/utils/Clock.java @@ -12,43 +12,43 @@ import java.util.TimerTask; public class Clock { - private final SimpleDateFormat formatter; - private final Handler handler; - private Timer timer; - - private static class Loader { - static volatile Clock INSTANCE = new Clock(); - } - - public static Clock get() { - return Loader.INSTANCE; - } - - public Clock() { - this.formatter = new SimpleDateFormat("MM/dd HH:mm:ss", Locale.getDefault()); - this.handler = new Handler(Looper.getMainLooper()); - } - - public static void start(TextView view) { - get().cancel(); - get().run(view); - } - - public static void destroy() { - get().cancel(); - } - - private void run(TextView view) { - timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - handler.post(() -> view.setText(formatter.format(new Date()))); - } - }, 0, 1000); - } - - private void cancel() { - if (timer != null) timer.cancel(); - } + private final SimpleDateFormat formatter; + private final Handler handler; + private Timer timer; + + private static class Loader { + static volatile Clock INSTANCE = new Clock(); + } + + public static Clock get() { + return Loader.INSTANCE; + } + + public Clock() { + this.formatter = new SimpleDateFormat("MM/dd HH:mm:ss", Locale.getDefault()); + this.handler = new Handler(Looper.getMainLooper()); + } + + public static void start(TextView view) { + get().cancel(); + get().run(view); + } + + public static void destroy() { + get().cancel(); + } + + private void run(TextView view) { + timer = new Timer(); + timer.schedule(new TimerTask() { + @Override + public void run() { + handler.post(() -> view.setText(formatter.format(new Date()))); + } + }, 0, 1000); + } + + private void cancel() { + if (timer != null) timer.cancel(); + } } diff --git a/app/src/main/java/com/fongmi/bear/utils/KeyDown.java b/app/src/main/java/com/fongmi/bear/utils/KeyDown.java index b9a9cdf48..56b80cc18 100644 --- a/app/src/main/java/com/fongmi/bear/utils/KeyDown.java +++ b/app/src/main/java/com/fongmi/bear/utils/KeyDown.java @@ -18,23 +18,23 @@ public class KeyDown { } public boolean onKeyDown(KeyEvent event) { - if (event.getAction() == KeyEvent.ACTION_DOWN && Utils.isLeftKey(event)) { + if (event.getAction() == KeyEvent.ACTION_DOWN && isLeftKey(event)) { mKeyDown.onSeek(false); - } else if (event.getAction() == KeyEvent.ACTION_DOWN && Utils.isRightKey(event)) { + } else if (event.getAction() == KeyEvent.ACTION_DOWN && isRightKey(event)) { mKeyDown.onSeek(true); - } else if (event.getAction() == KeyEvent.ACTION_UP && Utils.isUpKey(event)) { + } else if (event.getAction() == KeyEvent.ACTION_UP && isUpKey(event)) { mKeyDown.onKeyUp(); - } else if (event.getAction() == KeyEvent.ACTION_UP && Utils.isDownKey(event)) { + } else if (event.getAction() == KeyEvent.ACTION_UP && isDownKey(event)) { mKeyDown.onKeyDown(); - } else if (event.getAction() == KeyEvent.ACTION_UP && Utils.isLeftKey(event)) { + } else if (event.getAction() == KeyEvent.ACTION_UP && isLeftKey(event)) { mKeyDown.onKeyLeft(); - } else if (event.getAction() == KeyEvent.ACTION_UP && Utils.isRightKey(event)) { + } else if (event.getAction() == KeyEvent.ACTION_UP && isRightKey(event)) { mKeyDown.onKeyRight(); - } else if (event.getAction() == KeyEvent.ACTION_UP && Utils.isBackKey(event)) { + } else if (event.getAction() == KeyEvent.ACTION_UP && isBackKey(event)) { mKeyDown.onKeyBack(); - } else if (event.getAction() == KeyEvent.ACTION_UP && Utils.isMenuKey(event)) { + } else if (event.getAction() == KeyEvent.ACTION_UP && isMenuKey(event)) { mKeyDown.onKeyMenu(); - } else if (Utils.isEnterKey(event)) { + } else if (isEnterKey(event)) { checkPress(event); } return true; @@ -49,4 +49,44 @@ public class KeyDown { else mKeyDown.onKeyCenter(); } } + + public boolean hasEvent(KeyEvent event) { + return isArrowKey(event) || isBackKey(event) || isMenuKey(event) || isDigitKey(event) || event.isLongPress(); + } + + private boolean isArrowKey(KeyEvent event) { + return isEnterKey(event) || isUpKey(event) || isDownKey(event) || isLeftKey(event) || isRightKey(event); + } + + private boolean isBackKey(KeyEvent event) { + return event.getKeyCode() == KeyEvent.KEYCODE_BACK; + } + + private boolean isMenuKey(KeyEvent event) { + return event.getKeyCode() == KeyEvent.KEYCODE_MENU; + } + + private boolean isDigitKey(KeyEvent event) { + return event.getKeyCode() >= KeyEvent.KEYCODE_0 && event.getKeyCode() <= KeyEvent.KEYCODE_9 || event.getKeyCode() >= KeyEvent.KEYCODE_NUMPAD_0 && event.getKeyCode() <= KeyEvent.KEYCODE_NUMPAD_9; + } + + private boolean isEnterKey(KeyEvent event) { + return event.getKeyCode() == KeyEvent.KEYCODE_DPAD_CENTER || event.getKeyCode() == KeyEvent.KEYCODE_ENTER || event.getKeyCode() == KeyEvent.KEYCODE_SPACE || event.getKeyCode() == KeyEvent.KEYCODE_NUMPAD_ENTER; + } + + private boolean isUpKey(KeyEvent event) { + return event.getKeyCode() == KeyEvent.KEYCODE_DPAD_UP || event.getKeyCode() == KeyEvent.KEYCODE_CHANNEL_UP || event.getKeyCode() == KeyEvent.KEYCODE_PAGE_UP || event.getKeyCode() == KeyEvent.KEYCODE_MEDIA_PREVIOUS; + } + + private boolean isDownKey(KeyEvent event) { + return event.getKeyCode() == KeyEvent.KEYCODE_DPAD_DOWN || event.getKeyCode() == KeyEvent.KEYCODE_CHANNEL_DOWN || event.getKeyCode() == KeyEvent.KEYCODE_PAGE_DOWN || event.getKeyCode() == KeyEvent.KEYCODE_MEDIA_NEXT; + } + + private boolean isLeftKey(KeyEvent event) { + return event.getKeyCode() == KeyEvent.KEYCODE_DPAD_LEFT; + } + + private boolean isRightKey(KeyEvent event) { + return event.getKeyCode() == KeyEvent.KEYCODE_DPAD_RIGHT; + } } 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 c108bc2af..8c2d25f7e 100644 --- a/app/src/main/java/com/fongmi/bear/utils/Utils.java +++ b/app/src/main/java/com/fongmi/bear/utils/Utils.java @@ -6,7 +6,6 @@ import android.content.pm.PackageManager; import android.os.Build; import android.provider.Settings; import android.util.Rational; -import android.view.KeyEvent; import android.widget.ImageView; import com.bumptech.glide.Glide; @@ -18,47 +17,7 @@ import java.util.regex.Pattern; public class Utils { - private static final Pattern snifferMatch = Pattern.compile("http((?!http).){26,}?\\.(m3u8|mp4)\\?.*|http((?!http).){26,}\\.(m3u8|mp4)|http((?!http).){26,}?/m3u8\\?pt=m3u8.*|http((?!http).)*?default\\.ixigua\\.com/.*|http((?!http).)*?cdn-tos[^\\?]*|http((?!http).)*?/obj/tos[^\\?]*|http.*?/player/m3u8play\\.php\\?url=.*|http.*?/player/.*?[pP]lay\\.php\\?url=.*|http.*?/playlist/m3u8/\\?vid=.*|http.*?\\.php\\?type=m3u8&.*|http.*?/download.aspx\\?.*|http.*?/api/up_api.php\\?.*|https.*?\\.66yk\\.cn.*|http((?!http).)*?netease\\.com/file/.*"); - - public static boolean hasEvent(KeyEvent event) { - return isArrowKey(event) || isBackKey(event) || isMenuKey(event) || isDigitKey(event) || event.isLongPress(); - } - - private static boolean isArrowKey(KeyEvent event) { - return isEnterKey(event) || isUpKey(event) || isDownKey(event) || isLeftKey(event) || isRightKey(event); - } - - static boolean isBackKey(KeyEvent event) { - return event.getKeyCode() == KeyEvent.KEYCODE_BACK; - } - - static boolean isMenuKey(KeyEvent event) { - return event.getKeyCode() == KeyEvent.KEYCODE_MENU; - } - - public static boolean isDigitKey(KeyEvent event) { - return event.getKeyCode() >= KeyEvent.KEYCODE_0 && event.getKeyCode() <= KeyEvent.KEYCODE_9 || event.getKeyCode() >= KeyEvent.KEYCODE_NUMPAD_0 && event.getKeyCode() <= KeyEvent.KEYCODE_NUMPAD_9; - } - - static boolean isEnterKey(KeyEvent event) { - return event.getKeyCode() == KeyEvent.KEYCODE_DPAD_CENTER || event.getKeyCode() == KeyEvent.KEYCODE_ENTER || event.getKeyCode() == KeyEvent.KEYCODE_SPACE || event.getKeyCode() == KeyEvent.KEYCODE_NUMPAD_ENTER; - } - - static boolean isUpKey(KeyEvent event) { - return event.getKeyCode() == KeyEvent.KEYCODE_DPAD_UP || event.getKeyCode() == KeyEvent.KEYCODE_CHANNEL_UP || event.getKeyCode() == KeyEvent.KEYCODE_PAGE_UP || event.getKeyCode() == KeyEvent.KEYCODE_MEDIA_PREVIOUS; - } - - static boolean isDownKey(KeyEvent event) { - return event.getKeyCode() == KeyEvent.KEYCODE_DPAD_DOWN || event.getKeyCode() == KeyEvent.KEYCODE_CHANNEL_DOWN || event.getKeyCode() == KeyEvent.KEYCODE_PAGE_DOWN || event.getKeyCode() == KeyEvent.KEYCODE_MEDIA_NEXT; - } - - static boolean isLeftKey(KeyEvent event) { - return event.getKeyCode() == KeyEvent.KEYCODE_DPAD_LEFT; - } - - static boolean isRightKey(KeyEvent event) { - return event.getKeyCode() == KeyEvent.KEYCODE_DPAD_RIGHT; - } + private static final Pattern snifferMatch = Pattern.compile("http((?!http).){26,}?\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg)\\?.*|http((?!http).){26,}\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg)|http((?!http).){26,}?/m3u8\\?pt=m3u8.*|http((?!http).)*?default\\.ixigua\\.com/.*|http((?!http).)*?cdn-tos[^\\?]*|http((?!http).)*?/obj/tos[^\\?]*|http.*?/player/m3u8play\\.php\\?url=.*|http.*?/player/.*?[pP]lay\\.php\\?url=.*|http.*?/playlist/m3u8/\\?vid=.*|http.*?\\.php\\?type=m3u8&.*|http.*?/download.aspx\\?.*|http.*?/api/up_api.php\\?.*|https.*?\\.66yk\\.cn.*|http((?!http).)*?netease\\.com/file/.*"); public static void loadImage(T model, ImageView view) { Glide.with(App.get()).load(model).placeholder(R.drawable.ic_img_loading).error(R.drawable.ic_img_error).into(view);