├── .github
└── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
├── .gitignore
├── .gitlab-ci.yml
├── .idea
├── .name
├── codeStyles
│ ├── Project.xml
│ └── codeStyleConfig.xml
├── copyright
│ ├── ProtonMail.xml
│ └── profiles_settings.xml
├── detekt.xml
├── dictionaries
│ └── project.xml
├── inspectionProfiles
│ ├── Project_Default.xml
│ └── profiles_settings.xml
├── kotlinScripting.xml
├── saveactions_settings.xml
└── scopes
│ └── Gradle_files.xml
├── .java-version
├── LICENSE
├── README.md
├── app
├── build.gradle.kts
├── experimental.properties
├── libs
│ ├── PM-sources.jar
│ ├── commons-email-1.3.jar
│ ├── fusion-release.aar
│ ├── mail-activation.jar
│ ├── mail-additional.jar
│ └── mail.jar
├── multidex-proguard.pro
├── old.build.gradle
├── proguard-rules.pro
├── schemas
│ ├── ch.protonmail.android.data.AppDatabase
│ │ ├── 1.json
│ │ ├── 10.json
│ │ ├── 11.json
│ │ ├── 12.json
│ │ ├── 13.json
│ │ ├── 2.json
│ │ ├── 3.json
│ │ ├── 4.json
│ │ ├── 5.json
│ │ ├── 6.json
│ │ ├── 7.json
│ │ ├── 8.json
│ │ └── 9.json
│ ├── ch.protonmail.android.data.local.AttachmentMetadataDatabase
│ │ └── 3.json
│ ├── ch.protonmail.android.data.local.ContactDatabase
│ │ ├── 1.json
│ │ ├── 2.json
│ │ └── 3.json
│ ├── ch.protonmail.android.data.local.CounterDatabase
│ │ └── 1.json
│ ├── ch.protonmail.android.data.local.MessageDatabase
│ │ ├── 10.json
│ │ ├── 11.json
│ │ ├── 12.json
│ │ ├── 13.json
│ │ ├── 14.json
│ │ ├── 15.json
│ │ ├── 16.json
│ │ ├── 17.json
│ │ ├── 18.json
│ │ ├── 19.json
│ │ ├── 20.json
│ │ └── 9.json
│ ├── ch.protonmail.android.data.local.NotificationDatabase
│ │ └── 1.json
│ ├── ch.protonmail.android.data.local.PendingActionDatabase
│ │ ├── 3.json
│ │ └── 4.json
│ └── ch.protonmail.android.pendingaction.data.PendingActionDatabase
│ │ └── 4.json
└── src
│ ├── alpha
│ ├── java
│ │ └── ch.protonmail.android
│ │ │ └── di
│ │ │ └── ConfigurableParametersModule.kt
│ └── res
│ │ └── values
│ │ └── strings.xml
│ ├── androidTest
│ └── java
│ │ └── ch
│ │ └── protonmail
│ │ └── android
│ │ ├── ExampleCustomInjectionTest.kt
│ │ ├── HiltCustomTestRunner.kt
│ │ ├── TestConfigurableParametersModule.kt
│ │ ├── activities
│ │ └── NotificationSettingsViewModelTest.kt
│ │ ├── api
│ │ └── models
│ │ │ ├── ContactEncryptedDataMatcher.kt
│ │ │ ├── factories
│ │ │ └── SendPreferencesFactoryTest.kt
│ │ │ └── room
│ │ │ ├── LiveDataUtil.kt
│ │ │ └── contacts
│ │ │ ├── ContactDaoTest.kt
│ │ │ ├── FullContactDetailsConverterTest.kt
│ │ │ └── FullContactsDetailsMatcher.kt
│ │ ├── compose
│ │ └── presentation
│ │ │ └── ui
│ │ │ ├── SetMessageExpirationActivityTest.kt
│ │ │ └── SetMessagePasswordActivityTest.kt
│ │ ├── crypto
│ │ ├── AddressCryptoAndroidTest.kt
│ │ ├── CryptoTest.kt
│ │ └── NoEncryptionKeyStoreCrypto.kt
│ │ ├── data
│ │ └── local
│ │ │ └── MessageDaoTest.kt
│ │ ├── details
│ │ └── presentation
│ │ │ └── view
│ │ │ └── CollapsedMessageViewsTest.kt
│ │ ├── labels
│ │ └── data
│ │ │ └── mapper
│ │ │ └── LabelOrFolderWithChildrenMapperBenchmarks.kt
│ │ ├── mailbox
│ │ └── data
│ │ │ └── local
│ │ │ └── UnreadCounterDaoTest.kt
│ │ ├── settings
│ │ └── pin
│ │ │ └── PinFragmentViewModelTest.kt
│ │ ├── ui
│ │ ├── layout
│ │ │ └── MoreItemsLinearLayoutTest.kt
│ │ └── view
│ │ │ ├── DaysAndHoursPickerViewTest.kt
│ │ │ ├── MultiLineLabelChipGroupViewTest.kt
│ │ │ ├── SingleLineCollapsedLabelGroupViewTest.kt
│ │ │ └── SingleLineLabelChipGroupViewTest.kt
│ │ ├── util
│ │ ├── HiltViewTest.kt
│ │ ├── HiltViewTestActivity.kt
│ │ ├── ViewTest.kt
│ │ └── viewMatchers.kt
│ │ └── views
│ │ └── PmWebViewClientTest.kt
│ ├── beta
│ ├── ic_launcher-playstore.png
│ ├── ic_launcher-web.png
│ ├── java
│ │ └── ch.protonmail.android
│ │ │ └── di
│ │ │ └── ConfigurableParametersModule.kt
│ └── res
│ │ ├── drawable-v24
│ │ ├── ic_launcher_foreground.xml
│ │ └── ic_logo_mail_no_bg_scaled.xml
│ │ ├── mipmap-anydpi-v26
│ │ ├── ic_launcher.xml
│ │ └── ic_launcher_round.xml
│ │ ├── mipmap-hdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-mdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxxhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── values
│ │ ├── ic_launcher_background.xml
│ │ ├── notif.xml
│ │ └── strings.xml
│ │ └── xml-v25
│ │ └── shortcuts.xml
│ ├── main
│ ├── AndroidManifest.xml
│ ├── assets
│ │ ├── fonts
│ │ │ ├── Roboto-Bold.ttf
│ │ │ ├── Roboto-Light.ttf
│ │ │ ├── Roboto-Regular.ttf
│ │ │ ├── Roboto-Thin.ttf
│ │ │ └── contacts_icons.ttf
│ │ ├── logo_print.png
│ │ ├── pgp-icons-android.ttf
│ │ └── protonmail-mobile-icons.ttf
│ ├── ic_launcher-playstore.png
│ ├── ic_launcher-web.png
│ ├── java
│ │ ├── androidx
│ │ │ └── core
│ │ │ │ └── app
│ │ │ │ └── ProtonJobIntentService.java
│ │ └── ch
│ │ │ └── protonmail
│ │ │ └── android
│ │ │ ├── Doc.kt
│ │ │ ├── ViewTestActivity.kt
│ │ │ ├── activities
│ │ │ ├── ActivityResultContracts.kt
│ │ │ ├── AddAttachmentsActivity.java
│ │ │ ├── BaseActivity.java
│ │ │ ├── BaseConnectivityActivity.kt
│ │ │ ├── BaseContactsActivity.java
│ │ │ ├── BaseStoragePermissionActivity.java
│ │ │ ├── SearchActivity.kt
│ │ │ ├── composeMessage
│ │ │ │ ├── ComposeMessageActivity.java
│ │ │ │ ├── MessageBuilderData.kt
│ │ │ │ ├── SaveMassageTask.kt
│ │ │ │ └── UserAction.kt
│ │ │ ├── contactDetails
│ │ │ │ └── ExtractFullContactDetailsTask.kt
│ │ │ ├── dialogs
│ │ │ │ ├── AbstractDialogFragment.java
│ │ │ │ └── QuickSnoozeDialogFragment.java
│ │ │ ├── fragments
│ │ │ │ ├── BaseFragment.java
│ │ │ │ └── DatePickerFragment.java
│ │ │ └── messageDetails
│ │ │ │ ├── IntentExtrasData.kt
│ │ │ │ ├── MessageDetailsAdapter.kt
│ │ │ │ ├── MessagePrinter.kt
│ │ │ │ ├── MessageRenderer.kt
│ │ │ │ ├── MessageViewHeadersActivity.kt
│ │ │ │ ├── attachments
│ │ │ │ ├── CheckAttachmentTask.kt
│ │ │ │ └── MessageDetailsAttachmentListAdapter.kt
│ │ │ │ ├── body
│ │ │ │ ├── MessageBodyScaleListener.kt
│ │ │ │ └── MessageBodyTouchListener.kt
│ │ │ │ ├── details
│ │ │ │ └── RecipientContextMenuFactory.kt
│ │ │ │ ├── repository
│ │ │ │ └── MessageDetailsRepository.kt
│ │ │ │ └── viewmodel
│ │ │ │ └── MessageDetailsViewModel.kt
│ │ │ ├── adapters
│ │ │ ├── AttachmentListAdapter.kt
│ │ │ ├── LabelColorsAdapter.kt
│ │ │ ├── QuickSnoozeOptionAdapter.java
│ │ │ ├── SettingsAdapter.kt
│ │ │ ├── messages
│ │ │ │ ├── MailboxItemViewHolder.kt
│ │ │ │ └── MailboxRecyclerViewAdapter.kt
│ │ │ └── swipe
│ │ │ │ ├── ArchiveSwipeHandler.kt
│ │ │ │ ├── ISwipeHandler.java
│ │ │ │ ├── MarkReadSwipeHandler.kt
│ │ │ │ ├── SpamSwipeHandler.kt
│ │ │ │ ├── StarSwipeHandler.kt
│ │ │ │ ├── SwipeAction.kt
│ │ │ │ ├── SwipeProcessor.java
│ │ │ │ └── TrashSwipeHandler.kt
│ │ │ ├── api
│ │ │ ├── AccountManager.kt
│ │ │ ├── DnsOverHttpsProviderRFC8484.kt
│ │ │ ├── NetworkConfigurator.kt
│ │ │ ├── NetworkSwitcher.kt
│ │ │ ├── OkHttpProvider.kt
│ │ │ ├── ProtonMailApi.kt
│ │ │ ├── ProtonMailApiClient.kt
│ │ │ ├── ProtonMailApiManager.kt
│ │ │ ├── ProtonMailApiProvider.kt
│ │ │ ├── ProtonOkHttpClient.kt
│ │ │ ├── ProtonRetrofitBuilder.kt
│ │ │ ├── SecuredServices.kt
│ │ │ ├── SwitchToMainBackendIfAvailable.kt
│ │ │ ├── SwitchToMainBackendIfOnProxy.kt
│ │ │ ├── TokenManager.kt
│ │ │ ├── exceptions
│ │ │ │ └── ApiException.kt
│ │ │ ├── interceptors
│ │ │ │ ├── BaseRequestInterceptor.kt
│ │ │ │ ├── ProtonMailRequestInterceptor.kt
│ │ │ │ ├── RetrofitTag.kt
│ │ │ │ ├── RetryRequestInterceptor.kt
│ │ │ │ └── SessionHeader.kt
│ │ │ ├── local
│ │ │ │ └── SnoozeSettings.kt
│ │ │ ├── models
│ │ │ │ ├── AllCurrencyPlans.java
│ │ │ │ ├── AttachmentUploadResponse.java
│ │ │ │ ├── Auth.java
│ │ │ │ ├── AvailablePlansResponse.java
│ │ │ │ ├── CardDetails.java
│ │ │ │ ├── CheckSubscriptionBody.java
│ │ │ │ ├── CheckSubscriptionResponse.java
│ │ │ │ ├── ContactEmailsResponseV2.java
│ │ │ │ ├── ContactEncryptedData.java
│ │ │ │ ├── ContactResponse.java
│ │ │ │ ├── ContactsDataResponse.java
│ │ │ │ ├── Countries.java
│ │ │ │ ├── Country.java
│ │ │ │ ├── Coupon.java
│ │ │ │ ├── CreateContact.java
│ │ │ │ ├── CreateContactBody.java
│ │ │ │ ├── CreateContactV2BodyItem.java
│ │ │ │ ├── DatabaseProvider.kt
│ │ │ │ ├── DeleteResponse.java
│ │ │ │ ├── Destination.java
│ │ │ │ ├── DirectEnabledResponse.java
│ │ │ │ ├── DraftBody.kt
│ │ │ │ ├── IDList.java
│ │ │ │ ├── KeyPacket.java
│ │ │ │ ├── Keys.java
│ │ │ │ ├── LatestEventResponse.java
│ │ │ │ ├── Location.java
│ │ │ │ ├── MailSettings.kt
│ │ │ │ ├── MailSettingsResponse.java
│ │ │ │ ├── MessageIDList.java
│ │ │ │ ├── MessagePayload.kt
│ │ │ │ ├── MessageRecipient.java
│ │ │ │ ├── MoveToFolderResponse.java
│ │ │ │ ├── Organization.kt
│ │ │ │ ├── OrganizationKeysResponse.kt
│ │ │ │ ├── OrganizationResponse.kt
│ │ │ │ ├── PasswordVerifier.java
│ │ │ │ ├── Plan.java
│ │ │ │ ├── PostPhishingReportBody.kt
│ │ │ │ ├── PublicKeyBody.java
│ │ │ │ ├── PublicKeyResponse.java
│ │ │ │ ├── RecipientType.kt
│ │ │ │ ├── RegisterDeviceRequestBody.kt
│ │ │ │ ├── ResponseBody.java
│ │ │ │ ├── SendPreference.java
│ │ │ │ ├── SimpleMessage.kt
│ │ │ │ ├── UnregisterDeviceRequestBody.kt
│ │ │ │ ├── User.java
│ │ │ │ ├── address
│ │ │ │ │ ├── Address.java
│ │ │ │ │ ├── KeyActivationBody.java
│ │ │ │ │ └── SignedKeyList.java
│ │ │ │ ├── base
│ │ │ │ │ └── MultipleResponseBody.java
│ │ │ │ ├── contacts
│ │ │ │ │ └── send
│ │ │ │ │ │ └── LabelContactsBody.kt
│ │ │ │ ├── doh
│ │ │ │ │ ├── Proxies.kt
│ │ │ │ │ └── ProxyItem.kt
│ │ │ │ ├── enumerations
│ │ │ │ │ ├── ContactEncryption.java
│ │ │ │ │ ├── KeyFlag.java
│ │ │ │ │ ├── MIMEType.java
│ │ │ │ │ ├── MessageEncryption.kt
│ │ │ │ │ ├── MessageFlag.kt
│ │ │ │ │ └── PackageType.java
│ │ │ │ ├── factories
│ │ │ │ │ ├── FactoryUtils.kt
│ │ │ │ │ ├── IConverterFactory.kt
│ │ │ │ │ ├── MessageSecurityOptions.kt
│ │ │ │ │ ├── PackageFactory.java
│ │ │ │ │ └── SendPreferencesFactory.java
│ │ │ │ ├── messages
│ │ │ │ │ ├── ParsedHeaders.kt
│ │ │ │ │ ├── delete
│ │ │ │ │ │ └── MessageDeleteRequest.kt
│ │ │ │ │ ├── receive
│ │ │ │ │ │ ├── AttachmentFactory.kt
│ │ │ │ │ │ ├── IAttachmentFactory.kt
│ │ │ │ │ │ ├── MessageFactory.kt
│ │ │ │ │ │ ├── MessageLocationResolver.kt
│ │ │ │ │ │ ├── MessageResponse.kt
│ │ │ │ │ │ ├── MessageSenderFactory.kt
│ │ │ │ │ │ ├── MessagesResponse.kt
│ │ │ │ │ │ ├── ServerAttachment.kt
│ │ │ │ │ │ ├── ServerMessage.kt
│ │ │ │ │ │ └── ServerMessageSender.kt
│ │ │ │ │ └── send
│ │ │ │ │ │ ├── MessageSendAddressBody.java
│ │ │ │ │ │ ├── MessageSendBody.java
│ │ │ │ │ │ ├── MessageSendKey.java
│ │ │ │ │ │ ├── MessageSendPackage.java
│ │ │ │ │ │ └── MessageSendResponse.java
│ │ │ │ └── requests
│ │ │ │ │ ├── DisplayName.java
│ │ │ │ │ ├── ShowImages.java
│ │ │ │ │ └── Signature.java
│ │ │ ├── rx
│ │ │ │ ├── RxEventBus.kt
│ │ │ │ └── ThreadSchedulers.kt
│ │ │ ├── segments
│ │ │ │ ├── BaseApi.kt
│ │ │ │ ├── DnsOverHttpsRetrofitApi.kt
│ │ │ │ ├── RetrofitConstants.kt
│ │ │ │ ├── attachment
│ │ │ │ │ ├── AttachmentApi.kt
│ │ │ │ │ ├── AttachmentApiSpec.kt
│ │ │ │ │ ├── AttachmentDownloadService.kt
│ │ │ │ │ ├── AttachmentService.kt
│ │ │ │ │ └── AttachmentUploadService.kt
│ │ │ │ ├── connectivity
│ │ │ │ │ ├── ConnectivityApi.kt
│ │ │ │ │ ├── ConnectivityApiSpec.kt
│ │ │ │ │ └── PingService.kt
│ │ │ │ ├── contact
│ │ │ │ │ ├── ContactApi.kt
│ │ │ │ │ ├── ContactApiSpec.kt
│ │ │ │ │ ├── ContactEmailsManager.kt
│ │ │ │ │ └── ContactService.kt
│ │ │ │ ├── device
│ │ │ │ │ ├── DeviceApi.kt
│ │ │ │ │ ├── DeviceApiSpec.kt
│ │ │ │ │ └── DeviceService.kt
│ │ │ │ ├── event
│ │ │ │ │ ├── AlarmReceiver.java
│ │ │ │ │ ├── EventHandler.kt
│ │ │ │ │ ├── EventManager.kt
│ │ │ │ │ ├── EventService.kt
│ │ │ │ │ ├── EventUpdaterService.java
│ │ │ │ │ ├── FetchEventsAndReschedule.kt
│ │ │ │ │ └── FetchUpdatesJob.kt
│ │ │ │ ├── key
│ │ │ │ │ ├── KeyApi.kt
│ │ │ │ │ ├── KeyApiSpec.kt
│ │ │ │ │ └── KeyService.kt
│ │ │ │ ├── message
│ │ │ │ │ ├── MessageApi.kt
│ │ │ │ │ ├── MessageApiSpec.kt
│ │ │ │ │ ├── MessageSendService.kt
│ │ │ │ │ └── MessageService.kt
│ │ │ │ ├── organization
│ │ │ │ │ ├── OrganizationApi.kt
│ │ │ │ │ ├── OrganizationApiSpec.kt
│ │ │ │ │ └── OrganizationService.kt
│ │ │ │ ├── report
│ │ │ │ │ ├── ReportApi.kt
│ │ │ │ │ ├── ReportApiSpec.kt
│ │ │ │ │ └── ReportService.kt
│ │ │ │ └── settings
│ │ │ │ │ └── mail
│ │ │ │ │ ├── MailSettingsApi.kt
│ │ │ │ │ ├── MailSettingsApiSpec.kt
│ │ │ │ │ └── MailSettingsService.kt
│ │ │ ├── services
│ │ │ │ ├── ConnectivityService.kt
│ │ │ │ └── MessagesService.kt
│ │ │ └── utils
│ │ │ │ ├── Fields.kt
│ │ │ │ ├── Json.kt
│ │ │ │ ├── ParseUtils.kt
│ │ │ │ ├── ProtonHeaders.kt
│ │ │ │ └── StringConverterFactory.java
│ │ │ ├── attachments
│ │ │ ├── Armorer.kt
│ │ │ ├── AttachmentsHelper.kt
│ │ │ ├── AttachmentsRepository.kt
│ │ │ ├── AttachmentsViewModel.kt
│ │ │ ├── AttachmentsViewState.kt
│ │ │ ├── DownloadEmbeddedAttachmentsWorker.kt
│ │ │ ├── ExtractAttachmentByteArray.kt
│ │ │ ├── HandleEmbeddedImageAttachments.kt
│ │ │ ├── HandleSingleAttachment.kt
│ │ │ ├── ImportAttachmentsWorker.kt
│ │ │ ├── OpenPgpArmorer.kt
│ │ │ └── UploadAttachmentsWorker.kt
│ │ │ ├── bl
│ │ │ ├── Html5Handler.java
│ │ │ ├── HtmlDivHandler.java
│ │ │ ├── HtmlProcessor.java
│ │ │ ├── IMessageHtmlHandler.java
│ │ │ └── XHtmlHandler.java
│ │ │ ├── compose
│ │ │ ├── ComposeMessageRepository.kt
│ │ │ ├── ComposeMessageViewModel.kt
│ │ │ ├── domain
│ │ │ │ └── GetAddressIndexByAddressId.kt
│ │ │ ├── presentation
│ │ │ │ ├── mapper
│ │ │ │ │ └── SendPreferencesToMessageEncryptionUiModelMapper.kt
│ │ │ │ ├── model
│ │ │ │ │ ├── AddExpirationTimeToMessage.kt
│ │ │ │ │ ├── ComposeMessageEventUiModel.kt
│ │ │ │ │ ├── MessagePasswordUiModel.kt
│ │ │ │ │ └── SetMessagePasswordUiModel.kt
│ │ │ │ ├── ui
│ │ │ │ │ ├── ComposeMessageKotlinActivity.kt
│ │ │ │ │ ├── MessageRecipientArrayAdapter.kt
│ │ │ │ │ ├── SetMessageExpirationActivity.kt
│ │ │ │ │ └── SetMessagePasswordActivity.kt
│ │ │ │ ├── util
│ │ │ │ │ └── HtmlToSpanned.kt
│ │ │ │ └── viewmodel
│ │ │ │ │ └── SetMessagePasswordViewModel.kt
│ │ │ ├── recipients
│ │ │ │ ├── GroupRecipientViewHolder.kt
│ │ │ │ ├── GroupRecipientsAdapter.kt
│ │ │ │ ├── GroupRecipientsDialogFragment.kt
│ │ │ │ └── GroupRecipientsViewModel.kt
│ │ │ └── send
│ │ │ │ ├── SendMessage.kt
│ │ │ │ ├── SendMessageWorker.kt
│ │ │ │ └── SendMessageWorkerError.kt
│ │ │ ├── contacts
│ │ │ ├── ContactIdGenerator.kt
│ │ │ ├── ContactsActivity.kt
│ │ │ ├── ContactsViewModel.kt
│ │ │ ├── ErrorResponse.kt
│ │ │ ├── IContactsFragment.kt
│ │ │ ├── IContactsListFragmentListener.kt
│ │ │ ├── PostResult.kt
│ │ │ ├── UnsavedChangesDialog.kt
│ │ │ ├── data
│ │ │ │ └── remote
│ │ │ │ │ └── worker
│ │ │ │ │ └── UpdateContactWorker.kt
│ │ │ ├── details
│ │ │ │ ├── ContactDetailsViewModelOld.kt
│ │ │ │ ├── ContactEmailGroupSelectionState.kt
│ │ │ │ ├── data
│ │ │ │ │ └── ContactDetailsRepository.kt
│ │ │ │ ├── domain
│ │ │ │ │ ├── FetchContactDetails.kt
│ │ │ │ │ ├── FetchContactGroups.kt
│ │ │ │ │ ├── FetchContactsMapper.kt
│ │ │ │ │ └── model
│ │ │ │ │ │ ├── FetchContactDetailsResult.kt
│ │ │ │ │ │ └── FetchContactGroupsResult.kt
│ │ │ │ ├── edit
│ │ │ │ │ ├── EditContactDetailsActivity.java
│ │ │ │ │ ├── EditContactDetailsRepository.kt
│ │ │ │ │ └── EditContactDetailsViewModel.kt
│ │ │ │ └── presentation
│ │ │ │ │ ├── ContactDetailsActivity.kt
│ │ │ │ │ ├── ContactDetailsAdapter.kt
│ │ │ │ │ ├── ContactDetailsDiffUtil.kt
│ │ │ │ │ ├── ContactDetailsMapper.kt
│ │ │ │ │ ├── ContactDetailsViewModel.kt
│ │ │ │ │ └── model
│ │ │ │ │ ├── ContactDetailsUiItem.kt
│ │ │ │ │ ├── ContactDetailsViewState.kt
│ │ │ │ │ └── ContactLabelUiModel.kt
│ │ │ ├── domain
│ │ │ │ └── usecase
│ │ │ │ │ └── ExtractInitials.kt
│ │ │ ├── groups
│ │ │ │ ├── ContactGroupEmailsAdapter.kt
│ │ │ │ ├── GroupsItemAdapterMode.kt
│ │ │ │ ├── details
│ │ │ │ │ ├── ContactGroupDetailsActivity.kt
│ │ │ │ │ ├── ContactGroupDetailsRepository.kt
│ │ │ │ │ ├── ContactGroupDetailsViewModel.kt
│ │ │ │ │ └── ContactGroupEmailViewHolder.kt
│ │ │ │ ├── edit
│ │ │ │ │ ├── ContactGroupEditCreateActivity.kt
│ │ │ │ │ ├── ContactGroupEditCreateRepository.kt
│ │ │ │ │ ├── ContactGroupEditCreateViewModel.kt
│ │ │ │ │ ├── ContactGroupEditCreateViewModelFactory.kt
│ │ │ │ │ ├── ContactGroupMode.kt
│ │ │ │ │ └── chooser
│ │ │ │ │ │ ├── AddressChooserActivity.kt
│ │ │ │ │ │ ├── AddressChooserRepository.kt
│ │ │ │ │ │ ├── AddressChooserViewModel.kt
│ │ │ │ │ │ ├── AddressChooserViewModelFactory.kt
│ │ │ │ │ │ └── ColorChooserFragment.kt
│ │ │ │ ├── jobs
│ │ │ │ │ └── SetMembersForContactGroupJob.kt
│ │ │ │ └── list
│ │ │ │ │ ├── ContactGroupListItem.kt
│ │ │ │ │ ├── ContactGroupsFragment.kt
│ │ │ │ │ ├── ContactGroupsRepository.kt
│ │ │ │ │ ├── ContactGroupsViewModel.kt
│ │ │ │ │ ├── ContactsFragmentsPagerAdapter.kt
│ │ │ │ │ └── ContactsGroupsListAdapter.kt
│ │ │ ├── list
│ │ │ │ ├── ContactsListFragment.kt
│ │ │ │ ├── LocalContactsConverter.kt
│ │ │ │ ├── listView
│ │ │ │ │ ├── ContactItem.kt
│ │ │ │ │ ├── ContactItemListFactory.kt
│ │ │ │ │ └── ContactsListAdapter.kt
│ │ │ │ ├── progress
│ │ │ │ │ ├── IProgressDialogFactory.kt
│ │ │ │ │ ├── ProgressDialogFactory.kt
│ │ │ │ │ ├── ProgressLiveData.kt
│ │ │ │ │ ├── ProgressState.kt
│ │ │ │ │ └── UploadProgressObserver.kt
│ │ │ │ ├── search
│ │ │ │ │ ├── ISearchListenerViewModel.kt
│ │ │ │ │ ├── OnSearchClose.kt
│ │ │ │ │ ├── SearchExpandListener.kt
│ │ │ │ │ └── SearchViewQueryListener.kt
│ │ │ │ └── viewModel
│ │ │ │ │ ├── ContactsListMapper.kt
│ │ │ │ │ ├── ContactsListViewModel.kt
│ │ │ │ │ └── IContactsListViewModel.kt
│ │ │ └── repositories
│ │ │ │ └── andorid
│ │ │ │ ├── baseInfo
│ │ │ │ ├── AndroidContactsLoaderCallbacks.kt
│ │ │ │ ├── AndroidContactsLoaderCallbacksFactory.kt
│ │ │ │ └── AndroidContactsRepository.kt
│ │ │ │ └── details
│ │ │ │ ├── AndroidContactDetailsCallbacks.kt
│ │ │ │ ├── AndroidContactDetailsCallbacksFactory.kt
│ │ │ │ └── AndroidContactDetailsRepository.kt
│ │ │ ├── core
│ │ │ ├── BigContentHolder.java
│ │ │ ├── Constants.kt
│ │ │ ├── DetailedException.kt
│ │ │ ├── NetworkConnectivityManager.kt
│ │ │ ├── NetworkResults.java
│ │ │ ├── ProtonMailApplication.java
│ │ │ ├── QueueNetworkUtil.kt
│ │ │ └── UserManager.kt
│ │ │ ├── crypto
│ │ │ ├── AddressCrypto.kt
│ │ │ ├── CipherText.kt
│ │ │ ├── Crypto.kt
│ │ │ └── UserCrypto.kt
│ │ │ ├── data
│ │ │ ├── AppDatabase.kt
│ │ │ ├── AppDatabaseMigrations.kt
│ │ │ ├── ContactsRepository.kt
│ │ │ ├── ProtonMailConverters.kt
│ │ │ ├── ProtonStore.kt
│ │ │ ├── ProtonStoreMapper.kt
│ │ │ ├── local
│ │ │ │ ├── AttachmentMetadataDao.kt
│ │ │ │ ├── AttachmentMetadataDatabase.kt
│ │ │ │ ├── ContactDao.kt
│ │ │ │ ├── ContactDatabase.kt
│ │ │ │ ├── CounterDao.kt
│ │ │ │ ├── CounterDatabase.kt
│ │ │ │ ├── CounterRepository.kt
│ │ │ │ ├── CounterRepositoryImpl.kt
│ │ │ │ ├── DatabaseFactory.kt
│ │ │ │ ├── MessageDao.kt
│ │ │ │ ├── MessageDatabase.kt
│ │ │ │ ├── MessagePreferenceDao.kt
│ │ │ │ └── model
│ │ │ │ │ ├── Attachment.kt
│ │ │ │ │ ├── AttachmentHeaders.java
│ │ │ │ │ ├── AttachmentMetadata.kt
│ │ │ │ │ ├── AttachmentTypesConverter.kt
│ │ │ │ │ ├── AttachmentsMetadataTypeConverter.kt
│ │ │ │ │ ├── ContactData.kt
│ │ │ │ │ ├── ContactEmail.kt
│ │ │ │ │ ├── Counter.kt
│ │ │ │ │ ├── FullContactDetails.kt
│ │ │ │ │ ├── LocalAttachment.kt
│ │ │ │ │ ├── Message.kt
│ │ │ │ │ ├── MessagePreferenceEntity.kt
│ │ │ │ │ ├── MessageSender.kt
│ │ │ │ │ ├── MessagesTypesConverter.kt
│ │ │ │ │ └── ServerFullContactDetails.kt
│ │ │ └── remote
│ │ │ │ └── dataResults.kt
│ │ │ ├── details
│ │ │ ├── data
│ │ │ │ ├── ConversationUiModelMapper.kt
│ │ │ │ ├── MessageFlagsToEncryptionMapper.kt
│ │ │ │ ├── MessageMapper.kt
│ │ │ │ └── remote
│ │ │ │ │ └── model
│ │ │ │ │ └── ConversationResponse.kt
│ │ │ ├── domain
│ │ │ │ ├── MessageBodyDecryptor.kt
│ │ │ │ ├── MessageBodyParser.kt
│ │ │ │ ├── model
│ │ │ │ │ ├── EmbeddedImageWithContent.kt
│ │ │ │ │ ├── EmbeddedImageWithOutputStream.kt
│ │ │ │ │ ├── MessageBodyDocument.kt
│ │ │ │ │ ├── MessageBodyParts.kt
│ │ │ │ │ ├── MessageEmbeddedImages.kt
│ │ │ │ │ ├── MessageEmbeddedImagesWithContent.kt
│ │ │ │ │ ├── MessageEmbeddedImagesWithOutputStream.kt
│ │ │ │ │ └── SignatureVerification.kt
│ │ │ │ └── usecase
│ │ │ │ │ ├── GetViewInDarkModeMessagePreference.kt
│ │ │ │ │ ├── MarkMessageAsReadIfNeeded.kt
│ │ │ │ │ └── SetViewInDarkModeMessagePreference.kt
│ │ │ └── presentation
│ │ │ │ ├── mapper
│ │ │ │ ├── MessageEncryptionUiModelMapper.kt
│ │ │ │ └── MessageToMessageDetailsListItemMapper.kt
│ │ │ │ ├── model
│ │ │ │ ├── ConversationUiModel.kt
│ │ │ │ ├── MessageBodyState.kt
│ │ │ │ ├── MessageDetailsListItem.kt
│ │ │ │ ├── MessageEncryptionUiModel.kt
│ │ │ │ └── RenderedMessage.kt
│ │ │ │ ├── ui
│ │ │ │ ├── MessageDetailsActivity.kt
│ │ │ │ └── SwitchUserAndOpenMessageDetailsActivity.kt
│ │ │ │ ├── util
│ │ │ │ ├── LoadTheLastNonDraftMessageBody.kt
│ │ │ │ └── MessageBodyLoader.kt
│ │ │ │ └── view
│ │ │ │ ├── CollapsedMessageViews.kt
│ │ │ │ ├── DecryptionErrorBanner.kt
│ │ │ │ ├── MessageDetailsActionsView.kt
│ │ │ │ ├── MessageDetailsHeaderIcons.kt
│ │ │ │ └── ScheduledInfoBanner.kt
│ │ │ ├── di
│ │ │ ├── ApplicationBindsModule.kt
│ │ │ ├── ApplicationModule.kt
│ │ │ ├── CoreAppModule.kt
│ │ │ ├── CoreAuthModule.kt
│ │ │ ├── CoreDatabaseBindsModule.kt
│ │ │ ├── CoreHelpOptionModule.kt
│ │ │ ├── CoreHumanVerificationModule.kt
│ │ │ ├── CoreNetworkModule.kt
│ │ │ ├── CorePlanModule.kt
│ │ │ ├── DatabaseModule.kt
│ │ │ ├── JobModule.kt
│ │ │ ├── ViewModelModule.kt
│ │ │ └── qualifiers.kt
│ │ │ ├── drawer
│ │ │ └── presentation
│ │ │ │ ├── mapper
│ │ │ │ ├── DrawerFoldersAndLabelsSectionUiModelMapper.kt
│ │ │ │ ├── DrawerLabelItemUiModelMapper.kt
│ │ │ │ └── DrawerLabelUiModelMapper.kt
│ │ │ │ ├── model
│ │ │ │ ├── DrawerFoldersAndLabelsSectionUiModel.kt
│ │ │ │ ├── DrawerItemUiModel.kt
│ │ │ │ └── DrawerLabelUiModel.kt
│ │ │ │ └── ui
│ │ │ │ ├── DrawerAdapter.kt
│ │ │ │ └── view
│ │ │ │ └── ProtonSideDrawer.kt
│ │ │ ├── event
│ │ │ ├── data
│ │ │ │ └── remote
│ │ │ │ │ └── model
│ │ │ │ │ ├── ConversationsEventResponse.kt
│ │ │ │ │ └── EventResponse.java
│ │ │ └── domain
│ │ │ │ └── model
│ │ │ │ └── ActionType.kt
│ │ │ ├── events
│ │ │ ├── ApiOfflineEvent.java
│ │ │ ├── AvailablePlansEvent.java
│ │ │ ├── ContactEvent.java
│ │ │ ├── ContactProgressEvent.java
│ │ │ ├── DownloadEmbeddedImagesEvent.java
│ │ │ ├── DownloadedAttachmentEvent.java
│ │ │ ├── FetchDraftDetailEvent.java
│ │ │ ├── FetchLabelsEvent.java
│ │ │ ├── FetchMessageDetailEvent.java
│ │ │ ├── ForceUpgradeEvent.kt
│ │ │ ├── MailboxLoadedEvent.kt
│ │ │ ├── MailboxNoMessagesEvent.java
│ │ │ ├── MoveToFolderEvent.kt
│ │ │ ├── NoResultsEvent.kt
│ │ │ ├── PostImportAttachmentEvent.java
│ │ │ ├── PostImportAttachmentFailureEvent.java
│ │ │ ├── PostPhishingReportEvent.kt
│ │ │ ├── RequestTimeoutEvent.java
│ │ │ ├── ResignContactEvent.java
│ │ │ ├── SearchResultEvent.kt
│ │ │ ├── SettingsChangedEvent.java
│ │ │ ├── Status.java
│ │ │ ├── StorageLimitEvent.java
│ │ │ ├── contacts
│ │ │ │ └── SendPreferencesEvent.java
│ │ │ ├── organizations
│ │ │ │ └── OrganizationEvent.java
│ │ │ └── payment
│ │ │ │ └── VerifyPaymentEvent.java
│ │ │ ├── exceptions
│ │ │ ├── ErrorStateGenerators.kt
│ │ │ ├── ImageErrors.kt
│ │ │ └── SettingsErrors.kt
│ │ │ ├── feature
│ │ │ ├── NotLoggedIn.kt
│ │ │ ├── account
│ │ │ │ ├── AccountManager.kt
│ │ │ │ ├── AccountStateHandlerInitializer.kt
│ │ │ │ ├── AccountStateManager.kt
│ │ │ │ ├── CoreAccountManagerMigration.kt
│ │ │ │ └── SetupAccountUserCheck.kt
│ │ │ ├── rating
│ │ │ │ ├── MailboxScreenViewInMemoryRepository.kt
│ │ │ │ ├── StartRateAppFlow.kt
│ │ │ │ └── usecase
│ │ │ │ │ └── ShouldStartRateAppFlow.kt
│ │ │ └── user
│ │ │ │ ├── UserAddressManager.kt
│ │ │ │ └── UserManager.kt
│ │ │ ├── featureflags
│ │ │ ├── FeatureFlagsInitializer.kt
│ │ │ ├── FeatureFlagsManager.kt
│ │ │ ├── MailFeatureFlags.kt
│ │ │ └── RefreshFeatureFlags.kt
│ │ │ ├── jobs
│ │ │ ├── ConvertLocalContactsJob.kt
│ │ │ ├── FetchByLocationJob.kt
│ │ │ ├── FetchDraftDetailJob.java
│ │ │ ├── FetchMessageDetailJob.java
│ │ │ ├── MoveToFolderJob.java
│ │ │ ├── PostArchiveJob.java
│ │ │ ├── PostDraftJob.java
│ │ │ ├── PostInboxJob.java
│ │ │ ├── PostReadJob.java
│ │ │ ├── PostSpamJob.java
│ │ │ ├── PostStarJob.kt
│ │ │ ├── PostTrashJobV2.java
│ │ │ ├── PostUnreadJob.java
│ │ │ ├── PostUnstarJob.kt
│ │ │ ├── Priority.java
│ │ │ ├── ProtonMailBaseJob.kt
│ │ │ ├── ProtonMailCounterJob.java
│ │ │ ├── ProtonMailEndlessJob.java
│ │ │ ├── RemoveLabelJob.java
│ │ │ ├── ReportPhishingJob.kt
│ │ │ ├── ResignContactJob.java
│ │ │ ├── SearchMessagesJob.kt
│ │ │ ├── UpdateSettingsJob.kt
│ │ │ ├── contacts
│ │ │ │ └── GetSendPreferenceJob.java
│ │ │ ├── helper
│ │ │ │ └── EmbeddedImage.kt
│ │ │ └── organizations
│ │ │ │ └── GetOrganizationJob.kt
│ │ │ ├── labels
│ │ │ ├── data
│ │ │ │ ├── LabelRepositoryImpl.kt
│ │ │ │ ├── local
│ │ │ │ │ ├── LabelDao.kt
│ │ │ │ │ └── model
│ │ │ │ │ │ └── LabelEntity.kt
│ │ │ │ ├── mapper
│ │ │ │ │ ├── LabelEntityApiMapper.kt
│ │ │ │ │ ├── LabelEntityDomainMapper.kt
│ │ │ │ │ ├── LabelEventApiMapper.kt
│ │ │ │ │ ├── LabelOrFolderWithChildrenMapper.kt
│ │ │ │ │ └── LabelRequestMapper.kt
│ │ │ │ └── remote
│ │ │ │ │ ├── LabelApi.kt
│ │ │ │ │ ├── LabelApiSpec.kt
│ │ │ │ │ ├── LabelService.kt
│ │ │ │ │ ├── model
│ │ │ │ │ ├── LabelApiModel.kt
│ │ │ │ │ ├── LabelEventModel.kt
│ │ │ │ │ ├── LabelRequestBody.kt
│ │ │ │ │ ├── LabelResponse.kt
│ │ │ │ │ └── LabelsResponse.kt
│ │ │ │ │ └── worker
│ │ │ │ │ ├── ApplyMessageLabelWorker.kt
│ │ │ │ │ ├── DeleteLabelsWorker.kt
│ │ │ │ │ ├── LabelConversationsRemoteWorker.kt
│ │ │ │ │ ├── PostLabelWorker.kt
│ │ │ │ │ ├── RemoveMembersFromContactGroupWorker.kt
│ │ │ │ │ ├── RemoveMessageLabelWorker.kt
│ │ │ │ │ ├── UnlabelConversationsRemoteWorker.kt
│ │ │ │ │ └── UpdateConversationsLabelsWorker.kt
│ │ │ ├── domain
│ │ │ │ ├── LabelRepository.kt
│ │ │ │ ├── model
│ │ │ │ │ ├── Label.kt
│ │ │ │ │ ├── LabelId.kt
│ │ │ │ │ ├── LabelOrFolderWithChildren.kt
│ │ │ │ │ ├── LabelType.kt
│ │ │ │ │ └── ManageLabelActionResult.kt
│ │ │ │ └── usecase
│ │ │ │ │ ├── DeleteLabels.kt
│ │ │ │ │ ├── GetLabelsByType.kt
│ │ │ │ │ ├── ObserveFoldersEligibleAsParent.kt
│ │ │ │ │ ├── ObserveLabels.kt
│ │ │ │ │ ├── ObserveLabelsAndFoldersWithChildren.kt
│ │ │ │ │ ├── ObserveLabelsOrFoldersWithChildrenByType.kt
│ │ │ │ │ ├── UpdateConversationsLabels.kt
│ │ │ │ │ └── UpdateMessageLabels.kt
│ │ │ └── presentation
│ │ │ │ ├── mapper
│ │ │ │ ├── LabelChipUiModelMapper.kt
│ │ │ │ ├── LabelDomainActionItemUiMapper.kt
│ │ │ │ ├── LabelsManagerItemUiModelMapper.kt
│ │ │ │ └── ParentFolderPickerItemUiModelMapper.kt
│ │ │ │ ├── model
│ │ │ │ ├── LabelActionItemUiModelDiffCallback.kt
│ │ │ │ ├── LabelActonItemUiModel.kt
│ │ │ │ ├── LabelIcon.kt
│ │ │ │ ├── LabelsManagerItemUiModel.kt
│ │ │ │ ├── ParentFolderPickerAction.kt
│ │ │ │ ├── ParentFolderPickerItemUiModel.kt
│ │ │ │ ├── ParentFolderPickerState.kt
│ │ │ │ └── StandardFolderLocation.kt
│ │ │ │ ├── ui
│ │ │ │ ├── LabelsActionAdapter.kt
│ │ │ │ ├── LabelsActionSheet.kt
│ │ │ │ ├── LabelsManagerActivity.kt
│ │ │ │ ├── LabelsManagerAdapter.kt
│ │ │ │ └── ParentFolderPickerActivity.kt
│ │ │ │ └── viewmodel
│ │ │ │ ├── LabelsActionSheetViewModel.kt
│ │ │ │ ├── LabelsManagerViewModel.kt
│ │ │ │ └── ParentFolderPickerViewModel.kt
│ │ │ ├── mailbox
│ │ │ ├── data
│ │ │ │ ├── ConversationsRepositoryImpl.kt
│ │ │ │ ├── MarkUnreadLatestNonDraftMessageInLocation.kt
│ │ │ │ ├── local
│ │ │ │ │ ├── ConversationDao.kt
│ │ │ │ │ ├── ConversationTypesConverter.kt
│ │ │ │ │ ├── UnreadCounterDao.kt
│ │ │ │ │ └── model
│ │ │ │ │ │ ├── ConversationDatabaseModel.kt
│ │ │ │ │ │ ├── LabelContextDatabaseModel.kt
│ │ │ │ │ │ └── UnreadCounterEntity.kt
│ │ │ │ ├── mapper
│ │ │ │ │ ├── ApiToDatabaseUnreadCounterMapper.kt
│ │ │ │ │ ├── ConversationApiModelToConversationDatabaseModelMapper.kt
│ │ │ │ │ ├── ConversationApiModelToConversationMapper.kt
│ │ │ │ │ ├── ConversationDatabaseModelToConversationMapper.kt
│ │ │ │ │ ├── ConversationsResponseToConversationsDatabaseModelsMapper.kt
│ │ │ │ │ ├── ConversationsResponseToConversationsMapper.kt
│ │ │ │ │ ├── CorrespondentApiModelToCorrespondentMapper.kt
│ │ │ │ │ ├── CorrespondentApiModelToMessageRecipientMapper.kt
│ │ │ │ │ ├── CorrespondentApiModelToMessageSenderMapper.kt
│ │ │ │ │ ├── CorrespondentToMessageRecipientMapper.kt
│ │ │ │ │ ├── CorrespondentToMessageSenderMapper.kt
│ │ │ │ │ ├── DatabaseToDomainUnreadCounterMapper.kt
│ │ │ │ │ ├── LabelContextApiModelToLabelContextDatabaseModelMapper.kt
│ │ │ │ │ ├── LabelContextApiModelToLabelContextMapper.kt
│ │ │ │ │ ├── LabelContextDatabaseModelToLabelContextMapper.kt
│ │ │ │ │ ├── MessageRecipientToCorrespondentMapper.kt
│ │ │ │ │ ├── MessageSenderToCorrespondentMapper.kt
│ │ │ │ │ └── MessagesResponseToMessagesMapper.kt
│ │ │ │ └── remote
│ │ │ │ │ ├── ConversationApi.kt
│ │ │ │ │ ├── ConversationApiSpec.kt
│ │ │ │ │ ├── ConversationService.kt
│ │ │ │ │ ├── model
│ │ │ │ │ ├── ConversationApiModel.kt
│ │ │ │ │ ├── ConversationIdsRequestBody.kt
│ │ │ │ │ ├── ConversationsActionResponse.kt
│ │ │ │ │ ├── ConversationsActionResponses.kt
│ │ │ │ │ ├── ConversationsResponse.kt
│ │ │ │ │ ├── CorrespondentApiModel.kt
│ │ │ │ │ ├── CountsApiModel.kt
│ │ │ │ │ ├── CountsResponse.kt
│ │ │ │ │ ├── LabelContextApiModel.kt
│ │ │ │ │ └── UndoTokenApiModel.kt
│ │ │ │ │ └── worker
│ │ │ │ │ ├── DeleteConversationsRemoteWorker.kt
│ │ │ │ │ ├── MarkConversationUnreadRemoteWorker.kt
│ │ │ │ │ ├── MarkConversationsReadRemoteWorker.kt
│ │ │ │ │ └── MoveMessageToLocationWorker.kt
│ │ │ ├── domain
│ │ │ │ ├── ChangeConversationsReadStatus.kt
│ │ │ │ ├── ChangeConversationsStarredStatus.kt
│ │ │ │ ├── ConversationsRepository.kt
│ │ │ │ ├── DeleteConversations.kt
│ │ │ │ ├── HandleChangeToConversations.kt
│ │ │ │ ├── MoveConversationsToFolder.kt
│ │ │ │ ├── model
│ │ │ │ │ ├── AllUnreadCounters.kt
│ │ │ │ │ ├── Conversation.kt
│ │ │ │ │ ├── ConversationsActionResult.kt
│ │ │ │ │ ├── Correspondent.kt
│ │ │ │ │ ├── GetAllConversationsParameters.kt
│ │ │ │ │ ├── GetAllMessagesParameters.kt
│ │ │ │ │ ├── GetConversationsResult.kt
│ │ │ │ │ ├── GetMessagesResult.kt
│ │ │ │ │ ├── GetOneConversationParameters.kt
│ │ │ │ │ ├── LabelContext.kt
│ │ │ │ │ ├── MessageDomainModel.kt
│ │ │ │ │ └── UnreadCounter.kt
│ │ │ │ └── usecase
│ │ │ │ │ ├── MoveMessagesToFolder.kt
│ │ │ │ │ ├── ObserveAllUnreadCounters.kt
│ │ │ │ │ ├── ObserveConversationModeEnabled.kt
│ │ │ │ │ ├── ObserveConversationsByLocation.kt
│ │ │ │ │ ├── ObserveMessageCountByLocation.kt
│ │ │ │ │ ├── ObserveMessagesByLocation.kt
│ │ │ │ │ └── ObserveShowMovedEnabled.kt
│ │ │ └── presentation
│ │ │ │ ├── mapper
│ │ │ │ └── MailboxItemUiModelMapper.kt
│ │ │ │ ├── model
│ │ │ │ ├── EmptyMailboxUiModel.kt
│ │ │ │ ├── MailboxItemUiModel.kt
│ │ │ │ ├── MailboxListState.kt
│ │ │ │ ├── MailboxState.kt
│ │ │ │ ├── UnreadChipState.kt
│ │ │ │ └── UnreadChipUiModel.kt
│ │ │ │ ├── ui
│ │ │ │ ├── EmptyMailboxView.kt
│ │ │ │ ├── MailboxActivity.kt
│ │ │ │ └── UnreadChip.kt
│ │ │ │ ├── util
│ │ │ │ └── ConversationModeEnabled.kt
│ │ │ │ └── viewmodel
│ │ │ │ └── MailboxViewModel.kt
│ │ │ ├── mapper
│ │ │ └── bridge
│ │ │ │ ├── AddressKeysBridgeMapper.kt
│ │ │ │ ├── AddressesBridgeMapper.kt
│ │ │ │ ├── BridgeMapper.kt
│ │ │ │ ├── UserBridgeMapper.kt
│ │ │ │ └── UserKeysBridgeMapper.kt
│ │ │ ├── metrics
│ │ │ └── domain
│ │ │ │ └── SendMetricsForViewInDarkModePreference.kt
│ │ │ ├── navigation
│ │ │ └── presentation
│ │ │ │ ├── NavigationActivity.kt
│ │ │ │ ├── NavigationViewModel.kt
│ │ │ │ └── model
│ │ │ │ ├── NavigationViewAction.kt
│ │ │ │ ├── NavigationViewState.kt
│ │ │ │ └── TemporaryMessage.kt
│ │ │ ├── notifications
│ │ │ ├── data
│ │ │ │ ├── NotificationRepositoryImpl.kt
│ │ │ │ ├── local
│ │ │ │ │ ├── NotificationDao.kt
│ │ │ │ │ ├── NotificationDatabase.kt
│ │ │ │ │ └── model
│ │ │ │ │ │ └── NotificationEntity.kt
│ │ │ │ ├── mapper
│ │ │ │ │ ├── NotificationApiEntityMapper.kt
│ │ │ │ │ └── NotificationEntityDomainMapper.kt
│ │ │ │ └── remote
│ │ │ │ │ ├── fcm
│ │ │ │ │ ├── FcmTokenManager.kt
│ │ │ │ │ ├── MultiUserFcmTokenManager.kt
│ │ │ │ │ ├── PMFirebaseMessagingService.kt
│ │ │ │ │ ├── RegisterDeviceWorker.kt
│ │ │ │ │ ├── UnregisterDeviceWorker.kt
│ │ │ │ │ └── model
│ │ │ │ │ │ └── FirebaseToken.kt
│ │ │ │ │ └── model
│ │ │ │ │ ├── NotificationAction.kt
│ │ │ │ │ ├── PushNotification.kt
│ │ │ │ │ ├── PushNotificationData.kt
│ │ │ │ │ └── PushNotificationSender.kt
│ │ │ ├── domain
│ │ │ │ ├── NotificationRepository.kt
│ │ │ │ ├── ProcessPushNotificationDataWorker.kt
│ │ │ │ └── model
│ │ │ │ │ ├── Notification.kt
│ │ │ │ │ ├── NotificationId.kt
│ │ │ │ │ └── NotificationType.kt
│ │ │ └── presentation
│ │ │ │ ├── usecase
│ │ │ │ ├── ClearNotification.kt
│ │ │ │ └── ClearNotificationsForUser.kt
│ │ │ │ └── utils
│ │ │ │ └── NotificationServer.kt
│ │ │ ├── onboarding
│ │ │ ├── base
│ │ │ │ └── presentation
│ │ │ │ │ ├── AddStartOnboardingObserverIfNeeded.kt
│ │ │ │ │ ├── OnboardingActivity.kt
│ │ │ │ │ ├── OnboardingAdapter.kt
│ │ │ │ │ ├── OnboardingIndicatorsView.kt
│ │ │ │ │ ├── OnboardingItemUiModelDiffCallback.kt
│ │ │ │ │ ├── OnboardingViewModel.kt
│ │ │ │ │ ├── StartOnboardingObserver.kt
│ │ │ │ │ ├── StartOnboardingObserverInitializer.kt
│ │ │ │ │ └── model
│ │ │ │ │ └── OnboardingItemUiModel.kt
│ │ │ ├── existinguser
│ │ │ │ └── presentation
│ │ │ │ │ ├── ExistingUserOnboardingActivity.kt
│ │ │ │ │ └── ExistingUserOnboardingViewModel.kt
│ │ │ └── newuser
│ │ │ │ └── presentation
│ │ │ │ ├── NewUserOnboardingActivity.kt
│ │ │ │ └── NewUserOnboardingViewModel.kt
│ │ │ ├── pendingaction
│ │ │ ├── data
│ │ │ │ ├── PendingActionDao.kt
│ │ │ │ ├── PendingActionDatabase.kt
│ │ │ │ ├── model
│ │ │ │ │ ├── PendingSend.kt
│ │ │ │ │ └── PendingUpload.kt
│ │ │ │ ├── repository
│ │ │ │ │ └── PendingSendRepositoryImpl.kt
│ │ │ │ └── worker
│ │ │ │ │ └── CleanUpPendingSendsWorker.kt
│ │ │ ├── di
│ │ │ │ └── PendingSendModule.kt
│ │ │ └── domain
│ │ │ │ └── repository
│ │ │ │ └── PendingSendRepository.kt
│ │ │ ├── permissions
│ │ │ └── PermissionHelper.java
│ │ │ ├── pinlock
│ │ │ ├── domain
│ │ │ │ └── usecase
│ │ │ │ │ ├── GetPinLockTimer.kt
│ │ │ │ │ ├── IsPinLockEnabled.kt
│ │ │ │ │ └── ShouldShowPinLockScreen.kt
│ │ │ └── presentation
│ │ │ │ └── PinLockManager.kt
│ │ │ ├── prefs
│ │ │ └── SecureSharedPreferences.kt
│ │ │ ├── receivers
│ │ │ ├── ConnectivityBroadcastReceiver.java
│ │ │ ├── LocaleChangeReceiver.java
│ │ │ ├── NotificationReceiver.kt
│ │ │ ├── OnBootReceiver.java
│ │ │ └── TimeChangedReceiver.kt
│ │ │ ├── repository
│ │ │ ├── AuthRepository.kt
│ │ │ └── MessageRepository.kt
│ │ │ ├── security
│ │ │ ├── domain
│ │ │ │ └── usecase
│ │ │ │ │ ├── GetIsPreventTakingScreenshots.kt
│ │ │ │ │ ├── ObserveIsPreventTakingScreenshots.kt
│ │ │ │ │ └── SavePreventTakingScreenshots.kt
│ │ │ └── presentation
│ │ │ │ ├── LogoutHandler.kt
│ │ │ │ ├── ScreenshotManager.kt
│ │ │ │ ├── SecurityManager.kt
│ │ │ │ └── SecurityManagerInitializer.kt
│ │ │ ├── sentry
│ │ │ ├── SentryInitializer.kt
│ │ │ ├── SentryModule.kt
│ │ │ ├── SentryProxyObserver.kt
│ │ │ ├── SentryTree.kt
│ │ │ ├── SentryUserObserver.kt
│ │ │ └── SentryVpnBeforeSendHook.kt
│ │ │ ├── settings
│ │ │ ├── data
│ │ │ │ ├── AccountSettingsRepository.kt
│ │ │ │ ├── MailSettingsEnumMapper.kt
│ │ │ │ ├── SharedPreferencesAccountSettingsRepository.kt
│ │ │ │ └── SharedPreferencesDeviceSettingsRepository.kt
│ │ │ ├── domain
│ │ │ │ ├── DeviceSettingsRepository.kt
│ │ │ │ ├── model
│ │ │ │ │ └── AppThemeSettings.kt
│ │ │ │ └── usecase
│ │ │ │ │ ├── ApplyAppThemeFromSettings.kt
│ │ │ │ │ ├── GetAppThemeSettings.kt
│ │ │ │ │ ├── GetMailSettings.kt
│ │ │ │ │ ├── ObserveUserSettings.kt
│ │ │ │ │ ├── SaveAppThemeSettings.kt
│ │ │ │ │ ├── UpdateSwipeActions.kt
│ │ │ │ │ └── UpdateViewMode.kt
│ │ │ ├── pin
│ │ │ │ ├── ChangePinActivity.kt
│ │ │ │ ├── CreatePinActivity.kt
│ │ │ │ ├── PinFragment.kt
│ │ │ │ ├── PinSettingsActivity.kt
│ │ │ │ ├── ValidatePinActivity.kt
│ │ │ │ └── viewmodel
│ │ │ │ │ ├── PinFragmentViewModel.kt
│ │ │ │ │ └── PinFragmentViewModelFactory.kt
│ │ │ ├── presentation
│ │ │ │ ├── AccountSettingsActivity.kt
│ │ │ │ ├── AccountSettingsActivityViewModel.kt
│ │ │ │ ├── AttachmentStorageActivity.kt
│ │ │ │ ├── BaseSettingsActivity.kt
│ │ │ │ ├── DefaultAddressActivity.kt
│ │ │ │ ├── DisplayNameAndSignatureFragment.kt
│ │ │ │ ├── EditSettingsItemActivity.kt
│ │ │ │ ├── NotificationSettingsActivity.kt
│ │ │ │ ├── SettingsActivity.kt
│ │ │ │ ├── SettingsDividerItemDecoration.kt
│ │ │ │ ├── SettingsEnum.kt
│ │ │ │ ├── SnoozeNotificationsActivity.kt
│ │ │ │ ├── SnoozeRepeatDayView.kt
│ │ │ │ ├── ui
│ │ │ │ │ └── ThemeChooserActivity.kt
│ │ │ │ └── viewmodel
│ │ │ │ │ ├── NotificationSettingsViewModel.kt
│ │ │ │ │ └── ThemeChooserViewModel.kt
│ │ │ └── swipe
│ │ │ │ ├── SwipeChooserActivity.kt
│ │ │ │ ├── SwipeSettingFragment.kt
│ │ │ │ └── viewmodel
│ │ │ │ └── SwipeChooserViewModel.kt
│ │ │ ├── storage
│ │ │ ├── AttachmentClearingService.java
│ │ │ ├── AttachmentClearingServiceHelper.kt
│ │ │ └── MessageBodyClearingService.kt
│ │ │ ├── tasks
│ │ │ ├── AbstractEmbeddedImagesThread.java
│ │ │ └── EmbeddedImagesThread.kt
│ │ │ ├── ui
│ │ │ ├── actionsheet
│ │ │ │ ├── ActionSheetHeader.kt
│ │ │ │ ├── MessageActionSheet.kt
│ │ │ │ ├── MessageActionSheetAction.kt
│ │ │ │ ├── MessageActionSheetState.kt
│ │ │ │ ├── MessageActionSheetViewModel.kt
│ │ │ │ └── model
│ │ │ │ │ └── ActionSheetTarget.kt
│ │ │ ├── adapter
│ │ │ │ ├── BaseAdapter.kt
│ │ │ │ └── ClickableAdapter.kt
│ │ │ ├── layout
│ │ │ │ └── MoreItemsLinearLayout.kt
│ │ │ ├── model
│ │ │ │ └── LabelChipUiModel.kt
│ │ │ └── view
│ │ │ │ ├── CheckableButton.kt
│ │ │ │ ├── CollapsedMessageLabelView.kt
│ │ │ │ ├── ComposerBottomAppBar.kt
│ │ │ │ ├── DaysAndHoursPickerView.kt
│ │ │ │ ├── LabelChipView.kt
│ │ │ │ ├── MultiLineLabelChipGroupView.kt
│ │ │ │ ├── SingleLineCollapsedLabelGroupView.kt
│ │ │ │ └── SingleLineLabelChipGroupView.kt
│ │ │ ├── uiModel
│ │ │ └── SettingsItemUiModel.kt
│ │ │ ├── usecase
│ │ │ ├── GetElapsedRealTimeMillis.kt
│ │ │ ├── IsAppInDarkMode.kt
│ │ │ ├── LoadLegacyUser.kt
│ │ │ ├── LoadUser.kt
│ │ │ ├── VerifyConnection.kt
│ │ │ ├── compose
│ │ │ │ ├── SaveDraft.kt
│ │ │ │ └── SaveDraftResult.kt
│ │ │ ├── create
│ │ │ │ └── CreateContact.kt
│ │ │ ├── delete
│ │ │ │ ├── ClearUserData.kt
│ │ │ │ ├── ClearUserMessagesData.kt
│ │ │ │ ├── DeleteMessage.kt
│ │ │ │ └── EmptyFolder.kt
│ │ │ ├── fetch
│ │ │ │ ├── FetchContactsData.kt
│ │ │ │ ├── FetchMailSettings.kt
│ │ │ │ ├── FetchPublicKeys.kt
│ │ │ │ ├── FetchVerificationKeys.kt
│ │ │ │ └── LaunchInitialDataFetch.kt
│ │ │ ├── message
│ │ │ │ ├── ChangeMessagesReadStatus.kt
│ │ │ │ ├── ChangeMessagesStarredStatus.kt
│ │ │ │ └── GetDecryptedMessageById.kt
│ │ │ └── model
│ │ │ │ ├── CheckSubscriptionResult.kt
│ │ │ │ ├── DeleteMessageResult.kt
│ │ │ │ ├── FetchPublicKeysRequest.kt
│ │ │ │ ├── FetchPublicKeysResult.kt
│ │ │ │ └── FetchVerificationKeysResult.kt
│ │ │ ├── util
│ │ │ └── ProtonCalendarUtil.kt
│ │ │ ├── utils
│ │ │ ├── AppUtil.java
│ │ │ ├── BuildInfo.kt
│ │ │ ├── ChromeUtils.kt
│ │ │ ├── ConstantTime.java
│ │ │ ├── CoreTimberLogger.kt
│ │ │ ├── CustomLocale.kt
│ │ │ ├── DateUtil.java
│ │ │ ├── DownloadUtils.kt
│ │ │ ├── EmptyActivityLifecycleCallbacks.kt
│ │ │ ├── Event.kt
│ │ │ ├── FileHelper.kt
│ │ │ ├── FileUtils.java
│ │ │ ├── HTMLToMDConverter.java
│ │ │ ├── HTMLTransformer
│ │ │ │ ├── AbstractTransformer.java
│ │ │ │ ├── DefaultTransformer.kt
│ │ │ │ ├── Transformer.java
│ │ │ │ └── ViewportTransformer.kt
│ │ │ ├── INetworkConfiguratorCallback.kt
│ │ │ ├── IntentExtensions.kt
│ │ │ ├── Logger.java
│ │ │ ├── MIME
│ │ │ │ ├── MIMEBuilder.java
│ │ │ │ ├── MIMEParser.java
│ │ │ │ └── MIMEPart.java
│ │ │ ├── MailToData.kt
│ │ │ ├── MessageBodyFileManager.kt
│ │ │ ├── MessageUtils.kt
│ │ │ ├── NetworkSnackBarUtil.kt
│ │ │ ├── NotificationsUtils.kt
│ │ │ ├── PasswordUtils.java
│ │ │ ├── ResettableDelegate.kt
│ │ │ ├── SRPClient.java
│ │ │ ├── ServerTime.java
│ │ │ ├── ServerTimeProvider.kt
│ │ │ ├── SharedPreferencesUtils.kt
│ │ │ ├── StringExtensions.kt
│ │ │ ├── SwipeDirections.java
│ │ │ ├── SwipeViewGroup.java
│ │ │ ├── TryWithExponentialBackoff.kt
│ │ │ ├── TryWithRetry.kt
│ │ │ ├── UiUtil.java
│ │ │ ├── UserUtils.java
│ │ │ ├── UuidProvider.kt
│ │ │ ├── VCardUtil.java
│ │ │ ├── base64
│ │ │ │ ├── AndroidBase64Encoder.kt
│ │ │ │ └── Base64Encoder.kt
│ │ │ ├── crypto
│ │ │ │ ├── AbstractDecryptionResult.java
│ │ │ │ ├── BinaryDecryptionResult.java
│ │ │ │ ├── EOToken.java
│ │ │ │ ├── KeyInformation.java
│ │ │ │ ├── MimeDecryptor.kt
│ │ │ │ ├── OpenPGP.java
│ │ │ │ ├── ServerTimeInterceptor.kt
│ │ │ │ ├── TextDecryptionResult.java
│ │ │ │ └── TextVerificationResult.kt
│ │ │ ├── css
│ │ │ │ └── MessageBodyCssProvider.kt
│ │ │ ├── extensions
│ │ │ │ ├── ActivityExtensions.kt
│ │ │ │ ├── AnyExtensions.kt
│ │ │ │ ├── BooleanExtensions.kt
│ │ │ │ ├── CollectionExtensions.kt
│ │ │ │ ├── ColorExtensions.kt
│ │ │ │ ├── CommonExtensions.kt
│ │ │ │ ├── CompatExtensions.kt
│ │ │ │ ├── DurationExtensions.kt
│ │ │ │ ├── ExceptionExtensions.kt
│ │ │ │ ├── LiveDataExtensions.kt
│ │ │ │ ├── OkHttpExtensions.kt
│ │ │ │ ├── RetrofitExtensions.kt
│ │ │ │ ├── SerializationExtensions.kt
│ │ │ │ ├── SnoozeExtensions.kt
│ │ │ │ ├── StringExtensions.kt
│ │ │ │ ├── TextExtensions.kt
│ │ │ │ └── ViewExtensions.kt
│ │ │ ├── notifier
│ │ │ │ ├── AndroidUserNotifier.kt
│ │ │ │ └── UserNotifier.kt
│ │ │ ├── resources
│ │ │ │ └── StringResourceResolver.kt
│ │ │ ├── ui
│ │ │ │ ├── ExpandableRecyclerAdapter.kt
│ │ │ │ ├── RecipientDropDownClickListener.java
│ │ │ │ ├── RecyclerViewEmptyViewSupport.kt
│ │ │ │ ├── dialogs
│ │ │ │ │ └── DialogUtils.kt
│ │ │ │ ├── screen
│ │ │ │ │ └── RenderDimensionsProvider.kt
│ │ │ │ └── selection
│ │ │ │ │ └── SelectionModeEnum.kt
│ │ │ └── webview
│ │ │ │ └── SetUpWebViewDarkModeHandlingIfSupported.kt
│ │ │ ├── viewmodel
│ │ │ ├── BaseViewModel.kt
│ │ │ └── ConnectivityBaseViewModel.kt
│ │ │ ├── views
│ │ │ ├── ComposeEditText.java
│ │ │ ├── ContactAddressView.java
│ │ │ ├── ContactBirthdayClickListener.java
│ │ │ ├── ContactOptionTypeClickListener.java
│ │ │ ├── CustomQuickSnoozeDialog.java
│ │ │ ├── ListItemThumbnail.kt
│ │ │ ├── MessageRecipientView.java
│ │ │ ├── PmWebViewClient.kt
│ │ │ ├── RoundButton.kt
│ │ │ ├── SecureEditText.kt
│ │ │ ├── SettingsDefaultItemView.kt
│ │ │ ├── VCardLinearLayout.java
│ │ │ ├── alerts
│ │ │ │ └── StorageLimitAlert.kt
│ │ │ ├── messageDetails
│ │ │ │ ├── AttachmentDetailView.kt
│ │ │ │ ├── BottomActionsView.kt
│ │ │ │ ├── MessageDetailsAttachmentsView.kt
│ │ │ │ ├── MessageDetailsExpirationInfoView.kt
│ │ │ │ ├── MessageDetailsHeaderView.kt
│ │ │ │ ├── MessageDetailsRecipientsContainerView.kt
│ │ │ │ └── ReplyActionsView.kt
│ │ │ ├── messagesList
│ │ │ │ ├── MailboxItemFooterView.kt
│ │ │ │ ├── MailboxItemView.kt
│ │ │ │ └── SenderInitialView.kt
│ │ │ └── models
│ │ │ │ ├── LocalContact.kt
│ │ │ │ └── LocalContactAddress.kt
│ │ │ └── worker
│ │ │ ├── CreateContactGroupWorker.kt
│ │ │ ├── CreateContactWorker.kt
│ │ │ ├── DeleteAttachmentWorker.kt
│ │ │ ├── DeleteContactWorker.kt
│ │ │ ├── DeleteMessageWorker.kt
│ │ │ ├── EmptyFolderRemoteWorker.kt
│ │ │ ├── FetchContactsDataWorker.kt
│ │ │ ├── FetchContactsEmailsWorker.kt
│ │ │ ├── FetchMailSettingsWorker.kt
│ │ │ ├── FetchUserAddressesWorker.kt
│ │ │ ├── FetchUserWorker.kt
│ │ │ ├── PingWorker.kt
│ │ │ ├── drafts
│ │ │ ├── CreateDraftWorker.kt
│ │ │ └── CreateDraftWorkerErrors.kt
│ │ │ └── repository
│ │ │ └── WorkerRepository.kt
│ ├── res
│ │ ├── .locale-state.metadata
│ │ ├── anim
│ │ │ ├── zoom_in.xml
│ │ │ └── zoom_out.xml
│ │ ├── drawable-hdpi
│ │ │ └── drawer_shadow.9.png
│ │ ├── drawable-mdpi
│ │ │ └── drawer_shadow.9.png
│ │ ├── drawable-nodpi
│ │ │ ├── _unknown.png
│ │ │ ├── ad.png
│ │ │ ├── ae.png
│ │ │ ├── af.png
│ │ │ ├── ag.png
│ │ │ ├── ai.png
│ │ │ ├── al.png
│ │ │ ├── am.png
│ │ │ ├── ao.png
│ │ │ ├── ar.png
│ │ │ ├── as.png
│ │ │ ├── at.png
│ │ │ ├── au.png
│ │ │ ├── aw.png
│ │ │ ├── az.png
│ │ │ ├── ba.png
│ │ │ ├── bb.png
│ │ │ ├── bd.png
│ │ │ ├── be.png
│ │ │ ├── bf.png
│ │ │ ├── bg.png
│ │ │ ├── bh.png
│ │ │ ├── bi.png
│ │ │ ├── bj.png
│ │ │ ├── bl.png
│ │ │ ├── bm.png
│ │ │ ├── bn.png
│ │ │ ├── bo.png
│ │ │ ├── br.png
│ │ │ ├── bs.png
│ │ │ ├── bt.png
│ │ │ ├── bw.png
│ │ │ ├── by.png
│ │ │ ├── bz.png
│ │ │ ├── ca.png
│ │ │ ├── cd.png
│ │ │ ├── cf.png
│ │ │ ├── cg.png
│ │ │ ├── ch.png
│ │ │ ├── ci.png
│ │ │ ├── ck.png
│ │ │ ├── cl.png
│ │ │ ├── cm.png
│ │ │ ├── cn.png
│ │ │ ├── co.png
│ │ │ ├── cr.png
│ │ │ ├── cu.png
│ │ │ ├── cv.png
│ │ │ ├── cw.png
│ │ │ ├── cy.png
│ │ │ ├── cz.png
│ │ │ ├── de.png
│ │ │ ├── dj.png
│ │ │ ├── dk.png
│ │ │ ├── dm.png
│ │ │ ├── dz.png
│ │ │ ├── ec.png
│ │ │ ├── ee.png
│ │ │ ├── eg.png
│ │ │ ├── eh.png
│ │ │ ├── encryption.jpg
│ │ │ ├── er.png
│ │ │ ├── es.png
│ │ │ ├── et.png
│ │ │ ├── expire.jpg
│ │ │ ├── fi.png
│ │ │ ├── fj.png
│ │ │ ├── fk.png
│ │ │ ├── fm.png
│ │ │ ├── fo.png
│ │ │ ├── fr.png
│ │ │ ├── ga.png
│ │ │ ├── gb.png
│ │ │ ├── gd.png
│ │ │ ├── ge.png
│ │ │ ├── gg.png
│ │ │ ├── gh.png
│ │ │ ├── gi.png
│ │ │ ├── gl.png
│ │ │ ├── gm.png
│ │ │ ├── gn.png
│ │ │ ├── gq.png
│ │ │ ├── gr.png
│ │ │ ├── gt.png
│ │ │ ├── gu.png
│ │ │ ├── gw.png
│ │ │ ├── gy.png
│ │ │ ├── help.jpg
│ │ │ ├── hk.png
│ │ │ ├── hn.png
│ │ │ ├── hr.png
│ │ │ ├── ht.png
│ │ │ ├── hu.png
│ │ │ ├── id.png
│ │ │ ├── ie.png
│ │ │ ├── il.png
│ │ │ ├── im.png
│ │ │ ├── in.png
│ │ │ ├── iq.png
│ │ │ ├── ir.png
│ │ │ ├── is.png
│ │ │ ├── it.png
│ │ │ ├── je.png
│ │ │ ├── jm.png
│ │ │ ├── jo.png
│ │ │ ├── jp.png
│ │ │ ├── ke.png
│ │ │ ├── kg.png
│ │ │ ├── kh.png
│ │ │ ├── ki.png
│ │ │ ├── km.png
│ │ │ ├── kn.png
│ │ │ ├── kp.png
│ │ │ ├── kr.png
│ │ │ ├── kw.png
│ │ │ ├── ky.png
│ │ │ ├── kz.png
│ │ │ ├── la.png
│ │ │ ├── labels.jpg
│ │ │ ├── lb.png
│ │ │ ├── lc.png
│ │ │ ├── li.png
│ │ │ ├── lk.png
│ │ │ ├── lr.png
│ │ │ ├── ls.png
│ │ │ ├── lt.png
│ │ │ ├── lu.png
│ │ │ ├── lv.png
│ │ │ ├── ly.png
│ │ │ ├── ma.png
│ │ │ ├── mc.png
│ │ │ ├── md.png
│ │ │ ├── me.png
│ │ │ ├── mf.png
│ │ │ ├── mg.png
│ │ │ ├── mh.png
│ │ │ ├── mk.png
│ │ │ ├── ml.png
│ │ │ ├── mm.png
│ │ │ ├── mn.png
│ │ │ ├── mo.png
│ │ │ ├── mp.png
│ │ │ ├── mq.png
│ │ │ ├── mr.png
│ │ │ ├── ms.png
│ │ │ ├── mt.png
│ │ │ ├── mu.png
│ │ │ ├── mv.png
│ │ │ ├── mw.png
│ │ │ ├── mx.png
│ │ │ ├── my.png
│ │ │ ├── mz.png
│ │ │ ├── na.png
│ │ │ ├── nc.png
│ │ │ ├── ne.png
│ │ │ ├── nf.png
│ │ │ ├── ng.png
│ │ │ ├── ni.png
│ │ │ ├── nl.png
│ │ │ ├── no.png
│ │ │ ├── np.png
│ │ │ ├── nr.png
│ │ │ ├── nu.png
│ │ │ ├── nz.png
│ │ │ ├── om.png
│ │ │ ├── pa.png
│ │ │ ├── pe.png
│ │ │ ├── pf.png
│ │ │ ├── pg.png
│ │ │ ├── ph.png
│ │ │ ├── pk.png
│ │ │ ├── pl.png
│ │ │ ├── pr.png
│ │ │ ├── ps.png
│ │ │ ├── pt.png
│ │ │ ├── pw.png
│ │ │ ├── py.png
│ │ │ ├── qa.png
│ │ │ ├── ro.png
│ │ │ ├── rs.png
│ │ │ ├── ru.png
│ │ │ ├── rw.png
│ │ │ ├── sa.png
│ │ │ ├── sb.png
│ │ │ ├── sc.png
│ │ │ ├── sd.png
│ │ │ ├── se.png
│ │ │ ├── sg.png
│ │ │ ├── sh.png
│ │ │ ├── si.png
│ │ │ ├── sk.png
│ │ │ ├── sl.png
│ │ │ ├── sm.png
│ │ │ ├── sn.png
│ │ │ ├── so.png
│ │ │ ├── sr.png
│ │ │ ├── ss.png
│ │ │ ├── st.png
│ │ │ ├── sv.png
│ │ │ ├── swipe.jpg
│ │ │ ├── sy.png
│ │ │ ├── sz.png
│ │ │ ├── tc.png
│ │ │ ├── td.png
│ │ │ ├── tg.png
│ │ │ ├── th.png
│ │ │ ├── tj.png
│ │ │ ├── tk.png
│ │ │ ├── tl.png
│ │ │ ├── tm.png
│ │ │ ├── tn.png
│ │ │ ├── to.png
│ │ │ ├── tr.png
│ │ │ ├── tt.png
│ │ │ ├── tv.png
│ │ │ ├── tw.png
│ │ │ ├── tz.png
│ │ │ ├── ua.png
│ │ │ ├── ug.png
│ │ │ ├── us.png
│ │ │ ├── uy.png
│ │ │ ├── uz.png
│ │ │ ├── va.png
│ │ │ ├── vc.png
│ │ │ ├── ve.png
│ │ │ ├── vg.png
│ │ │ ├── vi.png
│ │ │ ├── vn.png
│ │ │ ├── vu.png
│ │ │ ├── welcome.jpg
│ │ │ ├── wf.png
│ │ │ ├── ws.png
│ │ │ ├── xk.png
│ │ │ ├── ye.png
│ │ │ ├── yt.png
│ │ │ ├── za.png
│ │ │ ├── zm.png
│ │ │ └── zw.png
│ │ ├── drawable-v24
│ │ │ └── ic_launcher_foreground.xml
│ │ ├── drawable-xhdpi
│ │ │ └── drawer_shadow.9.png
│ │ ├── drawable-xxhdpi
│ │ │ └── drawer_shadow.9.png
│ │ ├── drawable-xxxhdpi
│ │ │ ├── ic_clear_black.png
│ │ │ ├── textfield_label.9.png
│ │ │ ├── textfield_violet.9.png
│ │ │ └── textfield_white.9.png
│ │ ├── drawable
│ │ │ ├── actionbar_shadow.xml
│ │ │ ├── background_messages_number.xml
│ │ │ ├── background_selection_mode_not_selected.xml
│ │ │ ├── background_selection_mode_selected.xml
│ │ │ ├── background_sender_initial.xml
│ │ │ ├── bg_collapsed_label.xml
│ │ │ ├── bg_recipient_chip.xml
│ │ │ ├── bg_recipient_chip_default.xml
│ │ │ ├── bg_recipient_chip_selected.xml
│ │ │ ├── bg_spinner_three_dots.xml
│ │ │ ├── circle_background_interaction_strong.xml
│ │ │ ├── circle_background_interaction_strong_pressed.xml
│ │ │ ├── circle_background_interaction_weak.xml
│ │ │ ├── circle_background_interaction_weak_pressed.xml
│ │ │ ├── circle_labels_selection.xml
│ │ │ ├── circle_onboarding_indicator_active.xml
│ │ │ ├── circle_onboarding_indicator_inactive.xml
│ │ │ ├── cursor_black.xml
│ │ │ ├── field.xml
│ │ │ ├── ic_brand_mail.xml
│ │ │ ├── ic_compose_shortcut.xml
│ │ │ ├── ic_file_image.xml
│ │ │ ├── ic_hourglass_message_header.xml
│ │ │ ├── ic_note.xml
│ │ │ ├── ic_pen_white.xml
│ │ │ ├── ic_star_filled.xml
│ │ │ ├── img_empty_folder.xml
│ │ │ ├── img_empty_mailbox.xml
│ │ │ ├── img_empty_search.xml
│ │ │ ├── img_empty_trash.xml
│ │ │ ├── img_no_contacts.xml
│ │ │ ├── img_no_groups.xml
│ │ │ ├── img_no_messages_in_spam.xml
│ │ │ ├── img_onboarding_encryption.xml
│ │ │ ├── img_onboarding_labels_folders.xml
│ │ │ ├── img_onboarding_new_features.xml
│ │ │ ├── keyboard_button_background.xml
│ │ │ ├── list_divider.xml
│ │ │ ├── message_details_error_banner_background.xml
│ │ │ ├── message_details_info_banner_background.xml
│ │ │ ├── repeat_day_selected_background.xml
│ │ │ ├── repeat_day_unselected_background.xml
│ │ │ ├── ripple_background_norm.xml
│ │ │ ├── ripple_reply_actions.xml
│ │ │ ├── search_edittext_shape.xml
│ │ │ ├── selector_selection_mode_background.xml
│ │ │ ├── selector_selection_mode_icon.xml
│ │ │ ├── selector_star_action_icon.xml
│ │ │ ├── selector_unread_messages_status_background.xml
│ │ │ ├── selector_unread_messages_status_text_color.xml
│ │ │ ├── settings_left_swipe_action_preview_background.xml
│ │ │ ├── settings_right_swipe_action_preview_background.xml
│ │ │ ├── shape_background_action_sheet_buttons.xml
│ │ │ ├── shape_check.xml
│ │ │ ├── shape_ellipse.xml
│ │ │ ├── shape_oval.xml
│ │ │ ├── shape_rectangle_xsmall_corners_bg_secondary_fill.xml
│ │ │ ├── shape_rectangle_xsmall_corners_bg_secondary_ripple.xml
│ │ │ ├── shape_rectangle_xxsmall_corners_weak_fill.xml
│ │ │ ├── shape_reply_actions_background.xml
│ │ │ ├── shape_stretchable_circle.xml
│ │ │ ├── spacer_s_m.xml
│ │ │ └── spinner_item_dropdown.xml
│ │ ├── layout
│ │ │ ├── activity_add_attachments.xml
│ │ │ ├── activity_address_chooser.xml
│ │ │ ├── activity_attachment_storage.xml
│ │ │ ├── activity_compose_message.xml
│ │ │ ├── activity_contact_details.xml
│ │ │ ├── activity_contact_group_details.xml
│ │ │ ├── activity_contacts.xml
│ │ │ ├── activity_create_contact_group.xml
│ │ │ ├── activity_default_address.xml
│ │ │ ├── activity_edit_contact_details.xml
│ │ │ ├── activity_edit_contact_group.xml
│ │ │ ├── activity_edit_settings_item.xml
│ │ │ ├── activity_fragment_container.xml
│ │ │ ├── activity_labels_manager.xml
│ │ │ ├── activity_mailbox.xml
│ │ │ ├── activity_message_details.xml
│ │ │ ├── activity_notification_settings.xml
│ │ │ ├── activity_onboarding.xml
│ │ │ ├── activity_parent_folder_picker.xml
│ │ │ ├── activity_pin_settings.xml
│ │ │ ├── activity_search.xml
│ │ │ ├── activity_set_message_expiration.xml
│ │ │ ├── activity_set_message_password.xml
│ │ │ ├── activity_settings.xml
│ │ │ ├── activity_snooze_notifications.xml
│ │ │ ├── activity_swipe_chooser.xml
│ │ │ ├── activity_theme_chooser.xml
│ │ │ ├── activity_view_headers.xml
│ │ │ ├── alias_list_item_inactive.xml
│ │ │ ├── attachment_inline_first_list_item.xml
│ │ │ ├── attachment_list_item.xml
│ │ │ ├── checkbox.xml
│ │ │ ├── contact_address_detailed.xml
│ │ │ ├── contact_groups_email_list_item_selectable.xml
│ │ │ ├── contact_new_vcard_address.xml
│ │ │ ├── contact_new_vcard_item_email_address.xml
│ │ │ ├── contact_vcard_address_editable.xml
│ │ │ ├── contact_vcard_item_editable.xml
│ │ │ ├── contact_vcard_item_note.xml
│ │ │ ├── content_contact_group_details.xml
│ │ │ ├── content_edit_create_contact_group_header.xml
│ │ │ ├── custom_quick_snooze_dialog.xml
│ │ │ ├── dialog_email_type.xml
│ │ │ ├── dialog_fragment_group_recipients.xml
│ │ │ ├── dialog_fragment_quick_snooze.xml
│ │ │ ├── dialog_message_troubleshoot.xml
│ │ │ ├── dialog_recipient_expiration_unsupported.xml
│ │ │ ├── drawer_footer.xml
│ │ │ ├── drawer_list_item.xml
│ │ │ ├── drawer_list_item_divider.xml
│ │ │ ├── drawer_section_name_item.xml
│ │ │ ├── folder_color_item.xml
│ │ │ ├── fragment_color_chooser.xml
│ │ │ ├── fragment_contacts.xml
│ │ │ ├── fragment_contacts_groups.xml
│ │ │ ├── fragment_labels_action_sheet.xml
│ │ │ ├── fragment_message_action_sheet.xml
│ │ │ ├── fragment_pin.xml
│ │ │ ├── group_recipient_list_item.xml
│ │ │ ├── horizontal_divider.xml
│ │ │ ├── item_email_expiration_error_dialog.xml
│ │ │ ├── item_manage_labels_action.xml
│ │ │ ├── item_parent_picker_folder.xml
│ │ │ ├── item_vcard_option_dialog.xml
│ │ │ ├── label_color_item_circle.xml
│ │ │ ├── labels_list_item.xml
│ │ │ ├── layout_bottom_actions.xml
│ │ │ ├── layout_collapsed_message_views.xml
│ │ │ ├── layout_composer_bottom_app_bar.xml
│ │ │ ├── layout_contact_details_main_buttons.xml
│ │ │ ├── layout_contacts_edit_filed_type_selector.xml
│ │ │ ├── layout_contacts_edit_filed_with_delete.xml
│ │ │ ├── layout_delinquency_dialog.xml
│ │ │ ├── layout_dialog_warning.xml
│ │ │ ├── layout_mailbox_error_state.xml
│ │ │ ├── layout_mailbox_no_messages.xml
│ │ │ ├── layout_mailbox_status_view.xml
│ │ │ ├── layout_message_details.xml
│ │ │ ├── layout_message_details_actions_sheet_buttons.xml
│ │ │ ├── layout_message_details_activity_toolbar.xml
│ │ │ ├── layout_message_details_attachments.xml
│ │ │ ├── layout_message_details_attachments_details.xml
│ │ │ ├── layout_message_details_body.xml
│ │ │ ├── layout_message_details_expiration_info.xml
│ │ │ ├── layout_message_details_header.xml
│ │ │ ├── layout_message_details_icons.xml
│ │ │ ├── layout_message_details_recipients_container.xml
│ │ │ ├── layout_message_details_reply_actions.xml
│ │ │ ├── layout_message_details_scheduled_info.xml
│ │ │ ├── layout_onboarding_item.xml
│ │ │ ├── layout_open_in_proton_calendar.xml
│ │ │ ├── layout_recipient_chip.xml
│ │ │ ├── layout_recipient_dropdown_item.xml
│ │ │ ├── layout_send_action.xml
│ │ │ ├── layout_sender_initial.xml
│ │ │ ├── list_item_contact_detail.xml
│ │ │ ├── list_item_contacts.xml
│ │ │ ├── list_item_mailbox.xml
│ │ │ ├── mailbox_left_swipe_action_archive.xml
│ │ │ ├── mailbox_left_swipe_action_mark_read.xml
│ │ │ ├── mailbox_left_swipe_action_spam.xml
│ │ │ ├── mailbox_left_swipe_action_star.xml
│ │ │ ├── mailbox_left_swipe_action_trash.xml
│ │ │ ├── mailbox_right_swipe_action_archive.xml
│ │ │ ├── mailbox_right_swipe_action_mark_read.xml
│ │ │ ├── mailbox_right_swipe_action_spam.xml
│ │ │ ├── mailbox_right_swipe_action_star.xml
│ │ │ ├── mailbox_right_swipe_action_trash.xml
│ │ │ ├── menu_save_button.xml
│ │ │ ├── menu_skip_button.xml
│ │ │ ├── message_details_actions.xml
│ │ │ ├── messages_list_footer_view.xml
│ │ │ ├── nav_item_label.xml
│ │ │ ├── navigation_drawer.xml
│ │ │ ├── quick_snooze_list_item.xml
│ │ │ ├── radio_button_list_item.xml
│ │ │ ├── secure_edit_view.xml
│ │ │ ├── settings_fragment_display_name_and_signature.xml
│ │ │ ├── settings_item.xml
│ │ │ ├── settings_item_layout.xml
│ │ │ ├── settings_left_swipe_action_archive.xml
│ │ │ ├── settings_left_swipe_action_mark_read.xml
│ │ │ ├── settings_left_swipe_action_preview.xml
│ │ │ ├── settings_left_swipe_action_spam.xml
│ │ │ ├── settings_left_swipe_action_star.xml
│ │ │ ├── settings_left_swipe_action_trash.xml
│ │ │ ├── settings_right_swipe_action_archive.xml
│ │ │ ├── settings_right_swipe_action_mark_read.xml
│ │ │ ├── settings_right_swipe_action_preview.xml
│ │ │ ├── settings_right_swipe_action_spam.xml
│ │ │ ├── settings_right_swipe_action_star.xml
│ │ │ ├── settings_right_swipe_action_trash.xml
│ │ │ ├── settings_section.xml
│ │ │ ├── settings_swipe_fragment.xml
│ │ │ ├── simple_spinner_item_black.xml
│ │ │ ├── storage_limit_layout_view.xml
│ │ │ ├── timeout_spinner_item.xml
│ │ │ ├── timeout_spinner_item_dropdown.xml
│ │ │ ├── toolbar.xml
│ │ │ ├── toolbar_mailbox.xml
│ │ │ ├── view_action_sheet_header.xml
│ │ │ ├── view_checkable_button.xml
│ │ │ └── view_days_and_hours_picker.xml
│ │ ├── menu
│ │ │ ├── contact_details_convert_menu.xml
│ │ │ ├── contact_details_edit_menu.xml
│ │ │ ├── contacts_menu.xml
│ │ │ ├── contacts_selection_menu.xml
│ │ │ ├── done_menu.xml
│ │ │ ├── menu_attachments.xml
│ │ │ ├── menu_compose_message.xml
│ │ │ ├── menu_contact_details.xml
│ │ │ ├── menu_contact_group_details.xml
│ │ │ ├── menu_mailbox_options.xml
│ │ │ ├── menu_onboarding.xml
│ │ │ ├── menu_parent_picker.xml
│ │ │ ├── menu_set_message_expiration.xml
│ │ │ ├── recipient_popup_menu.xml
│ │ │ ├── save_menu.xml
│ │ │ ├── search_menu.xml
│ │ │ └── share_menu.xml
│ │ ├── mipmap-anydpi-v26
│ │ │ ├── ic_launcher.xml
│ │ │ └── ic_launcher_round.xml
│ │ ├── mipmap-hdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ ├── mipmap-mdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ ├── mipmap-xhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ ├── raw
│ │ │ ├── acc_settings_structure.json
│ │ │ ├── css_reset_dark_mode_only.css
│ │ │ ├── css_reset_with_custom_props.css
│ │ │ ├── edit_settings_structure.json
│ │ │ └── settings_structure.json
│ │ ├── values-b+es+419
│ │ │ └── strings.xml
│ │ ├── values-be
│ │ │ └── strings.xml
│ │ ├── values-ca-rES
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-cs
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-da
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-de
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-el
│ │ │ └── strings.xml
│ │ ├── values-es
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-fr
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-hdpi
│ │ │ └── dimens.xml
│ │ ├── values-hr
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-hu-rHU
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-in
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-is-rIS
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-it
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-ja
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-ka
│ │ │ └── strings.xml
│ │ ├── values-kab
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-ldrtl
│ │ │ └── ld_values.xml
│ │ ├── values-mdpi
│ │ │ └── dimens.xml
│ │ ├── values-nl
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-pl
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-pt-rBR
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-pt
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-ro
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-ru
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-sv-rSE
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-tr
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-uk
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-xhdpi
│ │ │ └── dimens.xml
│ │ ├── values-zh-rCN
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values-zh-rTW
│ │ │ ├── strings.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── values
│ │ │ ├── attrs.xml
│ │ │ ├── buttons.xml
│ │ │ ├── cnfg.xml
│ │ │ ├── colors.xml
│ │ │ ├── dimens.xml
│ │ │ ├── ic_launcher_background.xml
│ │ │ ├── icons.xml
│ │ │ ├── ids.xml
│ │ │ ├── ints.xml
│ │ │ ├── ld_values.xml
│ │ │ ├── links.xml
│ │ │ ├── notif.xml
│ │ │ ├── strings.xml
│ │ │ ├── styles.xml
│ │ │ ├── themes.xml
│ │ │ └── vcard_type_vals.xml
│ │ ├── xml-v25
│ │ │ └── shortcuts.xml
│ │ └── xml
│ │ │ ├── network_security_config.xml
│ │ │ └── provider_paths.xml
│ └── resources
│ │ └── jacoco-agent.properties
│ ├── production
│ └── java
│ │ └── ch.protonmail.android
│ │ └── di
│ │ └── ConfigurableParametersModule.kt
│ ├── test
│ ├── java
│ │ └── ch
│ │ │ └── protonmail
│ │ │ └── android
│ │ │ ├── activities
│ │ │ └── messageDetails
│ │ │ │ ├── IntentExtrasDataTest.kt
│ │ │ │ ├── MessageRendererTest.kt
│ │ │ │ └── viewmodel
│ │ │ │ └── MessageDetailsViewModelTest.kt
│ │ │ ├── api
│ │ │ ├── AccountManagerTest.kt
│ │ │ ├── NetworkConfiguratorTest.kt
│ │ │ ├── NetworkSwitcherTest.kt
│ │ │ ├── ProtonMailApiManagerTest.kt
│ │ │ ├── SwitchToMainBackendIfAvailableTest.kt
│ │ │ ├── SwitchToMainBackendIfOnProxyTest.kt
│ │ │ ├── interceptors
│ │ │ │ ├── BaseRequestInterceptorTest.kt
│ │ │ │ └── RetryRequestInterceptorTest.kt
│ │ │ ├── local
│ │ │ │ └── SnoozeSettingsTest.kt
│ │ │ ├── models
│ │ │ │ ├── messages
│ │ │ │ │ └── receive
│ │ │ │ │ │ ├── MessageLocationResolverTest.kt
│ │ │ │ │ │ └── MessageMapperTest.kt
│ │ │ │ └── room
│ │ │ │ │ └── messages
│ │ │ │ │ └── MessagesTypesConverterTest.kt
│ │ │ └── segments
│ │ │ │ ├── contact
│ │ │ │ └── ContactEmailsManagerTest.kt
│ │ │ │ └── event
│ │ │ │ ├── EventHandlerTest.kt
│ │ │ │ └── FetchEventsAndRescheduleTest.kt
│ │ │ ├── attachments
│ │ │ ├── AttachmentsHelperTest.kt
│ │ │ ├── AttachmentsRepositoryTest.kt
│ │ │ ├── AttachmentsViewModelTest.kt
│ │ │ ├── DownloadEmbeddedAttachmentsWorkerTest.kt
│ │ │ ├── ExtractAttachmentByteArrayTest.kt
│ │ │ ├── HandleSingleAttachmentTest.kt
│ │ │ └── UploadAttachmentsWorkerTest.kt
│ │ │ ├── compose
│ │ │ ├── ComposeMessageViewModelTest.kt
│ │ │ ├── domain
│ │ │ │ └── GetAddressIndexByAddressIdTest.kt
│ │ │ ├── presentation
│ │ │ │ ├── model
│ │ │ │ │ └── AddExpirationTimeToMessageTest.kt
│ │ │ │ ├── util
│ │ │ │ │ └── HtmlToSpannedTest.kt
│ │ │ │ └── viewmodel
│ │ │ │ │ └── SetMessagePasswordViewModelTest.kt
│ │ │ └── send
│ │ │ │ ├── SendMessageTest.kt
│ │ │ │ └── SendMessageWorkerTest.kt
│ │ │ ├── contacts
│ │ │ ├── details
│ │ │ │ ├── ContactDetailsRepositoryTest.kt
│ │ │ │ ├── ContactDetailsViewModelOldTest.kt
│ │ │ │ ├── ContactGroupsRepositoryTest.kt
│ │ │ │ ├── domain
│ │ │ │ │ ├── FetchContactDetailsTest.kt
│ │ │ │ │ ├── FetchContactGroupsTest.kt
│ │ │ │ │ └── FetchContactsMapperTest.kt
│ │ │ │ └── presentation
│ │ │ │ │ ├── ContactDetailsMapperTest.kt
│ │ │ │ │ └── ContactDetailsViewModelTest.kt
│ │ │ ├── domain
│ │ │ │ └── usecase
│ │ │ │ │ └── ExtractInitialsTest.kt
│ │ │ ├── groups
│ │ │ │ ├── ContactGroupsViewModelTest.kt
│ │ │ │ └── edit
│ │ │ │ │ └── ContactGroupEditCreateRepositoryTest.kt
│ │ │ └── list
│ │ │ │ └── viewModel
│ │ │ │ ├── ContactsListMapperTest.kt
│ │ │ │ └── ContactsListViewModelTest.kt
│ │ │ ├── core
│ │ │ ├── DetailedExceptionTimberDebugTest.kt
│ │ │ └── QueueNetworkUtilTest.kt
│ │ │ ├── crypto
│ │ │ └── AddressCryptoTest.kt
│ │ │ ├── data
│ │ │ ├── ProtonStoreTest.kt
│ │ │ └── local
│ │ │ │ └── CounterRepositoryImplTest.kt
│ │ │ ├── details
│ │ │ ├── data
│ │ │ │ └── MessageFlagsToEncryptionMapperTest.kt
│ │ │ ├── domain
│ │ │ │ ├── MessageBodyDecryptorTest.kt
│ │ │ │ ├── MessageBodyParserTest.kt
│ │ │ │ └── usecase
│ │ │ │ │ ├── MarkMessageAsReadIfNeededTest.kt
│ │ │ │ │ └── SetViewInDarkModeMessagePreferenceTest.kt
│ │ │ └── presentation
│ │ │ │ ├── LoadTheLastNonDraftMessageBodyTest.kt
│ │ │ │ ├── MessageBodyLoaderTest.kt
│ │ │ │ └── mapper
│ │ │ │ ├── MessageEncryptionUiModelMapperTest.kt
│ │ │ │ └── MessageToMessageDetailsListItemMapperTest.kt
│ │ │ ├── drawer
│ │ │ └── presentation
│ │ │ │ └── mapper
│ │ │ │ └── DrawerLabelUiModelMapperTest.kt
│ │ │ ├── feature
│ │ │ └── rating
│ │ │ │ ├── MailboxScreenViewInMemoryRepositoryTest.kt
│ │ │ │ ├── StartRateAppFlowTest.kt
│ │ │ │ └── usecase
│ │ │ │ └── ShouldStartRateAppFlowTest.kt
│ │ │ ├── featureflags
│ │ │ └── RefreshFeatureFlagsTest.kt
│ │ │ ├── jobs
│ │ │ ├── PostStarJobTest.kt
│ │ │ └── UpdateSettingsJobTest.kt
│ │ │ ├── labels
│ │ │ ├── data
│ │ │ │ ├── LabelRepositoryImplTest.kt
│ │ │ │ ├── mapper
│ │ │ │ │ ├── LabelEntityApiMapperTest.kt
│ │ │ │ │ ├── LabelEventApiMapperTest.kt
│ │ │ │ │ └── LabelOrFolderWithChildrenMapperTest.kt
│ │ │ │ └── remote
│ │ │ │ │ └── worker
│ │ │ │ │ ├── ApplyMessageLabelWorkerTest.kt
│ │ │ │ │ ├── DeleteLabelsWorkerTest.kt
│ │ │ │ │ ├── PostLabelWorkerTest.kt
│ │ │ │ │ ├── RemoveMembersFromContactGroupWorkerTest.kt
│ │ │ │ │ └── RemoveMessageLabelWorkerTest.kt
│ │ │ ├── domain
│ │ │ │ └── usecase
│ │ │ │ │ ├── GetLabelsByTypeTest.kt
│ │ │ │ │ ├── MoveMessagesToFolderTest.kt
│ │ │ │ │ ├── ObserveFoldersEligibleAsParentTest.kt
│ │ │ │ │ └── UpdateMessageLabelsTest.kt
│ │ │ ├── presentation
│ │ │ │ ├── mapper
│ │ │ │ │ ├── LabelChipUiModelMapperTest.kt
│ │ │ │ │ ├── LabelDomainActionItemUiMapperTest.kt
│ │ │ │ │ ├── LabelsManagerItemUiModelMapperTest.kt
│ │ │ │ │ └── ParentFolderPickerItemUiModelMapperTest.kt
│ │ │ │ └── viewmodel
│ │ │ │ │ ├── LabelsActionSheetViewModelTest.kt
│ │ │ │ │ └── ParentFolderPickerViewModelTest.kt
│ │ │ └── utils
│ │ │ │ └── buildFolders.kt
│ │ │ ├── mailbox
│ │ │ ├── data
│ │ │ │ ├── ConversationsRepositoryImplTest.kt
│ │ │ │ ├── MarkUnreadLatestNonDraftMessageInLocationTest.kt
│ │ │ │ ├── mapper
│ │ │ │ │ ├── ConversationApiModelToConversationDatabaseModelMapperTest.kt
│ │ │ │ │ └── ConversationDatabaseModelToConversationMapperTest.kt
│ │ │ │ └── remote
│ │ │ │ │ └── worker
│ │ │ │ │ ├── DeleteConversationsRemoteWorkerTest.kt
│ │ │ │ │ ├── LabelConversationsRemoteWorkerTest.kt
│ │ │ │ │ ├── MarkConversationsReadRemoteWorkerTest.kt
│ │ │ │ │ ├── MarkConversationsUnreadRemoteWorkerTest.kt
│ │ │ │ │ ├── MoveMessageToLocationWorkerTest.kt
│ │ │ │ │ └── UnlabelConversationsRemoteWorkerTest.kt
│ │ │ ├── domain
│ │ │ │ ├── ChangeConversationsReadStatusTest.kt
│ │ │ │ ├── ChangeConversationsStarredStatusTest.kt
│ │ │ │ ├── DeleteConversationsTest.kt
│ │ │ │ ├── MoveConversationsToFolderTest.kt
│ │ │ │ ├── UpdateConversationsLabelsTest.kt
│ │ │ │ ├── usecase
│ │ │ │ │ ├── ObserveAllUnreadCountersTest.kt
│ │ │ │ │ ├── ObserveConversationsByLocationTest.kt
│ │ │ │ │ ├── ObserveMessageCountByLocationTest.kt
│ │ │ │ │ ├── ObserveMessagesByLocationTest.kt
│ │ │ │ │ └── ObserveShowMovedEnabledTest.kt
│ │ │ │ └── worker
│ │ │ │ │ └── UpdateConversationsLabelsWorkerTest.kt
│ │ │ └── presentation
│ │ │ │ ├── ConversationModeEnabledTest.kt
│ │ │ │ ├── mapper
│ │ │ │ └── MailboxItemUiModelMapperTest.kt
│ │ │ │ └── viewmodel
│ │ │ │ └── MailboxViewModelTest.kt
│ │ │ ├── mapper
│ │ │ └── bridge
│ │ │ │ ├── AddressKeysBridgeMapperTest.kt
│ │ │ │ ├── AddressesBridgeMapperTest.kt
│ │ │ │ ├── UserBridgeMapperTest.kt
│ │ │ │ └── UserKeysBridgeMapperTest.kt
│ │ │ ├── metrics
│ │ │ └── domain
│ │ │ │ └── SendMetricsForViewInDarkModePreferenceTest.kt
│ │ │ ├── navigation
│ │ │ └── presentation
│ │ │ │ └── NavigationViewModelTest.kt
│ │ │ ├── notifications
│ │ │ ├── data
│ │ │ │ ├── mapper
│ │ │ │ │ ├── NotificationEntityApiMapperTest.kt
│ │ │ │ │ └── NotificationEntityDomainMapperTest.kt
│ │ │ │ └── remote
│ │ │ │ │ └── fcm
│ │ │ │ │ ├── FcmTokenManagerTest.kt
│ │ │ │ │ ├── MultiUserFcmTokenManagerTest.kt
│ │ │ │ │ └── RegisterDeviceWorkerTest.kt
│ │ │ ├── domain
│ │ │ │ └── ProcessPushNotificationDataWorkerTest.kt
│ │ │ └── presentation
│ │ │ │ └── usecase
│ │ │ │ ├── ClearNotificationTest.kt
│ │ │ │ └── ClearNotificationsForUserTest.kt
│ │ │ ├── onboarding
│ │ │ ├── base
│ │ │ │ └── presentation
│ │ │ │ │ └── AddStartOnboardingObserverIfNeededTest.kt
│ │ │ ├── existinguser
│ │ │ │ └── presentation
│ │ │ │ │ └── ExistingUserOnboardingViewModelTest.kt
│ │ │ └── newuser
│ │ │ │ └── presentation
│ │ │ │ └── NewUserOnboardingViewModelTest.kt
│ │ │ ├── pendingaction
│ │ │ └── data
│ │ │ │ ├── repository
│ │ │ │ └── PendingSendRepositoryImplTest.kt
│ │ │ │ └── worker
│ │ │ │ ├── CleanUpPendingSendWorkerTest.kt
│ │ │ │ ├── SchedulePendingSendCleanUpWhenOnlineTest.kt
│ │ │ │ └── SchedulePendingSendsCleanUpWorkerTest.kt
│ │ │ ├── pinlock
│ │ │ └── domain
│ │ │ │ └── usecase
│ │ │ │ ├── GetPinLockTimerTest.kt
│ │ │ │ ├── IsPinLockEnabledTest.kt
│ │ │ │ └── ShouldShowPinLockScreenTest.kt
│ │ │ ├── prefs
│ │ │ ├── MockSecureSharedPreferences.kt
│ │ │ └── SecureSharedPreferencesTest.kt
│ │ │ ├── repository
│ │ │ └── MessageRepositoryTest.kt
│ │ │ ├── sentry
│ │ │ └── SentryTreeTest.kt
│ │ │ ├── settings
│ │ │ ├── data
│ │ │ │ ├── SharedPreferencesAccountSettingsRepositoryTest.kt
│ │ │ │ └── SharedPreferencesDeviceSettingsRepositoryTest.kt
│ │ │ ├── domain
│ │ │ │ ├── GetMailSettingsTest.kt
│ │ │ │ ├── UpdateSwipeActionsTest.kt
│ │ │ │ ├── UpdateViewModeTest.kt
│ │ │ │ └── usecase
│ │ │ │ │ ├── ApplyAppThemeFromSettingsTest.kt
│ │ │ │ │ ├── GetAppThemeSettingsTest.kt
│ │ │ │ │ └── SaveAppThemeSettingsTest.kt
│ │ │ └── presentation
│ │ │ │ ├── AccountSettingsActivityViewModelTest.kt
│ │ │ │ ├── SwipeChooserViewModelTest.kt
│ │ │ │ └── viewmodel
│ │ │ │ └── ThemeChooserViewModelTest.kt
│ │ │ ├── testdata
│ │ │ ├── AccountTestData.kt
│ │ │ ├── AddressesTestData.kt
│ │ │ ├── AttachmentTestData.kt
│ │ │ ├── ConversationTestData.kt
│ │ │ ├── KeyInformationTestData.kt
│ │ │ ├── MessageDetailsListItemTestData.kt
│ │ │ ├── MessageTestData.kt
│ │ │ ├── UserTestData.kt
│ │ │ └── WorkerTestData.kt
│ │ │ ├── testutils
│ │ │ └── extensions
│ │ │ │ └── AnyExtensions.kt
│ │ │ ├── ui
│ │ │ └── dialog
│ │ │ │ └── MessageActionSheetViewModelTest.kt
│ │ │ ├── usecase
│ │ │ ├── LoadLegacyUserTest.kt
│ │ │ ├── VerifyConnectionTest.kt
│ │ │ ├── compose
│ │ │ │ └── SaveDraftTest.kt
│ │ │ ├── create
│ │ │ │ └── CreateContactTest.kt
│ │ │ ├── delete
│ │ │ │ ├── DeleteLabelsTest.kt
│ │ │ │ ├── DeleteMessageTest.kt
│ │ │ │ └── EmptyFolderTest.kt
│ │ │ ├── fetch
│ │ │ │ ├── FetchContactsDataTest.kt
│ │ │ │ ├── FetchPublicKeysTest.kt
│ │ │ │ └── FetchVerificationKeysTest.kt
│ │ │ └── message
│ │ │ │ ├── ChangeMessagesReadStatusTest.kt
│ │ │ │ ├── ChangeMessagesStarredStatusTest.kt
│ │ │ │ └── GetDecryptedMessageByIdTest.kt
│ │ │ ├── util
│ │ │ └── ProtonCalendarUtilTest.kt
│ │ │ ├── utils
│ │ │ ├── DateUtilTest.kt
│ │ │ ├── MessageBodyFileManagerTest.kt
│ │ │ ├── MessageUtilsTest.kt
│ │ │ ├── TryWithExponentialBackoffTest.kt
│ │ │ ├── TryWithRetryTest.kt
│ │ │ ├── extensions
│ │ │ │ ├── CollectionExtensionsTest.kt
│ │ │ │ ├── DurationExtensionsKtTest.kt
│ │ │ │ ├── ExceptionExtensionsKtTest.kt
│ │ │ │ ├── OkHttpExtensionsKtTest.kt
│ │ │ │ ├── RetrofitExtensionsKtTest.kt
│ │ │ │ └── StringExtensionsTest.kt
│ │ │ ├── notifier
│ │ │ │ └── AndroidUserNotifierTest.kt
│ │ │ └── ui
│ │ │ │ └── screen
│ │ │ │ └── RenderDimensionsProviderTest.kt
│ │ │ └── worker
│ │ │ ├── CreateContactGroupWorkerTest.kt
│ │ │ ├── CreateContactWorkerTest.kt
│ │ │ ├── CreateDraftWorkerTest.kt
│ │ │ ├── DeleteAttachmentWorkerTest.kt
│ │ │ ├── DeleteContactWorkerTest.kt
│ │ │ ├── DeleteMessageWorkerTest.kt
│ │ │ ├── EmptyFolderRemoteWorkerTest.kt
│ │ │ ├── FetchContactsDataWorkerTest.kt
│ │ │ ├── FetchContactsEmailsWorkerTest.kt
│ │ │ ├── FetchMailSettingsWorkerTest.kt
│ │ │ ├── FetchUserWorkerTest.kt
│ │ │ ├── PingWorkerTest.kt
│ │ │ └── repository
│ │ │ └── WorkerRepositoryTest.kt
│ └── resources
│ │ └── contact-emails-output.json
│ ├── uiAutomation
│ ├── java
│ │ └── ch.protonmail.android
│ │ │ └── di
│ │ │ └── ConfigurableParametersModule.kt
│ └── res
│ │ ├── raw
│ │ └── instrumentation_cert
│ │ └── xml
│ │ └── network_security_config.xml
│ └── uiTest
│ ├── assets
│ ├── lorem_ipsum.docx
│ ├── lorem_ipsum.jpeg
│ ├── lorem_ipsum.pdf
│ ├── lorem_ipsum.png
│ ├── lorem_ipsum.zip
│ ├── ssl
│ │ └── instrumentation_cert.pem
│ └── users.json
│ └── kotlin
│ └── ch
│ └── protonmail
│ └── android
│ └── uitests
│ ├── README.md
│ ├── robots
│ ├── contacts
│ │ ├── AddContactGroupRobot.kt
│ │ ├── AddContactRobot.kt
│ │ ├── ContactDetailsRobot.kt
│ │ ├── ContactsMatchers.kt
│ │ ├── ContactsRobot.kt
│ │ ├── GroupDetailsRobot.kt
│ │ └── ManageAddressesRobot.kt
│ ├── device
│ │ └── DeviceRobot.kt
│ ├── login
│ │ ├── LoginMailRobot.kt
│ │ └── MailboxPasswordMailRobot.kt
│ ├── mailbox
│ │ ├── ApplyLabelRobotInterface.kt
│ │ ├── MailboxMatchers.kt
│ │ ├── MailboxRobotInterface.kt
│ │ ├── MoveToFolderRobotInterface.kt
│ │ ├── SelectionMoreOptionsRobotInterface.kt
│ │ ├── SelectionStateRobotInterface.kt
│ │ ├── archive
│ │ │ └── ArchiveRobot.kt
│ │ ├── composer
│ │ │ ├── ComposerRobot.kt
│ │ │ ├── MessageAttachmentsRobot.kt
│ │ │ ├── MessageExpirationRobot.kt
│ │ │ └── SetPasswordRobot.kt
│ │ ├── drafts
│ │ │ └── DraftsRobot.kt
│ │ ├── inbox
│ │ │ └── InboxRobot.kt
│ │ ├── labelfolder
│ │ │ ├── LabelFolderRobot.kt
│ │ │ └── MessageLocation.kt
│ │ ├── messagedetail
│ │ │ ├── MessageRobot.kt
│ │ │ └── ViewHeadersRobot.kt
│ │ ├── search
│ │ │ └── SearchRobot.kt
│ │ ├── sent
│ │ │ └── SentRobot.kt
│ │ ├── spam
│ │ │ └── SpamRobot.kt
│ │ └── trash
│ │ │ └── TrashRobot.kt
│ ├── manageaccounts
│ │ ├── AccountPanelRobot.kt
│ │ └── ManageAccountsMatchers.kt
│ ├── menu
│ │ ├── MenuMatchers.kt
│ │ └── MenuRobot.kt
│ ├── onboarding
│ │ └── OnboardingRobot.kt
│ ├── reportbugs
│ │ └── ReportBugsRobot.kt
│ ├── settings
│ │ ├── SettingsActions.kt
│ │ ├── SettingsMatchers.kt
│ │ ├── SettingsRobot.kt
│ │ ├── account
│ │ │ ├── AccountSettingsRobot.kt
│ │ │ ├── DefaultEmailAddressRobot.kt
│ │ │ ├── DisplayNameAndSignatureRobot.kt
│ │ │ ├── SubscriptionRobot.kt
│ │ │ ├── labelsandfolders
│ │ │ │ ├── FoldersManagerRobot.kt
│ │ │ │ ├── LabelsAndFoldersRobot.kt
│ │ │ │ └── LabelsManagerRobot.kt
│ │ │ ├── privacy
│ │ │ │ ├── AutoDownloadMessagesRobot.kt
│ │ │ │ ├── BackgroundSyncRobot.kt
│ │ │ │ └── PrivacySettingsRobot.kt
│ │ │ └── swipinggestures
│ │ │ │ ├── ChooseSwipeActionRobot.kt
│ │ │ │ └── SwipingGesturesSettingsRobot.kt
│ │ └── autolock
│ │ │ ├── AutoLockRobot.kt
│ │ │ └── PinRobot.kt
│ └── upgradedonate
│ │ └── UpgradeDonateRobot.kt
│ ├── server
│ └── MockWebServerRule.kt
│ ├── tests
│ ├── BaseTest.kt
│ ├── composer
│ │ ├── AttachmentsTests.kt
│ │ ├── ForwardMessageTests.kt
│ │ ├── ReplyToMessageTests.kt
│ │ └── SendNewMessageTests.kt
│ ├── contacts
│ │ └── ContactsTests.kt
│ ├── drafts
│ │ └── DraftsTests.kt
│ ├── inbox
│ │ ├── InboxTests.kt
│ │ └── SearchTests.kt
│ ├── labelsfolders
│ │ └── LabelsFoldersTests.kt
│ ├── manageaccounts
│ │ └── MultiuserManagementTests.kt
│ ├── menu
│ │ └── MenuTests.kt
│ ├── messagedetail
│ │ └── MessageDetailTests.kt
│ ├── settings
│ │ ├── AccountSettingsTests.kt
│ │ ├── PrivacyAccountSettingsTests.kt
│ │ ├── SettingsTests.kt
│ │ └── SwipeGesturesTests.kt
│ ├── spam
│ │ └── SpamTests.kt
│ └── suites
│ │ ├── ComposerSuite.kt
│ │ ├── RegressionSuite.kt
│ │ └── SmokeSuite.kt
│ └── testsHelper
│ ├── MockAddAttachmentIntent.kt
│ ├── ProtonRequestsIdlingResource.kt
│ ├── StringUtils.kt
│ ├── TestData.kt
│ ├── TestExecutionWatcher.kt
│ ├── TestUser.kt
│ ├── UICustomViewActions.kt
│ ├── User.kt
│ ├── WaitUtil.kt
│ ├── annotations
│ ├── SmokeTest.kt
│ └── TestId.kt
│ ├── browserstack_config.json
│ ├── mailer
│ └── Mail.kt
│ └── testRail
│ ├── APIClient.kt
│ ├── APIException.kt
│ └── TestRailService.kt
├── build.gradle.kts
├── buildSrc
├── build.gradle.kts
└── src
│ └── main
│ └── kotlin
│ ├── AndroidConfig.kt
│ ├── ProtonMail.kt
│ ├── classpath.kt
│ ├── libraries.kt
│ ├── modules.kt
│ ├── plugins.kt
│ ├── repositories.kt
│ └── versionsConfig.kt
├── config
├── CodeStyle.xml
└── google-services
│ └── dummy-google-services.json
├── docs
├── 0000-use-markdown-architectural-decision-record.md
├── 0001-declare-constants-at-the-top-of-the-file.md
├── 0002-use-user-notifier-to-show-user-feedback-from-workers.md
├── 0003-use-mappers-that-extends-core-mapper.md
├── 0004-define-mocks-with-explicit-behaviour.md
├── 0005-use-run-blocking-test.md
├── 0006-model-class-naming-conventions.md
├── 0007-workers-should-just-perform-API-calls
├── 0008-io-operations-naming-conversions.md
├── 0009-using-the-labels-module-as-an-architectural-reference
├── 0010-backticks-for-junit-tests.md
└── 0011-use-function-over-annotation-for-creating-mocks.md
├── domain
├── build.gradle.kts
└── src
│ ├── main
│ └── kotlin
│ │ └── ch
│ │ └── protonmail
│ │ └── android
│ │ └── domain
│ │ ├── Error.kt
│ │ ├── LoadMoreFlow.kt
│ │ ├── LoadMoreFlowUtils.kt
│ │ ├── entity
│ │ ├── Credential.kt
│ │ ├── PgpField.kt
│ │ ├── Validable.kt
│ │ ├── Validator.kt
│ │ ├── fields.kt
│ │ └── user
│ │ │ ├── Address.kt
│ │ │ ├── AddressKey.kt
│ │ │ ├── Plan.kt
│ │ │ ├── User.kt
│ │ │ └── UserKey.kt
│ │ ├── repository
│ │ └── CredentialRepository.kt
│ │ ├── usecase
│ │ ├── DownloadFile.kt
│ │ └── credentials
│ │ │ ├── DeleteSavedCredentials.kt
│ │ │ ├── GetSavedCredentials.kt
│ │ │ └── UpdateCredentials.kt
│ │ └── util
│ │ ├── either.kt
│ │ ├── exceptions.kt
│ │ └── text.kt
│ └── test
│ └── kotlin
│ └── ch
│ └── protonmail
│ └── android
│ └── domain
│ ├── LoadMoreFlowTest.kt
│ ├── entity
│ ├── FieldsTest.kt
│ ├── PgpFieldTest.kt
│ ├── ValidableTest.kt
│ ├── ValidatorsTest.kt
│ └── user
│ │ ├── AddressKeyTest.kt
│ │ ├── AddressTest.kt
│ │ └── UserTest.kt
│ ├── testDoubles
│ ├── FakeCredentialsRepository.kt
│ └── addresses.kt
│ └── util
│ └── EitherTest.kt
├── experimental.properties
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── scripts
├── extract_dependencies
│ └── ExtractDeps.kts
└── inject_licenses
│ └── InjectLicenses.kts
├── settings.gradle.kts
├── sharedTest
├── testAndroid
│ ├── build.gradle.kts
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ └── kotlin
│ │ └── ch
│ │ └── protonmail
│ │ └── android
│ │ └── testAndroid
│ │ ├── ViewStateStoreTest.kt
│ │ ├── lifecycle
│ │ └── TestObserver.kt
│ │ └── rx
│ │ ├── TestSchedulerRule.kt
│ │ └── TrampolineScheduler.kt
├── testAndroidInstrumented
│ ├── build.gradle.kts
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ └── kotlin
│ │ └── ch
│ │ └── protonmail
│ │ └── android
│ │ └── testAndroidInstrumented
│ │ ├── HamcrestMismatchBuilder.kt
│ │ ├── HamcrestUtils.kt
│ │ ├── ReflectivePropertiesMatcher.kt
│ │ ├── assertion
│ │ └── visibilityAssertions.kt
│ │ └── matcher
│ │ ├── colorMatchers.kt
│ │ └── drawableMatchers.kt
└── testKotlin
│ └── build.gradle.kts
└── tokenAutoComplete
├── tokenAutoComplete-example
├── build.gradle.kts
└── src
│ ├── androidTest
│ └── kotlin
│ │ └── ch
│ │ └── protonmail
│ │ └── tokenautocomplete
│ │ └── example
│ │ ├── ContactsCompletionViewTest.kt
│ │ ├── InputConnectionTest.java
│ │ ├── SavedStateTest.java
│ │ ├── TestTokenListener.java
│ │ ├── TokenMatchers.java
│ │ └── ViewSpanTest.java
│ └── main
│ ├── AndroidManifest.xml
│ ├── kotlin
│ └── ch
│ │ └── protonmail
│ │ └── tokenautocomplete
│ │ └── example
│ │ ├── ContactsCompletionView.java
│ │ ├── Person.java
│ │ ├── PersonAdapter.java
│ │ ├── Tag.java
│ │ ├── TagAdapter.java
│ │ ├── TagCompletionView.java
│ │ ├── TestCleanTokenActivity.java
│ │ ├── TokenActivity.kt
│ │ └── TokenTextView.java
│ └── res
│ ├── drawable-hdpi
│ └── ic_launcher.png
│ ├── drawable-mdpi
│ └── ic_launcher.png
│ ├── drawable-xhdpi
│ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ ├── close_x.png
│ └── ic_launcher.png
│ ├── drawable
│ ├── token_background.xml
│ ├── token_default.xml
│ └── token_selected.xml
│ ├── layout
│ ├── activity_main.xml
│ ├── contact_token.xml
│ ├── person_layout.xml
│ └── tag_layout.xml
│ └── values
│ ├── dimens.xml
│ ├── strings.xml
│ └── styles.xml
└── tokenAutoComplete-lib
├── build.gradle.kts
└── src
├── androidTest
└── kotlin
│ └── ch
│ └── protonmail
│ └── tokenautocomplete
│ └── SpanUtilsTest.java
├── main
├── AndroidManifest.xml
└── kotlin
│ └── ch
│ └── protonmail
│ └── tokenautocomplete
│ ├── CharacterTokenizer.java
│ ├── CountSpan.java
│ ├── FilteredArrayAdapter.java
│ ├── Range.java
│ ├── SpanUtils.java
│ ├── TagTokenizer.java
│ ├── TokenCompleteTextView.java
│ ├── Tokenizer.java
│ └── ViewSpan.java
└── test
└── kotlin
└── ch
└── protonmail
└── tokenautocomplete
├── CharacterTokenizerTest.java
└── TagTokenizerTest.java
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: "[Bug] Bug title"
5 | labels: bug
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Steps to reproduce the behavior:
15 | 1. Go to '...'
16 | 2. Click on '....'
17 | 3. Scroll down to '....'
18 | 4. See error
19 |
20 | **Expected behavior**
21 | A clear and concise description of what you expected to happen.
22 |
23 | **Screenshots**
24 | If applicable, add screenshots to help explain your problem.
25 |
26 | **Smartphone (please complete the following information):**
27 | - Device: [e.g. Pixel]
28 | - OS: [e.g. Android 9]
29 | - Version [e.g. 22]
30 |
31 | **Additional context**
32 | Add any other context about the problem here.
33 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: "[Feature Request] Feature request title"
5 | labels: enhancement
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/.idea/.name:
--------------------------------------------------------------------------------
1 | ProtonMail
--------------------------------------------------------------------------------
/.idea/codeStyles/codeStyleConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/copyright/ProtonMail.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.idea/copyright/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/detekt.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | true
5 | true
6 | $PROJECT_DIR$/config/detekt/config.yml
7 |
8 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/.idea/kotlinScripting.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/.idea/saveactions_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/.idea/scopes/Gradle_files.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/.java-version:
--------------------------------------------------------------------------------
1 | openjdk64-15.0.1
2 |
--------------------------------------------------------------------------------
/app/experimental.properties:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (c) 2022 Proton AG
3 | #
4 | # This file is part of Proton Mail.
5 | #
6 | # Proton Mail 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 | # Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | #
19 |
20 |
--------------------------------------------------------------------------------
/app/libs/PM-sources.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/libs/PM-sources.jar
--------------------------------------------------------------------------------
/app/libs/commons-email-1.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/libs/commons-email-1.3.jar
--------------------------------------------------------------------------------
/app/libs/fusion-release.aar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/libs/fusion-release.aar
--------------------------------------------------------------------------------
/app/libs/mail-activation.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/libs/mail-activation.jar
--------------------------------------------------------------------------------
/app/libs/mail-additional.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/libs/mail-additional.jar
--------------------------------------------------------------------------------
/app/libs/mail.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/libs/mail.jar
--------------------------------------------------------------------------------
/app/src/beta/ic_launcher-playstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/beta/ic_launcher-playstore.png
--------------------------------------------------------------------------------
/app/src/beta/ic_launcher-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/beta/ic_launcher-web.png
--------------------------------------------------------------------------------
/app/src/beta/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/beta/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/beta/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/beta/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/beta/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/beta/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/beta/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/beta/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/beta/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/beta/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/beta/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/beta/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/beta/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/beta/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/beta/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/beta/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/beta/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/beta/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/beta/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 | #FFFFFF
23 |
24 |
--------------------------------------------------------------------------------
/app/src/beta/res/values/notif.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 | ch.protonmail.android.beta
22 |
23 |
--------------------------------------------------------------------------------
/app/src/beta/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 | Android Beta v.%1$s (%2$d)
22 |
23 |
--------------------------------------------------------------------------------
/app/src/main/assets/fonts/Roboto-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/assets/fonts/Roboto-Bold.ttf
--------------------------------------------------------------------------------
/app/src/main/assets/fonts/Roboto-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/assets/fonts/Roboto-Light.ttf
--------------------------------------------------------------------------------
/app/src/main/assets/fonts/Roboto-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/assets/fonts/Roboto-Regular.ttf
--------------------------------------------------------------------------------
/app/src/main/assets/fonts/Roboto-Thin.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/assets/fonts/Roboto-Thin.ttf
--------------------------------------------------------------------------------
/app/src/main/assets/fonts/contacts_icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/assets/fonts/contacts_icons.ttf
--------------------------------------------------------------------------------
/app/src/main/assets/logo_print.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/assets/logo_print.png
--------------------------------------------------------------------------------
/app/src/main/assets/pgp-icons-android.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/assets/pgp-icons-android.ttf
--------------------------------------------------------------------------------
/app/src/main/assets/protonmail-mobile-icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/assets/protonmail-mobile-icons.ttf
--------------------------------------------------------------------------------
/app/src/main/ic_launcher-playstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/ic_launcher-playstore.png
--------------------------------------------------------------------------------
/app/src/main/ic_launcher-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/ic_launcher-web.png
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/activities/composeMessage/UserAction.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.activities.composeMessage
20 |
21 | enum class UserAction {
22 | NONE, SAVE_DRAFT, FINISH_EDIT, SAVE_DRAFT_EXIT
23 | }
24 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/activities/messageDetails/attachments/CheckAttachmentTask.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/api/exceptions/ApiException.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.api.exceptions
20 |
21 | import ch.protonmail.android.api.models.ResponseBody
22 |
23 | class ApiException(val response: ResponseBody, message: String) : Exception(message)
24 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/api/interceptors/RetrofitTag.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.api.interceptors
20 |
21 | import me.proton.core.domain.entity.UserId
22 |
23 | /**
24 | * Objects of this class can be attached to OkHttp's requests and be read by Interceptors.
25 | */
26 | data class UserIdTag(
27 | val id: UserId
28 | )
29 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/api/models/KeyPacket.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.api.models;
20 |
21 |
22 | public class KeyPacket {
23 | String ID;
24 | String KeyPackets;
25 |
26 | public KeyPacket(String ID, String keyPackets) {
27 | this.ID = ID;
28 | KeyPackets = keyPackets;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/api/models/Location.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.api.models;
20 |
21 |
22 | public class Location {
23 | private int Location;
24 | private int Count;
25 | }
26 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/api/models/RecipientType.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.api.models
20 |
21 | enum class RecipientType {
22 | TO, CC, BCC
23 | }
24 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/api/segments/RetrofitConstants.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.api.segments
20 |
21 | object RetrofitConstants {
22 |
23 | const val ACCEPT_HEADER_V1 = "Accept: application/vnd.protonmail.v1+json"
24 | const val CONTENT_TYPE = "Content-Type: application/json;charset=utf-8"
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/api/segments/connectivity/ConnectivityApiSpec.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.api.segments.connectivity
20 |
21 | import ch.protonmail.android.api.models.ResponseBody
22 |
23 | interface ConnectivityApiSpec {
24 |
25 | suspend fun ping(): ResponseBody
26 | }
27 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/attachments/Armorer.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.attachments
21 |
22 | interface Armorer {
23 | fun unarmor(input: String): ByteArray
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/attachments/OpenPgpArmorer.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.attachments
21 |
22 | import com.proton.gopenpgp.armor.Armor
23 |
24 | class OpenPgpArmorer : Armorer {
25 |
26 | override fun unarmor(input: String): ByteArray =
27 | Armor.unarmor(input)
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/contacts/PostResult.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.contacts
20 |
21 | import ch.protonmail.android.events.Status
22 |
23 | data class PostResult(val message: String? = null, val status: Status)
24 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/contacts/details/ContactEmailGroupSelectionState.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.contacts.details
20 |
21 | enum class ContactEmailGroupSelectionState {
22 | SELECTED, UNSELECTED, DEFAULT
23 | }
24 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/contacts/details/domain/model/FetchContactGroupsResult.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.contacts.details.domain.model
21 |
22 | import ch.protonmail.android.labels.domain.model.Label
23 |
24 | data class FetchContactGroupsResult(
25 | val groupsList: List
26 | )
27 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/contacts/groups/GroupsItemAdapterMode.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.contacts.groups
20 |
21 | enum class GroupsItemAdapterMode {
22 | NORMAL, CHECKBOXES, DELETE
23 | }
24 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/contacts/groups/edit/ContactGroupMode.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.contacts.groups.edit
20 |
21 | enum class ContactGroupMode {
22 | EDIT, CREATE
23 | }
24 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/contacts/list/progress/IProgressDialogFactory.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.contacts.list.progress
20 |
21 | import android.app.ProgressDialog
22 |
23 | interface IProgressDialogFactory {
24 |
25 | fun create(): ProgressDialog
26 | }
27 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/contacts/list/progress/ProgressState.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.contacts.list.progress
20 |
21 | data class ProgressState(val completed: Int, val total: Int)
22 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/contacts/list/search/ISearchListenerViewModel.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.contacts.list.search
20 |
21 | interface ISearchListenerViewModel {
22 | fun setSearchPhrase(searchPhrase: String?)
23 | }
24 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/details/domain/model/MessageBodyDocument.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.details.domain.model
21 |
22 | import org.jsoup.nodes.Document
23 |
24 | data class MessageBodyDocument(
25 | val messageId: String,
26 | val body: Document
27 | )
28 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/details/domain/model/MessageBodyParts.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.details.domain.model
21 |
22 | data class MessageBodyParts(
23 | val messageBody: String,
24 | val messageBodyWithQuote: String? = null,
25 | val quote: String? = null
26 | )
27 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/details/domain/model/MessageEmbeddedImages.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.details.domain.model
21 |
22 | import ch.protonmail.android.jobs.helper.EmbeddedImage
23 |
24 | data class MessageEmbeddedImages(
25 | val messageId: String,
26 | val images: List
27 | )
28 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/details/domain/model/MessageEmbeddedImagesWithContent.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.details.domain.model
21 |
22 | data class MessageEmbeddedImagesWithContent(
23 | val messageId: String,
24 | val images: List
25 | )
26 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/details/domain/model/MessageEmbeddedImagesWithOutputStream.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.details.domain.model
21 |
22 | data class MessageEmbeddedImagesWithOutputStream(
23 | val messageId: String,
24 | val images: List
25 | )
26 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/details/presentation/model/RenderedMessage.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.details.presentation.model
21 |
22 | data class RenderedMessage(
23 | val messageId: String,
24 | val renderedHtmlBody: String
25 | )
26 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/events/FetchLabelsEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.events;
20 |
21 | public class FetchLabelsEvent {
22 | public final Status status;
23 |
24 | public FetchLabelsEvent(Status status) {
25 | this.status = status;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/events/ForceUpgradeEvent.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.events
20 |
21 |
22 | class ForceUpgradeEvent(val message: String)
23 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/events/MailboxLoadedEvent.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.events
20 |
21 | import me.proton.core.util.kotlin.EMPTY_STRING
22 |
23 | class MailboxLoadedEvent(
24 | val status: Status,
25 | val uuid: String? = null,
26 | val errorMessage: String = EMPTY_STRING
27 | )
28 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/events/MailboxNoMessagesEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.events;
20 |
21 | public class MailboxNoMessagesEvent {
22 | }
23 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/events/MoveToFolderEvent.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.events
20 |
21 | /**
22 | * An empty class for describing an event for moving messages between folders
23 | */
24 | class MoveToFolderEvent
25 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/events/NoResultsEvent.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.events
20 |
21 | data class NoResultsEvent(val page: Int)
22 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/events/PostImportAttachmentFailureEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.events;
20 |
21 | public class PostImportAttachmentFailureEvent {
22 |
23 | public PostImportAttachmentFailureEvent() {
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/events/PostPhishingReportEvent.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.events
20 |
21 | data class PostPhishingReportEvent(val status: Status)
22 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/events/RequestTimeoutEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.events;
20 |
21 | /**
22 | * Created by dino on 1/31/17.
23 | */
24 |
25 | public class RequestTimeoutEvent {
26 | }
27 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/events/SearchResultEvent.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.events
21 |
22 | import ch.protonmail.android.data.local.model.Message
23 |
24 | data class SearchResultEvent(val results: List)
25 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/events/Status.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.events;
20 |
21 | public enum Status {
22 | STARTED,
23 | FAILED,
24 | SUCCESS,
25 | NO_NETWORK,
26 | UNAUTHORIZED,
27 | VALIDATION_FAILED
28 | }
29 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/events/StorageLimitEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.events;
20 |
21 | public class StorageLimitEvent {
22 | }
23 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/feature/NotLoggedIn.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.feature
21 |
22 | object NotLoggedIn
23 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/featureflags/MailFeatureFlags.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.featureflags
21 |
22 | import me.proton.core.featureflag.domain.entity.FeatureId
23 |
24 | enum class MailFeatureFlags(val featureId: FeatureId) {
25 | ShowReviewAppDialog(FeatureId("RatingAndroidMail"))
26 | }
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/jobs/Priority.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.jobs;
20 |
21 | public interface Priority {
22 | int LOW = 0;
23 | int MEDIUM = 500;
24 | int HIGH = 1000;
25 | }
26 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/labels/domain/model/Label.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.labels.domain.model
21 |
22 | data class Label(
23 | val id: LabelId,
24 | val name: String,
25 | val color: String,
26 | val order: Int,
27 | val type: LabelType,
28 | val path: String,
29 | val parentId: String,
30 | )
31 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/labels/domain/model/LabelId.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.labels.domain.model
21 |
22 | /**
23 | * Entity representing a LabelId.
24 | */
25 | data class LabelId(val id: String)
26 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/mailbox/domain/model/Correspondent.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.mailbox.domain.model
21 |
22 | data class Correspondent(
23 | val name: String,
24 | val address: String,
25 | val isProton: Boolean = false
26 | )
27 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/mailbox/presentation/model/UnreadChipState.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.mailbox.presentation.model
21 |
22 | sealed interface UnreadChipState {
23 |
24 | object Loading : UnreadChipState
25 |
26 | data class Data(val model: UnreadChipUiModel) : UnreadChipState
27 | }
28 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/mailbox/presentation/model/UnreadChipUiModel.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.mailbox.presentation.model
21 |
22 | data class UnreadChipUiModel(
23 | val unreadCount: Int,
24 | val isFilterEnabled: Boolean
25 | )
26 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/navigation/presentation/model/TemporaryMessage.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.navigation.presentation.model
21 |
22 | @JvmInline
23 | value class TemporaryMessage(val value: String) {
24 |
25 | companion object {
26 |
27 | val NONE = TemporaryMessage("")
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/notifications/domain/model/NotificationId.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.notifications.domain.model
21 |
22 | /**
23 | * Entity representing a NotificationId.
24 | */
25 | @JvmInline
26 | value class NotificationId(val value: String)
27 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/usecase/model/DeleteMessageResult.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.usecase.model
21 |
22 | data class DeleteMessageResult(
23 | val isSuccessfullyDeleted: Boolean
24 | )
25 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/utils/INetworkConfiguratorCallback.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.utils
20 |
21 | interface INetworkConfiguratorCallback {
22 | fun onApiProvidersChanged()
23 |
24 | fun startDohSignal()
25 |
26 | fun stopDohSignal()
27 |
28 | fun onDohFailed()
29 | }
30 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/utils/UuidProvider.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.utils
21 |
22 | import java.util.UUID
23 | import javax.inject.Inject
24 |
25 | class UuidProvider @Inject constructor() {
26 |
27 | fun randomUuid(): String = UUID.randomUUID().toString()
28 | }
29 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/utils/base64/Base64Encoder.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.utils.base64
21 |
22 | interface Base64Encoder {
23 | fun decode(base64String: String): ByteArray
24 | fun encode(base64Bytes: ByteArray): String
25 | }
26 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/utils/extensions/CompatExtensions.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.utils.extensions
20 |
21 | /*
22 | * Compatibility extensions for brevity purpose.
23 | * E.g. `ContextCompat.getColor(context, colorRes)` -> `context.getColorCompat(colorRes)`
24 | */
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/utils/extensions/RetrofitExtensions.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.utils.extensions
21 |
22 | import retrofit2.HttpException
23 |
24 | @Suppress("MagicNumber")
25 | fun HttpException?.isServerError() = this?.code() != null && this.code() / 100 == 5
26 |
--------------------------------------------------------------------------------
/app/src/main/java/ch/protonmail/android/utils/ui/selection/SelectionModeEnum.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.utils.ui.selection
20 |
21 | enum class SelectionModeEnum {
22 | STARTED, ENDED
23 | }
24 |
--------------------------------------------------------------------------------
/app/src/main/res/.locale-state.metadata:
--------------------------------------------------------------------------------
1 | {
2 | "project": "android-mail",
3 | "locale": "ccae18a508132126de390460c5e78c91752d629f"
4 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/drawer_shadow.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-hdpi/drawer_shadow.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/drawer_shadow.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-mdpi/drawer_shadow.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/_unknown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/_unknown.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ad.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ae.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ae.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/af.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/af.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ag.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ai.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ai.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/al.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/al.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/am.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/am.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ao.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ar.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/as.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/as.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/at.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/at.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/au.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/au.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/aw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/aw.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/az.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/az.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ba.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ba.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/bb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/bb.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/bd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/bd.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/be.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/be.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/bf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/bf.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/bg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/bh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/bh.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/bi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/bi.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/bj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/bj.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/bl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/bl.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/bm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/bm.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/bn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/bn.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/bo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/bo.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/br.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/br.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/bs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/bs.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/bt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/bt.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/bw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/bw.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/by.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/by.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/bz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/bz.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ca.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ca.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/cd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/cd.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/cf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/cf.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/cg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/cg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ch.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ci.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ci.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ck.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ck.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/cl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/cl.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/cm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/cm.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/cn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/cn.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/co.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/co.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/cr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/cr.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/cu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/cu.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/cv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/cv.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/cw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/cw.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/cy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/cy.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/cz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/cz.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/de.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/de.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/dj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/dj.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/dk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/dk.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/dm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/dm.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/dz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/dz.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ec.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ec.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ee.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ee.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/eg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/eg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/eh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/eh.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/encryption.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/encryption.jpg
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/er.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/er.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/es.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/es.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/et.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/et.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/expire.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/expire.jpg
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/fi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/fi.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/fj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/fj.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/fk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/fk.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/fm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/fm.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/fo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/fo.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/fr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/fr.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ga.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ga.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/gb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/gb.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/gd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/gd.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ge.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/gg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/gg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/gh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/gh.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/gi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/gi.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/gl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/gl.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/gm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/gm.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/gn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/gn.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/gq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/gq.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/gr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/gr.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/gt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/gt.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/gu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/gu.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/gw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/gw.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/gy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/gy.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/help.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/help.jpg
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/hk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/hk.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/hn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/hn.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/hr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/hr.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ht.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ht.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/hu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/hu.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/id.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/id.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ie.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ie.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/il.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/il.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/im.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/im.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/in.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/in.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/iq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/iq.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ir.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ir.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/is.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/is.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/it.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/it.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/je.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/je.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/jm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/jm.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/jo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/jo.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/jp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/jp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ke.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ke.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/kg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/kg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/kh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/kh.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ki.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ki.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/km.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/km.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/kn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/kn.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/kp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/kp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/kr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/kr.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/kw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/kw.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ky.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ky.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/kz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/kz.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/la.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/la.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/labels.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/labels.jpg
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/lb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/lb.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/lc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/lc.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/li.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/li.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/lk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/lk.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/lr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/lr.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ls.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/lt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/lt.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/lu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/lu.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/lv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/lv.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ly.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ly.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ma.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ma.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/mc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/mc.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/md.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/md.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/me.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/me.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/mf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/mf.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/mg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/mg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/mh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/mh.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/mk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/mk.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ml.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/mm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/mm.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/mn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/mn.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/mo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/mo.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/mp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/mp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/mq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/mq.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/mr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/mr.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ms.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ms.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/mt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/mt.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/mu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/mu.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/mv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/mv.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/mw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/mw.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/mx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/mx.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/my.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/my.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/mz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/mz.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/na.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/na.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/nc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/nc.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ne.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ne.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/nf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/nf.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ng.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ng.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ni.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ni.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/nl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/nl.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/no.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/no.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/np.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/np.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/nr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/nr.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/nu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/nu.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/nz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/nz.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/om.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/om.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/pa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/pa.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/pe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/pe.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/pf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/pf.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/pg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/pg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ph.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/pk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/pk.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/pl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/pl.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/pr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/pr.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ps.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/pt.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/pw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/pw.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/py.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/py.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/qa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/qa.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ro.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/rs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/rs.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ru.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ru.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/rw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/rw.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/sa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/sa.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/sb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/sb.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/sc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/sc.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/sd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/sd.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/se.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/se.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/sg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/sg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/sh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/sh.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/si.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/si.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/sk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/sk.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/sl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/sl.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/sm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/sm.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/sn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/sn.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/so.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/so.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/sr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/sr.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ss.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ss.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/st.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/st.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/sv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/sv.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/swipe.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/swipe.jpg
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/sy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/sy.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/sz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/sz.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/tc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/tc.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/td.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/td.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/tg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/tg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/th.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/th.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/tj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/tj.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/tk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/tk.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/tl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/tl.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/tm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/tm.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/tn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/tn.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/to.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/to.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/tr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/tr.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/tt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/tt.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/tv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/tv.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/tw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/tw.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/tz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/tz.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ua.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ua.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ug.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ug.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/us.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/us.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/uy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/uy.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/uz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/uz.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/va.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/va.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/vc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/vc.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ve.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ve.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/vg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/vg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/vi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/vi.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/vn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/vn.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/vu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/vu.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/welcome.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/welcome.jpg
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/wf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/wf.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ws.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ws.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/xk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/xk.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/ye.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/ye.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/yt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/yt.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/za.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/za.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/zm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/zm.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-nodpi/zw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-nodpi/zw.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/drawer_shadow.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-xhdpi/drawer_shadow.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/drawer_shadow.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-xxhdpi/drawer_shadow.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_clear_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-xxxhdpi/ic_clear_black.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/textfield_label.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-xxxhdpi/textfield_label.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/textfield_violet.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-xxxhdpi/textfield_violet.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/textfield_white.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/drawable-xxxhdpi/textfield_white.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bg_recipient_chip_default.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bg_recipient_chip_selected.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/circle_background_interaction_strong.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/circle_background_interaction_strong_pressed.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/circle_background_interaction_weak.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/circle_background_interaction_weak_pressed.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/cursor_black.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/field.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/keyboard_button_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/list_divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/message_details_error_banner_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/message_details_info_banner_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/repeat_day_selected_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/repeat_day_unselected_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ripple_background_norm.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ripple_reply_actions.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/search_edittext_shape.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shape_oval.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shape_rectangle_xsmall_corners_bg_secondary_fill.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shape_rectangle_xxsmall_corners_weak_fill.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shape_stretchable_circle.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/spacer_s_m.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
23 |
24 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/alias_list_item_inactive.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/drawer_list_item_divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/horizontal_divider.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/raw/css_reset_dark_mode_only.css:
--------------------------------------------------------------------------------
1 | /* for HTML 5 */
2 | :root {
3 | --background-norm: #1C1B24;
4 | --text-norm: white;
5 | }
--------------------------------------------------------------------------------
/app/src/main/res/values-hdpi/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
--------------------------------------------------------------------------------
/app/src/main/res/values-ldrtl/ld_values.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 | 1
22 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/values-mdpi/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
--------------------------------------------------------------------------------
/app/src/main/res/values-xhdpi/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 | 300dp
22 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 | #FFFFFF
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/values/ld_values.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 | 0
22 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/provider_paths.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/resources/jacoco-agent.properties:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (c) 2022 Proton AG
3 | #
4 | # This file is part of Proton Mail.
5 | #
6 | # Proton Mail 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 | # Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | #
19 |
20 | output=none
21 |
--------------------------------------------------------------------------------
/app/src/test/java/ch/protonmail/android/testdata/KeyInformationTestData.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.testdata
21 |
22 | import ch.protonmail.android.utils.crypto.KeyInformation
23 |
24 | object KeyInformationTestData {
25 | val listWithValidKey = listOf(KeyInformation.EMPTY())
26 | }
27 |
--------------------------------------------------------------------------------
/app/src/test/java/ch/protonmail/android/testutils/extensions/AnyExtensions.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.testutils.extensions
21 |
22 | inline fun T.asArray() = arrayOf(this)
23 |
--------------------------------------------------------------------------------
/app/src/test/resources/contact-emails-output.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "contactEmailId": "emailId",
4 | "email": "first@pm.me",
5 | "name": "firstcontact",
6 | "lastUsedTime": 111
7 | },
8 | {
9 | "contactEmailId": "emailId1",
10 | "email": "second@pm.me",
11 | "name": "secondcontact",
12 | "lastUsedTime": 113
13 | },
14 | {
15 | "contactEmailId": "emailId2",
16 | "email": "third@pm.me",
17 | "name": "thirdcontact",
18 | "lastUsedTime": 112
19 | }
20 | ]
21 |
--------------------------------------------------------------------------------
/app/src/uiAutomation/res/raw/instrumentation_cert:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIIBaDCCAQ6gAwIBAgIBATAKBggqhkjOPQQDAjAvMS0wKwYDVQQDDCQ1OGEyMjAx
3 | MC0xZmNiLTQ1OGQtOGFkYy0yYzY3YTY3ODVkYTEwHhcNMjIwMTMxMTAxNDU4WhcN
4 | MzIwMTI5MTAxNDU4WjAvMS0wKwYDVQQDDCQ1OGEyMjAxMC0xZmNiLTQ1OGQtOGFk
5 | Yy0yYzY3YTY3ODVkYTEwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQjWHhPg4Hk
6 | Peh2mMjk0R1kG2GVnPVI9FsZ7/mlWsUoJbW0KA825K4DhCzhpq0lAPs+OeEPxmNd
7 | ZjyuCo08zFzeoxswGTAXBgNVHREBAf8EDTALgglsb2NhbGhvc3QwCgYIKoZIzj0E
8 | AwIDSAAwRQIgKbCxCGJPeUMei/itn5PeCjOujEPSOu2MV+L6yha72i8CIQCtaNSy
9 | Ova36WIFHmxRTCdoh/unAuxSALX8EzwdXSUauw==
10 | -----END CERTIFICATE-----
11 |
--------------------------------------------------------------------------------
/app/src/uiTest/assets/lorem_ipsum.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/uiTest/assets/lorem_ipsum.docx
--------------------------------------------------------------------------------
/app/src/uiTest/assets/lorem_ipsum.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/uiTest/assets/lorem_ipsum.jpeg
--------------------------------------------------------------------------------
/app/src/uiTest/assets/lorem_ipsum.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/uiTest/assets/lorem_ipsum.pdf
--------------------------------------------------------------------------------
/app/src/uiTest/assets/lorem_ipsum.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/uiTest/assets/lorem_ipsum.png
--------------------------------------------------------------------------------
/app/src/uiTest/assets/lorem_ipsum.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/app/src/uiTest/assets/lorem_ipsum.zip
--------------------------------------------------------------------------------
/app/src/uiTest/assets/ssl/instrumentation_cert.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIIBaDCCAQ6gAwIBAgIBATAKBggqhkjOPQQDAjAvMS0wKwYDVQQDDCQ1OGEyMjAx
3 | MC0xZmNiLTQ1OGQtOGFkYy0yYzY3YTY3ODVkYTEwHhcNMjIwMTMxMTAxNDU4WhcN
4 | MzIwMTI5MTAxNDU4WjAvMS0wKwYDVQQDDCQ1OGEyMjAxMC0xZmNiLTQ1OGQtOGFk
5 | Yy0yYzY3YTY3ODVkYTEwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQjWHhPg4Hk
6 | Peh2mMjk0R1kG2GVnPVI9FsZ7/mlWsUoJbW0KA825K4DhCzhpq0lAPs+OeEPxmNd
7 | ZjyuCo08zFzeoxswGTAXBgNVHREBAf8EDTALgglsb2NhbGhvc3QwCgYIKoZIzj0E
8 | AwIDSAAwRQIgKbCxCGJPeUMei/itn5PeCjOujEPSOu2MV+L6yha72i8CIQCtaNSy
9 | Ova36WIFHmxRTCdoh/unAuxSALX8EzwdXSUauw==
10 | -----END CERTIFICATE-----
11 |
12 | -----BEGIN PRIVATE KEY-----
13 | MEECAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQcEJzAlAgEBBCBMrzKzeo/nKuSlLE+7
14 | uCIz/Pj+Oi8YxRAzaEaj8CyaXQ==
15 | -----END PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/app/src/uiTest/kotlin/ch/protonmail/android/uitests/robots/mailbox/SelectionMoreOptionsRobotInterface.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.uitests.robots.mailbox
20 |
21 | interface SelectionMoreOptionsRobotInterface {
22 |
23 | fun markUnread() {
24 | }
25 |
26 | fun markRead() {
27 | }
28 |
29 | fun removeStar() {
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/src/uiTest/kotlin/ch/protonmail/android/uitests/testsHelper/annotations/SmokeTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.uitests.testsHelper.annotations
21 |
22 | interface SmokeTest
23 |
--------------------------------------------------------------------------------
/app/src/uiTest/kotlin/ch/protonmail/android/uitests/testsHelper/browserstack_config.json:
--------------------------------------------------------------------------------
1 | {
2 | "devices": [
3 | "Google Pixel-7.1"
4 | ],
5 | "deviceLogs": true,
6 | "networkLogs": false,
7 | "disableAnimations": true,
8 | "project": "ProtonMail",
9 | "class": [
10 | "ch.protonmail.android.uitests.tests.suites.SmokeSuite"
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/app/src/uiTest/kotlin/ch/protonmail/android/uitests/testsHelper/testRail/APIException.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 | package ch.protonmail.android.uitests.testsHelper.testRail
20 |
21 | class APIException(message: String?) : Exception(message)
--------------------------------------------------------------------------------
/docs/0010-backticks-for-junit-tests.md:
--------------------------------------------------------------------------------
1 | # Use backticks for jUnit tests' naming
2 |
3 | * Status: Accepted
4 | * Deciders: Marino, Zorica, Stefanija, Davide, Maciej
5 | * Date: 27/10/2021
6 |
7 |
8 | ## Context and Problem Statement
9 |
10 | We want a format that empowers readability of test cases, that doesn't make this decay when we add many informations.
11 |
12 | ## Considered Options
13 |
14 | * Keep the current `camelCase` format
15 | * **Switch to use `` `backticks format` ``**
16 |
17 | * Current format has been chosen in order to keep consistency with instrumented tests, which don't support backticks
18 |
19 | ## Decision Outcome
20 |
21 | We decided that backticks is the most human readable format, that enables us to add many information into the test case's name, without sacrificing the readability.
22 |
23 | ## Consequences
24 | 1. All the new test cases will use the backticks format
25 | 2. When adding new test cases to a pre-existing class that uses camel case, the developer must evaluate whether is feasible to rename not compliant pre-existing test cases
26 |
--------------------------------------------------------------------------------
/docs/0011-use-function-over-annotation-for-creating-mocks.md:
--------------------------------------------------------------------------------
1 | # Use functions over annotations for creating mocks
2 |
3 | * Status: Accepted
4 | * Deciders: Marino, Zorica, Stefanija, Davide, Tomasz, Maciej
5 | * Date: 22/09/2021
6 |
7 |
8 | ## Context and Problem Statement
9 |
10 | We would like to have a consistent way of declaring mocks in the tests that will aid readability and
11 | clarity.
12 |
13 | ## Considered Options
14 |
15 | * Using a `mockk()` function and defining the mock's default behaviour when it's first declared.
16 | * Using a `@MockK` annotation in combination with `@BeforeTest` annotated function to init the mocks
17 | and define their default behaviour.
18 |
19 | ## Decision Outcome
20 |
21 | In order to maximise the readability and clarity of the test code, `mockk()` function has been
22 | chosen as the preferred solution; defining the mock's default behaviour in the same place it is
23 | declared, makes it more transparent and harder to overlook.
24 |
25 | ## Consequences
26 | 1. All the new tests will use the `mockk()` function approach over the alternative.
27 |
--------------------------------------------------------------------------------
/domain/src/main/kotlin/ch/protonmail/android/domain/Error.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022 Proton AG
3 | *
4 | * This file is part of Proton Mail.
5 | *
6 | * Proton Mail 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 | * Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | */
19 |
20 | package ch.protonmail.android.domain
21 |
22 | abstract class Error
23 |
--------------------------------------------------------------------------------
/experimental.properties:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (c) 2022 Proton AG
3 | #
4 | # This file is part of Proton Mail.
5 | #
6 | # Proton Mail 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 | # Proton Mail 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 Proton Mail. If not, see https://www.gnu.org/licenses/.
18 | #
19 | users-management=false
20 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip
4 | networkTimeout=10000
5 | zipStoreBase=GRADLE_USER_HOME
6 | zipStorePath=wrapper/dists
7 |
--------------------------------------------------------------------------------
/scripts/inject_licenses/InjectLicenses.kts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/scripts/inject_licenses/InjectLicenses.kts
--------------------------------------------------------------------------------
/sharedTest/testAndroid/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/sharedTest/testAndroidInstrumented/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/tokenAutoComplete/tokenAutoComplete-example/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/tokenAutoComplete/tokenAutoComplete-example/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/tokenAutoComplete/tokenAutoComplete-example/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/tokenAutoComplete/tokenAutoComplete-example/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/tokenAutoComplete/tokenAutoComplete-example/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/tokenAutoComplete/tokenAutoComplete-example/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/tokenAutoComplete/tokenAutoComplete-example/src/main/res/drawable-xxhdpi/close_x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/tokenAutoComplete/tokenAutoComplete-example/src/main/res/drawable-xxhdpi/close_x.png
--------------------------------------------------------------------------------
/tokenAutoComplete/tokenAutoComplete-example/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonMail/proton-mail-android/7ff6a12219c59bea4febe41e6a935bf63bec4f2e/tokenAutoComplete/tokenAutoComplete-example/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/tokenAutoComplete/tokenAutoComplete-example/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/tokenAutoComplete/tokenAutoComplete-example/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 | TokenAutoComplete example
23 | enter a name or email address
24 |
25 |
26 |
--------------------------------------------------------------------------------
/tokenAutoComplete/tokenAutoComplete-lib/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
21 |
--------------------------------------------------------------------------------