Improve viewbinding - [1/3]
This commit is contained in:
committed by
Aayush Gupta
parent
cb4f36c2d5
commit
47760b7407
@@ -21,7 +21,6 @@ package com.aurora.store.view.ui.about
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
@@ -33,18 +32,14 @@ import com.aurora.store.R
|
||||
import com.aurora.store.data.model.Link
|
||||
import com.aurora.store.databinding.FragmentAboutBinding
|
||||
import com.aurora.store.view.epoxy.views.preference.LinkViewModel_
|
||||
import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class AboutFragment : Fragment(R.layout.fragment_about) {
|
||||
|
||||
private var _binding: FragmentAboutBinding? = null
|
||||
private val binding: FragmentAboutBinding
|
||||
get() = _binding!!
|
||||
class AboutFragment : BaseFragment<FragmentAboutBinding>() {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentAboutBinding.bind(view)
|
||||
|
||||
// Toolbar
|
||||
binding.layoutToolbarAction.txtTitle.text = getString(R.string.title_about)
|
||||
@@ -66,11 +61,6 @@ class AboutFragment : Fragment(R.layout.fragment_about) {
|
||||
updateController()
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateController() {
|
||||
val linkURLS = resources.getStringArray(R.array.link_urls)
|
||||
val linkTitles = resources.getStringArray(R.array.link_titles)
|
||||
|
||||
@@ -21,7 +21,6 @@ package com.aurora.store.view.ui.account
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
@@ -33,22 +32,18 @@ import com.aurora.store.R
|
||||
import com.aurora.store.data.providers.AccountProvider
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import com.aurora.store.databinding.FragmentAccountBinding
|
||||
import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import javax.inject.Inject
|
||||
|
||||
@AndroidEntryPoint
|
||||
class AccountFragment : Fragment(R.layout.fragment_account) {
|
||||
|
||||
private var _binding: FragmentAccountBinding? = null
|
||||
private val binding: FragmentAccountBinding
|
||||
get() = _binding!!
|
||||
class AccountFragment : BaseFragment<FragmentAccountBinding>() {
|
||||
|
||||
@Inject
|
||||
lateinit var authProvider: AuthProvider
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentAccountBinding.bind(view)
|
||||
|
||||
// Toolbar
|
||||
binding.layoutToolbarAction.txtTitle.text = getString(R.string.title_account_manager)
|
||||
@@ -70,7 +65,8 @@ class AccountFragment : Fragment(R.layout.fragment_account) {
|
||||
transformations(RoundedCornersTransformation(32F))
|
||||
}
|
||||
binding.txtName.text = if (authProvider.isAnonymous) "Anonymous" else it.name
|
||||
binding.txtEmail.text = if (authProvider.isAnonymous) "anonymous@gmail.com" else it.email
|
||||
binding.txtEmail.text =
|
||||
if (authProvider.isAnonymous) "anonymous@gmail.com" else it.email
|
||||
}
|
||||
|
||||
binding.btnLogout.addOnClickListener {
|
||||
@@ -81,9 +77,4 @@ class AccountFragment : Fragment(R.layout.fragment_account) {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,6 @@ import android.webkit.WebView
|
||||
import android.webkit.WebViewClient
|
||||
import android.widget.Toast
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.fragment.findNavController
|
||||
@@ -38,12 +37,13 @@ import com.aurora.store.R
|
||||
import com.aurora.store.data.event.BusEvent
|
||||
import com.aurora.store.databinding.FragmentGoogleBinding
|
||||
import com.aurora.store.util.AC2DMUtil
|
||||
import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import com.aurora.store.viewmodel.auth.AuthViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
@AndroidEntryPoint
|
||||
class GoogleFragment : Fragment(R.layout.fragment_google) {
|
||||
class GoogleFragment : BaseFragment<FragmentGoogleBinding>() {
|
||||
|
||||
private val viewModel: AuthViewModel by activityViewModels()
|
||||
|
||||
@@ -54,13 +54,8 @@ class GoogleFragment : Fragment(R.layout.fragment_google) {
|
||||
"(function() { return document.getElementById('profileIdentifier').innerHTML; })();"
|
||||
}
|
||||
|
||||
private var _binding: FragmentGoogleBinding? = null
|
||||
private val binding: FragmentGoogleBinding
|
||||
get() = _binding!!
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentGoogleBinding.bind(view)
|
||||
|
||||
val cookieManager = CookieManager.getInstance()
|
||||
|
||||
@@ -119,11 +114,6 @@ class GoogleFragment : Fragment(R.layout.fragment_google) {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun onEventReceived(event: BusEvent) {
|
||||
when (event) {
|
||||
is BusEvent.GoogleAAS -> {
|
||||
|
||||
@@ -30,24 +30,19 @@ import androidx.viewpager2.adapter.FragmentStateAdapter
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import com.aurora.store.databinding.ActivityGenericPagerBinding
|
||||
import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import com.google.android.material.tabs.TabLayout
|
||||
import com.google.android.material.tabs.TabLayoutMediator
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import javax.inject.Inject
|
||||
|
||||
@AndroidEntryPoint
|
||||
class AppsGamesFragment : Fragment(R.layout.activity_generic_pager) {
|
||||
|
||||
private var _binding: ActivityGenericPagerBinding? = null
|
||||
private val binding: ActivityGenericPagerBinding
|
||||
get() = _binding!!
|
||||
|
||||
class AppsGamesFragment : BaseFragment<ActivityGenericPagerBinding>() {
|
||||
@Inject
|
||||
lateinit var authProvider: AuthProvider
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = ActivityGenericPagerBinding.bind(view)
|
||||
|
||||
// Toolbar
|
||||
binding.layoutActionToolbar.toolbar.apply {
|
||||
@@ -77,11 +72,6 @@ class AppsGamesFragment : Fragment(R.layout.activity_generic_pager) {
|
||||
}.attach()
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
internal class ViewPagerAdapter(
|
||||
fragment: FragmentManager,
|
||||
lifecycle: Lifecycle,
|
||||
|
||||
@@ -26,7 +26,6 @@ import androidx.fragment.app.activityViewModels
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.AuroraApp
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.data.event.BusEvent
|
||||
import com.aurora.store.databinding.FragmentAppsBinding
|
||||
import com.aurora.store.view.epoxy.views.HeaderViewModel_
|
||||
@@ -38,14 +37,9 @@ import dagger.hilt.android.AndroidEntryPoint
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
@AndroidEntryPoint
|
||||
class InstalledAppsFragment : BaseFragment(R.layout.fragment_apps) {
|
||||
class InstalledAppsFragment : BaseFragment<FragmentAppsBinding>() {
|
||||
|
||||
private val TAG = InstalledAppsFragment::class.java.simpleName
|
||||
|
||||
private var _binding: FragmentAppsBinding? = null
|
||||
private val binding: FragmentAppsBinding
|
||||
get() = _binding!!
|
||||
|
||||
private val viewModel: InstalledViewModel by activityViewModels()
|
||||
|
||||
companion object {
|
||||
@@ -71,7 +65,6 @@ class InstalledAppsFragment : BaseFragment(R.layout.fragment_apps) {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentAppsBinding.bind(view)
|
||||
|
||||
viewLifecycleOwner.lifecycleScope.launch {
|
||||
viewModel.installedApps.collect {
|
||||
@@ -84,11 +77,6 @@ class InstalledAppsFragment : BaseFragment(R.layout.fragment_apps) {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateController(appList: List<App>?) {
|
||||
binding.recycler.withModels {
|
||||
setFilterDuplicates(true)
|
||||
|
||||
@@ -35,12 +35,7 @@ import com.aurora.store.viewmodel.all.LibraryAppsViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class LibraryAppsFragment : BaseFragment(R.layout.fragment_apps) {
|
||||
|
||||
private var _binding: FragmentAppsBinding? = null
|
||||
private val binding: FragmentAppsBinding
|
||||
get() = _binding!!
|
||||
|
||||
class LibraryAppsFragment : BaseFragment<FragmentAppsBinding>() {
|
||||
private val viewModel: LibraryAppsViewModel by viewModels()
|
||||
|
||||
companion object {
|
||||
@@ -54,7 +49,6 @@ class LibraryAppsFragment : BaseFragment(R.layout.fragment_apps) {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentAppsBinding.bind(view)
|
||||
|
||||
val endlessRecyclerOnScrollListener = object : EndlessRecyclerOnScrollListener() {
|
||||
override fun onLoadMore(currentPage: Int) {
|
||||
@@ -70,11 +64,6 @@ class LibraryAppsFragment : BaseFragment(R.layout.fragment_apps) {
|
||||
updateController(null)
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateController(streamCluster: StreamCluster?) {
|
||||
binding.recycler.withModels {
|
||||
setFilterDuplicates(true)
|
||||
|
||||
@@ -34,12 +34,7 @@ import com.aurora.store.viewmodel.all.PurchasedViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class PurchasedAppsFragment : BaseFragment(R.layout.fragment_apps) {
|
||||
|
||||
private var _binding: FragmentAppsBinding? = null
|
||||
private val binding: FragmentAppsBinding
|
||||
get() = _binding!!
|
||||
|
||||
class PurchasedAppsFragment : BaseFragment<FragmentAppsBinding>() {
|
||||
private val viewModel: PurchasedViewModel by viewModels()
|
||||
|
||||
companion object {
|
||||
@@ -51,7 +46,6 @@ class PurchasedAppsFragment : BaseFragment(R.layout.fragment_apps) {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentAppsBinding.bind(view)
|
||||
|
||||
val endlessRecyclerOnScrollListener = object : EndlessRecyclerOnScrollListener(8) {
|
||||
override fun onLoadMore(currentPage: Int) {
|
||||
@@ -68,12 +62,6 @@ class PurchasedAppsFragment : BaseFragment(R.layout.fragment_apps) {
|
||||
updateController(null)
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
|
||||
private fun updateController(paginatedAppList: PaginatedAppList?) {
|
||||
binding.recycler.withModels {
|
||||
setFilterDuplicates(true)
|
||||
@@ -98,7 +86,7 @@ class PurchasedAppsFragment : BaseFragment(R.layout.fragment_apps) {
|
||||
)
|
||||
}
|
||||
|
||||
if (paginatedAppList.hasMore){
|
||||
if (paginatedAppList.hasMore) {
|
||||
add(
|
||||
AppProgressViewModel_()
|
||||
.id("progress")
|
||||
|
||||
@@ -31,6 +31,7 @@ import com.aurora.store.R
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import com.aurora.store.databinding.FragmentAppsGamesBinding
|
||||
import com.aurora.store.util.Preferences
|
||||
import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import com.aurora.store.view.ui.commons.CategoryFragment
|
||||
import com.aurora.store.view.ui.commons.EditorChoiceFragment
|
||||
import com.aurora.store.view.ui.commons.ForYouFragment
|
||||
@@ -41,17 +42,13 @@ import dagger.hilt.android.AndroidEntryPoint
|
||||
import javax.inject.Inject
|
||||
|
||||
@AndroidEntryPoint
|
||||
class AppsContainerFragment : Fragment(R.layout.fragment_apps_games) {
|
||||
|
||||
private var _binding: FragmentAppsGamesBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
class AppsContainerFragment : BaseFragment<FragmentAppsGamesBinding>() {
|
||||
|
||||
@Inject
|
||||
lateinit var authProvider: AuthProvider
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentAppsGamesBinding.bind(view)
|
||||
|
||||
// Toolbar
|
||||
binding.toolbar.apply {
|
||||
@@ -61,6 +58,7 @@ class AppsContainerFragment : Fragment(R.layout.fragment_apps_games) {
|
||||
R.id.menu_download_manager -> {
|
||||
findNavController().navigate(R.id.downloadFragment)
|
||||
}
|
||||
|
||||
R.id.menu_more -> {
|
||||
findNavController().navigate(
|
||||
MobileNavigationDirections.actionGlobalMoreDialogFragment()
|
||||
@@ -114,9 +112,8 @@ class AppsContainerFragment : Fragment(R.layout.fragment_apps_games) {
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
binding.pager.adapter = null
|
||||
_binding = null
|
||||
super.onDestroyView()
|
||||
}
|
||||
|
||||
internal class ViewPagerAdapter(
|
||||
|
||||
@@ -19,24 +19,49 @@
|
||||
|
||||
package com.aurora.store.view.ui.commons
|
||||
|
||||
import androidx.annotation.LayoutRes
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.viewbinding.ViewBinding
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.gplayapi.data.models.Category
|
||||
import com.aurora.store.MobileNavigationDirections
|
||||
import com.google.gson.Gson
|
||||
import java.lang.reflect.ParameterizedType
|
||||
import javax.inject.Inject
|
||||
|
||||
abstract class BaseFragment : Fragment {
|
||||
|
||||
constructor(): super()
|
||||
|
||||
constructor(@LayoutRes contentLayoutId: Int) : super(contentLayoutId)
|
||||
|
||||
abstract class BaseFragment<ViewBindingType : ViewBinding> : Fragment() {
|
||||
@Inject
|
||||
lateinit var gson: Gson
|
||||
|
||||
private var _binding: ViewBindingType? = null
|
||||
protected val binding get() = _binding!!
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater, container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View? {
|
||||
val type =
|
||||
(javaClass.genericSuperclass as ParameterizedType).actualTypeArguments[0] as Class<ViewBindingType>
|
||||
val method = type.getMethod(
|
||||
"inflate",
|
||||
LayoutInflater::class.java,
|
||||
ViewGroup::class.java,
|
||||
Boolean::class.java
|
||||
)
|
||||
_binding = method.invoke(null, inflater, container, false) as ViewBindingType
|
||||
|
||||
return binding.root
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
_binding = null
|
||||
super.onDestroyView()
|
||||
}
|
||||
|
||||
fun openDetailsFragment(packageName: String, app: App? = null) {
|
||||
findNavController().navigate(
|
||||
MobileNavigationDirections.actionGlobalAppDetailsFragment(packageName, app)
|
||||
|
||||
@@ -21,7 +21,6 @@ package com.aurora.store.view.ui.commons
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.fragment.findNavController
|
||||
@@ -36,12 +35,7 @@ import dagger.hilt.android.AndroidEntryPoint
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
@AndroidEntryPoint
|
||||
class BlacklistFragment : Fragment(R.layout.activity_generic_recycler) {
|
||||
|
||||
private var _binding: ActivityGenericRecyclerBinding? = null
|
||||
private val binding: ActivityGenericRecyclerBinding
|
||||
get() = _binding!!
|
||||
|
||||
class BlacklistFragment : BaseFragment<ActivityGenericRecyclerBinding>() {
|
||||
private val viewModel: BlacklistViewModel by activityViewModels()
|
||||
|
||||
private lateinit var blacklistProvider: BlacklistProvider
|
||||
@@ -49,7 +43,6 @@ class BlacklistFragment : Fragment(R.layout.activity_generic_recycler) {
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
_binding = ActivityGenericRecyclerBinding.bind(view)
|
||||
blacklistProvider = BlacklistProvider.with(requireContext())
|
||||
|
||||
viewLifecycleOwner.lifecycleScope.launch {
|
||||
@@ -70,11 +63,6 @@ class BlacklistFragment : Fragment(R.layout.activity_generic_recycler) {
|
||||
blacklistProvider.save(viewModel.selected)
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateController(blackList: List<App>?) {
|
||||
binding.recycler.withModels {
|
||||
setFilterDuplicates(true)
|
||||
|
||||
@@ -28,7 +28,6 @@ import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.gplayapi.data.models.StreamBundle
|
||||
import com.aurora.gplayapi.data.models.StreamCluster
|
||||
import com.aurora.gplayapi.helpers.contracts.StreamContract
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.data.model.ViewState
|
||||
import com.aurora.store.data.model.ViewState.Loading.getDataAs
|
||||
import com.aurora.store.databinding.ActivityGenericRecyclerBinding
|
||||
@@ -39,13 +38,8 @@ import com.aurora.store.viewmodel.subcategory.SubCategoryClusterViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class CategoryBrowseFragment : BaseFragment(R.layout.activity_generic_recycler),
|
||||
class CategoryBrowseFragment : BaseFragment<ActivityGenericRecyclerBinding>(),
|
||||
GenericCarouselController.Callbacks {
|
||||
|
||||
private var _binding: ActivityGenericRecyclerBinding? = null
|
||||
private val binding: ActivityGenericRecyclerBinding
|
||||
get() = _binding!!
|
||||
|
||||
private val args: CategoryBrowseFragmentArgs by navArgs()
|
||||
private val viewModel: SubCategoryClusterViewModel by activityViewModels()
|
||||
|
||||
@@ -55,8 +49,6 @@ class CategoryBrowseFragment : BaseFragment(R.layout.activity_generic_recycler),
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
_binding = ActivityGenericRecyclerBinding.bind(view)
|
||||
|
||||
val rawCategory = args.browseUrl.split("/").last()
|
||||
category = StreamContract.Category.NONE.apply { value = rawCategory }
|
||||
|
||||
@@ -96,11 +88,6 @@ class CategoryBrowseFragment : BaseFragment(R.layout.activity_generic_recycler),
|
||||
viewModel.observe(category)
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
override fun onHeaderClicked(streamCluster: StreamCluster) {
|
||||
|
||||
}
|
||||
|
||||
@@ -25,7 +25,6 @@ import androidx.fragment.app.viewModels
|
||||
import com.aurora.Constants
|
||||
import com.aurora.gplayapi.data.models.Category
|
||||
import com.aurora.store.CategoryStash
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.data.model.ViewState
|
||||
import com.aurora.store.data.model.ViewState.Empty.getDataAs
|
||||
import com.aurora.store.databinding.FragmentGenericRecyclerBinding
|
||||
@@ -35,11 +34,7 @@ import com.aurora.store.viewmodel.category.CategoryViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class CategoryFragment : BaseFragment(R.layout.fragment_generic_recycler) {
|
||||
|
||||
private var _binding: FragmentGenericRecyclerBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
|
||||
class CategoryFragment : BaseFragment<FragmentGenericRecyclerBinding>() {
|
||||
private val viewModel: CategoryViewModel by viewModels()
|
||||
|
||||
companion object {
|
||||
@@ -55,7 +50,6 @@ class CategoryFragment : BaseFragment(R.layout.fragment_generic_recycler) {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentGenericRecyclerBinding.bind(view)
|
||||
|
||||
var pageType = 0
|
||||
val bundle = arguments
|
||||
@@ -109,9 +103,4 @@ class CategoryFragment : BaseFragment(R.layout.fragment_generic_recycler) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,19 +25,14 @@ import androidx.fragment.app.viewModels
|
||||
import com.aurora.Constants
|
||||
import com.aurora.gplayapi.data.models.editor.EditorChoiceCluster
|
||||
import com.aurora.gplayapi.helpers.contracts.StreamContract
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.FragmentForYouBinding
|
||||
import com.aurora.store.view.epoxy.controller.EditorChoiceController
|
||||
import com.aurora.store.viewmodel.editorschoice.EditorChoiceViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class EditorChoiceFragment : BaseFragment(R.layout.fragment_for_you),
|
||||
class EditorChoiceFragment : BaseFragment<FragmentForYouBinding>(),
|
||||
EditorChoiceController.Callbacks {
|
||||
|
||||
private var _binding: FragmentForYouBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
|
||||
private val viewModel: EditorChoiceViewModel by viewModels()
|
||||
|
||||
companion object {
|
||||
@@ -53,7 +48,6 @@ class EditorChoiceFragment : BaseFragment(R.layout.fragment_for_you),
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentForYouBinding.bind(view)
|
||||
|
||||
var pageType = 0
|
||||
val bundle = arguments
|
||||
@@ -74,11 +68,6 @@ class EditorChoiceFragment : BaseFragment(R.layout.fragment_for_you),
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
override fun onClick(editorChoiceCluster: EditorChoiceCluster) {
|
||||
openEditorStreamBrowseFragment(
|
||||
editorChoiceCluster.clusterBrowseUrl,
|
||||
|
||||
@@ -26,7 +26,6 @@ import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import com.airbnb.epoxy.EpoxyModel
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.ActivityGenericRecyclerBinding
|
||||
import com.aurora.store.view.epoxy.groups.CarouselHorizontalModel_
|
||||
import com.aurora.store.view.epoxy.views.EditorHeadViewModel_
|
||||
@@ -39,20 +38,13 @@ import com.aurora.store.viewmodel.editorschoice.EditorBrowseViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class EditorStreamBrowseFragment : BaseFragment(R.layout.activity_generic_recycler) {
|
||||
|
||||
private var _binding: ActivityGenericRecyclerBinding? = null
|
||||
private val binding: ActivityGenericRecyclerBinding
|
||||
get() = _binding!!
|
||||
|
||||
class EditorStreamBrowseFragment : BaseFragment<ActivityGenericRecyclerBinding>() {
|
||||
private val args: EditorStreamBrowseFragmentArgs by navArgs()
|
||||
private val viewModel: EditorBrowseViewModel by viewModels()
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
_binding = ActivityGenericRecyclerBinding.bind(view)
|
||||
|
||||
// Toolbar
|
||||
binding.layoutToolbarAction.apply {
|
||||
txtTitle.text = args.title
|
||||
@@ -69,11 +61,6 @@ class EditorStreamBrowseFragment : BaseFragment(R.layout.activity_generic_recycl
|
||||
updateController(null)
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateController(appList: MutableList<App>?) {
|
||||
binding.recycler.withModels {
|
||||
setFilterDuplicates(true)
|
||||
|
||||
@@ -26,7 +26,6 @@ import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import com.airbnb.epoxy.EpoxyModel
|
||||
import com.aurora.gplayapi.data.models.StreamCluster
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.ActivityGenericRecyclerBinding
|
||||
import com.aurora.store.view.custom.recycler.EndlessRecyclerOnScrollListener
|
||||
import com.aurora.store.view.epoxy.groups.CarouselHorizontalModel_
|
||||
@@ -39,12 +38,7 @@ import com.aurora.store.viewmodel.browse.ExpandedStreamBrowseViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class ExpandedStreamBrowseFragment : BaseFragment(R.layout.activity_generic_recycler) {
|
||||
|
||||
private var _binding: ActivityGenericRecyclerBinding? = null
|
||||
private val binding: ActivityGenericRecyclerBinding
|
||||
get() = _binding!!
|
||||
|
||||
class ExpandedStreamBrowseFragment : BaseFragment<ActivityGenericRecyclerBinding>() {
|
||||
private val args: ExpandedStreamBrowseFragmentArgs by navArgs()
|
||||
private val viewModel: ExpandedStreamBrowseViewModel by viewModels()
|
||||
|
||||
@@ -53,7 +47,6 @@ class ExpandedStreamBrowseFragment : BaseFragment(R.layout.activity_generic_recy
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = ActivityGenericRecyclerBinding.bind(view)
|
||||
|
||||
// Toolbar
|
||||
binding.layoutToolbarAction.apply {
|
||||
@@ -75,11 +68,6 @@ class ExpandedStreamBrowseFragment : BaseFragment(R.layout.activity_generic_recy
|
||||
updateController(null)
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateTitle(streamCluster: StreamCluster) {
|
||||
if (streamCluster.clusterTitle.isNotEmpty())
|
||||
binding.layoutToolbarAction.txtTitle.text = streamCluster.clusterTitle
|
||||
|
||||
@@ -39,12 +39,7 @@ import kotlinx.coroutines.launch
|
||||
import java.util.Calendar
|
||||
|
||||
@AndroidEntryPoint
|
||||
class FavouriteFragment : BaseFragment(R.layout.fragment_favourite) {
|
||||
|
||||
private var _binding: FragmentFavouriteBinding? = null
|
||||
private val binding: FragmentFavouriteBinding
|
||||
get() = _binding!!
|
||||
|
||||
class FavouriteFragment : BaseFragment<FragmentFavouriteBinding>() {
|
||||
private val viewModel: FavouriteViewModel by viewModels()
|
||||
|
||||
private val mimeType = "application/json"
|
||||
@@ -60,8 +55,6 @@ class FavouriteFragment : BaseFragment(R.layout.fragment_favourite) {
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
_binding = FragmentFavouriteBinding.bind(view)
|
||||
|
||||
viewLifecycleOwner.lifecycleScope.launch {
|
||||
viewModel.favouritesList.collect {
|
||||
updateController(it)
|
||||
@@ -87,11 +80,6 @@ class FavouriteFragment : BaseFragment(R.layout.fragment_favourite) {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateController(favourites: List<Favourite>?) {
|
||||
binding.recycler.withModels {
|
||||
setFilterDuplicates(true)
|
||||
|
||||
@@ -29,7 +29,6 @@ import com.aurora.gplayapi.data.models.StreamCluster
|
||||
import com.aurora.gplayapi.helpers.contracts.StreamContract.Category
|
||||
import com.aurora.gplayapi.helpers.contracts.StreamContract.Type
|
||||
import com.aurora.store.HomeStash
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.data.model.ViewState
|
||||
import com.aurora.store.data.model.ViewState.Loading.getDataAs
|
||||
import com.aurora.store.databinding.FragmentForYouBinding
|
||||
@@ -39,12 +38,8 @@ import com.aurora.store.viewmodel.homestream.StreamViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class ForYouFragment : BaseFragment(R.layout.fragment_for_you),
|
||||
class ForYouFragment : BaseFragment<FragmentForYouBinding>(),
|
||||
GenericCarouselController.Callbacks {
|
||||
|
||||
private var _binding: FragmentForYouBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
|
||||
private val viewModel: StreamViewModel by activityViewModels()
|
||||
|
||||
private var category: Category = Category.APPLICATION
|
||||
@@ -63,7 +58,6 @@ class ForYouFragment : BaseFragment(R.layout.fragment_for_you),
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentForYouBinding.bind(view)
|
||||
|
||||
val genericCarouselController = GenericCarouselController(this)
|
||||
|
||||
@@ -112,11 +106,6 @@ class ForYouFragment : BaseFragment(R.layout.fragment_for_you),
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
override fun onHeaderClicked(streamCluster: StreamCluster) {
|
||||
|
||||
}
|
||||
|
||||
@@ -25,7 +25,6 @@ import androidx.fragment.app.viewModels
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import com.aurora.gplayapi.data.models.StreamCluster
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.ActivityGenericRecyclerBinding
|
||||
import com.aurora.store.view.custom.recycler.EndlessRecyclerOnScrollListener
|
||||
import com.aurora.store.view.epoxy.views.AppProgressViewModel_
|
||||
@@ -35,12 +34,7 @@ import com.aurora.store.viewmodel.browse.StreamBrowseViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class StreamBrowseFragment : BaseFragment(R.layout.activity_generic_recycler) {
|
||||
|
||||
private var _binding: ActivityGenericRecyclerBinding? = null
|
||||
private val binding: ActivityGenericRecyclerBinding
|
||||
get() = _binding!!
|
||||
|
||||
class StreamBrowseFragment : BaseFragment<ActivityGenericRecyclerBinding>() {
|
||||
private val args: StreamBrowseFragmentArgs by navArgs()
|
||||
private val viewModel: StreamBrowseViewModel by viewModels()
|
||||
|
||||
@@ -49,7 +43,6 @@ class StreamBrowseFragment : BaseFragment(R.layout.activity_generic_recycler) {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = ActivityGenericRecyclerBinding.bind(view)
|
||||
|
||||
// Toolbar
|
||||
binding.layoutToolbarAction.apply {
|
||||
@@ -79,11 +72,6 @@ class StreamBrowseFragment : BaseFragment(R.layout.activity_generic_recycler) {
|
||||
updateController(null)
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateController(streamCluster: StreamCluster?) {
|
||||
binding.recycler.withModels {
|
||||
setFilterDuplicates(true)
|
||||
|
||||
@@ -32,11 +32,7 @@ import com.aurora.store.databinding.FragmentTopChartBinding
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class TopChartContainerFragment : Fragment(R.layout.fragment_top_chart) {
|
||||
|
||||
private var _binding: FragmentTopChartBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
|
||||
class TopChartContainerFragment : BaseFragment<FragmentTopChartBinding>() {
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun newInstance(chartType: Int): TopChartContainerFragment {
|
||||
@@ -50,7 +46,6 @@ class TopChartContainerFragment : Fragment(R.layout.fragment_top_chart) {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentTopChartBinding.bind(view)
|
||||
|
||||
var chartType = 0
|
||||
val bundle = arguments
|
||||
@@ -84,9 +79,8 @@ class TopChartContainerFragment : Fragment(R.layout.fragment_top_chart) {
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
binding.pager.adapter = null
|
||||
_binding = null
|
||||
super.onDestroyView()
|
||||
}
|
||||
|
||||
internal class ViewPagerAdapter(
|
||||
|
||||
@@ -39,10 +39,7 @@ import com.aurora.store.viewmodel.topchart.TopChartViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class TopChartFragment : BaseFragment(R.layout.fragment_top_container) {
|
||||
|
||||
private var _binding: FragmentTopContainerBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
class TopChartFragment : BaseFragment<FragmentTopContainerBinding>() {
|
||||
|
||||
private val viewModel: TopChartViewModel by activityViewModels()
|
||||
|
||||
@@ -62,7 +59,6 @@ class TopChartFragment : BaseFragment(R.layout.fragment_top_container) {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentTopContainerBinding.bind(view)
|
||||
|
||||
var type = 0
|
||||
var category = 0
|
||||
@@ -112,11 +108,6 @@ class TopChartFragment : BaseFragment(R.layout.fragment_top_container) {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateController(streamCluster: StreamCluster?) {
|
||||
binding.recycler.withModels {
|
||||
setFilterDuplicates(true)
|
||||
|
||||
@@ -96,11 +96,7 @@ import java.util.Locale
|
||||
import javax.inject.Inject
|
||||
|
||||
@AndroidEntryPoint
|
||||
class AppDetailsFragment : BaseFragment(R.layout.fragment_details) {
|
||||
|
||||
private var _binding: FragmentDetailsBinding? = null
|
||||
private val binding: FragmentDetailsBinding
|
||||
get() = _binding!!
|
||||
class AppDetailsFragment : BaseFragment<FragmentDetailsBinding>() {
|
||||
|
||||
private val viewModel: AppDetailsViewModel by viewModels()
|
||||
private val detailsClusterViewModel: DetailsClusterViewModel by viewModels()
|
||||
@@ -190,7 +186,6 @@ class AppDetailsFragment : BaseFragment(R.layout.fragment_details) {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentDetailsBinding.bind(view)
|
||||
|
||||
if (args.app != null) {
|
||||
app = args.app!!
|
||||
@@ -674,11 +669,6 @@ class AppDetailsFragment : BaseFragment(R.layout.fragment_details) {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun attachBottomSheet() {
|
||||
binding.layoutDetailsInstall.apply {
|
||||
viewFlipper.setInAnimation(requireContext(), R.anim.fade_in)
|
||||
|
||||
@@ -29,19 +29,17 @@ import com.aurora.extensions.browse
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.data.model.ExodusTracker
|
||||
import com.aurora.store.data.model.Report
|
||||
import com.aurora.store.databinding.ActivityGenericPagerBinding
|
||||
import com.aurora.store.databinding.ActivityGenericRecyclerBinding
|
||||
import com.aurora.store.view.epoxy.views.HeaderViewModel_
|
||||
import com.aurora.store.view.epoxy.views.details.ExodusViewModel_
|
||||
import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import org.json.JSONObject
|
||||
import javax.inject.Inject
|
||||
|
||||
@AndroidEntryPoint
|
||||
class DetailsExodusFragment : Fragment(R.layout.activity_generic_recycler) {
|
||||
|
||||
private var _binding: ActivityGenericRecyclerBinding? = null
|
||||
private val binding: ActivityGenericRecyclerBinding
|
||||
get() = _binding!!
|
||||
class DetailsExodusFragment : BaseFragment<ActivityGenericRecyclerBinding>() {
|
||||
|
||||
private val args: DetailsExodusFragmentArgs by navArgs()
|
||||
|
||||
@@ -50,7 +48,6 @@ class DetailsExodusFragment : Fragment(R.layout.activity_generic_recycler) {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = ActivityGenericRecyclerBinding.bind(view)
|
||||
|
||||
// Toolbar
|
||||
binding.layoutToolbarAction.apply {
|
||||
@@ -63,11 +60,6 @@ class DetailsExodusFragment : Fragment(R.layout.activity_generic_recycler) {
|
||||
updateController(getExodusTrackersFromReport(args.report))
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateController(reviews: List<ExodusTracker>) {
|
||||
binding.recycler.withModels {
|
||||
add(
|
||||
|
||||
@@ -41,18 +41,13 @@ import dagger.hilt.android.AndroidEntryPoint
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
@AndroidEntryPoint
|
||||
class DetailsMoreFragment : BaseFragment(R.layout.fragment_details_more) {
|
||||
|
||||
private var _binding: FragmentDetailsMoreBinding? = null
|
||||
private val binding: FragmentDetailsMoreBinding
|
||||
get() = _binding!!
|
||||
class DetailsMoreFragment : BaseFragment<FragmentDetailsMoreBinding>() {
|
||||
|
||||
private val viewModel: DetailsMoreViewModel by viewModels()
|
||||
private val args: DetailsMoreFragmentArgs by navArgs()
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentDetailsMoreBinding.bind(view)
|
||||
|
||||
// Toolbar
|
||||
binding.layoutToolbarActionMore.toolbar.setOnClickListener {
|
||||
@@ -89,11 +84,6 @@ class DetailsMoreFragment : BaseFragment(R.layout.fragment_details_more) {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun inflateDescription(app: App) {
|
||||
binding.layoutToolbarActionMore.txtTitle.text = app.displayName
|
||||
binding.txtDescription.text = HtmlCompat.fromHtml(
|
||||
|
||||
@@ -32,15 +32,12 @@ import com.aurora.store.databinding.FragmentDetailsReviewBinding
|
||||
import com.aurora.store.view.custom.recycler.EndlessRecyclerOnScrollListener
|
||||
import com.aurora.store.view.epoxy.views.AppProgressViewModel_
|
||||
import com.aurora.store.view.epoxy.views.details.ReviewViewModel_
|
||||
import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import com.aurora.store.viewmodel.review.ReviewViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class DetailsReviewFragment : Fragment(R.layout.fragment_details_review) {
|
||||
|
||||
private var _binding: FragmentDetailsReviewBinding? = null
|
||||
private val binding: FragmentDetailsReviewBinding
|
||||
get() = _binding!!
|
||||
class DetailsReviewFragment : BaseFragment<FragmentDetailsReviewBinding>() {
|
||||
|
||||
private val args: DetailsReviewFragmentArgs by navArgs()
|
||||
private val viewModel: ReviewViewModel by viewModels()
|
||||
@@ -51,7 +48,6 @@ class DetailsReviewFragment : Fragment(R.layout.fragment_details_review) {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentDetailsReviewBinding.bind(view)
|
||||
|
||||
// Toolbar
|
||||
binding.layoutToolbarActionReview.apply {
|
||||
@@ -101,11 +97,6 @@ class DetailsReviewFragment : Fragment(R.layout.fragment_details_review) {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateController(reviewCluster: ReviewCluster) {
|
||||
binding.recycler.withModels {
|
||||
setFilterDuplicates(true)
|
||||
|
||||
@@ -35,18 +35,13 @@ import com.aurora.store.viewmodel.search.SearchResultViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class DevAppsFragment : BaseFragment(R.layout.activity_generic_recycler) {
|
||||
|
||||
private var _binding: ActivityGenericRecyclerBinding? = null
|
||||
private val binding: ActivityGenericRecyclerBinding
|
||||
get() = _binding!!
|
||||
class DevAppsFragment : BaseFragment<ActivityGenericRecyclerBinding>() {
|
||||
|
||||
private val args: DevAppsFragmentArgs by navArgs()
|
||||
private val viewModel: SearchResultViewModel by viewModels()
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = ActivityGenericRecyclerBinding.bind(view)
|
||||
|
||||
viewModel.liveData.observe(viewLifecycleOwner) {
|
||||
updateController(it)
|
||||
@@ -71,11 +66,6 @@ class DevAppsFragment : BaseFragment(R.layout.activity_generic_recycler) {
|
||||
viewModel.observeSearchResults("pub:${args.developerName}")
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateController(searchBundle: SearchBundle) {
|
||||
binding.recycler
|
||||
.withModels {
|
||||
|
||||
@@ -38,19 +38,14 @@ import com.aurora.store.viewmodel.details.DevProfileViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class DevProfileFragment : BaseFragment(R.layout.fragment_dev_profile),
|
||||
class DevProfileFragment : BaseFragment<FragmentDevProfileBinding>(),
|
||||
GenericCarouselController.Callbacks {
|
||||
|
||||
private var _binding: FragmentDevProfileBinding? = null
|
||||
private val binding: FragmentDevProfileBinding
|
||||
get() = _binding!!
|
||||
|
||||
private val args: DevProfileFragmentArgs by navArgs()
|
||||
private val viewModel: DevProfileViewModel by viewModels()
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentDevProfileBinding.bind(view)
|
||||
|
||||
val developerCarouselController = DeveloperCarouselController(this)
|
||||
|
||||
@@ -98,11 +93,6 @@ class DevProfileFragment : BaseFragment(R.layout.fragment_dev_profile),
|
||||
viewModel.getStreamBundle(args.devId)
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
override fun onHeaderClicked(streamCluster: StreamCluster) {
|
||||
openStreamBrowseFragment(streamCluster.clusterBrowseUrl, streamCluster.clusterTitle)
|
||||
}
|
||||
|
||||
@@ -32,20 +32,16 @@ import com.aurora.gplayapi.data.models.Artwork
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.FragmentScreenshotBinding
|
||||
import com.aurora.store.view.epoxy.views.details.LargeScreenshotViewModel_
|
||||
import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class ScreenshotFragment : Fragment(R.layout.fragment_screenshot) {
|
||||
|
||||
private var _binding: FragmentScreenshotBinding? = null
|
||||
private val binding: FragmentScreenshotBinding
|
||||
get() = _binding!!
|
||||
class ScreenshotFragment : BaseFragment<FragmentScreenshotBinding>() {
|
||||
|
||||
private val args: ScreenshotFragmentArgs by navArgs()
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentScreenshotBinding.bind(view)
|
||||
|
||||
// Toolbar
|
||||
binding.toolbar.apply {
|
||||
@@ -63,11 +59,6 @@ class ScreenshotFragment : Fragment(R.layout.fragment_screenshot) {
|
||||
updateController(args.arrayOfArtwork, args.position)
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateController(artworks: Array<Artwork>, position: Int) {
|
||||
binding.recyclerView.withModels {
|
||||
artworks.forEach {
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.aurora.store.view.ui.dispenser
|
||||
import android.content.SharedPreferences
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import com.aurora.extensions.copyToClipBoard
|
||||
import com.aurora.store.R
|
||||
@@ -11,15 +10,13 @@ import com.aurora.store.databinding.FragmentDispenserBinding
|
||||
import com.aurora.store.util.Preferences
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_DISPENSER_URLS
|
||||
import com.aurora.store.view.epoxy.views.DispenserViewModel_
|
||||
import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class DispenserFragment : Fragment(R.layout.fragment_dispenser),
|
||||
class DispenserFragment : BaseFragment<FragmentDispenserBinding>(),
|
||||
SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
|
||||
private var _binding: FragmentDispenserBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
|
||||
private val dispensers: Set<String>
|
||||
get() = Preferences.getStringSet(requireContext(), PREFERENCE_DISPENSER_URLS)
|
||||
|
||||
@@ -27,7 +24,6 @@ class DispenserFragment : Fragment(R.layout.fragment_dispenser),
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentDispenserBinding.bind(view)
|
||||
|
||||
sharedPreferences = Preferences.getPrefs(view.context)
|
||||
sharedPreferences.registerOnSharedPreferenceChangeListener(this)
|
||||
@@ -40,9 +36,8 @@ class DispenserFragment : Fragment(R.layout.fragment_dispenser),
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
sharedPreferences.unregisterOnSharedPreferenceChangeListener(this)
|
||||
_binding = null
|
||||
super.onDestroyView()
|
||||
}
|
||||
|
||||
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
|
||||
|
||||
@@ -41,11 +41,7 @@ import kotlinx.coroutines.launch
|
||||
import javax.inject.Inject
|
||||
|
||||
@AndroidEntryPoint
|
||||
class DownloadFragment : BaseFragment(R.layout.fragment_download) {
|
||||
|
||||
private var _binding: FragmentDownloadBinding? = null
|
||||
private val binding: FragmentDownloadBinding
|
||||
get() = _binding!!
|
||||
class DownloadFragment : BaseFragment<FragmentDownloadBinding>() {
|
||||
|
||||
@Inject
|
||||
lateinit var downloadWorkerUtil: DownloadWorkerUtil
|
||||
@@ -55,8 +51,6 @@ class DownloadFragment : BaseFragment(R.layout.fragment_download) {
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
_binding = FragmentDownloadBinding.bind(view)
|
||||
|
||||
// Toolbar
|
||||
binding.layoutToolbarAction.toolbar.apply {
|
||||
elevation = 0f
|
||||
@@ -71,11 +65,13 @@ class DownloadFragment : BaseFragment(R.layout.fragment_download) {
|
||||
downloadWorkerUtil.clearAllDownloads()
|
||||
}
|
||||
}
|
||||
|
||||
R.id.action_cancel_all -> {
|
||||
viewLifecycleOwner.lifecycleScope.launch(NonCancellable) {
|
||||
downloadWorkerUtil.cancelAll()
|
||||
}
|
||||
}
|
||||
|
||||
R.id.action_clear_completed -> {
|
||||
viewLifecycleOwner.lifecycleScope.launch(NonCancellable) {
|
||||
downloadWorkerUtil.clearFinishedDownloads()
|
||||
@@ -94,11 +90,6 @@ class DownloadFragment : BaseFragment(R.layout.fragment_download) {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateController(downloads: List<Download>) {
|
||||
binding.recycler.withModels {
|
||||
if (downloads.isEmpty()) {
|
||||
|
||||
@@ -31,6 +31,7 @@ import com.aurora.store.R
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import com.aurora.store.databinding.FragmentAppsGamesBinding
|
||||
import com.aurora.store.util.Preferences
|
||||
import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import com.aurora.store.view.ui.commons.CategoryFragment
|
||||
import com.aurora.store.view.ui.commons.EditorChoiceFragment
|
||||
import com.aurora.store.view.ui.commons.ForYouFragment
|
||||
@@ -41,17 +42,13 @@ import dagger.hilt.android.AndroidEntryPoint
|
||||
import javax.inject.Inject
|
||||
|
||||
@AndroidEntryPoint
|
||||
class GamesContainerFragment : Fragment(R.layout.fragment_apps_games) {
|
||||
|
||||
private var _binding: FragmentAppsGamesBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
class GamesContainerFragment : BaseFragment<FragmentAppsGamesBinding>() {
|
||||
|
||||
@Inject
|
||||
lateinit var authProvider: AuthProvider
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentAppsGamesBinding.bind(view)
|
||||
|
||||
// Toolbar
|
||||
binding.toolbar.apply {
|
||||
@@ -61,6 +58,7 @@ class GamesContainerFragment : Fragment(R.layout.fragment_apps_games) {
|
||||
R.id.menu_download_manager -> {
|
||||
findNavController().navigate(R.id.downloadFragment)
|
||||
}
|
||||
|
||||
R.id.menu_more -> {
|
||||
findNavController().navigate(
|
||||
MobileNavigationDirections.actionGlobalMoreDialogFragment()
|
||||
@@ -113,9 +111,8 @@ class GamesContainerFragment : Fragment(R.layout.fragment_apps_games) {
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
binding.pager.adapter = null
|
||||
_binding = null
|
||||
super.onDestroyView()
|
||||
}
|
||||
|
||||
internal class ViewPagerAdapter(
|
||||
|
||||
@@ -9,22 +9,18 @@ import android.provider.Settings.ACTION_APP_OPEN_BY_DEFAULT_SETTINGS
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.fragment.app.Fragment
|
||||
import com.aurora.extensions.isSAndAbove
|
||||
import com.aurora.extensions.toast
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.FragmentAppLinksBinding
|
||||
import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import com.google.android.material.button.MaterialButton
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class AppLinksFragment : Fragment(R.layout.fragment_app_links) {
|
||||
class AppLinksFragment : BaseFragment<FragmentAppLinksBinding>() {
|
||||
|
||||
private val TAG = AppLinksFragment::class.java.simpleName
|
||||
|
||||
private var _binding: FragmentAppLinksBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
|
||||
private val playStoreDomain = "play.google.com"
|
||||
private val marketDomain = "market.android.com"
|
||||
|
||||
@@ -41,7 +37,6 @@ class AppLinksFragment : Fragment(R.layout.fragment_app_links) {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentAppLinksBinding.bind(view)
|
||||
|
||||
buttons = mapOf(
|
||||
playStoreDomain to binding.playStoreButton,
|
||||
@@ -69,7 +64,6 @@ class AppLinksFragment : Fragment(R.layout.fragment_app_links) {
|
||||
|
||||
override fun onDestroyView() {
|
||||
buttons = emptyMap()
|
||||
_binding = null
|
||||
super.onDestroyView()
|
||||
}
|
||||
|
||||
|
||||
@@ -56,14 +56,12 @@ import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_CHECK_INTERVAL
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_EXTENDED
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_VENDING_VERSION
|
||||
import com.aurora.store.util.save
|
||||
import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import com.google.android.material.tabs.TabLayoutMediator
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class OnboardingFragment : Fragment(R.layout.fragment_onboarding) {
|
||||
|
||||
private var _binding: FragmentOnboardingBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
class OnboardingFragment : BaseFragment<FragmentOnboardingBinding>() {
|
||||
|
||||
private var lastPosition = 0
|
||||
|
||||
@@ -85,7 +83,6 @@ class OnboardingFragment : Fragment(R.layout.fragment_onboarding) {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentOnboardingBinding.bind(view)
|
||||
|
||||
val isDefaultPrefLoaded = Preferences.getBoolean(requireContext(), PREFERENCE_DEFAULT)
|
||||
if (!isDefaultPrefLoaded) {
|
||||
@@ -124,11 +121,6 @@ class OnboardingFragment : Fragment(R.layout.fragment_onboarding) {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
fun refreshButtonState() {
|
||||
binding.btnBackward.isEnabled = lastPosition != 0
|
||||
binding.btnForward.isEnabled = lastPosition != 2
|
||||
|
||||
@@ -48,10 +48,7 @@ import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class PermissionsFragment : BaseFragment(R.layout.fragment_onboarding_permissions) {
|
||||
|
||||
private var _binding: FragmentOnboardingPermissionsBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
class PermissionsFragment : BaseFragment<FragmentOnboardingPermissionsBinding>() {
|
||||
|
||||
private val startForDozeResult =
|
||||
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
|
||||
@@ -89,7 +86,6 @@ class PermissionsFragment : BaseFragment(R.layout.fragment_onboarding_permission
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentOnboardingPermissionsBinding.bind(view)
|
||||
|
||||
// RecyclerView
|
||||
val installerList = mutableListOf(
|
||||
@@ -188,11 +184,6 @@ class PermissionsFragment : BaseFragment(R.layout.fragment_onboarding_permission
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun requestDozePermission() {
|
||||
if (isMAndAbove()) {
|
||||
val intent = Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS).apply {
|
||||
|
||||
@@ -31,14 +31,10 @@ import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class WelcomeFragment : BaseFragment(R.layout.fragment_onboarding_welcome) {
|
||||
|
||||
private var _binding: FragmentOnboardingWelcomeBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
class WelcomeFragment : BaseFragment<FragmentOnboardingWelcomeBinding>() {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentOnboardingWelcomeBinding.bind(view)
|
||||
|
||||
// RecyclerView
|
||||
binding.epoxyRecycler.withModels {
|
||||
@@ -106,9 +102,4 @@ class WelcomeFragment : BaseFragment(R.layout.fragment_onboarding_welcome) {
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,10 +41,7 @@ import rikka.shizuku.Shizuku
|
||||
import rikka.sui.Sui
|
||||
|
||||
@AndroidEntryPoint
|
||||
class InstallerFragment : BaseFragment(R.layout.fragment_installer) {
|
||||
|
||||
private var _binding: FragmentInstallerBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
class InstallerFragment : BaseFragment<FragmentInstallerBinding>() {
|
||||
|
||||
private var installerId: Int = 0
|
||||
|
||||
@@ -74,7 +71,6 @@ class InstallerFragment : BaseFragment(R.layout.fragment_installer) {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentInstallerBinding.bind(view)
|
||||
|
||||
// Toolbar
|
||||
binding.toolbar.setNavigationOnClickListener { findNavController().navigateUp() }
|
||||
@@ -109,11 +105,6 @@ class InstallerFragment : BaseFragment(R.layout.fragment_installer) {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
if (isOAndAbove() && AppInstaller.hasShizukuOrSui(requireContext())) {
|
||||
Shizuku.removeBinderReceivedListener(shizukuAliveListener)
|
||||
@@ -132,6 +123,7 @@ class InstallerFragment : BaseFragment(R.layout.fragment_installer) {
|
||||
this.installerId = installerId
|
||||
save(PREFERENCE_INSTALLER_ID, installerId)
|
||||
}
|
||||
|
||||
2 -> {
|
||||
if (AppInstaller.hasRootAccess()) {
|
||||
this.installerId = installerId
|
||||
@@ -143,6 +135,7 @@ class InstallerFragment : BaseFragment(R.layout.fragment_installer) {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
3 -> {
|
||||
if (AppInstaller.hasAuroraService(requireContext())) {
|
||||
this.installerId = installerId
|
||||
@@ -154,6 +147,7 @@ class InstallerFragment : BaseFragment(R.layout.fragment_installer) {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
4 -> {
|
||||
if (AppInstaller.hasAppManager(requireContext())) {
|
||||
this.installerId = installerId
|
||||
@@ -165,6 +159,7 @@ class InstallerFragment : BaseFragment(R.layout.fragment_installer) {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
5 -> {
|
||||
if (isOAndAbove() && AppInstaller.hasShizukuOrSui(requireContext())) {
|
||||
if (shizukuAlive && AppInstaller.hasShizukuPerm()) {
|
||||
@@ -185,6 +180,7 @@ class InstallerFragment : BaseFragment(R.layout.fragment_installer) {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
else -> {
|
||||
this.installerId = installerId
|
||||
save(PREFERENCE_INSTALLER_ID, installerId)
|
||||
|
||||
@@ -37,19 +37,13 @@ import com.aurora.store.viewmodel.sale.AppSalesViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class AppSalesFragment : BaseFragment(R.layout.activity_generic_recycler) {
|
||||
|
||||
private var _binding: ActivityGenericRecyclerBinding? = null
|
||||
private val binding: ActivityGenericRecyclerBinding
|
||||
get() = _binding!!
|
||||
class AppSalesFragment : BaseFragment<ActivityGenericRecyclerBinding>() {
|
||||
|
||||
private val viewModel: AppSalesViewModel by viewModels()
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
_binding = ActivityGenericRecyclerBinding.bind(view)
|
||||
|
||||
binding.layoutToolbarAction.txtTitle.text = getString(R.string.title_apps_sale)
|
||||
binding.layoutToolbarAction.imgActionPrimary.setOnClickListener {
|
||||
findNavController().navigateUp()
|
||||
@@ -68,11 +62,6 @@ class AppSalesFragment : BaseFragment(R.layout.activity_generic_recycler) {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateController(paginatedAppList: PaginatedAppList?) {
|
||||
binding.recycler
|
||||
.withModels {
|
||||
|
||||
@@ -49,13 +49,9 @@ import com.google.android.material.textfield.TextInputEditText
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class SearchResultsFragment : BaseFragment(R.layout.fragment_search_result),
|
||||
class SearchResultsFragment : BaseFragment<FragmentSearchResultBinding>(),
|
||||
OnSharedPreferenceChangeListener {
|
||||
|
||||
private var _binding: FragmentSearchResultBinding? = null
|
||||
private val binding: FragmentSearchResultBinding
|
||||
get() = _binding!!
|
||||
|
||||
private val viewModel: SearchResultViewModel by viewModels()
|
||||
|
||||
private lateinit var searchView: TextInputEditText
|
||||
@@ -70,8 +66,6 @@ class SearchResultsFragment : BaseFragment(R.layout.fragment_search_result),
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
_binding = FragmentSearchResultBinding.bind(view)
|
||||
|
||||
sharedPreferences = Preferences.getPrefs(view.context)
|
||||
sharedPreferences.registerOnSharedPreferenceChangeListener(this)
|
||||
|
||||
@@ -132,7 +126,6 @@ class SearchResultsFragment : BaseFragment(R.layout.fragment_search_result),
|
||||
override fun onDestroyView() {
|
||||
sharedPreferences.unregisterOnSharedPreferenceChangeListener(this)
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
|
||||
@@ -26,7 +26,6 @@ import android.view.KeyEvent
|
||||
import android.view.View
|
||||
import android.view.inputmethod.EditorInfo
|
||||
import android.widget.TextView
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import com.aurora.extensions.showKeyboard
|
||||
@@ -34,16 +33,13 @@ import com.aurora.gplayapi.SearchSuggestEntry
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.FragmentSearchSuggestionBinding
|
||||
import com.aurora.store.view.epoxy.views.SearchSuggestionViewModel_
|
||||
import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import com.aurora.store.viewmodel.search.SearchSuggestionViewModel
|
||||
import com.google.android.material.textfield.TextInputEditText
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class SearchSuggestionFragment : Fragment(R.layout.fragment_search_suggestion) {
|
||||
|
||||
private var _binding: FragmentSearchSuggestionBinding? = null
|
||||
private val binding: FragmentSearchSuggestionBinding
|
||||
get() = _binding!!
|
||||
class SearchSuggestionFragment : BaseFragment<FragmentSearchSuggestionBinding>() {
|
||||
|
||||
private val viewModel: SearchSuggestionViewModel by viewModels()
|
||||
|
||||
@@ -54,8 +50,6 @@ class SearchSuggestionFragment : Fragment(R.layout.fragment_search_suggestion) {
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
_binding = FragmentSearchSuggestionBinding.bind(view)
|
||||
|
||||
// Toolbar
|
||||
binding.layoutToolbarSearch.apply {
|
||||
searchView = inputSearch
|
||||
@@ -85,11 +79,6 @@ class SearchSuggestionFragment : Fragment(R.layout.fragment_search_suggestion) {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateController(searchSuggestions: List<SearchSuggestEntry>) {
|
||||
binding.recycler.withModels {
|
||||
setFilterDuplicates(true)
|
||||
|
||||
@@ -22,7 +22,6 @@ package com.aurora.store.view.ui.splash
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import com.aurora.extensions.hide
|
||||
@@ -36,20 +35,17 @@ import com.aurora.store.util.Preferences
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_DEFAULT_SELECTED_TAB
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_INTRO
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_SCOPED_RESTART
|
||||
import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import com.aurora.store.viewmodel.auth.AuthViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class SplashFragment : Fragment(R.layout.fragment_splash) {
|
||||
|
||||
private var _binding: FragmentSplashBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
class SplashFragment : BaseFragment<FragmentSplashBinding>() {
|
||||
|
||||
private val viewModel: AuthViewModel by activityViewModels()
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentSplashBinding.bind(view)
|
||||
|
||||
if (!Preferences.getBoolean(requireContext(), PREFERENCE_INTRO)) {
|
||||
findNavController().navigate(
|
||||
@@ -166,11 +162,6 @@ class SplashFragment : Fragment(R.layout.fragment_splash) {
|
||||
viewModel.observe()
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateStatus(string: String?) {
|
||||
activity?.runOnUiThread { binding.txtStatus.text = string }
|
||||
}
|
||||
|
||||
@@ -38,11 +38,7 @@ import kotlinx.coroutines.launch
|
||||
import java.util.Properties
|
||||
|
||||
@AndroidEntryPoint
|
||||
class DeviceSpoofFragment : BaseFragment(R.layout.fragment_generic_recycler) {
|
||||
|
||||
private var _binding: FragmentGenericRecyclerBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
|
||||
class DeviceSpoofFragment : BaseFragment<FragmentGenericRecyclerBinding>() {
|
||||
private val viewModel: SpoofViewModel by viewModels()
|
||||
|
||||
private lateinit var spoofProvider: SpoofProvider
|
||||
@@ -59,7 +55,6 @@ class DeviceSpoofFragment : BaseFragment(R.layout.fragment_generic_recycler) {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentGenericRecyclerBinding.bind(view)
|
||||
|
||||
spoofProvider = SpoofProvider(requireContext())
|
||||
properties = if (spoofProvider.isDeviceSpoofEnabled()) {
|
||||
@@ -76,11 +71,6 @@ class DeviceSpoofFragment : BaseFragment(R.layout.fragment_generic_recycler) {
|
||||
viewModel.fetchAvailableDevices(view.context)
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateController(locales: List<Properties>) {
|
||||
binding.recycler.withModels {
|
||||
setFilterDuplicates(true)
|
||||
|
||||
@@ -32,13 +32,9 @@ import dagger.hilt.android.AndroidEntryPoint
|
||||
import java.util.Locale
|
||||
|
||||
@AndroidEntryPoint
|
||||
class LocaleSpoofFragment : BaseFragment(R.layout.fragment_generic_recycler) {
|
||||
class LocaleSpoofFragment : BaseFragment<FragmentGenericRecyclerBinding>() {
|
||||
|
||||
private val TAG = LocaleSpoofFragment::class.java.simpleName
|
||||
|
||||
private var _binding: FragmentGenericRecyclerBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
|
||||
private lateinit var spoofProvider: SpoofProvider
|
||||
private lateinit var locale: Locale
|
||||
|
||||
@@ -53,7 +49,6 @@ class LocaleSpoofFragment : BaseFragment(R.layout.fragment_generic_recycler) {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentGenericRecyclerBinding.bind(view)
|
||||
|
||||
spoofProvider = SpoofProvider(requireContext())
|
||||
locale = if (spoofProvider.isLocaleSpoofEnabled()) {
|
||||
@@ -69,11 +64,6 @@ class LocaleSpoofFragment : BaseFragment(R.layout.fragment_generic_recycler) {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun updateController(locales: List<Locale>) {
|
||||
binding.recycler.withModels {
|
||||
setFilterDuplicates(true)
|
||||
|
||||
@@ -36,17 +36,13 @@ import com.aurora.store.R
|
||||
import com.aurora.store.data.providers.NativeDeviceInfoProvider
|
||||
import com.aurora.store.databinding.ActivityGenericPagerBinding
|
||||
import com.aurora.store.util.PathUtil
|
||||
import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import com.google.android.material.tabs.TabLayout
|
||||
import com.google.android.material.tabs.TabLayoutMediator
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class SpoofFragment : Fragment(R.layout.activity_generic_pager) {
|
||||
|
||||
private var _binding: ActivityGenericPagerBinding? = null
|
||||
private val binding: ActivityGenericPagerBinding
|
||||
get() = _binding!!
|
||||
|
||||
class SpoofFragment : BaseFragment<ActivityGenericPagerBinding>() {
|
||||
private val TAG = SpoofFragment::class.java.simpleName
|
||||
|
||||
// Android is weird, even if export device config with proper mime type, it will refuse to open
|
||||
@@ -65,7 +61,6 @@ class SpoofFragment : Fragment(R.layout.activity_generic_pager) {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = ActivityGenericPagerBinding.bind(view)
|
||||
|
||||
// Toolbar
|
||||
binding.layoutActionToolbar.toolbar.apply {
|
||||
@@ -107,9 +102,8 @@ class SpoofFragment : Fragment(R.layout.activity_generic_pager) {
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
binding.pager.adapter = null
|
||||
_binding = null
|
||||
super.onDestroyView()
|
||||
}
|
||||
|
||||
private fun importDeviceConfig(uri: Uri) {
|
||||
|
||||
@@ -54,13 +54,10 @@ import kotlinx.coroutines.flow.combine
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
@AndroidEntryPoint
|
||||
class UpdatesFragment : BaseFragment(R.layout.fragment_updates) {
|
||||
class UpdatesFragment : BaseFragment<FragmentUpdatesBinding>() {
|
||||
|
||||
private lateinit var app: App
|
||||
|
||||
private var _binding: FragmentUpdatesBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
|
||||
private val viewModel: UpdatesViewModel by activityViewModels()
|
||||
|
||||
private val startForStorageManagerResult =
|
||||
@@ -79,7 +76,6 @@ class UpdatesFragment : BaseFragment(R.layout.fragment_updates) {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentUpdatesBinding.bind(view)
|
||||
|
||||
// Toolbar
|
||||
binding.toolbar.setOnMenuItemClickListener {
|
||||
@@ -151,11 +147,6 @@ class UpdatesFragment : BaseFragment(R.layout.fragment_updates) {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
private fun onEvent(event: BusEvent) {
|
||||
when (event) {
|
||||
is BusEvent.InstallEvent, is BusEvent.UninstallEvent -> {
|
||||
|
||||
Reference in New Issue
Block a user