From 34f5b3f88ed8dd72e6cafc2144620f3454aa9ee1 Mon Sep 17 00:00:00 2001 From: Andrzej Zabost Date: Tue, 9 Mar 2021 09:30:54 +0100 Subject: [PATCH] Make ToastCompat compatible with Android SDK 30 --- toasthandler/build.gradle | 4 ++-- .../com/toastfix/toastcompatwrapper/ToastCompat.kt | 12 +++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/toasthandler/build.gradle b/toasthandler/build.gradle index 36821c7..86648ec 100644 --- a/toasthandler/build.gradle +++ b/toasthandler/build.gradle @@ -21,12 +21,12 @@ publish { } android { - compileSdkVersion 29 + compileSdkVersion 30 buildToolsVersion "29.0.3" defaultConfig { minSdkVersion 16 - targetSdkVersion 29 + targetSdkVersion 30 versionCode 1 versionName "1.0" diff --git a/toasthandler/src/main/java/com/toastfix/toastcompatwrapper/ToastCompat.kt b/toasthandler/src/main/java/com/toastfix/toastcompatwrapper/ToastCompat.kt index 828853b..4a81680 100644 --- a/toasthandler/src/main/java/com/toastfix/toastcompatwrapper/ToastCompat.kt +++ b/toasthandler/src/main/java/com/toastfix/toastcompatwrapper/ToastCompat.kt @@ -36,9 +36,11 @@ class ToastCompat(context: Context, private val toast: Toast) : Toast(context) { toast.setText(s) } - override fun setView(view: View) { + override fun setView(view: View?) { toast.view = view - setContextCompat(view, ToastContextWrapper(view.context)) + if (view != null) { + setContextCompat(view, ToastContextWrapper(view.context)) + } } override fun getHorizontalMargin(): Float { @@ -65,12 +67,12 @@ class ToastCompat(context: Context, private val toast: Toast) : Toast(context) { return toast.yOffset } - override fun getView(): View { + override fun getView(): View? { return toast.view } - private fun setContextCompat(view: View, context: Context) { - if (Build.VERSION.SDK_INT == 25) { + private fun setContextCompat(view: View?, context: Context) { + if (Build.VERSION.SDK_INT == Build.VERSION_CODES.N_MR1 && view != null) { try { val field = View::class.java.getDeclaredField("mContext") field.isAccessible = true