DisplayCutout: Fix corner cutout issues in SystemUI

Bug: 74195186
Test: Turn on Corner Display Cutout, verify SystemUI nowhere gets obscured by the cutout.
Change-Id: I27eeca067fdf65f5fa1570057b7f23157708d65c
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
index a48dcc6..9792e41 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
@@ -33,7 +33,9 @@
 import android.text.format.DateUtils;
 import android.util.AttributeSet;
 import android.util.Log;
+import android.util.Pair;
 import android.view.View;
+import android.view.WindowInsets;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 
@@ -47,6 +49,7 @@
 import com.android.systemui.plugins.ActivityStarter;
 import com.android.systemui.qs.QSDetail.Callback;
 import com.android.systemui.statusbar.CommandQueue;
+import com.android.systemui.statusbar.phone.PhoneStatusBarView;
 import com.android.systemui.statusbar.phone.StatusBarIconController;
 import com.android.systemui.statusbar.phone.StatusBarIconController.TintedIconManager;
 import com.android.systemui.statusbar.policy.DarkIconDispatcher;
@@ -260,6 +263,19 @@
     public void onAttachedToWindow() {
         SysUiServiceProvider.getComponent(getContext(), CommandQueue.class).addCallbacks(this);
         Dependency.get(StatusBarIconController.class).addIconGroup(mIconManager);
+        requestApplyInsets();
+    }
+
+    @Override
+    public WindowInsets onApplyWindowInsets(WindowInsets insets) {
+        Pair<Integer, Integer> padding = PhoneStatusBarView.cornerCutoutMargins(
+                insets.getDisplayCutout(), getDisplay());
+        if (padding == null) {
+            setPadding(0, 0, 0, 0);
+        } else {
+            setPadding(padding.first, 0, padding.second, 0);
+        }
+        return super.onApplyWindowInsets(insets);
     }
 
     @Override