Merge "Overflow dogfood flag" into rvc-dev am: f134ea991d

Change-Id: I7505e961f1391586fdc1137c19c3c4e669a21482
This commit is contained in:
Automerger Merge Worker
2020-03-06 03:20:25 +00:00
2 changed files with 27 additions and 4 deletions

View File

@@ -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.

View File

@@ -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,8 +1828,11 @@ public class BubbleStackView extends FrameLayout {
* @return the number of bubbles in the stack view.
*/
public int getBubbleCount() {
// Subtract 1 for the overflow button that is always in the bubble container.
return mBubbleContainer.getChildCount() - 1;
if (BubbleExperimentConfig.allowBubbleOverflow(mContext)) {
// Subtract 1 for the overflow button that is always in the bubble container.
return mBubbleContainer.getChildCount() - 1;
}
return mBubbleContainer.getChildCount();
}
/**