diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java index d1d4fc083..65aaca110 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java @@ -63,6 +63,8 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit mBinding.versionText.setText(BuildConfig.VERSION_NAME); mBinding.sizeText.setText(ResUtil.getStringArray(R.array.select_size)[Prefers.getSize()]); mBinding.scaleText.setText(ResUtil.getStringArray(R.array.select_scale)[Prefers.getVodScale()]); + mBinding.playerText.setText(ResUtil.getStringArray(R.array.select_player)[Prefers.getPlayer()]); + mBinding.decodeText.setText(ResUtil.getStringArray(R.array.select_decode)[Prefers.getDecode()]); mBinding.renderText.setText(ResUtil.getStringArray(R.array.select_render)[Prefers.getRender()]); mBinding.qualityText.setText(ResUtil.getStringArray(R.array.select_quality)[Prefers.getQuality()]); } @@ -80,6 +82,8 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit mBinding.wallDefault.setOnClickListener(view -> setWallDefault()); mBinding.wallRefresh.setOnClickListener(view -> setWallRefresh()); mBinding.quality.setOnClickListener(view -> setQuality()); + mBinding.player.setOnClickListener(view -> setPlayer()); + mBinding.decode.setOnClickListener(view -> setDecode()); mBinding.render.setOnClickListener(view -> setRender()); mBinding.scale.setOnClickListener(view -> setScale()); mBinding.size.setOnClickListener(view -> setSize()); @@ -182,6 +186,22 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit RefreshEvent.image(); } + private void setPlayer() { + int index = Prefers.getPlayer(); + CharSequence[] array = ResUtil.getStringArray(R.array.select_player); + Prefers.putPlayer(index = index == array.length - 1 ? 0 : ++index); + mBinding.playerText.setText(array[index]); + if (Prefers.isExo()) forceHardDecode(); + } + + private void setDecode() { + if (Prefers.isExo()) return; + int index = Prefers.getDecode(); + CharSequence[] array = ResUtil.getStringArray(R.array.select_decode); + Prefers.putDecode(index = index == array.length - 1 ? 0 : ++index); + mBinding.decodeText.setText(array[index]); + } + private void setRender() { int index = Prefers.getRender(); CharSequence[] array = ResUtil.getStringArray(R.array.select_render); @@ -211,4 +231,10 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit private void setWallRefresh() { WallConfig.get().load(); } + + private void forceHardDecode() { + CharSequence[] array = ResUtil.getStringArray(R.array.select_decode); + mBinding.decodeText.setText(array[1]); + Prefers.putDecode(1); + } } diff --git a/app/src/leanback/res/layout/activity_setting.xml b/app/src/leanback/res/layout/activity_setting.xml index 5ed3b3f66..ca1847829 100644 --- a/app/src/leanback/res/layout/activity_setting.xml +++ b/app/src/leanback/res/layout/activity_setting.xml @@ -199,6 +199,72 @@ + + + + + + + + + + + + + + + + + + + 点播 直播 壁纸 + 播放器 + 解码方式 渲染方式 缩放比例 图片品质 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 148c1e6a1..6c01bf173 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -61,6 +61,8 @@ 點播 直播 壁紙 + 播放器 + 解碼方式 渲染方式 縮放比例 圖片品質 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 16fd6b555..42a210184 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -61,8 +61,10 @@ Vod Live Wallpaper - Render type - Scale type + Player + Decode + Render + Scale Image quality Image size Version