Add parse from

pull/102/head
FongMi 3 years ago
parent 1530c02763
commit 993394b09e
  1. 5
      app/src/leanback/res/layout/view_controller_bottom.xml
  2. 12
      app/src/main/java/com/fongmi/android/tv/player/ParseTask.java
  3. 5
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  4. 2
      app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java
  5. 4
      app/src/main/res/values-zh-rCN/strings.xml
  6. 4
      app/src/main/res/values-zh-rTW/strings.xml
  7. 4
      app/src/main/res/values/strings.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">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:text="解析"
android:text="@string/parse"
android:textColor="@color/grey_700"
android:textSize="18sp" />

@ -75,7 +75,7 @@ public class ParseTask {
JsonObject object = JsonParser.parseString(response.body().string()).getAsJsonObject();
HashMap<String, String> 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<String, String> headers, String url) {
private void onParseSuccess(Map<String, String> 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<String, String> headers, String url);
void onParseSuccess(Map<String, String> headers, String url, String from);
void onParseError();
}

@ -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<String, String> headers, String url) {
public void onParseSuccess(Map<String, String> headers, String url, String from) {
if (from.length() > 0) Notify.show(ResUtil.getString(R.string.parse_from, from));
setMediaSource(headers, url);
}

@ -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);
});
}

@ -45,6 +45,10 @@
<string name="play_reset">重置</string>
<string name="play_oped">片头片尾</string>
<!-- Parse -->
<string name="parse">解析</string>
<string name="parse_from">解析来自:<xliff:g name="name">%s</xliff:g></string>
<!-- Setting -->
<string name="setting_site">首页</string>
<string name="setting_url">配置</string>

@ -45,6 +45,10 @@
<string name="play_reset">重置</string>
<string name="play_oped">片頭片尾</string>
<!-- Parse -->
<string name="parse">解析</string>
<string name="parse_from">解析來自:<xliff:g name="name">%s</xliff:g></string>
<!-- Setting -->
<string name="setting_site">首頁</string>
<string name="setting_url">配置</string>

@ -45,6 +45,10 @@
<string name="play_reset">Reset</string>
<string name="play_oped">OP&amp;ED</string>
<!-- Parse -->
<string name="parse">Parse</string>
<string name="parse_from">Parse from: <xliff:g name="name">%s</xliff:g></string>
<!-- Setting -->
<string name="setting_site">Home site</string>
<string name="setting_url">Configure</string>

Loading…
Cancel
Save