├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ ├── ci.yml │ ├── dependent-issues.yml │ ├── rebase-default-branch.yml │ ├── semantic-commit.yml │ ├── swiftformat.yml │ └── swiftlint.yml ├── .gitignore ├── .mise.toml ├── .sonarcloud.properties ├── .swiftformat ├── .swiftlint-ci.yml ├── .swiftlint.yml ├── Docs └── test_booklet.MD ├── LICENSE ├── Project.swift ├── README.md ├── TestFlight ├── WhatToTest.en-GB.txt └── WhatToTest.fr-FR.txt ├── Tuist ├── Package.resolved ├── Package.swift └── ProjectDescriptionHelpers │ ├── Constants.swift │ ├── ExtensionTarget.swift │ └── SettingsDictionary+Extension.swift ├── ci_scripts ├── check_preconditions.sh ├── ci_post_clone.sh └── ci_post_xcodebuild.sh ├── file-header-template.txt ├── kDrive ├── AppDelegate+BGNSURLSession.swift ├── AppDelegate+Scene.swift ├── AppDelegate.swift ├── AppRestorationService.swift ├── AppRouter.swift ├── IAP │ ├── ProductIdentifiers.swift │ ├── ProductIds.plist │ ├── SKProduct+Extension.swift │ ├── StoreManager.swift │ ├── StoreObserver.swift │ ├── StoreRequest.swift │ └── StoreResponse.swift ├── OpenMediaHelper.swift ├── Resources │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── kDrive-Dark.png │ │ │ ├── kDrive-Light.png │ │ │ └── kDrive-Tinted.png │ │ ├── Colors │ │ │ ├── BorderColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── Contents.json │ │ │ ├── backgroundCardViewColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── backgroundCardViewSelectedColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── backgroundColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── binColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── blueFolderColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── buttonDisabledBackgroundColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── buttonDisabledTitleColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── darkBlueColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── disconnectColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── favoriteColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── grayBackgroundChipColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── greenColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── headerTitleColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── iconColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── infomaniakColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── loaderDarkerDefaultColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── loaderDefaultColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── onlyOfficeBackgroundColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── previewBackgroundColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── primaryTextColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── secondaryTextColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── separatorColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── titleColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── warningColor.colorset │ │ │ │ └── Contents.json │ │ │ └── whiteBackgroundChipColor.colorset │ │ │ │ └── Contents.json │ │ ├── Contents.json │ │ ├── UFO.imageset │ │ │ ├── Contents.json │ │ │ └── abducted_files.svg │ │ ├── add.imageset │ │ │ ├── Contents.json │ │ │ └── add.svg │ │ ├── add_user.imageset │ │ │ ├── Contents.json │ │ │ └── add_user.pdf │ │ ├── arrow-right.imageset │ │ │ ├── Contents.json │ │ │ └── arrow-right.svg │ │ ├── available-offline.imageset │ │ │ ├── Contents.json │ │ │ └── offline.svg │ │ ├── background-1.imageset │ │ │ ├── Contents.json │ │ │ └── background-1.svg │ │ ├── background-2.imageset │ │ │ ├── Contents.json │ │ │ └── background-2.svg │ │ ├── background-3.imageset │ │ │ ├── Contents.json │ │ │ └── background-3.svg │ │ ├── big-check.imageset │ │ │ ├── Contents.json │ │ │ └── big-check.svg │ │ ├── calendar.imageset │ │ │ ├── Contents.json │ │ │ └── calendar.svg │ │ ├── camera.imageset │ │ │ ├── Contents.json │ │ │ └── camera.svg │ │ ├── categories.imageset │ │ │ ├── Contents.json │ │ │ └── categories.svg │ │ ├── check.imageset │ │ │ ├── Contents.json │ │ │ └── check.svg │ │ ├── chevron-down.imageset │ │ │ ├── Contents.json │ │ │ └── chevron-down.svg │ │ ├── chevron-left.imageset │ │ │ ├── Contents.json │ │ │ └── chevron-left.svg │ │ ├── chevron-right.imageset │ │ │ ├── Contents.json │ │ │ └── chevron-right.svg │ │ ├── chevron.imageset │ │ │ ├── Contents.json │ │ │ └── chevron.pdf │ │ ├── circle-drive.imageset │ │ │ ├── Contents.json │ │ │ └── circle-drive.svg │ │ ├── circle-pro.imageset │ │ │ ├── Contents.json │ │ │ └── pro.svg │ │ ├── circle-send.imageset │ │ │ ├── Contents.json │ │ │ └── circle-send.svg │ │ ├── circle-solo.imageset │ │ │ ├── Contents.json │ │ │ └── solo.svg │ │ ├── circle-tag.imageset │ │ │ ├── Contents.json │ │ │ └── circle-tag.svg │ │ ├── circle-team.imageset │ │ │ ├── Contents.json │ │ │ └── team.svg │ │ ├── clock.imageset │ │ │ ├── Contents.json │ │ │ └── clock.svg │ │ ├── close.imageset │ │ │ ├── Contents.json │ │ │ └── close.svg │ │ ├── color-bucket.imageset │ │ │ ├── Contents.json │ │ │ └── color-bucket.svg │ │ ├── comment.imageset │ │ │ ├── Contents.json │ │ │ └── comment.svg │ │ ├── copy.imageset │ │ │ ├── Contents.json │ │ │ └── copy.svg │ │ ├── crown.imageset │ │ │ ├── Contents.json │ │ │ └── crown.svg │ │ ├── delete.imageset │ │ │ ├── Contents.json │ │ │ └── delete.svg │ │ ├── document-signature-pencil-bulb.imageset │ │ │ ├── Contents.json │ │ │ └── document-signature-pencil-bulb.svg │ │ ├── download.imageset │ │ │ ├── Contents.json │ │ │ └── download.svg │ │ ├── drive-blocked.imageset │ │ │ ├── Contents.json │ │ │ └── drive-blocked.svg │ │ ├── drive-switch.imageset │ │ │ ├── Contents.json │ │ │ └── drive-switch.svg │ │ ├── drive.cloud.imageset │ │ │ ├── Contents.json │ │ │ └── drive.svg │ │ ├── drive.imageset │ │ │ ├── Contents.json │ │ │ └── drive.svg │ │ ├── duplicate.imageset │ │ │ ├── Contents.json │ │ │ └── duplicate.svg │ │ ├── edit-document.imageset │ │ │ ├── Contents.json │ │ │ └── edit-document.svg │ │ ├── edit.imageset │ │ │ ├── Contents.json │ │ │ └── edit.svg │ │ ├── export-ios.imageset │ │ │ ├── Contents.json │ │ │ └── export-ios.svg │ │ ├── face_id_edit.imageset │ │ │ ├── Contents.json │ │ │ ├── face_id_edit.svg │ │ │ └── face_id_edit_dark.svg │ │ ├── favorite.imageset │ │ │ ├── Contents.json │ │ │ └── favorite.svg │ │ ├── file-3dmodel.imageset │ │ │ ├── Contents.json │ │ │ └── file-3dmodel.svg │ │ ├── file-audio.imageset │ │ │ ├── Contents.json │ │ │ └── file-audio.svg │ │ ├── file-code.imageset │ │ │ ├── Contents.json │ │ │ └── file-code.svg │ │ ├── file-default.imageset │ │ │ ├── Contents.json │ │ │ └── file-default.svg │ │ ├── file-email.imageset │ │ │ ├── Contents.json │ │ │ └── file-email.svg │ │ ├── file-font.imageset │ │ │ ├── Contents.json │ │ │ └── file-font.svg │ │ ├── file-form.imageset │ │ │ ├── Contents.json │ │ │ └── form.svg │ │ ├── file-image-small.imageset │ │ │ ├── Contents.json │ │ │ ├── true 350 - circle.svg │ │ │ └── true 350 – dark - circle.svg │ │ ├── file-image.imageset │ │ │ ├── Contents.json │ │ │ └── file-image.svg │ │ ├── file-pdf.imageset │ │ │ ├── Contents.json │ │ │ └── file-pdf.svg │ │ ├── file-presentation.imageset │ │ │ ├── Contents.json │ │ │ └── file-presentation.svg │ │ ├── file-sheets.imageset │ │ │ ├── Contents.json │ │ │ └── file-sheets.svg │ │ ├── file-text.imageset │ │ │ ├── Contents.json │ │ │ └── file-text.svg │ │ ├── file-video.imageset │ │ │ ├── Contents.json │ │ │ └── file-video.svg │ │ ├── file-zip.imageset │ │ │ ├── Contents.json │ │ │ └── file-zip.svg │ │ ├── filter.imageset │ │ │ ├── Contents.json │ │ │ └── filter.svg │ │ ├── folder-add.imageset │ │ │ ├── Contents.json │ │ │ └── folder-add.svg │ │ ├── folder-common-documents.imageset │ │ │ ├── Contents.json │ │ │ └── folder-common-documents.svg │ │ ├── folder-disable.imageset │ │ │ ├── Contents.json │ │ │ └── folder-disable.svg │ │ ├── folder-drop-box.imageset │ │ │ ├── Contents.json │ │ │ └── folder-drop-box.svg │ │ ├── folder-filled-tab.imageset │ │ │ ├── Contents.json │ │ │ └── folder-fill.svg │ │ ├── folder-filled.imageset │ │ │ ├── Contents.json │ │ │ └── folder.svg │ │ ├── folder-select-2.imageset │ │ │ ├── Contents.json │ │ │ └── folder-select-2.svg │ │ ├── folder-select.imageset │ │ │ ├── Contents.json │ │ │ └── folder-select.svg │ │ ├── folder-shared.imageset │ │ │ ├── Contents.json │ │ │ └── folder-shared.svg │ │ ├── folder.arrow.up.imageset │ │ │ ├── Contents.json │ │ │ └── folder.arrow.up.svg │ │ ├── folder.imageset │ │ │ ├── Contents.json │ │ │ └── folder.svg │ │ ├── gallery.fill.imageset │ │ │ ├── Contents.json │ │ │ └── gallery.fill.svg │ │ ├── gallery.imageset │ │ │ ├── Contents.json │ │ │ └── gallery.svg │ │ ├── grid.imageset │ │ │ ├── Contents.json │ │ │ └── grid.svg │ │ ├── house-fill.imageset │ │ │ ├── Contents.json │ │ │ └── house-fill.svg │ │ ├── house.imageset │ │ │ ├── Contents.json │ │ │ └── house.svg │ │ ├── illu-categories.imageset │ │ │ ├── Contents.json │ │ │ ├── EN-categories.svg │ │ │ └── FR-categories.svg │ │ ├── illu-collab.imageset │ │ │ ├── Contents.json │ │ │ └── illu-collab.svg │ │ ├── illu-devices.imageset │ │ │ ├── Contents.json │ │ │ └── illu-devices.svg │ │ ├── illu-drop-box.imageset │ │ │ ├── Contents.json │ │ │ └── illu-drop-box.svg │ │ ├── illu-photos.imageset │ │ │ ├── Contents.json │ │ │ └── illu-photos.svg │ │ ├── illu-upgrade.imageset │ │ │ ├── Contents.json │ │ │ └── illu-upgrade.svg │ │ ├── image.imageset │ │ │ ├── Contents.json │ │ │ └── file-image.svg │ │ ├── images.imageset │ │ │ ├── Contents.json │ │ │ └── images.svg │ │ ├── info-filled.imageset │ │ │ ├── Contents.json │ │ │ └── info-filled.svg │ │ ├── info.imageset │ │ │ ├── Contents.json │ │ │ └── info.svg │ │ ├── largelist.imageset │ │ │ ├── Contents.json │ │ │ └── largelist.svg │ │ ├── link-broken.imageset │ │ │ ├── Contents.json │ │ │ └── link-broken.svg │ │ ├── link.imageset │ │ │ ├── Contents.json │ │ │ └── link.svg │ │ ├── list.imageset │ │ │ ├── Contents.json │ │ │ └── list.svg │ │ ├── lock.imageset │ │ │ ├── Contents.json │ │ │ └── lock.svg │ │ ├── lock_external.imageset │ │ │ ├── Contents.json │ │ │ ├── lock-clear.svg │ │ │ └── lock-dark.svg │ │ ├── lock_infomaniak.imageset │ │ │ ├── Contents.json │ │ │ ├── lock-dark.svg │ │ │ └── lock_infomaniak.svg │ │ ├── logo-kdrive-beta.imageset │ │ │ ├── Contents.json │ │ │ ├── logo-kdrive-beta-light.svg │ │ │ └── logo-kdrive-beta.svg │ │ ├── logo.imageset │ │ │ ├── Contents.json │ │ │ ├── logo-dark.svg │ │ │ └── logo-white.svg │ │ ├── logout.imageset │ │ │ ├── Contents.json │ │ │ └── logout.svg │ │ ├── maintenance.imageset │ │ │ ├── Contents.json │ │ │ └── maintenance.svg │ │ ├── media-bold.imageset │ │ │ ├── Contents.json │ │ │ └── media-bold.svg │ │ ├── media-inline.imageset │ │ │ ├── Contents.json │ │ │ └── media-inline.svg │ │ ├── menu.imageset │ │ │ ├── Contents.json │ │ │ └── menu.svg │ │ ├── music.imageset │ │ │ ├── Contents.json │ │ │ └── music.svg │ │ ├── myKSuitePlus.logo.imageset │ │ │ ├── Contents.json │ │ │ ├── Logo kSuite.svg │ │ │ └── myKSuitePlus.logo.svg │ │ ├── no-drive.imageset │ │ │ ├── Contents.json │ │ │ └── no-drive.svg │ │ ├── offline.imageset │ │ │ ├── Contents.json │ │ │ └── ofline.svg │ │ ├── open-with.imageset │ │ │ ├── Contents.json │ │ │ └── open-with.svg │ │ ├── order-success.imageset │ │ │ ├── Contents.json │ │ │ └── order-success.svg │ │ ├── parameters.imageset │ │ │ ├── Contents.json │ │ │ └── parameters.svg │ │ ├── pause.imageset │ │ │ ├── Contents.json │ │ │ └── pause.svg │ │ ├── placeholder_avatar.imageset │ │ │ ├── Contents.json │ │ │ └── placeholder_avatar.pdf │ │ ├── play-thumbnail.imageset │ │ │ ├── Contents.json │ │ │ └── play-thumbnail.svg │ │ ├── play.imageset │ │ │ ├── Contents.json │ │ │ └── play.svg │ │ ├── plus.imageset │ │ │ ├── Contents.json │ │ │ └── plus.svg │ │ ├── refresh.imageset │ │ │ ├── Contents.json │ │ │ └── refresh.svg │ │ ├── remove.imageset │ │ │ ├── Contents.json │ │ │ └── remove.svg │ │ ├── reply.imageset │ │ │ ├── Contents.json │ │ │ └── reply.svg │ │ ├── retry.imageset │ │ │ ├── Contents.json │ │ │ └── retry.svg │ │ ├── scan.imageset │ │ │ ├── Contents.json │ │ │ └── scan.svg │ │ ├── search.imageset │ │ │ ├── Contents.json │ │ │ └── search.svg │ │ ├── select.imageset │ │ │ ├── Contents.json │ │ │ └── select.svg │ │ ├── share.imageset │ │ │ ├── Contents.json │ │ │ └── share.svg │ │ ├── shortcut-scan.imageset │ │ │ ├── Contents.json │ │ │ └── shortcut-scan.svg │ │ ├── shortcut-search.imageset │ │ │ ├── Contents.json │ │ │ └── shortcut-search.svg │ │ ├── shortcut-support.imageset │ │ │ ├── Contents.json │ │ │ └── shortcut-support.svg │ │ ├── shortcut-upload.imageset │ │ │ ├── Contents.json │ │ │ └── shortcut-upload.svg │ │ ├── small-check.imageset │ │ │ ├── Contents.json │ │ │ └── small-check.svg │ │ ├── splashscreen-infomaniak.imageset │ │ │ ├── Contents.json │ │ │ ├── splashscreen-infomaniak-dark.svg │ │ │ └── splashscreen-infomaniak-light.svg │ │ ├── splashscreen-kdrive.imageset │ │ │ ├── Contents.json │ │ │ ├── splashscreen-kdrive-dark.svg │ │ │ └── splashscreen-kdrive-light.svg │ │ ├── star-fill.imageset │ │ │ ├── Contents.json │ │ │ └── star-fill.svg │ │ ├── star.imageset │ │ │ ├── Contents.json │ │ │ └── star.svg │ │ ├── stop.imageset │ │ │ ├── Contents.json │ │ │ └── stop.svg │ │ ├── support_link.imageset │ │ │ ├── Contents.json │ │ │ └── support_link.svg │ │ ├── switch_user.imageset │ │ │ ├── Contents.json │ │ │ ├── switch_user.pdf │ │ │ └── switch_user_dark.pdf │ │ ├── tag.imageset │ │ │ ├── Contents.json │ │ │ └── tag.svg │ │ ├── team.imageset │ │ │ ├── Contents.json │ │ │ └── picto_team.svg │ │ ├── test-image.imageset │ │ │ ├── Contents.json │ │ │ └── improve_landscape_photography.jpg │ │ ├── unlock.imageset │ │ │ ├── Contents.json │ │ │ └── unlock.svg │ │ ├── update-required.imageset │ │ │ ├── Contents.json │ │ │ ├── update-required-dark.svg │ │ │ └── update-required-light.svg │ │ ├── upgrade-kdrive.imageset │ │ │ ├── Contents.json │ │ │ └── upgrade-kdrive.svg │ │ ├── upload.imageset │ │ │ ├── Contents.json │ │ │ └── upload.svg │ │ ├── upsale-header-noDrive.imageset │ │ │ ├── Contents.json │ │ │ └── img-kDrive.svg │ │ ├── upsale-header.imageset │ │ │ ├── Contents.json │ │ │ └── drive-rocket.svg │ │ ├── url.imageset │ │ │ ├── Contents.json │ │ │ └── url.svg │ │ ├── user-switch.imageset │ │ │ ├── Contents.json │ │ │ └── user-switch.svg │ │ ├── user_logout.imageset │ │ │ ├── Contents.json │ │ │ └── user_logout.pdf │ │ ├── users.imageset │ │ │ ├── Contents.json │ │ │ └── users.svg │ │ ├── view.imageset │ │ │ ├── Contents.json │ │ │ └── view.svg │ │ └── warning.imageset │ │ │ ├── Contents.json │ │ │ └── warning.svg │ ├── Info.plist │ ├── LaunchScreen.storyboard │ ├── PrivacyInfo.xcprivacy │ ├── de.lproj │ │ ├── InfoPlist.strings │ │ ├── Localizable.strings │ │ └── Localizable.stringsdict │ ├── en.lproj │ │ ├── InfoPlist.strings │ │ ├── Localizable.strings │ │ └── Localizable.stringsdict │ ├── es.lproj │ │ ├── InfoPlist.strings │ │ ├── Localizable.strings │ │ └── Localizable.stringsdict │ ├── fr.lproj │ │ ├── InfoPlist.strings │ │ ├── Localizable.strings │ │ └── Localizable.stringsdict │ ├── illu-maj.json │ ├── illu_collab.json │ ├── illu_devices.json │ ├── illu_drop_box.json │ ├── illu_photos.json │ ├── illu_upgrade.json │ ├── it.lproj │ │ ├── InfoPlist.strings │ │ ├── Localizable.strings │ │ └── Localizable.stringsdict │ └── kDrive.entitlements ├── SceneDelegate.swift ├── UI │ ├── Controller │ │ ├── Alert │ │ │ └── AlertDocViewController.swift │ │ ├── Base.lproj │ │ │ └── Main.storyboard │ │ ├── Create File │ │ │ ├── DriveImportDocumentPickerViewController.swift │ │ │ ├── FloatingPanelLayouts.swift │ │ │ ├── FloatingPanelUtils.swift │ │ │ └── PlusButtonFloatingPanelViewController.swift │ │ ├── DriveErrorViewController.swift │ │ ├── DriveUpdateRequiredViewController.swift │ │ ├── Favorite │ │ │ └── FavoritesViewModel.swift │ │ ├── Files │ │ │ ├── Categories │ │ │ │ ├── EditCategoryViewController.swift │ │ │ │ ├── ManageCategoriesViewController.swift │ │ │ │ └── ManageCategoryFloatingPanelViewController.swift │ │ │ ├── ColorSelectionFloatingPanelViewController.swift │ │ │ ├── DropBox │ │ │ │ └── ManageDropBoxViewController.swift │ │ │ ├── External │ │ │ │ ├── BaseInfoViewController.swift │ │ │ │ ├── LockedFolderViewController.swift │ │ │ │ └── UnavaillableFolderViewController.swift │ │ │ ├── File List │ │ │ │ ├── ConcreteFileListViewModel.swift │ │ │ │ ├── DragAndDropFileListViewModel.swift │ │ │ │ ├── FileListViewController.swift │ │ │ │ ├── FileListViewModel.swift │ │ │ │ ├── InMemoryFileListViewModel+Matomo.swift │ │ │ │ ├── InMemoryFileListViewModel.swift │ │ │ │ ├── MultipleSelectionFileListViewModel.swift │ │ │ │ ├── RoundedCornersList.swift │ │ │ │ └── UploadCardViewModel.swift │ │ │ ├── FileActionsFloatingPanelViewController+Actions.swift │ │ │ ├── FileActionsFloatingPanelViewController+Matomo.swift │ │ │ ├── FileActionsFloatingPanelViewController.swift │ │ │ ├── FileDetailViewController.swift │ │ │ ├── FilePresenter.swift │ │ │ ├── Files.storyboard │ │ │ ├── FloatingPanelAction.swift │ │ │ ├── MultipleSelectionFloatingPanelViewController+Actions.swift │ │ │ ├── MultipleSelectionFloatingPanelViewController+Matomo.swift │ │ │ ├── MultipleSelectionFloatingPanelViewController.swift │ │ │ ├── OnlyOfficeViewController.swift │ │ │ ├── Preview │ │ │ │ ├── PreviewError.swift │ │ │ │ └── PreviewViewController.swift │ │ │ ├── PublicShareAction.swift │ │ │ ├── RecentActivityFilesViewController.swift │ │ │ ├── Rights and Share │ │ │ │ ├── InviteUserViewController.swift │ │ │ │ ├── MykSuiteRestrictions.swift │ │ │ │ ├── RightsSelectionViewController+Matomo.swift │ │ │ │ ├── RightsSelectionViewController.swift │ │ │ │ ├── ShareAndRightsViewController.swift │ │ │ │ ├── ShareLinkSettingsViewController+Matomo.swift │ │ │ │ └── ShareLinkSettingsViewController.swift │ │ │ ├── Save File │ │ │ │ ├── LocationFolderViewController.swift │ │ │ │ ├── SaveFile.storyboard │ │ │ │ ├── SaveFileViewController+FooterButtonDelegate.swift │ │ │ │ ├── SaveFileViewController+SelectDriveDelegate.swift │ │ │ │ ├── SaveFileViewController+SelectFolderDelegate.swift │ │ │ │ ├── SaveFileViewController+SelectPhotoFormatDelegate.swift │ │ │ │ ├── SaveFileViewController+UITableViewDataSource.swift │ │ │ │ ├── SaveFileViewController+UITableViewDelegate.swift │ │ │ │ ├── SaveFileViewController.swift │ │ │ │ ├── SelectDriveViewController.swift │ │ │ │ ├── SelectFolderViewController.swift │ │ │ │ ├── SelectPhotoFormatFooterView.swift │ │ │ │ ├── SelectPhotoFormatFooterView.xib │ │ │ │ └── SelectPhotoFormatViewController.swift │ │ │ ├── Search │ │ │ │ ├── DateRangePickerViewController.swift │ │ │ │ ├── Filters.swift │ │ │ │ ├── Search.storyboard │ │ │ │ ├── SearchFilesViewModel.swift │ │ │ │ ├── SearchFiltersViewController.swift │ │ │ │ └── SearchViewController.swift │ │ │ ├── SidebarViewController.swift │ │ │ └── Upload │ │ │ │ ├── UploadQueueFoldersViewController.swift │ │ │ │ └── UploadQueueViewController.swift │ │ ├── Floating Panel Information │ │ │ ├── AccessFileFloatingPanelViewController.swift │ │ │ ├── BetaInviteFloatingPanelViewController.swift │ │ │ ├── DriveMaintenanceFloatingPanelViewController.swift │ │ │ ├── DropBoxFloatingPanelViewController.swift │ │ │ ├── FolderColorFloatingPanelViewController.swift │ │ │ ├── InformationFloatingPanel.storyboard │ │ │ ├── InformationFloatingPanelViewController.swift │ │ │ ├── NoAccessFloatingPanelViewController.swift │ │ │ ├── SavePhotosFloatingPanelViewController.swift │ │ │ ├── ShareFloatingPanelViewController.swift │ │ │ └── UnsupportedExtensionFloatingPanelViewController.swift │ │ ├── FloatingPanelSelectOptionViewController.swift │ │ ├── Home │ │ │ ├── Home.storyboard │ │ │ ├── HomeLargeTitleHeaderView.swift │ │ │ ├── HomeLargeTitleHeaderView.xib │ │ │ ├── HomeRecentActivitiesController.swift │ │ │ ├── HomeViewController.swift │ │ │ ├── RootMenuHeaderView.swift │ │ │ ├── RootMenuHeaderView.xib │ │ │ └── SelectSwitchDriveDelegate.swift │ │ ├── LaunchPanelsController.swift │ │ ├── LockedAppViewController.swift │ │ ├── LoginDelegateHandler.swift │ │ ├── MainTabViewController+LegacyTabBar.swift │ │ ├── MainTabViewController.swift │ │ ├── Menu │ │ │ ├── AboutTableViewController.swift │ │ │ ├── AppLockSettingsViewController.swift │ │ │ ├── BaseGroupedTableViewController.swift │ │ │ ├── LastModificationsViewModel.swift │ │ │ ├── Menu.storyboard │ │ │ ├── MenuViewController.swift │ │ │ ├── MySharesViewModel.swift │ │ │ ├── NotificationsSettingsTableViewController.swift │ │ │ ├── OfflineFilesViewModel.swift │ │ │ ├── ParameterTableViewController.swift │ │ │ ├── PhotoList │ │ │ │ ├── PhotoListViewController.swift │ │ │ │ └── PhotoListViewModel.swift │ │ │ ├── PhotoSyncSettingsViewController+Matomo.swift │ │ │ ├── PhotoSyncSettingsViewController.swift │ │ │ ├── SecurityTableViewController.swift │ │ │ ├── SelectThemeTableViewController.swift │ │ │ ├── Share │ │ │ │ ├── PublicShareSingleFileViewModel.swift │ │ │ │ ├── PublicShareViewModel.swift │ │ │ │ └── SharedWithMeViewModel.swift │ │ │ ├── StorageTableViewController.swift │ │ │ ├── StoreSuccessViewController.swift │ │ │ ├── StoreViewController.swift │ │ │ ├── SwitchUserViewController.swift │ │ │ ├── Trash │ │ │ │ ├── TrashFloatingPanelTableViewController.swift │ │ │ │ └── TrashListViewModel.swift │ │ │ └── WifiSyncSettingsViewController.swift │ │ ├── NewFolder │ │ │ ├── NewFolder.storyboard │ │ │ ├── NewFolderTypeTableViewController.swift │ │ │ └── NewFolderViewController.swift │ │ ├── OnboardingBottomViewController.swift │ │ ├── Photo │ │ │ ├── Photo.storyboard │ │ │ ├── PhotoPickerDelegate.swift │ │ │ └── SavePhotoViewController.swift │ │ ├── PreloadingViewController.swift │ │ ├── RegisterViewController.swift │ │ ├── Scan │ │ │ ├── SaveScanViewController.swift │ │ │ ├── Scan.storyboard │ │ │ └── ScanNavigationViewController.swift │ │ ├── Storyboard.swift │ │ ├── SwiftUI │ │ │ ├── AboutPrivacyViewBridgeController.swift │ │ │ ├── AsyncImageView.swift │ │ │ ├── MyKSuiteDashboardViewBridgeController.swift │ │ │ └── MyKSuiteFloatingPanelBridgeController.swift │ │ └── WaveViewController.swift │ └── View │ │ ├── EmptyTableView │ │ ├── EmptyTableView.swift │ │ ├── EmptyTableView.xib │ │ ├── EmptyTableViewCell.swift │ │ └── EmptyTableViewCell.xib │ │ ├── Files │ │ ├── Categories │ │ │ ├── CategoryBadgeCollectionViewCell.swift │ │ │ ├── CategoryBadgeCollectionViewCell.xib │ │ │ ├── CategoryCollectionViewCell.swift │ │ │ ├── CategoryCollectionViewCell.xib │ │ │ ├── CategoryTableViewCell.swift │ │ │ ├── CategoryTableViewCell.xib │ │ │ ├── ColorSelectionCollectionViewCell.swift │ │ │ ├── ColorSelectionCollectionViewCell.xib │ │ │ ├── ColorSelectionTableViewCell.swift │ │ │ ├── ColorSelectionTableViewCell.xib │ │ │ ├── ManageCategoriesTableViewCell.swift │ │ │ └── ManageCategoriesTableViewCell.xib │ │ ├── DropBox │ │ │ ├── DropBoxDisableTableViewCell.swift │ │ │ ├── DropBoxDisableTableViewCell.xib │ │ │ ├── DropBoxLinkTableViewCell.swift │ │ │ └── DropBoxLinkTableViewCell.xib │ │ ├── FileCollectionViewCell.swift │ │ ├── FileCollectionViewCell.xib │ │ ├── FileDetail │ │ │ ├── FileDetailActivitySeparatorTableViewCell.swift │ │ │ ├── FileDetailActivitySeparatorTableViewCell.xib │ │ │ ├── FileDetailActivityTableViewCell.swift │ │ │ ├── FileDetailActivityTableViewCell.xib │ │ │ ├── FileDetailCommentListTableViewCell.swift │ │ │ ├── FileDetailCommentListTableViewCell.xib │ │ │ ├── FileDetailCommentPopover.swift │ │ │ ├── FileDetailCommentPopover.xib │ │ │ ├── FileDetailCommentTableViewCell.swift │ │ │ ├── FileDetailCommentTableViewCell.xib │ │ │ ├── FileDetailHeaderAltTableViewCell.swift │ │ │ ├── FileDetailHeaderAltTableViewCell.xib │ │ │ ├── FileDetailHeaderTableViewCell.swift │ │ │ ├── FileDetailHeaderTableViewCell.xib │ │ │ ├── FileDetailInformationUserCollectionViewCell.swift │ │ │ ├── FileDetailInformationUserCollectionViewCell.xib │ │ │ ├── FileDetailInformationUserLayout.swift │ │ │ ├── FileInformation │ │ │ │ ├── FileInformationCreationTableViewCell.swift │ │ │ │ ├── FileInformationCreationTableViewCell.xib │ │ │ │ ├── FileInformationLocationTableViewCell.swift │ │ │ │ ├── FileInformationLocationTableViewCell.xib │ │ │ │ ├── FileInformationOwnerTableViewCell.swift │ │ │ │ ├── FileInformationOwnerTableViewCell.xib │ │ │ │ ├── FileInformationSizeTableViewCell.swift │ │ │ │ ├── FileInformationSizeTableViewCell.xib │ │ │ │ ├── FileInformationUsersTableViewCell.swift │ │ │ │ └── FileInformationUsersTableViewCell.xib │ │ │ ├── InfoTableViewCell.swift │ │ │ ├── InfoTableViewCell.xib │ │ │ ├── PopoverBackground.swift │ │ │ └── ShareLink │ │ │ │ ├── InviteUserTableViewCell.swift │ │ │ │ ├── InviteUserTableViewCell.xib │ │ │ │ ├── InvitedUserCollectionViewCell.swift │ │ │ │ ├── InvitedUserCollectionViewCell.xib │ │ │ │ ├── InvitedUserTableViewCell.swift │ │ │ │ ├── InvitedUserTableViewCell.xib │ │ │ │ ├── MessageTableViewCell.swift │ │ │ │ ├── MessageTableViewCell.xib │ │ │ │ ├── RightsSelectionTableViewCell.swift │ │ │ │ ├── RightsSelectionTableViewCell.xib │ │ │ │ ├── ShareLinkAccessRightTableViewCell.swift │ │ │ │ ├── ShareLinkAccessRightTableViewCell.xib │ │ │ │ ├── ShareLinkSettingTableViewCell.swift │ │ │ │ ├── ShareLinkSettingTableViewCell.xib │ │ │ │ ├── ShareLinkTableViewCell.swift │ │ │ │ ├── ShareLinkTableViewCell.xib │ │ │ │ ├── UsersAccessTableViewCell.swift │ │ │ │ └── UsersAccessTableViewCell.xib │ │ ├── FileGridCollectionViewCell.swift │ │ ├── FileGridCollectionViewCell.xib │ │ ├── FileListBarButton.swift │ │ ├── FloatingPanel │ │ │ ├── FloatingPanelActionCollectionViewCell.swift │ │ │ ├── FloatingPanelActionCollectionViewCell.xib │ │ │ ├── FloatingPanelQuickActionCollectionViewCell.swift │ │ │ ├── FloatingPanelQuickActionCollectionViewCell.xib │ │ │ ├── FloatingPanelSortOptionTableViewCell.swift │ │ │ ├── FloatingPanelSortOptionTableViewCell.xib │ │ │ ├── FloatingPanelTableViewCell.swift │ │ │ └── FloatingPanelTableViewCell.xib │ │ ├── Preview │ │ │ ├── AudioCollectionViewCell.swift │ │ │ ├── AudioCollectionViewCell.xib │ │ │ ├── CodePreviewCollectionViewCell.swift │ │ │ ├── CodePreviewCollectionViewCell.xib │ │ │ ├── DownloadingPreviewCollectionViewCell.swift │ │ │ ├── DownloadingPreviewCollectionViewCell.xib │ │ │ ├── ImagePreviewCollectionViewCell.swift │ │ │ ├── ImagePreviewCollectionViewCell.xib │ │ │ ├── NoPreviewCollectionViewCell.swift │ │ │ ├── NoPreviewCollectionViewCell.xib │ │ │ ├── OfficePreviewCollectionViewCell.swift │ │ │ ├── OfficePreviewCollectionViewCell.xib │ │ │ ├── PdfPreviewCollectionViewCell.swift │ │ │ ├── PdfPreviewCollectionViewCell.xib │ │ │ ├── PreviewCollectionViewCell.swift │ │ │ ├── VideoCollectionViewCell.swift │ │ │ └── VideoCollectionViewCell.xib │ │ ├── SaveFile │ │ │ ├── DriveSwitchTableViewCell.swift │ │ │ ├── DriveSwitchTableViewCell.xib │ │ │ ├── FileNameTableViewCell.swift │ │ │ ├── FileNameTableViewCell.xib │ │ │ ├── ImportingTableViewCell.swift │ │ │ ├── ImportingTableViewCell.xib │ │ │ ├── LocationTableViewCell.swift │ │ │ ├── LocationTableViewCell.xib │ │ │ ├── PhotoFormatTableViewCell.swift │ │ │ ├── PhotoFormatTableViewCell.xib │ │ │ ├── ScanTypeTableViewCell.swift │ │ │ └── ScanTypeTableViewCell.xib │ │ ├── Search │ │ │ ├── BasicTitleCollectionReusableView.swift │ │ │ ├── BasicTitleCollectionReusableView.xib │ │ │ ├── DayRangeIndicatorView.swift │ │ │ ├── FileExtensionTextInputTableViewCell.swift │ │ │ ├── FiltersFooterView.swift │ │ │ ├── FiltersFooterView.xib │ │ │ ├── RecentSearchCollectionViewCell.swift │ │ │ ├── RecentSearchCollectionViewCell.xib │ │ │ ├── SearchFilterCollectionViewCell.swift │ │ │ ├── SearchFilterCollectionViewCell.xib │ │ │ ├── SelectTableViewCell.swift │ │ │ ├── SelectTableViewCell.xib │ │ │ └── TextInputTableViewCell.swift │ │ ├── SwipableCell.swift │ │ ├── SwipableCollectionView.swift │ │ └── Upload │ │ │ ├── ErrorUploadTableViewCell.swift │ │ │ ├── ErrorUploadTableViewCell.xib │ │ │ ├── RPCircularProgress.swift │ │ │ ├── UploadCardView.swift │ │ │ ├── UploadFolderTableViewCell.swift │ │ │ ├── UploadFolderTableViewCell.xib │ │ │ ├── UploadTableViewCell.swift │ │ │ └── UploadTableViewCell.xib │ │ ├── Footer view │ │ ├── FooterButtonView.swift │ │ └── FooterButtonView.xib │ │ ├── Generic │ │ ├── AlertTableViewCell.swift │ │ ├── AlertTableViewCell.xib │ │ ├── SelectionTableViewCell.swift │ │ └── SelectionTableViewCell.xib │ │ ├── Header view │ │ ├── FilesHeaderView.swift │ │ ├── FilesHeaderView.xib │ │ ├── FilterView.swift │ │ ├── HomeRecentFilesHeaderView.swift │ │ ├── HomeRecentFilesHeaderView.xib │ │ ├── HomeTitleView.swift │ │ ├── HomeTitleView.xib │ │ ├── SelectView.swift │ │ └── SelectView.xib │ │ ├── Home │ │ ├── HomeEmptyFilesCollectionViewCell.swift │ │ ├── HomeEmptyFilesCollectionViewCell.xib │ │ ├── HomeLastPicCollectionViewCell.swift │ │ ├── HomeLastPicCollectionViewCell.xib │ │ ├── InsufficientStorageCollectionViewCell.swift │ │ ├── InsufficientStorageCollectionViewCell.xib │ │ ├── RecentActivityBottomTableViewCell.swift │ │ ├── RecentActivityBottomTableViewCell.xib │ │ ├── RecentActivityCollectionViewCell.swift │ │ ├── RecentActivityCollectionViewCell.xib │ │ ├── RecentActivityPreviewCollectionViewCell.swift │ │ ├── RecentActivityPreviewCollectionViewCell.xib │ │ ├── UploadsInProgressTableViewCell.swift │ │ ├── UploadsInProgressTableViewCell.xib │ │ ├── UploadsPausedTableViewCell.swift │ │ └── UploadsPausedTableViewCell.xib │ │ ├── Menu │ │ ├── DriveTitleTableViewCell.swift │ │ ├── DriveTitleTableViewCell.xib │ │ ├── MainTabBar.swift │ │ ├── MenuTableViewCell.swift │ │ ├── MenuTableViewCell.xib │ │ ├── MenuTopTableViewCell.swift │ │ ├── MenuTopTableViewCell.xib │ │ ├── Parameters │ │ │ ├── AboutDetailTableViewCell.swift │ │ │ ├── AboutDetailTableViewCell.xib │ │ │ ├── ParameterAboutTableViewCell.swift │ │ │ ├── ParameterAboutTableViewCell.xib │ │ │ ├── ParameterAccessDeniedTableViewCell.swift │ │ │ ├── ParameterAccessDeniedTableViewCell.xib │ │ │ ├── ParameterSwitchTableViewCell.swift │ │ │ ├── ParameterSwitchTableViewCell.xib │ │ │ ├── ParameterSyncTableViewCell.swift │ │ │ ├── ParameterSyncTableViewCell.xib │ │ │ ├── ParameterTableViewCell.swift │ │ │ ├── ParameterTableViewCell.xib │ │ │ ├── ParameterWifiTableViewCell.swift │ │ │ └── ParameterWifiTableViewCell.xib │ │ ├── PhotoList │ │ │ ├── PhotoCollectionViewCell.swift │ │ │ ├── PhotoCollectionViewCell.xib │ │ │ ├── ReusableHeaderView.swift │ │ │ └── ReusableHeaderView.xib │ │ ├── PhotoSyncSettings │ │ │ ├── PhotoAccessDeniedTableViewCell.swift │ │ │ ├── PhotoAccessDeniedTableViewCell.xib │ │ │ ├── PhotoSyncSettingsTableViewCell.swift │ │ │ └── PhotoSyncSettingsTableViewCell.xib │ │ ├── RootMenuCell.swift │ │ ├── Store │ │ │ ├── StoreCollectionViewCell.swift │ │ │ ├── StoreCollectionViewCell.xib │ │ │ ├── StoreControlCollectionReusableView.swift │ │ │ ├── StoreControlCollectionReusableView.xib │ │ │ ├── StoreFeatureTableViewCell.swift │ │ │ ├── StoreFeatureTableViewCell.xib │ │ │ ├── StoreHelpFooter.swift │ │ │ ├── StoreHelpFooter.xib │ │ │ ├── StoreNextCollectionViewCell.swift │ │ │ ├── StoreNextCollectionViewCell.xib │ │ │ ├── StoreStorageTableViewCell.swift │ │ │ └── StoreStorageTableViewCell.xib │ │ └── SwitchUser │ │ │ ├── NoAccountTableViewCell.swift │ │ │ ├── NoAccountTableViewCell.xib │ │ │ ├── UserAccountTableViewCell.swift │ │ │ ├── UserAccountTableViewCell.xib │ │ │ ├── UsersDropDownTableViewCell.swift │ │ │ └── UsersDropDownTableViewCell.xib │ │ ├── NewFolder │ │ ├── FolderTypeTableViewCell.swift │ │ ├── FolderTypeTableViewCell.xib │ │ ├── NewFolderHeaderTableViewCell.swift │ │ ├── NewFolderHeaderTableViewCell.xib │ │ ├── NewFolderLocationCollectionViewCell.swift │ │ ├── NewFolderLocationCollectionViewCell.xib │ │ ├── NewFolderLocationTableViewCell.swift │ │ ├── NewFolderLocationTableViewCell.xib │ │ ├── NewFolderSectionHeaderView.swift │ │ ├── NewFolderSectionHeaderView.xib │ │ ├── NewFolderSettingsTableViewCell.swift │ │ ├── NewFolderSettingsTableViewCell.xib │ │ ├── NewFolderSettingsTitleTableViewCell.swift │ │ ├── NewFolderSettingsTitleTableViewCell.xib │ │ ├── NewFolderShareRuleTableViewCell.swift │ │ ├── NewFolderShareRuleTableViewCell.xib │ │ ├── NewFolderShareRuleUserCollectionViewCell.swift │ │ ├── NewFolderShareRuleUserCollectionViewCell.xib │ │ └── NewFolderShareRuleUserLayout.swift │ │ ├── Onboarding │ │ └── OnboardingTextView.swift │ │ └── Upsale │ │ ├── NoDriveUpsaleViewController.swift │ │ ├── UpsaleFloatingPanelController.swift │ │ ├── UpsaleViewController+Matomo.swift │ │ └── UpsaleViewController.swift └── Utils │ ├── AlignedCollectionViewFlowLayout.swift │ ├── AppExtensionRouter.swift │ ├── AppFactoryService.swift │ ├── CustomLargeTitleCollectionViewController.swift │ ├── DropPosition.swift │ ├── FileActionsHelper.swift │ ├── InteractivePopRecognizer.swift │ ├── MyKSuiteChip.swift │ ├── SceneStateRestorable.swift │ ├── TopScrollable.swift │ ├── UINavigationController+Extension.swift │ ├── UINavigationItem+Extension.swift │ ├── UIScrollView+Extension.swift │ └── UploadCountManager.swift ├── kDriveAPITests └── kDriveCore │ ├── DriveApiTests.swift │ └── DriveFileManagerTests.swift ├── kDriveActionExtension ├── ActionExtension.entitlements ├── ActionNavigationController.swift ├── Base.lproj │ └── MainInterface.storyboard ├── Info.plist ├── Media.xcassets │ ├── Contents.json │ ├── ExtensionIcon.appiconset │ │ ├── Contents.json │ │ ├── Icon-120.png │ │ ├── Icon-121.png │ │ ├── Icon-180.png │ │ └── Icon-60.png │ └── TouchBarBezel.colorset │ │ └── Contents.json ├── de.lproj │ └── InfoPlist.strings ├── en.lproj │ └── InfoPlist.strings ├── es.lproj │ └── InfoPlist.strings ├── fr.lproj │ └── InfoPlist.strings └── it.lproj │ └── InfoPlist.strings ├── kDriveCore ├── AudioPlayer │ ├── MediaMetadata.swift │ ├── MediaPlayerOrchestrator.swift │ ├── NowPlayableCommand.swift │ ├── SingleTrackPlayer+RemoteControl.swift │ └── SingleTrackPlayer.swift ├── DI │ └── FactoryService.swift ├── Data │ ├── Api │ │ ├── ApiRoutes.swift │ │ ├── DriveApiFetcher+Listing.swift │ │ ├── DriveApiFetcher+Upload.swift │ │ ├── DriveApiFetcher.swift │ │ ├── DriveInitWith.swift │ │ ├── Endpoint+Files.swift │ │ ├── Endpoint+Share.swift │ │ ├── Endpoint+Trash.swift │ │ ├── Endpoint.swift │ │ ├── FileWith.swift │ │ ├── PublicShareApiFetcher.swift │ │ └── PublicShareMetadata.swift │ ├── Cache │ │ ├── AccountManager.swift │ │ ├── AvailableOfflineManager.swift │ │ ├── DriveFileManager │ │ │ ├── DriveFileManager+AvailableOffline.swift │ │ │ ├── DriveFileManager+Listing.swift │ │ │ ├── DriveFileManager+Query.swift │ │ │ ├── DriveFileManager+Transactionable.swift │ │ │ ├── DriveFileManager.swift │ │ │ └── DriveFileManagerConstants.swift │ │ ├── DriveInfosManager │ │ │ ├── DriveInfosManager+FileProvider.swift │ │ │ ├── DriveInfosManager+Query.swift │ │ │ └── DriveInfosManager.swift │ │ ├── FileListOptions.swift │ │ ├── PdfPreviewCache.swift │ │ └── PhotoSyncSettings.swift │ ├── Database │ │ └── RealmAccessor.swift │ ├── DownloadQueue │ │ ├── BackgroundDownloadSessionManager.swift │ │ ├── DownloadOperation │ │ │ ├── DownloadArchiveOperation.swift │ │ │ ├── DownloadAuthenticatedOperation.swift │ │ │ ├── DownloadOperation.swift │ │ │ ├── DownloadPublicShareArchiveOperation.swift │ │ │ └── DownloadPublicShareOperation.swift │ │ ├── DownloadQueue.swift │ │ └── DownloadQueueable.swift │ ├── MQService │ │ ├── ActionNotification.swift │ │ ├── ActionProgress.swift │ │ ├── ActionProgressNotification.swift │ │ ├── ActionType.swift │ │ ├── BulkAction.swift │ │ ├── IPSToken.swift │ │ └── MQService.swift │ ├── Models │ │ ├── ArchiveBody.swift │ │ ├── CancelableResponse.swift │ │ ├── Category.swift │ │ ├── CategoryResponse.swift │ │ ├── CategoryRights.swift │ │ ├── Comment.swift │ │ ├── DownloadArchiveResponse.swift │ │ ├── DragAndDropFile.swift │ │ ├── Drive │ │ │ ├── Drive+Quota.swift │ │ │ ├── Drive.swift │ │ │ ├── DriveAccount.swift │ │ │ ├── DriveCapabilities.swift │ │ │ ├── DrivePack.swift │ │ │ ├── DrivePackCapabilities.swift │ │ │ └── DriveRights.swift │ │ ├── DriveError.swift │ │ ├── DriveUser.swift │ │ ├── DropBox.swift │ │ ├── File+Image.swift │ │ ├── File+URL.swift │ │ ├── File.swift │ │ ├── FileAccess.swift │ │ ├── FileAction.swift │ │ ├── FileActionBody.swift │ │ ├── FileActivity.swift │ │ ├── FileCategory.swift │ │ ├── FileCount.swift │ │ ├── FileType.swift │ │ ├── ListStyle.swift │ │ ├── ListingResult.swift │ │ ├── PartialListingResult.swift │ │ ├── PhotoSortMode.swift │ │ ├── Rights.swift │ │ ├── ShareLink.swift │ │ ├── Shareable.swift │ │ ├── Tag.swift │ │ ├── Team.swift │ │ └── Upload │ │ │ ├── CornerCellContainer.swift │ │ │ ├── DirectUploadToken.swift │ │ │ ├── UploadFile.swift │ │ │ ├── UploadLiveSession.swift │ │ │ ├── UploadSession.swift │ │ │ ├── UploadedChunk.swift │ │ │ ├── UploadedFile.swift │ │ │ ├── UploadingChunkTask.swift │ │ │ └── UploadingSessionTask.swift │ ├── Restoration │ │ └── SceneRestorationKeys.swift │ └── Upload │ │ ├── Servicies │ │ ├── BackgroundUploadSessionManager.swift │ │ ├── FreeSpace │ │ │ ├── CacheModel.swift │ │ │ └── FreeSpaceService.swift │ │ ├── PhotoLibraryUploader │ │ │ ├── PhotoLibraryCleanerService.swift │ │ │ ├── PhotoLibraryUploader+Query.swift │ │ │ ├── PhotoLibraryUploader+Scan.swift │ │ │ ├── PhotoLibraryUploader+Sync.swift │ │ │ └── PhotoLibraryUploader.swift │ │ └── UploadService │ │ │ ├── Parallelism │ │ │ ├── UploadParallelismOrchestrator.swift │ │ │ └── WorkloadParallelismHeuristic.swift │ │ │ ├── UploadService+Datasource.swift │ │ │ ├── UploadService+Notifications.swift │ │ │ ├── UploadService+Observation.swift │ │ │ ├── UploadService+Publish.swift │ │ │ ├── UploadService.swift │ │ │ └── UploadServiceable.swift │ │ └── UploadQueue │ │ ├── Chunk │ │ ├── ChunkProvider.swift │ │ ├── FileHandlable.swift │ │ ├── RangeProvider.swift │ │ └── RangeProviderGuts.swift │ │ ├── Operation │ │ ├── UploadOperation+Database.swift │ │ ├── UploadOperation+Datasource.swift │ │ ├── UploadOperation+Error.swift │ │ ├── UploadOperation+ExpiringActivityDelegate.swift │ │ ├── UploadOperation+PHAsset.swift │ │ ├── UploadOperation+Request.swift │ │ ├── UploadOperation+UploadChunk.swift │ │ ├── UploadOperation+UploadSession.swift │ │ ├── UploadOperation.swift │ │ └── UploadOperationable.swift │ │ └── Queue │ │ ├── KeyedUploadOperationable.swift │ │ ├── PhotoUploadQueue.swift │ │ ├── UploadQueue+Queue.swift │ │ ├── UploadQueue.swift │ │ ├── UploadQueueObserver.swift │ │ └── UploadQueueable.swift ├── FileProvider │ ├── FileProviderItem.swift │ ├── FileProviderItemProvider.swift │ ├── FileProviderService.swift │ └── UploadFileProviderItem.swift ├── GoogleService-Info.plist ├── Info.plist ├── Services │ ├── AppContextService.swift │ ├── AppRestorationServiceable.swift │ └── BackgroundTasksService.swift ├── UI │ ├── Alert │ │ ├── AlertChoiceViewController.swift │ │ ├── AlertFieldViewController.swift │ │ ├── AlertTextViewController.swift │ │ └── AlertViewController.swift │ ├── IKButton.swift │ ├── IKLargeButton.swift │ ├── IKLargeIconButton.swift │ ├── IKRoundButton.swift │ ├── MaterialOutlinedTextField+Extension.swift │ ├── Restorable.swift │ ├── Scan │ │ ├── SaveScanWorker.swift │ │ └── SaveScanWorkerDelegate.swift │ ├── UIConstants.swift │ └── UIViewControllerExtension.swift ├── Utils │ ├── AbstractLog+Category.swift │ ├── AbstractLog.swift │ ├── AppNavigable.swift │ ├── AttributedString+Extension.swift │ ├── Constants.swift │ ├── DeeplinkParser.swift │ ├── Deeplinks │ │ ├── DeeplinkService.swift │ │ ├── PublicShareLink.swift │ │ └── UniversalLinksHelper.swift │ ├── DispatchGroup+Extension.swift │ ├── DriveUserDefaults+Extension.swift │ ├── FileProvider │ │ └── FileProviderDomain+Identifier.swift │ ├── Files │ │ ├── FileImportHelper+Upload.swift │ │ ├── FileImportHelper.swift │ │ ├── FileManager+Extension.swift │ │ ├── FilePreviewHelper.swift │ │ ├── ImportedFile.swift │ │ ├── PhotoFileFormat.swift │ │ └── ScanFileFormat.swift │ ├── IKSegmentedControl.swift │ ├── IKSelectButton.swift │ ├── IKSlider.swift │ ├── InExtensionRouter.swift │ ├── LocalizedFilenameFormatter.swift │ ├── Logging.swift │ ├── MatomoUtils+Extension.swift │ ├── NotificationName+Extension.swift │ ├── NotificationsHelper.swift │ ├── OperationQueueHelper.swift │ ├── PHAsset │ │ ├── PHAsset+Exension.swift │ │ ├── PHAssetIdentifier.swift │ │ └── PHAssetNameProvider.swift │ ├── PhotoLibrarySaver.swift │ ├── PlusButtonObserver.swift │ ├── PresentationOrigin.swift │ ├── RootViewControllerState.swift │ ├── Routable.swift │ ├── Sentry │ │ ├── ApiToken+Sentry.swift │ │ ├── SentryDebug+Misc.swift │ │ ├── SentryDebug+Realm.swift │ │ ├── SentryDebug+Upload.swift │ │ └── SentryDebug.swift │ ├── String+Extension.swift │ ├── SyncMode.swift │ ├── TextFieldConfiguration.swift │ ├── Theme.swift │ └── UIImage+HEIF.swift ├── VideoPlayer │ └── VideoPlayer.swift └── kDriveCore.h ├── kDriveFileProvider ├── Enumerators │ ├── DirectoryEnumerator.swift │ ├── RootEnumerator.swift │ └── WorkingSetEnumerator.swift ├── FileProvider.entitlements ├── FileProviderExtension+Actions.swift ├── FileProviderExtension+Thumbnail.swift ├── FileProviderExtension.swift ├── Info.plist ├── NSFileProviderPage+Extension.swift ├── NSFileProviderSyncAnchor+Extension.swift └── Validation │ ├── FileProviderValidationServiceSource.h │ ├── FileProviderValidationServiceSource.m │ └── kDriveFileProvider-Bridging-Header.h ├── kDriveShareExtension ├── Base.lproj │ └── MainInterface.storyboard ├── Info.plist ├── ShareExtension.entitlements └── ShareNavigationViewController.swift ├── kDriveTestShared ├── Env.sample.swift ├── JSONHelper.swift ├── MCKAvailableOfflineManager.swift ├── MCKPhotoLibraryQueryable.swift ├── MCKPhotoLibraryScanable.swift ├── MCKPhotoLibrarySyncable.swift ├── MCKPhotoLibraryUploadable.swift ├── MCKRouter.swift ├── MCKTokenDelegate.swift ├── MockingHelper.swift └── TestsMessages.swift ├── kDriveTests ├── StateRestoration │ └── UTSceneRestorationMetadata.swift ├── UTNavigationManager.swift ├── kDrive │ └── Launch │ │ ├── ITAppLaunchTest.swift │ │ ├── MockAccountManager.swift │ │ └── UTRootViewControllerState.swift └── kDriveCore │ ├── BinaryDisplaySizeBinaryDisplaySize.swift │ ├── Drive │ ├── ITDrive.swift │ └── JSON │ │ ├── free_drive.json │ │ └── paid_drive.json │ ├── Files │ └── UTPHAssetNameProvider.swift │ ├── MenuViewControllerTests.swift │ ├── UTAppContextServiceable.swift │ ├── UTPersistableEnumDecoding.swift │ └── UploadChunks │ ├── ITChunkProvider.swift │ ├── ITRangeProvider.swift │ ├── ITRangeProviderGuts.swift │ ├── Matterhorn_as_seen_from_Zermatt,_Wallis,_Switzerland,_2012_August,Wikimedia_Commons.jpg │ ├── Mocks │ ├── MCKChunkProvidable.swift │ ├── MCKFileHandlable.swift │ ├── MCKRangeProvidable.swift │ └── MCKRangeProviderGuts.swift │ ├── UTChunkProvider.swift │ ├── UTRangeProvider.swift │ └── UTRangeProviderGuts.swift ├── kDriveUITests └── DriveUITest.swift └── scripts └── lint.sh /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | 12 | 13 | **Description** 14 | A clear and concise description of what the bug is. 15 | 16 | **Steps to reproduce** 17 | Steps to reproduce the behavior: 18 | 1. Go to '...' 19 | 2. Click on '....' 20 | 3. Scroll down to '....' 21 | 4. See error 22 | 23 | **Expected behavior** 24 | A clear and concise description of what you expected to happen. 25 | 26 | **Screenshots** 27 | If applicable, add screenshots to help explain your problem. 28 | 29 | **Smartphone (please complete the following information):** 30 | - Device: [e.g. iPhone 12] 31 | - iOS version: [e.g. iOS 14.0] 32 | - App version: [e.g. 4.0.1] 33 | 34 | **Additional context** 35 | Add any other context about the problem here. 36 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | 12 | 13 | **Is your feature request related to a problem? Please describe.** 14 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 15 | 16 | **Describe the solution you'd like** 17 | A clear and concise description of what you want to happen. 18 | 19 | **Describe alternatives you've considered** 20 | A clear and concise description of any alternative solutions or features you've considered. 21 | 22 | **Additional context** 23 | Add any other context or screenshots about the feature request here. 24 | -------------------------------------------------------------------------------- /.github/workflows/dependent-issues.yml: -------------------------------------------------------------------------------- 1 | name: Dependent Issues 2 | 3 | on: 4 | issues: 5 | types: 6 | - opened 7 | - edited 8 | - closed 9 | - reopened 10 | pull_request_target: 11 | types: 12 | - opened 13 | - edited 14 | - closed 15 | - reopened 16 | # Makes sure we always add status check for PRs. Useful only if 17 | # this action is required to pass before merging. Otherwise, it 18 | # can be removed. 19 | - synchronize 20 | 21 | jobs: 22 | check: 23 | runs-on: ubuntu-latest 24 | steps: 25 | - uses: z0al/dependent-issues@v1 26 | env: 27 | # (Required) The token to use to make API calls to GitHub. 28 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 29 | -------------------------------------------------------------------------------- /.github/workflows/semantic-commit.yml: -------------------------------------------------------------------------------- 1 | name: 'PR and Commit Message Check' 2 | on: 3 | pull_request_target: 4 | types: 5 | - opened 6 | - edited 7 | - reopened 8 | - synchronize 9 | 10 | jobs: 11 | check-commit-message: 12 | name: Check Commit Message 13 | runs-on: ubuntu-latest 14 | steps: 15 | - name: Check Commit Message 16 | uses: gsactions/commit-message-checker@v2 17 | with: 18 | pattern: '^(Merge .+|((feat|fix|chore|docs|style|refactor|perf|ci|test)(\(.+\))?: [A-Z0-9].+[^.\s])$)' 19 | error: 'Commit messages and PR title should match conventional commit convention and start with an uppercase.' 20 | excludeDescription: 'true' 21 | excludeTitle: 'false' 22 | checkAllCommitMessages: 'true' 23 | accessToken: ${{ secrets.GITHUB_TOKEN }} 24 | -------------------------------------------------------------------------------- /.github/workflows/swiftformat.yml: -------------------------------------------------------------------------------- 1 | name: SwiftFormat 2 | 3 | on: 4 | pull_request: 5 | branches: [ master ] 6 | 7 | jobs: 8 | build: 9 | name: SwiftFormat 10 | runs-on: [ self-hosted, iOS ] 11 | 12 | steps: 13 | - name: Cancel Previous Runs 14 | uses: styfle/cancel-workflow-action@0.12.1 15 | with: 16 | access_token: ${{ github.token }} 17 | - uses: jdx/mise-action@v2 18 | with: 19 | cache: false 20 | - name: Checkout 21 | uses: actions/checkout@v4 22 | with: 23 | fetch-depth: 0 24 | - name: SwiftFormat 25 | run: swiftformat --lint . --reporter github-actions-log 26 | -------------------------------------------------------------------------------- /.github/workflows/swiftlint.yml: -------------------------------------------------------------------------------- 1 | name: SwiftLint 2 | 3 | on: 4 | pull_request: 5 | branches: [ master ] 6 | 7 | jobs: 8 | build: 9 | name: SwiftLint 10 | runs-on: [ self-hosted, iOS ] 11 | 12 | steps: 13 | - name: Cancel Previous Runs 14 | uses: styfle/cancel-workflow-action@0.12.1 15 | with: 16 | access_token: ${{ github.token }} 17 | - uses: jdx/mise-action@v2 18 | with: 19 | cache: false 20 | - name: Checkout 21 | uses: actions/checkout@v4 22 | with: 23 | fetch-depth: 0 24 | - name: SwiftLint 25 | run: swiftlint --config .swiftlint.yml --config .swiftlint-ci.yml --reporter github-actions-logging . 26 | -------------------------------------------------------------------------------- /.mise.toml: -------------------------------------------------------------------------------- 1 | [tools] 2 | tuist = '4.45.1' 3 | periphery = '2.21.1' 4 | swiftformat = '0.54.5' 5 | swiftlint = '0.57.0' 6 | sentry-cli = "latest" 7 | 8 | -------------------------------------------------------------------------------- /.sonarcloud.properties: -------------------------------------------------------------------------------- 1 | ## Path to sources 2 | sonar.sources=kDrive, kDriveActionExtension, kDriveCore, kDriveFileProvider, kDriveShareExtension, Tuist 3 | sonar.exclusions=scripts 4 | # sonar.inclusions= 5 | 6 | ## Path to tests 7 | sonar.tests=kDriveTests, kDriveUITests 8 | # sonar.test.exclusions= 9 | # sonar.test.inclusions= 10 | 11 | ## Source encoding 12 | # sonar.sourceEncoding= 13 | 14 | # Exclusions for copy-paste detection 15 | # sonar.cpd.exclusions= 16 | -------------------------------------------------------------------------------- /.swiftlint-ci.yml: -------------------------------------------------------------------------------- 1 | disabled_rules: 2 | - todo 3 | strict: true 4 | -------------------------------------------------------------------------------- /.swiftlint.yml: -------------------------------------------------------------------------------- 1 | disabled_rules: 2 | - line_length 3 | - identifier_name 4 | - type_body_length 5 | - function_body_length 6 | - file_length 7 | - type_name 8 | - force_cast 9 | - cyclomatic_complexity 10 | - closure_parameter_position 11 | - inclusive_language 12 | - for_where 13 | - optional_data_string_conversion 14 | opt_in_rules: 15 | - strong_iboutlet 16 | - closure_end_indentation 17 | - closure_spacing 18 | - collection_alignment 19 | - contains_over_filter_count 20 | - contains_over_first_not_nil 21 | - contains_over_range_nil_comparison 22 | - empty_collection_literal 23 | - empty_count 24 | - empty_string 25 | - first_where 26 | - identical_operands 27 | - last_where 28 | - operator_usage_whitespace 29 | - overridden_super_call 30 | - prefer_zero_over_explicit_init 31 | - prohibited_super_call 32 | - redundant_type_annotation 33 | - toggle_bool 34 | - trailing_closure 35 | - unneeded_parentheses_in_closure_argument 36 | analyzer_rules: 37 | - unused_import 38 | excluded: 39 | - .tuist-bin/* 40 | - Derived/Sources/* 41 | - DerivedData/ 42 | - Derived/ 43 | - Tuist/.build/ 44 | function_parameter_count: 7 45 | -------------------------------------------------------------------------------- /TestFlight/WhatToTest.en-GB.txt: -------------------------------------------------------------------------------- 1 | - Fix folder selection. -------------------------------------------------------------------------------- /TestFlight/WhatToTest.fr-FR.txt: -------------------------------------------------------------------------------- 1 | - Correction de la sélection d'un dossier. -------------------------------------------------------------------------------- /ci_scripts/ci_post_clone.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | ./check_preconditions.sh 5 | 6 | cd .. 7 | 8 | curl https://mise.run | sh 9 | export PATH="$HOME/.local/bin:$PATH" 10 | 11 | mise install 12 | eval "$(mise activate bash --shims)" 13 | 14 | tuist install 15 | tuist generate --no-open 16 | -------------------------------------------------------------------------------- /ci_scripts/ci_post_xcodebuild.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | ./check_preconditions.sh 5 | 6 | cd .. 7 | 8 | curl https://mise.run | sh 9 | export PATH="$HOME/.local/bin:$PATH" 10 | 11 | mise install 12 | eval "$(mise activate bash --shims)" 13 | 14 | 15 | if [[ -n $CI_ARCHIVE_PATH ]]; 16 | then 17 | # Upload dSYMs 18 | sentry-cli --url $SENTRY_URL --auth-token $SENTRY_AUTH_TOKEN upload-dif --org sentry --project $SENTRY_PROJECT --include-sources $CI_DERIVED_DATA_PATH 19 | else 20 | echo "Archive path isn't available. Unable to run dSYMs uploading script." 21 | fi 22 | -------------------------------------------------------------------------------- /file-header-template.txt: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | Infomaniak kDrive - iOS App 4 | Copyright (C) 2025 Infomaniak Network SA 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see . 18 | */ -------------------------------------------------------------------------------- /kDrive/IAP/ProductIds.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.infomaniak.drive.iap.solo.yearly 6 | com.infomaniak.drive.iap.solo.monthly 7 | com.infomaniak.drive.iap.team.monthly 8 | com.infomaniak.drive.iap.team.yearly 9 | 10 | 11 | -------------------------------------------------------------------------------- /kDrive/IAP/SKProduct+Extension.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | import StoreKit 21 | 22 | extension SKProduct { 23 | /// The cost of the product formatted in the local currency. 24 | var regularPrice: String? { 25 | let formatter = NumberFormatter() 26 | formatter.numberStyle = .currency 27 | formatter.locale = priceLocale 28 | return formatter.string(from: price) 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "kDrive-Light.png", 5 | "idiom" : "universal", 6 | "platform" : "ios", 7 | "size" : "1024x1024" 8 | }, 9 | { 10 | "appearances" : [ 11 | { 12 | "appearance" : "luminosity", 13 | "value" : "dark" 14 | } 15 | ], 16 | "filename" : "kDrive-Dark.png", 17 | "idiom" : "universal", 18 | "platform" : "ios", 19 | "size" : "1024x1024" 20 | }, 21 | { 22 | "appearances" : [ 23 | { 24 | "appearance" : "luminosity", 25 | "value" : "tinted" 26 | } 27 | ], 28 | "filename" : "kDrive-Tinted.png", 29 | "idiom" : "universal", 30 | "platform" : "ios", 31 | "size" : "1024x1024" 32 | } 33 | ], 34 | "info" : { 35 | "author" : "xcode", 36 | "version" : 1 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/AppIcon.appiconset/kDrive-Dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDrive/Resources/Assets.xcassets/AppIcon.appiconset/kDrive-Dark.png -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/AppIcon.appiconset/kDrive-Light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDrive/Resources/Assets.xcassets/AppIcon.appiconset/kDrive-Light.png -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/AppIcon.appiconset/kDrive-Tinted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDrive/Resources/Assets.xcassets/AppIcon.appiconset/kDrive-Tinted.png -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/BorderColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0xE0", 9 | "green" : "0xE0", 10 | "red" : "0xE0" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | }, 15 | { 16 | "appearances" : [ 17 | { 18 | "appearance" : "luminosity", 19 | "value" : "dark" 20 | } 21 | ], 22 | "color" : { 23 | "color-space" : "srgb", 24 | "components" : { 25 | "alpha" : "1.000", 26 | "blue" : "0x71", 27 | "green" : "0x70", 28 | "red" : "0x6F" 29 | } 30 | }, 31 | "idiom" : "universal" 32 | } 33 | ], 34 | "info" : { 35 | "author" : "xcode", 36 | "version" : 1 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/backgroundCardViewColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0xFF", 9 | "green" : "0xFF", 10 | "red" : "0xFF" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | }, 15 | { 16 | "appearances" : [ 17 | { 18 | "appearance" : "luminosity", 19 | "value" : "dark" 20 | } 21 | ], 22 | "color" : { 23 | "color-space" : "srgb", 24 | "components" : { 25 | "alpha" : "1.000", 26 | "blue" : "0x30", 27 | "green" : "0x2E", 28 | "red" : "0x2C" 29 | } 30 | }, 31 | "idiom" : "universal" 32 | } 33 | ], 34 | "info" : { 35 | "author" : "xcode", 36 | "version" : 1 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/backgroundCardViewSelectedColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0xD0", 9 | "green" : "0xC9", 10 | "red" : "0xC9" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | }, 15 | { 16 | "appearances" : [ 17 | { 18 | "appearance" : "luminosity", 19 | "value" : "dark" 20 | } 21 | ], 22 | "color" : { 23 | "color-space" : "srgb", 24 | "components" : { 25 | "alpha" : "1.000", 26 | "blue" : "0xD0", 27 | "green" : "0xCA", 28 | "red" : "0xCA" 29 | } 30 | }, 31 | "idiom" : "universal" 32 | } 33 | ], 34 | "info" : { 35 | "author" : "xcode", 36 | "version" : 1 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/backgroundColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0xFD", 9 | "green" : "0xF6", 10 | "red" : "0xF4" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | }, 15 | { 16 | "appearances" : [ 17 | { 18 | "appearance" : "luminosity", 19 | "value" : "dark" 20 | } 21 | ], 22 | "color" : { 23 | "color-space" : "srgb", 24 | "components" : { 25 | "alpha" : "1.000", 26 | "blue" : "0x15", 27 | "green" : "0x14", 28 | "red" : "0x13" 29 | } 30 | }, 31 | "idiom" : "universal" 32 | } 33 | ], 34 | "info" : { 35 | "author" : "xcode", 36 | "version" : 1 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/binColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0x2E", 9 | "green" : "0x47", 10 | "red" : "0xFB" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/blueFolderColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0xFF", 9 | "green" : "0x87", 10 | "red" : "0x52" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/buttonDisabledBackgroundColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "0.120", 8 | "blue" : "0x00", 9 | "green" : "0x00", 10 | "red" : "0x00" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | }, 15 | { 16 | "appearances" : [ 17 | { 18 | "appearance" : "luminosity", 19 | "value" : "dark" 20 | } 21 | ], 22 | "color" : { 23 | "color-space" : "srgb", 24 | "components" : { 25 | "alpha" : "0.600", 26 | "blue" : "0x00", 27 | "green" : "0x00", 28 | "red" : "0x00" 29 | } 30 | }, 31 | "idiom" : "universal" 32 | } 33 | ], 34 | "info" : { 35 | "author" : "xcode", 36 | "version" : 1 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/buttonDisabledTitleColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "0.370", 8 | "blue" : "0x00", 9 | "green" : "0x00", 10 | "red" : "0x00" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | }, 15 | { 16 | "appearances" : [ 17 | { 18 | "appearance" : "luminosity", 19 | "value" : "dark" 20 | } 21 | ], 22 | "color" : { 23 | "color-space" : "srgb", 24 | "components" : { 25 | "alpha" : "0.600", 26 | "blue" : "0xFF", 27 | "green" : "0xFF", 28 | "red" : "0xFF" 29 | } 30 | }, 31 | "idiom" : "universal" 32 | } 33 | ], 34 | "info" : { 35 | "author" : "xcode", 36 | "version" : 1 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/darkBlueColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0xD8", 9 | "green" : "0x81", 10 | "red" : "0x00" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/disconnectColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors": [ 3 | { 4 | "color": { 5 | "color-space": "srgb", 6 | "components": { 7 | "alpha": "1.000", 8 | "blue": "0x88", 9 | "green": "0x88", 10 | "red": "0x88" 11 | } 12 | }, 13 | "idiom": "universal" 14 | } 15 | ], 16 | "info": { 17 | "author": "xcode", 18 | "version": 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/favoriteColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0x0A", 9 | "green" : "0xC1", 10 | "red" : "0xFF" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/grayBackgroundChipColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0xF1", 9 | "green" : "0xF1", 10 | "red" : "0xF1" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | }, 15 | { 16 | "appearances" : [ 17 | { 18 | "appearance" : "luminosity", 19 | "value" : "dark" 20 | } 21 | ], 22 | "color" : { 23 | "color-space" : "srgb", 24 | "components" : { 25 | "alpha" : "1.000", 26 | "blue" : "0x1A", 27 | "green" : "0x1A", 28 | "red" : "0x1A" 29 | } 30 | }, 31 | "idiom" : "universal" 32 | } 33 | ], 34 | "info" : { 35 | "author" : "xcode", 36 | "version" : 1 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/greenColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors": [ 3 | { 4 | "color": { 5 | "color-space": "srgb", 6 | "components": { 7 | "alpha": "1.000", 8 | "blue": "0.302", 9 | "green": "0.749", 10 | "red": "0.243" 11 | } 12 | }, 13 | "idiom": "universal" 14 | } 15 | ], 16 | "info": { 17 | "author": "xcode", 18 | "version": 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/headerTitleColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0x72", 9 | "green" : "0x67", 10 | "red" : "0x55" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/iconColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0xB6", 9 | "green" : "0xA2", 10 | "red" : "0x85" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | }, 15 | { 16 | "appearances" : [ 17 | { 18 | "appearance" : "luminosity", 19 | "value" : "dark" 20 | } 21 | ], 22 | "color" : { 23 | "color-space" : "srgb", 24 | "components" : { 25 | "alpha" : "1.000", 26 | "blue" : "0x9F", 27 | "green" : "0x96", 28 | "red" : "0x88" 29 | } 30 | }, 31 | "idiom" : "universal" 32 | } 33 | ], 34 | "info" : { 35 | "author" : "xcode", 36 | "version" : 1 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/infomaniakColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0xFF", 9 | "green" : "0x98", 10 | "red" : "0x00" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/loaderDarkerDefaultColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0xB4", 9 | "green" : "0xB4", 10 | "red" : "0xB4" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | }, 15 | { 16 | "appearances" : [ 17 | { 18 | "appearance" : "luminosity", 19 | "value" : "dark" 20 | } 21 | ], 22 | "color" : { 23 | "color-space" : "srgb", 24 | "components" : { 25 | "alpha" : "1.000", 26 | "blue" : "0x77", 27 | "green" : "0x77", 28 | "red" : "0x77" 29 | } 30 | }, 31 | "idiom" : "universal" 32 | } 33 | ], 34 | "info" : { 35 | "author" : "xcode", 36 | "version" : 1 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/loaderDefaultColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0xD7", 9 | "green" : "0xD7", 10 | "red" : "0xD7" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | }, 15 | { 16 | "appearances" : [ 17 | { 18 | "appearance" : "luminosity", 19 | "value" : "dark" 20 | } 21 | ], 22 | "color" : { 23 | "color-space" : "srgb", 24 | "components" : { 25 | "alpha" : "1.000", 26 | "blue" : "0x66", 27 | "green" : "0x66", 28 | "red" : "0x66" 29 | } 30 | }, 31 | "idiom" : "universal" 32 | } 33 | ], 34 | "info" : { 35 | "author" : "xcode", 36 | "version" : 1 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/onlyOfficeBackgroundColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0xFF", 9 | "green" : "0xFF", 10 | "red" : "0xFF" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | }, 15 | { 16 | "appearances" : [ 17 | { 18 | "appearance" : "luminosity", 19 | "value" : "dark" 20 | } 21 | ], 22 | "color" : { 23 | "color-space" : "srgb", 24 | "components" : { 25 | "alpha" : "1.000", 26 | "blue" : "0x23", 27 | "green" : "0x23", 28 | "red" : "0x23" 29 | } 30 | }, 31 | "idiom" : "universal" 32 | } 33 | ], 34 | "info" : { 35 | "author" : "xcode", 36 | "version" : 1 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/previewBackgroundColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0x28", 9 | "green" : "0x1C", 10 | "red" : "0x11" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/primaryTextColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0x66", 9 | "green" : "0x66", 10 | "red" : "0x66" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | }, 15 | { 16 | "appearances" : [ 17 | { 18 | "appearance" : "luminosity", 19 | "value" : "dark" 20 | } 21 | ], 22 | "color" : { 23 | "color-space" : "srgb", 24 | "components" : { 25 | "alpha" : "1.000", 26 | "blue" : "0x9E", 27 | "green" : "0x9E", 28 | "red" : "0x9E" 29 | } 30 | }, 31 | "idiom" : "universal" 32 | } 33 | ], 34 | "info" : { 35 | "author" : "xcode", 36 | "version" : 1 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/secondaryTextColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0x9F", 9 | "green" : "0x9F", 10 | "red" : "0x9F" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/separatorColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0xF7", 9 | "green" : "0xF7", 10 | "red" : "0xF7" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | }, 15 | { 16 | "appearances" : [ 17 | { 18 | "appearance" : "luminosity", 19 | "value" : "dark" 20 | } 21 | ], 22 | "color" : { 23 | "color-space" : "srgb", 24 | "components" : { 25 | "alpha" : "1.000", 26 | "blue" : "0x24", 27 | "green" : "0x23", 28 | "red" : "0x22" 29 | } 30 | }, 31 | "idiom" : "universal" 32 | } 33 | ], 34 | "info" : { 35 | "author" : "xcode", 36 | "version" : 1 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/titleColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors": [ 3 | { 4 | "color": { 5 | "color-space": "srgb", 6 | "components": { 7 | "alpha": "1.000", 8 | "blue": "0x33", 9 | "green": "0x33", 10 | "red": "0x33" 11 | } 12 | }, 13 | "idiom": "universal" 14 | }, 15 | { 16 | "appearances": [ 17 | { 18 | "appearance": "luminosity", 19 | "value": "dark" 20 | } 21 | ], 22 | "color": { 23 | "color-space": "srgb", 24 | "components": { 25 | "alpha": "1.000", 26 | "blue": "1.000", 27 | "green": "1.000", 28 | "red": "1.000" 29 | } 30 | }, 31 | "idiom": "universal" 32 | } 33 | ], 34 | "info": { 35 | "author": "xcode", 36 | "version": 1 37 | }, 38 | "properties": { 39 | "localizable": true 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/warningColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0.000", 9 | "green" : "0.522", 10 | "red" : "1.000" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Colors/whiteBackgroundChipColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "0xFF", 9 | "green" : "0xFF", 10 | "red" : "0xFF" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | }, 15 | { 16 | "appearances" : [ 17 | { 18 | "appearance" : "luminosity", 19 | "value" : "dark" 20 | } 21 | ], 22 | "color" : { 23 | "color-space" : "srgb", 24 | "components" : { 25 | "alpha" : "1.000", 26 | "blue" : "0x33", 27 | "green" : "0x33", 28 | "red" : "0x33" 29 | } 30 | }, 31 | "idiom" : "universal" 32 | } 33 | ], 34 | "info" : { 35 | "author" : "xcode", 36 | "version" : 1 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/UFO.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "abducted_files.svg", 5 | "idiom" : "universal" 6 | }, 7 | { 8 | "appearances" : [ 9 | { 10 | "appearance" : "luminosity", 11 | "value" : "dark" 12 | } 13 | ], 14 | "idiom" : "universal" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | }, 21 | "properties" : { 22 | "preserves-vector-representation" : true 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/add.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "add.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/add_user.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "add_user.pdf", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/add_user.imageset/add_user.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDrive/Resources/Assets.xcassets/add_user.imageset/add_user.pdf -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/arrow-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "arrow-right.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/available-offline.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "offline.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/background-1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "background-1.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/background-1.imageset/background-1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | background-1 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/background-2.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "background-2.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/background-2.imageset/background-2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | background-2 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/background-3.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "background-3.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/background-3.imageset/background-3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | background-3 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/big-check.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "big-check.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/calendar.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "calendar.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/camera.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "camera.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/categories.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "categories.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/check.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "check.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/check.imageset/check.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/chevron-down.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "chevron-down.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/chevron-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "chevron-left.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/chevron-left.imageset/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/chevron-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "chevron-right.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/chevron-right.imageset/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/chevron.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "chevron.pdf", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/chevron.imageset/chevron.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDrive/Resources/Assets.xcassets/chevron.imageset/chevron.pdf -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/circle-drive.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "circle-drive.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/circle-pro.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "pro.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/circle-send.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "circle-send.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/circle-solo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "solo.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/circle-tag.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "circle-tag.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/circle-team.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "team.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/clock.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "clock.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/clock.imageset/clock.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/close.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "close.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/color-bucket.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "color-bucket.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/comment.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "comment.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/copy.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "copy.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/crown.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "crown.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/delete.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "delete.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/document-signature-pencil-bulb.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "document-signature-pencil-bulb.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/download.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "download.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/download.imageset/download.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/drive-blocked.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "drive-blocked.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/drive-switch.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "drive-switch.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/drive.cloud.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "drive.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/drive.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "drive.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/drive.imageset/drive.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/duplicate.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "duplicate.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/edit-document.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "edit-document.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/edit.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "edit.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/edit.imageset/edit.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/export-ios.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "export-ios.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/face_id_edit.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "face_id_edit.svg", 5 | "idiom" : "universal" 6 | }, 7 | { 8 | "appearances" : [ 9 | { 10 | "appearance" : "luminosity", 11 | "value" : "dark" 12 | } 13 | ], 14 | "filename" : "face_id_edit_dark.svg", 15 | "idiom" : "universal" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | }, 22 | "properties" : { 23 | "preserves-vector-representation" : true 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/favorite.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "favorite.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/favorite.imageset/favorite.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-3dmodel.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "file-3dmodel.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-audio.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "file-audio.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-audio.imageset/file-audio.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-code.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "file-code.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-default.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "file-default.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-default.imageset/file-default.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | icons/document types/file-default 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-email.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "file-email.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-email.imageset/file-email.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-font.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "file-font.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-font.imageset/file-font.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-form.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "alignment-insets" : { 5 | "bottom" : 0, 6 | "left" : 0, 7 | "right" : 4, 8 | "top" : 0 9 | }, 10 | "filename" : "form.svg", 11 | "idiom" : "universal" 12 | } 13 | ], 14 | "info" : { 15 | "author" : "xcode", 16 | "version" : 1 17 | }, 18 | "properties" : { 19 | "preserves-vector-representation" : true 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-image-small.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "true 350 - circle.svg", 5 | "idiom" : "universal" 6 | }, 7 | { 8 | "appearances" : [ 9 | { 10 | "appearance" : "luminosity", 11 | "value" : "dark" 12 | } 13 | ], 14 | "filename" : "true 350 – dark - circle.svg", 15 | "idiom" : "universal" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | }, 22 | "properties" : { 23 | "preserves-vector-representation" : true 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-image.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "file-image.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-image.imageset/file-image.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-pdf.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "file-pdf.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-presentation.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "file-presentation.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-presentation.imageset/file-presentation.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-sheets.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "file-sheets.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-text.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "file-text.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-text.imageset/file-text.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-video.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "file-video.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-video.imageset/file-video.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/file-zip.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "file-zip.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/filter.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "filter.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/folder-add.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "folder-add.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/folder-common-documents.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "folder-common-documents.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/folder-disable.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "folder-disable.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/folder-drop-box.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "folder-drop-box.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/folder-filled-tab.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "folder-fill.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/folder-filled-tab.imageset/folder-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/folder-filled.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "folder.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/folder-select-2.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "folder-select-2.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/folder-select.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "folder-select.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/folder-select.imageset/folder-select.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/folder-shared.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "folder-shared.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/folder.arrow.up.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "folder.arrow.up.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/folder.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "folder.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/folder.imageset/folder.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/gallery.fill.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "gallery.fill.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/gallery.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "gallery.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/grid.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "grid.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/house-fill.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "house-fill.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/house-fill.imageset/house-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/house.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "house.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/illu-categories.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "EN-categories.svg", 5 | "idiom" : "universal" 6 | }, 7 | { 8 | "filename" : "FR-categories.svg", 9 | "idiom" : "universal", 10 | "locale" : "fr" 11 | } 12 | ], 13 | "info" : { 14 | "author" : "xcode", 15 | "version" : 1 16 | }, 17 | "properties" : { 18 | "localizable" : true, 19 | "preserves-vector-representation" : true 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/illu-collab.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "illu-collab.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/illu-devices.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "illu-devices.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/illu-drop-box.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "illu-drop-box.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/illu-photos.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "illu-photos.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/illu-upgrade.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "illu-upgrade.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/image.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "file-image.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/image.imageset/file-image.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/images.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "images.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/images.imageset/images.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/info-filled.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "info-filled.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/info.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "info.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/largelist.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "largelist.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/largelist.imageset/largelist.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | icon-view-activity 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/link-broken.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "link-broken.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/link.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "link.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/list.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "list.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/lock.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "lock.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/lock_external.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "lock-clear.svg", 5 | "idiom" : "universal" 6 | }, 7 | { 8 | "appearances" : [ 9 | { 10 | "appearance" : "luminosity", 11 | "value" : "dark" 12 | } 13 | ], 14 | "filename" : "lock-dark.svg", 15 | "idiom" : "universal" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | }, 22 | "properties" : { 23 | "preserves-vector-representation" : true 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/lock_external.imageset/lock-clear.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/lock_external.imageset/lock-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/lock_infomaniak.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "lock_infomaniak.svg", 5 | "idiom" : "universal" 6 | }, 7 | { 8 | "appearances" : [ 9 | { 10 | "appearance" : "luminosity", 11 | "value" : "dark" 12 | } 13 | ], 14 | "filename" : "lock-dark.svg", 15 | "idiom" : "universal" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | }, 22 | "properties" : { 23 | "preserves-vector-representation" : true 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/logo-kdrive-beta.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "logo-kdrive-beta.svg", 5 | "idiom" : "universal" 6 | }, 7 | { 8 | "appearances" : [ 9 | { 10 | "appearance" : "luminosity", 11 | "value" : "dark" 12 | } 13 | ], 14 | "filename" : "logo-kdrive-beta-light.svg", 15 | "idiom" : "universal" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | }, 22 | "properties" : { 23 | "preserves-vector-representation" : true 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/logo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "logo-white.svg", 5 | "idiom" : "universal" 6 | }, 7 | { 8 | "appearances" : [ 9 | { 10 | "appearance" : "luminosity", 11 | "value" : "dark" 12 | } 13 | ], 14 | "filename" : "logo-dark.svg", 15 | "idiom" : "universal" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | }, 22 | "properties" : { 23 | "preserves-vector-representation" : true 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/logout.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "logout.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/maintenance.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "maintenance.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/media-bold.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "media-bold.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/media-bold.imageset/media-bold.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/media-inline.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "media-inline.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/menu.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "menu.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/menu.imageset/menu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | icons/actions/menu 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/music.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "music.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/myKSuitePlus.logo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "myKSuitePlus.logo.svg", 5 | "idiom" : "universal" 6 | }, 7 | { 8 | "appearances" : [ 9 | { 10 | "appearance" : "luminosity", 11 | "value" : "dark" 12 | } 13 | ], 14 | "filename" : "Logo kSuite.svg", 15 | "idiom" : "universal" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/no-drive.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "no-drive.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/offline.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "ofline.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/open-with.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "open-with.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/order-success.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "order-success.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/parameters.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "parameters.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/pause.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "pause.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/placeholder_avatar.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "placeholder_avatar.pdf", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/placeholder_avatar.imageset/placeholder_avatar.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDrive/Resources/Assets.xcassets/placeholder_avatar.imageset/placeholder_avatar.pdf -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/play-thumbnail.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "play-thumbnail.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/play.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "play.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/plus.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "plus.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/plus.imageset/plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/refresh.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "refresh.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/remove.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "remove.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/reply.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "reply.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/retry.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "retry.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/scan.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "scan.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/search.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "search.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/select.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "select.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/select.imageset/select.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | select 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/share.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "share.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/shortcut-scan.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "shortcut-scan.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/shortcut-search.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "shortcut-search.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/shortcut-search.imageset/shortcut-search.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/shortcut-support.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "shortcut-support.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/shortcut-upload.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "shortcut-upload.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/small-check.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "small-check.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/splashscreen-infomaniak.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "splashscreen-infomaniak-light.svg", 5 | "idiom" : "universal" 6 | }, 7 | { 8 | "appearances" : [ 9 | { 10 | "appearance" : "luminosity", 11 | "value" : "dark" 12 | } 13 | ], 14 | "filename" : "splashscreen-infomaniak-dark.svg", 15 | "idiom" : "universal" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/splashscreen-kdrive.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "splashscreen-kdrive-light.svg", 5 | "idiom" : "universal" 6 | }, 7 | { 8 | "appearances" : [ 9 | { 10 | "appearance" : "luminosity", 11 | "value" : "dark" 12 | } 13 | ], 14 | "filename" : "splashscreen-kdrive-dark.svg", 15 | "idiom" : "universal" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/star-fill.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "star-fill.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/star-fill.imageset/star-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/star.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "star.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/stop.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "stop.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/support_link.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "support_link.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/switch_user.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "switch_user.pdf", 5 | "idiom" : "universal" 6 | }, 7 | { 8 | "appearances" : [ 9 | { 10 | "appearance" : "luminosity", 11 | "value" : "dark" 12 | } 13 | ], 14 | "filename" : "switch_user_dark.pdf", 15 | "idiom" : "universal" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | }, 22 | "properties" : { 23 | "preserves-vector-representation" : true 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/switch_user.imageset/switch_user.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDrive/Resources/Assets.xcassets/switch_user.imageset/switch_user.pdf -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/switch_user.imageset/switch_user_dark.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDrive/Resources/Assets.xcassets/switch_user.imageset/switch_user_dark.pdf -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/tag.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "tag.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/team.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "picto_team.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "template-rendering-intent" : "template" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/test-image.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "improve_landscape_photography.jpg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/test-image.imageset/improve_landscape_photography.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDrive/Resources/Assets.xcassets/test-image.imageset/improve_landscape_photography.jpg -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/unlock.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "unlock.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/update-required.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "update-required-light.svg", 5 | "idiom" : "universal" 6 | }, 7 | { 8 | "appearances" : [ 9 | { 10 | "appearance" : "luminosity", 11 | "value" : "dark" 12 | } 13 | ], 14 | "filename" : "update-required-dark.svg", 15 | "idiom" : "universal" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | }, 22 | "properties" : { 23 | "preserves-vector-representation" : true 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/upgrade-kdrive.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "upgrade-kdrive.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/upload.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "upload.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/upsale-header-noDrive.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "img-kDrive.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "original" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/upsale-header.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "drive-rocket.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "original" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/url.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "url.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/user-switch.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "user-switch.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/user_logout.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "user_logout.pdf", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/user_logout.imageset/user_logout.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDrive/Resources/Assets.xcassets/user_logout.imageset/user_logout.pdf -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/users.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "users.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/users.imageset/users.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/view.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "filename": "view.svg", 5 | "idiom": "universal" 6 | } 7 | ], 8 | "info": { 9 | "author": "xcode", 10 | "version": 1 11 | }, 12 | "properties": { 13 | "preserves-vector-representation": true, 14 | "template-rendering-intent": "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/Assets.xcassets/warning.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "warning.svg", 5 | "idiom" : "universal" 6 | } 7 | ], 8 | "info" : { 9 | "author" : "xcode", 10 | "version" : 1 11 | }, 12 | "properties" : { 13 | "preserves-vector-representation" : true, 14 | "template-rendering-intent" : "template" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /kDrive/Resources/PrivacyInfo.xcprivacy: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSPrivacyAccessedAPITypes 6 | 7 | 8 | NSPrivacyAccessedAPIType 9 | NSPrivacyAccessedAPICategoryFileTimestamp 10 | NSPrivacyAccessedAPITypeReasons 11 | 12 | C617.1 13 | 14 | 15 | 16 | NSPrivacyAccessedAPITypeReasons 17 | 18 | 1C8F.1 19 | 20 | NSPrivacyAccessedAPIType 21 | NSPrivacyAccessedAPICategoryUserDefaults 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /kDrive/Resources/kDrive.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | aps-environment 6 | development 7 | com.apple.developer.associated-domains 8 | 9 | applinks:drive.infomaniak.com 10 | applinks:kdrive.infomaniak.com 11 | activitycontinuation:drive.infomaniak.com 12 | 13 | com.apple.security.application-groups 14 | 15 | group.com.infomaniak.drive 16 | group.com.infomaniak 17 | 18 | keychain-access-groups 19 | 20 | $(AppIdentifierPrefix)com.infomaniak.drive 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /kDrive/UI/Controller/Create File/DriveImportDocumentPickerViewController.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import kDriveCore 20 | import UIKit 21 | 22 | class DriveImportDocumentPickerViewController: UIDocumentPickerViewController { 23 | var importDrive: Drive! 24 | var importDriveDirectory: File! 25 | } 26 | -------------------------------------------------------------------------------- /kDrive/UI/Controller/Files/Save File/SelectPhotoFormatFooterView.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2023 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import UIKit 20 | 21 | class SelectPhotoFormatFooterView: UIView { 22 | class func instantiate() -> SelectPhotoFormatFooterView { 23 | return Bundle.main 24 | .loadNibNamed("SelectPhotoFormatFooterView", owner: nil, options: nil)![0] as! SelectPhotoFormatFooterView 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /kDrive/UI/View/Files/DropBox/DropBoxDisableTableViewCell.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import InfomaniakCoreUIKit 20 | import UIKit 21 | 22 | class DropBoxDisableTableViewCell: InsetTableViewCell { 23 | override func awakeFromNib() { 24 | super.awakeFromNib() 25 | accessibilityTraits = .button 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /kDrive/UI/View/Files/FileDetail/FileDetailCommentListTableViewCell.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import UIKit 20 | 21 | class FileDetailCommentListTableViewCell: UITableViewCell { 22 | @IBOutlet var userLabel: UILabel! 23 | } 24 | -------------------------------------------------------------------------------- /kDrive/UI/View/Files/FileDetail/FileInformation/FileInformationCreationTableViewCell.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import UIKit 20 | 21 | class FileInformationCreationTableViewCell: UITableViewCell { 22 | @IBOutlet var titleLabel: UILabel! 23 | @IBOutlet var creationLabel: UILabel! 24 | } 25 | -------------------------------------------------------------------------------- /kDrive/UI/View/Files/FileDetail/FileInformation/FileInformationSizeTableViewCell.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import UIKit 20 | 21 | class FileInformationSizeTableViewCell: UITableViewCell { 22 | @IBOutlet var titleLabel: UILabel! 23 | @IBOutlet var sizeLabel: UILabel! 24 | } 25 | -------------------------------------------------------------------------------- /kDrive/UI/View/Files/FileDetail/InfoTableViewCell.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import UIKit 20 | 21 | class InfoTableViewCell: UITableViewCell { 22 | var actionHandler: ((UIButton) -> Void)? 23 | 24 | @IBAction func buttonPressed(_ sender: UIButton) { 25 | actionHandler?(sender) 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /kDrive/UI/View/Files/FloatingPanel/FloatingPanelTableViewCell.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import InfomaniakCoreUIKit 20 | import kDriveCore 21 | import UIKit 22 | 23 | class FloatingPanelTableViewCell: InsetTableViewCell {} 24 | -------------------------------------------------------------------------------- /kDrive/UI/View/Files/SaveFile/ImportingTableViewCell.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import UIKit 20 | 21 | class ImportingTableViewCell: UITableViewCell { 22 | @IBOutlet var importationProgressView: UIProgressView! 23 | } 24 | -------------------------------------------------------------------------------- /kDrive/UI/View/Files/SaveFile/PhotoFormatTableViewCell.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import InfomaniakCoreUIKit 20 | import kDriveCore 21 | import UIKit 22 | 23 | class PhotoFormatTableViewCell: InsetTableViewCell { 24 | func configure(with photoFileFormat: PhotoFileFormat) { 25 | titleLabel.text = photoFileFormat.title 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /kDrive/UI/View/Files/Search/BasicTitleCollectionReusableView.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import UIKit 20 | 21 | class BasicTitleCollectionReusableView: UICollectionReusableView { 22 | @IBOutlet var titleLabel: UILabel! 23 | } 24 | -------------------------------------------------------------------------------- /kDrive/UI/View/Header view/HomeRecentFilesHeaderView.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import InfomaniakCoreUIKit 20 | import kDriveCore 21 | import UIKit 22 | 23 | class HomeRecentFilesHeaderView: UICollectionReusableView { 24 | @IBOutlet var titleLabel: IKLabel! 25 | } 26 | -------------------------------------------------------------------------------- /kDrive/UI/View/Header view/HomeTitleView.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import UIKit 20 | 21 | class HomeTitleView: UIView { 22 | @IBOutlet var titleLabel: UILabel! 23 | 24 | class func instantiate(title: String) -> HomeTitleView { 25 | let view = Bundle.main.loadNibNamed("HomeTitleView", owner: nil, options: nil)![0] as! HomeTitleView 26 | view.titleLabel.text = title 27 | return view 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /kDrive/UI/View/Home/UploadsPausedTableViewCell.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2024 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import InfomaniakCoreUIKit 20 | import kDriveCore 21 | import kDriveResources 22 | import UIKit 23 | 24 | class UploadsPausedTableViewCell: InsetTableViewCell { 25 | @IBOutlet var subtitleLabel: IKLabel! 26 | 27 | func setUploadCount(_ count: Int) { 28 | subtitleLabel.text = KDriveResourcesStrings.Localizable.uploadInProgressNumberFile(count) 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /kDrive/UI/View/Menu/DriveTitleTableViewCell.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import InfomaniakCoreUIKit 20 | import UIKit 21 | 22 | class DriveTitleTableViewCell: InsetTableViewCell {} 23 | -------------------------------------------------------------------------------- /kDrive/UI/View/Menu/MenuTableViewCell.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import InfomaniakCoreUIKit 20 | import UIKit 21 | 22 | class MenuTableViewCell: InsetTableViewCell { 23 | @IBOutlet var logoImage: UIImageView! 24 | } 25 | -------------------------------------------------------------------------------- /kDrive/UI/View/Menu/Parameters/AboutDetailTableViewCell.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import InfomaniakCoreUIKit 20 | import UIKit 21 | 22 | class AboutDetailTableViewCell: InsetTableViewCell { 23 | @IBOutlet var detailLabel: UILabel! 24 | } 25 | -------------------------------------------------------------------------------- /kDrive/UI/View/Menu/Parameters/ParameterAboutTableViewCell.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import InfomaniakCoreUIKit 20 | import UIKit 21 | 22 | class ParameterAboutTableViewCell: InsetTableViewCell {} 23 | -------------------------------------------------------------------------------- /kDrive/UI/View/Menu/Parameters/ParameterAccessDeniedTableViewCell.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import InfomaniakCoreUIKit 20 | import kDriveCore 21 | import UIKit 22 | 23 | class ParameterAccessDeniedTableViewCell: UITableViewCell { 24 | @IBOutlet var descriptionLabel: IKLabel! 25 | 26 | @IBAction func goToSettingsButtonPressed(_ sender: Any) { 27 | Constants.openSettings() 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /kDrive/UI/View/Menu/PhotoSyncSettings/PhotoAccessDeniedTableViewCell.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import kDriveCore 20 | import UIKit 21 | 22 | class PhotoAccessDeniedTableViewCell: UITableViewCell { 23 | @IBAction func goToSettingsButtonPressed(_ sender: Any) { 24 | Constants.openSettings() 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /kDrive/UI/View/Menu/Store/StoreFeatureTableViewCell.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import InfomaniakCoreUIKit 20 | import kDriveCore 21 | import UIKit 22 | 23 | class StoreFeatureTableViewCell: UITableViewCell { 24 | @IBOutlet var label: IKLabel! 25 | } 26 | -------------------------------------------------------------------------------- /kDrive/UI/View/Menu/Store/StoreHelpFooter.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import UIKit 20 | 21 | protocol StoreHelpFooterDelegate: AnyObject { 22 | func helpButtonTapped() 23 | } 24 | 25 | class StoreHelpFooter: UICollectionReusableView { 26 | weak var delegate: StoreHelpFooterDelegate? 27 | 28 | @IBAction func helpButtonTapped(_ sender: Any) { 29 | delegate?.helpButtonTapped() 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /kDrive/UI/View/Menu/SwitchUser/NoAccountTableViewCell.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import UIKit 20 | 21 | class NoAccountTableViewCell: UITableViewCell {} 22 | -------------------------------------------------------------------------------- /kDrive/UI/View/NewFolder/NewFolderLocationCollectionViewCell.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import UIKit 20 | 21 | class NewFolderLocationCollectionViewCell: UICollectionViewCell { 22 | @IBOutlet var accessoryImage: UIImageView! 23 | @IBOutlet var titleLabel: UILabel! 24 | @IBOutlet var chevronImage: UIImageView! 25 | } 26 | -------------------------------------------------------------------------------- /kDrive/UI/View/NewFolder/NewFolderSettingsTitleTableViewCell.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import InfomaniakCoreUIKit 20 | import UIKit 21 | 22 | class NewFolderSettingsTitleTableViewCell: InsetTableViewCell {} 23 | -------------------------------------------------------------------------------- /kDrive/UI/View/Upsale/UpsaleViewController+Matomo.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2025 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import InfomaniakCoreCommonUI 20 | import InfomaniakDI 21 | import kDriveCore 22 | 23 | extension UpsaleViewController { 24 | // MARK: - Public Share 25 | 26 | func trackUpsalePresented() { 27 | @InjectService var matomo: MatomoUtils 28 | matomo.track(eventWithCategory: .publicShareAction, name: "adBottomSheet") 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /kDrive/Utils/DropPosition.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | import UIKit 21 | 22 | struct DropPosition { 23 | let indexPath: IndexPath 24 | let time = Date() 25 | } 26 | -------------------------------------------------------------------------------- /kDrive/Utils/TopScrollable.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | 21 | protocol TopScrollable { 22 | func scrollToTop() 23 | } 24 | -------------------------------------------------------------------------------- /kDrive/Utils/UINavigationItem+Extension.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import UIKit 20 | 21 | extension UINavigationItem { 22 | func hideBackButtonText() { 23 | backButtonDisplayMode = .minimal 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /kDriveActionExtension/ActionExtension.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.application-groups 6 | 7 | group.com.infomaniak.drive 8 | 9 | keychain-access-groups 10 | 11 | $(AppIdentifierPrefix)com.infomaniak.drive 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /kDriveActionExtension/Media.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /kDriveActionExtension/Media.xcassets/ExtensionIcon.appiconset/Icon-120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDriveActionExtension/Media.xcassets/ExtensionIcon.appiconset/Icon-120.png -------------------------------------------------------------------------------- /kDriveActionExtension/Media.xcassets/ExtensionIcon.appiconset/Icon-121.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDriveActionExtension/Media.xcassets/ExtensionIcon.appiconset/Icon-121.png -------------------------------------------------------------------------------- /kDriveActionExtension/Media.xcassets/ExtensionIcon.appiconset/Icon-180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDriveActionExtension/Media.xcassets/ExtensionIcon.appiconset/Icon-180.png -------------------------------------------------------------------------------- /kDriveActionExtension/Media.xcassets/ExtensionIcon.appiconset/Icon-60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDriveActionExtension/Media.xcassets/ExtensionIcon.appiconset/Icon-60.png -------------------------------------------------------------------------------- /kDriveActionExtension/Media.xcassets/TouchBarBezel.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "colors" : [ 7 | { 8 | "idiom" : "mac", 9 | "color" : { 10 | "reference" : "systemPurpleColor" 11 | } 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /kDriveActionExtension/de.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDriveActionExtension/de.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /kDriveActionExtension/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDriveActionExtension/en.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /kDriveActionExtension/es.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDriveActionExtension/es.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /kDriveActionExtension/fr.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDriveActionExtension/fr.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /kDriveActionExtension/it.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDriveActionExtension/it.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /kDriveCore/Data/MQService/ActionProgressNotification.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | 21 | public class ActionProgressNotification: Codable { 22 | public let uid: String 23 | public let driveId: Int 24 | public let action: String 25 | public let actionUuid: String 26 | public let progress: ActionProgress 27 | } 28 | -------------------------------------------------------------------------------- /kDriveCore/Data/MQService/IPSToken.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | 21 | @frozen public struct IPSToken: Codable { 22 | let uuid: String 23 | let validUntil: Int 24 | } 25 | -------------------------------------------------------------------------------- /kDriveCore/Data/Models/CategoryResponse.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | 21 | public class CategoryResponse: Codable { 22 | public var id: Int 23 | public var result: Bool 24 | public var message: String? 25 | 26 | public var querySucceeded: Bool { 27 | return result || message == "category_error" 28 | } 29 | 30 | init() { 31 | id = 0 32 | result = true 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /kDriveCore/Data/Models/CategoryRights.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | import RealmSwift 21 | 22 | public class CategoryRights: EmbeddedObject, Codable { 23 | @Persisted public var canCreate: Bool 24 | @Persisted public var canEdit: Bool 25 | @Persisted public var canDelete: Bool 26 | @Persisted public var canReadOnFile: Bool 27 | @Persisted public var canPutOnFile: Bool 28 | } 29 | -------------------------------------------------------------------------------- /kDriveCore/Data/Models/DownloadArchiveResponse.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | 21 | public class DownloadArchiveResponse: Codable { 22 | public let uuid: String 23 | } 24 | -------------------------------------------------------------------------------- /kDriveCore/Data/Models/Drive/DriveRights.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2023 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | import RealmSwift 21 | 22 | public class DriveRights: EmbeddedObject, Codable { 23 | @Persisted public var technical: Bool 24 | } 25 | -------------------------------------------------------------------------------- /kDriveCore/Data/Models/FileAction.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2023 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | 21 | @frozen public struct FileAction: Codable { 22 | public let action: FileActivityType 23 | public let fileId: Int 24 | } 25 | -------------------------------------------------------------------------------- /kDriveCore/Data/Models/FileCount.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | 21 | public class FileCount: Codable { 22 | public let count: Int 23 | public let files: Int 24 | public let directories: Int 25 | } 26 | -------------------------------------------------------------------------------- /kDriveCore/Data/Models/FileType.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | 21 | public enum FileType: String { 22 | case file, dir 23 | } 24 | -------------------------------------------------------------------------------- /kDriveCore/Data/Models/ListStyle.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import kDriveResources 20 | import UIKit 21 | 22 | public enum ListStyle: String { 23 | case list 24 | case grid 25 | 26 | public var icon: UIImage { 27 | switch self { 28 | case .list: 29 | return KDriveResourcesAsset.list.image 30 | case .grid: 31 | return KDriveResourcesAsset.grid.image 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /kDriveCore/Data/Models/ListingResult.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2023 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | 21 | @frozen public struct ListingResult: Codable { 22 | public let actions: [FileAction] 23 | public let files: [File] 24 | public let actionsFiles: [File] 25 | } 26 | -------------------------------------------------------------------------------- /kDriveCore/Data/Models/PartialListingResult.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2024 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | 21 | @frozen public struct PartialFileActivity: Codable { 22 | let lastAction: FileActivityType? 23 | let fileId: Int 24 | let lastActionAt: Int? 25 | let file: File? 26 | } 27 | -------------------------------------------------------------------------------- /kDriveCore/Data/Models/Upload/DirectUploadToken.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2023 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | 21 | /// Token used by the direct upload API 22 | public class DirectUploadToken: Codable { 23 | public let token: String 24 | public let expiration: Date 25 | 26 | public var isNearlyExpired: Bool { 27 | let twoHours = 60 * 60 * 2 28 | return Date(timeIntervalSinceNow: TimeInterval(twoHours)) > expiration 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /kDriveCore/Data/Models/Upload/UploadedFile.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2023 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | 21 | /// When upload APIV2 returns back with success 22 | public struct UploadedFile: Decodable { 23 | var token: String 24 | var file: File 25 | } 26 | -------------------------------------------------------------------------------- /kDriveCore/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | $(CURRENT_PROJECT_VERSION) 21 | 22 | 23 | -------------------------------------------------------------------------------- /kDriveCore/UI/Restorable.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2023 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | 21 | public protocol Restorable { 22 | var defaultRestorationIdentifier: String { get } 23 | } 24 | 25 | public extension Restorable { 26 | var defaultRestorationIdentifier: String { 27 | return String(describing: Self.self) 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /kDriveCore/UI/Scan/SaveScanWorkerDelegate.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2023 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | 21 | /// Something to callback when document scan in finished 22 | @MainActor public protocol SaveScanWorkerDelegate: AnyObject { 23 | /// Callback with the processed strings found in content 24 | func recognizedStrings(_ strings: [String]) 25 | 26 | /// Error Callback 27 | func errorWhileProcessing(_ error: Error?) 28 | } 29 | -------------------------------------------------------------------------------- /kDriveCore/Utils/DispatchGroup+Extension.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | 21 | extension DispatchGroup { 22 | func performLocked(block: () -> Void) { 23 | wait() 24 | enter() 25 | block() 26 | leave() 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /kDriveCore/Utils/NotificationName+Extension.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | 21 | public extension Notification.Name { 22 | static let locateUploadActionTapped = Notification.Name(rawValue: "kDriveLocateUploadActionTapped") 23 | static let reloadDrive = Notification.Name(rawValue: "kDriveReloadDrive") 24 | static let reloadWifiView = Notification.Name(rawValue: "kDriveReloadWifiView") 25 | } 26 | -------------------------------------------------------------------------------- /kDriveCore/Utils/PlusButtonObserver.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2023 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | 21 | public protocol PlusButtonObserver { 22 | func updateCenterButton() 23 | } 24 | -------------------------------------------------------------------------------- /kDriveCore/Utils/PresentationOrigin.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2024 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | 21 | public enum PresentationOrigin: String, Equatable { 22 | case fileList 23 | case activities 24 | case photoList 25 | } 26 | -------------------------------------------------------------------------------- /kDriveCore/Utils/Sentry/SentryDebug+Misc.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2024 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | 21 | public extension SentryDebug { 22 | // MARK: - Space usage 23 | 24 | static func appSizeUsage(_ metadata: [String: Any] = [:]) { 25 | SentryDebug.capture(message: EventNames.appSizeUsage, extras: metadata) 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /kDriveCore/Utils/String+Extension.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2021 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import UIKit 20 | 21 | public extension String { 22 | var isBlank: Bool { 23 | return trimmingCharacters(in: .whitespaces).isEmpty 24 | } 25 | 26 | func addingExtension(_ ext: String) -> String { 27 | return hasSuffix(".\(ext)") ? self : "\(self).\(ext)" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /kDriveCore/kDriveCore.h: -------------------------------------------------------------------------------- 1 | // 2 | // kDriveCore.h 3 | // kDriveCore 4 | // 5 | // Created by Philippe Weidmann on 11.12.20. 6 | // 7 | 8 | #import 9 | 10 | //! Project version number for kDriveCore. 11 | FOUNDATION_EXPORT double kDriveCoreVersionNumber; 12 | 13 | //! Project version string for kDriveCore. 14 | FOUNDATION_EXPORT const unsigned char kDriveCoreVersionString[]; 15 | 16 | // In this header, you should import all the public headers of your framework using statements like #import 17 | 18 | 19 | -------------------------------------------------------------------------------- /kDriveFileProvider/FileProvider.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.application-groups 6 | 7 | group.com.infomaniak.drive 8 | 9 | keychain-access-groups 10 | 11 | $(AppIdentifierPrefix)com.infomaniak.drive 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /kDriveFileProvider/Validation/FileProviderValidationServiceSource.h: -------------------------------------------------------------------------------- 1 | // 2 | // FileProviderValidationServiceSource.h 3 | // 4 | // Copyright © 2018 Apple. All rights reserved. 5 | // 6 | 7 | #import 8 | #import 9 | 10 | @interface FileProviderValidationServiceSource : NSObject 11 | 12 | - (instancetype)initWithFileProviderExtension:(NSFileProviderExtension *)fileProviderExtension 13 | itemIdentifier:(NSFileProviderItemIdentifier)itemIdentifier; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /kDriveFileProvider/Validation/kDriveFileProvider-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Use this file to import your target's public headers that you would like to expose to Swift. 3 | // 4 | 5 | #import "FileProviderValidationServiceSource.h" 6 | -------------------------------------------------------------------------------- /kDriveShareExtension/ShareExtension.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.application-groups 6 | 7 | group.com.infomaniak.drive 8 | 9 | keychain-access-groups 10 | 11 | $(AppIdentifierPrefix)com.infomaniak.drive 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /kDriveTestShared/MCKPhotoLibraryQueryable.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2025 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | import kDriveCore 21 | 22 | struct MCKPhotoLibraryQueryable: PhotoLibraryQueryable { 23 | func getDatePredicate(with settings: PhotoSyncSettings) -> NSPredicate { NSPredicate(value: true) } 24 | 25 | func getAssetPredicates(forSettings settings: PhotoSyncSettings) -> [NSPredicate] { [NSPredicate]() } 26 | } 27 | -------------------------------------------------------------------------------- /kDriveTestShared/MCKPhotoLibraryScanable.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2025 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | import kDriveCore 21 | 22 | struct MCKPhotoLibraryScanable: PhotoLibraryScanable { 23 | @discardableResult func scheduleNewPicturesForUpload() -> Int { 0 } 24 | } 25 | -------------------------------------------------------------------------------- /kDriveTestShared/MCKPhotoLibrarySyncable.swift: -------------------------------------------------------------------------------- 1 | /* 2 | Infomaniak kDrive - iOS App 3 | Copyright (C) 2025 Infomaniak Network SA 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | import Foundation 20 | import kDriveCore 21 | 22 | struct MCKPhotoLibrarySyncable: PhotoLibrarySyncable { 23 | @MainActor func enableSync(_ liveNewSyncSettings: PhotoSyncSettings) {} 24 | 25 | func disableSync() {} 26 | } 27 | -------------------------------------------------------------------------------- /kDriveTests/kDriveCore/UploadChunks/Matterhorn_as_seen_from_Zermatt,_Wallis,_Switzerland,_2012_August,Wikimedia_Commons.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infomaniak/ios-kDrive/27a93158fb3af3f31facf99afc4625c0b4dd342e/kDriveTests/kDriveCore/UploadChunks/Matterhorn_as_seen_from_Zermatt,_Wallis,_Switzerland,_2012_August,Wikimedia_Commons.jpg -------------------------------------------------------------------------------- /scripts/lint.sh: -------------------------------------------------------------------------------- 1 | eval "$($HOME/.local/bin/mise activate -C $SRCROOT bash --shims)" 2 | 3 | if which swiftlint >/dev/null; then 4 | swiftlint --config "$SRCROOT/.swiftlint.yml" 5 | else 6 | echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint" 7 | fi 8 | --------------------------------------------------------------------------------