Merge "BubbleData [5/n]: Split up StackView.setExpandedBubble" into qt-dev
am: dec79c3e94
Change-Id: If03f142d3a56208d32c8bb7f49b76cefbfc0efc3
This commit is contained in:
@@ -356,8 +356,10 @@ public class BubbleController implements BubbleExpandedView.OnBubbleBlockedListe
|
|||||||
ensureStackViewCreated();
|
ensureStackViewCreated();
|
||||||
mStackView.addBubble(notif);
|
mStackView.addBubble(notif);
|
||||||
}
|
}
|
||||||
|
Bubble bubble = mBubbleData.getBubble(notif.key);
|
||||||
if (shouldAutoExpand(notif)) {
|
if (shouldAutoExpand(notif)) {
|
||||||
mStackView.setExpandedBubble(notif);
|
mStackView.setSelectedBubble(bubble);
|
||||||
|
mStackView.setExpanded(true);
|
||||||
}
|
}
|
||||||
updateVisibility();
|
updateVisibility();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -441,40 +441,15 @@ public class BubbleStackView extends FrameLayout {
|
|||||||
* Sets the bubble that should be expanded and expands if needed.
|
* Sets the bubble that should be expanded and expands if needed.
|
||||||
*
|
*
|
||||||
* @param key the {@link NotificationEntry#key} associated with the bubble to expand.
|
* @param key the {@link NotificationEntry#key} associated with the bubble to expand.
|
||||||
|
* @deprecated replaced by setSelectedBubble(Bubble) + setExpanded(true)
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
void setExpandedBubble(String key) {
|
void setExpandedBubble(String key) {
|
||||||
Bubble bubbleToExpand = mBubbleData.getBubble(key);
|
Bubble bubbleToExpand = mBubbleData.getBubble(key);
|
||||||
if (mIsExpanded && !bubbleToExpand.equals(mExpandedBubble)) {
|
if (bubbleToExpand != null) {
|
||||||
// Previously expanded, notify that this bubble is no longer expanded
|
setSelectedBubble(bubbleToExpand);
|
||||||
notifyExpansionChanged(mExpandedBubble.entry, false /* expanded */);
|
bubbleToExpand.entry.setShowInShadeWhenBubble(false);
|
||||||
}
|
setExpanded(true);
|
||||||
Bubble prevBubble = mExpandedBubble;
|
|
||||||
mExpandedBubble = bubbleToExpand;
|
|
||||||
if (!mIsExpanded) {
|
|
||||||
// If we weren't previously expanded we should animate open.
|
|
||||||
animateExpansion(true /* expand */);
|
|
||||||
logBubbleEvent(mExpandedBubble, StatsLog.BUBBLE_UICHANGED__ACTION__EXPANDED);
|
|
||||||
mExpandedBubble.entry.setShowInShadeWhenBubble(false);
|
|
||||||
notifyExpansionChanged(mExpandedBubble.entry, true /* expanded */);
|
|
||||||
} else {
|
|
||||||
// Make the container of the expanded view transparent before removing the expanded view
|
|
||||||
// from it. Otherwise a punch hole created by {@link android.view.SurfaceView} in the
|
|
||||||
// expanded view becomes visible on the screen. See b/126856255
|
|
||||||
mExpandedViewContainer.setAlpha(0.0f);
|
|
||||||
|
|
||||||
mSurfaceSynchronizer.syncSurfaceAndRun(new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
updateExpandedBubble();
|
|
||||||
updatePointerPosition();
|
|
||||||
requestUpdate();
|
|
||||||
logBubbleEvent(prevBubble, StatsLog.BUBBLE_UICHANGED__ACTION__COLLAPSED);
|
|
||||||
logBubbleEvent(mExpandedBubble,
|
|
||||||
StatsLog.BUBBLE_UICHANGED__ACTION__EXPANDED);
|
|
||||||
mExpandedBubble.entry.setShowInShadeWhenBubble(false);
|
|
||||||
notifyExpansionChanged(mExpandedBubble.entry, true /* expanded */);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -491,6 +466,57 @@ public class BubbleStackView extends FrameLayout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Changes the currently selected bubble. If the stack is already expanded, the newly selected
|
||||||
|
* bubble will be shown immediately. This does not change the expanded state or change the
|
||||||
|
* position of any bubble.
|
||||||
|
*/
|
||||||
|
public void setSelectedBubble(Bubble bubbleToSelect) {
|
||||||
|
if (mExpandedBubble != null && mExpandedBubble.equals(bubbleToSelect)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final Bubble previouslySelected = mExpandedBubble;
|
||||||
|
mExpandedBubble = bubbleToSelect;
|
||||||
|
if (mIsExpanded) {
|
||||||
|
// Make the container of the expanded view transparent before removing the expanded view
|
||||||
|
// from it. Otherwise a punch hole created by {@link android.view.SurfaceView} in the
|
||||||
|
// expanded view becomes visible on the screen. See b/126856255
|
||||||
|
mExpandedViewContainer.setAlpha(0.0f);
|
||||||
|
mSurfaceSynchronizer.syncSurfaceAndRun(() -> {
|
||||||
|
updateExpandedBubble();
|
||||||
|
updatePointerPosition();
|
||||||
|
requestUpdate();
|
||||||
|
logBubbleEvent(previouslySelected, StatsLog.BUBBLE_UICHANGED__ACTION__COLLAPSED);
|
||||||
|
logBubbleEvent(bubbleToSelect, StatsLog.BUBBLE_UICHANGED__ACTION__EXPANDED);
|
||||||
|
notifyExpansionChanged(previouslySelected.entry, false /* expanded */);
|
||||||
|
notifyExpansionChanged(bubbleToSelect.entry, true /* expanded */);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Changes the expanded state of the stack.
|
||||||
|
*
|
||||||
|
* @param expanded whether the bubble stack should appear expanded
|
||||||
|
*/
|
||||||
|
public void setExpanded(boolean expanded) {
|
||||||
|
if (expanded == mIsExpanded) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (mIsExpanded) {
|
||||||
|
// Collapse the stack
|
||||||
|
animateExpansion(false /* expand */);
|
||||||
|
logBubbleEvent(mExpandedBubble, StatsLog.BUBBLE_UICHANGED__ACTION__COLLAPSED);
|
||||||
|
} else {
|
||||||
|
// Expand the stack
|
||||||
|
animateExpansion(true /* expand */);
|
||||||
|
// TODO: move next line to BubbleData
|
||||||
|
logBubbleEvent(mExpandedBubble, StatsLog.BUBBLE_UICHANGED__ACTION__EXPANDED);
|
||||||
|
logBubbleEvent(mExpandedBubble, StatsLog.BUBBLE_UICHANGED__ACTION__STACK_EXPANDED);
|
||||||
|
}
|
||||||
|
notifyExpansionChanged(mExpandedBubble.entry, mIsExpanded);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a bubble to the top of the stack.
|
* Adds a bubble to the top of the stack.
|
||||||
*
|
*
|
||||||
@@ -652,7 +678,10 @@ public class BubbleStackView extends FrameLayout {
|
|||||||
* Collapses the stack of bubbles.
|
* Collapses the stack of bubbles.
|
||||||
* <p>
|
* <p>
|
||||||
* Must be called from the main thread.
|
* Must be called from the main thread.
|
||||||
|
*
|
||||||
|
* @deprecated use {@link #setExpanded(boolean)} and {@link #setSelectedBubble(Bubble)}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
@MainThread
|
@MainThread
|
||||||
public void collapseStack() {
|
public void collapseStack() {
|
||||||
if (mIsExpanded) {
|
if (mIsExpanded) {
|
||||||
@@ -663,6 +692,11 @@ public class BubbleStackView extends FrameLayout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated use {@link #setExpanded(boolean)} and {@link #setSelectedBubble(Bubble)}
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
@MainThread
|
||||||
void collapseStack(Runnable endRunnable) {
|
void collapseStack(Runnable endRunnable) {
|
||||||
collapseStack();
|
collapseStack();
|
||||||
// TODO - use the runnable at end of animation
|
// TODO - use the runnable at end of animation
|
||||||
@@ -673,7 +707,10 @@ public class BubbleStackView extends FrameLayout {
|
|||||||
* Expands the stack of bubbles.
|
* Expands the stack of bubbles.
|
||||||
* <p>
|
* <p>
|
||||||
* Must be called from the main thread.
|
* Must be called from the main thread.
|
||||||
|
*
|
||||||
|
* @deprecated use {@link #setExpanded(boolean)} and {@link #setSelectedBubble(Bubble)}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
@MainThread
|
@MainThread
|
||||||
public void expandStack() {
|
public void expandStack() {
|
||||||
if (!mIsExpanded) {
|
if (!mIsExpanded) {
|
||||||
|
|||||||
Reference in New Issue
Block a user