mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-06-08 16:59:55 +00:00
Remove: FastScrollerBuilder from MainNav fragments
This commit is contained in:
parent
abaf7fae43
commit
27a54c1b08
@ -6,21 +6,17 @@ import android.view.View
|
|||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import com.looker.droidify.R
|
|
||||||
import com.looker.droidify.database.Product
|
import com.looker.droidify.database.Product
|
||||||
import com.looker.droidify.databinding.FragmentExploreXBinding
|
import com.looker.droidify.databinding.FragmentExploreXBinding
|
||||||
import com.looker.droidify.entity.Repository
|
import com.looker.droidify.entity.Repository
|
||||||
import com.looker.droidify.ui.adapters.AppListAdapter
|
|
||||||
import com.looker.droidify.ui.items.VAppItem
|
import com.looker.droidify.ui.items.VAppItem
|
||||||
import com.looker.droidify.ui.viewmodels.MainNavFragmentViewModelX
|
import com.looker.droidify.ui.viewmodels.MainNavFragmentViewModelX
|
||||||
import com.looker.droidify.utility.PRODUCT_ASYNC_DIFFER_CONFIG
|
import com.looker.droidify.utility.PRODUCT_ASYNC_DIFFER_CONFIG
|
||||||
import com.looker.droidify.utility.RxUtils
|
import com.looker.droidify.utility.RxUtils
|
||||||
import com.looker.droidify.utility.extension.resources.getDrawableCompat
|
|
||||||
import com.mikepenz.fastadapter.FastAdapter
|
import com.mikepenz.fastadapter.FastAdapter
|
||||||
import com.mikepenz.fastadapter.paged.PagedModelAdapter
|
import com.mikepenz.fastadapter.paged.PagedModelAdapter
|
||||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
import io.reactivex.rxjava3.schedulers.Schedulers
|
||||||
import me.zhanghai.android.fastscroll.FastScrollerBuilder
|
|
||||||
|
|
||||||
// TODO create categories layouts that hold the apps in horizontal layout
|
// TODO create categories layouts that hold the apps in horizontal layout
|
||||||
class ExploreFragment : MainNavFragmentX() {
|
class ExploreFragment : MainNavFragmentX() {
|
||||||
@ -52,24 +48,16 @@ class ExploreFragment : MainNavFragmentX() {
|
|||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
appsItemAdapter = PagedModelAdapter<Product, VAppItem>(PRODUCT_ASYNC_DIFFER_CONFIG) {
|
appsItemAdapter = PagedModelAdapter<Product, VAppItem>(PRODUCT_ASYNC_DIFFER_CONFIG) {
|
||||||
it.data_item?.let { item ->
|
it.data_item?.let { item -> VAppItem(item, repositories[it.repository_id]) }
|
||||||
VAppItem(item, repositories[it.repository_id])
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
appsFastAdapter = FastAdapter.with(appsItemAdapter)
|
appsFastAdapter = FastAdapter.with(appsItemAdapter)
|
||||||
appsFastAdapter?.setHasStableIds(true)
|
appsFastAdapter?.setHasStableIds(true)
|
||||||
binding.recyclerView.apply {
|
binding.recyclerView.apply {
|
||||||
layoutManager = LinearLayoutManager(requireContext())
|
layoutManager = LinearLayoutManager(requireContext())
|
||||||
setHasFixedSize(true)
|
setHasFixedSize(true)
|
||||||
recycledViewPool.setMaxRecycledViews(AppListAdapter.ViewType.PRODUCT.ordinal, 30)
|
|
||||||
adapter = appsFastAdapter
|
adapter = appsFastAdapter
|
||||||
FastScrollerBuilder(this)
|
|
||||||
.useMd2Style()
|
|
||||||
.setThumbDrawable(this.context.getDrawableCompat(R.drawable.scrollbar_thumb))
|
|
||||||
.build()
|
|
||||||
}
|
}
|
||||||
//viewModel.fillList(source)
|
|
||||||
viewModel.db.repositoryDao.allFlowable
|
viewModel.db.repositoryDao.allFlowable
|
||||||
.observeOn(Schedulers.io())
|
.observeOn(Schedulers.io())
|
||||||
.flatMapSingle { list -> RxUtils.querySingle { list.mapNotNull { it.trueData } } }
|
.flatMapSingle { list -> RxUtils.querySingle { list.mapNotNull { it.trueData } } }
|
||||||
|
@ -7,22 +7,18 @@ import android.view.ViewGroup
|
|||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.looker.droidify.R
|
|
||||||
import com.looker.droidify.database.Product
|
import com.looker.droidify.database.Product
|
||||||
import com.looker.droidify.databinding.FragmentInstalledXBinding
|
import com.looker.droidify.databinding.FragmentInstalledXBinding
|
||||||
import com.looker.droidify.entity.Repository
|
import com.looker.droidify.entity.Repository
|
||||||
import com.looker.droidify.ui.adapters.AppListAdapter
|
|
||||||
import com.looker.droidify.ui.items.HAppItem
|
import com.looker.droidify.ui.items.HAppItem
|
||||||
import com.looker.droidify.ui.items.VAppItem
|
import com.looker.droidify.ui.items.VAppItem
|
||||||
import com.looker.droidify.ui.viewmodels.MainNavFragmentViewModelX
|
import com.looker.droidify.ui.viewmodels.MainNavFragmentViewModelX
|
||||||
import com.looker.droidify.utility.PRODUCT_ASYNC_DIFFER_CONFIG
|
import com.looker.droidify.utility.PRODUCT_ASYNC_DIFFER_CONFIG
|
||||||
import com.looker.droidify.utility.RxUtils
|
import com.looker.droidify.utility.RxUtils
|
||||||
import com.looker.droidify.utility.extension.resources.getDrawableCompat
|
|
||||||
import com.mikepenz.fastadapter.FastAdapter
|
import com.mikepenz.fastadapter.FastAdapter
|
||||||
import com.mikepenz.fastadapter.paged.PagedModelAdapter
|
import com.mikepenz.fastadapter.paged.PagedModelAdapter
|
||||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
import io.reactivex.rxjava3.schedulers.Schedulers
|
||||||
import me.zhanghai.android.fastscroll.FastScrollerBuilder
|
|
||||||
|
|
||||||
class InstalledFragment : MainNavFragmentX() {
|
class InstalledFragment : MainNavFragmentX() {
|
||||||
|
|
||||||
@ -56,36 +52,25 @@ class InstalledFragment : MainNavFragmentX() {
|
|||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
installedItemAdapter = PagedModelAdapter<Product, VAppItem>(PRODUCT_ASYNC_DIFFER_CONFIG) {
|
installedItemAdapter = PagedModelAdapter<Product, VAppItem>(PRODUCT_ASYNC_DIFFER_CONFIG) {
|
||||||
it.data_item?.let { item ->
|
it.data_item?.let { item -> VAppItem(item, repositories[it.repository_id]) }
|
||||||
VAppItem(item, repositories[it.repository_id])
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
updatedItemAdapter = PagedModelAdapter<Product, HAppItem>(PRODUCT_ASYNC_DIFFER_CONFIG) {
|
updatedItemAdapter = PagedModelAdapter<Product, HAppItem>(PRODUCT_ASYNC_DIFFER_CONFIG) {
|
||||||
it.data_item?.let { item ->
|
|
||||||
// TODO filter for only updated apps and add placeholder
|
// TODO filter for only updated apps and add placeholder
|
||||||
HAppItem(item, repositories[it.repository_id])
|
it.data_item?.let { item -> HAppItem(item, repositories[it.repository_id]) }
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
installedFastAdapter = FastAdapter.with(installedItemAdapter)
|
installedFastAdapter = FastAdapter.with(installedItemAdapter)
|
||||||
installedFastAdapter?.setHasStableIds(true)
|
installedFastAdapter?.setHasStableIds(true)
|
||||||
binding.installedRecycler.apply {
|
binding.installedRecycler.apply {
|
||||||
layoutManager = LinearLayoutManager(requireContext())
|
layoutManager = LinearLayoutManager(requireContext())
|
||||||
recycledViewPool.setMaxRecycledViews(AppListAdapter.ViewType.PRODUCT.ordinal, 30)
|
|
||||||
adapter = installedFastAdapter
|
adapter = installedFastAdapter
|
||||||
FastScrollerBuilder(this)
|
|
||||||
.useMd2Style()
|
|
||||||
.setThumbDrawable(this.context.getDrawableCompat(R.drawable.scrollbar_thumb))
|
|
||||||
.build()
|
|
||||||
}
|
}
|
||||||
updatedFastAdapter = FastAdapter.with(updatedItemAdapter)
|
updatedFastAdapter = FastAdapter.with(updatedItemAdapter)
|
||||||
updatedFastAdapter?.setHasStableIds(true)
|
updatedFastAdapter?.setHasStableIds(true)
|
||||||
binding.updatedRecycler.apply {
|
binding.updatedRecycler.apply {
|
||||||
layoutManager = LinearLayoutManager(requireContext(), RecyclerView.HORIZONTAL, false)
|
layoutManager = LinearLayoutManager(requireContext(), RecyclerView.HORIZONTAL, false)
|
||||||
recycledViewPool.setMaxRecycledViews(AppListAdapter.ViewType.PRODUCT.ordinal, 30)
|
|
||||||
adapter = updatedFastAdapter
|
adapter = updatedFastAdapter
|
||||||
}
|
}
|
||||||
//viewModel.fillList(source)
|
|
||||||
viewModel.db.repositoryDao.allFlowable
|
viewModel.db.repositoryDao.allFlowable
|
||||||
.observeOn(Schedulers.io())
|
.observeOn(Schedulers.io())
|
||||||
.flatMapSingle { list -> RxUtils.querySingle { list.mapNotNull { it.trueData } } }
|
.flatMapSingle { list -> RxUtils.querySingle { list.mapNotNull { it.trueData } } }
|
||||||
|
@ -7,22 +7,18 @@ import android.view.ViewGroup
|
|||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.looker.droidify.R
|
|
||||||
import com.looker.droidify.database.Product
|
import com.looker.droidify.database.Product
|
||||||
import com.looker.droidify.databinding.FragmentLatestXBinding
|
import com.looker.droidify.databinding.FragmentLatestXBinding
|
||||||
import com.looker.droidify.entity.Repository
|
import com.looker.droidify.entity.Repository
|
||||||
import com.looker.droidify.ui.adapters.AppListAdapter
|
|
||||||
import com.looker.droidify.ui.items.HAppItem
|
import com.looker.droidify.ui.items.HAppItem
|
||||||
import com.looker.droidify.ui.items.VAppItem
|
import com.looker.droidify.ui.items.VAppItem
|
||||||
import com.looker.droidify.ui.viewmodels.MainNavFragmentViewModelX
|
import com.looker.droidify.ui.viewmodels.MainNavFragmentViewModelX
|
||||||
import com.looker.droidify.utility.PRODUCT_ASYNC_DIFFER_CONFIG
|
import com.looker.droidify.utility.PRODUCT_ASYNC_DIFFER_CONFIG
|
||||||
import com.looker.droidify.utility.RxUtils
|
import com.looker.droidify.utility.RxUtils
|
||||||
import com.looker.droidify.utility.extension.resources.getDrawableCompat
|
|
||||||
import com.mikepenz.fastadapter.FastAdapter
|
import com.mikepenz.fastadapter.FastAdapter
|
||||||
import com.mikepenz.fastadapter.paged.PagedModelAdapter
|
import com.mikepenz.fastadapter.paged.PagedModelAdapter
|
||||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
import io.reactivex.rxjava3.schedulers.Schedulers
|
||||||
import me.zhanghai.android.fastscroll.FastScrollerBuilder
|
|
||||||
|
|
||||||
class LatestFragment : MainNavFragmentX() {
|
class LatestFragment : MainNavFragmentX() {
|
||||||
|
|
||||||
@ -57,36 +53,25 @@ class LatestFragment : MainNavFragmentX() {
|
|||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
updatedItemAdapter = PagedModelAdapter<Product, VAppItem>(PRODUCT_ASYNC_DIFFER_CONFIG) {
|
updatedItemAdapter = PagedModelAdapter<Product, VAppItem>(PRODUCT_ASYNC_DIFFER_CONFIG) {
|
||||||
it.data_item?.let { item ->
|
it.data_item?.let { item -> VAppItem(item, repositories[it.repository_id]) }
|
||||||
VAppItem(item, repositories[it.repository_id])
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
newItemAdapter = PagedModelAdapter<Product, HAppItem>(PRODUCT_ASYNC_DIFFER_CONFIG) {
|
newItemAdapter = PagedModelAdapter<Product, HAppItem>(PRODUCT_ASYNC_DIFFER_CONFIG) {
|
||||||
it.data_item?.let { item ->
|
|
||||||
// TODO filter for only new apps and add placeholder
|
// TODO filter for only new apps and add placeholder
|
||||||
HAppItem(item, repositories[it.repository_id])
|
it.data_item?.let { item -> HAppItem(item, repositories[it.repository_id]) }
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
updatedFastAdapter = FastAdapter.with(updatedItemAdapter)
|
updatedFastAdapter = FastAdapter.with(updatedItemAdapter)
|
||||||
updatedFastAdapter?.setHasStableIds(true)
|
updatedFastAdapter?.setHasStableIds(true)
|
||||||
binding.updatedRecycler.apply {
|
binding.updatedRecycler.apply {
|
||||||
layoutManager = LinearLayoutManager(requireContext())
|
layoutManager = LinearLayoutManager(requireContext())
|
||||||
recycledViewPool.setMaxRecycledViews(AppListAdapter.ViewType.PRODUCT.ordinal, 30)
|
|
||||||
adapter = updatedFastAdapter
|
adapter = updatedFastAdapter
|
||||||
FastScrollerBuilder(this)
|
|
||||||
.useMd2Style()
|
|
||||||
.setThumbDrawable(this.context.getDrawableCompat(R.drawable.scrollbar_thumb))
|
|
||||||
.build()
|
|
||||||
}
|
}
|
||||||
newFastAdapter = FastAdapter.with(newItemAdapter)
|
newFastAdapter = FastAdapter.with(newItemAdapter)
|
||||||
newFastAdapter?.setHasStableIds(true)
|
newFastAdapter?.setHasStableIds(true)
|
||||||
binding.newRecycler.apply {
|
binding.newRecycler.apply {
|
||||||
layoutManager = LinearLayoutManager(requireContext(), RecyclerView.HORIZONTAL, false)
|
layoutManager = LinearLayoutManager(requireContext(), RecyclerView.HORIZONTAL, false)
|
||||||
recycledViewPool.setMaxRecycledViews(AppListAdapter.ViewType.PRODUCT.ordinal, 30)
|
|
||||||
adapter = newFastAdapter
|
adapter = newFastAdapter
|
||||||
}
|
}
|
||||||
//viewModel.fillList(source)
|
|
||||||
viewModel.db.repositoryDao.allFlowable
|
viewModel.db.repositoryDao.allFlowable
|
||||||
.observeOn(Schedulers.io())
|
.observeOn(Schedulers.io())
|
||||||
.flatMapSingle { list -> RxUtils.querySingle { list.mapNotNull { it.trueData } } }
|
.flatMapSingle { list -> RxUtils.querySingle { list.mapNotNull { it.trueData } } }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user