Disabling history am: 91b225d41f
am: 83c8d89d34
* commit '83c8d89d34ca8bbcf7a20f42094d5149996ea2c7':
Disabling history
This commit is contained in:
@@ -230,7 +230,7 @@ public class RecentsActivity extends Activity implements ViewTreeObserver.OnPreD
|
||||
* Dismisses the history view back into the stack view.
|
||||
*/
|
||||
boolean dismissHistory() {
|
||||
if (mRecentsView.isHistoryVisible()) {
|
||||
if (RecentsDebugFlags.Static.EnableHistory && mRecentsView.isHistoryVisible()) {
|
||||
EventBus.getDefault().send(new HideHistoryEvent(true /* animate */));
|
||||
return true;
|
||||
}
|
||||
@@ -447,7 +447,7 @@ public class RecentsActivity extends Activity implements ViewTreeObserver.OnPreD
|
||||
|
||||
// Reset some states
|
||||
mIgnoreAltTabRelease = false;
|
||||
if (mRecentsView.isHistoryVisible()) {
|
||||
if (RecentsDebugFlags.Static.EnableHistory && mRecentsView.isHistoryVisible()) {
|
||||
EventBus.getDefault().send(new HideHistoryEvent(false /* animate */));
|
||||
}
|
||||
|
||||
@@ -503,13 +503,16 @@ public class RecentsActivity extends Activity implements ViewTreeObserver.OnPreD
|
||||
@Override
|
||||
protected void onSaveInstanceState(Bundle outState) {
|
||||
super.onSaveInstanceState(outState);
|
||||
outState.putBoolean(KEY_SAVED_STATE_HISTORY_VISIBLE, mRecentsView.isHistoryVisible());
|
||||
if (RecentsDebugFlags.Static.EnableHistory) {
|
||||
outState.putBoolean(KEY_SAVED_STATE_HISTORY_VISIBLE, mRecentsView.isHistoryVisible());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onRestoreInstanceState(Bundle savedInstanceState) {
|
||||
super.onRestoreInstanceState(savedInstanceState);
|
||||
if (savedInstanceState.getBoolean(KEY_SAVED_STATE_HISTORY_VISIBLE, false)) {
|
||||
if (RecentsDebugFlags.Static.EnableHistory &&
|
||||
savedInstanceState.getBoolean(KEY_SAVED_STATE_HISTORY_VISIBLE, false)) {
|
||||
EventBus.getDefault().send(new ShowHistoryEvent());
|
||||
}
|
||||
}
|
||||
@@ -603,7 +606,7 @@ public class RecentsActivity extends Activity implements ViewTreeObserver.OnPreD
|
||||
/**** EventBus events ****/
|
||||
|
||||
public final void onBusEvent(ToggleRecentsEvent event) {
|
||||
if (!dismissHistory()) {
|
||||
if (!RecentsDebugFlags.Static.EnableHistory || !dismissHistory()) {
|
||||
RecentsActivityLaunchState launchState = Recents.getConfiguration().getLaunchState();
|
||||
if (launchState.launchedFromHome) {
|
||||
dismissRecentsToHome(true /* animateTaskViews */);
|
||||
@@ -614,7 +617,7 @@ public class RecentsActivity extends Activity implements ViewTreeObserver.OnPreD
|
||||
}
|
||||
|
||||
public final void onBusEvent(IterateRecentsEvent event) {
|
||||
if (!dismissHistory()) {
|
||||
if (!RecentsDebugFlags.Static.EnableHistory || !dismissHistory()) {
|
||||
final RecentsDebugFlags debugFlags = Recents.getDebugFlags();
|
||||
|
||||
// Start dozing after the recents button is clicked
|
||||
@@ -651,7 +654,7 @@ public class RecentsActivity extends Activity implements ViewTreeObserver.OnPreD
|
||||
}
|
||||
} else if (event.triggeredFromHomeKey) {
|
||||
// Otherwise, dismiss Recents to Home
|
||||
if (mRecentsView.isHistoryVisible()) {
|
||||
if (RecentsDebugFlags.Static.EnableHistory && mRecentsView.isHistoryVisible()) {
|
||||
// If the history view is visible, then just cross-fade home
|
||||
ActivityOptions opts = ActivityOptions.makeCustomAnimation(RecentsActivity.this,
|
||||
R.anim.recents_to_launcher_enter,
|
||||
|
||||
@@ -37,6 +37,8 @@ public class RecentsDebugFlags implements TunerService.Tunable {
|
||||
public static final boolean DisableBackgroundCache = false;
|
||||
// Enables the task affiliations
|
||||
public static final boolean EnableAffiliatedTaskGroups = true;
|
||||
// Enables the history
|
||||
public static final boolean EnableHistory = false;
|
||||
// Overrides the Tuner flags and enables the fast toggle and timeout
|
||||
public static final boolean EnableFastToggleTimeoutOverride = true;
|
||||
|
||||
|
||||
@@ -143,21 +143,24 @@ public class RecentsView extends FrameLayout {
|
||||
final float cornerRadius = context.getResources().getDimensionPixelSize(
|
||||
R.dimen.recents_task_view_rounded_corners_radius);
|
||||
LayoutInflater inflater = LayoutInflater.from(context);
|
||||
mHistoryButton = (TextView) inflater.inflate(R.layout.recents_history_button, this, false);
|
||||
mHistoryButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
EventBus.getDefault().send(new ToggleHistoryEvent());
|
||||
}
|
||||
});
|
||||
addView(mHistoryButton);
|
||||
mHistoryButton.setClipToOutline(true);
|
||||
mHistoryButton.setOutlineProvider(new ViewOutlineProvider() {
|
||||
@Override
|
||||
public void getOutline(View view, Outline outline) {
|
||||
outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), cornerRadius);
|
||||
}
|
||||
});
|
||||
if (RecentsDebugFlags.Static.EnableHistory) {
|
||||
mHistoryButton = (TextView) inflater.inflate(R.layout.recents_history_button, this,
|
||||
false);
|
||||
mHistoryButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
EventBus.getDefault().send(new ToggleHistoryEvent());
|
||||
}
|
||||
});
|
||||
addView(mHistoryButton);
|
||||
mHistoryButton.setClipToOutline(true);
|
||||
mHistoryButton.setOutlineProvider(new ViewOutlineProvider() {
|
||||
@Override
|
||||
public void getOutline(View view, Outline outline) {
|
||||
outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), cornerRadius);
|
||||
}
|
||||
});
|
||||
}
|
||||
mEmptyView = inflater.inflate(R.layout.recents_empty, this, false);
|
||||
addView(mEmptyView);
|
||||
|
||||
@@ -331,7 +334,9 @@ public class RecentsView extends FrameLayout {
|
||||
mTaskStackView.setVisibility(View.INVISIBLE);
|
||||
mEmptyView.setVisibility(View.VISIBLE);
|
||||
mEmptyView.bringToFront();
|
||||
mHistoryButton.bringToFront();
|
||||
if (RecentsDebugFlags.Static.EnableHistory) {
|
||||
mHistoryButton.bringToFront();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -347,7 +352,9 @@ public class RecentsView extends FrameLayout {
|
||||
if (mSearchBar != null) {
|
||||
mSearchBar.bringToFront();
|
||||
}
|
||||
mHistoryButton.bringToFront();
|
||||
if (RecentsDebugFlags.Static.EnableHistory) {
|
||||
mHistoryButton.bringToFront();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -397,21 +404,23 @@ public class RecentsView extends FrameLayout {
|
||||
MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY));
|
||||
}
|
||||
|
||||
// Measure the history view
|
||||
if (mHistoryView != null && mHistoryView.getVisibility() != GONE) {
|
||||
measureChild(mHistoryView, MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
|
||||
MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY));
|
||||
}
|
||||
if (RecentsDebugFlags.Static.EnableHistory) {
|
||||
// Measure the history view
|
||||
if (mHistoryView != null && mHistoryView.getVisibility() != GONE) {
|
||||
measureChild(mHistoryView, MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
|
||||
MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY));
|
||||
}
|
||||
|
||||
// Measure the history button within the constraints of the space above the stack
|
||||
Rect historyButtonRect = mTaskStackView.mLayoutAlgorithm.mHistoryButtonRect;
|
||||
measureChild(mHistoryButton,
|
||||
MeasureSpec.makeMeasureSpec(historyButtonRect.width(), MeasureSpec.AT_MOST),
|
||||
MeasureSpec.makeMeasureSpec(historyButtonRect.height(), MeasureSpec.AT_MOST));
|
||||
if (mHistoryClearAllButton != null && mHistoryClearAllButton.getVisibility() != GONE) {
|
||||
measureChild(mHistoryClearAllButton,
|
||||
// Measure the history button within the constraints of the space above the stack
|
||||
Rect historyButtonRect = mTaskStackView.mLayoutAlgorithm.mHistoryButtonRect;
|
||||
measureChild(mHistoryButton,
|
||||
MeasureSpec.makeMeasureSpec(historyButtonRect.width(), MeasureSpec.AT_MOST),
|
||||
MeasureSpec.makeMeasureSpec(historyButtonRect.height(), MeasureSpec.AT_MOST));
|
||||
if (mHistoryClearAllButton != null && mHistoryClearAllButton.getVisibility() != GONE) {
|
||||
measureChild(mHistoryClearAllButton,
|
||||
MeasureSpec.makeMeasureSpec(historyButtonRect.width(), MeasureSpec.AT_MOST),
|
||||
MeasureSpec.makeMeasureSpec(historyButtonRect.height(), MeasureSpec.AT_MOST));
|
||||
}
|
||||
}
|
||||
|
||||
setMeasuredDimension(width, height);
|
||||
@@ -443,36 +452,39 @@ public class RecentsView extends FrameLayout {
|
||||
mEmptyView.layout(left, top, right, bottom);
|
||||
}
|
||||
|
||||
// Layout the history view
|
||||
if (mHistoryView != null && mHistoryView.getVisibility() != GONE) {
|
||||
mHistoryView.layout(left, top, right, bottom);
|
||||
}
|
||||
if (RecentsDebugFlags.Static.EnableHistory) {
|
||||
// Layout the history view
|
||||
if (mHistoryView != null && mHistoryView.getVisibility() != GONE) {
|
||||
mHistoryView.layout(left, top, right, bottom);
|
||||
}
|
||||
|
||||
// Layout the history button such that its drawable is start-aligned with the stack,
|
||||
// vertically centered in the available space above the stack
|
||||
Rect historyButtonRect = mTaskStackView.mLayoutAlgorithm.mHistoryButtonRect;
|
||||
int historyLeft = isLayoutRtl()
|
||||
? historyButtonRect.right + mHistoryButton.getPaddingStart()
|
||||
- mHistoryButton.getMeasuredWidth()
|
||||
: historyButtonRect.left - mHistoryButton.getPaddingStart();
|
||||
int historyTop = historyButtonRect.top +
|
||||
(historyButtonRect.height() - mHistoryButton.getMeasuredHeight()) / 2;
|
||||
mHistoryButton.layout(historyLeft, historyTop,
|
||||
historyLeft + mHistoryButton.getMeasuredWidth(),
|
||||
historyTop + mHistoryButton.getMeasuredHeight());
|
||||
// Layout the history button such that its drawable is start-aligned with the stack,
|
||||
// vertically centered in the available space above the stack
|
||||
Rect historyButtonRect = mTaskStackView.mLayoutAlgorithm.mHistoryButtonRect;
|
||||
int historyLeft = isLayoutRtl()
|
||||
? historyButtonRect.right + mHistoryButton.getPaddingStart()
|
||||
- mHistoryButton.getMeasuredWidth()
|
||||
: historyButtonRect.left - mHistoryButton.getPaddingStart();
|
||||
int historyTop = historyButtonRect.top +
|
||||
(historyButtonRect.height() - mHistoryButton.getMeasuredHeight()) / 2;
|
||||
mHistoryButton.layout(historyLeft, historyTop,
|
||||
historyLeft + mHistoryButton.getMeasuredWidth(),
|
||||
historyTop + mHistoryButton.getMeasuredHeight());
|
||||
|
||||
// Layout the history clear all button such that it is end-aligned with the stack,
|
||||
// vertically centered in the available space above the stack
|
||||
if (mHistoryClearAllButton != null && mHistoryClearAllButton.getVisibility() != GONE) {
|
||||
int clearAllLeft = isLayoutRtl()
|
||||
? historyButtonRect.left - mHistoryClearAllButton.getPaddingStart()
|
||||
: historyButtonRect.right + mHistoryClearAllButton.getPaddingStart()
|
||||
- mHistoryClearAllButton.getMeasuredWidth();
|
||||
int clearAllTop = historyButtonRect.top +
|
||||
(historyButtonRect.height() - mHistoryClearAllButton.getMeasuredHeight()) / 2;
|
||||
mHistoryClearAllButton.layout(clearAllLeft, clearAllTop,
|
||||
clearAllLeft + mHistoryClearAllButton.getMeasuredWidth(),
|
||||
clearAllTop + mHistoryClearAllButton.getMeasuredHeight());
|
||||
// Layout the history clear all button such that it is end-aligned with the stack,
|
||||
// vertically centered in the available space above the stack
|
||||
if (mHistoryClearAllButton != null && mHistoryClearAllButton.getVisibility() != GONE) {
|
||||
int clearAllLeft = isLayoutRtl()
|
||||
? historyButtonRect.left - mHistoryClearAllButton.getPaddingStart()
|
||||
: historyButtonRect.right + mHistoryClearAllButton.getPaddingStart()
|
||||
- mHistoryClearAllButton.getMeasuredWidth();
|
||||
int clearAllTop = historyButtonRect.top +
|
||||
(historyButtonRect.height() - mHistoryClearAllButton.getMeasuredHeight()) /
|
||||
2;
|
||||
mHistoryClearAllButton.layout(clearAllLeft, clearAllTop,
|
||||
clearAllLeft + mHistoryClearAllButton.getMeasuredWidth(),
|
||||
clearAllTop + mHistoryClearAllButton.getMeasuredHeight());
|
||||
}
|
||||
}
|
||||
|
||||
if (mAwaitingFirstLayout) {
|
||||
@@ -540,9 +552,11 @@ public class RecentsView extends FrameLayout {
|
||||
}
|
||||
|
||||
public final void onBusEvent(DismissRecentsToHomeAnimationStarted event) {
|
||||
// Hide the history button
|
||||
int taskViewExitToHomeDuration = TaskStackAnimationHelper.EXIT_TO_HOME_TRANSLATION_DURATION;
|
||||
hideHistoryButton(taskViewExitToHomeDuration, false /* translate */);
|
||||
if (RecentsDebugFlags.Static.EnableHistory) {
|
||||
// Hide the history button
|
||||
hideHistoryButton(taskViewExitToHomeDuration, false /* translate */);
|
||||
}
|
||||
animateBackgroundScrim(0f, taskViewExitToHomeDuration);
|
||||
}
|
||||
|
||||
@@ -675,11 +689,17 @@ public class RecentsView extends FrameLayout {
|
||||
// Reset the view state
|
||||
mAwaitingFirstLayout = true;
|
||||
mLastTaskLaunchedWasFreeform = false;
|
||||
hideHistoryButton(0, false /* translate */);
|
||||
if (RecentsDebugFlags.Static.EnableHistory) {
|
||||
hideHistoryButton(0, false /* translate */);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public final void onBusEvent(ToggleHistoryEvent event) {
|
||||
if (!RecentsDebugFlags.Static.EnableHistory) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (mHistoryView != null && mHistoryView.isVisible()) {
|
||||
EventBus.getDefault().send(new HideHistoryEvent(true /* animate */));
|
||||
} else {
|
||||
@@ -688,6 +708,10 @@ public class RecentsView extends FrameLayout {
|
||||
}
|
||||
|
||||
public final void onBusEvent(ShowHistoryEvent event) {
|
||||
if (!RecentsDebugFlags.Static.EnableHistory) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (mHistoryView == null) {
|
||||
LayoutInflater inflater = LayoutInflater.from(getContext());
|
||||
mHistoryView = (RecentsHistoryView) inflater.inflate(R.layout.recents_history, this,
|
||||
@@ -746,6 +770,10 @@ public class RecentsView extends FrameLayout {
|
||||
}
|
||||
|
||||
public final void onBusEvent(HideHistoryEvent event) {
|
||||
if (!RecentsDebugFlags.Static.EnableHistory) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Animate the empty view in parallel with the history view (the task view animations are
|
||||
// handled in TaskStackView)
|
||||
Rect stackRect = mTaskStackView.mLayoutAlgorithm.mStackRect;
|
||||
@@ -765,10 +793,18 @@ public class RecentsView extends FrameLayout {
|
||||
}
|
||||
|
||||
public final void onBusEvent(ShowHistoryButtonEvent event) {
|
||||
if (!RecentsDebugFlags.Static.EnableHistory) {
|
||||
return;
|
||||
}
|
||||
|
||||
showHistoryButton(150, event.translate);
|
||||
}
|
||||
|
||||
public final void onBusEvent(HideHistoryButtonEvent event) {
|
||||
if (!RecentsDebugFlags.Static.EnableHistory) {
|
||||
return;
|
||||
}
|
||||
|
||||
hideHistoryButton(100, true /* translate */);
|
||||
}
|
||||
|
||||
@@ -776,6 +812,10 @@ public class RecentsView extends FrameLayout {
|
||||
* Shows the history button.
|
||||
*/
|
||||
private void showHistoryButton(final int duration, final boolean translate) {
|
||||
if (!RecentsDebugFlags.Static.EnableHistory) {
|
||||
return;
|
||||
}
|
||||
|
||||
final ReferenceCountedTrigger postAnimationTrigger = new ReferenceCountedTrigger();
|
||||
if (mHistoryButton.getVisibility() == View.INVISIBLE) {
|
||||
mHistoryButton.setVisibility(View.VISIBLE);
|
||||
@@ -808,6 +848,10 @@ public class RecentsView extends FrameLayout {
|
||||
* Hides the history button.
|
||||
*/
|
||||
private void hideHistoryButton(int duration, boolean translate) {
|
||||
if (!RecentsDebugFlags.Static.EnableHistory) {
|
||||
return;
|
||||
}
|
||||
|
||||
final ReferenceCountedTrigger postAnimationTrigger = new ReferenceCountedTrigger();
|
||||
hideHistoryButton(duration, translate, postAnimationTrigger);
|
||||
postAnimationTrigger.flushLastDecrementRunnables();
|
||||
@@ -818,6 +862,10 @@ public class RecentsView extends FrameLayout {
|
||||
*/
|
||||
private void hideHistoryButton(int duration, boolean translate,
|
||||
final ReferenceCountedTrigger postAnimationTrigger) {
|
||||
if (!RecentsDebugFlags.Static.EnableHistory) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (mHistoryButton.getVisibility() == View.VISIBLE) {
|
||||
if (translate) {
|
||||
mHistoryButton.animate()
|
||||
|
||||
@@ -467,12 +467,13 @@ public class TaskStackAnimationHelper {
|
||||
|
||||
// Setup the end listener to return all the hidden views to the view pool after the
|
||||
// focus animation
|
||||
AnimatorListenerAdapter endListener = new AnimatorListenerAdapter() {
|
||||
ReferenceCountedTrigger postAnimTrigger = new ReferenceCountedTrigger();
|
||||
postAnimTrigger.addLastDecrementRunnable(new Runnable() {
|
||||
@Override
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
public void run() {
|
||||
mStackView.bindVisibleTaskViews(newScroll);
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
List<TaskView> taskViews = mStackView.getTaskViews();
|
||||
int taskViewCount = taskViews.size();
|
||||
@@ -513,7 +514,8 @@ public class TaskStackAnimationHelper {
|
||||
AnimationProps anim = new AnimationProps()
|
||||
.setDuration(AnimationProps.BOUNDS, duration)
|
||||
.setInterpolator(AnimationProps.BOUNDS, interpolator)
|
||||
.setListener(endListener);
|
||||
.setListener(postAnimTrigger.decrementOnAnimationEnd());
|
||||
postAnimTrigger.increment();
|
||||
mStackView.updateTaskViewToTransform(tv, toTransform, anim);
|
||||
}
|
||||
return willScroll;
|
||||
|
||||
Reference in New Issue
Block a user