mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-24 03:42:15 +00:00
Remove boiler plate code for ViewModelFactory
This commit is contained in:
parent
edf55849d1
commit
f48958433d
@ -4,13 +4,11 @@ import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.looker.droidify.database.Product
|
||||
import com.looker.droidify.databinding.FragmentExploreXBinding
|
||||
import com.looker.droidify.entity.Repository
|
||||
import com.looker.droidify.ui.items.VAppItem
|
||||
import com.looker.droidify.ui.viewmodels.MainNavFragmentViewModelX
|
||||
import com.looker.droidify.utility.PRODUCT_ASYNC_DIFFER_CONFIG
|
||||
import com.looker.droidify.utility.RxUtils
|
||||
import com.mikepenz.fastadapter.FastAdapter
|
||||
@ -21,7 +19,6 @@ import io.reactivex.rxjava3.schedulers.Schedulers
|
||||
// TODO create categories layouts that hold the apps in horizontal layout
|
||||
class ExploreFragment : MainNavFragmentX() {
|
||||
|
||||
override lateinit var viewModel: MainNavFragmentViewModelX
|
||||
private lateinit var binding: FragmentExploreXBinding
|
||||
private lateinit var appsItemAdapter: PagedModelAdapter<Product, VAppItem>
|
||||
private var appsFastAdapter: FastAdapter<VAppItem>? = null
|
||||
@ -38,9 +35,6 @@ class ExploreFragment : MainNavFragmentX() {
|
||||
super.onCreate(savedInstanceState)
|
||||
binding = FragmentExploreXBinding.inflate(inflater, container, false)
|
||||
binding.lifecycleOwner = this
|
||||
val viewModelFactory = MainNavFragmentViewModelX.Factory(mainActivityX.db, source)
|
||||
viewModel = ViewModelProvider(this, viewModelFactory)
|
||||
.get(MainNavFragmentViewModelX::class.java)
|
||||
return binding.root
|
||||
}
|
||||
|
||||
|
@ -4,7 +4,6 @@ import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.looker.droidify.database.Product
|
||||
@ -12,7 +11,6 @@ import com.looker.droidify.databinding.FragmentInstalledXBinding
|
||||
import com.looker.droidify.entity.Repository
|
||||
import com.looker.droidify.ui.items.HAppItem
|
||||
import com.looker.droidify.ui.items.VAppItem
|
||||
import com.looker.droidify.ui.viewmodels.MainNavFragmentViewModelX
|
||||
import com.looker.droidify.utility.PRODUCT_ASYNC_DIFFER_CONFIG
|
||||
import com.looker.droidify.utility.RxUtils
|
||||
import com.mikepenz.fastadapter.FastAdapter
|
||||
@ -22,7 +20,6 @@ import io.reactivex.rxjava3.schedulers.Schedulers
|
||||
|
||||
class InstalledFragment : MainNavFragmentX() {
|
||||
|
||||
override lateinit var viewModel: MainNavFragmentViewModelX
|
||||
private lateinit var binding: FragmentInstalledXBinding
|
||||
|
||||
private lateinit var installedItemAdapter: PagedModelAdapter<Product, VAppItem>
|
||||
@ -42,9 +39,6 @@ class InstalledFragment : MainNavFragmentX() {
|
||||
super.onCreate(savedInstanceState)
|
||||
binding = FragmentInstalledXBinding.inflate(inflater, container, false)
|
||||
binding.lifecycleOwner = this
|
||||
val viewModelFactory = MainNavFragmentViewModelX.Factory(mainActivityX.db, source)
|
||||
viewModel = ViewModelProvider(this, viewModelFactory)
|
||||
.get(MainNavFragmentViewModelX::class.java)
|
||||
return binding.root
|
||||
}
|
||||
|
||||
|
@ -4,7 +4,6 @@ import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.looker.droidify.database.Product
|
||||
@ -12,7 +11,6 @@ import com.looker.droidify.databinding.FragmentLatestXBinding
|
||||
import com.looker.droidify.entity.Repository
|
||||
import com.looker.droidify.ui.items.HAppItem
|
||||
import com.looker.droidify.ui.items.VAppItem
|
||||
import com.looker.droidify.ui.viewmodels.MainNavFragmentViewModelX
|
||||
import com.looker.droidify.utility.PRODUCT_ASYNC_DIFFER_CONFIG
|
||||
import com.looker.droidify.utility.RxUtils
|
||||
import com.mikepenz.fastadapter.FastAdapter
|
||||
@ -22,7 +20,6 @@ import io.reactivex.rxjava3.schedulers.Schedulers
|
||||
|
||||
class LatestFragment : MainNavFragmentX() {
|
||||
|
||||
override lateinit var viewModel: MainNavFragmentViewModelX
|
||||
private lateinit var binding: FragmentLatestXBinding
|
||||
|
||||
private lateinit var updatedItemAdapter: PagedModelAdapter<Product, VAppItem>
|
||||
@ -43,9 +40,6 @@ class LatestFragment : MainNavFragmentX() {
|
||||
super.onCreate(savedInstanceState)
|
||||
binding = FragmentLatestXBinding.inflate(inflater, container, false)
|
||||
binding.lifecycleOwner = this
|
||||
val viewModelFactory = MainNavFragmentViewModelX.Factory(mainActivityX.db, source)
|
||||
viewModel = ViewModelProvider(this, viewModelFactory)
|
||||
.get(MainNavFragmentViewModelX::class.java)
|
||||
return binding.root
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,7 @@ package com.looker.droidify.ui.fragments
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import com.looker.droidify.R
|
||||
import androidx.fragment.app.viewModels
|
||||
import com.looker.droidify.entity.ProductItem
|
||||
import com.looker.droidify.ui.activities.MainActivityX
|
||||
import com.looker.droidify.ui.viewmodels.MainNavFragmentViewModelX
|
||||
@ -11,7 +11,9 @@ import com.looker.droidify.ui.viewmodels.MainNavFragmentViewModelX
|
||||
abstract class MainNavFragmentX : Fragment() {
|
||||
val mainActivityX: MainActivityX
|
||||
get() = requireActivity() as MainActivityX
|
||||
abstract var viewModel: MainNavFragmentViewModelX
|
||||
val viewModel: MainNavFragmentViewModelX by viewModels {
|
||||
MainNavFragmentViewModelX.Factory(mainActivityX.db, source)
|
||||
}
|
||||
abstract val source: Source
|
||||
|
||||
open fun onBackPressed(): Boolean = false
|
||||
|
Loading…
x
Reference in New Issue
Block a user