aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/iitems
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2019-09-22 22:36:16 -0700
committerAllan Wang <me@allanwang.ca>2019-09-22 22:36:16 -0700
commit981d6ffb409a501e6efcf4fe0cbe719e192beee7 (patch)
tree8cad6a8e23a493461b06c532a6a67e5f6731b39b /app/src/main/kotlin/com/pitchedapps/frost/iitems
parent8d355d472f579d10707c8a0b65fb424eb283265d (diff)
downloadfrost-981d6ffb409a501e6efcf4fe0cbe719e192beee7.tar.gz
frost-981d6ffb409a501e6efcf4fe0cbe719e192beee7.tar.bz2
frost-981d6ffb409a501e6efcf4fe0cbe719e192beee7.zip
Apply kau migration
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/iitems')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/iitems/GenericIItems.kt17
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/iitems/NotificationIItem.kt18
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/iitems/TabIItem.kt11
3 files changed, 28 insertions, 18 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/iitems/GenericIItems.kt b/app/src/main/kotlin/com/pitchedapps/frost/iitems/GenericIItems.kt
index 6eacf48e..ca8bf352 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/iitems/GenericIItems.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/iitems/GenericIItems.kt
@@ -23,8 +23,9 @@ import ca.allanwang.kau.iitems.KauIItem
import ca.allanwang.kau.ui.createSimpleRippleDrawable
import ca.allanwang.kau.utils.bindView
import com.mikepenz.fastadapter.FastAdapter
+import com.mikepenz.fastadapter.GenericItem
import com.mikepenz.fastadapter.IAdapter
-import com.mikepenz.fastadapter.IItem
+import com.mikepenz.fastadapter.select.selectExtension
import com.pitchedapps.frost.R
import com.pitchedapps.frost.utils.Prefs
import com.pitchedapps.frost.utils.launchWebOverlay
@@ -46,15 +47,19 @@ interface ClickableIItemContract {
}
companion object {
- fun bindEvents(adapter: IAdapter<IItem<*, *>>) {
- adapter.fastAdapter.withSelectable(false)
- .withOnClickListener { v, _, item, _ ->
+ fun bindEvents(adapter: IAdapter<GenericItem>) {
+ adapter.fastAdapter?.apply {
+ selectExtension {
+ isSelectable = false
+ }
+ onClickListener = { v, _, item, _ ->
if (item is ClickableIItemContract) {
item.click(v!!.context)
true
} else
false
}
+ }
}
}
}
@@ -66,7 +71,7 @@ interface ClickableIItemContract {
open class HeaderIItem(
val text: String?,
itemId: Int = R.layout.iitem_header
-) : KauIItem<HeaderIItem, HeaderIItem.ViewHolder>(R.layout.iitem_header, ::ViewHolder, itemId) {
+) : KauIItem<HeaderIItem.ViewHolder>(R.layout.iitem_header, ::ViewHolder, itemId) {
class ViewHolder(itemView: View) : FastAdapter.ViewHolder<HeaderIItem>(itemView) {
@@ -92,7 +97,7 @@ open class TextIItem(
val text: String?,
override val url: String?,
itemId: Int = R.layout.iitem_text
-) : KauIItem<TextIItem, TextIItem.ViewHolder>(R.layout.iitem_text, ::ViewHolder, itemId),
+) : KauIItem<TextIItem.ViewHolder>(R.layout.iitem_text, ::ViewHolder, itemId),
ClickableIItemContract {
class ViewHolder(itemView: View) : FastAdapter.ViewHolder<TextIItem>(itemView) {
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/iitems/NotificationIItem.kt b/app/src/main/kotlin/com/pitchedapps/frost/iitems/NotificationIItem.kt
index 1806d351..894a220d 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/iitems/NotificationIItem.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/iitems/NotificationIItem.kt
@@ -28,7 +28,8 @@ import ca.allanwang.kau.utils.visible
import ca.allanwang.kau.utils.withAlpha
import com.mikepenz.fastadapter.FastAdapter
import com.mikepenz.fastadapter.adapters.ItemAdapter
-import com.mikepenz.fastadapter.commons.utils.DiffCallback
+import com.mikepenz.fastadapter.diff.DiffCallback
+import com.mikepenz.fastadapter.select.selectExtension
import com.pitchedapps.frost.R
import com.pitchedapps.frost.facebook.FbItem
import com.pitchedapps.frost.facebook.parsers.FrostNotif
@@ -42,14 +43,17 @@ import com.pitchedapps.frost.utils.launchWebOverlay
* Created by Allan Wang on 27/12/17.
*/
class NotificationIItem(val notification: FrostNotif, val cookie: String) :
- KauIItem<NotificationIItem, NotificationIItem.ViewHolder>(
+ KauIItem<NotificationIItem.ViewHolder>(
R.layout.iitem_notification, ::ViewHolder
) {
companion object {
fun bindEvents(adapter: ItemAdapter<NotificationIItem>) {
- adapter.fastAdapter.withSelectable(false)
- .withOnClickListener { v, _, item, position ->
+ adapter.fastAdapter?.apply {
+ selectExtension {
+ isSelectable = false
+ }
+ onClickListener = { v, _, item, position ->
val notif = item.notification
if (notif.unread) {
adapter.set(
@@ -61,6 +65,7 @@ class NotificationIItem(val notification: FrostNotif, val cookie: String) :
v!!.context.launchWebOverlay(if (notif.url.isIndependent) notif.url else FbItem.NOTIFICATIONS.url)
true
}
+ }
}
//todo see if necessary
@@ -72,7 +77,10 @@ class NotificationIItem(val notification: FrostNotif, val cookie: String) :
override fun areItemsTheSame(oldItem: NotificationIItem, newItem: NotificationIItem) =
oldItem.notification.id == newItem.notification.id
- override fun areContentsTheSame(oldItem: NotificationIItem, newItem: NotificationIItem) =
+ override fun areContentsTheSame(
+ oldItem: NotificationIItem,
+ newItem: NotificationIItem
+ ) =
oldItem.notification == newItem.notification
override fun getChangePayload(
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/iitems/TabIItem.kt b/app/src/main/kotlin/com/pitchedapps/frost/iitems/TabIItem.kt
index 51201d09..186e6288 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/iitems/TabIItem.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/iitems/TabIItem.kt
@@ -26,8 +26,7 @@ import ca.allanwang.kau.utils.setIcon
import ca.allanwang.kau.utils.visible
import ca.allanwang.kau.utils.withAlpha
import com.mikepenz.fastadapter.FastAdapter
-import com.mikepenz.fastadapter.IItem
-import com.mikepenz.fastadapter_extensions.drag.IDraggable
+import com.mikepenz.fastadapter.drag.IDraggable
import com.pitchedapps.frost.R
import com.pitchedapps.frost.facebook.FbItem
import com.pitchedapps.frost.utils.Prefs
@@ -35,14 +34,12 @@ import com.pitchedapps.frost.utils.Prefs
/**
* Created by Allan Wang on 26/11/17.
*/
-class TabIItem(val item: FbItem) : KauIItem<TabIItem, TabIItem.ViewHolder>(
+class TabIItem(val item: FbItem) : KauIItem<TabIItem.ViewHolder>(
R.layout.iitem_tab_preview,
{ ViewHolder(it) }
-), IDraggable<TabIItem, IItem<*, *>> {
+), IDraggable {
- override fun withIsDraggable(draggable: Boolean): TabIItem = this
-
- override fun isDraggable() = true
+ override val isDraggable: Boolean = true
class ViewHolder(itemView: View) : FastAdapter.ViewHolder<TabIItem>(itemView) {