diff --git a/app/src/leanback/res/layout/view_controller_bottom.xml b/app/src/leanback/res/layout/view_controller_bottom.xml
index 069218123..a7c4a9e0f 100644
--- a/app/src/leanback/res/layout/view_controller_bottom.xml
+++ b/app/src/leanback/res/layout/view_controller_bottom.xml
@@ -164,13 +164,14 @@
android:layout_marginTop="16dp"
android:gravity="center_vertical"
android:orientation="horizontal"
- android:visibility="gone">
+ android:visibility="gone"
+ tools:visibility="visible">
diff --git a/app/src/main/java/com/fongmi/android/tv/player/ParseTask.java b/app/src/main/java/com/fongmi/android/tv/player/ParseTask.java
index 430581ceb..20066e2c6 100644
--- a/app/src/main/java/com/fongmi/android/tv/player/ParseTask.java
+++ b/app/src/main/java/com/fongmi/android/tv/player/ParseTask.java
@@ -75,7 +75,7 @@ public class ParseTask {
JsonObject object = JsonParser.parseString(response.body().string()).getAsJsonObject();
HashMap headers = new HashMap<>();
for (String key : object.keySet()) if (key.equalsIgnoreCase("user-agent") || key.equalsIgnoreCase("referer")) headers.put(key, object.get(key).getAsString());
- onParseSuccess(headers, object.get("url").getAsString());
+ onParseSuccess(headers, object.get("url").getAsString(), "");
} catch (Exception e) {
e.printStackTrace();
onParseError();
@@ -91,7 +91,7 @@ public class ParseTask {
} else if (result.getParse() == 1) {
handler.post(() -> Players.get().web().start(result.getUrl(), callback));
} else {
- onParseSuccess(result.getHeaders(), result.getUrl());
+ onParseSuccess(result.getHeaders(), result.getUrl(), result.getJxFrom());
}
}
@@ -110,13 +110,13 @@ public class ParseTask {
} else if (result.getParse() == 1) {
handler.post(() -> Players.get().web().start(result.getUrl(), callback));
} else {
- onParseSuccess(result.getHeaders(), result.getUrl());
+ onParseSuccess(result.getHeaders(), result.getUrl(), result.getJxFrom());
}
}
- private void onParseSuccess(Map headers, String url) {
+ private void onParseSuccess(Map headers, String url, String from) {
handler.post(() -> {
- if (callback != null) callback.onParseSuccess(headers, url);
+ if (callback != null) callback.onParseSuccess(headers, url, from);
});
}
@@ -134,7 +134,7 @@ public class ParseTask {
public interface Callback {
- void onParseSuccess(Map headers, String url);
+ void onParseSuccess(Map headers, String url, String from);
void onParseError();
}
diff --git a/app/src/main/java/com/fongmi/android/tv/player/Players.java b/app/src/main/java/com/fongmi/android/tv/player/Players.java
index c62a33b4f..074bbad22 100644
--- a/app/src/main/java/com/fongmi/android/tv/player/Players.java
+++ b/app/src/main/java/com/fongmi/android/tv/player/Players.java
@@ -7,6 +7,8 @@ import com.fongmi.android.tv.R;
import com.fongmi.android.tv.bean.Result;
import com.fongmi.android.tv.event.PlayerEvent;
import com.fongmi.android.tv.ui.custom.CustomWebView;
+import com.fongmi.android.tv.utils.Notify;
+import com.fongmi.android.tv.utils.ResUtil;
import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.PlaybackException;
import com.google.android.exoplayer2.Player;
@@ -158,7 +160,8 @@ public class Players implements Player.Listener, ParseTask.Callback {
}
@Override
- public void onParseSuccess(Map headers, String url) {
+ public void onParseSuccess(Map headers, String url, String from) {
+ if (from.length() > 0) Notify.show(ResUtil.getString(R.string.parse_from, from));
setMediaSource(headers, url);
}
diff --git a/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java b/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java
index a3bc31784..5ebec0ab0 100644
--- a/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java
+++ b/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java
@@ -105,7 +105,7 @@ public class CustomWebView extends WebView {
for (String key : headers.keySet()) if (keys.contains(key.toLowerCase())) news.put(key, headers.get(key));
handler.removeCallbacks(mTimer);
handler.post(() -> {
- callback.onParseSuccess(news, url);
+ callback.onParseSuccess(news, url, "");
stop(false);
});
}
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 434a0f1ee..f488a7684 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -45,6 +45,10 @@
重置
片头片尾
+
+ 解析
+ 解析来自:%s
+
首页
配置
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 863eec21b..149df8cf2 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -45,6 +45,10 @@
重置
片頭片尾
+
+ 解析
+ 解析來自:%s
+
首頁
配置
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index d4ffa81f6..747b13e14 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -45,6 +45,10 @@
Reset
OP&ED
+
+ Parse
+ Parse from: %s
+
Home site
Configure