diff --git a/app/build.gradle b/app/build.gradle
index 6c8b273..a7ea666 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -17,11 +17,10 @@ android {
}
dependencies {
- compile "com.android.support:appcompat-v7:$versions.support"
- compile "com.android.support:cardview-v7:$versions.support"
- compile "com.android.support:design:$versions.support"
- compile "com.android.support:recyclerview-v7:$versions.support"
- compile "org.jetbrains.kotlin:kotlin-stdlib:$versions.kotlin"
- kapt "com.android.databinding:compiler:$versions.gradlePlugin"
- compile project(":lastadapter")
+ implementation "androidx.appcompat:appcompat:$versions.support"
+ implementation "androidx.cardview:cardview:$versions.support"
+ implementation "com.google.android.material:material:$versions.support"
+ implementation "androidx.recyclerview:recyclerview:$versions.support"
+ implementation "org.jetbrains.kotlin:kotlin-stdlib:$versions.kotlin"
+ implementation project(":lastadapter")
}
diff --git a/app/src/main/java/com/github/nitrico/lastadapter_sample/data/Data.kt b/app/src/main/java/com/github/nitrico/lastadapter_sample/data/Data.kt
index d220a44..6f1d7bb 100644
--- a/app/src/main/java/com/github/nitrico/lastadapter_sample/data/Data.kt
+++ b/app/src/main/java/com/github/nitrico/lastadapter_sample/data/Data.kt
@@ -1,6 +1,6 @@
package com.github.nitrico.lastadapter_sample.data
-import android.databinding.ObservableArrayList
+import androidx.databinding.ObservableArrayList
object Data {
diff --git a/app/src/main/java/com/github/nitrico/lastadapter_sample/data/StableData.kt b/app/src/main/java/com/github/nitrico/lastadapter_sample/data/StableData.kt
index b72628c..1cf3dae 100644
--- a/app/src/main/java/com/github/nitrico/lastadapter_sample/data/StableData.kt
+++ b/app/src/main/java/com/github/nitrico/lastadapter_sample/data/StableData.kt
@@ -1,6 +1,6 @@
package com.github.nitrico.lastadapter_sample.data
-import android.databinding.ObservableArrayList
+import androidx.databinding.ObservableArrayList
object StableData {
diff --git a/app/src/main/java/com/github/nitrico/lastadapter_sample/ui/ListFragment.kt b/app/src/main/java/com/github/nitrico/lastadapter_sample/ui/ListFragment.kt
index d521519..9806fa2 100644
--- a/app/src/main/java/com/github/nitrico/lastadapter_sample/ui/ListFragment.kt
+++ b/app/src/main/java/com/github/nitrico/lastadapter_sample/ui/ListFragment.kt
@@ -1,12 +1,12 @@
package com.github.nitrico.lastadapter_sample.ui
import android.os.Bundle
-import android.support.v4.app.Fragment
-import android.support.v7.widget.LinearLayoutManager
-import android.support.v7.widget.RecyclerView
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import androidx.fragment.app.Fragment
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
import com.github.nitrico.lastadapter_sample.R
open class ListFragment : Fragment() {
diff --git a/app/src/main/java/com/github/nitrico/lastadapter_sample/ui/MainActivity.kt b/app/src/main/java/com/github/nitrico/lastadapter_sample/ui/MainActivity.kt
index 4c74fe0..d2482ed 100644
--- a/app/src/main/java/com/github/nitrico/lastadapter_sample/ui/MainActivity.kt
+++ b/app/src/main/java/com/github/nitrico/lastadapter_sample/ui/MainActivity.kt
@@ -1,11 +1,12 @@
package com.github.nitrico.lastadapter_sample.ui
-import android.support.v7.app.AppCompatActivity
import android.os.Bundle
-import android.support.v4.app.FragmentManager
-import android.support.v4.app.FragmentPagerAdapter
import android.view.Menu
import android.view.MenuItem
+import androidx.appcompat.app.AppCompatActivity
+import androidx.fragment.app.FragmentManager
+import androidx.fragment.app.FragmentPagerAdapter
+import androidx.viewpager.widget.ViewPager
import com.github.nitrico.lastadapter_sample.data.Data
import com.github.nitrico.lastadapter_sample.R
import com.github.nitrico.lastadapter_sample.data.Header
@@ -23,6 +24,7 @@ class MainActivity : AppCompatActivity() {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setSupportActionBar(toolbar)
+ val v: ViewPager
pager.adapter = ViewPagerAdapter(supportFragmentManager)
tabs.setupWithViewPager(pager)
}
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 45d04ce..caa8d95 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -4,26 +4,26 @@
android:layout_height="match_parent"
android:orientation="vertical">
-
-
-
-
+
-
diff --git a/app/src/main/res/layout/fragment_list.xml b/app/src/main/res/layout/fragment_list.xml
index a15cbff..999accc 100644
--- a/app/src/main/res/layout/fragment_list.xml
+++ b/app/src/main/res/layout/fragment_list.xml
@@ -1,4 +1,4 @@
-(val binding: B) : RecyclerView.ViewHolder(binding.root) {
internal var created = false
diff --git a/lastadapter/src/main/java/com/github/nitrico/lastadapter/LastAdapter.kt b/lastadapter/src/main/java/com/github/nitrico/lastadapter/LastAdapter.kt
index e6cc38e..e2be24c 100644
--- a/lastadapter/src/main/java/com/github/nitrico/lastadapter/LastAdapter.kt
+++ b/lastadapter/src/main/java/com/github/nitrico/lastadapter/LastAdapter.kt
@@ -16,13 +16,13 @@
package com.github.nitrico.lastadapter
-import android.databinding.DataBindingUtil
-import android.databinding.ObservableList
-import android.databinding.OnRebindCallback
-import android.databinding.ViewDataBinding
-import android.support.v7.widget.RecyclerView
import android.view.LayoutInflater
import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import androidx.databinding.ObservableList
+import androidx.databinding.OnRebindCallback
+import androidx.databinding.ViewDataBinding
+import androidx.recyclerview.widget.RecyclerView
class LastAdapter(private val list: List,
private val variable: Int? = null,
@@ -46,22 +46,17 @@ class LastAdapter(private val list: List,
}
@JvmOverloads
- fun map(clazz: Class, layout: Int, variable: Int? = null)
- = apply { map[clazz] = BaseType(layout, variable) }
+ fun map(clazz: Class, layout: Int, variable: Int? = null) = apply { map[clazz] = BaseType(layout, variable) }
- inline fun map(layout: Int, variable: Int? = null)
- = map(T::class.java, layout, variable)
+ inline fun map(layout: Int, variable: Int? = null) = map(T::class.java, layout, variable)
- fun map(clazz: Class, type: AbsType<*>)
- = apply { map[clazz] = type }
+ fun map(clazz: Class, type: AbsType<*>) = apply { map[clazz] = type }
- inline fun map(type: AbsType<*>)
- = map(T::class.java, type)
+ inline fun map(type: AbsType<*>) = map(T::class.java, type)
inline fun map(layout: Int,
variable: Int? = null,
- noinline f: (Type.() -> Unit)? = null)
- = map(T::class.java, Type(layout, variable).apply { f?.invoke(this) })
+ noinline f: (Type.() -> Unit)? = null) = map(T::class.java, Type(layout, variable).apply { f?.invoke(this) })
fun handler(handler: Handler) = apply {
when (handler) {
@@ -71,7 +66,7 @@ class LastAdapter(private val list: List,
}
layoutHandler = handler
}
- is TypeHandler -> typeHandler = handler
+ is TypeHandler -> typeHandler = handler
}
}
@@ -86,9 +81,8 @@ class LastAdapter(private val list: List,
fun into(recyclerView: RecyclerView) = apply { recyclerView.adapter = this }
-
override fun onCreateViewHolder(view: ViewGroup, viewType: Int): Holder {
- val binding = DataBindingUtil.inflate(inflater, viewType, view, false)
+ val binding = DataBindingUtil.inflate(inflater!!, viewType, view, false)
val holder = Holder(binding)
binding.addOnRebindCallback(object : OnRebindCallback() {
override fun onPreBind(binding: ViewDataBinding) = recyclerView?.isComputingLayout ?: false
@@ -167,18 +161,15 @@ class LastAdapter(private val list: List,
recyclerView = null
}
- override fun getItemViewType(position: Int)
- = layoutHandler?.getItemLayout(list[position], position)
+ override fun getItemViewType(position: Int) = layoutHandler?.getItemLayout(list[position], position)
?: typeHandler?.getItemType(list[position], position)?.layout
?: getType(position)?.layout
?: throw RuntimeException("Invalid object at position $position: ${list[position].javaClass}")
- private fun getType(position: Int)
- = typeHandler?.getItemType(list[position], position)
+ private fun getType(position: Int) = typeHandler?.getItemType(list[position], position)
?: map[list[position].javaClass]
- private fun getVariable(type: BaseType)
- = type.variable
+ private fun getVariable(type: BaseType) = type.variable
?: variable
?: throw IllegalStateException("No variable specified for type ${type.javaClass.simpleName}")
@@ -196,7 +187,7 @@ class LastAdapter(private val list: List,
private fun notifyCreate(holder: Holder, type: AbsType) {
when (type) {
- is Type -> {
+ is Type -> {
setClickListeners(holder, type)
type.onCreate?.invoke(holder)
}
@@ -207,14 +198,14 @@ class LastAdapter(private val list: List,
private fun notifyBind(holder: Holder, type: AbsType) {
when (type) {
- is Type -> type.onBind?.invoke(holder)
+ is Type -> type.onBind?.invoke(holder)
is ItemType -> type.onBind(holder)
}
}
private fun notifyRecycle(holder: Holder, type: AbsType) {
when (type) {
- is Type -> type.onRecycle?.invoke(holder)
+ is Type -> type.onRecycle?.invoke(holder)
is ItemType -> type.onRecycle(holder)
}
}
diff --git a/lastadapter/src/main/java/com/github/nitrico/lastadapter/ObservableListCallback.kt b/lastadapter/src/main/java/com/github/nitrico/lastadapter/ObservableListCallback.kt
index aceba3d..1ab5318 100644
--- a/lastadapter/src/main/java/com/github/nitrico/lastadapter/ObservableListCallback.kt
+++ b/lastadapter/src/main/java/com/github/nitrico/lastadapter/ObservableListCallback.kt
@@ -16,9 +16,9 @@
package com.github.nitrico.lastadapter
-import android.databinding.ObservableList
import android.os.Looper
-import android.support.v7.widget.RecyclerView
+import androidx.databinding.ObservableList
+import androidx.recyclerview.widget.RecyclerView
import java.lang.ref.WeakReference
class ObservableListCallback(adapter: RecyclerView.Adapter)
@@ -48,7 +48,7 @@ class ObservableListCallback(adapter: RecyclerView.
}
override fun onItemRangeMoved(list: ObservableList, from: Int, to: Int, count: Int) {
- adapter?.let { for (i in 0..count-1) it.notifyItemMoved(from+i, to+i) }
+ adapter?.let { for (i in 0..count - 1) it.notifyItemMoved(from + i, to + i) }
}
}
diff --git a/lastadapter/src/main/java/com/github/nitrico/lastadapter/Types.kt b/lastadapter/src/main/java/com/github/nitrico/lastadapter/Types.kt
index 36319f7..450ad79 100644
--- a/lastadapter/src/main/java/com/github/nitrico/lastadapter/Types.kt
+++ b/lastadapter/src/main/java/com/github/nitrico/lastadapter/Types.kt
@@ -16,7 +16,8 @@
package com.github.nitrico.lastadapter
-import android.databinding.ViewDataBinding
+import androidx.databinding.ViewDataBinding
+
open class BaseType
@JvmOverloads constructor(open val layout: Int, open val variable: Int? = null)
@@ -27,9 +28,9 @@ abstract class AbsType
open class ItemType
@JvmOverloads constructor(layout: Int, variable: Int? = null) : AbsType(layout, variable) {
- open fun onCreate(holder: Holder) { }
- open fun onBind(holder: Holder) { }
- open fun onRecycle(holder: Holder) { }
+ open fun onCreate(holder: Holder) {}
+ open fun onBind(holder: Holder) {}
+ open fun onRecycle(holder: Holder) {}
}
open class Type