Fix exo track bug

pull/137/head
FongMi 3 years ago
parent 32e2a5f336
commit 03a6f6fdf8
  1. 9
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingPlayerActivity.java
  2. 5
      app/src/main/java/com/fongmi/android/tv/bean/Track.java
  3. 14
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  4. 3
      app/src/main/java/com/fongmi/android/tv/utils/Prefers.java
  5. 9
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingPlayerFragment.java

@ -10,6 +10,7 @@ import com.fongmi.android.tv.R;
import com.fongmi.android.tv.databinding.ActivitySettingPlayerBinding;
import com.fongmi.android.tv.impl.UaCallback;
import com.fongmi.android.tv.player.ExoUtil;
import com.fongmi.android.tv.player.Players;
import com.fongmi.android.tv.ui.base.BaseActivity;
import com.fongmi.android.tv.ui.custom.dialog.UaDialog;
import com.fongmi.android.tv.utils.Prefers;
@ -28,10 +29,6 @@ public class SettingPlayerActivity extends BaseActivity implements UaCallback {
return getString(value ? R.string.setting_on : R.string.setting_off);
}
private boolean isExo() {
return Prefers.getPlayer() == 2;
}
@Override
protected ViewBinding getBinding() {
return mBinding = ActivitySettingPlayerBinding.inflate(getLayoutInflater());
@ -42,8 +39,8 @@ public class SettingPlayerActivity extends BaseActivity implements UaCallback {
mBinding.uaText.setText(Prefers.getUa());
mBinding.tunnelText.setText(getSwitch(Prefers.isTunnel()));
mBinding.httpText.setText((http = ResUtil.getStringArray(R.array.select_player_http))[Prefers.getHttp()]);
mBinding.tunnel.setVisibility(isExo() ? View.VISIBLE : View.GONE);
mBinding.http.setVisibility(isExo() ? View.VISIBLE : View.GONE);
mBinding.tunnel.setVisibility(Players.isExo(Prefers.getPlayer()) ? View.VISIBLE : View.GONE);
mBinding.http.setVisibility(Players.isExo(Prefers.getPlayer()) ? View.VISIBLE : View.GONE);
}
@Override

@ -6,6 +6,7 @@ import androidx.room.Index;
import androidx.room.PrimaryKey;
import com.fongmi.android.tv.db.AppDatabase;
import com.fongmi.android.tv.player.Players;
import java.util.List;
@ -92,11 +93,11 @@ public class Track {
}
public boolean isExo(int player) {
return getPlayer() == player && player == 0;
return getPlayer() == player && player == Players.EXO;
}
public boolean isIjk(int player) {
return getPlayer() == player && player == 1;
return getPlayer() == player && player != Players.EXO;
}
public Track toggle() {

@ -33,6 +33,10 @@ import tv.danmaku.ijk.media.player.ui.IjkVideoView;
public class Players implements Player.Listener, IMediaPlayer.Listener, AnalyticsListener, ParseCallback {
public static final int SYS = 0;
public static final int IJK = 1;
public static final int EXO = 2;
private IjkVideoView ijkPlayer;
private StringBuilder builder;
private Formatter formatter;
@ -45,12 +49,16 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic
private int decode;
private int player;
public static boolean isExo(int type) {
return type == EXO;
}
public boolean isExo() {
return player == 2;
return player == EXO;
}
public boolean isIjk() {
return player != 2;
return player == SYS || player == IJK;
}
public Players init() {
@ -189,7 +197,7 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic
public void togglePlayer() {
stop();
setPlayer(player == 2 ? 0 : ++player);
setPlayer(player == EXO ? SYS : ++player);
}
public void toggleDecode() {

@ -5,6 +5,7 @@ import android.content.SharedPreferences;
import androidx.preference.PreferenceManager;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.player.Players;
public class Prefers {
@ -92,7 +93,7 @@ public class Prefers {
}
public static int getPlayer() {
return getInt("player", 2);
return getInt("player", Players.EXO);
}
public static void putPlayer(int player) {

@ -12,6 +12,7 @@ import com.fongmi.android.tv.R;
import com.fongmi.android.tv.databinding.FragmentSettingPlayerBinding;
import com.fongmi.android.tv.impl.UaCallback;
import com.fongmi.android.tv.player.ExoUtil;
import com.fongmi.android.tv.player.Players;
import com.fongmi.android.tv.ui.base.BaseFragment;
import com.fongmi.android.tv.ui.custom.dialog.UaDialog;
import com.fongmi.android.tv.utils.Prefers;
@ -30,10 +31,6 @@ public class SettingPlayerFragment extends BaseFragment implements UaCallback {
return getString(value ? R.string.setting_on : R.string.setting_off);
}
private boolean isExo() {
return Prefers.getPlayer() == 2;
}
@Override
protected ViewBinding getBinding(@NonNull LayoutInflater inflater, @Nullable ViewGroup container) {
return mBinding = FragmentSettingPlayerBinding.inflate(inflater, container, false);
@ -55,8 +52,8 @@ public class SettingPlayerFragment extends BaseFragment implements UaCallback {
}
private void setVisible() {
mBinding.http.setVisibility(isExo() ? View.VISIBLE : View.GONE);
mBinding.tunnel.setVisibility(isExo() ? View.VISIBLE : View.GONE);
mBinding.http.setVisibility(Players.isExo(Prefers.getPlayer()) ? View.VISIBLE : View.GONE);
mBinding.tunnel.setVisibility(Players.isExo(Prefers.getPlayer()) ? View.VISIBLE : View.GONE);
}
private void onUa(View view) {

Loading…
Cancel
Save