Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(MykSuite-UpSale): Add My kSuite Plus upsale bottomSheets #1524

Merged
merged 22 commits into from
Feb 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
df1b532
feat(MyKSuite): Add MyKSuite module
FabianDevel Jan 31, 2025
ff2e9d3
feat(MyKSuiteQuota): Fetch the drive's quota
FabianDevel Jan 31, 2025
5cc34be
feat(MyKSuite): Fetch Qutoas during Drive init
FabianDevel Feb 3, 2025
6c7ea11
feat(MyKSuite): Add UpgradeBottomSheet and Chip for dropbox
FabianDevel Feb 3, 2025
7ce46e7
feat(MyKSuiteShareLink): Add myKSuite for sharelinks settings
FabianDevel Feb 4, 2025
ded7624
feat(MyKSuiteShareLink): Update Core
FabianDevel Feb 7, 2025
fa709bb
feat(MyKSuiteShareLink): Display MykSuite chip when needed for fileShare
FabianDevel Feb 10, 2025
82d13a7
chore(Loco): Add trads for the auto trash feature
FabianDevel Feb 10, 2025
c6a4585
chore(MyKSuite): Rename `ic_delete` to `ic_bin` to follow convention
FabianDevel Feb 10, 2025
ffce16a
feat(MyKSuiteAutoTrash): Add header in trash to prompt upgrade bottom…
FabianDevel Feb 10, 2025
1b7c845
refactor(MyKSuiteAutoTrash): Make only the button clickable instead o…
FabianDevel Feb 10, 2025
81cc6f8
refactor(MyKSuiteAutoTrash): Factorize the logic to open the upgrade …
FabianDevel Feb 10, 2025
3f7735a
feat(MyKSuiteChipBackground): Fix chips background
FabianDevel Feb 11, 2025
950836e
feat(MyKSuiteColorFolder): Display the new bottomsheet when coloring …
FabianDevel Feb 11, 2025
7c0c266
feat(MyKSuiteUpsale): Replace remaining old upsale bottomsheet by the…
FabianDevel Feb 11, 2025
5de2511
refactor(MykSuiteUpsale): Remove old upsale bottomsheet
FabianDevel Feb 11, 2025
abadc0f
fix(MyKSuiteUpsale): Fix the fileAction convertToDropbox not correctl…
FabianDevel Feb 11, 2025
a9c707a
feat(MyKSuiteUpsale): Add kSuiteChip to the bottomsheet item view
FabianDevel Feb 12, 2025
3d5778e
feat(MyKSuite): Close the DriveInfo realm when the viewmodel is clear…
FabianDevel Feb 12, 2025
970b107
feat(MyKSuite): Add ripple to the SharelinkContainerView
FabianDevel Feb 12, 2025
e8c4774
chore(MyKSuite): Clean code
FabianDevel Feb 12, 2025
da92d7c
chore(MyKSuite): Update core
FabianDevel Feb 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
331 changes: 331 additions & 0 deletions .idea/navEditor.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Core
Submodule Core updated 76 files
+0 −169 Legacy/src/main/java/com/infomaniak/lib/core/utils/FormatterFileSize.kt
+72 −0 MykSuite/build.gradle.kts
+0 −0 MykSuite/consumer-rules.pro
+21 −0 MykSuite/proguard-rules.pro
+112 −0 MykSuite/schemas/com.infomaniak.core.myksuite.ui.data.MyKSuiteDatabase/1.json
+73 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/components/MyKSuiteChips.kt
+37 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/components/MyKSuiteGradient.kt
+78 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/components/MyKSuitePrimaryButton.kt
+113 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/components/TextWithIcon.kt
+36 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/components/WeightOneSpacer.kt
+54 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/data/MyKSuiteData.kt
+38 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/data/MyKSuiteDataDao.kt
+54 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/data/MyKSuiteDataManager.kt
+54 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/data/MyKSuiteDatabase.kt
+32 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/data/kSuiteDrive.kt
+43 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/data/kSuiteMail.kt
+27 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/network/ApiRoutes.kt
+305 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/screens/MyKSuiteDashboardScreen.kt
+153 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/screens/MyKSuiteUpgradeBottomSheet.kt
+47 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/screens/MyKSuiteUpgradeFeature.kt
+103 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/screens/components/ExpandableItemView.kt
+80 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/screens/components/InformationBlock.kt
+74 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/screens/components/LimitedFunctionnalities.kt
+60 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/screens/components/MyKSuiteButtonType.kt
+72 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/screens/components/MyKSuiteTextItem.kt
+125 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/screens/components/ProductsStorageQuotas.kt
+80 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/screens/components/UpgradeFeature.kt
+96 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/screens/components/UserAvatar.kt
+61 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/theme/ColorsDark.kt
+67 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/theme/ColorsLight.kt
+38 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/theme/Dimens.kt
+37 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/theme/Margin.kt
+62 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/theme/Theme.kt
+82 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/theme/Type.kt
+77 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/utils/MyKSuiteUiUtils.kt
+51 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/views/BaseMyKSuiteChipView.kt
+28 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/views/MyKSuiteChipView.kt
+51 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/views/MyKSuiteDashboardFragment.kt
+28 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/views/MyKSuitePlusChipView.kt
+62 −0 MykSuite/src/main/java/com/infomaniak/core/myksuite/ui/views/MyKSuiteUpgradeBottomSheetDialog.kt
+79 −0 MykSuite/src/main/res/drawable-night/ic_logo_my_ksuite.xml
+105 −0 MykSuite/src/main/res/drawable-night/ic_logo_my_ksuite_plus.xml
+29 −0 MykSuite/src/main/res/drawable-night/ic_person.xml
+198 −0 MykSuite/src/main/res/drawable-night/illu_banner.xml
+26 −0 MykSuite/src/main/res/drawable-night/illu_dashboard_background.xml
+26 −0 MykSuite/src/main/res/drawable/ic_chevron_down.xml
+26 −0 MykSuite/src/main/res/drawable/ic_chevron_up.xml
+47 −0 MykSuite/src/main/res/drawable/ic_circle_i.xml
+26 −0 MykSuite/src/main/res/drawable/ic_cross_thick.xml
+27 −0 MykSuite/src/main/res/drawable/ic_drive_cloud.xml
+27 −0 MykSuite/src/main/res/drawable/ic_envelope.xml
+27 −0 MykSuite/src/main/res/drawable/ic_enveloppe_italic.xml
+27 −0 MykSuite/src/main/res/drawable/ic_folder_circle_filled_arrow_up.xml
+27 −0 MykSuite/src/main/res/drawable/ic_gift.xml
+79 −0 MykSuite/src/main/res/drawable/ic_logo_my_ksuite.xml
+105 −0 MykSuite/src/main/res/drawable/ic_logo_my_ksuite_plus.xml
+27 −0 MykSuite/src/main/res/drawable/ic_padlock.xml
+27 −0 MykSuite/src/main/res/drawable/ic_paperplane.xml
+29 −0 MykSuite/src/main/res/drawable/ic_person.xml
+198 −0 MykSuite/src/main/res/drawable/illu_banner.xml
+26 −0 MykSuite/src/main/res/drawable/illu_dashboard_background.xml
+41 −0 MykSuite/src/main/res/navigation/my_ksuite_navigation.xml
+47 −0 MykSuite/src/main/res/values-de/strings.xml
+47 −0 MykSuite/src/main/res/values-es/strings.xml
+47 −0 MykSuite/src/main/res/values-fr/strings.xml
+47 −0 MykSuite/src/main/res/values-it/strings.xml
+20 −0 MykSuite/src/main/res/values-night/colors.xml
+24 −0 MykSuite/src/main/res/values/attrs.xml
+20 −0 MykSuite/src/main/res/values/colors.xml
+51 −0 MykSuite/src/main/res/values/strings.xml
+6 −0 build.gradle.kts
+22 −2 gradle/core.versions.toml
+63 −2 src/main/kotlin/com/infomaniak/core/FormatterFileSize.kt
+6 −0 src/main/kotlin/com/infomaniak/core/extensions/ContextExt.kt
+20 −0 src/main/kotlin/com/infomaniak/core/extensions/StringExt.kt
+3 −4 src/test/kotlin/com/infomaniak/core/FormatterFileSizeTest.kt
5 changes: 4 additions & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -129,11 +129,11 @@ sentry {

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])

implementation project(':Core')
implementation project(':Core:Legacy')
implementation project(':Core:Legacy:AppLock')
implementation project(':Core:Legacy:Stores')
implementation project(':Core:MyKSuite')
implementation project(':Core:Thumbnails')

def work_version = '2.9.1' // Keep the same version as the one in Core
Expand Down Expand Up @@ -192,4 +192,7 @@ dependencies {
androidTestRuntimeOnly "de.mannodermaus.junit5:android-test-runner:$junit_version"

implementation 'io.coil-kt:coil-gif:2.7.0'

// Compose
implementation 'androidx.compose.ui:ui-android:1.7.8'
}
3 changes: 2 additions & 1 deletion app/src/main/java/com/infomaniak/drive/data/api/ApiRoutes.kt
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,8 @@ object ApiRoutes {
private const val driveInitWith =
"with=drives,users,teams,teams.users,teams.users_count,drives.capabilities,drives.preferences," +
"drives.pack,drives.pack.capabilities,drives.pack.limits,drive.limits,drives.settings,drives.k_suite,drives.tags," +
"drives.rights,drives.categories,drives.categories_permissions,drives.users,drives.teams,drives.rewind,drives.account"
"drives.rights,drives.categories,drives.categories_permissions,drives.users,drives.teams,drives.rewind,drives.account," +
"drives.quota"

private const val noDefaultAvatar = "no_avatar_default=1"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ open class ShareLink(
JsonParser.parseString(toJson(this@ShareLinkSettings)).asJsonObject.apply {
if (password == null) remove(ShareLinkSettings::password.name)
if (right == null) remove(ShareLinkSettings::right.name)
if (AccountUtils.getCurrentDrive()?.isFreePack == true) remove("valid_until")
if (AccountUtils.getCurrentDrive()?.isFreeTier == true) remove("valid_until")
}
}
}
Expand Down
Loading
Loading