Commit Graph

40 Commits

Author SHA1 Message Date
Zorica Stojchevska 30e5087084 Update copyright
MAILAND-2696
2022-05-23 21:01:57 +00:00
Maciej Surmacz 497ccd0709 Logs the user out when username not found for user id
If we detect an inconsistent state in the app, in which a username
for the primary id is not present in the shared prefs, log the
user out and log the error. The correct username for that user id
will be put there on the next log in.

Additionally, removes the code setting up alarm and fetching events from
the navigation activity when a new id arrives- it's no longer needed
there and was a leftover from a merge conflict from a previous MR.

MAILAND-2644
2021-12-09 15:47:10 +00:00
Zorica Stojchevska 29da2a81ee Bring back Quick Snooze feature 2021-06-24 15:56:24 +02:00
Zorica Stojchevska 3f8b37ec64 Move to using core components like radio buttons and switches
Clean up settings related components, styles, values that are not used anymore
2021-06-24 15:56:24 +02:00
Zorica Stojchevska c0cb8de35b Snooze notifications screen v4 facelift 2021-06-24 15:56:10 +02:00
Neil Marietta 2a9532fe93 Replaced Account Switcher by Core AccountPrimaryView.
Upgraded Dagger/Hilt to version 2.35.1.
2021-05-13 14:19:26 +02:00
Tomasz Giszczak 43a6df2558 Removed MoveToFolderDialogFragment and related, replaced with LabelsActionSheet where it was needed.
MAILAND-1760
2021-05-12 14:46:22 +00:00
Tomasz Giszczak a21431a36e Removed ManageLabelsDialogFragment and ShowLabelsManagerDialogTask.
MAILAND-1760
2021-05-12 14:46:22 +00:00
Tomasz Giszczak a51390bcda MoveMessagesToFolder use case added.
MAILAND-1401
2021-05-11 15:50:24 +02:00
Tomasz Giszczak 2cfc2e511d RecyclerView added to Labels action sheet.
MAILAND-1401
2021-05-11 15:50:24 +02:00
Tomasz Giszczak acd6f6b361 Added empty ManageLabelsActionSheet.
MAILAND-1401
2021-05-11 15:50:24 +02:00
Davide Farella 642520ec84 Remove check for old sdk versions in the code 2021-04-20 15:20:08 +00:00
Davide Farella 9a0fcf7f41 Clean up and fixes after rebase
MAILAND-1189

# Conflicts:
#	app/src/main/java/ch/protonmail/android/activities/messageDetails/repository/MessageDetailsRepository.kt
#	app/src/main/java/ch/protonmail/android/attachments/DownloadEmbeddedAttachmentsWorker.kt
#	app/src/main/java/ch/protonmail/android/attachments/UploadAttachments.kt
#	app/src/main/java/ch/protonmail/android/data/local/model/Message.kt
#	app/src/main/java/ch/protonmail/android/jobs/messages/PostMessageJob.java
#	app/src/main/java/ch/protonmail/android/storage/AttachmentClearingService.java

# Conflicts:
#	app/src/main/java/ch/protonmail/android/activities/multiuser/ConnectAccountActivity.kt
#	app/src/main/java/ch/protonmail/android/jobs/messages/PostMessageJob.java
#	app/src/main/java/ch/protonmail/android/utils/notifier/AndroidErrorNotifier.kt
#	app/src/main/java/ch/protonmail/android/worker/drafts/CreateDraftWorker.kt

# Conflicts:
#	app/src/main/java/ch/protonmail/android/api/models/factories/SendPreferencesFactory.java
#	app/src/main/java/ch/protonmail/android/api/segments/message/MessageApi.kt
#	app/src/main/java/ch/protonmail/android/api/services/PostMessageServiceFactory.kt
#	app/src/main/java/ch/protonmail/android/attachments/UploadAttachments.kt
#	app/src/main/java/ch/protonmail/android/core/ProtonMailApplication.java
#	app/src/main/java/ch/protonmail/android/jobs/messages/PostMessageJob.java
#	app/src/main/java/ch/protonmail/android/servers/notification/NotificationServer.kt
#	app/src/main/java/ch/protonmail/android/usecase/compose/SaveDraft.kt
#	app/src/main/java/ch/protonmail/android/utils/notifier/AndroidUserNotifier.kt
#	app/src/main/java/ch/protonmail/android/worker/drafts/CreateDraftWorker.kt

# Conflicts:
#	app/src/main/java/ch/protonmail/android/di/ApplicationModule.kt
#	app/src/main/java/ch/protonmail/android/servers/notification/NotificationServer.kt
2021-03-18 10:47:58 +01:00
Davide Farella fccb4fdfd6 Clean up and fixes after migration to user id
MAILAND-1189

# Conflicts:
#	app/src/main/java/ch/protonmail/android/activities/messageDetails/repository/MessageDetailsRepository.kt
#	app/src/main/java/ch/protonmail/android/contacts/list/ContactsListFragment.kt
#	app/src/main/java/ch/protonmail/android/contacts/list/viewModel/ContactsListViewModel.kt
#	app/src/main/java/ch/protonmail/android/data/local/PendingActionDatabase.kt
#	app/src/main/java/ch/protonmail/android/fcm/PMRegistrationWorker.kt
#	app/src/main/java/ch/protonmail/android/usecase/compose/SaveDraft.kt
#	app/src/main/java/ch/protonmail/android/worker/drafts/CreateDraftWorker.kt

# Conflicts:
#	app/src/main/java/ch/protonmail/android/jobs/messages/PostMessageJob.java

# Conflicts:
#	app/src/main/java/ch/protonmail/android/jobs/messages/PostMessageJob.java

# Conflicts:
#	app/src/main/java/ch/protonmail/android/api/services/PostMessageServiceFactory.kt
#	app/src/main/java/ch/protonmail/android/jobs/messages/PostMessageJob.java
#	app/src/main/java/ch/protonmail/android/usecase/compose/SaveDraft.kt
2021-03-18 10:47:12 +01:00
Davide Farella 57eb24854d Replace imports for import ch.protonmail.android.api.models.room..+;
MAILAND-1189

# Conflicts:
#	app/src/androidTest/java/ch/protonmail/android/api/models/room/ContactGroupsDatabaseTest.kt
#	app/src/main/java/ch/protonmail/android/api/segments/contact/ContactEmailsManager.kt
#	app/src/main/java/ch/protonmail/android/api/segments/event/EventHandler.kt
#	app/src/main/java/ch/protonmail/android/contacts/groups/details/ContactGroupDetailsViewModel.kt
#	app/src/main/java/ch/protonmail/android/contacts/groups/list/ContactGroupsFragment.kt
#	app/src/main/java/ch/protonmail/android/contacts/groups/list/ContactGroupsRepository.kt
#	app/src/main/java/ch/protonmail/android/contacts/groups/list/ContactGroupsViewModel.kt
#	app/src/main/java/ch/protonmail/android/contacts/list/listView/ProtonMailContactsLiveData.kt
#	app/src/main/java/ch/protonmail/android/jobs/UpdateContactJob.java
#	app/src/test/java/ch/protonmail/android/contacts/details/ContactDetailsRepositoryTest.kt
#	app/src/test/java/ch/protonmail/android/contacts/details/ContactGroupsRepositoryTest.kt
#	app/src/test/java/ch/protonmail/android/contacts/groups/ContactGroupsViewModelTest.kt
#	app/src/test/java/ch/protonmail/android/contacts/groups/edit/ContactGroupEditCreateRepositoryTest.kt

# Conflicts:
#	app/src/main/java/ch/protonmail/android/activities/messageDetails/viewmodel/MessageDetailsViewModel.kt
#	app/src/main/java/ch/protonmail/android/api/models/messages/receive/ServerAttachment.kt
#	app/src/main/java/ch/protonmail/android/attachments/DownloadEmbeddedAttachmentsWorker.kt
#	app/src/main/java/ch/protonmail/android/jobs/helper/EmbeddedImage.kt
#	app/src/main/java/ch/protonmail/android/jobs/messages/PostMessageJob.java

# Conflicts:
#	app/src/androidTest/java/ch/protonmail/android/api/models/room/contacts/ContactDaoTest.kt

# Conflicts:
#	app/src/main/java/ch/protonmail/android/api/models/factories/PackageFactory.java
#	app/src/main/java/ch/protonmail/android/api/models/factories/SendPreferencesFactory.java
#	app/src/main/java/ch/protonmail/android/attachments/UploadAttachments.kt
#	app/src/main/java/ch/protonmail/android/compose/ComposeMessageViewModel.kt
#	app/src/main/java/ch/protonmail/android/core/ProtonMailApplication.java
#	app/src/main/java/ch/protonmail/android/jobs/messages/PostMessageJob.java
#	app/src/main/java/ch/protonmail/android/usecase/compose/SaveDraft.kt
#	app/src/test/java/ch/protonmail/android/attachments/UploadAttachmentsTest.kt
#	app/src/test/java/ch/protonmail/android/compose/ComposeMessageViewModelTest.kt
#	app/src/test/java/ch/protonmail/android/usecase/compose/SaveDraftTest.kt

# Conflicts:
#	app/src/main/java/ch/protonmail/android/di/ApplicationModule.kt
#	app/src/main/java/ch/protonmail/android/fcm/FcmIntentService.java
2021-03-18 10:46:25 +01:00
Davide Farella c99cbe0dbb Refactor MessageDatabase.kt to use User Id
MAILAND-1186

# Conflicts:
#	app/src/main/java/ch/protonmail/android/activities/AddAttachmentsActivity.java
#	app/src/main/java/ch/protonmail/android/activities/SearchActivity.java
#	app/src/main/java/ch/protonmail/android/api/models/messages/receive/MessageSenderFactory.kt
#	app/src/main/java/ch/protonmail/android/compose/ComposeMessageRepository.kt
#	app/src/main/java/ch/protonmail/android/data/local/model/Attachment.kt
#	app/src/main/java/ch/protonmail/android/data/local/model/Message.kt
#	app/src/main/java/ch/protonmail/android/jobs/CreateAndPostDraftJob.java
#	app/src/main/java/ch/protonmail/android/jobs/UpdateAndPostDraftJob.java
#	app/src/main/java/ch/protonmail/android/worker/DeleteAttachmentWorker.kt

# Conflicts:
#	app/src/main/java/ch/protonmail/android/api/services/MessagesService.kt
#	app/src/main/java/ch/protonmail/android/compose/ComposeMessageRepository.kt
#	app/src/main/java/ch/protonmail/android/compose/ComposeMessageViewModel.kt
#	app/src/main/java/ch/protonmail/android/data/local/model/Message.kt
#	app/src/main/java/ch/protonmail/android/utils/resources/StringResourceResolver.kt

# Conflicts:
#	app/src/main/java/ch/protonmail/android/api/segments/event/EventHandler.kt
#	app/src/main/java/ch/protonmail/android/compose/ComposeMessageRepository.kt
#	app/src/test/java/ch/protonmail/android/usecase/delete/DeleteLabelTest.kt

# Conflicts:
#	app/src/androidTest/java/ch/protonmail/android/api/models/room/messages/MessageDaoTest.kt
#	app/src/main/java/ch/protonmail/android/api/models/messages/receive/ServerAttachment.kt
#	app/src/main/java/ch/protonmail/android/api/models/room/messages/LocalAttachment.kt
#	app/src/main/java/ch/protonmail/android/compose/ComposeMessageRepository.kt
#	app/src/main/java/ch/protonmail/android/data/local/MessageDao.kt
#	app/src/main/java/ch/protonmail/android/data/local/model/Attachment.kt
#	app/src/main/java/ch/protonmail/android/data/local/model/AttachmentHeaders.java
#	app/src/main/java/ch/protonmail/android/data/local/model/AttachmentMetadata.kt
#	app/src/main/java/ch/protonmail/android/data/local/model/AttachmentTypesConverter.kt
#	app/src/main/java/ch/protonmail/android/data/local/model/Message.kt
#	app/src/main/java/ch/protonmail/android/jobs/messages/PostMessageJob.java

# Conflicts:
#	app/src/main/java/ch/protonmail/android/activities/AddAttachmentsActivity.java
#	app/src/main/java/ch/protonmail/android/data/local/MessageDao.kt

# Conflicts:
#	app/src/main/java/ch/protonmail/android/core/ProtonMailApplication.java
#	app/src/main/java/ch/protonmail/android/jobs/messages/PostMessageJob.java
2021-03-18 10:44:46 +01:00
Davide Farella 11678ea12f Rename [QuickSnoozeDialogFragment.IQuickSnoozeListener] -> QuickSnoozeListener
MAILAND-1185

# Conflicts:
#	app/src/main/java/ch/protonmail/android/activities/NavigationActivity.kt
2021-03-18 10:39:37 +01:00
Davide Farella 2d4ecbfe11 Remove getUserManager() from QuickSnoozeDialogFragment.IQuickSnoozeListener
MAILAND-1185
2021-03-18 10:39:37 +01:00
Tomasz Giszczak 15075cae13 Refactored ThreeStateButton, converted to kotlin, removed unnecessary redraws.
MAILAND-1043
2020-12-11 17:14:53 +01:00
Tomasz Giszczak 4440d97bf7 Removed ThreeStateCheckBox as it sems to be useless.
MAILAND-1043
2020-12-11 16:47:00 +01:00
Marino Meneghel 6b36a66dca Move ManageLabelsDialogViewModelFactory to ViewModel's file
MAILAND-1033
2020-11-05 13:12:42 +01:00
Marino Meneghel 462c5073e0 Rename SelectedLabelsArchiveEvent for clarity
MAILAND-1033
2020-11-05 11:20:33 +00:00
Marino Meneghel e1cc680826 Refactor ManageLabelsDialogFragment for readability
MAILAND-1033
2020-11-05 11:20:32 +00:00
Marino Meneghel 955b561c00 Use colorsGrid visibility to infer creation mode
THis allows us to get rid of the mCreationMode boolean flag and simplify
the logic in the view leaving this check to the ViewModel

MAILAND-1033
2020-11-05 11:20:32 +00:00
Marino Meneghel 22531bb3ca Move logic to handle display of label creation views to VM
MAILAND-1033
2020-11-05 11:20:32 +00:00
Marino Meneghel d7bf955c5a Remove onDoneClicked logic as it was migrated to ViewModel
MAILAND-1033
2020-11-05 11:20:32 +00:00
Marino Meneghel 6a8016043c Dismiss labels view once changes were applied
MAILAND-1033
2020-11-05 11:20:32 +00:00
Marino Meneghel be658398ff Dispatch event when labels selection changes or archive is requested
MAILAND-1033
2020-11-05 11:20:32 +00:00
Marino Meneghel 8dacaf683a Simplify ManageLabelsDialogFragment by removing static parameters
In particular, mShowCheckboxes was always set to true so I removed the
param and simplified the conditionals that were checking it
This likely was a leftover of when this fragment was also handling
labels deletion, now delegated to LabelsManagerActivity

MAILAND-1033
2020-11-05 11:20:32 +00:00
Marino Meneghel 0f83a139c3 Show labels threshold exceeded when user tries to apply too many labels
In order to be able to test this behaviour I extracted the
UserUtils.getMaxAllowedLabels method directly to the userManager class.
It also seems to fit better there in terms of responsiblity, so I
deprecated the UserUtils getMaxAllowedLabels method to avoid it being
used again

MAILAND-1033
2020-11-05 11:20:32 +00:00
Marino Meneghel b350c2b930 Show label created when creation succeeds
Commented out old piece of logic from the view to be able to test the
behaviour of the new ViewModel's logic

MAILAND-1033
2020-11-05 11:20:32 +00:00
Marino Meneghel 8b6c552c79 Show error when creating a label with a name that already exists
MAILAND-1033
2020-11-05 11:20:32 +00:00
Marino Meneghel 9fdbfb5798 Show missing label name error when creating label without a name
MAILAND-1033
2020-11-05 11:20:32 +00:00
Marino Meneghel 3c274f6aeb Show missing color error when creating label without a color
This is an intermediate step to shift all the logic of
ManageLabelsDialogFragment.onDoneClicked into the ViewModel

Inject UserManager instead of requiring it to ProtonApplication statically

View subscribes to state changes

Note that given the view is currently in Java, we somehow need to
perform an ugly `instance of` check on the state.
In kotlin, this would become more reabable by using a `when` case

MAILAND-1033
2020-11-05 11:20:32 +00:00
Marino Meneghel d904c69118 Replace deprecated method onAttach with new signature
MAILAND-1033
2020-11-05 11:20:32 +00:00
Marino Meneghel 10bf855f0a Add empty viewModel for ManageLabelsDialogFragment
MAILAND-1033
2020-11-05 11:20:32 +00:00
Marino Meneghel 711ba24a4e Drop comments and format constructor
MAILAND-1033
2020-11-05 11:20:32 +00:00
Davide Farella b023b0841e Hilt injection for Android components
Replaced manual `inject` with `@AndroidEntryPoint` in Activities, Fragments, Services and Broadcast Receivers
Affected: Dagger dependencies

MAILAND-930
2020-09-22 13:56:55 +02:00
Zorica Stojchevska af10d753f0 Hide moved messages from the sent folder
MAILAND-737
2020-07-17 09:42:55 +00:00
Zorica Stojchevska 5ce164d00a Initial commit 2020-04-16 17:44:53 +02:00