diff --git a/app/src/main/java/com/github/tvbox/osc/event/RefreshEvent.java b/app/src/main/java/com/github/tvbox/osc/event/RefreshEvent.java index e0ed2860..fc07783b 100644 --- a/app/src/main/java/com/github/tvbox/osc/event/RefreshEvent.java +++ b/app/src/main/java/com/github/tvbox/osc/event/RefreshEvent.java @@ -18,6 +18,7 @@ public class RefreshEvent { public static final int TYPE_PUSH_URL = 9; public static final int TYPE_EPG_URL_CHANGE = 10; public static final int TYPE_SETTING_SEARCH_TV = 11; + public static final int TYPE_SUBTITLE_SIZE_CHANGE = 12; public int type; public Object obj; diff --git a/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java b/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java index 1e7e4e2a..90a5a4d3 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/activity/DetailActivity.java @@ -47,6 +47,7 @@ import com.github.tvbox.osc.util.HawkConfig; import com.github.tvbox.osc.util.LOG; import com.github.tvbox.osc.util.MD5; import com.github.tvbox.osc.util.SearchHelper; +import com.github.tvbox.osc.util.SubtitleHelper; import com.github.tvbox.osc.viewmodel.SourceViewModel; import com.google.gson.Gson; import com.google.gson.JsonArray; @@ -652,6 +653,7 @@ public class DetailActivity extends BaseActivity { llPlayerFragmentContainer.setVisibility(View.VISIBLE); llPlayerFragmentContainerBlock.setVisibility(View.VISIBLE); llPlayerFragmentContainerBlock.requestFocus(); + toggleSubtitleTextSize(); } // startQuickSearch(); } else { @@ -934,5 +936,16 @@ public class DetailActivity extends BaseActivity { tvSort.setFocusable(!fullWindows); tvCollect.setFocusable(!fullWindows); tvQuickSearch.setFocusable(!fullWindows); + toggleSubtitleTextSize(); + } + + void toggleSubtitleTextSize() { + int subtitleTextSize; + if (fullWindows) { + subtitleTextSize = SubtitleHelper.getTextSize(this); + } else { + subtitleTextSize = SubtitleHelper.getSubtitleTextAutoSize(this); + } + EventBus.getDefault().post(new RefreshEvent(RefreshEvent.TYPE_SUBTITLE_SIZE_CHANGE, subtitleTextSize)); } } diff --git a/app/src/main/java/com/github/tvbox/osc/ui/fragment/PlayFragment.java b/app/src/main/java/com/github/tvbox/osc/ui/fragment/PlayFragment.java index 87dc6b19..cdeef2b4 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/fragment/PlayFragment.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/fragment/PlayFragment.java @@ -77,6 +77,8 @@ import com.obsez.android.lib.filechooser.ChooserDialog; import com.orhanobut.hawk.Hawk; import org.greenrobot.eventbus.EventBus; +import org.greenrobot.eventbus.Subscribe; +import org.greenrobot.eventbus.ThreadMode; import org.jetbrains.annotations.NotNull; import org.json.JSONException; import org.json.JSONObject; @@ -123,6 +125,13 @@ public class PlayFragment extends BaseLazyFragment { return R.layout.activity_play; } + @Subscribe(threadMode = ThreadMode.MAIN) + public void refresh(RefreshEvent event) { + if (event.type == RefreshEvent.TYPE_SUBTITLE_SIZE_CHANGE) { + mController.mSubtitleView.setTextSize((int) event.obj); + } + } + @Override protected void init() { initView(); @@ -131,6 +140,7 @@ public class PlayFragment extends BaseLazyFragment { } private void initView() { + EventBus.getDefault().register(this); mHandler = new Handler(new Handler.Callback() { @Override public boolean handleMessage(@NonNull Message msg) {