Skip to content

Commit 5c689bd

Browse files
committedMar 8, 2021
ViewBinding update
1 parent 57d99c6 commit 5c689bd

File tree

3 files changed

+7
-8
lines changed

3 files changed

+7
-8
lines changed
 

‎app/build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ android {
1212
applicationId = "info.dvkr.screenstream"
1313
minSdkVersion(21)
1414
targetSdkVersion(30)
15-
versionCode = 30503
16-
versionName = "3.5.3"
15+
versionCode = 30504
16+
versionName = "3.5.4"
1717
resConfigs("en", "ru", "pt-rBR", "zh-rTW", "fr-rFR", "fa", "it", "pl", "hi", "de", "sk", "es", "ar", "ja", "gl", "ca")
1818

1919
vectorDrawables.useSupportLibrary = true

‎app/src/main/kotlin/info/dvkr/screenstream/ui/ViewBindingHelper.kt

+3-4
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,19 @@ abstract class ViewBindingProperty<in R, T : ViewBinding>(
1717
) : ReadOnlyProperty<R, T> {
1818

1919
internal var viewBinding: T? = null
20-
private val lifecycleObserver = BindingLifecycleObserver()
20+
private val lifecycleObserver = ClearOnDestroyLifecycleObserver()
2121

2222
protected abstract fun getLifecycleOwner(thisRef: R): LifecycleOwner
2323

2424
@MainThread
2525
override fun getValue(thisRef: R, property: KProperty<*>): T {
26-
check(Looper.myLooper() == Looper.getMainLooper())
2726
viewBinding?.let { return it }
2827

2928
getLifecycleOwner(thisRef).lifecycle.addObserver(lifecycleObserver)
3029
return viewBinder(thisRef).also { viewBinding = it }
3130
}
3231

33-
private inner class BindingLifecycleObserver : DefaultLifecycleObserver {
32+
private inner class ClearOnDestroyLifecycleObserver : DefaultLifecycleObserver {
3433
@MainThread
3534
override fun onDestroy(owner: LifecycleOwner) {
3635
owner.lifecycle.removeObserver(this)
@@ -60,7 +59,7 @@ internal class DialogFragmentViewBindingProperty<F : DialogFragment, T : ViewBin
6059
) : ViewBindingProperty<F, T>(viewBinder) {
6160

6261
override fun getLifecycleOwner(thisRef: F): LifecycleOwner {
63-
return if (thisRef.view == null) thisRef.viewLifecycleOwner else thisRef
62+
return if (thisRef.showsDialog) thisRef else thisRef.viewLifecycleOwner
6463
}
6564
}
6665

‎data/build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ android {
88
defaultConfig {
99
minSdkVersion(21)
1010
targetSdkVersion(30)
11-
versionCode = 30503
12-
versionName = "3.5.3"
11+
versionCode = 30504
12+
versionName = "3.5.4"
1313
}
1414

1515
compileOptions {

0 commit comments

Comments
 (0)
Failed to load comments.