summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java30
2 files changed, 24 insertions, 9 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 49fd792bf0a3..1731d3861504 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java
@@ -554,7 +554,8 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal
/** Resets the focused task. */
void resetFocusedTask() {
- if (mFocusedTaskIndex > -1) {
+ if ((mStack != null) && (0 <= mFocusedTaskIndex) &&
+ (mFocusedTaskIndex < mStack.getTaskCount())) {
Task t = mStack.getTasks().get(mFocusedTaskIndex);
TaskView tv = getChildViewForTask(t);
tv.unsetFocusedTask();
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java
index 790130ac6b35..edc3c2de748c 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java
@@ -469,7 +469,9 @@ public class TaskView extends FrameLayout implements Task.TaskCallbacks,
startDeleteTaskAnimation(new Runnable() {
@Override
public void run() {
- mCb.onTaskViewDismissed(tv);
+ if (mCb != null) {
+ mCb.onTaskViewDismissed(tv);
+ }
}
});
}
@@ -486,7 +488,9 @@ public class TaskView extends FrameLayout implements Task.TaskCallbacks,
void setClipViewInStack(boolean clip) {
if (clip != mClipViewInStack) {
mClipViewInStack = clip;
- mCb.onTaskViewClipStateChanged(this);
+ if (mCb != null) {
+ mCb.onTaskViewClipStateChanged(this);
+ }
}
}
@@ -570,7 +574,9 @@ public class TaskView extends FrameLayout implements Task.TaskCallbacks,
// Update the thumbnail alpha with the focus
mThumbnailView.onFocusChanged(true);
// Call the callback
- mCb.onTaskViewFocusChanged(this, true);
+ if (mCb != null) {
+ mCb.onTaskViewFocusChanged(this, true);
+ }
// Workaround, we don't always want it focusable in touch mode, but we want the first task
// to be focused after the enter-recents animation, which can be triggered from either touch
// or keyboard
@@ -593,7 +599,9 @@ public class TaskView extends FrameLayout implements Task.TaskCallbacks,
// Update the thumbnail alpha with the focus
mThumbnailView.onFocusChanged(false);
// Call the callback
- mCb.onTaskViewFocusChanged(this, false);
+ if (mCb != null) {
+ mCb.onTaskViewFocusChanged(this, false);
+ }
invalidate();
}
@@ -694,7 +702,9 @@ public class TaskView extends FrameLayout implements Task.TaskCallbacks,
@Override
public void run() {
if (Constants.DebugFlags.App.EnableTaskFiltering && v == mHeaderView.mApplicationIcon) {
- mCb.onTaskViewAppIconClicked(tv);
+ if (mCb != null) {
+ mCb.onTaskViewAppIconClicked(tv);
+ }
} else if (v == mHeaderView.mDismissButton) {
dismissTask();
}
@@ -705,7 +715,9 @@ public class TaskView extends FrameLayout implements Task.TaskCallbacks,
// Reset the translation of the action button before we animate it out
mActionButtonView.setTranslationZ(0f);
}
- mCb.onTaskViewClicked(tv, tv.getTask(), (v == mActionButtonView));
+ if (mCb != null) {
+ mCb.onTaskViewClicked(tv, tv.getTask(), (v == mActionButtonView));
+ }
}
}
@@ -714,8 +726,10 @@ public class TaskView extends FrameLayout implements Task.TaskCallbacks,
@Override
public boolean onLongClick(View v) {
if (v == mHeaderView.mApplicationIcon) {
- mCb.onTaskViewAppInfoClicked(this);
- return true;
+ if (mCb != null) {
+ mCb.onTaskViewAppInfoClicked(this);
+ return true;
+ }
}
return false;
}