Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fe634af0 authored by Kevin's avatar Kevin
Browse files

Apply insets correctly to fallback Recents Go

Insets were not being correctly consumed by the root view in the
fallback recents activity. This CL properly passes on the system insets
to the recents view so that tasks flow under the system insets.

Bug: 131853975
Test: Have separate default launcher, go to recents, go to landscape,
tasks scroll under status bar
Change-Id: I16f78da896522c5cf41951817747a24cd5cfe32c
parent 33a2946b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ public final class RecentsActivity extends BaseRecentsActivity {

    @Override
    protected void reapplyUi() {
        //TODO: Implement this depending on how insets will affect the view.
        // No-op. Insets are automatically re-applied in the root view.
    }

    @Override
+21 −0
Original line number Diff line number Diff line
@@ -16,7 +16,10 @@
package com.android.quickstep.fallback;

import android.content.Context;
import android.graphics.Insets;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.WindowInsets;

import com.android.launcher3.util.TouchController;
import com.android.launcher3.views.BaseDragLayer;
@@ -30,5 +33,23 @@ public final class GoRecentsActivityRootView extends BaseDragLayer<RecentsActivi
        super(context, attrs, 1 /* alphaChannelCount */);
        // Go leaves touch control to the view itself.
        mControllers = new TouchController[0];
        setSystemUiVisibility(SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | SYSTEM_UI_FLAG_LAYOUT_STABLE);
    }

    @Override
    public void setInsets(Rect insets) {
        if (insets.equals(mInsets)) {
            return;
        }
        super.setInsets(insets);
    }

    @Override
    public WindowInsets onApplyWindowInsets(WindowInsets insets) {
        Insets sysInsets = insets.getSystemWindowInsets();
        setInsets(new Rect(sysInsets.left, sysInsets.top, sysInsets.right, sysInsets.bottom));
        return insets.consumeSystemWindowInsets();
    }
}