Merge "Ensure activity view is always cleaned up" into rvc-dev am: 724bea0617

Change-Id: Id33ac71f6471478f2504dba4cebe85b3e6a6a102
This commit is contained in:
TreeHugger Robot
2020-03-27 22:44:56 +00:00
committed by Automerger Merge Worker
2 changed files with 11 additions and 16 deletions

View File

@@ -76,7 +76,6 @@ class Bubble implements BubbleViewProvider {
private BadgedImageView mIconView;
private BubbleExpandedView mExpandedView;
private boolean mInflated;
private BubbleViewInfoTask mInflationTask;
private boolean mInflateSynchronously;
@@ -166,10 +165,16 @@ class Bubble implements BubbleViewProvider {
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 @@ class Bubble implements BubbleViewProvider {
}
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 @@ class Bubble implements BubbleViewProvider {
mDotColor = info.dotColor;
mDotPath = info.dotPath;
if (mExpandedView != null && mIconView != null) {
mInflated = true;
}
if (mExpandedView != null) {
mExpandedView.update(/* bubble */ this);
}
@@ -251,10 +251,6 @@ class Bubble implements BubbleViewProvider {
}
}
void setInflated(boolean inflated) {
mInflated = inflated;
}
/**
* Set visibility of bubble in the expanded state.
*

View File

@@ -963,8 +963,7 @@ public class BubbleStackView extends FrameLayout {
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;
}