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

Commit db6cdb07 authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Exposing some private methods to easily customize widgets popup

Change-Id: Ie7bd879200b1f14d472ff03fd64429930651a39f
parent 0b74a7fe
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -157,7 +157,7 @@ public class NotificationFooterLayout extends FrameLayout {
        Rect fromBounds = sTempRect;
        firstNotification.getGlobalVisibleRect(fromBounds);
        float scale = (float) toBounds.height() / fromBounds.height();
        Animator moveAndScaleIcon = LauncherAnimUtils.ofPropertyValuesHolder(firstNotification,
        Animator moveAndScaleIcon = ObjectAnimator.ofPropertyValuesHolder(firstNotification,
                new PropertyListBuilder().scale(scale).translationY(toBounds.top - fromBounds.top
                        + (fromBounds.height() * scale - fromBounds.height()) / 2).build());
        moveAndScaleIcon.addListener(new AnimatorListenerAdapter() {
+1 −1
Original line number Diff line number Diff line
@@ -84,7 +84,7 @@ public class PopupContainerWithArrow extends ArrowPopup implements DragSource,

    private final List<DeepShortcutView> mShortcuts = new ArrayList<>();
    private final PointF mInterceptTouchDown = new PointF();
    private final Point mIconLastTouchPos = new Point();
    protected final Point mIconLastTouchPos = new Point();

    private final int mStartDragThreshold;
    private final LauncherAccessibilityDelegate mAccessibilityDelegate;
+4 −0
Original line number Diff line number Diff line
@@ -141,4 +141,8 @@ public class DeepShortcutView extends FrameLayout {
    public View getIconView() {
        return mIconView;
    }

    public ShortcutInfoCompat getDetail() {
        return mDetail;
    }
}
+8 −5
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ import android.view.animation.Interpolator;

import com.android.launcher3.AbstractFloatingView;
import com.android.launcher3.Launcher;
import com.android.launcher3.LauncherAnimUtils;
import com.android.launcher3.Utilities;
import com.android.launcher3.anim.Interpolators;
import com.android.launcher3.touch.SwipeDetector;
@@ -76,7 +75,7 @@ public abstract class AbstractSlideInView extends AbstractFloatingView
        mScrollInterpolator = Interpolators.SCROLL_CUBIC;
        mSwipeDetector = new SwipeDetector(context, this, SwipeDetector.VERTICAL);

        mOpenCloseAnimator = LauncherAnimUtils.ofPropertyValuesHolder(this);
        mOpenCloseAnimator = ObjectAnimator.ofPropertyValuesHolder(this);
        mOpenCloseAnimator.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
@@ -103,7 +102,7 @@ public abstract class AbstractSlideInView extends AbstractFloatingView
                directionsToDetectScroll, false);
        mSwipeDetector.onTouchEvent(ev);
        return mSwipeDetector.isDraggingOrSettling()
                || !mLauncher.getDragLayer().isEventOverView(mContent, ev);
                || !getPopupContainer().isEventOverView(mContent, ev);
    }

    @Override
@@ -111,7 +110,7 @@ public abstract class AbstractSlideInView extends AbstractFloatingView
        mSwipeDetector.onTouchEvent(ev);
        if (ev.getAction() == MotionEvent.ACTION_UP && mSwipeDetector.isIdleState()) {
            // If we got ACTION_UP without ever starting swipe, close the panel.
            if (!mLauncher.getDragLayer().isEventOverView(mContent, ev)) {
            if (!getPopupContainer().isEventOverView(mContent, ev)) {
                close(true);
            }
        }
@@ -178,6 +177,10 @@ public abstract class AbstractSlideInView extends AbstractFloatingView

    protected void onCloseComplete() {
        mIsOpen = false;
        mLauncher.getDragLayer().removeView(this);
        getPopupContainer().removeView(this);
    }

    protected BaseDragLayer getPopupContainer() {
        return mLauncher.getDragLayer();
    }
}
+8 −5
Original line number Diff line number Diff line
@@ -71,7 +71,7 @@ abstract class BaseWidgetSheet extends AbstractSlideInView
    }

    @Override
    public final boolean onLongClick(View v) {
    public boolean onLongClick(View v) {
        if (!ItemLongClickListener.canStartDrag(mLauncher)) return false;

        if (v instanceof WidgetCell) {
@@ -96,7 +96,7 @@ abstract class BaseWidgetSheet extends AbstractSlideInView
        }

        int[] loc = new int[2];
        mLauncher.getDragLayer().getLocationInDragLayer(image, loc);
        getPopupContainer().getLocationInDragLayer(image, loc);

        new PendingItemDragHelper(v).startDrag(
                image.getBitmapBounds(), image.getBitmap().getWidth(), image.getWidth(),
@@ -119,13 +119,13 @@ abstract class BaseWidgetSheet extends AbstractSlideInView
    }

    protected void clearNavBarColor() {
        mLauncher.getSystemUiController().updateUiState(
        getSystemUiController().updateUiState(
                SystemUiController.UI_STATE_WIDGET_BOTTOM_SHEET, 0);
    }

    protected void setupNavBarColor() {
        boolean isSheetDark = Themes.getAttrBoolean(mLauncher, R.attr.isMainColorDark);
        mLauncher.getSystemUiController().updateUiState(
        boolean isSheetDark = Themes.getAttrBoolean(getContext(), R.attr.isMainColorDark);
        getSystemUiController().updateUiState(
                SystemUiController.UI_STATE_WIDGET_BOTTOM_SHEET,
                isSheetDark ? SystemUiController.FLAG_DARK_NAV : SystemUiController.FLAG_LIGHT_NAV);
    }
@@ -145,4 +145,7 @@ abstract class BaseWidgetSheet extends AbstractSlideInView

    protected abstract int getElementsRowCount();

    protected SystemUiController getSystemUiController() {
        return mLauncher.getSystemUiController();
    }
}
Loading