Add refetsh category api

fongmi
FongMi 1 week ago
parent 907025a100
commit d7d34c4a63
  1. 9
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VodActivity.java
  2. 6
      app/src/main/java/com/fongmi/android/tv/event/RefreshEvent.java
  3. 1
      app/src/main/java/com/fongmi/android/tv/server/process/Action.java
  4. 4
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/FolderFragment.java
  5. 3
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java

@ -23,12 +23,16 @@ import com.fongmi.android.tv.api.config.VodConfig;
import com.fongmi.android.tv.bean.Class;
import com.fongmi.android.tv.bean.Result;
import com.fongmi.android.tv.databinding.ActivityVodBinding;
import com.fongmi.android.tv.event.RefreshEvent;
import com.fongmi.android.tv.ui.base.BaseActivity;
import com.fongmi.android.tv.ui.fragment.FolderFragment;
import com.fongmi.android.tv.ui.presenter.TypePresenter;
import com.fongmi.android.tv.utils.KeyUtil;
import com.fongmi.android.tv.utils.ResUtil;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.util.Optional;
public class VodActivity extends BaseActivity implements TypePresenter.OnClickListener {
@ -141,6 +145,11 @@ public class VodActivity extends BaseActivity implements TypePresenter.OnClickLi
if (isFilterVisible()) updateFilter();
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onRefreshEvent(RefreshEvent event) {
if (event.getType() == RefreshEvent.Type.CATEGORY) getFragment().onRefresh();
}
@Override
public void onItemClick(Class item) {
updateFilter(item);

@ -14,6 +14,10 @@ public class RefreshEvent {
EventBus.getDefault().post(new RefreshEvent(Type.HOME));
}
public static void category() {
EventBus.getDefault().post(new RefreshEvent(Type.CATEGORY));
}
public static void history() {
EventBus.getDefault().post(new RefreshEvent(Type.HISTORY));
}
@ -77,6 +81,6 @@ public class RefreshEvent {
}
public enum Type {
HOME, HISTORY, KEEP, SIZE, LIVE, DETAIL, PLAYER, SUBTITLE, DANMAKU, VOD
HOME, CATEGORY, HISTORY, KEEP, SIZE, LIVE, DETAIL, PLAYER, SUBTITLE, DANMAKU, VOD
}
}

@ -86,6 +86,7 @@ public class Action implements Process {
if ("live".equals(type)) RefreshEvent.live();
else if ("detail".equals(type)) RefreshEvent.detail();
else if ("player".equals(type)) RefreshEvent.player();
else if ("category".equals(type)) RefreshEvent.category();
else if ("danmaku".equals(type)) RefreshEvent.danmaku(path);
else if ("subtitle".equals(type)) RefreshEvent.subtitle(path);
else if ("vod".equals(type)) RefreshEvent.vod(Vod.objectFrom(json));

@ -84,6 +84,10 @@ public class FolderFragment extends BaseFragment {
return getParent().getResult();
}
public void onRefresh() {
Optional.ofNullable(getChild()).ifPresent(TypeFragment::onRefresh);
}
public void scrollToTop() {
Optional.ofNullable(getChild()).ifPresent(TypeFragment::scrollToTop);
}

@ -243,6 +243,9 @@ public class VodFragment extends BaseFragment implements ConfigCallback, SiteCal
case SIZE:
homeContent();
break;
case CATEGORY:
getFragment().onRefresh();
break;
}
}

Loading…
Cancel
Save