Support live playerType

pull/123/head
FongMi 3 years ago
parent 0f633d2d50
commit 3db976b11e
  1. 5
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  2. 13
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  3. 6
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java
  4. 2
      app/src/main/java/com/fongmi/android/tv/Github.java
  5. 6
      app/src/main/java/com/fongmi/android/tv/bean/Live.java
  6. 1
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  7. 22
      app/src/main/java/com/fongmi/android/tv/utils/Prefers.java

@ -509,7 +509,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
private void onScale() {
int index = mHistory.getScale();
if (index == -1) index = Prefers.getVodScale();
if (index == -1) index = Prefers.getScale();
String[] array = ResUtil.getStringArray(R.array.select_scale);
mHistory.setScale(index = index == array.length - 1 ? 0 : ++index);
setScale(index);
@ -567,6 +567,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
private void onPlayer() {
mPlayers.stop();
mPlayers.togglePlayer();
Prefers.putPlayer(mPlayers.getPlayer());
mHistory.setPlayer(mPlayers.getPlayer());
getPlayer(false);
setPlayerView();
@ -681,7 +682,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
mHistory = mHistory == null ? createHistory() : mHistory;
setFlagActivated(mHistory.getFlag());
if (mHistory.isRevSort()) reverseEpisode();
setScale(mHistory.getScale() == -1 ? Prefers.getVodScale() : mHistory.getScale());
setScale(mHistory.getScale() == -1 ? Prefers.getScale() : mHistory.getScale());
mBinding.control.opening.setText(mPlayers.stringToTime(mHistory.getOpening()));
mBinding.control.ending.setText(mPlayers.stringToTime(mHistory.getEnding()));
mBinding.control.speed.setText(mPlayers.setSpeed(mHistory.getSpeed()));

@ -104,6 +104,14 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
return (Group) mGroupAdapter.get(0);
}
private Live getHome() {
return LiveConfig.get().getHome();
}
private int getPlayerType() {
return getHome().getPlayerType() != -1 ? getHome().getPlayerType() : Prefers.getLivePlayer();
}
private boolean isVisible(View view) {
return view.getVisibility() == View.VISIBLE;
}
@ -171,6 +179,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
}
private void setPlayerView() {
mPlayers.setPlayer(getPlayerType());
mBinding.control.player.setText(mPlayers.getPlayerText());
getExo().setVisibility(mPlayers.isExo() ? View.VISIBLE : View.GONE);
getIjk().setVisibility(mPlayers.isIjk() ? View.VISIBLE : View.GONE);
@ -207,7 +216,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
}
private void getLive() {
mViewModel.getLive(LiveConfig.get().getHome());
mViewModel.getLive(getHome());
showProgress();
}
@ -303,6 +312,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
private void onPlayer() {
mPlayers.stop();
mPlayers.togglePlayer();
Prefers.putLivePlayer(mPlayers.getPlayer());
setPlayerView();
getUrl();
}
@ -638,6 +648,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
@Override
public void setLive(Live item) {
LiveConfig.get().setHome(item);
setPlayerView();
mHides.clear();
hideControl();
getLive();

@ -52,7 +52,7 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
mBinding.wallUrl.setText(WallConfig.getUrl());
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.scaleText.setText(ResUtil.getStringArray(R.array.select_scale)[Prefers.getScale()]);
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()]);
@ -187,9 +187,9 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
}
private void setScale() {
int index = Prefers.getVodScale();
int index = Prefers.getScale();
String[] array = ResUtil.getStringArray(R.array.select_scale);
Prefers.putVodScale(index = index == array.length - 1 ? 0 : ++index);
Prefers.putScale(index = index == array.length - 1 ? 0 : ++index);
mBinding.scaleText.setText(array[index]);
}

@ -11,7 +11,7 @@ import okhttp3.Request;
public class Github {
public static final String A = "https://raw.githubusercontent.com/";
public static final String B = "https://ghproxy.com/";
public static final String B = "https://gh-proxy.com/";
public static final String C = "https://raw.iqiq.io/";
public static final String REPO = "FongMi/TV/";
public static final String RELEASE = "release";

@ -28,6 +28,8 @@ public class Live {
private String epg;
@SerializedName("ua")
private String ua;
@SerializedName("playerType")
private Integer playerType;
@SerializedName("channels")
private List<Channel> channels;
@SerializedName("groups")
@ -86,6 +88,10 @@ public class Live {
return TextUtils.isEmpty(ua) ? "" : ua;
}
public int getPlayerType() {
return playerType == null ? -1 : playerType == 1 ? 1 : 0;
}
private List<Channel> getChannels() {
return channels = channels == null ? new ArrayList<>() : channels;
}

@ -185,7 +185,6 @@ public class Players implements Player.Listener, IMediaPlayer.OnInfoListener, IM
public void togglePlayer() {
setPlayer(player == 0 ? 1 : 0);
Prefers.putPlayer(player);
}
public void toggleDecode() {

@ -83,6 +83,14 @@ public class Prefers {
put("player", player);
}
public static int getLivePlayer() {
return getInt("player_live", getPlayer());
}
public static void putLivePlayer(int player) {
put("player_live", player);
}
public static int getDecode() {
return getInt("decode", 1);
}
@ -131,24 +139,24 @@ public class Prefers {
put("keyword", keyword);
}
public static int getVodScale() {
return getInt("vodScale");
public static int getScale() {
return getInt("scale");
}
public static void putVodScale(int scale) {
put("vodScale", scale);
public static void putScale(int scale) {
put("scale", scale);
}
public static int getLiveScale() {
return getInt("liveScale", getVodScale());
return getInt("scale_live", getScale());
}
public static void putLiveScale(int scale) {
put("liveScale", scale);
put("scale_live", scale);
}
public static boolean isInvert() {
return getBoolean("invert", false);
return getBoolean("invert");
}
public static void putInvert(boolean invert) {

Loading…
Cancel
Save