diff options
author | Winson Chung <winsonc@google.com> | 2014-11-18 20:10:03 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-11-18 20:10:05 +0000 |
commit | 6aa73cf2668e1d4b5b7534995dcc8891b4a7a279 (patch) | |
tree | 2c09610d5cfbd019b3a46cc16e1fd70e16489c29 /packages | |
parent | f95a9fe5372c5f8f80b578ad98d66e92a7cc8608 (diff) | |
parent | c041d883c3591670441d4c2da8fd1108dfd28acd (diff) | |
download | frameworks_base-6aa73cf2668e1d4b5b7534995dcc8891b4a7a279.zip frameworks_base-6aa73cf2668e1d4b5b7534995dcc8891b4a7a279.tar.gz frameworks_base-6aa73cf2668e1d4b5b7534995dcc8891b4a7a279.tar.bz2 |
Merge "Tweaking animation XMLs and removing dead code. (Bug 17672056, Bug 18415217)" into lmp-mr1-dev
Diffstat (limited to 'packages')
23 files changed, 134 insertions, 109 deletions
diff --git a/packages/SystemUI/res/anim/recents_from_app_enter.xml b/packages/SystemUI/res/anim/recents_from_app_enter.xml index 6abe8b3..10ddce6 100644 --- a/packages/SystemUI/res/anim/recents_from_app_enter.xml +++ b/packages/SystemUI/res/anim/recents_from_app_enter.xml @@ -16,7 +16,7 @@ ** limitations under the License. */ --> - +<!-- Recents Activity --> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false" android:zAdjustment="top"> diff --git a/packages/SystemUI/res/anim/recents_from_app_exit.xml b/packages/SystemUI/res/anim/recents_from_app_exit.xml index 1447a5a..c98ecf4 100644 --- a/packages/SystemUI/res/anim/recents_from_app_exit.xml +++ b/packages/SystemUI/res/anim/recents_from_app_exit.xml @@ -16,7 +16,7 @@ ** limitations under the License. */ --> - +<!-- Incoming Activity --> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false" android:zAdjustment="normal"> diff --git a/packages/SystemUI/res/anim/recents_from_search_launcher_enter.xml b/packages/SystemUI/res/anim/recents_from_search_launcher_enter.xml index 20e7764..7de4460 100644 --- a/packages/SystemUI/res/anim/recents_from_search_launcher_enter.xml +++ b/packages/SystemUI/res/anim/recents_from_search_launcher_enter.xml @@ -16,13 +16,13 @@ ** limitations under the License. */ --> - +<!-- Recents Activity --> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false" android:zAdjustment="normal"> - <alpha android:fromAlpha="0.0" android:toAlpha="1.0" + <alpha android:fromAlpha="1.0" android:toAlpha="1.0" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" android:interpolator="@android:interpolator/linear" - android:duration="50"/> + android:duration="1"/> </set> diff --git a/packages/SystemUI/res/anim/recents_from_search_launcher_exit.xml b/packages/SystemUI/res/anim/recents_from_search_launcher_exit.xml index 92a8882..e0e2fc8 100644 --- a/packages/SystemUI/res/anim/recents_from_search_launcher_exit.xml +++ b/packages/SystemUI/res/anim/recents_from_search_launcher_exit.xml @@ -16,14 +16,13 @@ ** limitations under the License. */ --> - +<!-- Launcher Activity --> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false" android:zAdjustment="top"> <alpha android:fromAlpha="1.0" android:toAlpha="0.0" - android:startOffset="50" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" android:interpolator="@android:interpolator/linear_out_slow_in" - android:duration="100"/> + android:duration="@integer/recents_enter_from_home_transition_duration"/> </set> diff --git a/packages/SystemUI/res/anim/recents_to_search_launcher_enter.xml b/packages/SystemUI/res/anim/recents_to_search_launcher_enter.xml index 4e1d66d..ea82835 100644 --- a/packages/SystemUI/res/anim/recents_to_search_launcher_enter.xml +++ b/packages/SystemUI/res/anim/recents_to_search_launcher_enter.xml @@ -16,7 +16,7 @@ ** limitations under the License. */ --> - +<!-- Launcher Activity --> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false" android:zAdjustment="normal"> diff --git a/packages/SystemUI/res/anim/recents_to_search_launcher_exit.xml b/packages/SystemUI/res/anim/recents_to_search_launcher_exit.xml index d7a12a4..a8bdc8e 100644 --- a/packages/SystemUI/res/anim/recents_to_search_launcher_exit.xml +++ b/packages/SystemUI/res/anim/recents_to_search_launcher_exit.xml @@ -16,14 +16,13 @@ ** limitations under the License. */ --> - +<!-- Recents Activity --> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false" android:zAdjustment="top"> - <alpha android:fromAlpha="1.0" android:toAlpha="0.0" - android:startOffset="100" + <alpha android:fromAlpha="1.0" android:toAlpha="1.0" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" android:interpolator="@android:interpolator/linear" - android:duration="50"/> + android:duration="100"/> </set> diff --git a/packages/SystemUI/res/drawable-hdpi/btn_fab_recents.png b/packages/SystemUI/res/drawable-hdpi/btn_fab_recents.png Binary files differdeleted file mode 100644 index b95fde5..0000000 --- a/packages/SystemUI/res/drawable-hdpi/btn_fab_recents.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/btn_fab_recents.png b/packages/SystemUI/res/drawable-mdpi/btn_fab_recents.png Binary files differdeleted file mode 100644 index 6bbed06..0000000 --- a/packages/SystemUI/res/drawable-mdpi/btn_fab_recents.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/btn_fab_recents.png b/packages/SystemUI/res/drawable-xhdpi/btn_fab_recents.png Binary files differdeleted file mode 100644 index 4cdd0aa..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/btn_fab_recents.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/btn_fab_recents.png b/packages/SystemUI/res/drawable-xxhdpi/btn_fab_recents.png Binary files differdeleted file mode 100644 index 2220d60..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/btn_fab_recents.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable/recents_lock_to_task_button_bg.xml b/packages/SystemUI/res/drawable/recents_lock_to_task_button_bg.xml index 6424a65..8a8164a 100644 --- a/packages/SystemUI/res/drawable/recents_lock_to_task_button_bg.xml +++ b/packages/SystemUI/res/drawable/recents_lock_to_task_button_bg.xml @@ -16,5 +16,11 @@ <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="#ff9cdfd9"> - <item android:drawable="@drawable/btn_fab_recents" /> + <item> + <shape android:shape="oval"> + <solid android:color="#9cc8c4" /> + <size android:width="@dimen/recents_lock_to_app_size" + android:height="@dimen/recents_lock_to_app_size" /> + </shape> + </item> </ripple>
\ No newline at end of file diff --git a/packages/SystemUI/res/layout/recents_task_view.xml b/packages/SystemUI/res/layout/recents_task_view.xml index d1d3828..9c6f67c 100644 --- a/packages/SystemUI/res/layout/recents_task_view.xml +++ b/packages/SystemUI/res/layout/recents_task_view.xml @@ -29,8 +29,8 @@ <include layout="@layout/recents_task_view_header" /> <FrameLayout android:id="@+id/lock_to_app_fab" - android:layout_width="48dp" - android:layout_height="48dp" + android:layout_width="@dimen/recents_lock_to_app_size" + android:layout_height="@dimen/recents_lock_to_app_size" android:layout_gravity="bottom|right" android:layout_marginRight="15dp" android:layout_marginBottom="15dp" @@ -38,8 +38,8 @@ android:contentDescription="@string/recents_lock_to_app_button_label" android:background="@drawable/recents_lock_to_task_button_bg"> <ImageView - android:layout_width="24dp" - android:layout_height="24dp" + android:layout_width="@dimen/recents_lock_to_app_icon_size" + android:layout_height="@dimen/recents_lock_to_app_icon_size" android:layout_gravity="center" android:src="@drawable/recents_lock_to_app_pin" /> </FrameLayout> diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index 44e0fd1..1152eea 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -144,42 +144,61 @@ <!-- The duration in seconds to wait before the dismiss buttons are shown. --> <integer name="recents_task_bar_dismiss_delay_seconds">1</integer> + <!-- The min animation duration for animating views that are currently visible. --> <integer name="recents_filter_animate_current_views_duration">250</integer> + <!-- The min animation duration for animating views that are newly visible. --> <integer name="recents_filter_animate_new_views_duration">250</integer> - <!-- The min animation duration for animating the task bar in. --> - <integer name="recents_animate_task_bar_enter_duration">225</integer> - <!-- The animation delay for animating the first task in. This should roughly be the animation - duration of the transition in to recents. --> - <integer name="recents_animate_task_bar_enter_delay">275</integer> - <!-- The min animation duration for animating the task bar out. --> - <integer name="recents_animate_task_exit_to_home_duration">225</integer> - <!-- The min animation duration for animating the task bar out. --> - <integer name="recents_animate_task_bar_exit_duration">125</integer> - <!-- The animation delay for animating the first task in. This should roughly be the animation - duration of the transition in to recents from home. --> - <integer name="recents_animate_task_enter_from_home_delay">150</integer> - <!-- The min animation duration for animating the task in when transitioning from home. --> - <integer name="recents_animate_task_enter_from_home_duration">250</integer> - <!-- The animation stagger to apply to each task animation when transitioning from home. --> - <integer name="recents_animate_task_enter_from_home_stagger_delay">12</integer> - <!-- The short duration when animating in/out the lock to app button. --> - <integer name="recents_animate_lock_to_app_button_short_duration">150</integer> - <!-- The long duration when animating in/out the lock to app button. --> - <integer name="recents_animate_lock_to_app_button_long_duration">300</integer> + + <!-- The duration of the window transition when coming to Recents from an app. + In order to defer the in-app animations until after the transition is complete, + we also need to use this value as the starting delay when animating the first + task decorations in. --> + <integer name="recents_enter_from_app_transition_duration">325</integer> + + <!-- The duration for animating the task decorations in after transitioning from an app. --> + <integer name="recents_task_enter_from_app_duration">200</integer> + + <!-- The duration for animating the task decorations out before transitioning to an app. --> + <integer name="recents_task_exit_to_app_duration">125</integer> + + <!-- The duration of the window transition when coming to Recents from the Launcher. + In order to defer the in-app animations until after the transition is complete, + we also need to use this value as the starting delay when animating the task views + in from the bottom of the screen. --> + <integer name="recents_enter_from_home_transition_duration">100</integer> + + <!-- The duration for animating the task from the bottom of the screen when transitioning + from home. --> + <integer name="recents_task_enter_from_home_duration">225</integer> + + <!-- The stagger for each task when animating the task from the bottom of the screen when + transitioning from home. --> + <integer name="recents_task_enter_from_home_stagger_delay">12</integer> + + <!-- The duration of the animation of the tasks to the bottom of the screen when leaving + Recents to go back to the Launcher. --> + <integer name="recents_task_exit_to_home_duration">225</integer> + <!-- The min animation duration for animating the nav bar scrim in. --> <integer name="recents_nav_bar_scrim_enter_duration">400</integer> + <!-- The animation duration for animating the removal of a task view. --> <integer name="recents_animate_task_view_remove_duration">250</integer> + <!-- The animation duration for scrolling the stack to a particular item. --> <integer name="recents_animate_task_stack_scroll_duration">225</integer> + <!-- The minimum alpha for the dim applied to cards that go deeper into the stack. --> <integer name="recents_max_task_stack_view_dim">96</integer> + <!-- The delay to enforce between each alt-tab key press. --> <integer name="recents_alt_tab_key_delay">200</integer> + <!-- Transposes the search bar layout in landscape. --> <bool name="recents_has_transposed_search_bar">true</bool> + <!-- Transposes the nav bar in landscape (only used for purposes of layout). --> <bool name="recents_has_transposed_nav_bar">true</bool> <!-- Svelte specific logic, see RecentsConfiguration.SVELTE_* constants. --> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index 3d9f723..1143553 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -226,9 +226,6 @@ <!-- The amount of highlight to make on each task view. --> <dimen name="recents_task_view_highlight">1.5dp</dimen> - <!-- The height of the lock-to-app button. --> - <dimen name="recents_task_view_lock_to_app_button_height">48dp</dimen> - <!-- The amount to offset when animating into an affiliate group. --> <dimen name="recents_task_view_affiliate_group_enter_offset">64dp</dimen> @@ -257,6 +254,12 @@ <!-- The min alpha to apply to a task affiliation group color. --> <item name="recents_task_affiliation_color_min_alpha_percentage" format="float" type="dimen">0.6</item> + <!-- The size of the lock-to-app button. --> + <dimen name="recents_lock_to_app_size">56dp</dimen> + + <!-- The size of the lock-to-app button icon. --> + <dimen name="recents_lock_to_app_icon_size">28dp</dimen> + <!-- Space reserved for the cards behind the top card in the top stack --> <dimen name="top_stack_peek_amount">12dp</dimen> diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java index d1eadd8..676f1ab 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java +++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java @@ -431,8 +431,6 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView // Update if we are getting a configuration change if (savedInstanceState != null) { // Update RecentsConfiguration - mConfig = RecentsConfiguration.reinitialize(this, - RecentsTaskLoader.getInstance().getSystemServicesProxy()); mConfig.updateOnConfigurationChange(); // Trigger the enter animation onEnterAnimationTriggered(); diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsConfiguration.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsConfiguration.java index 43d9dc1..2b33d14 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/RecentsConfiguration.java +++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsConfiguration.java @@ -86,11 +86,15 @@ public class RecentsConfiguration { public float taskStackWidthPaddingPct; public float taskStackOverscrollPct; + /** Transitions */ + public int transitionEnterFromAppDelay; + public int transitionEnterFromHomeDelay; + /** Task view animation and styles */ - public int taskViewEnterFromHomeDelay; + public int taskViewEnterFromAppDuration; public int taskViewEnterFromHomeDuration; public int taskViewEnterFromHomeStaggerDelay; - public int taskViewEnterFromHomeStaggerDuration; + public int taskViewExitToAppDuration; public int taskViewExitToHomeDuration; public int taskViewRemoveAnimDuration; public int taskViewRemoveAnimTranslationXPx; @@ -110,16 +114,8 @@ public class RecentsConfiguration { /** Task bar size & animations */ public int taskBarHeight; - public int taskBarEnterAnimDuration; - public int taskBarEnterAnimDelay; - public int taskBarExitAnimDuration; public int taskBarDismissDozeDelaySeconds; - /** Lock to app */ - public int taskViewLockToAppButtonHeight; - public int taskViewLockToAppShortAnimDuration; - public int taskViewLockToAppLongAnimDuration; - /** Nav bar scrim */ public int navBarScrimEnterDuration; @@ -226,15 +222,23 @@ public class RecentsConfiguration { taskStackMaxDim = res.getInteger(R.integer.recents_max_task_stack_view_dim); taskStackTopPaddingPx = res.getDimensionPixelSize(R.dimen.recents_stack_top_padding); + // Transition + transitionEnterFromAppDelay = + res.getInteger(R.integer.recents_enter_from_app_transition_duration); + transitionEnterFromHomeDelay = + res.getInteger(R.integer.recents_enter_from_home_transition_duration); + // Task view animation and styles - taskViewEnterFromHomeDelay = - res.getInteger(R.integer.recents_animate_task_enter_from_home_delay); + taskViewEnterFromAppDuration = + res.getInteger(R.integer.recents_task_enter_from_app_duration); taskViewEnterFromHomeDuration = - res.getInteger(R.integer.recents_animate_task_enter_from_home_duration); + res.getInteger(R.integer.recents_task_enter_from_home_duration); taskViewEnterFromHomeStaggerDelay = - res.getInteger(R.integer.recents_animate_task_enter_from_home_stagger_delay); + res.getInteger(R.integer.recents_task_enter_from_home_stagger_delay); + taskViewExitToAppDuration = + res.getInteger(R.integer.recents_task_exit_to_app_duration); taskViewExitToHomeDuration = - res.getInteger(R.integer.recents_animate_task_exit_to_home_duration); + res.getInteger(R.integer.recents_task_exit_to_home_duration); taskViewRemoveAnimDuration = res.getInteger(R.integer.recents_animate_task_view_remove_duration); taskViewRemoveAnimTranslationXPx = @@ -265,23 +269,9 @@ public class RecentsConfiguration { // Task bar size & animations taskBarHeight = res.getDimensionPixelSize(R.dimen.recents_task_bar_height); - taskBarEnterAnimDuration = - res.getInteger(R.integer.recents_animate_task_bar_enter_duration); - taskBarEnterAnimDelay = - res.getInteger(R.integer.recents_animate_task_bar_enter_delay); - taskBarExitAnimDuration = - res.getInteger(R.integer.recents_animate_task_bar_exit_duration); taskBarDismissDozeDelaySeconds = res.getInteger(R.integer.recents_task_bar_dismiss_delay_seconds); - // Lock to app - taskViewLockToAppButtonHeight = - res.getDimensionPixelSize(R.dimen.recents_task_view_lock_to_app_button_height); - taskViewLockToAppShortAnimDuration = - res.getInteger(R.integer.recents_animate_lock_to_app_button_short_duration); - taskViewLockToAppLongAnimDuration = - res.getInteger(R.integer.recents_animate_lock_to_app_button_long_duration); - // Nav bar scrim navBarScrimEnterDuration = res.getInteger(R.integer.recents_nav_bar_scrim_enter_duration); diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/AnimateableViewBounds.java b/packages/SystemUI/src/com/android/systemui/recents/views/AnimateableViewBounds.java index 5f8f3f2..fb05c01 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/AnimateableViewBounds.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/AnimateableViewBounds.java @@ -16,7 +16,6 @@ package com.android.systemui.recents.views; -import android.animation.ObjectAnimator; import android.graphics.Outline; import android.graphics.Rect; import android.view.View; @@ -35,8 +34,6 @@ public class AnimateableViewBounds extends ViewOutlineProvider { float mAlpha = 1f; final float mMinAlpha = 0.25f; - ObjectAnimator mClipBottomAnimator; - public AnimateableViewBounds(TaskView source, int cornerRadius) { mConfig = RecentsConfiguration.getInstance(); mSourceView = source; diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/SystemBarScrimViews.java b/packages/SystemUI/src/com/android/systemui/recents/views/SystemBarScrimViews.java index 162897e..1086160 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/SystemBarScrimViews.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/SystemBarScrimViews.java @@ -64,7 +64,9 @@ public class SystemBarScrimViews { mStatusBarScrimView.setTranslationY(-mStatusBarScrimView.getMeasuredHeight()); mStatusBarScrimView.animate() .translationY(0) - .setStartDelay(mConfig.taskBarEnterAnimDelay) + .setStartDelay(mConfig.launchedFromHome ? + mConfig.transitionEnterFromHomeDelay : + mConfig.transitionEnterFromAppDelay) .setDuration(mConfig.navBarScrimEnterDuration) .setInterpolator(mConfig.quintOutInterpolator) .withStartAction(new Runnable() { @@ -79,7 +81,9 @@ public class SystemBarScrimViews { mNavBarScrimView.setTranslationY(mNavBarScrimView.getMeasuredHeight()); mNavBarScrimView.animate() .translationY(0) - .setStartDelay(mConfig.taskBarEnterAnimDelay) + .setStartDelay(mConfig.launchedFromHome ? + mConfig.transitionEnterFromHomeDelay : + mConfig.transitionEnterFromAppDelay) .setDuration(mConfig.navBarScrimEnterDuration) .setInterpolator(mConfig.quintOutInterpolator) .withStartAction(new Runnable() { @@ -101,7 +105,7 @@ public class SystemBarScrimViews { mStatusBarScrimView.animate() .translationY(-mStatusBarScrimView.getMeasuredHeight()) .setStartDelay(0) - .setDuration(mConfig.taskBarExitAnimDuration) + .setDuration(mConfig.taskViewExitToAppDuration) .setInterpolator(mConfig.fastOutSlowInInterpolator) .start(); } @@ -109,7 +113,7 @@ public class SystemBarScrimViews { mNavBarScrimView.animate() .translationY(mNavBarScrimView.getMeasuredHeight()) .setStartDelay(0) - .setDuration(mConfig.taskBarExitAnimDuration) + .setDuration(mConfig.taskViewExitToAppDuration) .setInterpolator(mConfig.fastOutSlowInInterpolator) .start(); } 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 1731d38..5732879 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java @@ -186,6 +186,7 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal mUIDozeTrigger.stopDozing(); mUIDozeTrigger.resetTrigger(); } + mStackScroller.reset(); } /** Requests that the views be synchronized with the model */ @@ -659,9 +660,10 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal // If this is the first layout, then scroll to the front of the stack and synchronize the // stack views immediately to load all the views if (mAwaitingFirstLayout) { - mStackScroller.setStackScrollToInitialState(); - requestSynchronizeStackViewsWithModel(); - synchronizeStackViewsWithModel(); + if (mStackScroller.setStackScrollToInitialState()) { + requestSynchronizeStackViewsWithModel(); + synchronizeStackViewsWithModel(); + } } // Measure each of the TaskViews @@ -915,7 +917,7 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal TaskView frontTv = getChildViewForTask(newFrontMostTask); if (frontTv != null) { frontTv.onTaskBound(newFrontMostTask); - frontTv.fadeInActionButton(false); + frontTv.fadeInActionButton(0, mConfig.taskViewEnterFromAppDuration); } } diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewScroller.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewScroller.java index 04f7c6f..f7067be 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewScroller.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewScroller.java @@ -48,6 +48,11 @@ public class TaskStackViewScroller { setStackScroll(getStackScroll()); } + /** Resets the task scroller. */ + void reset() { + mStackScrollP = 0f; + } + /** Sets the callbacks */ void setCallbacks(TaskStackViewScrollerCallbacks cb) { mCb = cb; @@ -71,9 +76,14 @@ public class TaskStackViewScroller { mStackScrollP = s; } - /** Sets the current stack scroll to the initial state when you first enter recents */ - public void setStackScrollToInitialState() { + /** + * Sets the current stack scroll to the initial state when you first enter recents. + * @return whether the stack progress changed. + */ + public boolean setStackScrollToInitialState() { + float prevStackScrollP = mStackScrollP; setStackScroll(getBoundedStackScroll(mLayoutAlgorithm.mInitialScrollP)); + return Float.compare(prevStackScrollP, mStackScrollP) != 0; } /** Bounds the current scroll if necessary */ 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 27d2fda..d42fa15 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java @@ -24,7 +24,6 @@ import android.graphics.*; import android.util.AttributeSet; import android.view.View; import android.view.ViewOutlineProvider; -import android.view.ViewPropertyAnimator; import android.view.animation.AccelerateInterpolator; import android.widget.FrameLayout; import com.android.systemui.R; @@ -271,24 +270,25 @@ public class TaskView extends FrameLayout implements Task.TaskCallbacks, if (Constants.DebugFlags.App.EnableThumbnailAlphaOnFrontmost) { // Animate the thumbnail alpha before the dim animation (to prevent updating the // hardware layer) - mThumbnailView.startEnterRecentsAnimation(mConfig.taskBarEnterAnimDelay, + mThumbnailView.startEnterRecentsAnimation(mConfig.transitionEnterFromAppDelay, new Runnable() { @Override public void run() { - animateDimToProgress(0, mConfig.taskBarEnterAnimDuration, + animateDimToProgress(0, mConfig.taskViewEnterFromAppDuration, ctx.postAnimationTrigger.decrementOnAnimationEnd()); } }); } else { // Immediately start the dim animation - animateDimToProgress(mConfig.taskBarEnterAnimDelay, - mConfig.taskBarEnterAnimDuration, + animateDimToProgress(mConfig.transitionEnterFromAppDelay, + mConfig.taskViewEnterFromAppDuration, ctx.postAnimationTrigger.decrementOnAnimationEnd()); } ctx.postAnimationTrigger.increment(); // Animate the action button in - fadeInActionButton(true); + fadeInActionButton(mConfig.transitionEnterFromAppDelay, + mConfig.taskViewEnterFromAppDuration); } else { // Animate the task up if it was occluding the launch target if (ctx.currentTaskOccludesLaunchTarget) { @@ -296,7 +296,7 @@ public class TaskView extends FrameLayout implements Task.TaskCallbacks, setAlpha(0f); animate().alpha(1f) .translationY(transform.translationY) - .setStartDelay(mConfig.taskBarEnterAnimDelay) + .setStartDelay(mConfig.transitionEnterFromAppDelay) .setUpdateListener(null) .setInterpolator(mConfig.fastOutSlowInInterpolator) .setDuration(mConfig.taskViewEnterFromHomeDuration) @@ -311,12 +311,12 @@ public class TaskView extends FrameLayout implements Task.TaskCallbacks, ctx.postAnimationTrigger.increment(); } } - startDelay = mConfig.taskBarEnterAnimDelay; + startDelay = mConfig.transitionEnterFromAppDelay; } else if (mConfig.launchedFromHome) { // Animate the tasks up int frontIndex = (ctx.currentStackViewCount - ctx.currentStackViewIndex - 1); - int delay = mConfig.taskViewEnterFromHomeDelay + + int delay = mConfig.transitionEnterFromHomeDelay + frontIndex * mConfig.taskViewEnterFromHomeStaggerDelay; setScaleX(transform.scale); @@ -353,19 +353,17 @@ public class TaskView extends FrameLayout implements Task.TaskCallbacks, }, (startDelay / 2)); } - public void fadeInActionButton(boolean withDelay) { + public void fadeInActionButton(int delay, int duration) { // Hide the action button mActionButtonView.setAlpha(0f); // Animate the action button in - ViewPropertyAnimator animator = mActionButtonView.animate().alpha(1f) - .setDuration(mConfig.taskBarEnterAnimDuration) + mActionButtonView.animate().alpha(1f) + .setStartDelay(delay) + .setDuration(duration) .setInterpolator(PhoneStatusBar.ALPHA_IN) - .withLayer(); - if (withDelay) { - animator.setStartDelay(mConfig.taskBarEnterAnimDelay); - } - animator.start(); + .withLayer() + .start(); } /** Animates this task view as it leaves recents by pressing home. */ @@ -391,7 +389,7 @@ public class TaskView extends FrameLayout implements Task.TaskCallbacks, // Animate the dim if (mDimAlpha > 0) { ObjectAnimator anim = ObjectAnimator.ofInt(this, "dim", 0); - anim.setDuration(mConfig.taskBarExitAnimDuration); + anim.setDuration(mConfig.taskViewExitToAppDuration); anim.setInterpolator(mConfig.fastOutLinearInInterpolator); anim.start(); } @@ -406,7 +404,7 @@ public class TaskView extends FrameLayout implements Task.TaskCallbacks, mActionButtonView.animate() .alpha(0f) .setStartDelay(0) - .setDuration(mConfig.taskBarExitAnimDuration) + .setDuration(mConfig.taskViewExitToAppDuration) .setInterpolator(mConfig.fastOutLinearInInterpolator) .withLayer() .start(); @@ -421,7 +419,7 @@ public class TaskView extends FrameLayout implements Task.TaskCallbacks, .setStartDelay(0) .setUpdateListener(null) .setInterpolator(mConfig.fastOutLinearInInterpolator) - .setDuration(mConfig.taskBarExitAnimDuration) + .setDuration(mConfig.taskViewExitToAppDuration) .start(); } } diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java index 5de84bd..1e5d9fc 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java @@ -235,7 +235,7 @@ public class TaskViewHeader extends FrameLayout { .alpha(0f) .setStartDelay(0) .setInterpolator(mConfig.fastOutSlowInInterpolator) - .setDuration(mConfig.taskBarExitAnimDuration) + .setDuration(mConfig.taskViewExitToAppDuration) .withLayer() .start(); } @@ -249,7 +249,7 @@ public class TaskViewHeader extends FrameLayout { .alpha(1f) .setStartDelay(0) .setInterpolator(mConfig.fastOutLinearInInterpolator) - .setDuration(mConfig.taskBarEnterAnimDuration) + .setDuration(mConfig.taskViewEnterFromAppDuration) .withLayer() .start(); } diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewThumbnail.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewThumbnail.java index c83248e..117a7d3 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewThumbnail.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewThumbnail.java @@ -237,12 +237,12 @@ public class TaskViewThumbnail extends View { /** Animates this task thumbnail as it enters Recents. */ void startEnterRecentsAnimation(int delay, Runnable postAnimRunnable) { startFadeAnimation(mConfig.taskViewThumbnailAlpha, delay, - mConfig.taskBarEnterAnimDuration, postAnimRunnable); + mConfig.taskViewEnterFromAppDuration, postAnimRunnable); } /** Animates this task thumbnail as it exits Recents. */ void startLaunchTaskAnimation(Runnable postAnimRunnable) { - startFadeAnimation(1f, 0, mConfig.taskBarExitAnimDuration, postAnimRunnable); + startFadeAnimation(1f, 0, mConfig.taskViewExitToAppDuration, postAnimRunnable); } /** Starts a new thumbnail alpha animation. */ |