@@ -6,37 +6,50 @@ import android.app.Activity
66import android.content.Context
77import android.os.Parcelable
88import android.util.LayoutDirection
9+ import androidx.annotation.AnimRes
910import com.ichi2.anim.ActivityTransitionAnimation.getInverseTransition
1011import com.ichi2.anki.R
12+ import com.ichi2.anki.compat.CompatHelper
1113import kotlinx.parcelize.Parcelize
1214
1315object ActivityTransitionAnimation {
14- @Suppress(" DEPRECATION" , " deprecated in API34 for predictive back, must plumb through new open/close parameter" )
16+ /* *
17+ * @param open when `true`, overrides the animation for entering this activity.
18+ * When `false`, overrides the animation for closing this activity
19+ */
1520 fun slide (
1621 activity : Activity ,
1722 direction : Direction ,
23+ open : Boolean ,
1824 ) {
25+ fun overrideTransition (
26+ @AnimRes enter : Int ,
27+ @AnimRes exit : Int ,
28+ ) {
29+ CompatHelper .compat.overrideTransition(activity, enter, exit, open)
30+ }
31+
1932 when (direction) {
2033 Direction .START ->
2134 if (isRightToLeft(activity)) {
22- activity.overridePendingTransition (R .anim.slide_right_in, R .anim.slide_right_out)
35+ overrideTransition (R .anim.slide_right_in, R .anim.slide_right_out)
2336 } else {
24- activity.overridePendingTransition (R .anim.slide_left_in, R .anim.slide_left_out)
37+ overrideTransition (R .anim.slide_left_in, R .anim.slide_left_out)
2538 }
2639 Direction .END ->
2740 if (isRightToLeft(activity)) {
28- activity.overridePendingTransition (R .anim.slide_left_in, R .anim.slide_left_out)
41+ overrideTransition (R .anim.slide_left_in, R .anim.slide_left_out)
2942 } else {
30- activity.overridePendingTransition (R .anim.slide_right_in, R .anim.slide_right_out)
43+ overrideTransition (R .anim.slide_right_in, R .anim.slide_right_out)
3144 }
32- Direction . RIGHT -> activity.overridePendingTransition( R .anim.slide_right_in, R .anim.slide_right_out)
33- Direction .LEFT -> activity.overridePendingTransition (R .anim.slide_left_in , R .anim.slide_left_out )
34- Direction .FADE -> activity.overridePendingTransition (R .anim.fade_in , R .anim.fade_out )
35- Direction .UP -> activity.overridePendingTransition (R .anim.slide_up_in , R .anim.slide_up_out )
36- Direction .DOWN -> activity.overridePendingTransition (R .anim.slide_down_in , R .anim.slide_down_out )
37- Direction .NONE -> activity.overridePendingTransition (R .anim.none , R .anim.none )
38- Direction .DEFAULT -> {
39- }
45+
46+ Direction .RIGHT -> overrideTransition (R .anim.slide_right_in , R .anim.slide_right_out )
47+ Direction .LEFT -> overrideTransition (R .anim.slide_left_in , R .anim.slide_left_out )
48+ Direction .FADE -> overrideTransition (R .anim.fade_in , R .anim.fade_out )
49+ Direction .UP -> overrideTransition (R .anim.slide_up_in , R .anim.slide_up_out )
50+ Direction .DOWN -> overrideTransition (R .anim.slide_down_in , R .anim.slide_down_out )
51+ Direction .NONE -> overrideTransition( R .anim.none, R .anim.none)
52+ Direction . DEFAULT -> { }
4053 }
4154 }
4255
0 commit comments