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

Commit 86be0698 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Report contentInsets only based on what they will be inside apps" into...

Merge "Report contentInsets only based on what they will be inside apps" into sc-v2-dev am: be0360c6

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16442237

Change-Id: I3f2382b320e7e13673e9a156e0250133e15d2d7d
parents a370c888 be0360c6
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ import static com.android.systemui.shared.system.WindowManagerWrapper.ITYPE_EXTR

import android.animation.Animator;
import android.annotation.ColorInt;
import android.graphics.Rect;
import android.os.RemoteException;
import android.util.Log;
import android.view.MotionEvent;
@@ -114,13 +113,6 @@ public class LauncherTaskbarUIController extends TaskbarUIController {
        return !mTaskbarLauncherStateController.isAnimatingToLauncher();
    }

    @Override
    protected void updateContentInsets(Rect outContentInsets) {
        int contentHeight = mControllers.taskbarStashController.getContentHeight();
        TaskbarDragLayer dragLayer = mControllers.taskbarActivityContext.getDragLayer();
        outContentInsets.top = dragLayer.getHeight() - contentHeight;
    }

    /**
     * Should be called from onResume() and onPause(), and animates the Taskbar accordingly.
     */
+5 −2
Original line number Diff line number Diff line
@@ -181,10 +181,13 @@ public class TaskbarDragLayerController {
        }

        /**
         * Called to update the {@link InsetsInfo#contentInsets}.
         * Called to update the {@link InsetsInfo#contentInsets}. This is reported to apps but our
         * internal launcher will ignore these insets.
         */
        public void updateContentInsets(Rect outContentInsets) {
            mControllers.uiController.updateContentInsets(outContentInsets);
            int contentHeight = mControllers.taskbarStashController
                    .getContentHeightToReportToApps();
            outContentInsets.top = mTaskbarDragLayer.getHeight() - contentHeight;
        }

        /**
+13 −3
Original line number Diff line number Diff line
@@ -53,10 +53,17 @@ public class TaskbarStashController {
    public static final int FLAG_IN_STASHED_LAUNCHER_STATE = 1 << 6;

    // If we're in an app and any of these flags are enabled, taskbar should be stashed.
    public static final int FLAGS_STASHED_IN_APP = FLAG_STASHED_IN_APP_MANUAL
    private static final int FLAGS_STASHED_IN_APP = FLAG_STASHED_IN_APP_MANUAL
            | FLAG_STASHED_IN_APP_PINNED | FLAG_STASHED_IN_APP_EMPTY | FLAG_STASHED_IN_APP_SETUP
            | FLAG_STASHED_IN_APP_IME;

    // If any of these flags are enabled, inset apps by our stashed height instead of our unstashed
    // height. This way the reported insets are consistent even during transitions out of the app.
    // Currently any flag that causes us to stash in an app is included, except for IME since that
    // covers the underlying app anyway and thus the app shouldn't change insets.
    private static final int FLAGS_REPORT_STASHED_INSETS_TO_APP = FLAGS_STASHED_IN_APP
            & ~FLAG_STASHED_IN_APP_IME;

    /**
     * How long to stash/unstash when manually invoked via long press.
     */
@@ -239,8 +246,11 @@ public class TaskbarStashController {
        return !mIsStashed && (mState & FLAG_IN_APP) != 0;
    }

    public int getContentHeight() {
        if (isStashed()) {
    /**
     * Returns the height that taskbar will inset when inside apps.
     */
    public int getContentHeightToReportToApps() {
        if (hasAnyFlag(FLAGS_REPORT_STASHED_INSETS_TO_APP)) {
            boolean isAnimating = mAnimator != null && mAnimator.isStarted();
            return mControllers.stashedHandleViewController.isStashedHandleVisible() || isAnimating
                    ? mStashedHeight : 0;
+0 −3
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@
 */
package com.android.launcher3.taskbar;

import android.graphics.Rect;
import android.view.View;

import androidx.annotation.CallSuper;
@@ -49,8 +48,6 @@ public class TaskbarUIController {
        return true;
    }

    protected void updateContentInsets(Rect outContentInsets) { }

    protected void onStashedInAppChanged() { }

    public Stream<ItemInfoWithIcon> getAppIconsForEdu() {