diff --git a/app/src/main/java/com/fongmi/android/tv/bean/Vod.java b/app/src/main/java/com/fongmi/android/tv/bean/Vod.java
index 2d6317b09..6aa7af761 100644
--- a/app/src/main/java/com/fongmi/android/tv/bean/Vod.java
+++ b/app/src/main/java/com/fongmi/android/tv/bean/Vod.java
@@ -231,10 +231,6 @@ public class Vod implements Parcelable {
return getVodTag().equals("folder") || getCate() != null;
}
- public boolean isManga() {
- return getVodTag().equals("manga");
- }
-
public Style getStyle(Style style) {
return getStyle() != null ? getStyle() : style != null ? style : Style.rect();
}
diff --git a/app/src/main/java/com/fongmi/android/tv/utils/Util.java b/app/src/main/java/com/fongmi/android/tv/utils/Util.java
index d13392396..e85c95018 100644
--- a/app/src/main/java/com/fongmi/android/tv/utils/Util.java
+++ b/app/src/main/java/com/fongmi/android/tv/utils/Util.java
@@ -20,6 +20,7 @@ import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import com.fongmi.android.tv.App;
+import com.fongmi.android.tv.R;
import com.github.catvod.Init;
import java.text.SimpleDateFormat;
@@ -72,6 +73,7 @@ public class Util {
public static void copy(String text) {
ClipboardManager manager = (ClipboardManager) App.get().getSystemService(Context.CLIPBOARD_SERVICE);
manager.setPrimaryClip(ClipData.newPlainText("", text));
+ Notify.show(R.string.copied);
}
public static int getDigit(String text) {
diff --git a/app/src/mobile/AndroidManifest.xml b/app/src/mobile/AndroidManifest.xml
index c9ecbaecf..f9857ea57 100644
--- a/app/src/mobile/AndroidManifest.xml
+++ b/app/src/mobile/AndroidManifest.xml
@@ -118,11 +118,6 @@
android:supportsPictureInPicture="true"
android:theme="@style/AppTheme.Detail" />
-
-
diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
deleted file mode 100644
index 6ff214113..000000000
--- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
+++ /dev/null
@@ -1,236 +0,0 @@
-package com.fongmi.android.tv.ui.activity;
-
-import android.app.Activity;
-import android.content.Intent;
-import android.os.Bundle;
-import android.text.Html;
-import android.text.TextUtils;
-import android.view.View;
-import android.widget.TextView;
-
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-import androidx.viewbinding.ViewBinding;
-
-import com.fongmi.android.tv.R;
-import com.fongmi.android.tv.api.config.VodConfig;
-import com.fongmi.android.tv.bean.Episode;
-import com.fongmi.android.tv.bean.Flag;
-import com.fongmi.android.tv.bean.History;
-import com.fongmi.android.tv.bean.Result;
-import com.fongmi.android.tv.bean.Site;
-import com.fongmi.android.tv.bean.Vod;
-import com.fongmi.android.tv.databinding.ActivityDetailBinding;
-import com.fongmi.android.tv.db.AppDatabase;
-import com.fongmi.android.tv.event.ErrorEvent;
-import com.fongmi.android.tv.model.SiteViewModel;
-import com.fongmi.android.tv.ui.adapter.EpisodeAdapter;
-import com.fongmi.android.tv.ui.adapter.FlagAdapter;
-import com.fongmi.android.tv.ui.base.BaseActivity;
-import com.fongmi.android.tv.ui.base.ViewType;
-import com.fongmi.android.tv.ui.custom.SpaceItemDecoration;
-import com.fongmi.android.tv.utils.ImgUtil;
-import com.fongmi.android.tv.utils.Notify;
-
-import java.util.List;
-
-public class DetailActivity extends BaseActivity implements FlagAdapter.OnClickListener, EpisodeAdapter.OnClickListener {
-
- private ActivityDetailBinding mBinding;
- private EpisodeAdapter mEpisodeAdapter;
- private SiteViewModel mViewModel;
- private FlagAdapter mFlagAdapter;
- private History mHistory;
-
- public static void start(Activity activity, String key, String id, String name) {
- start(activity, key, id, name, null, null);
- }
-
- public static void start(Activity activity, String key, String id, String name, String pic) {
- start(activity, key, id, name, pic, null);
- }
-
- public static void start(Activity activity, String key, String id, String name, String pic, String mark) {
- Intent intent = new Intent(activity, DetailActivity.class);
- intent.putExtra("mark", mark);
- intent.putExtra("name", name);
- intent.putExtra("pic", pic);
- intent.putExtra("key", key);
- intent.putExtra("id", id);
- activity.startActivity(intent);
- }
-
- private String getName() {
- return getIntent().getStringExtra("name");
- }
-
- private String getPic() {
- return getIntent().getStringExtra("pic");
- }
-
- private String getMark() {
- return getIntent().getStringExtra("mark");
- }
-
- private String getKey() {
- return getIntent().getStringExtra("key");
- }
-
- private String getId() {
- return getIntent().getStringExtra("id");
- }
-
- private String getHistoryKey() {
- return getKey().concat(AppDatabase.SYMBOL).concat(getId()).concat(AppDatabase.SYMBOL) + VodConfig.getCid();
- }
-
- private Site getSite() {
- return VodConfig.get().getSite(getKey());
- }
-
- private Flag getFlag() {
- return mFlagAdapter.getActivated();
- }
-
- private Episode getEpisode() {
- return mEpisodeAdapter.getActivated();
- }
-
- private boolean isFromCollect() {
- return getCallingActivity() != null && getCallingActivity().getShortClassName().contains(CollectActivity.class.getSimpleName());
- }
-
- @Override
- protected ViewBinding getBinding() {
- return mBinding = ActivityDetailBinding.inflate(getLayoutInflater());
- }
-
- @Override
- protected void initView(Bundle savedInstanceState) {
- mBinding.progressLayout.showProgress();
- setRecyclerView();
- setViewModel();
- getDetail();
- }
-
- @Override
- protected void initEvent() {
- }
-
- private void setRecyclerView() {
- mBinding.flag.setHasFixedSize(true);
- mBinding.flag.setItemAnimator(null);
- mBinding.flag.addItemDecoration(new SpaceItemDecoration(8));
- mBinding.flag.setAdapter(mFlagAdapter = new FlagAdapter(this));
- mBinding.episode.setHasFixedSize(true);
- mBinding.episode.setItemAnimator(null);
- mBinding.episode.setAdapter(mEpisodeAdapter = new EpisodeAdapter(this, ViewType.VERT));
- }
-
- private void setViewModel() {
- mViewModel = new ViewModelProvider(this).get(SiteViewModel.class);
- mViewModel.result.observe(this, this::setDetail);
- mViewModel.player.observe(this, new Observer() {
- @Override
- public void onChanged(Result result) {
-
- }
- });
- }
-
- private void getDetail() {
- mViewModel.detailContent(getKey(), getId());
- }
-
- private void setDetail(Result result) {
- if (result.getList().isEmpty()) setEmpty();
- else setDetail(result.getList().get(0));
- Notify.show(result.getMsg());
- }
-
- private void setEmpty() {
- if (isFromCollect()) {
- finish();
- } else {
- showEmpty();
- }
- }
-
- private void showEmpty() {
- mBinding.progressLayout.showEmpty();
- }
-
- private void setDetail(Vod item) {
- mBinding.progressLayout.showContent();
- mBinding.name.setText(item.getVodName(getName()));
- setText(mBinding.site, R.string.detail_site, getSite().getName());
- setText(mBinding.content, 0, Html.fromHtml(item.getVodContent()).toString());
- setText(mBinding.director, R.string.detail_director, Html.fromHtml(item.getVodDirector()).toString());
- ImgUtil.rect(item.getVodName(), item.getVodPic(getPic()), mBinding.pic);
- mFlagAdapter.addAll(item.getVodFlags());
- checkHistory(item);
- checkFlag(item);
- checkKeepImg();
- }
-
- private void setText(TextView view, int resId, String text) {
- view.setVisibility(text.isEmpty() ? View.GONE : View.VISIBLE);
- view.setText(resId > 0 ? getString(resId, text) : text);
- view.setTag(text);
- }
-
- private void checkHistory(Vod item) {
- mHistory = History.find(getHistoryKey());
- mHistory = mHistory == null ? createHistory(item) : mHistory;
- if (!TextUtils.isEmpty(getMark())) mHistory.setVodRemarks(getMark());
- }
-
- private History createHistory(Vod item) {
- History history = new History();
- history.setKey(getHistoryKey());
- history.setCid(VodConfig.getCid());
- history.setVodPic(item.getVodPic());
- history.setVodName(item.getVodName());
- history.findEpisode(item.getVodFlags());
- return history;
- }
-
- private void checkFlag(Vod item) {
- boolean empty = item.getVodFlags().isEmpty();
- mBinding.flag.setVisibility(empty ? View.GONE : View.VISIBLE);
- if (empty) {
- ErrorEvent.flag();
- } else {
- onItemClick(mHistory.getFlag());
- if (mHistory.isRevSort()) reverseEpisode(true);
- }
- }
-
- private void reverseEpisode(boolean scroll) {
- mFlagAdapter.reverse();
- setEpisodeAdapter(getFlag().getEpisodes());
- if (scroll) mBinding.episode.scrollToPosition(mEpisodeAdapter.getPosition());
- }
-
- private void setEpisodeAdapter(List items) {
- mBinding.episode.setVisibility(items.isEmpty() ? View.GONE : View.VISIBLE);
- mEpisodeAdapter.addAll(items);
- }
-
- private void checkKeepImg() {
- //mBinding.keep.setImageResource(Keep.find(getHistoryKey()) == null ? R.drawable.ic_control_keep_off : R.drawable.ic_control_keep_on);
- }
-
- @Override
- public void onItemClick(Flag item) {
- if (item.isActivated()) return;
- mFlagAdapter.setActivated(item);
- mBinding.flag.scrollToPosition(mFlagAdapter.getPosition());
- setEpisodeAdapter(item.getEpisodes());
- }
-
- @Override
- public void onItemClick(Episode item) {
-
- }
-}
diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/MangaActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/MangaActivity.java
deleted file mode 100644
index b6bfefcdb..000000000
--- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/MangaActivity.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.fongmi.android.tv.ui.activity;
-
-import androidx.viewbinding.ViewBinding;
-
-import com.fongmi.android.tv.ui.base.BaseActivity;
-
-public class MangaActivity extends BaseActivity {
-
- @Override
- protected ViewBinding getBinding() {
- return null;
- }
-}
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 193d87b6f..32b6eacaa 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
@@ -333,6 +333,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
mBinding.content.setOnClickListener(view -> onContent());
mBinding.reverse.setOnClickListener(view -> onReverse());
mBinding.name.setOnLongClickListener(view -> onChange());
+ mBinding.content.setOnLongClickListener(view -> onCopy());
mBinding.control.cast.setOnClickListener(view -> onCast());
mBinding.control.info.setOnClickListener(view -> onInfo());
mBinding.control.full.setOnClickListener(view -> onFull());
@@ -697,6 +698,11 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
return true;
}
+ private boolean onCopy() {
+ Util.copy(mBinding.content.getText().toString());
+ return true;
+ }
+
private void onCast() {
CastDialog.create().history(mHistory).video(CastVideo.get(mBinding.name.getText().toString(), mPlayers.getUrl())).fm(true).show(this);
}
diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/InfoDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/InfoDialog.java
index 9053c7eea..78f6cacbb 100644
--- a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/InfoDialog.java
+++ b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/InfoDialog.java
@@ -7,9 +7,7 @@ import android.view.View;
import androidx.appcompat.app.AlertDialog;
-import com.fongmi.android.tv.R;
import com.fongmi.android.tv.databinding.DialogInfoBinding;
-import com.fongmi.android.tv.utils.Notify;
import com.fongmi.android.tv.utils.Util;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
@@ -82,7 +80,6 @@ public class InfoDialog {
}
private boolean onCopy(String text) {
- Notify.show(R.string.copied);
Util.copy(text);
return true;
}
diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/TypeFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/TypeFragment.java
index 46633dcfa..ff76d5dde 100644
--- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/TypeFragment.java
+++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/TypeFragment.java
@@ -23,7 +23,6 @@ import com.fongmi.android.tv.bean.Vod;
import com.fongmi.android.tv.databinding.FragmentTypeBinding;
import com.fongmi.android.tv.model.SiteViewModel;
import com.fongmi.android.tv.ui.activity.CollectActivity;
-import com.fongmi.android.tv.ui.activity.DetailActivity;
import com.fongmi.android.tv.ui.activity.VideoActivity;
import com.fongmi.android.tv.ui.adapter.VodAdapter;
import com.fongmi.android.tv.ui.base.BaseFragment;
@@ -221,8 +220,7 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
mPages.add(Page.get(item, findPosition()));
getVideo(item.getVodId(), "1");
} else {
- if (item.isManga()) DetailActivity.start(getActivity(), getKey(), item.getVodId(), item.getVodName(), item.getVodPic());
- else VideoActivity.start(getActivity(), getKey(), item.getVodId(), item.getVodName(), item.getVodPic(), isFolder() ? item.getVodName() : null, false);
+ VideoActivity.start(getActivity(), getKey(), item.getVodId(), item.getVodName(), item.getVodPic(), isFolder() ? item.getVodName() : null, false);
}
}
diff --git a/app/src/mobile/res/layout/activity_detail.xml b/app/src/mobile/res/layout/activity_detail.xml
deleted file mode 100644
index 92807861a..000000000
--- a/app/src/mobile/res/layout/activity_detail.xml
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file