Only show historical tasks in history.
- Also only show the history button if there are
historical tasks (and reflect that in the
button text)
Change-Id: I7b9dcf79e2feef61f96b720f586144de4c5033e3
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index 666a024..9b74a80 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -713,8 +713,8 @@
<string name="recents_launch_error_message">Could not start <xliff:g id="app" example="Calendar">%s</xliff:g>.</string>
<!-- Recents: Show history string. [CHAR LIMIT=NONE] -->
<string name="recents_show_history_button_label">More</string>
- <!-- Recents: The history of recents. [CHAR LIMIT=NONE] -->
- <string name="recents_history_label">History</string>
+ <!-- Recents: A format string to set the number of availabe historical tasks in recents. [CHAR LIMIT=NONE] -->
+ <string name="recents_history_label_format"><xliff:g id="number">%d</xliff:g> More</string>
<!-- Recents: MultiStack add stack split horizontal radio button. [CHAR LIMIT=NONE] -->
<string name="recents_multistack_add_stack_dialog_split_horizontal">Split Horizontal</string>
diff --git a/packages/SystemUI/src/com/android/systemui/recents/history/RecentsHistoryView.java b/packages/SystemUI/src/com/android/systemui/recents/history/RecentsHistoryView.java
index 538ec93..1163f14 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/history/RecentsHistoryView.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/history/RecentsHistoryView.java
@@ -101,7 +101,7 @@
.start();
}
});
- mAdapter.updateTasks(getContext(), stack.computeAllTasksList());
+ mAdapter.updateTasks(getContext(), stack.getHistoricalTasks());
mIsVisible = true;
}
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java b/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java
index 0557332..addcc85 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java
@@ -32,8 +32,8 @@
import android.view.animation.AnimationUtils;
import android.view.animation.Interpolator;
import android.widget.FrameLayout;
-
import com.android.internal.logging.MetricsLogger;
+import android.widget.TextView;
import com.android.systemui.R;
import com.android.systemui.recents.Recents;
import com.android.systemui.recents.RecentsActivity;
@@ -81,7 +81,7 @@
private TaskStack mStack;
private TaskStackView mTaskStackView;
private RecentsAppWidgetHostView mSearchBar;
- private View mHistoryButton;
+ private TextView mHistoryButton;
private View mEmptyView;
private boolean mAwaitingFirstLayout = true;
private boolean mLastTaskLaunchedWasFreeform;
@@ -126,7 +126,7 @@
mFlingAnimationUtils = new FlingAnimationUtils(context, 0.3f);
LayoutInflater inflater = LayoutInflater.from(context);
- mHistoryButton = inflater.inflate(R.layout.recents_history_button, this, false);
+ mHistoryButton = (TextView) inflater.inflate(R.layout.recents_history_button, this, false);
mHistoryButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -609,6 +609,8 @@
RecentsDebugFlags debugFlags = Recents.getDebugFlags();
if (!debugFlags.isHistoryEnabled()) {
hideHistoryButton(100);
+ } else {
+ showHistoryButton(100);
}
}
@@ -631,6 +633,8 @@
mHistoryButton.setVisibility(View.VISIBLE);
mHistoryButton.setAlpha(0f);
+ mHistoryButton.setText(getContext().getString(R.string.recents_history_label_format,
+ mStack.getHistoricalTasks().size()));
postHideHistoryAnimationTrigger.addLastDecrementRunnable(new Runnable() {
@Override
public void run() {
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 9d7a927..404ac47 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java
@@ -1065,8 +1065,11 @@
}
// Update the history button visibility
- if (mStackScroller.getStackScroll() < SHOW_HISTORY_BUTTON_SCROLL_THRESHOLD) {
+ if (shouldShowHistoryButton() &&
+ mStackScroller.getStackScroll() < SHOW_HISTORY_BUTTON_SCROLL_THRESHOLD) {
EventBus.getDefault().send(new ShowHistoryButtonEvent());
+ } else {
+ EventBus.getDefault().send(new HideHistoryButtonEvent());
}
// Start dozing
@@ -1395,7 +1398,8 @@
requestSynchronizeStackViewsWithModel();
postInvalidateOnAnimation();
- if (prevScroll > SHOW_HISTORY_BUTTON_SCROLL_THRESHOLD &&
+ if (shouldShowHistoryButton() &&
+ prevScroll > SHOW_HISTORY_BUTTON_SCROLL_THRESHOLD &&
curScroll <= SHOW_HISTORY_BUTTON_SCROLL_THRESHOLD) {
EventBus.getDefault().send(new ShowHistoryButtonEvent());
} else if (prevScroll < HIDE_HISTORY_BUTTON_SCROLL_THRESHOLD &&
@@ -1666,4 +1670,11 @@
}
return -1;
}
+
+ /**
+ * @return whether the history button should be visible
+ */
+ private boolean shouldShowHistoryButton() {
+ return !mStack.getHistoricalTasks().isEmpty();
+ }
}