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 931b78469..2be1e8a47 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 @@ -516,7 +516,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo @Override public void onItemClick(Episode item) { - if (item.isActivated()) return; + if (shouldEnterFullscreen(item)) return; mFlagAdapter.toggle(item); notifyItemChanged(mEpisodeAdapter); mBinding.episode.scrollToPosition(mEpisodeAdapter.getPosition()); @@ -796,13 +796,20 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo else enterFullscreen(); } + private boolean shouldEnterFullscreen(Episode item) { + boolean enter = !isFullscreen() && item.isActivated(); + if (enter) enterFullscreen(); + return enter; + } + private void enterFullscreen() { if (isFullscreen()) return; - mBinding.video.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT)); + App.post(() -> mBinding.video.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT)), 50); setRequestedOrientation(mPlayers.isPortrait() ? ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT : ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE); mBinding.control.full.setVisibility(View.GONE); setSubtitle(Setting.getSubtitle()); setRotate(mPlayers.isPortrait()); + Utils.hideSystemUI(this); App.post(mR3, 2000); setFullscreen(true); hideControl(); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/EpisodeGridDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/EpisodeGridDialog.java index 6a141a962..ede0080f8 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/EpisodeGridDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/EpisodeGridDialog.java @@ -10,6 +10,7 @@ import androidx.fragment.app.FragmentActivity; import androidx.viewbinding.ViewBinding; import androidx.viewpager2.adapter.FragmentStateAdapter; +import com.fongmi.android.tv.Product; import com.fongmi.android.tv.bean.Episode; import com.fongmi.android.tv.databinding.DialogEpisodeGridBinding; import com.fongmi.android.tv.ui.fragment.EpisodeFragment; @@ -72,7 +73,7 @@ public class EpisodeGridDialog extends BaseDialog { else if (offset >= 8) spanCount = 2; else if (offset >= 4) spanCount = 3; else if (offset >= 2) spanCount = 4; - itemCount = spanCount * 10; + itemCount = spanCount * (Product.isPad() ? 5 : 10); } private void setTitles() { diff --git a/app/src/mobile/res/layout-sw600dp/activity_video.xml b/app/src/mobile/res/layout-sw600dp/activity_video.xml index af3be36db..40e029811 100644 --- a/app/src/mobile/res/layout-sw600dp/activity_video.xml +++ b/app/src/mobile/res/layout-sw600dp/activity_video.xml @@ -309,11 +309,12 @@ android:layout_height="wrap_content" android:clipChildren="false" android:clipToPadding="false" + android:nestedScrollingEnabled="false" android:paddingStart="8dp" android:paddingEnd="8dp" android:visibility="gone" app:layoutManager="androidx.recyclerview.widget.GridLayoutManager" - app:spanCount="2" + app:spanCount="4" tools:listitem="@layout/adapter_quick" tools:visibility="visible" /> diff --git a/app/src/mobile/res/layout/activity_video.xml b/app/src/mobile/res/layout/activity_video.xml index 21a8e08e7..d31223119 100644 --- a/app/src/mobile/res/layout/activity_video.xml +++ b/app/src/mobile/res/layout/activity_video.xml @@ -308,6 +308,7 @@ android:layout_height="wrap_content" android:clipChildren="false" android:clipToPadding="false" + android:nestedScrollingEnabled="false" android:paddingStart="8dp" android:paddingEnd="8dp" android:visibility="gone"