Add player setting

pull/123/head
FongMi 3 years ago
parent 02b2950d35
commit e5b13c7ffb
  1. 26
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java
  2. 66
      app/src/leanback/res/layout/activity_setting.xml
  3. 4
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  4. 8
      app/src/main/java/com/fongmi/android/tv/utils/Prefers.java
  5. 2
      app/src/main/res/values-zh-rCN/strings.xml
  6. 2
      app/src/main/res/values-zh-rTW/strings.xml
  7. 6
      app/src/main/res/values/strings.xml

@ -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);
}
}

@ -199,6 +199,72 @@
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/player"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_weight="1"
android:background="@drawable/selector_item"
android:focusable="true"
android:focusableInTouchMode="true"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:text="@string/setting_player"
android:textColor="@color/white"
android:textSize="18sp" />
<TextView
android:id="@+id/playerText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:textColor="@color/white"
android:textSize="18sp"
tools:text="EXO" />
</LinearLayout>
<LinearLayout
android:id="@+id/decode"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/selector_item"
android:focusable="true"
android:focusableInTouchMode="true"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:text="@string/setting_decode"
android:textColor="@color/white"
android:textSize="18sp" />
<TextView
android:id="@+id/decodeText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:textColor="@color/white"
android:textSize="18sp"
tools:text="硬解" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"

@ -40,11 +40,11 @@ public class Players implements Player.Listener, IMediaPlayer.OnInfoListener, IM
private int retry;
public boolean isExo() {
return Prefers.getPlayer() == 0;
return Prefers.isExo();
}
public boolean isIjk() {
return Prefers.getPlayer() == 1;
return Prefers.isIjk();
}
public Players init() {

@ -154,4 +154,12 @@ public class Prefers {
public static int getColumn() {
return Math.abs(getSize() - 7);
}
public static boolean isExo() {
return getPlayer() == 0;
}
public static boolean isIjk() {
return getPlayer() == 1;
}
}

@ -61,6 +61,8 @@
<string name="setting_vod">点播</string>
<string name="setting_live">直播</string>
<string name="setting_wall">壁纸</string>
<string name="setting_player">播放器</string>
<string name="setting_decode">解码方式</string>
<string name="setting_render">渲染方式</string>
<string name="setting_scale">缩放比例</string>
<string name="setting_quality">图片品质</string>

@ -61,6 +61,8 @@
<string name="setting_vod">點播</string>
<string name="setting_live">直播</string>
<string name="setting_wall">壁紙</string>
<string name="setting_player">播放器</string>
<string name="setting_decode">解碼方式</string>
<string name="setting_render">渲染方式</string>
<string name="setting_scale">縮放比例</string>
<string name="setting_quality">圖片品質</string>

@ -61,8 +61,10 @@
<string name="setting_vod">Vod</string>
<string name="setting_live">Live</string>
<string name="setting_wall">Wallpaper</string>
<string name="setting_render">Render type</string>
<string name="setting_scale">Scale type</string>
<string name="setting_player">Player</string>
<string name="setting_decode">Decode</string>
<string name="setting_render">Render</string>
<string name="setting_scale">Scale</string>
<string name="setting_quality">Image quality</string>
<string name="setting_size">Image size</string>
<string name="setting_version">Version</string>

Loading…
Cancel
Save