From 289cdc397c5b4b126d4904dcd7027287197877b5 Mon Sep 17 00:00:00 2001 From: FongMi Date: Wed, 6 Mar 2024 15:01:15 +0800 Subject: [PATCH] Clean code --- .../android/tv/api/config/VodConfig.java | 4 +- .../android/tv/model/SiteViewModel.java | 2 +- .../ijk/media/player/IjkMediaMeta.java | 1 - .../danmaku/ijk/media/player/MediaInfo.java | 31 --- .../player/exceptions/IjkMediaException.java | 22 -- .../media/player/misc/AndroidMediaFormat.java | 54 ---- .../ijk/media/player/misc/IMediaFormat.java | 31 --- .../ijk/media/player/misc/IjkMediaFormat.java | 259 ------------------ .../ijk/media/player/pragma/DebugLog.java | 16 +- 9 files changed, 6 insertions(+), 414 deletions(-) delete mode 100644 ijkplayer/src/main/java/tv/danmaku/ijk/media/player/MediaInfo.java delete mode 100644 ijkplayer/src/main/java/tv/danmaku/ijk/media/player/exceptions/IjkMediaException.java delete mode 100644 ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/AndroidMediaFormat.java delete mode 100644 ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/IMediaFormat.java delete mode 100644 ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/IjkMediaFormat.java diff --git a/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java b/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java index 2ff524487..bd9b95bcb 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/config/VodConfig.java @@ -255,9 +255,9 @@ public class VodConfig { } public Object[] proxyLocal(Map params) { - if (params.containsKey("do") && "js".equals(params.get("do"))) { + if ("js".equals(params.get("do"))) { return jsLoader.proxyInvoke(params); - } else if (params.containsKey("do") && "py".equals(params.get("do"))) { + } else if ("py".equals(params.get("do"))) { return pyLoader.proxyInvoke(params); } else { return jarLoader.proxyInvoke(params); diff --git a/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java b/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java index c7d416b71..bf195ed51 100644 --- a/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java +++ b/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java @@ -183,7 +183,7 @@ public class SiteViewModel extends ViewModel { } else { Url url = Url.create().add(id); String type = Uri.parse(id).getQueryParameter("type"); - if (type != null && "json".equals(type)) url = Result.fromJson(OkHttp.newCall(id, site.getHeaders()).execute().body().string()).getUrl(); + if ("json".equals(type)) url = Result.fromJson(OkHttp.newCall(id, site.getHeaders()).execute().body().string()).getUrl(); Result result = new Result(); result.setUrl(url); result.setFlag(flag); diff --git a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/IjkMediaMeta.java b/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/IjkMediaMeta.java index abc454a90..a3a7cb00a 100644 --- a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/IjkMediaMeta.java +++ b/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/IjkMediaMeta.java @@ -175,7 +175,6 @@ public class IjkMediaMeta { } private static String convertLang(String text) { - if (text == null) return null; if ("chi".equals(text)) return "zh"; if ("cze".equals(text)) return "cs"; if ("dut".equals(text)) return "nl"; diff --git a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/MediaInfo.java b/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/MediaInfo.java deleted file mode 100644 index d13ba9a39..000000000 --- a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/MediaInfo.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (C) 2013-2014 Bilibili - * Copyright (C) 2013-2014 Zhang Rui - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package tv.danmaku.ijk.media.player; - -public class MediaInfo { - - public String mMediaPlayerName; - - public String mVideoDecoder; - public String mVideoDecoderImpl; - - public String mAudioDecoder; - public String mAudioDecoderImpl; - - public IjkMediaMeta mMeta; -} diff --git a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/exceptions/IjkMediaException.java b/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/exceptions/IjkMediaException.java deleted file mode 100644 index 9662c650f..000000000 --- a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/exceptions/IjkMediaException.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (C) 2013-2014 Bilibili - * Copyright (C) 2013-2014 Zhang Rui - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package tv.danmaku.ijk.media.player.exceptions; - -public class IjkMediaException extends Exception { - private static final long serialVersionUID = 7234796519009099506L; -} diff --git a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/AndroidMediaFormat.java b/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/AndroidMediaFormat.java deleted file mode 100644 index daee0ef6d..000000000 --- a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/AndroidMediaFormat.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 2015 Bilibili - * Copyright (C) 2015 Zhang Rui - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package tv.danmaku.ijk.media.player.misc; - -import android.media.MediaFormat; - -import androidx.annotation.NonNull; - -public class AndroidMediaFormat implements IMediaFormat { - - private final MediaFormat mMediaFormat; - - public AndroidMediaFormat(MediaFormat mediaFormat) { - mMediaFormat = mediaFormat; - } - - @Override - public int getInteger(String name) { - if (mMediaFormat == null) return 0; - return mMediaFormat.getInteger(name); - } - - @Override - public String getString(String name) { - if (mMediaFormat == null) return null; - return mMediaFormat.getString(name); - } - - @NonNull - @Override - public String toString() { - StringBuilder out = new StringBuilder(128); - out.append(getClass().getName()); - out.append('{'); - out.append(mMediaFormat != null ? mMediaFormat : ""); - out.append('}'); - return out.toString(); - } -} diff --git a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/IMediaFormat.java b/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/IMediaFormat.java deleted file mode 100644 index 2d97cc6b8..000000000 --- a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/IMediaFormat.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (C) 2015 Bilibili - * Copyright (C) 2015 Zhang Rui - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package tv.danmaku.ijk.media.player.misc; - -public interface IMediaFormat { - // Common keys - String KEY_MIME = "mime"; - - // Video Keys - String KEY_WIDTH = "width"; - String KEY_HEIGHT = "height"; - - String getString(String name); - - int getInteger(String name); -} diff --git a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/IjkMediaFormat.java b/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/IjkMediaFormat.java deleted file mode 100644 index 996cbcc52..000000000 --- a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/IjkMediaFormat.java +++ /dev/null @@ -1,259 +0,0 @@ -/* - * Copyright (C) 2015 Bilibili - * Copyright (C) 2015 Zhang Rui - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package tv.danmaku.ijk.media.player.misc; - -import android.annotation.TargetApi; -import android.os.Build; -import android.text.TextUtils; - -import java.util.HashMap; -import java.util.Locale; -import java.util.Map; - -import tv.danmaku.ijk.media.player.IjkMediaMeta; - -public class IjkMediaFormat implements IMediaFormat { - // Common - public static final String KEY_IJK_CODEC_LONG_NAME_UI = "ijk-codec-long-name-ui"; - public static final String KEY_IJK_CODEC_NAME_UI = "ijk-codec-name-ui"; - public static final String KEY_IJK_BIT_RATE_UI = "ijk-bit-rate-ui"; - - // Video - public static final String KEY_IJK_CODEC_PROFILE_LEVEL_UI = "ijk-profile-level-ui"; - public static final String KEY_IJK_CODEC_PIXEL_FORMAT_UI = "ijk-pixel-format-ui"; - public static final String KEY_IJK_RESOLUTION_UI = "ijk-resolution-ui"; - public static final String KEY_IJK_FRAME_RATE_UI = "ijk-frame-rate-ui"; - - // Audio - public static final String KEY_IJK_SAMPLE_RATE_UI = "ijk-sample-rate-ui"; - public static final String KEY_IJK_CHANNEL_UI = "ijk-channel-ui"; - - // Codec - public static final String CODEC_NAME_H264 = "h264"; - - public final IjkMediaMeta.IjkStreamMeta mMediaFormat; - - public IjkMediaFormat(IjkMediaMeta.IjkStreamMeta streamMeta) { - mMediaFormat = streamMeta; - } - - @TargetApi(Build.VERSION_CODES.JELLY_BEAN) - @Override - public int getInteger(String name) { - if (mMediaFormat == null) - return 0; - - return mMediaFormat.getInt(name); - } - - @Override - public String getString(String name) { - if (mMediaFormat == null) - return null; - - if (sFormatterMap.containsKey(name)) { - Formatter formatter = sFormatterMap.get(name); - return formatter.format(this); - } - - return mMediaFormat.getString(name); - } - - //------------------------- - // Formatter - //------------------------- - - private static abstract class Formatter { - public String format(IjkMediaFormat mediaFormat) { - String value = doFormat(mediaFormat); - if (TextUtils.isEmpty(value)) - return getDefaultString(); - return value; - } - - protected abstract String doFormat(IjkMediaFormat mediaFormat); - - @SuppressWarnings("SameReturnValue") - protected String getDefaultString() { - return "N/A"; - } - } - - private static final Map sFormatterMap = new HashMap(); - - { - sFormatterMap.put(KEY_IJK_CODEC_LONG_NAME_UI, new Formatter() { - @Override - public String doFormat(IjkMediaFormat mediaFormat) { - return mMediaFormat.getString(IjkMediaMeta.IJKM_KEY_CODEC_LONG_NAME); - } - }); - sFormatterMap.put(KEY_IJK_CODEC_NAME_UI, new Formatter() { - @Override - public String doFormat(IjkMediaFormat mediaFormat) { - return mMediaFormat.getString(IjkMediaMeta.IJKM_KEY_CODEC_NAME); - } - }); - sFormatterMap.put(KEY_IJK_BIT_RATE_UI, new Formatter() { - @Override - protected String doFormat(IjkMediaFormat mediaFormat) { - int bitRate = mediaFormat.getInteger(IjkMediaMeta.IJKM_KEY_BITRATE); - if (bitRate <= 0) { - return null; - } else if (bitRate < 1000) { - return String.format(Locale.US, "%d bit/s", bitRate); - } else { - return String.format(Locale.US, "%d kb/s", bitRate / 1000); - } - } - }); - sFormatterMap.put(KEY_IJK_CODEC_PROFILE_LEVEL_UI, new Formatter() { - @Override - protected String doFormat(IjkMediaFormat mediaFormat) { - int profileIndex = mediaFormat.getInteger(IjkMediaMeta.IJKM_KEY_CODEC_PROFILE_ID); - String profile; - switch (profileIndex) { - case IjkMediaMeta.FF_PROFILE_H264_BASELINE: - profile = "Baseline"; - break; - case IjkMediaMeta.FF_PROFILE_H264_CONSTRAINED_BASELINE: - profile = "Constrained Baseline"; - break; - case IjkMediaMeta.FF_PROFILE_H264_MAIN: - profile = "Main"; - break; - case IjkMediaMeta.FF_PROFILE_H264_EXTENDED: - profile = "Extended"; - break; - case IjkMediaMeta.FF_PROFILE_H264_HIGH: - profile = "High"; - break; - case IjkMediaMeta.FF_PROFILE_H264_HIGH_10: - profile = "High 10"; - break; - case IjkMediaMeta.FF_PROFILE_H264_HIGH_10_INTRA: - profile = "High 10 Intra"; - break; - case IjkMediaMeta.FF_PROFILE_H264_HIGH_422: - profile = "High 4:2:2"; - break; - case IjkMediaMeta.FF_PROFILE_H264_HIGH_422_INTRA: - profile = "High 4:2:2 Intra"; - break; - case IjkMediaMeta.FF_PROFILE_H264_HIGH_444: - profile = "High 4:4:4"; - break; - case IjkMediaMeta.FF_PROFILE_H264_HIGH_444_PREDICTIVE: - profile = "High 4:4:4 Predictive"; - break; - case IjkMediaMeta.FF_PROFILE_H264_HIGH_444_INTRA: - profile = "High 4:4:4 Intra"; - break; - case IjkMediaMeta.FF_PROFILE_H264_CAVLC_444: - profile = "CAVLC 4:4:4"; - break; - default: - return null; - } - - StringBuilder sb = new StringBuilder(); - sb.append(profile); - - String codecName = mediaFormat.getString(IjkMediaMeta.IJKM_KEY_CODEC_NAME); - if (!TextUtils.isEmpty(codecName) && CODEC_NAME_H264.equalsIgnoreCase(codecName)) { - int level = mediaFormat.getInteger(IjkMediaMeta.IJKM_KEY_CODEC_LEVEL); - if (level < 10) - return sb.toString(); - - sb.append(" Profile Level "); - sb.append((level / 10) % 10); - if ((level % 10) != 0) { - sb.append("."); - sb.append(level % 10); - } - } - - return sb.toString(); - } - }); - sFormatterMap.put(KEY_IJK_CODEC_PIXEL_FORMAT_UI, new Formatter() { - @Override - protected String doFormat(IjkMediaFormat mediaFormat) { - return mediaFormat.getString(IjkMediaMeta.IJKM_KEY_CODEC_PIXEL_FORMAT); - } - }); - sFormatterMap.put(KEY_IJK_RESOLUTION_UI, new Formatter() { - @Override - protected String doFormat(IjkMediaFormat mediaFormat) { - int width = mediaFormat.getInteger(KEY_WIDTH); - int height = mediaFormat.getInteger(KEY_HEIGHT); - int sarNum = mediaFormat.getInteger(IjkMediaMeta.IJKM_KEY_SAR_NUM); - int sarDen = mediaFormat.getInteger(IjkMediaMeta.IJKM_KEY_SAR_DEN); - - if (width <= 0 || height <= 0) { - return null; - } else if (sarNum <= 0 || sarDen <= 0) { - return String.format(Locale.US, "%d x %d", width, height); - } else { - return String.format(Locale.US, "%d x %d [SAR %d:%d]", width, - height, sarNum, sarDen); - } - } - }); - sFormatterMap.put(KEY_IJK_FRAME_RATE_UI, new Formatter() { - @Override - protected String doFormat(IjkMediaFormat mediaFormat) { - int fpsNum = mediaFormat.getInteger(IjkMediaMeta.IJKM_KEY_FPS_NUM); - int fpsDen = mediaFormat.getInteger(IjkMediaMeta.IJKM_KEY_FPS_DEN); - if (fpsNum <= 0 || fpsDen <= 0) { - return null; - } else { - return String.valueOf(((float) (fpsNum)) / fpsDen); - } - } - }); - sFormatterMap.put(KEY_IJK_SAMPLE_RATE_UI, new Formatter() { - @Override - protected String doFormat(IjkMediaFormat mediaFormat) { - int sampleRate = mediaFormat.getInteger(IjkMediaMeta.IJKM_KEY_SAMPLE_RATE); - if (sampleRate <= 0) { - return null; - } else { - return String.format(Locale.US, "%d Hz", sampleRate); - } - } - }); - sFormatterMap.put(KEY_IJK_CHANNEL_UI, new Formatter() { - @Override - protected String doFormat(IjkMediaFormat mediaFormat) { - int channelLayout = mediaFormat.getInteger(IjkMediaMeta.IJKM_KEY_CHANNEL_LAYOUT); - if (channelLayout <= 0) { - return null; - } else { - if (channelLayout == IjkMediaMeta.AV_CH_LAYOUT_MONO) { - return "mono"; - } else if (channelLayout == IjkMediaMeta.AV_CH_LAYOUT_STEREO) { - return "stereo"; - } else { - return String.format(Locale.US, "%x", channelLayout); - } - } - } - }); - } -} diff --git a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/pragma/DebugLog.java b/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/pragma/DebugLog.java index 9c033f9c7..d59cd0188 100644 --- a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/pragma/DebugLog.java +++ b/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/pragma/DebugLog.java @@ -17,13 +17,13 @@ package tv.danmaku.ijk.media.player.pragma; -import java.util.Locale; - - import android.util.Log; +import java.util.Locale; + @SuppressWarnings({"SameParameterValue", "WeakerAccess"}) public class DebugLog { + public static final boolean ENABLE_ERROR = Pragma.ENABLE_VERBOSE; public static final boolean ENABLE_INFO = Pragma.ENABLE_VERBOSE; public static final boolean ENABLE_WARN = Pragma.ENABLE_VERBOSE; @@ -130,14 +130,4 @@ public class DebugLog { e.printStackTrace(); } } - - public static void printCause(Throwable e) { - if (ENABLE_WARN) { - Throwable cause = e.getCause(); - if (cause != null) - e = cause; - - printStackTrace(e); - } - } }