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

Commit 8d284f2a authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Overflow dogfood flag" into rvc-dev am: f134ea99 am: fa23f43d am: eb0ac3dd

Change-Id: I50f2e3fb05143070c1ded8ccc49b3b7b41200e49
parents 7c0b0f0e eb0ac3dd
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -73,6 +73,9 @@ public class BubbleExperimentConfig {

    private static final String WHITELISTED_AUTO_BUBBLE_APPS = "whitelisted_auto_bubble_apps";

    private static final String ALLOW_BUBBLE_OVERFLOW = "allow_bubble_overflow";
    private static final boolean ALLOW_BUBBLE_OVERFLOW_DEFAULT = false;

    /**
     * When true, if a notification has the information necessary to bubble (i.e. valid
     * contentIntent and an icon or image), then a {@link android.app.Notification.BubbleMetadata}
@@ -86,6 +89,15 @@ public class BubbleExperimentConfig {
                ALLOW_ANY_NOTIF_TO_BUBBLE_DEFAULT ? 1 : 0) != 0;
    }

    /**
     * When true, show a menu with dismissed and aged-out bubbles.
     */
    static boolean allowBubbleOverflow(Context context) {
        return Settings.Secure.getInt(context.getContentResolver(),
                ALLOW_BUBBLE_OVERFLOW,
                ALLOW_BUBBLE_OVERFLOW_DEFAULT ? 1 : 0) != 0;
    }

    /**
     * Same as {@link #allowAnyNotifToBubble(Context)} except it filters for notifications that
     * are using {@link Notification.MessagingStyle} and have remote input.
+15 −4
Original line number Diff line number Diff line
@@ -589,6 +589,9 @@ public class BubbleStackView extends FrameLayout {
    }

    private void setUpOverflow() {
        if (!BubbleExperimentConfig.allowBubbleOverflow(mContext)) {
            return;
        }
        int overflowBtnIndex = 0;
        if (mBubbleOverflow == null) {
            mBubbleOverflow = new BubbleOverflow(getContext());
@@ -800,7 +803,8 @@ public class BubbleStackView extends FrameLayout {
    @Nullable
    Bubble getExpandedBubble() {
        if (mExpandedBubble == null
                || (mExpandedBubble.getIconView() == mBubbleOverflow.getBtn()
                || (BubbleExperimentConfig.allowBubbleOverflow(mContext)
                    && mExpandedBubble.getIconView() == mBubbleOverflow.getBtn()
                    && BubbleOverflow.KEY.equals(mExpandedBubble.getKey()))) {
            return null;
        }
@@ -857,6 +861,9 @@ public class BubbleStackView extends FrameLayout {
    }

    private void updateOverflowBtnVisibility(boolean apply) {
        if (!BubbleExperimentConfig.allowBubbleOverflow(mContext)) {
            return;
        }
        if (mIsExpanded) {
            if (DEBUG_BUBBLE_STACK_VIEW) {
                Log.d(TAG, "Show overflow button.");
@@ -1083,7 +1090,8 @@ public class BubbleStackView extends FrameLayout {
        float y = event.getRawY();
        if (mIsExpanded) {
            if (isIntersecting(mBubbleContainer, x, y)) {
                if (isIntersecting(mBubbleOverflow.getBtn(), x, y)) {
                if (BubbleExperimentConfig.allowBubbleOverflow(mContext)
                        && isIntersecting(mBubbleOverflow.getBtn(), x, y)) {
                    return mBubbleOverflow.getBtn();
                }
                // Could be tapping or dragging a bubble while expanded
@@ -1820,9 +1828,12 @@ public class BubbleStackView extends FrameLayout {
     * @return the number of bubbles in the stack view.
     */
    public int getBubbleCount() {
        if (BubbleExperimentConfig.allowBubbleOverflow(mContext)) {
            // Subtract 1 for the overflow button that is always in the bubble container.
            return mBubbleContainer.getChildCount() - 1;
        }
        return mBubbleContainer.getChildCount();
    }

    /**
     * Finds the bubble index within the stack.