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.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.lifecycle.ViewModelProvider
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
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.items.VAppItem
|
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.PRODUCT_ASYNC_DIFFER_CONFIG
|
||||||
import com.looker.droidify.utility.RxUtils
|
import com.looker.droidify.utility.RxUtils
|
||||||
import com.mikepenz.fastadapter.FastAdapter
|
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
|
// TODO create categories layouts that hold the apps in horizontal layout
|
||||||
class ExploreFragment : MainNavFragmentX() {
|
class ExploreFragment : MainNavFragmentX() {
|
||||||
|
|
||||||
override lateinit var viewModel: MainNavFragmentViewModelX
|
|
||||||
private lateinit var binding: FragmentExploreXBinding
|
private lateinit var binding: FragmentExploreXBinding
|
||||||
private lateinit var appsItemAdapter: PagedModelAdapter<Product, VAppItem>
|
private lateinit var appsItemAdapter: PagedModelAdapter<Product, VAppItem>
|
||||||
private var appsFastAdapter: FastAdapter<VAppItem>? = null
|
private var appsFastAdapter: FastAdapter<VAppItem>? = null
|
||||||
@ -38,9 +35,6 @@ class ExploreFragment : MainNavFragmentX() {
|
|||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = FragmentExploreXBinding.inflate(inflater, container, false)
|
binding = FragmentExploreXBinding.inflate(inflater, container, false)
|
||||||
binding.lifecycleOwner = this
|
binding.lifecycleOwner = this
|
||||||
val viewModelFactory = MainNavFragmentViewModelX.Factory(mainActivityX.db, source)
|
|
||||||
viewModel = ViewModelProvider(this, viewModelFactory)
|
|
||||||
.get(MainNavFragmentViewModelX::class.java)
|
|
||||||
return binding.root
|
return binding.root
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,6 @@ import android.os.Bundle
|
|||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
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.database.Product
|
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.entity.Repository
|
||||||
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.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.mikepenz.fastadapter.FastAdapter
|
import com.mikepenz.fastadapter.FastAdapter
|
||||||
@ -22,7 +20,6 @@ import io.reactivex.rxjava3.schedulers.Schedulers
|
|||||||
|
|
||||||
class InstalledFragment : MainNavFragmentX() {
|
class InstalledFragment : MainNavFragmentX() {
|
||||||
|
|
||||||
override lateinit var viewModel: MainNavFragmentViewModelX
|
|
||||||
private lateinit var binding: FragmentInstalledXBinding
|
private lateinit var binding: FragmentInstalledXBinding
|
||||||
|
|
||||||
private lateinit var installedItemAdapter: PagedModelAdapter<Product, VAppItem>
|
private lateinit var installedItemAdapter: PagedModelAdapter<Product, VAppItem>
|
||||||
@ -42,9 +39,6 @@ class InstalledFragment : MainNavFragmentX() {
|
|||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = FragmentInstalledXBinding.inflate(inflater, container, false)
|
binding = FragmentInstalledXBinding.inflate(inflater, container, false)
|
||||||
binding.lifecycleOwner = this
|
binding.lifecycleOwner = this
|
||||||
val viewModelFactory = MainNavFragmentViewModelX.Factory(mainActivityX.db, source)
|
|
||||||
viewModel = ViewModelProvider(this, viewModelFactory)
|
|
||||||
.get(MainNavFragmentViewModelX::class.java)
|
|
||||||
return binding.root
|
return binding.root
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,6 @@ import android.os.Bundle
|
|||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
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.database.Product
|
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.entity.Repository
|
||||||
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.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.mikepenz.fastadapter.FastAdapter
|
import com.mikepenz.fastadapter.FastAdapter
|
||||||
@ -22,7 +20,6 @@ import io.reactivex.rxjava3.schedulers.Schedulers
|
|||||||
|
|
||||||
class LatestFragment : MainNavFragmentX() {
|
class LatestFragment : MainNavFragmentX() {
|
||||||
|
|
||||||
override lateinit var viewModel: MainNavFragmentViewModelX
|
|
||||||
private lateinit var binding: FragmentLatestXBinding
|
private lateinit var binding: FragmentLatestXBinding
|
||||||
|
|
||||||
private lateinit var updatedItemAdapter: PagedModelAdapter<Product, VAppItem>
|
private lateinit var updatedItemAdapter: PagedModelAdapter<Product, VAppItem>
|
||||||
@ -43,9 +40,6 @@ class LatestFragment : MainNavFragmentX() {
|
|||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = FragmentLatestXBinding.inflate(inflater, container, false)
|
binding = FragmentLatestXBinding.inflate(inflater, container, false)
|
||||||
binding.lifecycleOwner = this
|
binding.lifecycleOwner = this
|
||||||
val viewModelFactory = MainNavFragmentViewModelX.Factory(mainActivityX.db, source)
|
|
||||||
viewModel = ViewModelProvider(this, viewModelFactory)
|
|
||||||
.get(MainNavFragmentViewModelX::class.java)
|
|
||||||
return binding.root
|
return binding.root
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ package com.looker.droidify.ui.fragments
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.fragment.app.Fragment
|
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.entity.ProductItem
|
||||||
import com.looker.droidify.ui.activities.MainActivityX
|
import com.looker.droidify.ui.activities.MainActivityX
|
||||||
import com.looker.droidify.ui.viewmodels.MainNavFragmentViewModelX
|
import com.looker.droidify.ui.viewmodels.MainNavFragmentViewModelX
|
||||||
@ -11,7 +11,9 @@ import com.looker.droidify.ui.viewmodels.MainNavFragmentViewModelX
|
|||||||
abstract class MainNavFragmentX : Fragment() {
|
abstract class MainNavFragmentX : Fragment() {
|
||||||
val mainActivityX: MainActivityX
|
val mainActivityX: MainActivityX
|
||||||
get() = requireActivity() as MainActivityX
|
get() = requireActivity() as MainActivityX
|
||||||
abstract var viewModel: MainNavFragmentViewModelX
|
val viewModel: MainNavFragmentViewModelX by viewModels {
|
||||||
|
MainNavFragmentViewModelX.Factory(mainActivityX.db, source)
|
||||||
|
}
|
||||||
abstract val source: Source
|
abstract val source: Source
|
||||||
|
|
||||||
open fun onBackPressed(): Boolean = false
|
open fun onBackPressed(): Boolean = false
|
||||||
|
Loading…
x
Reference in New Issue
Block a user