Skip to content

Commit

Permalink
refactor(MyKSuite): Factorize some function with kDrive
Browse files Browse the repository at this point in the history
  • Loading branch information
FabianDevel committed Feb 25, 2025
1 parent cc877bc commit 029cc22
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 75 deletions.
2 changes: 1 addition & 1 deletion app/src/main/java/com/infomaniak/mail/ui/MainViewModel.kt
Original file line number Diff line number Diff line change
Expand Up @@ -319,7 +319,7 @@ class MainViewModel @Inject constructor(
AccountUtils.updateCurrentUser()

// Refresh My kSuite asynchronously, because it's not required for the threads list display
launch { MyKSuiteDataUtils.fetchMyKSuiteData() }
launch { MyKSuiteDataUtils.fetchData() }

// Refresh Mailboxes
SentryLog.d(TAG, "Refresh mailboxes from remote")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,9 @@ package com.infomaniak.mail.ui.main.settings
import android.os.Bundle
import android.view.View
import androidx.fragment.app.viewModels
import com.infomaniak.core.myksuite.ui.utils.MyKSuiteUiUtils
import com.infomaniak.core.myksuite.ui.views.MyKSuiteDashboardFragment
import com.infomaniak.mail.utils.MyKSuiteUiUtils.getDashboardData
import com.infomaniak.mail.utils.AccountUtils
import com.infomaniak.mail.utils.extensions.observeNotNull
import com.infomaniak.mail.utils.extensions.setSystemBarsColors
import dagger.hilt.android.AndroidEntryPoint
Expand All @@ -39,7 +40,13 @@ class KSuiteDashboardFragment : MyKSuiteDashboardFragment() {

myKSuiteViewModel.refreshMyKSuite()
myKSuiteViewModel.myKSuiteDataResult.observeNotNull(viewLifecycleOwner) { myKSuiteData ->
resetContent(dashboardData = getDashboardData(requireContext(), myKSuiteData))
resetContent(
dashboardData = MyKSuiteUiUtils.getDashboardData(
context = requireContext(),
myKSuiteData = myKSuiteData,
avatarUri = AccountUtils.currentUser?.avatar ?: "",
),
)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,6 @@ class MykSuiteViewModel @Inject constructor(
}

fun refreshMyKSuite() = viewModelScope.launch(ioCoroutineContext) {
myKSuiteDataResult.postValue(MyKSuiteDataUtils.fetchMyKSuiteData())
myKSuiteDataResult.postValue(MyKSuiteDataUtils.fetchData())
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.fragment.app.viewModels
import com.infomaniak.core.myksuite.ui.data.MyKSuiteData
import com.infomaniak.core.myksuite.ui.utils.MyKSuiteUiUtils
import com.infomaniak.core.myksuite.ui.views.MyKSuiteDashboardFragmentArgs
import com.infomaniak.lib.applock.LockActivity
import com.infomaniak.lib.applock.Utils.silentlyReverseSwitch
import com.infomaniak.lib.core.utils.openAppNotificationSettings
Expand All @@ -40,8 +42,8 @@ import com.infomaniak.mail.data.LocalSettings
import com.infomaniak.mail.data.models.FeatureFlag
import com.infomaniak.mail.databinding.FragmentSettingsBinding
import com.infomaniak.mail.ui.MainViewModel
import com.infomaniak.mail.utils.AccountUtils
import com.infomaniak.mail.utils.MyKSuiteDataUtils
import com.infomaniak.mail.utils.MyKSuiteUiUtils.openMyKSuiteDashboard
import com.infomaniak.mail.utils.UiUtils.saveFocusWhenNavigatingBack
import com.infomaniak.mail.utils.extensions.animatedNavigation
import com.infomaniak.mail.utils.extensions.launchSyncAutoConfigActivityForResult
Expand Down Expand Up @@ -118,6 +120,13 @@ class SettingsFragment : Fragment() {
myKSuiteViewModel.myKSuiteDataResult.observeNotNull(viewLifecycleOwner) { data -> setupMyKSuiteLayout(data) }
}

private fun openMyKSuiteDashboard(myKSuiteData: MyKSuiteData) {
val args = MyKSuiteDashboardFragmentArgs(
dashboardData = MyKSuiteUiUtils.getDashboardData(requireContext(), myKSuiteData, AccountUtils.currentUser?.avatar)
)
animatedNavigation(resId = R.id.myKSuiteDashboardFragment, args = args.toBundle())
}

override fun onResume() {
super.onResume()
setSwitchesInitialState()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ object MyKSuiteDataUtils : MyKSuiteDataManager() {

override var myKSuite: MyKSuiteData? = null

suspend fun fetchMyKSuiteData(): MyKSuiteData? = runCatching {
override suspend fun fetchData(): MyKSuiteData? = runCatching {
MyKSuiteDataUtils.requestKSuiteData()
val apiResponse = ApiRepository.getMyKSuiteData(HttpClient.okHttpClient)
if (apiResponse.data != null) {
Expand Down
68 changes: 0 additions & 68 deletions app/src/main/java/com/infomaniak/mail/utils/MyKSuiteUiUtils.kt

This file was deleted.

0 comments on commit 029cc22

Please sign in to comment.