From 840b647b4b4e738fac546b7437dd5449679232a1 Mon Sep 17 00:00:00 2001 From: MajorTanya <39014446+MajorTanya@users.noreply.github.com> Date: Sat, 17 Feb 2024 16:26:47 +0100 Subject: [PATCH] Address `overridePendingTransition` deprecation (#410) This function is deprecated starting with API 34 "UpsideDownCake" and should be replaced with `overrideActivityTransition`. --- .../base/delegate/SecureActivityDelegate.kt | 9 ++++++- .../tachiyomi/ui/reader/ReaderActivity.kt | 23 ++++++++++++++++-- .../tachiyomi/ui/webview/WebViewActivity.kt | 24 +++++++++++++++++-- 3 files changed, 51 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt index 02589cec9..c3b94d639 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt @@ -1,6 +1,8 @@ package eu.kanade.tachiyomi.ui.base.delegate +import android.app.Activity import android.content.Intent +import android.os.Build import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.DefaultLifecycleObserver import androidx.lifecycle.LifecycleOwner @@ -106,7 +108,12 @@ class SecureActivityDelegateImpl : SecureActivityDelegate, DefaultLifecycleObser if (activity.isAuthenticationSupported()) { if (!SecureActivityDelegate.requireUnlock) return activity.startActivity(Intent(activity, UnlockActivity::class.java)) - activity.overridePendingTransition(0, 0) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + activity.overrideActivityTransition(Activity.OVERRIDE_TRANSITION_OPEN, 0, 0) + } else { + @Suppress("DEPRECATION") + activity.overridePendingTransition(0, 0) + } } else { securityPreferences.useAuthenticator().set(false) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt index f170f7e1a..e21fa11c6 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt @@ -1,6 +1,7 @@ package eu.kanade.tachiyomi.ui.reader import android.annotation.SuppressLint +import android.app.Activity import android.app.assist.AssistContent import android.content.Context import android.content.Intent @@ -136,7 +137,16 @@ class ReaderActivity : BaseActivity() { */ override fun onCreate(savedInstanceState: Bundle?) { registerSecureActivity(this) - overridePendingTransition(R.anim.shared_axis_x_push_enter, R.anim.shared_axis_x_push_exit) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + overrideActivityTransition( + Activity.OVERRIDE_TRANSITION_OPEN, + R.anim.shared_axis_x_push_enter, + R.anim.shared_axis_x_push_exit, + ) + } else { + @Suppress("DEPRECATION") + overridePendingTransition(R.anim.shared_axis_x_push_enter, R.anim.shared_axis_x_push_exit) + } super.onCreate(savedInstanceState) @@ -267,7 +277,16 @@ class ReaderActivity : BaseActivity() { override fun finish() { viewModel.onActivityFinish() super.finish() - overridePendingTransition(R.anim.shared_axis_x_pop_enter, R.anim.shared_axis_x_pop_exit) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + overrideActivityTransition( + Activity.OVERRIDE_TRANSITION_CLOSE, + R.anim.shared_axis_x_pop_enter, + R.anim.shared_axis_x_pop_exit, + ) + } else { + @Suppress("DEPRECATION") + overridePendingTransition(R.anim.shared_axis_x_pop_enter, R.anim.shared_axis_x_pop_exit) + } } override fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/webview/WebViewActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/webview/WebViewActivity.kt index 040a02f76..e21fc0b76 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/webview/WebViewActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/webview/WebViewActivity.kt @@ -1,8 +1,10 @@ package eu.kanade.tachiyomi.ui.webview +import android.app.Activity import android.app.assist.AssistContent import android.content.Context import android.content.Intent +import android.os.Build import android.os.Bundle import android.widget.Toast import androidx.core.net.toUri @@ -35,7 +37,16 @@ class WebViewActivity : BaseActivity() { } override fun onCreate(savedInstanceState: Bundle?) { - overridePendingTransition(R.anim.shared_axis_x_push_enter, R.anim.shared_axis_x_push_exit) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + overrideActivityTransition( + Activity.OVERRIDE_TRANSITION_OPEN, + R.anim.shared_axis_x_push_enter, + R.anim.shared_axis_x_push_exit, + ) + } else { + @Suppress("DEPRECATION") + overridePendingTransition(R.anim.shared_axis_x_push_enter, R.anim.shared_axis_x_push_exit) + } super.onCreate(savedInstanceState) if (!WebViewUtil.supportsWebView(this)) { @@ -77,7 +88,16 @@ class WebViewActivity : BaseActivity() { override fun finish() { super.finish() - overridePendingTransition(R.anim.shared_axis_x_pop_enter, R.anim.shared_axis_x_pop_exit) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + overrideActivityTransition( + Activity.OVERRIDE_TRANSITION_CLOSE, + R.anim.shared_axis_x_pop_enter, + R.anim.shared_axis_x_pop_exit, + ) + } else { + @Suppress("DEPRECATION") + overridePendingTransition(R.anim.shared_axis_x_pop_enter, R.anim.shared_axis_x_pop_exit) + } } private fun shareWebpage(url: String) {