diff options
author | Winson Chung <winsonc@google.com> | 2014-11-12 03:45:16 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-11-12 03:45:16 +0000 |
commit | 57e0d099fbae470d6759ac1cd4e801cee14b4997 (patch) | |
tree | 8fd71598222ab8ea3e36064f846a296f1732af7e | |
parent | ec36c2401d4471a819d6b32df3da7245fd7db7d8 (diff) | |
parent | d7b557fb288c911bffd06f24923f16cc0e80153e (diff) | |
download | frameworks_base-57e0d099fbae470d6759ac1cd4e801cee14b4997.zip frameworks_base-57e0d099fbae470d6759ac1cd4e801cee14b4997.tar.gz frameworks_base-57e0d099fbae470d6759ac1cd4e801cee14b4997.tar.bz2 |
am d7b557fb: Merge "Adding null checks for unset stack. (Bug 18329447)" into lmp-mr1-dev automerge: 4ff2526 automerge: 1314e9a
* commit 'd7b557fb288c911bffd06f24923f16cc0e80153e':
Adding null checks for unset stack. (Bug 18329447)
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java index c3077b0..49fd792 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java @@ -439,6 +439,8 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal /** Updates the min and max virtual scroll bounds */ void updateMinMaxScroll(boolean boundScrollToNewMinMax, boolean launchedWithAltTab, boolean launchedFromHome) { + if (mStack == null) return; + // Compute the min and max scroll values mLayoutAlgorithm.computeMinMaxScroll(mStack.getTasks(), launchedWithAltTab, launchedFromHome); @@ -563,6 +565,8 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal @Override public void onInitializeAccessibilityEvent(AccessibilityEvent event) { super.onInitializeAccessibilityEvent(event); + if (mStack == null) return; + int childCount = getChildCount(); if (childCount > 0) { TaskView backMostTask = (TaskView) getChildAt(0); @@ -637,6 +641,11 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal */ @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + if (mStack == null) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + return; + } + int width = MeasureSpec.getSize(widthMeasureSpec); int height = MeasureSpec.getSize(heightMeasureSpec); @@ -682,6 +691,11 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal */ @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + if (mStack == null) { + super.onLayout(changed, left, top, right, bottom); + return; + } + // Layout each of the children int childCount = getChildCount(); for (int i = 0; i < childCount; i++) { @@ -839,7 +853,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal /** Final callback after Recents is finally hidden. */ void onRecentsHidden() { - reset(); setStack(null); } @@ -1014,6 +1027,8 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal @Override public void prepareViewToLeavePool(TaskView tv, Task task, boolean isNewView) { + if (mStack == null) return; + // It is possible for a view to be returned to the view pool before it is laid out, // which means that we will need to relayout the view when it is first used next. boolean requiresRelayout = tv.getWidth() <= 0 && !isNewView; @@ -1152,6 +1167,8 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal @Override public void onPackagesChanged(RecentsPackageMonitor monitor, String packageName, int userId) { + if (mStack == null) return; + // Compute which components need to be removed HashSet<ComponentName> removedComponents = monitor.computeComponentsRemoved( mStack.getTaskKeys(), packageName, userId); |