Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove reflection usage #5

Merged
merged 5 commits into from
Dec 19, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ allprojects {
Then add dependency in your module `build.gradle`:
```groovy
dependencies {
implementation 'com.github.jintin:BindingExtension:1.3.0'
implementation 'com.github.jintin:BindingExtension:2.0.0'
}
```

Expand All @@ -31,7 +31,7 @@ dependencies {
Extend from `BindingActivity` with your actual `ViewBinding` type then you can use `binding` directly after calling `super.onCreate(savedInstanceState)` and you don't have to call `setContentView` anymore:

```kotlin
class MainActivity : BindingActivity<ActivityMainBinding>() {
class MainActivity : BindingActivity<ActivityMainBinding>(ActivityMainBinding::inflate) {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand All @@ -46,7 +46,7 @@ class MainActivity : BindingActivity<ActivityMainBinding>() {
Extend from `BindingFragment` with your actual `ViewBinding` type then you can use `binding` directly after `super.onCreateView(inflater, container, savedInstanceState)` is called:

```kotlin
class MainFragment : BindingFragment<FragmentMainBinding>() {
class MainFragment : BindingFragment<FragmentMainBinding>(FragmentMainBinding::inflate) {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import android.os.Bundle
import com.jintin.bindingextension.BindingActivity
import com.jintin.bindingextension.app.databinding.ActivityMainBinding

class MainActivity : BindingActivity<ActivityMainBinding>() {
class MainActivity : BindingActivity<ActivityMainBinding>(ActivityMainBinding::inflate) {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import android.view.View
import com.jintin.bindingextension.BindingFragment
import com.jintin.bindingextension.app.databinding.FragmentMainBinding

class MainFragment : BindingFragment<FragmentMainBinding>() {
class MainFragment : BindingFragment<FragmentMainBinding>(FragmentMainBinding::inflate) {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
package com.jintin.bindingextension

import android.os.Bundle
import android.view.LayoutInflater
import androidx.appcompat.app.AppCompatActivity
import androidx.viewbinding.ViewBinding

open class BindingActivity<V : ViewBinding> : AppCompatActivity() {
open class BindingActivity<V : ViewBinding>(
private val bindingProvider: (LayoutInflater) -> V
) : AppCompatActivity() {

lateinit var binding: V

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = getBinding()
binding = bindingProvider.invoke(layoutInflater)
setContentView(binding.root)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.viewbinding.ViewBinding

open class BindingFragment<V : ViewBinding> : Fragment() {
open class BindingFragment<V : ViewBinding>(
private val bindingProvider: (LayoutInflater, ViewGroup?, Boolean) -> V
) : Fragment() {

private var _binding: V? = null

Expand All @@ -20,7 +22,7 @@ open class BindingFragment<V : ViewBinding> : Fragment() {
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
val binding = getBinding(inflater, container)
val binding = bindingProvider.invoke(inflater, container, false)
_binding = binding
return binding.root
}
Expand Down
77 changes: 0 additions & 77 deletions lib/src/main/java/com/jintin/bindingextension/Utils.kt

This file was deleted.