Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c78393cb authored by Sayantan Roychowdhury's avatar Sayantan Roychowdhury
Browse files

use loadDataOnce in fragments

parent da8cbfea
Loading
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -67,6 +67,7 @@ import foundation.e.apps.ui.MainActivityViewModel
import foundation.e.apps.ui.PrivacyInfoViewModel
import foundation.e.apps.ui.application.model.ApplicationScreenshotsRVAdapter
import foundation.e.apps.ui.application.subFrags.ApplicationDialogFragment
import foundation.e.apps.utils.loadDataOnce
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import timber.log.Timber
@@ -146,13 +147,14 @@ class ApplicationFragment : Fragment(R.layout.fragment_application) {
        super.onViewCreated(view, savedInstanceState)
        _binding = FragmentApplicationBinding.bind(view)

        mainActivityViewModel.internetConnection.loadDataOnce(this) {
            loginViewModel.loginState.observe(viewLifecycleOwner) {
                if (it.isLoggedIn) {
                // TODO : check for network and wait if network is unavailable
                    this.authData = it.authData
                    loadData()
                }
            }
        }

        setupToolbar(view)

+7 −5
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ import foundation.e.apps.ui.AppProgressViewModel
import foundation.e.apps.ui.MainActivityViewModel
import foundation.e.apps.ui.PrivacyInfoViewModel
import foundation.e.apps.ui.application.subFrags.ApplicationDialogFragment
import foundation.e.apps.utils.loadDataOnce
import kotlinx.coroutines.launch
import javax.inject.Inject

@@ -90,14 +91,15 @@ class ApplicationListFragment :
        setupRecyclerView(view)
        observeAppListLiveData()

        mainActivityViewModel.internetConnection.loadDataOnce(this) {
            loginViewModel.loginState.observe(viewLifecycleOwner) {
                if (it.isLoggedIn) {
                // TODO : check for network and wait if network is unavailable
                    this.authData = it.authData
                    loadData()
                }
            }
        }
    }

    private fun updateToolbar(view: View) {
        binding.toolbarTitleTV.text = args.translation
+9 −4
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ package foundation.e.apps.ui.categories
import android.os.Bundle
import android.view.View
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.fragment.app.viewModels
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
@@ -29,7 +30,9 @@ import foundation.e.apps.R
import foundation.e.apps.data.fused.utils.CategoryType
import foundation.e.apps.databinding.FragmentAppsBinding
import foundation.e.apps.presentation.login.LoginViewModel
import foundation.e.apps.ui.MainActivityViewModel
import foundation.e.apps.ui.categories.model.CategoriesRVAdapter
import foundation.e.apps.utils.loadDataOnce

@AndroidEntryPoint
class AppsFragment : Fragment(R.layout.fragment_apps) {
@@ -37,6 +40,7 @@ class AppsFragment : Fragment(R.layout.fragment_apps) {
    private val binding get() = _binding!!

    private val categoriesViewModel: CategoriesViewModel by viewModels()
    private val mainActivityViewModel: MainActivityViewModel by activityViewModels()

    private val loginViewModel: LoginViewModel by lazy {
        ViewModelProvider(requireActivity())[LoginViewModel::class.java]
@@ -46,12 +50,13 @@ class AppsFragment : Fragment(R.layout.fragment_apps) {
        super.onViewCreated(view, savedInstanceState)
        _binding = FragmentAppsBinding.bind(view)

        mainActivityViewModel.internetConnection.loadDataOnce(this) {
            loginViewModel.loginState.observe(viewLifecycleOwner) {
                if (it.isLoggedIn) {
                // TODO : check for network and wait if network is unavailable
                    loadData()
                }
            }
        }

        val categoriesRVAdapter = CategoriesRVAdapter()
        val recyclerView = binding.recyclerView
+9 −4
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ package foundation.e.apps.ui.categories
import android.os.Bundle
import android.view.View
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.fragment.app.viewModels
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
@@ -29,7 +30,9 @@ import foundation.e.apps.R
import foundation.e.apps.data.fused.utils.CategoryType
import foundation.e.apps.databinding.FragmentGamesBinding
import foundation.e.apps.presentation.login.LoginViewModel
import foundation.e.apps.ui.MainActivityViewModel
import foundation.e.apps.ui.categories.model.CategoriesRVAdapter
import foundation.e.apps.utils.loadDataOnce

@AndroidEntryPoint
class GamesFragment : Fragment(R.layout.fragment_games) {
@@ -37,6 +40,7 @@ class GamesFragment : Fragment(R.layout.fragment_games) {
    private val binding get() = _binding!!

    private val categoriesViewModel: CategoriesViewModel by viewModels()
    private val mainActivityViewModel: MainActivityViewModel by activityViewModels()

    private val loginViewModel: LoginViewModel by lazy {
        ViewModelProvider(requireActivity())[LoginViewModel::class.java]
@@ -46,12 +50,13 @@ class GamesFragment : Fragment(R.layout.fragment_games) {
        super.onViewCreated(view, savedInstanceState)
        _binding = FragmentGamesBinding.bind(view)

        mainActivityViewModel.internetConnection.loadDataOnce(this) {
            loginViewModel.loginState.observe(viewLifecycleOwner) {
                if (it.isLoggedIn) {
                // TODO : check for network and wait if network is unavailable
                    loadData()
                }
            }
        }

        val categoriesRVAdapter = CategoriesRVAdapter()
        val recyclerView = binding.recyclerView
+7 −5
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ import foundation.e.apps.ui.MainActivityViewModel
import foundation.e.apps.ui.application.subFrags.ApplicationDialogFragment
import foundation.e.apps.ui.home.model.HomeChildRVAdapter
import foundation.e.apps.ui.home.model.HomeParentRVAdapter
import foundation.e.apps.utils.loadDataOnce
import kotlinx.coroutines.launch
import javax.inject.Inject

@@ -117,14 +118,15 @@ class HomeFragment : Fragment(R.layout.fragment_home), FusedAPIInterface {
    }

    private fun loadHomePageData() {
        mainActivityViewModel.internetConnection.loadDataOnce(this) {
            loginViewModel.loginState.observe(viewLifecycleOwner) {
                if (it.isLoggedIn) {
                // TODO : check for network and wait if network is unavailable
                    this.authData = it.authData
                    loadData()
                }
            }
        }
    }

    private fun showPaidAppMessage(fusedApp: FusedApp) {
        ApplicationDialogFragment(
Loading