Optimize pip mode

pull/496/head
FongMi 2 years ago
parent 8085f6255d
commit 209e02c09e
  1. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  2. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  3. 7
      app/src/mobile/java/com/fongmi/android/tv/utils/PiP.java

@ -1039,7 +1039,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
super.onUserLeaveHint();
if (isRedirect()) return;
if (isLock()) App.post(this::onLock, 500);
if (mPlayers.haveTrack(C.TRACK_TYPE_VIDEO)) mPiP.enter(this, Setting.getLiveScale() == 2);
if (mPlayers.haveTrack(C.TRACK_TYPE_VIDEO)) mPiP.enter(this, mPlayers.get().getVideoSize(), Setting.getLiveScale());
}
@Override

@ -1490,7 +1490,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
super.onUserLeaveHint();
if (isRedirect()) return;
if (isLock()) App.post(this::onLock, 500);
if (mPlayers.haveTrack(C.TRACK_TYPE_VIDEO)) mPiP.enter(this, getScale() == 2);
if (mPlayers.haveTrack(C.TRACK_TYPE_VIDEO)) mPiP.enter(this, mPlayers.get().getVideoSize(), getScale());
}
@Override

@ -13,6 +13,7 @@ import android.view.View;
import androidx.annotation.DrawableRes;
import androidx.annotation.StringRes;
import androidx.media3.common.VideoSize;
import androidx.media3.ui.R;
import com.fongmi.android.tv.App;
@ -71,12 +72,14 @@ public class PiP {
}
}
public void enter(Activity activity, boolean four) {
public void enter(Activity activity, VideoSize size, int scale) {
try {
if (noPiP() || activity.isInPictureInPictureMode() || !Setting.isBackgroundPiP()) return;
builder.setAspectRatio(new Rational(four ? 4 : 16, four ? 3 : 9));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) builder.setAutoEnterEnabled(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) builder.setSeamlessResizeEnabled(true);
if (scale == 1) builder.setAspectRatio(new Rational(16, 9));
else if (scale == 2) builder.setAspectRatio(new Rational(4, 3));
else builder.setAspectRatio(new Rational(size.width, size.height));
activity.enterPictureInPictureMode(builder.build());
} catch (Exception e) {
e.printStackTrace();

Loading…
Cancel
Save