Add audio mode

pull/594/head
jhengazuki 7 months ago
parent 223a2c290d
commit 0efc722a0e
  1. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java
  2. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  3. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  4. 1
      app/src/main/AndroidManifest.xml
  5. 1
      app/src/main/java/com/fongmi/android/tv/event/ActionEvent.java
  6. 17
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  7. 19
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  8. 2
      app/src/mobile/java/com/fongmi/android/tv/utils/PiP.java
  9. 12
      app/src/mobile/res/drawable/ic_action_audio.xml

@ -512,6 +512,7 @@ public class CastActivity extends BaseActivity implements CustomKeyDownVod.Liste
@Override
protected void onStart() {
super.onStart();
mBinding.exo.setPlayer(mPlayers.get());
mClock.stop().start();
onPlay();
}
@ -534,6 +535,7 @@ public class CastActivity extends BaseActivity implements CustomKeyDownVod.Liste
super.onStop();
if (Setting.isBackgroundOff()) onPaused();
if (Setting.isBackgroundOff()) mClock.stop();
mBinding.exo.setPlayer(null);
}
@Override

@ -961,6 +961,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
@Override
protected void onStart() {
super.onStart();
mBinding.exo.setPlayer(mPlayers.get());
mClock.stop().start();
onPlay();
}
@ -983,6 +984,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
super.onStop();
if (Setting.isBackgroundOff()) onPaused();
if (Setting.isBackgroundOff()) mClock.stop();
mBinding.exo.setPlayer(null);
}
@Override

@ -1396,6 +1396,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
@Override
protected void onStart() {
super.onStart();
mBinding.exo.setPlayer(mPlayers.get());
mClock.stop().start();
onPlay();
}
@ -1418,6 +1419,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
super.onStop();
if (Setting.isBackgroundOff()) onPaused();
if (Setting.isBackgroundOff()) mClock.stop();
mBinding.exo.setPlayer(null);
}
@Override

@ -77,6 +77,7 @@
<action android:name="${applicationId}.next" />
<action android:name="${applicationId}.play" />
<action android:name="${applicationId}.pause" />
<action android:name="${applicationId}.audio" />
</intent-filter>
</receiver>

@ -11,6 +11,7 @@ public class ActionEvent {
public static String NEXT = BuildConfig.APPLICATION_ID.concat(".next");
public static String PLAY = BuildConfig.APPLICATION_ID.concat(".play");
public static String PAUSE = BuildConfig.APPLICATION_ID.concat(".pause");
public static String AUDIO = BuildConfig.APPLICATION_ID.concat(".audio");
public static String UPDATE = BuildConfig.APPLICATION_ID.concat(".update");
private final String action;

@ -91,6 +91,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDown.Listener
private Runnable mR1;
private Runnable mR2;
private Runnable mR3;
private boolean audioOnly;
private boolean redirect;
private boolean rotate;
private boolean stop;
@ -728,6 +729,9 @@ public class LiveActivity extends BaseActivity implements CustomKeyDown.Listener
nextChannel();
} else if (ActionEvent.PREV.equals(event.getAction())) {
prevChannel();
} else if (ActionEvent.AUDIO.equals(event.getAction())) {
moveTaskToBack(true);
setAudioOnly(true);
} else if (ActionEvent.STOP.equals(event.getAction())) {
finish();
}
@ -876,6 +880,14 @@ public class LiveActivity extends BaseActivity implements CustomKeyDown.Listener
checkPlayImg();
}
public boolean isAudioOnly() {
return audioOnly;
}
public void setAudioOnly(boolean audioOnly) {
this.audioOnly = audioOnly;
}
public boolean isRedirect() {
return redirect;
}
@ -1046,6 +1058,8 @@ public class LiveActivity extends BaseActivity implements CustomKeyDown.Listener
@Override
protected void onStart() {
super.onStart();
mBinding.exo.setPlayer(mPlayers.get());
setAudioOnly(false);
setStop(false);
onPlay();
}
@ -1067,7 +1081,8 @@ public class LiveActivity extends BaseActivity implements CustomKeyDown.Listener
protected void onStop() {
super.onStop();
if (Setting.isBackgroundOff()) onPaused();
setStop(true);
if (!isAudioOnly()) setStop(true);
mBinding.exo.setPlayer(null);
}
@Override

@ -133,6 +133,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
private History mHistory;
private Players mPlayers;
private boolean fullscreen;
private boolean audioOnly;
private boolean initAuto;
private boolean autoMode;
private boolean useParse;
@ -1125,6 +1126,9 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
mBinding.control.next.performClick();
} else if (ActionEvent.PREV.equals(event.getAction())) {
mBinding.control.prev.performClick();
} else if (ActionEvent.AUDIO.equals(event.getAction())) {
moveTaskToBack(true);
setAudioOnly(true);
} else if (ActionEvent.STOP.equals(event.getAction())) {
finish();
}
@ -1356,6 +1360,14 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
Util.toggleFullscreen(this, this.fullscreen = fullscreen);
}
public boolean isAudioOnly() {
return audioOnly;
}
public void setAudioOnly(boolean audioOnly) {
this.audioOnly = audioOnly;
}
private boolean isInitAuto() {
return initAuto;
}
@ -1581,7 +1593,9 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
@Override
protected void onStart() {
super.onStart();
mBinding.exo.setPlayer(mPlayers.get());
mClock.stop().start();
setAudioOnly(false);
setStop(false);
onPlay();
}
@ -1602,9 +1616,10 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
@Override
protected void onStop() {
super.onStop();
if (Setting.isBackgroundOff()) onPaused();
if (Setting.isBackgroundOff()) mClock.stop();
setStop(true);
if (Setting.isBackgroundOff()) onPaused();
if (!isAudioOnly()) setStop(true);
mBinding.exo.setPlayer(null);
}
@Override

@ -65,7 +65,7 @@ public class PiP {
public void update(Activity activity, boolean play) {
if (noPiP()) return;
List<RemoteAction> actions = new ArrayList<>();
actions.add(buildRemoteAction(activity, R.drawable.exo_icon_previous, R.string.exo_controls_previous_description, ActionEvent.PREV));
actions.add(buildRemoteAction(activity, com.fongmi.android.tv.R.drawable.ic_action_audio, R.string.exo_controls_hide, ActionEvent.AUDIO));
actions.add(getPlayPauseAction(activity, play));
actions.add(buildRemoteAction(activity, R.drawable.exo_icon_next, R.string.exo_controls_next_description, ActionEvent.NEXT));
try {

@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="#FFFFFF"
android:viewportWidth="960"
android:viewportHeight="960">
<path
android:fillColor="@android:color/white"
android:pathData="M280,840L200,840Q167,840 143.5,816.5Q120,793 120,760L120,480Q120,405 148.5,339.5Q177,274 225.5,225.5Q274,177 339.5,148.5Q405,120 480,120Q555,120 620.5,148.5Q686,177 734.5,225.5Q783,274 811.5,339.5Q840,405 840,480L840,760Q840,793 816.5,816.5Q793,840 760,840L680,840Q647,840 623.5,816.5Q600,793 600,760L600,600Q600,567 623.5,543.5Q647,520 680,520L760,520L760,480Q760,363 678.5,281.5Q597,200 480,200Q363,200 281.5,281.5Q200,363 200,480L200,520L280,520Q313,520 336.5,543.5Q360,567 360,600L360,760Q360,793 336.5,816.5Q313,840 280,840ZM280,600L200,600L200,760Q200,760 200,760Q200,760 200,760L280,760Q280,760 280,760Q280,760 280,760L280,600Q280,600 280,600Q280,600 280,600ZM680,600L680,760Q680,760 680,760Q680,760 680,760L760,760Q760,760 760,760Q760,760 760,760L760,600L680,600Q680,600 680,600Q680,600 680,600ZM280,600Q280,600 280,600Q280,600 280,600L280,600Q280,600 280,600Q280,600 280,600L200,600Q200,600 200,600Q200,600 200,600L200,600L280,600ZM680,600Q680,600 680,600Q680,600 680,600L760,600L760,600Q760,600 760,600Q760,600 760,600L680,600Q680,600 680,600Q680,600 680,600Z" />
</vector>
Loading…
Cancel
Save