Update TaskFragment animation to exclude scrim
The new animation is the same as the activity_open/close_enter/exit animation, but without the black scrim. Fix: 201357701 Bug: 196173550 Test: test with settings app Change-Id: Ieff2f913f92ee745fea94734e5dadeecbed29a36
This commit is contained in:
32
core/res/res/anim/task_fragment_close_enter.xml
Normal file
32
core/res/res/anim/task_fragment_close_enter.xml
Normal file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2021 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shareInterpolator="false">
|
||||
<scale
|
||||
android:fromXScale="1.1"
|
||||
android:toXScale="1"
|
||||
android:fromYScale="1.1"
|
||||
android:toYScale="1"
|
||||
android:pivotX="50%"
|
||||
android:pivotY="50%"
|
||||
android:fillEnabled="true"
|
||||
android:fillBefore="true"
|
||||
android:fillAfter="true"
|
||||
android:interpolator="@interpolator/fast_out_extra_slow_in"
|
||||
android:duration="400"/>
|
||||
</set>
|
||||
42
core/res/res/anim/task_fragment_close_exit.xml
Normal file
42
core/res/res/anim/task_fragment_close_exit.xml
Normal file
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2021 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shareInterpolator="false"
|
||||
android:zAdjustment="top">
|
||||
<alpha
|
||||
android:fromAlpha="1"
|
||||
android:toAlpha="0.0"
|
||||
android:fillEnabled="true"
|
||||
android:fillBefore="true"
|
||||
android:fillAfter="true"
|
||||
android:interpolator="@interpolator/linear"
|
||||
android:startOffset="33"
|
||||
android:duration="50"/>
|
||||
<scale
|
||||
android:fromXScale="1"
|
||||
android:toXScale="0.9"
|
||||
android:fromYScale="1"
|
||||
android:toYScale="0.9"
|
||||
android:pivotX="50%"
|
||||
android:pivotY="50%"
|
||||
android:fillEnabled="true"
|
||||
android:fillBefore="true"
|
||||
android:fillAfter="true"
|
||||
android:interpolator="@interpolator/fast_out_extra_slow_in"
|
||||
android:duration="400"/>
|
||||
</set>
|
||||
41
core/res/res/anim/task_fragment_open_enter.xml
Normal file
41
core/res/res/anim/task_fragment_open_enter.xml
Normal file
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2021 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shareInterpolator="false">
|
||||
<alpha
|
||||
android:fromAlpha="0"
|
||||
android:toAlpha="1.0"
|
||||
android:fillEnabled="true"
|
||||
android:fillBefore="true"
|
||||
android:fillAfter="true"
|
||||
android:interpolator="@interpolator/linear"
|
||||
android:startOffset="50"
|
||||
android:duration="50"/>
|
||||
<scale
|
||||
android:fromXScale="0.85"
|
||||
android:toXScale="1"
|
||||
android:fromYScale="0.85"
|
||||
android:toYScale="1"
|
||||
android:pivotX="50%"
|
||||
android:pivotY="50%"
|
||||
android:fillEnabled="true"
|
||||
android:fillBefore="true"
|
||||
android:fillAfter="true"
|
||||
android:interpolator="@interpolator/fast_out_extra_slow_in"
|
||||
android:duration="400"/>
|
||||
</set>
|
||||
32
core/res/res/anim/task_fragment_open_exit.xml
Normal file
32
core/res/res/anim/task_fragment_open_exit.xml
Normal file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2021 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shareInterpolator="false">
|
||||
<scale
|
||||
android:fromXScale="1"
|
||||
android:toXScale="1.05"
|
||||
android:fromYScale="1"
|
||||
android:toYScale="1.05"
|
||||
android:pivotX="50%"
|
||||
android:pivotY="50%"
|
||||
android:fillEnabled="true"
|
||||
android:fillBefore="true"
|
||||
android:fillAfter="true"
|
||||
android:interpolator="@interpolator/fast_out_extra_slow_in"
|
||||
android:duration="400"/>
|
||||
</set>
|
||||
@@ -1692,6 +1692,10 @@
|
||||
<java-symbol type="anim" name="activity_translucent_close_exit" />
|
||||
<java-symbol type="anim" name="activity_open_enter" />
|
||||
<java-symbol type="anim" name="activity_close_exit" />
|
||||
<java-symbol type="anim" name="task_fragment_close_enter" />
|
||||
<java-symbol type="anim" name="task_fragment_close_exit" />
|
||||
<java-symbol type="anim" name="task_fragment_open_enter" />
|
||||
<java-symbol type="anim" name="task_fragment_open_exit" />
|
||||
|
||||
<java-symbol type="array" name="config_autoRotationTiltTolerance" />
|
||||
<java-symbol type="array" name="config_keyboardTapVibePattern" />
|
||||
|
||||
@@ -43,6 +43,7 @@ import com.android.internal.policy.AttributeCache;
|
||||
import com.android.internal.policy.TransitionAnimation;
|
||||
|
||||
/** Animation spec for TaskFragment transition. */
|
||||
// TODO(b/206557124): provide an easier way to customize animation
|
||||
class TaskFragmentAnimationSpec {
|
||||
|
||||
private static final String TAG = "TaskFragAnimationSpec";
|
||||
@@ -179,9 +180,9 @@ class TaskFragmentAnimationSpec {
|
||||
Animation loadOpenAnimation(@NonNull RemoteAnimationTarget target,
|
||||
@NonNull Rect wholeAnimationBounds) {
|
||||
final boolean isEnter = target.mode != MODE_CLOSING;
|
||||
final Animation animation = mTransitionAnimation.loadDefaultAnimationAttr(isEnter
|
||||
? R.styleable.WindowAnimation_activityOpenEnterAnimation
|
||||
: R.styleable.WindowAnimation_activityOpenExitAnimation);
|
||||
final Animation animation = mTransitionAnimation.loadDefaultAnimationRes(isEnter
|
||||
? com.android.internal.R.anim.task_fragment_open_enter
|
||||
: com.android.internal.R.anim.task_fragment_open_exit);
|
||||
animation.initialize(target.localBounds.width(), target.localBounds.height(),
|
||||
wholeAnimationBounds.width(), wholeAnimationBounds.height());
|
||||
animation.scaleCurrentDuration(mTransitionAnimationScaleSetting);
|
||||
@@ -191,9 +192,9 @@ class TaskFragmentAnimationSpec {
|
||||
Animation loadCloseAnimation(@NonNull RemoteAnimationTarget target,
|
||||
@NonNull Rect wholeAnimationBounds) {
|
||||
final boolean isEnter = target.mode != MODE_CLOSING;
|
||||
final Animation animation = mTransitionAnimation.loadDefaultAnimationAttr(isEnter
|
||||
? R.styleable.WindowAnimation_activityCloseEnterAnimation
|
||||
: R.styleable.WindowAnimation_activityCloseExitAnimation);
|
||||
final Animation animation = mTransitionAnimation.loadDefaultAnimationRes(isEnter
|
||||
? com.android.internal.R.anim.task_fragment_close_enter
|
||||
: com.android.internal.R.anim.task_fragment_close_exit);
|
||||
animation.initialize(target.localBounds.width(), target.localBounds.height(),
|
||||
wholeAnimationBounds.width(), wholeAnimationBounds.height());
|
||||
animation.scaleCurrentDuration(mTransitionAnimationScaleSetting);
|
||||
|
||||
Reference in New Issue
Block a user