diff --git a/app/src/main/java/com/fongmi/android/tv/Setting.java b/app/src/main/java/com/fongmi/android/tv/Setting.java
index c9fe33479..d8251d603 100644
--- a/app/src/main/java/com/fongmi/android/tv/Setting.java
+++ b/app/src/main/java/com/fongmi/android/tv/Setting.java
@@ -231,7 +231,7 @@ public class Setting {
}
public static boolean isBackgroundOn() {
- return getBackground() == 1 || getBackground() == 2;
+ return getBackground() == 1;
}
public static boolean isBackgroundPiP() {
diff --git a/app/src/main/java/com/fongmi/android/tv/player/Players.java b/app/src/main/java/com/fongmi/android/tv/player/Players.java
index 37447307b..775fb1dca 100644
--- a/app/src/main/java/com/fongmi/android/tv/player/Players.java
+++ b/app/src/main/java/com/fongmi/android/tv/player/Players.java
@@ -1,5 +1,8 @@
package com.fongmi.android.tv.player;
+import android.app.Activity;
+import android.app.PendingIntent;
+import android.content.Intent;
import android.support.v4.media.session.MediaSessionCompat;
import android.text.TextUtils;
@@ -24,6 +27,7 @@ import com.fongmi.android.tv.event.PlayerEvent;
import com.fongmi.android.tv.impl.ParseCallback;
import com.fongmi.android.tv.utils.Notify;
import com.fongmi.android.tv.utils.ResUtil;
+import com.fongmi.android.tv.utils.Utils;
import com.github.catvod.crawler.SpiderDebug;
import java.util.Formatter;
@@ -73,16 +77,22 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic
return player == SYS || player == IJK;
}
- public Players init() {
+ public Players init(Activity activity) {
player = Setting.getPlayer();
decode = Setting.getDecode();
builder = new StringBuilder();
runnable = ErrorEvent::timeout;
- session = new MediaSessionCompat(App.get(), "TV");
formatter = new Formatter(builder, Locale.getDefault());
+ createSession(activity);
return this;
}
+ private void createSession(Activity activity) {
+ session = new MediaSessionCompat(activity, "TV");
+ session.setSessionActivity(PendingIntent.getActivity(activity, 0, new Intent(activity, activity.getClass()), Utils.getPendingFlag()));
+ session.setActive(true);
+ }
+
public void set(PlayerView exo, IjkVideoView ijk) {
releaseExo();
releaseIjk();
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index a11a5df0a..a07418a7d 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -80,8 +80,8 @@
缓存
版本
权限
- 关
- 开
+ 关闭
+ 开启
关键字…
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 9f347ab25..7c73df02f 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -80,8 +80,8 @@
暫存
版本
權限
- 關
- 開
+ 關閉
+ 開啟
關鍵字…
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 4e5064e46..f5bf52626 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -80,8 +80,8 @@
Cache
Version
Permission
- OFF
- ON
+ Off
+ On
Keywords…
diff --git a/app/src/mobile/java/com/fongmi/android/tv/service/PlaybackService.java b/app/src/mobile/java/com/fongmi/android/tv/service/PlaybackService.java
index 33cba0231..6c64a142b 100644
--- a/app/src/mobile/java/com/fongmi/android/tv/service/PlaybackService.java
+++ b/app/src/mobile/java/com/fongmi/android/tv/service/PlaybackService.java
@@ -1,9 +1,7 @@
package com.fongmi.android.tv.service;
-import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
-import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
@@ -29,7 +27,6 @@ import com.fongmi.android.tv.player.Players;
import com.fongmi.android.tv.receiver.ActionReceiver;
import com.fongmi.android.tv.utils.ImgUtil;
import com.fongmi.android.tv.utils.Notify;
-import com.fongmi.android.tv.utils.Utils;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@@ -37,14 +34,12 @@ import org.greenrobot.eventbus.ThreadMode;
public class PlaybackService extends Service {
- private static Class> classes;
private static Players players;
private final int ID = 9527;
private Bitmap bitmap;
- public static void start(Activity activity, Players players) {
- ContextCompat.startForegroundService(activity, new Intent(activity, PlaybackService.class));
- PlaybackService.classes = activity.getClass();
+ public static void start(Players players) {
+ ContextCompat.startForegroundService(App.get(), new Intent(App.get(), PlaybackService.class));
PlaybackService.players = players;
}
@@ -82,13 +77,11 @@ public class PlaybackService extends Service {
}
private Notification buildNotification() {
- Intent intent = new Intent(this, classes);
- PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, Utils.getPendingFlag());
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, Notify.DEFAULT);
builder.setVisibility(NotificationCompat.VISIBILITY_PUBLIC);
builder.setPriority(NotificationCompat.PRIORITY_LOW);
builder.setSmallIcon(R.drawable.ic_logo);
- builder.setContentIntent(pendingIntent);
+ builder.setContentIntent(players.getSession().getController().getSessionActivity());
builder.setContentTitle(getTitle());
builder.setContentText(getText());
builder.setOngoing(false);
@@ -100,7 +93,7 @@ public class PlaybackService extends Service {
MediaStyle mediaStyle = new MediaStyle();
mediaStyle.setShowActionsInCompactView(0, 2);
mediaStyle.setShowCancelButton(true);
- //mediaStyle.setMediaSession(players.getSession().getSessionToken());
+ mediaStyle.setMediaSession(players.getSession().getSessionToken());
mediaStyle.setCancelButtonIntent(ActionReceiver.getPendingIntent(this, ActionEvent.CANCEL));
builder.setDeleteIntent(ActionReceiver.getPendingIntent(this, ActionEvent.CANCEL));
if (bitmap != null) setLargeIcon(builder);
diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
index 51f9413d1..c0cc73aff 100644
--- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
+++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
@@ -149,7 +149,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
mFormatDate = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
mKeyDown = CustomKeyDownLive.create(this, mBinding.video);
mClock = Clock.create(mBinding.widget.time);
- mPlayers = new Players().init();
+ mPlayers = new Players().init(this);
mHides = new ArrayList<>();
mR1 = this::hideControl;
mR2 = this::setTraffic;
@@ -891,12 +891,14 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode) {
super.onPictureInPictureModeChanged(isInPictureInPictureMode);
if (isInPictureInPictureMode) {
+ PlaybackService.start(mPlayers);
setSubtitle(10);
hideControl();
hideInfo();
hideUI();
} else {
hideInfo();
+ PlaybackService.stop();
setSubtitle(Setting.getSubtitle());
if (isStop()) finish();
}
@@ -931,7 +933,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
@Override
protected void onPause() {
super.onPause();
- if (Setting.isBackgroundOn()) PlaybackService.start(this, mPlayers);
+ if (Setting.isBackgroundOn()) PlaybackService.start(mPlayers);
mClock.stop();
}
diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
index 273755647..4147d2442 100644
--- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
+++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
@@ -272,10 +272,10 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
mFrameParams = mBinding.video.getLayoutParams();
mBinding.progressLayout.showProgress();
mBinding.swipeLayout.setEnabled(false);
+ mPlayers = new Players().init(this);
mObserveDetail = this::setDetail;
mObservePlayer = this::setPlayer;
mObserveSearch = this::setSearch;
- mPlayers = new Players().init();
mDialogs = new ArrayList<>();
mBroken = new ArrayList<>();
mClock = Clock.create();
@@ -1430,12 +1430,14 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode) {
super.onPictureInPictureModeChanged(isInPictureInPictureMode);
if (isInPictureInPictureMode) {
+ PlaybackService.start(mPlayers);
enterFullscreen();
setSubtitle(10);
hideControl();
hideSheet();
} else {
exitFullscreen();
+ PlaybackService.stop();
if (isStop()) finish();
}
}
@@ -1471,7 +1473,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
@Override
protected void onPause() {
super.onPause();
- if (Setting.isBackgroundOn()) PlaybackService.start(this, mPlayers);
+ if (Setting.isBackgroundOn()) PlaybackService.start(mPlayers);
}
@Override