diff --git a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java index c57942aa56f..57e32120da7 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java @@ -10,7 +10,6 @@ import android.content.pm.ActivityInfo; import android.database.ContentObserver; import android.graphics.Color; -import android.graphics.Point; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.net.Uri; @@ -22,6 +21,7 @@ import android.util.DisplayMetrics; import android.util.Log; import android.util.TypedValue; +import android.view.Display; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; @@ -41,6 +41,7 @@ import androidx.appcompat.widget.Toolbar; import androidx.coordinatorlayout.widget.CoordinatorLayout; import androidx.core.content.ContextCompat; +import androidx.core.view.DisplayCompat; import androidx.preference.PreferenceManager; import com.google.android.exoplayer2.PlaybackException; @@ -1047,15 +1048,18 @@ public void updateTabLayoutVisibility() { // call `post()` to be sure `viewPager.getHitRect()` // is up to date and not being currently recomputed binding.tabLayout.post(() -> { - if (getContext() != null) { + final Context context = getContext(); + if (context != null) { final Rect pagerHitRect = new Rect(); binding.viewPager.getHitRect(pagerHitRect); - final Point displaySize = new Point(); - Objects.requireNonNull(ContextCompat.getSystemService(getContext(), - WindowManager.class)).getDefaultDisplay().getSize(displaySize); + final Display display = Objects.requireNonNull(ContextCompat + .getSystemService(context, WindowManager.class)).getDefaultDisplay(); + final DisplayCompat.ModeCompat displayMode = DisplayCompat.getMode(context, + display); - final int viewPagerVisibleHeight = displaySize.y - pagerHitRect.top; + final int viewPagerVisibleHeight = displayMode.getPhysicalHeight() + - pagerHitRect.top; // see TabLayout.DEFAULT_HEIGHT, which is equal to 48dp final float tabLayoutHeight = TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, 48, getResources().getDisplayMetrics());