Merge "Fixed a few memory leaks in SystemUI" into nyc-dev

am: 4f401f24c7

* commit '4f401f24c79c26a0554331bf13948e402c611015':
  Fixed a few memory leaks in SystemUI

Change-Id: Iba8725618829c316bbf99dd47b0e73526a9ab044
This commit is contained in:
Selim Cinek
2016-05-27 19:05:41 +00:00
committed by android-build-merger
3 changed files with 10 additions and 8 deletions

View File

@@ -360,7 +360,9 @@ public class NotificationContentView extends FrameLayout {
private void setVisible(final boolean isVisible) {
if (isVisible) {
// This call can happen multiple times, but removing only removes a single one.
// We therefore need to remove the old one.
getViewTreeObserver().removeOnPreDrawListener(mEnableAnimationPredrawListener);
// We only animate if we are drawn at least once, otherwise the view might animate when
// it's shown the first time
getViewTreeObserver().addOnPreDrawListener(mEnableAnimationPredrawListener);

View File

@@ -109,9 +109,6 @@ public class HeaderTransformState extends TransformState {
@Override
public void recycle() {
super.recycle();
if (mWorkProfileState != null) {
mWorkProfileState.recycle();
}
sInstancePool.release(this);
}
@@ -120,6 +117,10 @@ public class HeaderTransformState extends TransformState {
super.reset();
mExpandButton = null;
mWorkProfileState = null;
if (mWorkProfileState != null) {
mWorkProfileState.recycle();
mWorkProfileState = null;
}
}
public void setVisible(boolean visible) {

View File

@@ -26,9 +26,8 @@ import com.android.systemui.statusbar.EmptyShadeView;
import com.android.systemui.statusbar.ExpandableNotificationRow;
import com.android.systemui.statusbar.ExpandableView;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.WeakHashMap;
/**
* A state of a {@link com.android.systemui.statusbar.stack.NotificationStackScrollLayout} which
@@ -39,12 +38,12 @@ public class StackScrollState {
private static final String CHILD_NOT_FOUND_TAG = "StackScrollStateNoSuchChild";
private final ViewGroup mHostView;
private Map<ExpandableView, StackViewState> mStateMap;
private WeakHashMap<ExpandableView, StackViewState> mStateMap;
private final int mClearAllTopPadding;
public StackScrollState(ViewGroup hostView) {
mHostView = hostView;
mStateMap = new HashMap<ExpandableView, StackViewState>();
mStateMap = new WeakHashMap<>();
mClearAllTopPadding = hostView.getContext().getResources().getDimensionPixelSize(
R.dimen.clear_all_padding_top);
}