Skip to content

Commit

Permalink
feat(Android): add native default animations on Android 13 (#1693)
Browse files Browse the repository at this point in the history
## Description

Resolves #1640

## Changes

* Added new animations definitions (taken from [Android Open Source
Project
repo](https://cs.android.com/android/platform/superproject/+/android-10.0.0_r43:frameworks/base/core/res/res/anim/))
* Added interpolator `standard_accelerate`
* Modified code responsible for assigning animations to transactions.

## Test code and steps to reproduce

`Test1072` works fine (just change `stackPresentation` to `default` and
see that new animations are used).

Remember to target Android SDK >= 33

## Checklist

- [ ] Ensured that CI passes (CI errors will be handled with #1681)
  • Loading branch information
kkafar authored Jan 31, 2023
1 parent 04ac6d7 commit bd0c957
Show file tree
Hide file tree
Showing 7 changed files with 165 additions and 6 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/android-e2e-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,10 @@ jobs:
uses: reactivecircus/android-emulator-runner@v2
with:
working-directory: ${{ env.WORKING_DIRECTORY }}
api-level: 29
api-level: 33
avd-name: e2e_emulator
script: yarn test-e2e-android
channel: dev
- uses: actions/upload-artifact@v2
if: ${{ failure() }}
with:
Expand Down
11 changes: 6 additions & 5 deletions Example/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@

buildscript {
ext {
buildToolsVersion = "30.0.2"
buildToolsVersion = "33.0.0"
minSdkVersion = 21
compileSdkVersion = 30
targetSdkVersion = 30
ndkVersion = "21.4.7075529"
kotlinVersion = "1.4.10"
compileSdkVersion = 33
targetSdkVersion = 33
// ndkVersion = "21.4.7075529"
ndkVersion = "23.1.7779620"
kotlinVersion = "1.6.21"
}
repositories {
google()
Expand Down
37 changes: 37 additions & 0 deletions android/src/main/res/anim-v33/rns_default_enter_in.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>

<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="@android:anim/linear_interpolator"
android:startOffset="50"
android:duration="83" />

<translate
android:fromXDelta="10%"
android:toXDelta="0"
android:fillEnabled="true"
android:fillBefore="true"
android:fillAfter="true"
android:interpolator="@android:interpolator/fast_out_extra_slow_in"
android:duration="450" />

<extend
android:fromExtendLeft="10%"
android:fromExtendTop="0"
android:fromExtendRight="0"
android:fromExtendBottom="0"
android:toExtendLeft="10%"
android:toExtendTop="0"
android:toExtendRight="0"
android:toExtendBottom="0"
android:interpolator="@android:interpolator/fast_out_extra_slow_in"
android:startOffset="0"
android:duration="450" />
</set>
38 changes: 38 additions & 0 deletions android/src/main/res/anim-v33/rns_default_enter_out.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">

<alpha
android:fromAlpha="1.0"
android:toAlpha="1.0"
android:fillEnabled="true"
android:fillBefore="true"
android:fillAfter="true"
android:interpolator="@anim/rns_standard_accelerate_interpolator"
android:startOffset="0"
android:duration="450" />

<translate
android:fromXDelta="0"
android:toXDelta="-10%"
android:fillEnabled="true"
android:fillBefore="true"
android:fillAfter="true"
android:interpolator="@android:interpolator/fast_out_extra_slow_in"
android:startOffset="0"
android:duration="450" />

<extend
android:fromExtendLeft="0"
android:fromExtendTop="0"
android:fromExtendRight="10%"
android:fromExtendBottom="0"
android:toExtendLeft="0"
android:toExtendTop="0"
android:toExtendRight="10%"
android:toExtendBottom="0"
android:interpolator="@android:interpolator/fast_out_extra_slow_in"
android:startOffset="0"
android:duration="450" />
</set>
38 changes: 38 additions & 0 deletions android/src/main/res/anim-v33/rns_default_exit_in.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">

<alpha
android:fromAlpha="1.0"
android:toAlpha="1.0"
android:fillEnabled="true"
android:fillBefore="true"
android:fillAfter="true"
android:interpolator="@android:interpolator/linear"
android:startOffset="0"
android:duration="450" />

<translate
android:fromXDelta="-10%"
android:toXDelta="0"
android:fillEnabled="true"
android:fillBefore="true"
android:fillAfter="true"
android:interpolator="@android:interpolator/fast_out_extra_slow_in"
android:startOffset="0"
android:duration="450" />

<extend
android:fromExtendLeft="0"
android:fromExtendTop="0"
android:fromExtendRight="10%"
android:fromExtendBottom="0"
android:toExtendLeft="0"
android:toExtendTop="0"
android:toExtendRight="10%"
android:toExtendBottom="0"
android:interpolator="@android:interpolator/fast_out_extra_slow_in"
android:startOffset="0"
android:duration="450" />
</set>
38 changes: 38 additions & 0 deletions android/src/main/res/anim-v33/rns_default_exit_out.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">

<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:fillEnabled="true"
android:fillBefore="true"
android:fillAfter="true"
android:interpolator="@android:interpolator/linear"
android:startOffset="35"
android:duration="83" />

<translate
android:fromXDelta="0"
android:toXDelta="10%"
android:fillEnabled="true"
android:fillBefore="true"
android:fillAfter="true"
android:interpolator="@android:interpolator/fast_out_extra_slow_in"
android:startOffset="0"
android:duration="450" />

<extend
android:fromExtendLeft="10%"
android:fromExtendTop="0"
android:fromExtendRight="0"
android:fromExtendBottom="0"
android:toExtendLeft="10%"
android:toExtendTop="0"
android:toExtendRight="0"
android:toExtendBottom="0"
android:interpolator="@android:interpolator/fast_out_extra_slow_in"
android:startOffset="0"
android:duration="450" />
</set>
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<pathInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
android:controlX1="0.3"
android:controlY1="0"
android:controlX2="1"
android:controlY2="1"/>

0 comments on commit bd0c957

Please sign in to comment.