Optimize pip

pull/586/head
FongMi 1 year ago
parent 2562937175
commit 9cc23f587e
  1. 16
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  2. 16
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  3. 1
      app/src/mobile/java/com/fongmi/android/tv/utils/PiP.java

@ -1,6 +1,7 @@
package com.fongmi.android.tv.ui.activity;
import android.annotation.SuppressLint;
import android.app.PictureInPictureUiState;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
@ -13,6 +14,7 @@ import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import androidx.media3.common.C;
@ -1055,7 +1057,19 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
}
@Override
public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode) {
@RequiresApi(35)
public void onPictureInPictureUiStateChanged(@NonNull PictureInPictureUiState pipState) {
super.onPictureInPictureUiStateChanged(pipState);
if (pipState.isTransitioningToPip()) {
hideControl();
hideInfo();
hideUI();
}
}
@Override
public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode, @NonNull Configuration newConfig) {
super.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig);
super.onPictureInPictureModeChanged(isInPictureInPictureMode);
if (isInPictureInPictureMode) {
PlaybackService.start(mPlayers);

@ -4,6 +4,7 @@ import android.Manifest;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Dialog;
import android.app.PictureInPictureUiState;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
@ -26,6 +27,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.lifecycle.Observer;
@ -1500,8 +1502,18 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
}
@Override
public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode) {
super.onPictureInPictureModeChanged(isInPictureInPictureMode);
@RequiresApi(35)
public void onPictureInPictureUiStateChanged(@NonNull PictureInPictureUiState pipState) {
super.onPictureInPictureUiStateChanged(pipState);
if (pipState.isTransitioningToPip()) {
hideControl();
hideSheet();
}
}
@Override
public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode, @NonNull Configuration newConfig) {
super.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig);
if (!isFullscreen()) setVideoView(isInPictureInPictureMode);
if (isInPictureInPictureMode) {
PlaybackService.start(mPlayers);

@ -74,7 +74,6 @@ public class PiP {
public void enter(Activity activity, int width, int height, int scale) {
try {
if (noPiP() || activity.isInPictureInPictureMode() || !Setting.isBackgroundPiP()) return;
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));

Loading…
Cancel
Save