Override statusBar top inset in Launcher

Fix: 227600170
Test: manual on small and large screen devices
Change-Id: I1b0dacaf555db966d1e2a837310d9cebe3e60d7a
This commit is contained in:
Alex Chau
2022-04-04 17:39:31 +01:00
parent 369dcf68a5
commit 20af9304cb

View File

@@ -165,6 +165,17 @@ public class WindowManagerProxy implements ResourceBasedOverride {
insetsBuilder.setInsets(WindowInsets.Type.navigationBars(), newNavInsets);
insetsBuilder.setInsetsIgnoringVisibility(WindowInsets.Type.navigationBars(), newNavInsets);
Insets statusBarInsets = oldInsets.getInsets(WindowInsets.Type.statusBars());
int statusBarHeight = getDimenByName("status_bar_height", systemRes, 0);
Insets newStatusBarInsets = Insets.of(
statusBarInsets.left,
Math.max(statusBarInsets.top, statusBarHeight),
statusBarInsets.right,
statusBarInsets.bottom);
insetsBuilder.setInsets(WindowInsets.Type.statusBars(), newStatusBarInsets);
insetsBuilder.setInsetsIgnoringVisibility(
WindowInsets.Type.statusBars(), newStatusBarInsets);
// Override the tappable insets to be 0 on the bottom for gesture nav (otherwise taskbar
// would count towards it). This is used for the bottom protection in All Apps for example.
if (isGesture) {