Merge changes I23fdfa3a,Ibe43fd74 into rvc-dev
* changes: Don't allow the overflow bubble to be dragged out. Fix inability to return to selected bubble after opening overflow.
This commit is contained in:
committed by
Android (Google) Code Review
commit
49f0b3e281
@@ -1386,6 +1386,11 @@ public class BubbleStackView extends FrameLayout {
|
|||||||
if (DEBUG_BUBBLE_STACK_VIEW) {
|
if (DEBUG_BUBBLE_STACK_VIEW) {
|
||||||
Log.d(TAG, "onBubbleDragStart: bubble=" + bubble);
|
Log.d(TAG, "onBubbleDragStart: bubble=" + bubble);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (bubble.equals(mBubbleOverflow.getIconView())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
mExpandedAnimationController.prepareForBubbleDrag(bubble, mMagneticTarget);
|
mExpandedAnimationController.prepareForBubbleDrag(bubble, mMagneticTarget);
|
||||||
|
|
||||||
// We're dragging an individual bubble, so set the magnetized object to the magnetized
|
// We're dragging an individual bubble, so set the magnetized object to the magnetized
|
||||||
@@ -1398,7 +1403,7 @@ public class BubbleStackView extends FrameLayout {
|
|||||||
|
|
||||||
/** Called with the coordinates to which an individual bubble has been dragged. */
|
/** Called with the coordinates to which an individual bubble has been dragged. */
|
||||||
public void onBubbleDragged(View bubble, float x, float y) {
|
public void onBubbleDragged(View bubble, float x, float y) {
|
||||||
if (!mIsExpanded || mIsExpansionAnimating) {
|
if (!mIsExpanded || mIsExpansionAnimating || bubble.equals(mBubbleOverflow.getIconView())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1413,7 +1418,7 @@ public class BubbleStackView extends FrameLayout {
|
|||||||
Log.d(TAG, "onBubbleDragFinish: bubble=" + bubble);
|
Log.d(TAG, "onBubbleDragFinish: bubble=" + bubble);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mIsExpanded || mIsExpansionAnimating) {
|
if (!mIsExpanded || mIsExpansionAnimating || bubble.equals(mBubbleOverflow.getIconView())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1421,6 +1426,18 @@ public class BubbleStackView extends FrameLayout {
|
|||||||
hideDismissTarget();
|
hideDismissTarget();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Expands the clicked bubble. */
|
||||||
|
public void expandBubble(Bubble bubble) {
|
||||||
|
if (bubble.equals(mBubbleData.getSelectedBubble())) {
|
||||||
|
// If the bubble we're supposed to expand is the selected bubble, that means the
|
||||||
|
// overflow bubble is currently expanded. Don't tell BubbleData to set this bubble as
|
||||||
|
// selected, since it already is. Just call the stack's setSelectedBubble to expand it.
|
||||||
|
setSelectedBubble(bubble);
|
||||||
|
} else {
|
||||||
|
mBubbleData.setSelectedBubble(bubble);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void onDragStart() {
|
void onDragStart() {
|
||||||
if (DEBUG_BUBBLE_STACK_VIEW) {
|
if (DEBUG_BUBBLE_STACK_VIEW) {
|
||||||
Log.d(TAG, "onDragStart()");
|
Log.d(TAG, "onDragStart()");
|
||||||
|
|||||||
@@ -189,7 +189,7 @@ class BubbleTouchHandler implements View.OnTouchListener {
|
|||||||
if (key == BubbleOverflow.KEY) {
|
if (key == BubbleOverflow.KEY) {
|
||||||
mStack.showOverflow();
|
mStack.showOverflow();
|
||||||
} else {
|
} else {
|
||||||
mBubbleData.setSelectedBubble(mBubbleData.getBubbleWithKey(key));
|
mStack.expandBubble(mBubbleData.getBubbleWithKey(key));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
resetForNextGesture();
|
resetForNextGesture();
|
||||||
|
|||||||
Reference in New Issue
Block a user