Merge "Ensure activity view is always cleaned up" into rvc-dev
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/Bubble.java b/packages/SystemUI/src/com/android/systemui/bubbles/Bubble.java
index afa3164..71f2bc0 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/Bubble.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/Bubble.java
@@ -76,7 +76,6 @@
private BadgedImageView mIconView;
private BubbleExpandedView mExpandedView;
- private boolean mInflated;
private BubbleViewInfoTask mInflationTask;
private boolean mInflateSynchronously;
@@ -166,10 +165,16 @@
return mExpandedView;
}
- void cleanupExpandedState() {
+ /**
+ * Call when the views should be removed, ensure this is called to clean up ActivityView
+ * content.
+ */
+ void cleanupViews() {
if (mExpandedView != null) {
mExpandedView.cleanUpExpandedState();
+ mExpandedView = null;
}
+ mIconView = null;
}
/**
@@ -213,17 +218,15 @@
}
boolean isInflated() {
- return mInflated;
+ return mIconView != null && mExpandedView != null;
}
void stopInflation() {
if (mInflationTask == null) {
return;
}
- mInflationTask.cancel(/* mayInterruptIfRunning */ true);
- mIconView = null;
- mExpandedView = null;
- mInflated = false;
+ mInflationTask.cancel(true /* mayInterruptIfRunning */);
+ cleanupViews();
}
void setViewInfo(BubbleViewInfoTask.BubbleViewInfo info) {
@@ -240,9 +243,6 @@
mDotColor = info.dotColor;
mDotPath = info.dotPath;
- if (mExpandedView != null && mIconView != null) {
- mInflated = true;
- }
if (mExpandedView != null) {
mExpandedView.update(/* bubble */ this);
}
@@ -251,10 +251,6 @@
}
}
- void setInflated(boolean inflated) {
- mInflated = inflated;
- }
-
/**
* Set visibility of bubble in the expanded state.
*
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java
index 4b03681..6fd6b8d 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java
@@ -963,8 +963,7 @@
if (v instanceof BadgedImageView
&& ((BadgedImageView) v).getKey().equals(bubble.getKey())) {
mBubbleContainer.removeViewAt(i);
- bubble.cleanupExpandedState();
- bubble.setInflated(false);
+ bubble.cleanupViews();
logBubbleEvent(bubble, SysUiStatsLog.BUBBLE_UICHANGED__ACTION__DISMISSED);
return;
}