diff --git a/src/main/kotlin/com/looker/droidify/ui/fragments/ExploreFragment.kt b/src/main/kotlin/com/looker/droidify/ui/fragments/ExploreFragment.kt index 4f2bbe12..f7440505 100644 --- a/src/main/kotlin/com/looker/droidify/ui/fragments/ExploreFragment.kt +++ b/src/main/kotlin/com/looker/droidify/ui/fragments/ExploreFragment.kt @@ -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 private var appsFastAdapter: FastAdapter? = 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 } diff --git a/src/main/kotlin/com/looker/droidify/ui/fragments/InstalledFragment.kt b/src/main/kotlin/com/looker/droidify/ui/fragments/InstalledFragment.kt index a6f6fbcd..ca6f5ed5 100644 --- a/src/main/kotlin/com/looker/droidify/ui/fragments/InstalledFragment.kt +++ b/src/main/kotlin/com/looker/droidify/ui/fragments/InstalledFragment.kt @@ -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 @@ -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 } diff --git a/src/main/kotlin/com/looker/droidify/ui/fragments/LatestFragment.kt b/src/main/kotlin/com/looker/droidify/ui/fragments/LatestFragment.kt index 7ae7ef95..bb6943bf 100644 --- a/src/main/kotlin/com/looker/droidify/ui/fragments/LatestFragment.kt +++ b/src/main/kotlin/com/looker/droidify/ui/fragments/LatestFragment.kt @@ -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 @@ -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 } diff --git a/src/main/kotlin/com/looker/droidify/ui/fragments/MainNavFragmentX.kt b/src/main/kotlin/com/looker/droidify/ui/fragments/MainNavFragmentX.kt index d025bc99..9e24adc4 100644 --- a/src/main/kotlin/com/looker/droidify/ui/fragments/MainNavFragmentX.kt +++ b/src/main/kotlin/com/looker/droidify/ui/fragments/MainNavFragmentX.kt @@ -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