Fix UpdateCheck deprecation warnings.

This commit is contained in:
casey langen 2022-07-23 22:55:07 -07:00
parent 5a3e212c2b
commit 4e7dcaa85c
2 changed files with 25 additions and 15 deletions

View File

@ -1,6 +1,9 @@
package io.casey.musikcube.remote.util
import android.content.Intent
import android.content.pm.PackageInfo
import android.content.pm.PackageManager
import android.os.Build
import android.os.Bundle
import android.os.Parcelable
import androidx.activity.ComponentActivity
@ -12,34 +15,40 @@ import androidx.annotation.RequiresApi
import androidx.fragment.app.Fragment
import java.io.Serializable
@RequiresApi(33)
@Suppress("deprecation")
inline fun <reified T: Parcelable> Intent.getParcelableExtraCompat(name: String): T? =
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.S) {
this.getParcelableExtra(name)
}
else {
if (Build.VERSION.SDK_INT >= 33) {
this.getParcelableExtra(name, T::class.java)
}
else {
this.getParcelableExtra(name)
}
@RequiresApi(33)
@Suppress("deprecation")
inline fun <reified T: Parcelable> Bundle.getParcelableCompat(name: String): T? =
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.S) {
this.getParcelable(name)
}
else {
if (Build.VERSION.SDK_INT >= 33) {
this.getParcelable(name, T::class.java)
}
else {
this.getParcelable(name)
}
@RequiresApi(33)
@Suppress("deprecation")
inline fun <reified T: Serializable> Bundle.getSerializableCompat(name: String): T? =
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.S) {
this.getSerializable(name) as T?
if (Build.VERSION.SDK_INT >= 33) {
this.getSerializable(name, T::class.java)
}
else {
this.getSerializable(name, T::class.java)
this.getSerializable(name) as T?
}
@Suppress("deprecation")
fun PackageManager.getPackageInfoCompat(name: String): PackageInfo =
if (Build.VERSION.SDK_INT >= 33) {
this.getPackageInfo(name, PackageManager.PackageInfoFlags.of(0))
}
else {
this.getPackageInfo(name, 0)
}
fun ComponentActivity.launcher(callback: ActivityResultCallback<ActivityResult>): ActivityResultLauncher<Intent> =

View File

@ -4,6 +4,7 @@ import android.annotation.SuppressLint
import android.util.Log
import io.casey.musikcube.remote.Application
import io.casey.musikcube.remote.util.Preconditions
import io.casey.musikcube.remote.util.getPackageInfoCompat
import io.reactivex.Single
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
@ -119,7 +120,7 @@ class UpdateCheck {
private val VERSION by lazy {
val context = Application.instance
context.packageManager.getPackageInfo(context.packageName, 0).versionName
context.packageManager.getPackageInfoCompat(context.packageName).versionName
}
private val USER_AGENT by lazy {