diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index 9797369db..f4a5eed73 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -1135,6 +1135,12 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List if (mPlayers.isExo()) mPlayers.setSub(Sub.from(Path.local(event.getText()))); } + @Subscribe(threadMode = ThreadMode.MAIN) + public void onRefreshEvent(RefreshEvent event) { + if (event.getType() == RefreshEvent.Type.DETAIL) getDetail(); + if (event.getType() == RefreshEvent.Type.PLAYER) onRefresh(); + } + @Subscribe(threadMode = ThreadMode.MAIN) public void onPlayerEvent(PlayerEvent event) { switch (event.getState()) { diff --git a/app/src/main/java/com/fongmi/android/tv/event/RefreshEvent.java b/app/src/main/java/com/fongmi/android/tv/event/RefreshEvent.java index aa6b73c17..eabaa0d56 100644 --- a/app/src/main/java/com/fongmi/android/tv/event/RefreshEvent.java +++ b/app/src/main/java/com/fongmi/android/tv/event/RefreshEvent.java @@ -38,6 +38,14 @@ public class RefreshEvent { EventBus.getDefault().post(new RefreshEvent(Type.WALL)); } + public static void detail() { + EventBus.getDefault().post(new RefreshEvent(Type.DETAIL)); + } + + public static void player() { + EventBus.getDefault().post(new RefreshEvent(Type.PLAYER)); + } + private RefreshEvent(Type type) { this.type = type; } @@ -47,6 +55,6 @@ public class RefreshEvent { } public enum Type { - EMPTY, CONFIG, IMAGE, VIDEO, HISTORY, KEEP, SIZE, WALL + EMPTY, CONFIG, IMAGE, VIDEO, HISTORY, KEEP, SIZE, WALL, DETAIL, PLAYER } } diff --git a/app/src/main/java/com/fongmi/android/tv/server/process/Action.java b/app/src/main/java/com/fongmi/android/tv/server/process/Action.java index 20ebfd8da..044ed258b 100644 --- a/app/src/main/java/com/fongmi/android/tv/server/process/Action.java +++ b/app/src/main/java/com/fongmi/android/tv/server/process/Action.java @@ -30,7 +30,7 @@ public class Action implements Process { @Override public boolean isRequest(NanoHTTPD.IHTTPSession session, String path) { - return session.getMethod() == NanoHTTPD.Method.POST && path.equals("/action"); + return path.equals("/action"); } @Override @@ -46,6 +46,9 @@ public class Action implements Process { case "api": onApi(params); break; + case "refresh": + onRefresh(params); + break; case "cast": onCast(params); break; @@ -72,6 +75,15 @@ public class Action implements Process { else if (url.length() > 0) ServerEvent.api(url); } + private void onRefresh(Map params) { + String type = params.get("type"); + if ("detail".equals(type)) { + RefreshEvent.detail(); + } else if ("player".equals(type)) { + RefreshEvent.player(); + } + } + private void onCast(Map params) { Config config = Config.find(params.get("url"), 0); Device device = Device.objectFrom(params.get("device")); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index 9e774d5fc..598472466 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -1162,6 +1162,12 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo } } + @Subscribe(threadMode = ThreadMode.MAIN) + public void onRefreshEvent(RefreshEvent event) { + if (event.getType() == RefreshEvent.Type.DETAIL) getDetail(); + if (event.getType() == RefreshEvent.Type.PLAYER) onRefresh(); + } + @Subscribe(threadMode = ThreadMode.MAIN) public void onPlayerEvent(PlayerEvent event) { switch (event.getState()) {