diff --git a/sample/src/main/kotlin/dev/androidbroadcast/vbpd/sample/PersonFragment.kt b/sample/src/main/kotlin/dev/androidbroadcast/vbpd/sample/PersonFragment.kt index 4e01523..0038d2b 100644 --- a/sample/src/main/kotlin/dev/androidbroadcast/vbpd/sample/PersonFragment.kt +++ b/sample/src/main/kotlin/dev/androidbroadcast/vbpd/sample/PersonFragment.kt @@ -2,11 +2,11 @@ package dev.androidbroadcast.vbpd.sample import android.os.Bundle import android.view.View -import androidx.fragment.app.Fragment +import androidx.fragment.app.DialogFragment import dev.androidbroadcast.vbpd.sample.databinding.FragmentPersonDetailBinding import dev.androidbroadcast.vbpd.viewBinding -class PersonFragment : Fragment(R.layout.fragment_person_detail) { +class PersonFragment : DialogFragment(R.layout.fragment_person_detail) { private val viewBinding by viewBinding(FragmentPersonDetailBinding::bind) private val person: Person by parcelableArgument(ARG_PERSON) @@ -24,6 +24,12 @@ class PersonFragment : Fragment(R.layout.fragment_person_detail) { private const val ARG_PERSON = "PERSON" + fun newInstance(person: Person): PersonFragment { + return PersonFragment().apply { + arguments = arguments(person) + } + } + fun arguments(person: Person): Bundle { return Bundle(1).apply { putParcelable(ARG_PERSON, person) diff --git a/vbpd-reflection/src/main/kotlin/dev/androidbroadcast/vbpd/FragmentViewBindings.kt b/vbpd-reflection/src/main/kotlin/dev/androidbroadcast/vbpd/FragmentViewBindings.kt index fae4e66..d587691 100644 --- a/vbpd-reflection/src/main/kotlin/dev/androidbroadcast/vbpd/FragmentViewBindings.kt +++ b/vbpd-reflection/src/main/kotlin/dev/androidbroadcast/vbpd/FragmentViewBindings.kt @@ -88,13 +88,12 @@ public fun Fragment.viewBinding( viewBindingClass: Class, createMethod: CreateMethod = CreateMethod.BIND, ): ViewBindingProperty = when (createMethod) { - CreateMethod.BIND -> fragmentViewBinding{ + CreateMethod.BIND -> fragmentViewBinding { ViewBindingCache.getBind(viewBindingClass).bind(requireView()) } CreateMethod.INFLATE -> { fragmentViewBinding( - viewNeedsInitialization = false, viewBinder = { ViewBindingCache.getInflateWithLayoutInflater(viewBindingClass) .inflate(layoutInflater, null, false) diff --git a/vbpd/src/main/kotlin/dev/androidbroadcast/vbpd/FragmentViewBindings.kt b/vbpd/src/main/kotlin/dev/androidbroadcast/vbpd/FragmentViewBindings.kt index 6f42243..bc0493b 100644 --- a/vbpd/src/main/kotlin/dev/androidbroadcast/vbpd/FragmentViewBindings.kt +++ b/vbpd/src/main/kotlin/dev/androidbroadcast/vbpd/FragmentViewBindings.kt @@ -1,4 +1,3 @@ -@file:Suppress("RedundantVisibilityModifier", "unused") @file:JvmName("FragmentViewBindings") package dev.androidbroadcast.vbpd @@ -17,7 +16,6 @@ import dev.androidbroadcast.vbpd.internal.weakReference import kotlin.reflect.KProperty private class FragmentViewBindingProperty( - private val viewNeedsInitialization: Boolean, viewBinder: (F) -> T, ) : LazyViewBindingProperty(viewBinder) { @@ -56,7 +54,7 @@ private class FragmentViewBindingProperty( this.lifecycleCallbacks = null } - internal inner class VBFragmentLifecycleCallback( + inner class VBFragmentLifecycleCallback( fragment: Fragment, ) : FragmentManager.FragmentLifecycleCallbacks() { @@ -129,8 +127,7 @@ public inline fun Fragment.viewBinding( @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) public fun fragmentViewBinding( - viewNeedsInitialization: Boolean = true, viewBinder: (F) -> T, ): ViewBindingProperty { - return FragmentViewBindingProperty(viewNeedsInitialization, viewBinder) + return FragmentViewBindingProperty(viewBinder) } diff --git a/vbpd/src/main/kotlin/dev/androidbroadcast/vbpd/ViewGroupBindings.kt b/vbpd/src/main/kotlin/dev/androidbroadcast/vbpd/ViewGroupBindings.kt index dd837d7..4271387 100644 --- a/vbpd/src/main/kotlin/dev/androidbroadcast/vbpd/ViewGroupBindings.kt +++ b/vbpd/src/main/kotlin/dev/androidbroadcast/vbpd/ViewGroupBindings.kt @@ -1,5 +1,3 @@ -@file:Suppress("unused") - package dev.androidbroadcast.vbpd import android.view.View diff --git a/vbpd/src/main/kotlin/dev/androidbroadcast/vbpd/ViewHolderBindings.kt b/vbpd/src/main/kotlin/dev/androidbroadcast/vbpd/ViewHolderBindings.kt index ee73d94..99f379e 100644 --- a/vbpd/src/main/kotlin/dev/androidbroadcast/vbpd/ViewHolderBindings.kt +++ b/vbpd/src/main/kotlin/dev/androidbroadcast/vbpd/ViewHolderBindings.kt @@ -1,4 +1,3 @@ -@file:Suppress("unused") @file:JvmName("ViewHolderBindings") package dev.androidbroadcast.vbpd