diff options
author | Winson Chung <winsonc@google.com> | 2012-04-24 18:24:08 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-04-24 18:24:08 -0700 |
commit | 069ac9a78d62a68d5eb640d3b87793f4ac924f6d (patch) | |
tree | 12b6204742a70d277555b4f7727c198e99144d4f | |
parent | 579b337607aefdb218be9e2665020ae95b2f48ff (diff) | |
parent | dc6f79bf4374f2fcea2b9d4d0aa7f2e39cc42456 (diff) | |
download | frameworks_base-069ac9a78d62a68d5eb640d3b87793f4ac924f6d.zip frameworks_base-069ac9a78d62a68d5eb640d3b87793f4ac924f6d.tar.gz frameworks_base-069ac9a78d62a68d5eb640d3b87793f4ac924f6d.tar.bz2 |
Merge "Updating activity/task transition animations."
-rw-r--r-- | core/java/android/widget/RemoteViews.java | 33 | ||||
-rw-r--r-- | core/res/res/anim/activity_close_enter.xml | 9 | ||||
-rw-r--r-- | core/res/res/anim/activity_close_exit.xml | 10 | ||||
-rw-r--r-- | core/res/res/anim/activity_open_enter.xml | 10 | ||||
-rw-r--r-- | core/res/res/anim/activity_open_exit.xml | 11 | ||||
-rw-r--r-- | core/res/res/anim/lock_screen_behind_enter.xml | 8 | ||||
-rw-r--r-- | core/res/res/anim/lock_screen_exit.xml | 4 | ||||
-rw-r--r-- | core/res/res/anim/lock_screen_wallpaper_behind_enter.xml | 8 | ||||
-rw-r--r-- | core/res/res/anim/task_close_enter.xml | 21 | ||||
-rw-r--r-- | core/res/res/anim/task_close_exit.xml | 27 | ||||
-rw-r--r-- | core/res/res/anim/task_open_enter.xml | 10 | ||||
-rw-r--r-- | core/res/res/anim/task_open_exit.xml | 17 | ||||
-rw-r--r-- | core/res/res/anim/wallpaper_close_enter.xml | 12 | ||||
-rw-r--r-- | core/res/res/anim/wallpaper_close_exit.xml | 13 | ||||
-rw-r--r-- | core/res/res/anim/wallpaper_open_enter.xml | 11 | ||||
-rw-r--r-- | core/res/res/anim/wallpaper_open_exit.xml | 13 | ||||
-rwxr-xr-x | services/java/com/android/server/wm/WindowManagerService.java | 14 |
17 files changed, 98 insertions, 133 deletions
diff --git a/core/java/android/widget/RemoteViews.java b/core/java/android/widget/RemoteViews.java index 2f72e4a..214775a 100644 --- a/core/java/android/widget/RemoteViews.java +++ b/core/java/android/widget/RemoteViews.java @@ -16,13 +16,7 @@ package android.widget; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import java.lang.reflect.Method; -import java.util.ArrayList; - +import android.app.ActivityOptions; import android.app.PendingIntent; import android.appwidget.AppWidgetHostView; import android.content.Context; @@ -40,13 +34,20 @@ import android.os.Parcelable; import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; +import android.view.LayoutInflater.Filter; import android.view.RemotableViewMethod; import android.view.View; -import android.view.ViewGroup; -import android.view.LayoutInflater.Filter; import android.view.View.OnClickListener; +import android.view.ViewGroup; import android.widget.AdapterView.OnItemClickListener; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.lang.reflect.Method; +import java.util.ArrayList; + /** * A class that describes a view hierarchy that can be displayed in @@ -140,14 +141,18 @@ public class RemoteViews implements Parcelable, Filter { return; } - protected boolean startIntentSafely(Context context, PendingIntent pendingIntent, + protected boolean startIntentSafely(View view, PendingIntent pendingIntent, Intent fillInIntent) { try { // TODO: Unregister this handler if PendingIntent.FLAG_ONE_SHOT? + Context context = view.getContext(); + ActivityOptions opts = ActivityOptions.makeScaleUpAnimation(view, + 0, 0, + view.getMeasuredWidth(), view.getMeasuredHeight()); context.startIntentSender( pendingIntent.getIntentSender(), fillInIntent, Intent.FLAG_ACTIVITY_NEW_TASK, - Intent.FLAG_ACTIVITY_NEW_TASK, 0); + Intent.FLAG_ACTIVITY_NEW_TASK, 0, opts.toBundle()); } catch (IntentSender.SendIntentException e) { android.util.Log.e(LOG_TAG, "Cannot send pending intent: ", e); return false; @@ -263,7 +268,7 @@ public class RemoteViews implements Parcelable, Filter { rect.bottom = (int) ((pos[1] + v.getHeight()) * appScale + 0.5f); fillInIntent.setSourceBounds(rect); - startIntentSafely(v.getContext(), pendingIntent, fillInIntent); + startIntentSafely(v, pendingIntent, fillInIntent); } }; @@ -341,7 +346,7 @@ public class RemoteViews implements Parcelable, Filter { final Intent intent = new Intent(); intent.setSourceBounds(rect); - startIntentSafely(view.getContext(), pendingIntentTemplate, fillInIntent); + startIntentSafely(view, pendingIntentTemplate, fillInIntent); } } }; @@ -479,7 +484,7 @@ public class RemoteViews implements Parcelable, Filter { final Intent intent = new Intent(); intent.setSourceBounds(rect); - startIntentSafely(v.getContext(), pendingIntent, intent); + startIntentSafely(v, pendingIntent, intent); } }; } diff --git a/core/res/res/anim/activity_close_enter.xml b/core/res/res/anim/activity_close_enter.xml index c759a83..84e4a19 100644 --- a/core/res/res/anim/activity_close_enter.xml +++ b/core/res/res/anim/activity_close_enter.xml @@ -20,12 +20,5 @@ <set xmlns:android="http://schemas.android.com/apk/res/android" android:zAdjustment="normal"> <alpha android:fromAlpha="1.0" android:toAlpha="1.0" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:duration="@android:integer/config_shortAnimTime"/> - <scale android:fromXScale=".95" android:toXScale="1.0" - android:fromYScale=".95" android:toYScale="1.0" - android:pivotX="50%p" android:pivotY="50%p" - android:interpolator="@interpolator/accelerate_quint" - android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:duration="@android:integer/config_shortAnimTime"/> - + android:duration="300"/> </set>
\ No newline at end of file diff --git a/core/res/res/anim/activity_close_exit.xml b/core/res/res/anim/activity_close_exit.xml index 384810f..32f6d38 100644 --- a/core/res/res/anim/activity_close_exit.xml +++ b/core/res/res/anim/activity_close_exit.xml @@ -22,11 +22,11 @@ <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:interpolator="@interpolator/decelerate_cubic" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:duration="@android:integer/config_shortAnimTime"/> - <scale android:fromXScale="1.0" android:toXScale="1.1" - android:fromYScale="1.0" android:toYScale="1.1" + android:duration="300"/> + <scale android:fromXScale="1.0" android:toXScale=".8" + android:fromYScale="1.0" android:toYScale=".8" android:pivotX="50%p" android:pivotY="50%p" - android:interpolator="@interpolator/decelerate_quint" + android:interpolator="@interpolator/decelerate_cubic" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:duration="@android:integer/config_shortAnimTime"/> + android:duration="300"/> </set>
\ No newline at end of file diff --git a/core/res/res/anim/activity_open_enter.xml b/core/res/res/anim/activity_open_enter.xml index 744153d..c92f000 100644 --- a/core/res/res/anim/activity_open_enter.xml +++ b/core/res/res/anim/activity_open_enter.xml @@ -24,12 +24,12 @@ android:interpolator="@interpolator/decelerate_cubic" android:fillEnabled="true" android:fillBefore="false" android:fillAfter="false" - android:duration="@android:integer/config_shortAnimTime"/> - <scale android:fromXScale="1.1" android:toXScale="1.0" - android:fromYScale="1.1" android:toYScale="1.0" + android:duration="300"/> + <scale android:fromXScale=".8" android:toXScale="1.0" + android:fromYScale=".8" android:toYScale="1.0" android:pivotX="50%p" android:pivotY="50%p" - android:interpolator="@interpolator/decelerate_quint" + android:interpolator="@interpolator/decelerate_cubic" android:fillEnabled="true" android:fillBefore="false" android:fillAfter="false" - android:duration="@android:integer/config_shortAnimTime"/> + android:duration="300"/> </set>
\ No newline at end of file diff --git a/core/res/res/anim/activity_open_exit.xml b/core/res/res/anim/activity_open_exit.xml index 58e8816..d7bfe82 100644 --- a/core/res/res/anim/activity_open_exit.xml +++ b/core/res/res/anim/activity_open_exit.xml @@ -18,15 +18,8 @@ --> <set xmlns:android="http://schemas.android.com/apk/res/android" android:zAdjustment="normal"> - <alpha android:fromAlpha="1.0" android:toAlpha="1.0" + <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:fillEnabled="true" android:fillBefore="false" android:fillAfter="false" - android:duration="@android:integer/config_shortAnimTime"/> - <scale android:fromXScale="1.0" android:toXScale=".95" - android:fromYScale="1.0" android:toYScale=".95" - android:pivotX="50%p" android:pivotY="50%p" android:interpolator="@interpolator/decelerate_quint" - android:fillEnabled="true" - android:fillBefore="false" android:fillAfter="false" - android:duration="@android:integer/config_shortAnimTime"/> - + android:duration="300"/> </set>
\ No newline at end of file diff --git a/core/res/res/anim/lock_screen_behind_enter.xml b/core/res/res/anim/lock_screen_behind_enter.xml index 78b7d29..cb47b3c 100644 --- a/core/res/res/anim/lock_screen_behind_enter.xml +++ b/core/res/res/anim/lock_screen_behind_enter.xml @@ -19,14 +19,6 @@ <set xmlns:android="http://schemas.android.com/apk/res/android" android:background="#ff000000" android:shareInterpolator="false"> - <scale - android:fromXScale="0.90" android:toXScale="1.0" - android:fromYScale="0.90" android:toYScale="1.0" - android:pivotX="50%p" android:pivotY="50%p" - android:fillEnabled="true" android:fillBefore="true" - android:interpolator="@interpolator/decelerate_cubic" - android:startOffset="@android:integer/config_shortAnimTime" - android:duration="@android:integer/config_shortAnimTime" /> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:fillEnabled="true" android:fillBefore="true" diff --git a/core/res/res/anim/lock_screen_exit.xml b/core/res/res/anim/lock_screen_exit.xml index a186126..37383d9 100644 --- a/core/res/res/anim/lock_screen_exit.xml +++ b/core/res/res/anim/lock_screen_exit.xml @@ -22,8 +22,8 @@ android:zAdjustment="top" android:shareInterpolator="false"> <scale - android:fromXScale="1.0" android:toXScale="1.15" - android:fromYScale="1.0" android:toYScale="1.15" + android:fromXScale="1.0" android:toXScale="1.10" + android:fromYScale="1.0" android:toYScale="1.10" android:pivotX="50%p" android:pivotY="50%p" android:fillEnabled="true" android:fillAfter="true" android:interpolator="@interpolator/accelerate_quint" diff --git a/core/res/res/anim/lock_screen_wallpaper_behind_enter.xml b/core/res/res/anim/lock_screen_wallpaper_behind_enter.xml index a354fae..c29fd1a 100644 --- a/core/res/res/anim/lock_screen_wallpaper_behind_enter.xml +++ b/core/res/res/anim/lock_screen_wallpaper_behind_enter.xml @@ -19,14 +19,6 @@ <set xmlns:android="http://schemas.android.com/apk/res/android" android:detachWallpaper="true" android:shareInterpolator="false"> - <scale - android:fromXScale="0.95" android:toXScale="1.0" - android:fromYScale="0.95" android:toYScale="1.0" - android:pivotX="50%p" android:pivotY="50%p" - android:fillEnabled="true" android:fillBefore="true" - android:interpolator="@interpolator/decelerate_cubic" - android:startOffset="@android:integer/config_shortAnimTime" - android:duration="@android:integer/config_shortAnimTime" /> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:fillEnabled="true" android:fillBefore="true" diff --git a/core/res/res/anim/task_close_enter.xml b/core/res/res/anim/task_close_enter.xml index b39d551..dad8c1f 100644 --- a/core/res/res/anim/task_close_enter.xml +++ b/core/res/res/anim/task_close_enter.xml @@ -19,16 +19,21 @@ <set xmlns:android="http://schemas.android.com/apk/res/android" android:background="#ff000000" android:shareInterpolator="false" android:zAdjustment="normal"> - <scale android:fromXScale="0.95" android:toXScale="1.0" - android:fromYScale="0.95" android:toYScale="1.0" + <alpha android:fromAlpha="0" android:toAlpha="1" + android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" + android:interpolator="@interpolator/decelerate_cubic" + android:startOffset="600" + android:duration="200"/> + <scale android:fromXScale="0.6" android:toXScale="1.0" + android:fromYScale="0.6" android:toYScale="1.0" android:pivotX="50%p" android:pivotY="50%p" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:interpolator="@interpolator/decelerate_quint" - android:startOffset="200" - android:duration="300" /> - <alpha android:fromAlpha="0" android:toAlpha="1.0" + android:interpolator="@interpolator/decelerate_cubic" + android:startOffset="350" + android:duration="400" /> + <translate android:fromYDelta="-100%" android:toYDelta="0" android:interpolator="@interpolator/decelerate_cubic" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:startOffset="200" - android:duration="300"/> + android:startOffset="350" + android:duration="400"/> </set>
\ No newline at end of file diff --git a/core/res/res/anim/task_close_exit.xml b/core/res/res/anim/task_close_exit.xml index ffbd38a..485c91d 100644 --- a/core/res/res/anim/task_close_exit.xml +++ b/core/res/res/anim/task_close_exit.xml @@ -19,17 +19,18 @@ <set xmlns:android="http://schemas.android.com/apk/res/android" android:background="#ff000000" android:shareInterpolator="false" android:zAdjustment="top"> - <alpha android:fromAlpha="1.0" android:toAlpha="0.0" - android:interpolator="@interpolator/accelerate_cubic" - android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:duration="200" /> - <scale android:fromXScale="1.0" android:toXScale="1.2" - android:fromYScale="1.0" android:toYScale="0.8" - android:pivotX="50%p" android:pivotY="50%p" - android:interpolator="@interpolator/accelerate_quint" - android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:duration="200" /> - <!-- This is needed to keep the animation running while task_close_enter completes --> - <alpha android:fromAlpha="1.0" android:toAlpha="1.0" - android:duration="500" /> + <scale android:fromXScale="1.0" android:toXScale=".8" + android:fromYScale="1.0" android:toYScale=".8" + android:pivotX="50%p" android:pivotY="50%p" + android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" + android:interpolator="@interpolator/decelerate_cubic" + android:duration="300" /> + <alpha android:fromAlpha="1.0" android:toAlpha="0" + android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" + android:interpolator="@interpolator/decelerate_cubic" + android:duration="300"/> + + <!-- This is needed to keep the animation running while task_close_enter completes --> + <alpha android:fromAlpha="1.0" android:toAlpha="1.0" + android:duration="600" /> </set>
\ No newline at end of file diff --git a/core/res/res/anim/task_open_enter.xml b/core/res/res/anim/task_open_enter.xml index d64f856..8341806 100644 --- a/core/res/res/anim/task_open_enter.xml +++ b/core/res/res/anim/task_open_enter.xml @@ -19,16 +19,16 @@ <set xmlns:android="http://schemas.android.com/apk/res/android" android:background="#ff000000" android:shareInterpolator="false" android:zAdjustment="top"> - <scale android:fromXScale="1.2" android:toXScale="1.0" + <scale android:fromXScale=".8" android:toXScale="1.0" android:fromYScale=".8" android:toYScale="1.0" android:pivotX="50%p" android:pivotY="50%p" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:interpolator="@interpolator/decelerate_quint" - android:startOffset="300" - android:duration="240" /> + android:interpolator="@interpolator/decelerate_quad" + android:startOffset="400" + android:duration="300" /> <alpha android:fromAlpha="0" android:toAlpha="1.0" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" android:interpolator="@interpolator/decelerate_quad" - android:startOffset="300" + android:startOffset="400" android:duration="300"/> </set>
\ No newline at end of file diff --git a/core/res/res/anim/task_open_exit.xml b/core/res/res/anim/task_open_exit.xml index 19f92c0..af1a4a9 100644 --- a/core/res/res/anim/task_open_exit.xml +++ b/core/res/res/anim/task_open_exit.xml @@ -22,14 +22,19 @@ <alpha android:fromAlpha="1.0" android:toAlpha="0" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" android:interpolator="@interpolator/decelerate_cubic" - android:duration="200"/> - <scale android:fromXScale="1.0" android:toXScale="0.95" - android:fromYScale="1.0" android:toYScale="0.95" + android:duration="300"/> + <scale android:fromXScale="1.0" android:toXScale="0.6" + android:fromYScale="1.0" android:toYScale="0.6" android:pivotX="50%p" android:pivotY="50%p" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:interpolator="@interpolator/decelerate_quint" - android:duration="300" /> + android:interpolator="@interpolator/accelerate_quad" + android:duration="500" /> + <translate android:fromYDelta="0" android:toYDelta="-100%" + android:interpolator="@interpolator/accelerate_quad" + android:duration="500"/> + <!-- This is needed to keep the animation running while task_open_enter completes --> <alpha android:fromAlpha="1.0" android:toAlpha="1.0" - android:duration="540" /> + android:interpolator="@interpolator/accelerate_quad" + android:duration="700" /> </set>
\ No newline at end of file diff --git a/core/res/res/anim/wallpaper_close_enter.xml b/core/res/res/anim/wallpaper_close_enter.xml index 1ca5c0c..981923a 100644 --- a/core/res/res/anim/wallpaper_close_enter.xml +++ b/core/res/res/anim/wallpaper_close_enter.xml @@ -19,16 +19,14 @@ <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false" android:zAdjustment="top"> - <scale android:fromXScale="1.2" android:toXScale="1.0" - android:fromYScale=".8" android:toYScale="1.0" + <scale android:fromXScale=".2" android:toXScale="1.0" + android:fromYScale=".2" android:toYScale="1.0" android:pivotX="50%p" android:pivotY="50%p" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:interpolator="@interpolator/decelerate_quint" - android:startOffset="300" - android:duration="240" /> + android:interpolator="@interpolator/decelerate_cubic" + android:duration="300" /> <alpha android:fromAlpha="0" android:toAlpha="1.0" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:interpolator="@interpolator/decelerate_quad" - android:startOffset="300" + android:interpolator="@interpolator/decelerate_cubic" android:duration="300"/> </set>
\ No newline at end of file diff --git a/core/res/res/anim/wallpaper_close_exit.xml b/core/res/res/anim/wallpaper_close_exit.xml index 987fd89..a91eb49 100644 --- a/core/res/res/anim/wallpaper_close_exit.xml +++ b/core/res/res/anim/wallpaper_close_exit.xml @@ -19,17 +19,6 @@ <set xmlns:android="http://schemas.android.com/apk/res/android" android:detachWallpaper="true" android:shareInterpolator="false" android:zAdjustment="normal"> - <alpha android:fromAlpha="1.0" android:toAlpha="0" - android:fillEnabled="true" android:fillAfter="true" - android:interpolator="@interpolator/decelerate_cubic" - android:duration="200"/> - <scale android:fromXScale="1.0" android:toXScale="0.95" - android:fromYScale="1.0" android:toYScale="0.95" - android:pivotX="50%p" android:pivotY="50%p" - android:fillEnabled="true" android:fillAfter="true" - android:interpolator="@interpolator/decelerate_quint" - android:duration="300" /> - <!-- This is needed to keep the animation running while wallpaper_close_enter completes --> <alpha android:fromAlpha="1.0" android:toAlpha="1.0" - android:duration="600" /> + android:duration="300" /> </set>
\ No newline at end of file diff --git a/core/res/res/anim/wallpaper_open_enter.xml b/core/res/res/anim/wallpaper_open_enter.xml index 6fdbd40..ee7ab60 100644 --- a/core/res/res/anim/wallpaper_open_enter.xml +++ b/core/res/res/anim/wallpaper_open_enter.xml @@ -19,16 +19,7 @@ <set xmlns:android="http://schemas.android.com/apk/res/android" android:detachWallpaper="true" android:shareInterpolator="false" android:zAdjustment="normal"> - <scale android:fromXScale="0.95" android:toXScale="1.0" - android:fromYScale="0.95" android:toYScale="1.0" - android:pivotX="50%p" android:pivotY="50%p" + <alpha android:fromAlpha="1.0" android:toAlpha="1.0" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:interpolator="@interpolator/decelerate_quint" - android:startOffset="200" - android:duration="300" /> - <alpha android:fromAlpha="0" android:toAlpha="1.0" - android:interpolator="@interpolator/decelerate_cubic" - android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:startOffset="200" android:duration="300"/> </set>
\ No newline at end of file diff --git a/core/res/res/anim/wallpaper_open_exit.xml b/core/res/res/anim/wallpaper_open_exit.xml index 1804fa8..8a2582e 100644 --- a/core/res/res/anim/wallpaper_open_exit.xml +++ b/core/res/res/anim/wallpaper_open_exit.xml @@ -20,16 +20,13 @@ <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:interpolator="@interpolator/accelerate_cubic" + android:interpolator="@interpolator/decelerate_cubic" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" android:duration="200" /> - <scale android:fromXScale="1.0" android:toXScale="1.2" - android:fromYScale="1.0" android:toYScale="0.8" + <scale android:fromXScale="1.0" android:toXScale="0.4" + android:fromYScale="1.0" android:toYScale="0.4" android:pivotX="50%p" android:pivotY="50%p" - android:interpolator="@interpolator/accelerate_quint" + android:interpolator="@interpolator/decelerate_cubic" android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true" - android:duration="200" /> - <!-- This is needed to keep the animation running while wallpaper_open_enter completes --> - <alpha android:fromAlpha="1.0" android:toAlpha="1.0" - android:duration="500" /> + android:duration="300" /> </set>
\ No newline at end of file diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index defe824..ab51f6d 100755 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -130,6 +130,7 @@ import android.view.animation.AnimationUtils; import android.view.animation.Interpolator; import android.view.animation.ScaleAnimation; import android.view.animation.Transformation; +import android.view.animation.TranslateAnimation; import java.io.BufferedWriter; import java.io.DataInputStream; @@ -3129,13 +3130,16 @@ public class WindowManagerService extends IWindowManager.Stub com.android.internal.R.integer.config_shortAnimTime); break; default: - duration = 500; + duration = 300; break; } if (enter) { // Entering app zooms out from the center of the initial rect. - float scaleW = mNextAppTransitionStartWidth/(float)mAppDisplayWidth; - float scaleH = mNextAppTransitionStartHeight/(float)mAppDisplayHeight; + final float minScale = 0.1f; + float scaleW = minScale + + ((1f - minScale) * mNextAppTransitionStartWidth / (float) mAppDisplayWidth); + float scaleH = minScale + + ((1f - minScale) * mNextAppTransitionStartHeight / (float) mAppDisplayHeight); Animation scale = new ScaleAnimation(scaleW, 1, scaleH, 1, computePivot(mNextAppTransitionStartX, scaleW), computePivot(mNextAppTransitionStartY, scaleH)); @@ -3152,7 +3156,7 @@ public class WindowManagerService extends IWindowManager.Stub } a.setFillAfter(true); final Interpolator interpolator = AnimationUtils.loadInterpolator(mContext, - com.android.internal.R.interpolator.decelerate_quad); + com.android.internal.R.interpolator.decelerate_cubic); a.setInterpolator(interpolator); a.initialize(mAppDisplayWidth, mAppDisplayHeight, mAppDisplayWidth, mAppDisplayHeight); @@ -3177,7 +3181,7 @@ public class WindowManagerService extends IWindowManager.Stub com.android.internal.R.integer.config_shortAnimTime); break; default: - duration = 500; + duration = 300; break; } if (thumb) { |