summaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2014-11-18 20:10:03 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-11-18 20:10:05 +0000
commit6aa73cf2668e1d4b5b7534995dcc8891b4a7a279 (patch)
tree2c09610d5cfbd019b3a46cc16e1fd70e16489c29 /packages
parentf95a9fe5372c5f8f80b578ad98d66e92a7cc8608 (diff)
parentc041d883c3591670441d4c2da8fd1108dfd28acd (diff)
downloadframeworks_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')
-rw-r--r--packages/SystemUI/res/anim/recents_from_app_enter.xml2
-rw-r--r--packages/SystemUI/res/anim/recents_from_app_exit.xml2
-rw-r--r--packages/SystemUI/res/anim/recents_from_search_launcher_enter.xml6
-rw-r--r--packages/SystemUI/res/anim/recents_from_search_launcher_exit.xml5
-rw-r--r--packages/SystemUI/res/anim/recents_to_search_launcher_enter.xml2
-rw-r--r--packages/SystemUI/res/anim/recents_to_search_launcher_exit.xml7
-rw-r--r--packages/SystemUI/res/drawable-hdpi/btn_fab_recents.pngbin4248 -> 0 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/btn_fab_recents.pngbin2715 -> 0 bytes
-rw-r--r--packages/SystemUI/res/drawable-xhdpi/btn_fab_recents.pngbin5938 -> 0 bytes
-rw-r--r--packages/SystemUI/res/drawable-xxhdpi/btn_fab_recents.pngbin9255 -> 0 bytes
-rw-r--r--packages/SystemUI/res/drawable/recents_lock_to_task_button_bg.xml8
-rw-r--r--packages/SystemUI/res/layout/recents_task_view.xml8
-rw-r--r--packages/SystemUI/res/values/config.xml59
-rw-r--r--packages/SystemUI/res/values/dimens.xml9
-rw-r--r--packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/recents/RecentsConfiguration.java48
-rw-r--r--packages/SystemUI/src/com/android/systemui/recents/views/AnimateableViewBounds.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/recents/views/SystemBarScrimViews.java12
-rw-r--r--packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java10
-rw-r--r--packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewScroller.java14
-rw-r--r--packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java38
-rw-r--r--packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/recents/views/TaskViewThumbnail.java4
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
deleted file mode 100644
index b95fde5..0000000
--- a/packages/SystemUI/res/drawable-hdpi/btn_fab_recents.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/btn_fab_recents.png b/packages/SystemUI/res/drawable-mdpi/btn_fab_recents.png
deleted file mode 100644
index 6bbed06..0000000
--- a/packages/SystemUI/res/drawable-mdpi/btn_fab_recents.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xhdpi/btn_fab_recents.png b/packages/SystemUI/res/drawable-xhdpi/btn_fab_recents.png
deleted file mode 100644
index 4cdd0aa..0000000
--- a/packages/SystemUI/res/drawable-xhdpi/btn_fab_recents.png
+++ /dev/null
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xxhdpi/btn_fab_recents.png b/packages/SystemUI/res/drawable-xxhdpi/btn_fab_recents.png
deleted file mode 100644
index 2220d60..0000000
--- a/packages/SystemUI/res/drawable-xxhdpi/btn_fab_recents.png
+++ /dev/null
Binary files differ
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. */