diff --git a/app/src/main/java/org/schabi/newpipe/player/VideoPlayerImpl.java b/app/src/main/java/org/schabi/newpipe/player/VideoPlayerImpl.java index c21dca16f..fce70138a 100644 --- a/app/src/main/java/org/schabi/newpipe/player/VideoPlayerImpl.java +++ b/app/src/main/java/org/schabi/newpipe/player/VideoPlayerImpl.java @@ -1538,8 +1538,9 @@ public class VideoPlayerImpl extends VideoPlayer && navBarAtTheBottom ? size.y : ViewGroup.LayoutParams.MATCH_PARENT; controlsRoot.requestLayout(); + final DisplayMetrics metrics = getRootView().getResources().getDisplayMetrics(); int topPadding = isFullscreen && !isInMultiWindow() ? getStatusBarHeight() : 0; - topPadding = !isLandscape && hasCutout(topPadding) ? 0 : topPadding; + topPadding = !isLandscape && DeviceUtils.hasCutout(topPadding, metrics) ? 0 : topPadding; getRootView().findViewById(R.id.playbackWindowRoot).setTranslationY(topPadding); getBottomControlsRoot().setTranslationY(-topPadding); } @@ -1569,20 +1570,6 @@ public class VideoPlayerImpl extends VideoPlayer return statusBarHeight; } - /* - * Compares current status bar height with default status bar height in Android and decides, - * does the device has cutout or not - * */ - private boolean hasCutout(final float statusBarHeight) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { - final DisplayMetrics metrics = getRootView().getResources().getDisplayMetrics(); - final float defaultStatusBarHeight = TypedValue.applyDimension( - TypedValue.COMPLEX_UNIT_DIP, 25, metrics); - return statusBarHeight > defaultStatusBarHeight; - } - return false; - } - protected void setMuteButton(final ImageButton button, final boolean isMuted) { button.setImageDrawable(AppCompatResources.getDrawable(service, isMuted ? R.drawable.ic_volume_off_white_24dp : R.drawable.ic_volume_up_white_24dp)); diff --git a/app/src/main/java/org/schabi/newpipe/util/DeviceUtils.java b/app/src/main/java/org/schabi/newpipe/util/DeviceUtils.java index d852c2296..7592d2f35 100644 --- a/app/src/main/java/org/schabi/newpipe/util/DeviceUtils.java +++ b/app/src/main/java/org/schabi/newpipe/util/DeviceUtils.java @@ -6,6 +6,8 @@ import android.content.pm.PackageManager; import android.content.res.Configuration; import android.os.BatteryManager; import android.os.Build; +import android.util.DisplayMetrics; +import android.util.TypedValue; import android.view.KeyEvent; import androidx.annotation.NonNull; @@ -72,4 +74,17 @@ public final class DeviceUtils { return false; } } + + /* + * Compares current status bar height with default status bar height in Android and decides, + * does the device has cutout or not + * */ + public static boolean hasCutout(final float statusBarHeight, final DisplayMetrics metrics) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + final float defaultStatusBarHeight = TypedValue.applyDimension( + TypedValue.COMPLEX_UNIT_DIP, 25, metrics); + return statusBarHeight > defaultStatusBarHeight; + } + return false; + } }