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

Commit baea7a48 authored by Justin Klaassen's avatar Justin Klaassen Committed by android-build-merger
Browse files

Merge "Support view transformations when positioning floating CAB" into nyc-dev am: 1fe7ed55

am: 80dc63f6

* commit '80dc63f6':
  Support view transformations when positioning floating CAB

Change-Id: I3f1bf04d5fedf699347ad5f5e7f75f858a5f671b
parents 7a8aa4ec 80dc63f6
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -24,6 +24,8 @@ import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewConfiguration;
import android.view.ViewGroup;
import android.view.ViewParent;

import com.android.internal.R;
import com.android.internal.util.Preconditions;
@@ -165,7 +167,17 @@ public class FloatingActionMode extends ActionMode {
        checkToolbarInitialized();

        mContentRectOnScreen.set(mContentRect);

        // Offset the content rect into screen coordinates, taking into account any transformations
        // that may be applied to the originating view or its ancestors.
        final ViewParent parent = mOriginatingView.getParent();
        if (parent instanceof ViewGroup) {
            ((ViewGroup) parent).getChildVisibleRect(
                    mOriginatingView, mContentRectOnScreen, null /* offset */);
            mContentRectOnScreen.offset(mRootViewPositionOnScreen[0], mRootViewPositionOnScreen[1]);
        } else {
            mContentRectOnScreen.offset(mViewPositionOnScreen[0], mViewPositionOnScreen[1]);
        }

        if (isContentRectWithinBounds()) {
            mFloatingToolbarVisibilityHelper.setOutOfBounds(false);