Skip to content

Commit

Permalink
feat(DynamicDashboard): Update dashboard if user is Free or Plus
Browse files Browse the repository at this point in the history
  • Loading branch information
FabianDevel committed Feb 20, 2025
1 parent 617518b commit 1599fc1
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 13 deletions.
2 changes: 1 addition & 1 deletion Core
Submodule Core updated 21 files
+2 −0 MykSuite/build.gradle.kts
+116 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/components/TextWithIcon.kt
+3 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/data/MyKSuiteData.kt
+3 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/network/ApiRoutes.kt
+72 −14 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/screens/MyKSuiteDashboardScreen.kt
+14 −4 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/screens/MyKSuiteUpgradeBottomSheet.kt
+1 −1 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/screens/components/ExpandableItemView.kt
+82 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/screens/components/InformationBlock.kt
+63 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/screens/components/MyKSuitePlusTextItem.kt
+43 −17 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/screens/components/ProductsStorageQuotas.kt
+15 −8 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/screens/components/UpgradeFeature.kt
+1 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/theme/ColorsDark.kt
+1 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/theme/ColorsLight.kt
+2 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/theme/Dimens.kt
+1 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/theme/Theme.kt
+3 −1 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/views/MyKSuiteDashboardFragment.kt
+47 −0 MykSuite/src/main/res/drawable/ic_circle_i.xml
+7 −0 MykSuite/src/main/res/navigation/my_ksuite_navigation.xml
+2 −2 MykSuite/src/main/res/values/strings.xml
+1 −1 gradle/core.versions.toml
+6 −0 src/main/kotlin/com/infomaniak/core/extensions/ContextExt.kt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import androidx.core.view.isVisible
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.fragment.app.viewModels
import com.infomaniak.core.myksuite.ui.components.MyKSuiteTier
import com.infomaniak.core.myksuite.ui.data.MyKSuiteData
import com.infomaniak.core.myksuite.ui.screens.components.KSuiteProductsWithQuotas
import com.infomaniak.core.myksuite.ui.views.MyKSuiteDashboardFragmentArgs
Expand Down Expand Up @@ -102,10 +103,12 @@ class SettingsFragment : Fragment() {

myKSuiteSubscription.setOnClickListener {
val args = MyKSuiteDashboardFragmentArgs(
myKSuiteTier = if (myKSuiteData.isMyKSuitePlus) MyKSuiteTier.Plus else MyKSuiteTier.Free,
email = myKSuiteData.mail.email,
avatarUri = AccountUtils.currentUser?.avatar ?: "",
dailySendLimit = myKSuiteData.mail.dailyLimitSent.toString(),
kSuiteAppsWithQuotas = getKSuiteQuotasApp(myKSuiteData),
trialExpiryDate = myKSuiteData.trialExpiryDate,
)
animatedNavigation(resId = R.id.myKSuiteDashboardFragment, args = args.toBundle())
}
Expand All @@ -129,17 +132,13 @@ class SettingsFragment : Fragment() {
}

private fun getKSuiteQuotasApp(myKSuite: MyKSuiteData): Array<KSuiteProductsWithQuotas> {
val mailProduct = if (myKSuite.isMyKSuitePlus) {
// TODO: Management for My kSuite Plus (and pack check name like in kDrive)
null
} else {
with(myKSuite.mail) {
KSuiteProductsWithQuotas.Mail(
usedSize = requireContext().formatShortFileSize(usedSize),
maxSize = requireContext().formatShortFileSize(storageSizeLimit),
progress = (usedSize.toDouble() / storageSizeLimit.toDouble()).toFloat(),
)
}

val mailProduct = with(myKSuite.mail) {
KSuiteProductsWithQuotas.Mail(
usedSize = requireContext().formatShortFileSize(usedSize),
maxSize = requireContext().formatShortFileSize(storageSizeLimit),
progress = (usedSize.toDouble() / storageSizeLimit.toDouble()).toFloat(),
)
}

val driveProduct = with(myKSuite.drive) {
Expand All @@ -150,7 +149,7 @@ class SettingsFragment : Fragment() {
)
}

return if (mailProduct == null) arrayOf(driveProduct) else arrayOf(mailProduct, driveProduct)
return arrayOf(mailProduct, driveProduct)
}

override fun onResume() {
Expand Down
7 changes: 7 additions & 0 deletions app/src/main/res/navigation/main_navigation.xml
Original file line number Diff line number Diff line change
Expand Up @@ -695,6 +695,9 @@
android:id="@+id/myKSuiteDashboardFragment"
android:name="com.infomaniak.mail.ui.main.settings.KSuiteDashboardFragment"
android:label="MyKSuiteDashboardFragment">
<argument
android:name="myKSuiteTier"
app:argType="com.infomaniak.core.myksuite.ui.components.MyKSuiteTier" />
<argument
android:name="email"
app:argType="string" />
Expand All @@ -707,5 +710,9 @@
<argument
android:name="kSuiteAppsWithQuotas"
app:argType="com.infomaniak.core.myksuite.ui.screens.components.KSuiteProductsWithQuotas[]" />
<argument
android:name="trialExpiryDate"
app:argType="java.util.Date"
app:nullable="true" />
</fragment>
</navigation>

0 comments on commit 1599fc1

Please sign in to comment.