Migrate to ViewBinding

This commit is contained in:
Koitharu
2020-12-01 07:45:11 +02:00
parent a215d9ebfc
commit 75b3ea0bc9
108 changed files with 1004 additions and 880 deletions

View File

@@ -1,6 +1,6 @@
package org.koitharu.kotatsu.widget
import org.koin.android.viewmodel.dsl.viewModel
import org.koin.androidx.viewmodel.dsl.viewModel
import org.koin.dsl.module
import org.koitharu.kotatsu.widget.shelf.ShelfConfigViewModel

View File

@@ -13,17 +13,17 @@ import androidx.core.view.isVisible
import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.snackbar.Snackbar
import kotlinx.android.synthetic.main.activity_categories.*
import org.koin.android.viewmodel.ext.android.viewModel
import org.koin.androidx.viewmodel.ext.android.viewModel
import org.koitharu.kotatsu.R
import org.koitharu.kotatsu.base.ui.BaseActivity
import org.koitharu.kotatsu.base.ui.list.OnListItemClickListener
import org.koitharu.kotatsu.core.prefs.AppWidgetConfig
import org.koitharu.kotatsu.databinding.ActivityCategoriesBinding
import org.koitharu.kotatsu.utils.ext.getDisplayMessage
import org.koitharu.kotatsu.widget.shelf.adapter.CategorySelectAdapter
import org.koitharu.kotatsu.widget.shelf.model.CategoryItem
class ShelfConfigActivity : BaseActivity(), OnListItemClickListener<CategoryItem> {
class ShelfConfigActivity : BaseActivity<ActivityCategoriesBinding>(), OnListItemClickListener<CategoryItem> {
private val viewModel by viewModel<ShelfConfigViewModel>()
@@ -32,13 +32,13 @@ class ShelfConfigActivity : BaseActivity(), OnListItemClickListener<CategoryItem
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_categories)
setContentView(ActivityCategoriesBinding.inflate(layoutInflater))
supportActionBar?.setDisplayHomeAsUpEnabled(true)
fab_add.imageTintList = ColorStateList.valueOf(Color.WHITE)
binding.fabAdd.imageTintList = ColorStateList.valueOf(Color.WHITE)
adapter = CategorySelectAdapter(this)
recyclerView.addItemDecoration(DividerItemDecoration(this, RecyclerView.VERTICAL))
recyclerView.adapter = adapter
fab_add.isVisible = false
binding.recyclerView.addItemDecoration(DividerItemDecoration(this, RecyclerView.VERTICAL))
binding.recyclerView.adapter = adapter
binding.fabAdd.isVisible = false
val appWidgetId = intent?.getIntExtra(
AppWidgetManager.EXTRA_APPWIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID
@@ -82,7 +82,7 @@ class ShelfConfigActivity : BaseActivity(), OnListItemClickListener<CategoryItem
}
private fun onError(e: Throwable) {
Snackbar.make(recyclerView, e.getDisplayMessage(resources), Snackbar.LENGTH_LONG)
Snackbar.make(binding.recyclerView, e.getDisplayMessage(resources), Snackbar.LENGTH_LONG)
.show()
}

View File

@@ -1,15 +1,15 @@
package org.koitharu.kotatsu.widget.shelf.adapter
import com.hannesdorfmann.adapterdelegates4.dsl.adapterDelegateLayoutContainer
import kotlinx.android.synthetic.main.item_category_checkable.*
import com.hannesdorfmann.adapterdelegates4.dsl.adapterDelegateViewBinding
import org.koitharu.kotatsu.R
import org.koitharu.kotatsu.base.ui.list.OnListItemClickListener
import org.koitharu.kotatsu.databinding.ItemCategoryCheckableSingleBinding
import org.koitharu.kotatsu.widget.shelf.model.CategoryItem
fun categorySelectItemAD(
clickListener: OnListItemClickListener<CategoryItem>
) = adapterDelegateLayoutContainer<CategoryItem, CategoryItem>(
R.layout.item_category_checkable_single
) = adapterDelegateViewBinding<CategoryItem, CategoryItem, ItemCategoryCheckableSingleBinding>(
{ inflater, parent -> ItemCategoryCheckableSingleBinding.inflate(inflater, parent, false) }
) {
itemView.setOnClickListener {
@@ -17,7 +17,9 @@ fun categorySelectItemAD(
}
bind {
checkedTextView.text = item.name ?: getString(R.string.all_favourites)
checkedTextView.isChecked = item.isSelected
with(binding.checkedTextView) {
text = item.name ?: getString(R.string.all_favourites)
isChecked = item.isSelected
}
}
}