pull/605/head
jhengazuki 5 months ago
parent 7900da36b2
commit 68df6eb2c6
  1. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  2. 8
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/KeepActivity.java
  3. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  4. 13
      app/src/leanback/java/com/fongmi/android/tv/ui/adapter/ConfigAdapter.java
  5. 10
      app/src/leanback/java/com/fongmi/android/tv/ui/adapter/DohAdapter.java
  6. 35
      app/src/leanback/java/com/fongmi/android/tv/ui/adapter/KeepAdapter.java
  7. 8
      app/src/leanback/java/com/fongmi/android/tv/ui/adapter/LiveAdapter.java
  8. 29
      app/src/leanback/java/com/fongmi/android/tv/ui/presenter/HistoryPresenter.java
  9. 10
      app/src/leanback/java/com/fongmi/android/tv/ui/presenter/QuickPresenter.java
  10. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  11. 13
      app/src/mobile/java/com/fongmi/android/tv/ui/adapter/ConfigAdapter.java
  12. 8
      app/src/mobile/java/com/fongmi/android/tv/ui/adapter/LiveAdapter.java
  13. 26
      app/src/mobile/java/com/fongmi/android/tv/ui/adapter/SiteAdapter.java

@ -76,8 +76,8 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
private ActivityHomeBinding mBinding;
private ArrayObjectAdapter mHistoryAdapter;
private ArrayObjectAdapter mFuncAdapter;
private HistoryPresenter mPresenter;
private ArrayObjectAdapter mAdapter;
private HistoryPresenter mPresenter;
private SiteViewModel mViewModel;
private boolean loading;
private Result mResult;

@ -50,8 +50,7 @@ public class KeepActivity extends BaseActivity implements KeepAdapter.OnClickLis
}
private void getKeep() {
mAdapter.setItems(Keep.getVod());
mBinding.progressLayout.showContent(true, mAdapter.getItemCount());
mAdapter.setItems(Keep.getVod(), () -> mBinding.progressLayout.showContent(true, mAdapter.getItemCount()));
}
private void loadConfig(Config config, Keep item) {
@ -86,8 +85,9 @@ public class KeepActivity extends BaseActivity implements KeepAdapter.OnClickLis
@Override
public void onItemDelete(Keep item) {
mAdapter.remove(item.delete());
if (mAdapter.getItemCount() == 0) mAdapter.setDelete(false);
mAdapter.remove(item.delete(), () -> {
if (mAdapter.getItemCount() == 0) mAdapter.setDelete(false);
});
}
@Override

@ -558,7 +558,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
public void onItemClick(Channel item) {
if (!item.getData().getList().isEmpty() && item.isSelected() && mChannel != null && mChannel.equals(item) && mChannel.getGroup().equals(mGroup)) {
showEpg(item);
} else {
} else if (mGroup != null) {
mGroup.setPosition(mBinding.channel.getSelectedPosition());
setChannel(item.group(mGroup));
hideUI();

@ -7,9 +7,6 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.fongmi.android.tv.api.config.LiveConfig;
import com.fongmi.android.tv.api.config.VodConfig;
import com.fongmi.android.tv.api.config.WallConfig;
import com.fongmi.android.tv.bean.Config;
import com.fongmi.android.tv.databinding.AdapterConfigBinding;
@ -39,18 +36,10 @@ public class ConfigAdapter extends RecyclerView.Adapter<ConfigAdapter.ViewHolder
public ConfigAdapter addAll(int type) {
mItems = Config.getAll(type);
if (!readOnly) mItems.remove(getConfig(type));
if (!mItems.isEmpty() && !readOnly) mItems.remove(0);
return this;
}
private Config getConfig(int type) {
return switch (type) {
case 0 -> VodConfig.get().getConfig();
case 1 -> LiveConfig.get().getConfig();
default -> WallConfig.get().getConfig();
};
}
public int remove(Config item) {
int position = mItems.indexOf(item);
if (position == -1) return -1;

@ -23,6 +23,11 @@ public class DohAdapter extends RecyclerView.Adapter<DohAdapter.ViewHolder> {
this.listener = listener;
}
public interface OnClickListener {
void onItemClick(Doh item);
}
public void setSelect(int select) {
this.select = select;
}
@ -31,11 +36,6 @@ public class DohAdapter extends RecyclerView.Adapter<DohAdapter.ViewHolder> {
return select;
}
public interface OnClickListener {
void onItemClick(Doh item);
}
@Override
public int getItemCount() {
return mItems.size();

@ -24,13 +24,6 @@ public class KeepAdapter extends BaseDiffAdapter<Keep, KeepAdapter.ViewHolder> {
setLayoutSize();
}
private void setLayoutSize() {
int space = ResUtil.dp2px(48) + ResUtil.dp2px(16 * (Product.getColumn() - 1));
int base = ResUtil.getScreenWidth() - space;
width = base / Product.getColumn();
height = (int) (width / 0.75f);
}
public interface OnClickListener {
void onItemClick(Keep item);
@ -40,13 +33,28 @@ public class KeepAdapter extends BaseDiffAdapter<Keep, KeepAdapter.ViewHolder> {
boolean onLongClick();
}
private void setLayoutSize() {
int space = ResUtil.dp2px(48) + ResUtil.dp2px(16 * (Product.getColumn() - 1));
int base = ResUtil.getScreenWidth() - space;
width = base / Product.getColumn();
height = (int) (width / 0.75f);
}
public boolean isDelete() {
return delete;
}
public void setDelete(boolean delete) {
this.delete = delete;
notifyItemRangeChanged(0, getItemCount());
}
public boolean isDelete() {
return delete;
private void setClickListener(View root, Keep item) {
root.setOnLongClickListener(view -> listener.onLongClick());
root.setOnClickListener(view -> {
if (isDelete()) listener.onItemDelete(item);
else listener.onItemClick(item);
});
}
@NonNull
@ -70,14 +78,6 @@ public class KeepAdapter extends BaseDiffAdapter<Keep, KeepAdapter.ViewHolder> {
ImgUtil.load(item.getVodName(), item.getVodPic(), holder.binding.image);
}
private void setClickListener(View root, Keep item) {
root.setOnLongClickListener(view -> listener.onLongClick());
root.setOnClickListener(view -> {
if (isDelete()) listener.onItemDelete(item);
else listener.onItemClick(item);
});
}
public class ViewHolder extends RecyclerView.ViewHolder {
private final AdapterVodBinding binding;
@ -94,7 +94,6 @@ public class KeepAdapter extends BaseDiffAdapter<Keep, KeepAdapter.ViewHolder> {
v.animate().scaleX(1.1f).scaleY(1.1f).setDuration(150).start();
v.setTranslationZ(10f);
v.setSelected(true);
v.bringToFront();
} else {
v.animate().scaleX(1f).scaleY(1f).setDuration(150).start();
v.setTranslationZ(0f);

@ -24,10 +24,6 @@ public class LiveAdapter extends RecyclerView.Adapter<LiveAdapter.ViewHolder> {
this.mItems = LiveConfig.get().getLives();
}
public void setAction(boolean action) {
this.action = action;
}
public interface OnClickListener {
void onItemClick(Live item);
@ -41,6 +37,10 @@ public class LiveAdapter extends RecyclerView.Adapter<LiveAdapter.ViewHolder> {
boolean onPassLongClick(Live item);
}
public void setAction(boolean action) {
this.action = action;
}
@Override
public int getItemCount() {
return mItems.size();

@ -7,6 +7,7 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.leanback.widget.Presenter;
import com.bumptech.glide.Glide;
import com.fongmi.android.tv.Product;
import com.fongmi.android.tv.bean.History;
import com.fongmi.android.tv.databinding.AdapterVodBinding;
@ -33,6 +34,13 @@ public class HistoryPresenter extends Presenter {
boolean onLongClick();
}
private void setLayoutSize() {
int space = ResUtil.dp2px(48) + ResUtil.dp2px(16 * (Product.getColumn() - 1));
int base = ResUtil.getScreenWidth() - space;
width = base / Product.getColumn();
height = (int) (width / 0.75f);
}
public boolean isDelete() {
return delete;
}
@ -41,11 +49,12 @@ public class HistoryPresenter extends Presenter {
this.delete = delete;
}
private void setLayoutSize() {
int space = ResUtil.dp2px(48) + ResUtil.dp2px(16 * (Product.getColumn() - 1));
int base = ResUtil.getScreenWidth() - space;
width = base / Product.getColumn();
height = (int) (width / 0.75f);
private void setClickListener(View root, History item) {
root.setOnLongClickListener(view -> listener.onLongClick());
root.setOnClickListener(view -> {
if (isDelete()) listener.onItemDelete(item);
else listener.onItemClick(item);
});
}
@NonNull
@ -71,16 +80,10 @@ public class HistoryPresenter extends Presenter {
ImgUtil.load(item.getVodName(), item.getVodPic(), holder.binding.image);
}
private void setClickListener(View root, History item) {
root.setOnLongClickListener(view -> listener.onLongClick());
root.setOnClickListener(view -> {
if (isDelete()) listener.onItemDelete(item);
else listener.onItemClick(item);
});
}
@Override
public void onUnbindViewHolder(@NonNull Presenter.ViewHolder viewHolder) {
ViewHolder holder = (ViewHolder) viewHolder;
Glide.with(holder.binding.image).clear(holder.binding.image);
}
public static class ViewHolder extends Presenter.ViewHolder {

@ -20,17 +20,17 @@ public class QuickPresenter extends Presenter {
setLayoutSize();
}
public interface OnClickListener {
void onItemClick(Vod item);
}
private void setLayoutSize() {
int space = ResUtil.dp2px(24) + ResUtil.dp2px(32);
int base = ResUtil.getScreenWidth() - space;
width = base / 4;
}
public interface OnClickListener {
void onItemClick(Vod item);
}
@NonNull
@Override
public Presenter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent) {

@ -574,7 +574,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDown.Listener
public void onItemClick(Channel item) {
if (!item.getData().getList().isEmpty() && item.isSelected() && mChannel != null && mChannel.equals(item) && mChannel.getGroup().equals(mGroup)) {
showEpg(item);
} else {
} else if (mGroup != null) {
mGroup.setPosition(mChannelAdapter.setSelected(item.group(mGroup)));
mChannel = item;
setMetadata();

@ -7,9 +7,6 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.fongmi.android.tv.api.config.LiveConfig;
import com.fongmi.android.tv.api.config.VodConfig;
import com.fongmi.android.tv.api.config.WallConfig;
import com.fongmi.android.tv.bean.Config;
import com.fongmi.android.tv.databinding.AdapterConfigBinding;
@ -39,18 +36,10 @@ public class ConfigAdapter extends RecyclerView.Adapter<ConfigAdapter.ViewHolder
public ConfigAdapter addAll(int type) {
mItems = Config.getAll(type);
if (!readOnly) mItems.remove(getConfig(type));
if (!mItems.isEmpty() && !readOnly) mItems.remove(0);
return this;
}
private Config getConfig(int type) {
return switch (type) {
case 0 -> VodConfig.get().getConfig();
case 1 -> LiveConfig.get().getConfig();
default -> WallConfig.get().getConfig();
};
}
public int remove(Config item) {
int position = mItems.indexOf(item);
if (position == -1) return -1;

@ -24,10 +24,6 @@ public class LiveAdapter extends RecyclerView.Adapter<LiveAdapter.ViewHolder> {
this.mItems = LiveConfig.get().getLives();
}
public void setAction(boolean action) {
this.action = action;
}
public interface OnClickListener {
void onItemClick(Live item);
@ -41,6 +37,10 @@ public class LiveAdapter extends RecyclerView.Adapter<LiveAdapter.ViewHolder> {
boolean onPassLongClick(Live item);
}
public void setAction(boolean action) {
this.action = action;
}
@Override
public int getItemCount() {
return mItems.size();

@ -28,6 +28,19 @@ public class SiteAdapter extends RecyclerView.Adapter<SiteAdapter.ViewHolder> {
this.addAll();
}
public interface OnClickListener {
void onTextClick(Site item);
void onSearchClick(int position, Site item);
void onChangeClick(int position, Site item);
boolean onSearchLongClick(Site item);
boolean onChangeLongClick(Site item);
}
public SiteAdapter search(boolean search) {
this.search = search;
return this;
@ -46,19 +59,6 @@ public class SiteAdapter extends RecyclerView.Adapter<SiteAdapter.ViewHolder> {
return mItems;
}
public interface OnClickListener {
void onTextClick(Site item);
void onSearchClick(int position, Site item);
void onChangeClick(int position, Site item);
boolean onSearchLongClick(Site item);
boolean onChangeLongClick(Site item);
}
@Override
public int getItemCount() {
return mItems.size();

Loading…
Cancel
Save