From fbc43e608da3b29cf6bab3285344cbcbaba178fc Mon Sep 17 00:00:00 2001 From: Matthieu Finiasz Date: Thu, 25 Apr 2024 09:38:34 +0200 Subject: [PATCH] v2.1 (build 235) --- CHANGELOG.md | 15 +- obv_engine/engine/build.gradle | 4 +- .../olvid/engine/channel/ChannelManager.java | 2 +- .../channel/databases/ObliviousChannel.java | 6 +- .../engine/channel/databases/Provision.java | 2 +- .../databases/ProvisionedKeyMaterial.java | 2 +- .../channel/datatypes/AsymmetricChannel.java | 2 +- .../io/olvid/engine/datatypes/Constants.java | 5 +- .../io/olvid/engine/datatypes/Operation.java | 2 +- .../io/olvid/engine/datatypes/Session.java | 14 +- .../datatypes/containers/DialogType.java | 2 +- .../datatypes/containers/IdentityAndLong.java | 52 + .../datatypes/containers/StringAndLong.java | 45 + .../datatypes/containers/UidAndBoolean.java | 51 + .../notifications/DownloadNotifications.java | 8 +- .../java/io/olvid/engine/engine/Engine.java | 86 +- .../engine/NotificationListenerDownloads.java | 18 + .../engine/NotificationListenerUploads.java | 1 - .../datatypes/EngineSessionFactory.java | 2 - .../engine/types/EngineNotifications.java | 5 + .../engine/types/JsonIdentityDetails.java | 8 + .../engine/identity/IdentityManager.java | 7 +- .../identity/databases/ContactDevice.java | 8 +- .../identity/databases/ContactIdentity.java | 9 +- .../databases/ContactTrustOrigin.java | 2 +- .../identity/databases/OwnedIdentity.java | 2 +- .../engine/metamanager/IdentityDelegate.java | 4 +- .../metamanager/NetworkFetchDelegate.java | 4 +- .../metamanager/NetworkSendDelegate.java | 2 +- .../metamanager/PushNotificationDelegate.java | 2 +- .../engine/networkfetch/FetchManager.java | 15 +- .../CreateServerSessionCoordinator.java | 2 +- ...eleteMessageAndAttachmentsCoordinator.java | 81 +- .../DownloadAttachmentCoordinator.java | 4 +- ...MessagesAndListAttachmentsCoordinator.java | 4 +- ...terServerPushNotificationsCoordinator.java | 6 +- .../networkfetch/databases/InboxMessage.java | 9 +- .../PushNotificationConfiguration.java | 2 +- ...entFromServerAndLocalInboxesOperation.java | 122 +- ...adMessagesAndListAttachmentsOperation.java | 17 + .../operations/GetTokenOperation.java | 2 +- .../RegisterPushNotificationOperation.java | 2 +- .../operations/RequestChallengeOperation.java | 2 +- .../operations/SolveChallengeOperation.java | 2 +- .../olvid/engine/networksend/SendManager.java | 6 +- .../SendAttachmentCoordinator.java | 5 - .../coordinators/SendMessageCoordinator.java | 4 + .../SendReturnReceiptCoordinator.java | 123 +- .../networksend/databases/MessageHeader.java | 2 +- .../databases/OutboxAttachment.java | 4 +- .../networksend/databases/OutboxMessage.java | 2 +- .../networksend/databases/ReturnReceipt.java | 35 +- ...BatchUploadMessagesCompositeOperation.java | 7 +- .../UploadReturnReceiptOperation.java | 167 +- .../coordinators/ProtocolStepCoordinator.java | 1 - .../datatypes/ProtocolStarterDelegate.java | 2 +- .../protocol_engine/ConcreteProtocol.java | 4 +- ...nnelCreationWithContactDeviceProtocol.java | 2 +- .../DeviceDiscoveryChildProtocol.java | 2 +- .../protocols/GroupManagementProtocol.java | 1 - .../KeycloakBindingAndUnbindingProtocol.java | 8 +- .../engine/backup/BackupManagerTest.java | 4 +- .../crypto/AsymmetricCryptoUnitTest.java | 5 +- .../engine/crypto/EdwardCurvesUnitTest.java | 5 +- .../engine/crypto/ProofOfWorkUnitTest.java | 4 +- .../crypto/SymmetricCryptoUnitTest.java | 5 +- .../olvid/engine/datatypes/ObvBase64Test.java | 5 +- .../engine/datatypes/OperationsUnitTest.java | 2 - .../datatypes/PriorityOperationQueueTest.java | 5 +- .../olvid/engine/encoder/EncoderUnitTest.java | 12 +- obv_messenger/app/build.gradle | 38 +- .../67.json | 3006 +++++++++++++++++ .../olvid/messenger/QRCodeImageAnalyzer.java | 2 +- .../app/src/main/AndroidManifest.xml | 167 +- .../src/main/java/io/olvid/messenger/App.java | 47 +- .../messenger/AppBackupAndSyncDelegate.java | 1 - .../java/io/olvid/messenger/AppSingleton.java | 68 +- ...ngineNotificationProcessorForMessages.java | 17 +- .../activities/LockScreenActivity.java | 26 +- .../activities/MessageDetailsActivity.java | 43 +- .../appdialogs/AppDialogShowActivity.java | 50 +- .../messenger/customClasses/DatabaseKey.kt | 68 + .../customClasses/ImageViewPreference.java | 33 +- .../messenger/customClasses/InitialView.kt | 2 +- .../LockScreenOrNotActivity.java | 15 +- .../olvid/messenger/customClasses/Markdown.kt | 43 + .../messenger/customClasses/PreviewUtils.java | 19 +- .../customClasses/SearchHighlightSpan.kt | 2 - .../messenger/customClasses/StringUtils.java | 15 +- .../messenger/customClasses/StringUtils2.kt | 110 + .../messenger/databases/AppDatabase.java | 96 +- .../databases/AppDatabaseMigrations.java | 23 + .../databases/GlobalSearchTokenizer.kt | 75 + .../PragmaSQLiteOpenHelperFactory.java | 11 +- .../databases/dao/DiscussionDao.java | 21 + .../dao/FyleMessageJoinWithStatusDao.java | 30 + .../messenger/databases/dao/MessageDao.java | 9 + .../entity/FyleMessageJoinWithStatus.java | 46 +- .../entity/FyleMessageJoinWithStatusFTS.kt | 34 + .../messenger/databases/entity/Message.java | 3 +- .../messenger/databases/entity/MessageFTS.kt | 32 + .../tasks/AddFyleToDraftFromUriTask.java | 8 + .../HandleNewMessageNotificationTask.java | 2 +- .../tasks/backup/SettingsPojo_0.java | 31 +- .../discussion/DiscussionActivity.java | 12 +- .../DiscussionOwnedIdentityPopupWindow.java | 2 +- .../discussion/DiscussionSearch.java | 20 +- .../discussion/MessageLongPressPopUp.java | 2 +- .../io/olvid/messenger/discussion/Utils.java | 2 +- .../compose/ComposeMessageFragment.kt | 94 +- .../messenger/discussion/compose/SoundWave.kt | 116 + .../compose/VoiceMessageRecorder.kt | 160 +- .../gallery/DiscussionMediaGalleryActivity.kt | 255 +- .../discussion/gallery/FyleListItem.kt | 120 + .../linkpreview/LinkPreviewViewModel.kt | 2 - .../discussion/linkpreview/OpenGraphParser.kt | 2 +- .../location/MapViewMapLibreFragment.java | 10 +- .../location/PeliasReverseResponse.java | 4 +- .../RequestAndUpdateAddressFieldTask.java | 1 - .../SendLocationBasicDialogFragment.java | 3 +- .../SendLocationMapDialogFragment.java | 4 - .../discussion/mention/MentionUrlSpan.kt | 22 +- .../discussion/mention/MentionViewModel.kt | 80 +- .../FilteredContactListFragment.java | 27 +- .../FilteredDiscussionListFragment.java | 37 +- .../fragments/QRCodeScannerFragment.java | 6 +- .../group/GroupV2DetailsViewModel.kt | 20 +- .../group/components/GroupTypeSelection.kt | 2 +- .../io/olvid/messenger/main/MainActivity.kt | 57 +- .../messenger/main/MainScreenEmptyList.kt | 4 +- .../main/OwnIdentitySelectorPopupWindow.java | 2 +- .../messenger/main/RefreshingFragment.kt | 3 +- .../messenger/main/calls/CallLogViewModel.kt | 2 +- .../main/contacts/ContactListViewModel.kt | 22 +- .../discussions/DiscussionListFragment.kt | 6 + .../main/discussions/DiscussionListScreen.kt | 281 +- .../discussions/DiscussionListViewModel.kt | 17 +- .../main/search/GlobalSearchScreen.kt | 423 +++ .../main/search/GlobalSearchViewModel.kt | 192 ++ .../messenger/main/search/LinkListItem.kt | 134 + .../AndroidNotificationManager.java | 2 +- .../olvid/messenger/openid/KeycloakTasks.java | 4 +- .../plus_button/KeycloakSearchFragment.java | 18 +- .../services/PeriodicTasksScheduler.java | 51 +- .../services/UnifiedForegroundService.java | 2 - .../messenger/settings/AppIconSetting.kt | 273 ++ .../AppIconSettingsPreferenceFragment.kt | 41 + .../CustomizationPreferenceFragment.java | 15 + .../ManageCloudBackupsDialogFragment.java | 2 +- .../settings/OtherPreferenceFragment.java | 58 +- .../messenger/settings/SettingsActivity.java | 26 +- .../messenger/settings/StorageExplorer.java | 2 +- .../messenger/troubleshooting/CheckState.kt | 6 +- .../FilteredContactListViewModel.java | 2 +- .../messenger/webrtc/WebrtcCallService.kt | 40 +- .../webrtc/WebrtcPeerConnectionHolder.kt | 4 +- .../webrtc/components/CallControls.kt | 1 - .../messenger/webrtc/components/CallScreen.kt | 12 +- .../webrtc/components/CustomEglRenderer.java | 12 +- .../webrtc/components/PictureInPicture.kt | 1 - .../main/jniLibs/arm64-v8a/libcrypto_1_1.so | Bin 0 -> 2362696 bytes .../main/jniLibs/arm64-v8a/libsqlitejdbc.so | Bin 1172192 -> 1198352 bytes .../main/jniLibs/armeabi-v7a/libcrypto_1_1.so | Bin 0 -> 2147316 bytes .../main/jniLibs/armeabi-v7a/libsqlitejdbc.so | Bin 1129956 -> 1156936 bytes .../app/src/main/jniLibs/x86/libcrypto_1_1.so | Bin 0 -> 2189160 bytes .../app/src/main/jniLibs/x86/libsqlitejdbc.so | Bin 1196720 -> 1223364 bytes .../src/main/jniLibs/x86_64/libcrypto_1_1.so | Bin 0 -> 2576304 bytes .../src/main/jniLibs/x86_64/libsqlitejdbc.so | Bin 1203208 -> 1229312 bytes .../ic_launcher_gem_foreground.xml | 102 + ...auncher_gradient_light_blue_foreground.xml | 59 + ...ic_launcher_gradient_purple_background.xml | 24 + .../ic_launcher_rosace_background.xml | 26 + .../ic_launcher_weather_foreground.xml | 43 + .../drawable/background_gradient_weather.xml | 25 + .../ic_launcher_bubbles_foreground.xml | 24 + .../drawable/ic_launcher_ghost_foreground.xml | 15 + .../ic_launcher_rainbow_background.xml | 26 + .../ic_launcher_rosace_foreground.xml | 34 + .../drawable/ic_launcher_white_foreground.xml | 25 + .../ic_launcher_white_hollow_foreground.xml | 18 + .../main/res/drawable/ic_phone_missed_out.xml | 7 + .../main/res/drawable/ic_pref_app_icon.xml | 9 + .../main/res/drawable/ic_search_anything.xml | 5 + .../app/src/main/res/drawable/ic_stop.xml | 5 + .../main/res/layout/activity_lock_screen.xml | 1 + ...log_view_prompt_user_for_read_receipts.xml | 59 + .../layout/fragment_discussion_compose.xml | 95 +- .../layout/preference_widget_imageview.xml | 1 + .../layout/view_message_details_header.xml | 21 +- .../res/menu/menu_main_discussion_list.xml | 4 +- .../mipmap-anydpi-v26/ic_launcher_black.xml | 5 + .../ic_launcher_blue_hollow.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_bubbles.xml | 5 + .../res/mipmap-anydpi-v26/ic_launcher_gem.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_ghost.xml | 5 + .../ic_launcher_gradient.xml | 5 + .../ic_launcher_gradient_light_blue.xml | 5 + .../ic_launcher_gradient_purple.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_rainbow.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_rosace.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_weather.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_white.xml | 5 + .../app/src/main/res/values-fr/strings.xml | 54 +- .../values/ic_launcher_black_background.xml | 4 + .../ic_launcher_blue_hollow_background.xml | 4 + .../values/ic_launcher_bubbles_background.xml | 4 + .../res/values/ic_launcher_gem_background.xml | 4 + .../values/ic_launcher_ghost_background.xml | 4 + ...auncher_gradient_light_blue_background.xml | 4 + .../values/ic_launcher_white_background.xml | 4 + .../app/src/main/res/values/refs.xml | 2 + .../app/src/main/res/values/strings.xml | 58 +- .../app/src/main/res/values/styles.xml | 15 +- .../res/xml/fragment_preferences_app_icon.xml | 17 + .../fragment_preferences_customization.xml | 15 +- .../res/xml/fragment_preferences_lock.xml | 8 + obv_messenger/build.gradle | 2 +- obv_messenger/sardine-android/build.gradle | 2 +- 218 files changed, 7797 insertions(+), 1067 deletions(-) create mode 100644 obv_engine/engine/src/main/java/io/olvid/engine/datatypes/containers/IdentityAndLong.java create mode 100644 obv_engine/engine/src/main/java/io/olvid/engine/datatypes/containers/StringAndLong.java create mode 100644 obv_engine/engine/src/main/java/io/olvid/engine/datatypes/containers/UidAndBoolean.java create mode 100644 obv_messenger/app/schemas/io.olvid.messenger.databases.AppDatabase/67.json create mode 100644 obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/DatabaseKey.kt create mode 100644 obv_messenger/app/src/main/java/io/olvid/messenger/databases/GlobalSearchTokenizer.kt create mode 100644 obv_messenger/app/src/main/java/io/olvid/messenger/databases/entity/FyleMessageJoinWithStatusFTS.kt create mode 100644 obv_messenger/app/src/main/java/io/olvid/messenger/databases/entity/MessageFTS.kt create mode 100644 obv_messenger/app/src/main/java/io/olvid/messenger/discussion/compose/SoundWave.kt create mode 100644 obv_messenger/app/src/main/java/io/olvid/messenger/discussion/gallery/FyleListItem.kt create mode 100644 obv_messenger/app/src/main/java/io/olvid/messenger/main/search/GlobalSearchScreen.kt create mode 100644 obv_messenger/app/src/main/java/io/olvid/messenger/main/search/GlobalSearchViewModel.kt create mode 100644 obv_messenger/app/src/main/java/io/olvid/messenger/main/search/LinkListItem.kt create mode 100644 obv_messenger/app/src/main/java/io/olvid/messenger/settings/AppIconSetting.kt create mode 100644 obv_messenger/app/src/main/java/io/olvid/messenger/settings/AppIconSettingsPreferenceFragment.kt create mode 100755 obv_messenger/app/src/main/jniLibs/arm64-v8a/libcrypto_1_1.so create mode 100755 obv_messenger/app/src/main/jniLibs/armeabi-v7a/libcrypto_1_1.so create mode 100755 obv_messenger/app/src/main/jniLibs/x86/libcrypto_1_1.so create mode 100755 obv_messenger/app/src/main/jniLibs/x86_64/libcrypto_1_1.so create mode 100644 obv_messenger/app/src/main/res/drawable-v24/ic_launcher_gem_foreground.xml create mode 100644 obv_messenger/app/src/main/res/drawable-v24/ic_launcher_gradient_light_blue_foreground.xml create mode 100644 obv_messenger/app/src/main/res/drawable-v24/ic_launcher_gradient_purple_background.xml create mode 100644 obv_messenger/app/src/main/res/drawable-v24/ic_launcher_rosace_background.xml create mode 100644 obv_messenger/app/src/main/res/drawable-v24/ic_launcher_weather_foreground.xml create mode 100644 obv_messenger/app/src/main/res/drawable/background_gradient_weather.xml create mode 100644 obv_messenger/app/src/main/res/drawable/ic_launcher_bubbles_foreground.xml create mode 100644 obv_messenger/app/src/main/res/drawable/ic_launcher_ghost_foreground.xml create mode 100644 obv_messenger/app/src/main/res/drawable/ic_launcher_rainbow_background.xml create mode 100644 obv_messenger/app/src/main/res/drawable/ic_launcher_rosace_foreground.xml create mode 100644 obv_messenger/app/src/main/res/drawable/ic_launcher_white_foreground.xml create mode 100644 obv_messenger/app/src/main/res/drawable/ic_launcher_white_hollow_foreground.xml create mode 100644 obv_messenger/app/src/main/res/drawable/ic_phone_missed_out.xml create mode 100644 obv_messenger/app/src/main/res/drawable/ic_pref_app_icon.xml create mode 100644 obv_messenger/app/src/main/res/drawable/ic_search_anything.xml create mode 100644 obv_messenger/app/src/main/res/drawable/ic_stop.xml create mode 100644 obv_messenger/app/src/main/res/layout/dialog_view_prompt_user_for_read_receipts.xml create mode 100644 obv_messenger/app/src/main/res/mipmap-anydpi-v26/ic_launcher_black.xml create mode 100644 obv_messenger/app/src/main/res/mipmap-anydpi-v26/ic_launcher_blue_hollow.xml create mode 100644 obv_messenger/app/src/main/res/mipmap-anydpi-v26/ic_launcher_bubbles.xml create mode 100644 obv_messenger/app/src/main/res/mipmap-anydpi-v26/ic_launcher_gem.xml create mode 100644 obv_messenger/app/src/main/res/mipmap-anydpi-v26/ic_launcher_ghost.xml create mode 100644 obv_messenger/app/src/main/res/mipmap-anydpi-v26/ic_launcher_gradient.xml create mode 100644 obv_messenger/app/src/main/res/mipmap-anydpi-v26/ic_launcher_gradient_light_blue.xml create mode 100644 obv_messenger/app/src/main/res/mipmap-anydpi-v26/ic_launcher_gradient_purple.xml create mode 100644 obv_messenger/app/src/main/res/mipmap-anydpi-v26/ic_launcher_rainbow.xml create mode 100644 obv_messenger/app/src/main/res/mipmap-anydpi-v26/ic_launcher_rosace.xml create mode 100644 obv_messenger/app/src/main/res/mipmap-anydpi-v26/ic_launcher_weather.xml create mode 100644 obv_messenger/app/src/main/res/mipmap-anydpi-v26/ic_launcher_white.xml create mode 100644 obv_messenger/app/src/main/res/values/ic_launcher_black_background.xml create mode 100644 obv_messenger/app/src/main/res/values/ic_launcher_blue_hollow_background.xml create mode 100644 obv_messenger/app/src/main/res/values/ic_launcher_bubbles_background.xml create mode 100644 obv_messenger/app/src/main/res/values/ic_launcher_gem_background.xml create mode 100644 obv_messenger/app/src/main/res/values/ic_launcher_ghost_background.xml create mode 100644 obv_messenger/app/src/main/res/values/ic_launcher_gradient_light_blue_background.xml create mode 100644 obv_messenger/app/src/main/res/values/ic_launcher_white_background.xml create mode 100644 obv_messenger/app/src/main/res/values/refs.xml create mode 100644 obv_messenger/app/src/main/res/xml/fragment_preferences_app_icon.xml diff --git a/CHANGELOG.md b/CHANGELOG.md index d86390fe..c8ae0652 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,15 @@ -# Built 234 (2.0.1) +# Build 235 (2.1) +2024-04-25 + +- Implement global full text search across all discussions +- Encrypt databases with SQLCipher +- Updated voice message UI +- Allow to choose alternate app icons +- Fix various minor issues with video calls +- Allow using only the first name when mentioning someone (press backspace after inserting the mention) +- Batch operations for return receipts and message deletion from server + +# Build 234 (2.0.1) 2024-03-20 - Several improvements to the video calls UI @@ -680,7 +691,7 @@ - Edit your messages after they are sent - "Delete everywhere" any message - Send a single ephemeral messages -- [beta] Export your app databases for personnal forensics +- [beta] Export your app databases for personal forensics # Build 118 (0.9.4) 2021-02-13 diff --git a/obv_engine/engine/build.gradle b/obv_engine/engine/build.gradle index cfb50909..21dcbed8 100644 --- a/obv_engine/engine/build.gradle +++ b/obv_engine/engine/build.gradle @@ -9,8 +9,8 @@ dependencies { implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.4' implementation files('libs/sqlite-jdbc-3.45.1.0.jar') - implementation 'org.slf4j:slf4j-api:2.0.12' - implementation 'org.slf4j:slf4j-simple:2.0.12' + implementation 'org.slf4j:slf4j-api:2.0.13' + implementation 'org.slf4j:slf4j-simple:2.0.13' implementation 'org.bitbucket.b_c:jose4j:0.9.6' diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/channel/ChannelManager.java b/obv_engine/engine/src/main/java/io/olvid/engine/channel/ChannelManager.java index 66c5ea2e..94335c88 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/channel/ChannelManager.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/channel/ChannelManager.java @@ -45,9 +45,9 @@ import io.olvid.engine.datatypes.containers.NetworkReceivedMessage; import io.olvid.engine.metamanager.ChannelDelegate; import io.olvid.engine.metamanager.CreateSessionDelegate; +import io.olvid.engine.metamanager.EncryptionForIdentityDelegate; import io.olvid.engine.metamanager.FullRatchetProtocolStarterDelegate; import io.olvid.engine.metamanager.IdentityDelegate; -import io.olvid.engine.metamanager.EncryptionForIdentityDelegate; import io.olvid.engine.metamanager.MetaManager; import io.olvid.engine.metamanager.NetworkFetchDelegate; import io.olvid.engine.metamanager.NetworkSendDelegate; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/channel/databases/ObliviousChannel.java b/obv_engine/engine/src/main/java/io/olvid/engine/channel/databases/ObliviousChannel.java index 022fa352..c47fc2f5 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/channel/databases/ObliviousChannel.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/channel/databases/ObliviousChannel.java @@ -34,8 +34,6 @@ import io.olvid.engine.Logger; import io.olvid.engine.channel.datatypes.AuthEncKeyAndChannelInfo; import io.olvid.engine.channel.datatypes.ChannelManagerSession; -import io.olvid.engine.datatypes.Session; -import io.olvid.engine.datatypes.notifications.ChannelNotifications; import io.olvid.engine.channel.datatypes.NetworkChannel; import io.olvid.engine.channel.datatypes.RatchetingOutput; import io.olvid.engine.crypto.AuthEnc; @@ -44,11 +42,13 @@ import io.olvid.engine.crypto.PRNGService; import io.olvid.engine.crypto.Suite; import io.olvid.engine.crypto.exceptions.DecryptionException; +import io.olvid.engine.datatypes.Constants; import io.olvid.engine.datatypes.EncryptedBytes; import io.olvid.engine.datatypes.Identity; import io.olvid.engine.datatypes.KeyId; import io.olvid.engine.datatypes.ObvDatabase; import io.olvid.engine.datatypes.Seed; +import io.olvid.engine.datatypes.Session; import io.olvid.engine.datatypes.UID; import io.olvid.engine.datatypes.containers.ChannelMessageToSend; import io.olvid.engine.datatypes.containers.ChannelProtocolMessageToSend; @@ -58,9 +58,9 @@ import io.olvid.engine.datatypes.containers.ReceptionChannelInfo; import io.olvid.engine.datatypes.containers.SendChannelInfo; import io.olvid.engine.datatypes.key.symmetric.AuthEncKey; +import io.olvid.engine.datatypes.notifications.ChannelNotifications; import io.olvid.engine.encoder.DecodingException; import io.olvid.engine.encoder.Encoded; -import io.olvid.engine.datatypes.Constants; public class ObliviousChannel extends NetworkChannel implements ObvDatabase { diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/channel/databases/Provision.java b/obv_engine/engine/src/main/java/io/olvid/engine/channel/databases/Provision.java index 9da9d280..c99c8454 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/channel/databases/Provision.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/channel/databases/Provision.java @@ -29,13 +29,13 @@ import io.olvid.engine.channel.datatypes.ChannelManagerSession; import io.olvid.engine.channel.datatypes.RatchetingOutput; +import io.olvid.engine.datatypes.Constants; import io.olvid.engine.datatypes.Identity; import io.olvid.engine.datatypes.ObvDatabase; import io.olvid.engine.datatypes.Seed; import io.olvid.engine.datatypes.Session; import io.olvid.engine.datatypes.UID; import io.olvid.engine.encoder.DecodingException; -import io.olvid.engine.datatypes.Constants; public class Provision implements ObvDatabase { static final String TABLE_NAME = "provision"; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/channel/databases/ProvisionedKeyMaterial.java b/obv_engine/engine/src/main/java/io/olvid/engine/channel/databases/ProvisionedKeyMaterial.java index 78ad1238..391d63a6 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/channel/databases/ProvisionedKeyMaterial.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/channel/databases/ProvisionedKeyMaterial.java @@ -28,6 +28,7 @@ import java.util.List; import io.olvid.engine.channel.datatypes.ChannelManagerSession; +import io.olvid.engine.datatypes.Constants; import io.olvid.engine.datatypes.Identity; import io.olvid.engine.datatypes.KeyId; import io.olvid.engine.datatypes.ObvDatabase; @@ -36,7 +37,6 @@ import io.olvid.engine.datatypes.key.symmetric.AuthEncKey; import io.olvid.engine.encoder.DecodingException; import io.olvid.engine.encoder.Encoded; -import io.olvid.engine.datatypes.Constants; public class ProvisionedKeyMaterial implements ObvDatabase { diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/channel/datatypes/AsymmetricChannel.java b/obv_engine/engine/src/main/java/io/olvid/engine/channel/datatypes/AsymmetricChannel.java index a2fbfb98..36e9311f 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/channel/datatypes/AsymmetricChannel.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/channel/datatypes/AsymmetricChannel.java @@ -25,6 +25,7 @@ import java.util.List; import io.olvid.engine.crypto.PRNGService; +import io.olvid.engine.datatypes.Constants; import io.olvid.engine.datatypes.EncryptedBytes; import io.olvid.engine.datatypes.Identity; import io.olvid.engine.datatypes.UID; @@ -35,7 +36,6 @@ import io.olvid.engine.datatypes.containers.ReceptionChannelInfo; import io.olvid.engine.datatypes.containers.SendChannelInfo; import io.olvid.engine.datatypes.key.symmetric.AuthEncKey; -import io.olvid.engine.datatypes.Constants; import io.olvid.engine.metamanager.EncryptionForIdentityDelegate; public class AsymmetricChannel extends NetworkChannel { diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/Constants.java b/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/Constants.java index a0a989e3..dd1aa937 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/Constants.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/Constants.java @@ -24,11 +24,12 @@ public abstract class Constants { public static final int CURRENT_ENGINE_DB_SCHEMA_VERSION = 38; - public static final int SERVER_API_VERSION = 16; + public static final int SERVER_API_VERSION = 17; public static final int CURRENT_BACKUP_JSON_VERSION = 0; // files / folders public static final String ENGINE_DB_FILENAME = "engine_db.sqlite"; + public static final String TMP_ENGINE_ENCRYPTED_DB_FILENAME = "engine_encrypted_db.sqlite"; public static final String INBOUND_ATTACHMENTS_DIRECTORY = "inbound_attachments"; public static final String IDENTITY_PHOTOS_DIRECTORY = "identity_photos"; public static final String DOWNLOADED_USER_DATA_DIRECTORY = "downloaded_user_data"; @@ -89,6 +90,8 @@ public abstract class Constants { public static final int DEFAULT_ATTACHMENT_CHUNK_LENGTH = 4*2048*1024; public static final int MAX_MESSAGE_EXTENDED_CONTENT_LENGTH = 50 * 1024; public static final int MAX_UPLOAD_MESSAGE_BATCH_SIZE = 50; + public static final int MAX_UPLOAD_RETURN_RECEIPT_BATCH_SIZE = 50; + public static final int MAX_DELETE_MESSAGE_ON_SERVER_BATCH_SIZE = 50; public static final UID BROADCAST_UID = new UID(new byte[]{(byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff}); diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/Operation.java b/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/Operation.java index 8196db43..adba3714 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/Operation.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/Operation.java @@ -78,7 +78,7 @@ public Operation(UID uid, OnFinishCallback onFinishCallback, OnCancelCallback on } public String toString() { - return "Operation of type " + this.getClass().getName() + "\n\tStatus: " + this.state; + return "Operation of type " + this.getClass().getName() + "(" + System.identityHashCode(this) + ")\n\tStatus: " + this.state; } public UID getUid() { diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/Session.java b/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/Session.java index 2b9de635..c8dfc455 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/Session.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/Session.java @@ -81,13 +81,14 @@ public class Session implements Connection { private Session(String dbPath, String dbKey, boolean sessionIsForUpgradeTables) throws SQLException { if (dbPath == null) { - throw new SQLException("dbPath is null, unable to createCurrentDevice a Session."); + throw new SQLException("dbPath is null, unable to create a Session."); } this.dbPath = dbPath; this.sessionCommitListeners = new LinkedHashSet<>(); this.sessionIsForUpgradeTable = sessionIsForUpgradeTables; Properties properties = new Properties(); properties.setProperty("secure_delete", "on"); + properties.setProperty("temp_store", "2"); // properties.setProperty("journal_mode", "WAL"); // we comment for now. There Was a bug on API 28 during 15 -> 16 migration if (dbKey != null) { properties.setProperty("password", dbKey); @@ -136,6 +137,17 @@ public void startTransaction() throws SQLException { connection.setAutoCommit(false); } + public static boolean databaseIsReadable(String dbPath, String dbKey) { + try (Session session = new Session(dbPath, dbKey, true)) { + try (Statement statement = session.createStatement()) { + statement.execute("SELECT count(*) FROM sqlite_master;"); + } + return true; + } catch (SQLException e) { + return false; + } + } + @Override public void commit() throws SQLException { if (!connection.getAutoCommit()) { diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/containers/DialogType.java b/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/containers/DialogType.java index 07b3f4e5..84892809 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/containers/DialogType.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/containers/DialogType.java @@ -23,8 +23,8 @@ import io.olvid.engine.datatypes.Identity; import io.olvid.engine.datatypes.UID; import io.olvid.engine.engine.types.ObvTransferStep; -import io.olvid.engine.engine.types.sync.ObvSyncAtom; import io.olvid.engine.engine.types.identities.ObvGroupV2; +import io.olvid.engine.engine.types.sync.ObvSyncAtom; public class DialogType { public static final int DELETE_DIALOG_ID = -1; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/containers/IdentityAndLong.java b/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/containers/IdentityAndLong.java new file mode 100644 index 00000000..f0c029ab --- /dev/null +++ b/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/containers/IdentityAndLong.java @@ -0,0 +1,52 @@ +/* + * Olvid for Android + * Copyright © 2019-2024 Olvid SAS + * + * This file is part of Olvid for Android. + * + * Olvid is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * Olvid is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Olvid. If not, see . + */ + +package io.olvid.engine.datatypes.containers; + +import io.olvid.engine.datatypes.Identity; + +public class IdentityAndLong { + public final Identity identity; + public final long lng; + + public IdentityAndLong(Identity identity, long lng) { + this.identity = identity; + this.lng = lng; + } + + @Override + public boolean equals(Object o) { + if (!(o instanceof IdentityAndLong)) { + return false; + } + IdentityAndLong other = (IdentityAndLong) o; + return identity.equals(other.identity) && lng == other.lng; + } + + @Override + public int hashCode() { + return identity.hashCode() * 31 + Long.hashCode(lng); + } + + @Override + public String toString() { + return identity + " - " + lng; + } +} + diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/containers/StringAndLong.java b/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/containers/StringAndLong.java new file mode 100644 index 00000000..e4f32f7e --- /dev/null +++ b/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/containers/StringAndLong.java @@ -0,0 +1,45 @@ +/* + * Olvid for Android + * Copyright © 2019-2024 Olvid SAS + * + * This file is part of Olvid for Android. + * + * Olvid is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * Olvid is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Olvid. If not, see . + */ + +package io.olvid.engine.datatypes.containers; + + +public class StringAndLong { + public final String string; + public final long lng; + + public StringAndLong(String string, long lng) { + this.string = string; + this.lng = lng; + } + + @Override + public boolean equals(Object o) { + if (!(o instanceof StringAndLong)) { + return false; + } + StringAndLong other = (StringAndLong) o; + return string.equals(other.string) && lng == other.lng; + } + + @Override + public int hashCode() { + return string.hashCode() * 31 + Long.hashCode(lng); + } +} diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/containers/UidAndBoolean.java b/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/containers/UidAndBoolean.java new file mode 100644 index 00000000..725ff382 --- /dev/null +++ b/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/containers/UidAndBoolean.java @@ -0,0 +1,51 @@ +/* + * Olvid for Android + * Copyright © 2019-2024 Olvid SAS + * + * This file is part of Olvid for Android. + * + * Olvid is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * Olvid is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Olvid. If not, see . + */ + +package io.olvid.engine.datatypes.containers; + +import io.olvid.engine.datatypes.UID; + +public class UidAndBoolean { + public final UID uid; + public final boolean bool; + + public UidAndBoolean(UID uid, boolean bool) { + this.uid = uid; + this.bool = bool; + } + + @Override + public int hashCode() { + return uid.hashCode() * 31 + Boolean.hashCode(bool); + } + + @Override + public boolean equals(Object obj) { + if (!(obj instanceof UidAndBoolean)) { + return false; + } + UidAndBoolean other = (UidAndBoolean) obj; + return uid.equals(other.uid) && bool == other.bool; + } + + @Override + public String toString() { + return uid + " - " + bool; + } +} diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/notifications/DownloadNotifications.java b/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/notifications/DownloadNotifications.java index 61412f8a..109331b3 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/notifications/DownloadNotifications.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/datatypes/notifications/DownloadNotifications.java @@ -53,6 +53,7 @@ public abstract class DownloadNotifications { public static final String NOTIFICATION_ATTACHMENT_DOWNLOAD_FAILED_MESSAGE_UID_KEY = "messageUid"; // UID public static final String NOTIFICATION_ATTACHMENT_DOWNLOAD_FAILED_ATTACHMENT_NUMBER_KEY = "attachmentNumber"; + public static final String NOTIFICATION_SERVER_SESSION_EXISTS = "network_fetch_notification_server_session_exists"; // used instead of created during initial queueing to refresh api key status in app public static final String NOTIFICATION_SERVER_SESSION_CREATED = "network_fetch_notification_server_session_created"; public static final String NOTIFICATION_SERVER_SESSION_CREATED_IDENTITY_KEY = "identity"; public static final String NOTIFICATION_SERVER_SESSION_CREATED_API_KEY_STATUS_KEY = "api_key_status"; // ServerSession.ApiKeyStatus @@ -60,10 +61,15 @@ public abstract class DownloadNotifications { public static final String NOTIFICATION_SERVER_SESSION_CREATED_API_KEY_EXPIRATION_TIMESTAMP_KEY = "api_key_expiration_timestamp"; // long -> 0 means no expiration + public static final String NOTIFICATION_SERVER_POLL_REQUESTED = "network_fetch_notification_server_poll_requested"; + public static final String NOTIFICATION_SERVER_POLL_REQUESTED_OWNED_IDENTITY_KEY = "owned_identity"; + public static final String NOTIFICATION_SERVER_POLL_REQUESTED_USER_INITIATED_KEY = "user_initiated"; + public static final String NOTIFICATION_SERVER_POLLED = "network_fetch_notification_server_polled"; public static final String NOTIFICATION_SERVER_POLLED_OWNED_IDENTITY_KEY = "owned_identity"; public static final String NOTIFICATION_SERVER_POLLED_SUCCESS_KEY = "success"; - + public static final String NOTIFICATION_SERVER_POLLED_TRUNCATED_KEY = "truncated"; + public static final String NOTIFICATION_INBOX_ATTACHMENT_SIGNED_URL_REFRESHED = "network_fetch_notification_signed_url_refreshed"; public static final String NOTIFICATION_INBOX_ATTACHMENT_SIGNED_URL_REFRESHED_OWNED_IDENTITY_KEY = "owned_identity"; // Identity public static final String NOTIFICATION_INBOX_ATTACHMENT_SIGNED_URL_REFRESHED_MESSAGE_UID_KEY = "message_uid"; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/engine/Engine.java b/obv_engine/engine/src/main/java/io/olvid/engine/engine/Engine.java index 7351fb85..2f028f06 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/engine/Engine.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/engine/Engine.java @@ -49,30 +49,30 @@ import io.olvid.engine.backup.BackupManager; import io.olvid.engine.channel.ChannelManager; import io.olvid.engine.crypto.AuthEnc; +import io.olvid.engine.crypto.PRNGService; import io.olvid.engine.crypto.Signature; +import io.olvid.engine.crypto.Suite; import io.olvid.engine.datatypes.Constants; import io.olvid.engine.datatypes.DictionaryKey; import io.olvid.engine.datatypes.EncryptedBytes; +import io.olvid.engine.datatypes.Identity; import io.olvid.engine.datatypes.OperationQueue; +import io.olvid.engine.datatypes.PushNotificationTypeAndParameters; +import io.olvid.engine.datatypes.Session; import io.olvid.engine.datatypes.TrustLevel; +import io.olvid.engine.datatypes.UID; +import io.olvid.engine.datatypes.containers.ChannelApplicationMessageToSend; +import io.olvid.engine.datatypes.containers.ChannelDialogMessageToSend; +import io.olvid.engine.datatypes.containers.ChannelDialogResponseMessageToSend; +import io.olvid.engine.datatypes.containers.DialogType; import io.olvid.engine.datatypes.containers.GroupV2; import io.olvid.engine.datatypes.containers.GroupWithDetails; -import io.olvid.engine.datatypes.PushNotificationTypeAndParameters; import io.olvid.engine.datatypes.containers.IdentityWithSerializedDetails; import io.olvid.engine.datatypes.containers.ServerQuery; import io.olvid.engine.datatypes.containers.TrustOrigin; import io.olvid.engine.datatypes.key.asymmetric.EncryptionEciesMDCKeyPair; import io.olvid.engine.datatypes.key.asymmetric.ServerAuthenticationECSdsaMDCKeyPair; import io.olvid.engine.datatypes.key.symmetric.AuthEncKey; -import io.olvid.engine.crypto.PRNGService; -import io.olvid.engine.crypto.Suite; -import io.olvid.engine.datatypes.Identity; -import io.olvid.engine.datatypes.Session; -import io.olvid.engine.datatypes.UID; -import io.olvid.engine.datatypes.containers.ChannelApplicationMessageToSend; -import io.olvid.engine.datatypes.containers.ChannelDialogMessageToSend; -import io.olvid.engine.datatypes.containers.ChannelDialogResponseMessageToSend; -import io.olvid.engine.datatypes.containers.DialogType; import io.olvid.engine.encoder.DecodingException; import io.olvid.engine.encoder.Encoded; import io.olvid.engine.engine.databases.EngineDbSchemaVersion; @@ -81,6 +81,8 @@ import io.olvid.engine.engine.datatypes.EngineSessionFactory; import io.olvid.engine.engine.datatypes.UserInterfaceDialogListener; import io.olvid.engine.engine.types.EngineAPI; +import io.olvid.engine.engine.types.EngineNotificationListener; +import io.olvid.engine.engine.types.EngineNotifications; import io.olvid.engine.engine.types.JsonGroupDetails; import io.olvid.engine.engine.types.JsonGroupDetailsWithVersionAndPhoto; import io.olvid.engine.engine.types.JsonIdentityDetails; @@ -94,23 +96,21 @@ import io.olvid.engine.engine.types.ObvDeviceList; import io.olvid.engine.engine.types.ObvDeviceManagementRequest; import io.olvid.engine.engine.types.ObvDialog; -import io.olvid.engine.engine.types.EngineNotificationListener; -import io.olvid.engine.engine.types.EngineNotifications; +import io.olvid.engine.engine.types.ObvOutboundAttachment; +import io.olvid.engine.engine.types.ObvPostMessageOutput; import io.olvid.engine.engine.types.ObvPushNotificationType; -import io.olvid.engine.engine.types.sync.ObvBackupAndSyncDelegate; -import io.olvid.engine.engine.types.sync.ObvSyncAtom; +import io.olvid.engine.engine.types.ObvReturnReceipt; import io.olvid.engine.engine.types.RegisterApiKeyResult; import io.olvid.engine.engine.types.identities.ObvContactActiveOrInactiveReason; +import io.olvid.engine.engine.types.identities.ObvGroup; import io.olvid.engine.engine.types.identities.ObvGroupV2; +import io.olvid.engine.engine.types.identities.ObvIdentity; +import io.olvid.engine.engine.types.identities.ObvKeycloakState; import io.olvid.engine.engine.types.identities.ObvMutualScanUrl; -import io.olvid.engine.engine.types.ObvOutboundAttachment; -import io.olvid.engine.engine.types.ObvPostMessageOutput; -import io.olvid.engine.engine.types.ObvReturnReceipt; import io.olvid.engine.engine.types.identities.ObvOwnedDevice; import io.olvid.engine.engine.types.identities.ObvTrustOrigin; -import io.olvid.engine.engine.types.identities.ObvGroup; -import io.olvid.engine.engine.types.identities.ObvIdentity; -import io.olvid.engine.engine.types.identities.ObvKeycloakState; +import io.olvid.engine.engine.types.sync.ObvBackupAndSyncDelegate; +import io.olvid.engine.engine.types.sync.ObvSyncAtom; import io.olvid.engine.identity.IdentityManager; import io.olvid.engine.metamanager.CreateSessionDelegate; import io.olvid.engine.metamanager.EngineOwnedIdentityCleanupDelegate; @@ -135,7 +135,7 @@ public class Engine implements UserInterfaceDialogListener, EngineSessionFactory private final String dbPath; - @SuppressWarnings({"FieldCanBeLocal", "unused"}) // will be used once we use SQL cipher + @SuppressWarnings({"FieldCanBeLocal", "unused"}) private final String dbKey; private final CreateSessionDelegate createSessionDelegate; @@ -186,6 +186,43 @@ public Engine(File baseDirectory, ObvBackupAndSyncDelegate appBackupAndSyncDeleg userDataDirectory.mkdir(); + // check whether the database is already encrypted with dbKey + if (dbKey != null && !Session.databaseIsReadable(dbPath, dbKey)) { + // database may not yet be encrypted, try to encrypt it + try { + Logger.i("Engine database may need to be encrypted"); + long startTime = System.currentTimeMillis(); + + File dbFile = new File(baseDirectory, Constants.ENGINE_DB_FILENAME); + File tmpEncryptedDbFile = new File(baseDirectory, Constants.TMP_ENGINE_ENCRYPTED_DB_FILENAME); + + try (Session session = Session.getUpgradeTablesSession(dbPath, null)) { + try (Statement statement = session.createStatement()) { + statement.execute("ATTACH DATABASE '" + tmpEncryptedDbFile.getPath() + "' AS encrypted KEY \"" + dbKey + "\";"); + statement.execute("SELECT sqlcipher_export('encrypted');"); + statement.execute("DETACH DATABASE encrypted;"); + } + } + + boolean deleted = dbFile.delete(); + if (deleted) { + boolean renamed = tmpEncryptedDbFile.renameTo(dbFile); + if (renamed) { + Logger.i("Engine database encryption successful (took " + (System.currentTimeMillis() - startTime) + "ms)"); + } else { + // If we reach this, data is probably lost... + Logger.e("Engine database encryption error: Unable to rename encrypted database!"); + } + } else { + throw new RuntimeException("Engine database encryption error: unable to delete unencrypted database!"); + } + } catch (Exception fatal) { + // database is encrypted but not with the provided dbKey! + throw new RuntimeException("Database seems encrypted but cannot be opened with provided dbKey", fatal); + } + } + + // check whether a database upgrade is required try (Session session = Session.getUpgradeTablesSession(dbPath, dbKey)) { session.startTransaction(); @@ -2480,6 +2517,7 @@ public void propagateAppSyncAtomToOtherDevicesIfNeeded(byte[] bytesOwnedIdentity } } + @SuppressWarnings("UnusedReturnValue") private boolean propagateEngineSyncAtomToOtherDevicesIfNeeded(Session session, Identity ownedIdentity, ObvSyncAtom obvSyncAtom) throws Exception { // the App should never be sending a non-app sync item if (obvSyncAtom.isAppSyncItem()) { @@ -2522,8 +2560,10 @@ public void setAllOwnedDeviceNames(String deviceName) { @Override public void vacuumDatabase() throws Exception { try (EngineSession engineSession = getSession()) { - Statement statement = engineSession.session.createStatement(); - statement.execute("VACUUM"); + try (Statement statement = engineSession.session.createStatement()) { + statement.execute("VACUUM"); + engineSession.session.commit(); + } } } diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/engine/NotificationListenerDownloads.java b/obv_engine/engine/src/main/java/io/olvid/engine/engine/NotificationListenerDownloads.java index 8a34f38a..309c2642 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/engine/NotificationListenerDownloads.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/engine/NotificationListenerDownloads.java @@ -54,8 +54,10 @@ void registerToNotifications(NotificationManager notificationManager) { DownloadNotifications.NOTIFICATION_ATTACHMENT_DOWNLOAD_FINISHED, DownloadNotifications.NOTIFICATION_ATTACHMENT_DOWNLOAD_PROGRESS, DownloadNotifications.NOTIFICATION_ATTACHMENT_DOWNLOAD_WAS_PAUSED, + DownloadNotifications.NOTIFICATION_SERVER_SESSION_EXISTS, DownloadNotifications.NOTIFICATION_SERVER_SESSION_CREATED, // DownloadNotifications.NOTIFICATION_API_KEY_REJECTED_BY_SERVER, + DownloadNotifications.NOTIFICATION_SERVER_POLL_REQUESTED, DownloadNotifications.NOTIFICATION_SERVER_POLLED, DownloadNotifications.NOTIFICATION_RETURN_RECEIPT_RECEIVED, DownloadNotifications.NOTIFICATION_TURN_CREDENTIALS_RECEIVED, @@ -162,6 +164,7 @@ public void callback(String notificationName, HashMap userInfo) engine.postEngineNotification(EngineNotifications.ATTACHMENT_DOWNLOAD_PROGRESS, engineInfo); break; } + case DownloadNotifications.NOTIFICATION_SERVER_SESSION_EXISTS: case DownloadNotifications.NOTIFICATION_SERVER_SESSION_CREATED: { Identity ownedIdentity = (Identity) userInfo.get(DownloadNotifications.NOTIFICATION_SERVER_SESSION_CREATED_IDENTITY_KEY); ServerSession.ApiKeyStatus apiKeyStatus = (ServerSession.ApiKeyStatus) userInfo.get(DownloadNotifications.NOTIFICATION_SERVER_SESSION_CREATED_API_KEY_STATUS_KEY); @@ -224,9 +227,23 @@ public void callback(String notificationName, HashMap userInfo) engine.postEngineNotification(EngineNotifications.API_KEY_ACCEPTED, engineInfo); break; } + case DownloadNotifications.NOTIFICATION_SERVER_POLL_REQUESTED: { + Identity ownedIdentity = (Identity) userInfo.get(DownloadNotifications.NOTIFICATION_SERVER_POLL_REQUESTED_OWNED_IDENTITY_KEY); + boolean user_initiated = (boolean) userInfo.get(DownloadNotifications.NOTIFICATION_SERVER_POLL_REQUESTED_USER_INITIATED_KEY); + if (ownedIdentity == null) { + break; + } + + HashMap engineInfo = new HashMap<>(); + engineInfo.put(EngineNotifications.SERVER_POLL_REQUESTED_BYTES_OWNED_IDENTITY_KEY, ownedIdentity.getBytes()); + engineInfo.put(EngineNotifications.SERVER_POLL_REQUESTED_USER_INITIATED_KEY, user_initiated); + engine.postEngineNotification(EngineNotifications.SERVER_POLL_REQUESTED, engineInfo); + break; + } case DownloadNotifications.NOTIFICATION_SERVER_POLLED: { Identity ownedIdentity = (Identity) userInfo.get(DownloadNotifications.NOTIFICATION_SERVER_POLLED_OWNED_IDENTITY_KEY); boolean success = (boolean) userInfo.get(DownloadNotifications.NOTIFICATION_SERVER_POLLED_SUCCESS_KEY); + boolean truncated = (boolean) userInfo.get(DownloadNotifications.NOTIFICATION_SERVER_POLLED_TRUNCATED_KEY); if (ownedIdentity == null) { break; } @@ -234,6 +251,7 @@ public void callback(String notificationName, HashMap userInfo) HashMap engineInfo = new HashMap<>(); engineInfo.put(EngineNotifications.SERVER_POLLED_BYTES_OWNED_IDENTITY_KEY, ownedIdentity.getBytes()); engineInfo.put(EngineNotifications.SERVER_POLLED_SUCCESS_KEY, success); + engineInfo.put(EngineNotifications.SERVER_POLLED_TRUNCATED_KEY, truncated); engine.postEngineNotification(EngineNotifications.SERVER_POLLED, engineInfo); break; } diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/engine/NotificationListenerUploads.java b/obv_engine/engine/src/main/java/io/olvid/engine/engine/NotificationListenerUploads.java index 06effc64..a2ae0c46 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/engine/NotificationListenerUploads.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/engine/NotificationListenerUploads.java @@ -26,7 +26,6 @@ import io.olvid.engine.datatypes.NotificationListener; import io.olvid.engine.datatypes.UID; import io.olvid.engine.datatypes.notifications.UploadNotifications; -import io.olvid.engine.engine.Engine; import io.olvid.engine.engine.types.EngineNotifications; import io.olvid.engine.notification.NotificationManager; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/engine/datatypes/EngineSessionFactory.java b/obv_engine/engine/src/main/java/io/olvid/engine/engine/datatypes/EngineSessionFactory.java index ce01861e..9b4973a5 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/engine/datatypes/EngineSessionFactory.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/engine/datatypes/EngineSessionFactory.java @@ -21,8 +21,6 @@ import java.sql.SQLException; -import io.olvid.engine.engine.datatypes.EngineSession; - public interface EngineSessionFactory { EngineSession getSession() throws SQLException; } diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/engine/types/EngineNotifications.java b/obv_engine/engine/src/main/java/io/olvid/engine/engine/types/EngineNotifications.java index f3ea22af..332bba0c 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/engine/types/EngineNotifications.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/engine/types/EngineNotifications.java @@ -28,9 +28,14 @@ public abstract class EngineNotifications { public static final String UI_DIALOG_DIALOG_KEY = "dialog"; // ObvDialog public static final String UI_DIALOG_CREATION_TIMESTAMP_KEY = "creation_timestamp"; // long + public static final String SERVER_POLL_REQUESTED = "engine_notification_server_poll_requested"; + public static final String SERVER_POLL_REQUESTED_BYTES_OWNED_IDENTITY_KEY = "bytes_owned_identity"; // byte[] + public static final String SERVER_POLL_REQUESTED_USER_INITIATED_KEY = "user_initiated"; // boolean + public static final String SERVER_POLLED = "engine_notification_server_polled"; public static final String SERVER_POLLED_BYTES_OWNED_IDENTITY_KEY = "bytes_owned_identity"; // byte[] public static final String SERVER_POLLED_SUCCESS_KEY = "success"; // boolean + public static final String SERVER_POLLED_TRUNCATED_KEY = "truncated"; // boolean --> if success == true, this indicates whether there are still some messages to list on the server public static final String NEW_MESSAGE_RECEIVED = "engine_notification_new_message_received"; public static final String NEW_MESSAGE_RECEIVED_MESSAGE_KEY = "message"; // ObvMessage diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/engine/types/JsonIdentityDetails.java b/obv_engine/engine/src/main/java/io/olvid/engine/engine/types/JsonIdentityDetails.java index 8a3acfc0..92722d65 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/engine/types/JsonIdentityDetails.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/engine/types/JsonIdentityDetails.java @@ -25,6 +25,8 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +import org.jetbrains.annotations.Nullable; + import java.util.HashMap; import java.util.Objects; @@ -204,6 +206,7 @@ public String formatFirstAndLastName(String format, boolean uppercaseLastName) { } @JsonIgnore + @Nullable public String formatPositionAndCompany(@SuppressWarnings("unused") String format) { // for now, format is not used, but it may become necessary if new formats are added return joinCompany(position, company); @@ -288,6 +291,11 @@ public boolean fieldsAreTheSame(JsonIdentityDetails other) { return Objects.equals(customFields, other.customFields); } + @JsonIgnore + public boolean firstAndLastNamesAreTheSame(JsonIdentityDetails other) { + return Objects.equals(firstName, other.firstName) && Objects.equals(lastName, other.lastName); + } + private static String getSignatureKid(ObjectMapper objectMapper, String signature) { if (signature != null) { diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/identity/IdentityManager.java b/obv_engine/engine/src/main/java/io/olvid/engine/identity/IdentityManager.java index 29a5f911..24461e20 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/identity/IdentityManager.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/identity/IdentityManager.java @@ -1035,6 +1035,9 @@ public int unbindOwnedIdentityFromKeycloak(Session session, Identity ownedIdenti // update owned identity details to remove signed part JsonIdentityDetails jsonIdentityDetails = ownedIdentityObject.getPublishedDetails().getJsonIdentityDetails(); jsonIdentityDetails.setSignedUserDetails(null); + // also remove position and company + jsonIdentityDetails.setPosition(null); + jsonIdentityDetails.setCompany(null); ownedIdentityObject.discardLatestDetails(); ownedIdentityObject.setLatestDetails(jsonIdentityDetails); @@ -1790,7 +1793,7 @@ private List getContactCapabilities(IdentityManagerSession identi if (deviceCapabilities == null) { continue; } - if (deviceCapabilities.size() == 0) { + if (deviceCapabilities.isEmpty()) { return new ArrayList<>(); } if (contactCapabilities == null) { @@ -1841,7 +1844,7 @@ public List getOwnCapabilities(Identity ownedIdentity) throws SQL // skip this device, we do not know its capabilities yet continue; } - if (deviceCapabilities.size() == 0) { + if (deviceCapabilities.isEmpty()) { return new ArrayList<>(); } ownCapabilities.retainAll(deviceCapabilities); diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/identity/databases/ContactDevice.java b/obv_engine/engine/src/main/java/io/olvid/engine/identity/databases/ContactDevice.java index ad9bab6b..2dfe0107 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/identity/databases/ContactDevice.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/identity/databases/ContactDevice.java @@ -32,10 +32,10 @@ import io.olvid.engine.datatypes.ObvDatabase; import io.olvid.engine.datatypes.Session; import io.olvid.engine.datatypes.UID; +import io.olvid.engine.datatypes.notifications.IdentityNotifications; import io.olvid.engine.encoder.DecodingException; import io.olvid.engine.engine.types.ObvCapability; import io.olvid.engine.identity.datatypes.IdentityManagerSession; -import io.olvid.engine.datatypes.notifications.IdentityNotifications; @SuppressWarnings("FieldMayBeFinal") @@ -168,8 +168,10 @@ public void delete() throws SQLException { statement.setBytes(2, contactIdentity.getBytes()); statement.setBytes(3, ownedIdentity.getBytes()); statement.executeUpdate(); - commitHookBits |= HOOK_BIT_CAPABILITIES_UPDATED; - identityManagerSession.session.addSessionCommitListener(this); + if (serializedDeviceCapabilities != null) { + commitHookBits |= HOOK_BIT_CAPABILITIES_UPDATED; + identityManagerSession.session.addSessionCommitListener(this); + } } } diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/identity/databases/ContactIdentity.java b/obv_engine/engine/src/main/java/io/olvid/engine/identity/databases/ContactIdentity.java index 9dab32f3..569186eb 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/identity/databases/ContactIdentity.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/identity/databases/ContactIdentity.java @@ -44,17 +44,17 @@ import io.olvid.engine.datatypes.Identity; import io.olvid.engine.datatypes.ObvDatabase; import io.olvid.engine.datatypes.Session; +import io.olvid.engine.datatypes.TrustLevel; import io.olvid.engine.datatypes.UID; import io.olvid.engine.datatypes.containers.TrustOrigin; import io.olvid.engine.datatypes.key.symmetric.AuthEncKey; +import io.olvid.engine.datatypes.notifications.IdentityNotifications; import io.olvid.engine.encoder.DecodingException; import io.olvid.engine.encoder.Encoded; import io.olvid.engine.engine.types.JsonIdentityDetails; import io.olvid.engine.engine.types.JsonIdentityDetailsWithVersionAndPhoto; import io.olvid.engine.engine.types.JsonKeycloakUserDetails; import io.olvid.engine.identity.datatypes.IdentityManagerSession; -import io.olvid.engine.datatypes.notifications.IdentityNotifications; -import io.olvid.engine.datatypes.TrustLevel; @SuppressWarnings("FieldMayBeFinal") @@ -285,6 +285,7 @@ public void updatePublishedDetails(JsonIdentityDetailsWithVersionAndPhoto jsonId if (jsonIdentityDetailsWithVersionAndPhoto.getIdentityDetails().getSignedUserDetails() != null) { JsonKeycloakUserDetails jsonKeycloakUserDetails = identityManagerSession.identityDelegate.verifyKeycloakSignature(identityManagerSession.session, ownedIdentity, jsonIdentityDetailsWithVersionAndPhoto.getIdentityDetails().getSignedUserDetails()); if (jsonKeycloakUserDetails != null) { + // the details are properly signed --> the call to markContactAsCertifiedByOwnKeycloak() will auto-trust the new details, so we can return JsonIdentityDetails certifiedJsonIdentityDetails = jsonKeycloakUserDetails.getIdentityDetails(jsonIdentityDetailsWithVersionAndPhoto.getIdentityDetails().getSignedUserDetails()); markContactAsCertifiedByOwnKeycloak(certifiedJsonIdentityDetails); return; @@ -298,13 +299,13 @@ public void updatePublishedDetails(JsonIdentityDetailsWithVersionAndPhoto jsonId /////// // compare the old (trusted) and the new published details - // --> if only the signature change, directly trust + // --> if only the signature/position/company changed, directly trust // note that for signed details, it is already auto-trusted in markContactAsCertifiedByOwnKeycloak() /////// if (trustedDetailsVersion != publishedDetailsVersion) { ContactIdentityDetails trustedDetails = getTrustedDetails(); ContactIdentityDetails publishedDetails = getPublishedDetails(); - boolean same = publishedDetails.getJsonIdentityDetails().fieldsAreTheSame(trustedDetails.getJsonIdentityDetails()); + boolean same = publishedDetails.getJsonIdentityDetails().firstAndLastNamesAreTheSame(trustedDetails.getJsonIdentityDetails()); if (same) { // check whether we are during the first channel creation --> in that case the trustedDetailsVersion is -1 and we auto trust even if the photo changed (it's always null for version 0) if (trustedDetailsVersion != -1) { diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/identity/databases/ContactTrustOrigin.java b/obv_engine/engine/src/main/java/io/olvid/engine/identity/databases/ContactTrustOrigin.java index 606cab2d..7453ef9d 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/identity/databases/ContactTrustOrigin.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/identity/databases/ContactTrustOrigin.java @@ -33,11 +33,11 @@ import io.olvid.engine.datatypes.Identity; import io.olvid.engine.datatypes.ObvDatabase; import io.olvid.engine.datatypes.Session; +import io.olvid.engine.datatypes.TrustLevel; import io.olvid.engine.datatypes.containers.GroupV2; import io.olvid.engine.datatypes.containers.TrustOrigin; import io.olvid.engine.encoder.DecodingException; import io.olvid.engine.identity.datatypes.IdentityManagerSession; -import io.olvid.engine.datatypes.TrustLevel; @SuppressWarnings("FieldMayBeFinal") diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/identity/databases/OwnedIdentity.java b/obv_engine/engine/src/main/java/io/olvid/engine/identity/databases/OwnedIdentity.java index ce555337..352c15fd 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/identity/databases/OwnedIdentity.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/identity/databases/OwnedIdentity.java @@ -58,6 +58,7 @@ import io.olvid.engine.datatypes.key.asymmetric.ServerAuthenticationPublicKey; import io.olvid.engine.datatypes.key.symmetric.AuthEncKey; import io.olvid.engine.datatypes.key.symmetric.MACKey; +import io.olvid.engine.datatypes.notifications.IdentityNotifications; import io.olvid.engine.encoder.DecodingException; import io.olvid.engine.encoder.Encoded; import io.olvid.engine.engine.types.JsonIdentityDetails; @@ -66,7 +67,6 @@ import io.olvid.engine.engine.types.identities.ObvIdentity; import io.olvid.engine.engine.types.identities.ObvKeycloakState; import io.olvid.engine.identity.datatypes.IdentityManagerSession; -import io.olvid.engine.datatypes.notifications.IdentityNotifications; @SuppressWarnings("FieldMayBeFinal") diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/metamanager/IdentityDelegate.java b/obv_engine/engine/src/main/java/io/olvid/engine/metamanager/IdentityDelegate.java index b89c586c..6263c7c0 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/metamanager/IdentityDelegate.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/metamanager/IdentityDelegate.java @@ -53,13 +53,13 @@ import io.olvid.engine.engine.types.JsonIdentityDetailsWithVersionAndPhoto; import io.olvid.engine.engine.types.JsonKeycloakUserDetails; import io.olvid.engine.engine.types.ObvCapability; -import io.olvid.engine.engine.types.sync.ObvBackupAndSyncDelegate; -import io.olvid.engine.engine.types.sync.ObvSyncAtom; import io.olvid.engine.engine.types.identities.ObvContactActiveOrInactiveReason; import io.olvid.engine.engine.types.identities.ObvGroupV2; import io.olvid.engine.engine.types.identities.ObvIdentity; import io.olvid.engine.engine.types.identities.ObvKeycloakState; import io.olvid.engine.engine.types.identities.ObvOwnedDevice; +import io.olvid.engine.engine.types.sync.ObvBackupAndSyncDelegate; +import io.olvid.engine.engine.types.sync.ObvSyncAtom; import io.olvid.engine.identity.databases.sync.IdentityManagerSyncSnapshot; import io.olvid.engine.identity.datatypes.KeycloakGroupBlob; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/metamanager/NetworkFetchDelegate.java b/obv_engine/engine/src/main/java/io/olvid/engine/metamanager/NetworkFetchDelegate.java index 91c670ac..066b34d8 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/metamanager/NetworkFetchDelegate.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/metamanager/NetworkFetchDelegate.java @@ -25,10 +25,10 @@ import java.util.UUID; import io.olvid.engine.datatypes.Identity; -import io.olvid.engine.datatypes.containers.AttachmentKeyAndMetadata; -import io.olvid.engine.datatypes.containers.DecryptedApplicationMessage; import io.olvid.engine.datatypes.Session; import io.olvid.engine.datatypes.UID; +import io.olvid.engine.datatypes.containers.AttachmentKeyAndMetadata; +import io.olvid.engine.datatypes.containers.DecryptedApplicationMessage; import io.olvid.engine.datatypes.containers.ReceivedAttachment; import io.olvid.engine.datatypes.containers.ServerQuery; import io.olvid.engine.datatypes.key.symmetric.AuthEncKey; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/metamanager/NetworkSendDelegate.java b/obv_engine/engine/src/main/java/io/olvid/engine/metamanager/NetworkSendDelegate.java index ab9081e5..db8307ab 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/metamanager/NetworkSendDelegate.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/metamanager/NetworkSendDelegate.java @@ -23,9 +23,9 @@ import java.sql.SQLException; import io.olvid.engine.datatypes.Identity; -import io.olvid.engine.datatypes.containers.MessageToSend; import io.olvid.engine.datatypes.Session; import io.olvid.engine.datatypes.UID; +import io.olvid.engine.datatypes.containers.MessageToSend; public interface NetworkSendDelegate { void post(Session session, MessageToSend messageToSend); diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/metamanager/PushNotificationDelegate.java b/obv_engine/engine/src/main/java/io/olvid/engine/metamanager/PushNotificationDelegate.java index 93289b21..36cbd9c2 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/metamanager/PushNotificationDelegate.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/metamanager/PushNotificationDelegate.java @@ -23,9 +23,9 @@ import java.sql.SQLException; import io.olvid.engine.datatypes.Identity; +import io.olvid.engine.datatypes.PushNotificationTypeAndParameters; import io.olvid.engine.datatypes.Session; import io.olvid.engine.datatypes.UID; -import io.olvid.engine.datatypes.PushNotificationTypeAndParameters; public interface PushNotificationDelegate { void registerPushNotificationIfConfigurationChanged(Session session, Identity ownedIdentity, UID currentDeviceUid, PushNotificationTypeAndParameters pushNotificationTypeAndParameters) throws SQLException; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/FetchManager.java b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/FetchManager.java index c88e46d6..a6980864 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/FetchManager.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/FetchManager.java @@ -23,6 +23,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import java.sql.SQLException; +import java.util.HashMap; import java.util.List; import java.util.Objects; import java.util.UUID; @@ -33,23 +34,24 @@ import io.olvid.engine.Logger; import io.olvid.engine.crypto.PRNGService; import io.olvid.engine.datatypes.Identity; +import io.olvid.engine.datatypes.PushNotificationTypeAndParameters; import io.olvid.engine.datatypes.Session; import io.olvid.engine.datatypes.UID; import io.olvid.engine.datatypes.containers.AttachmentKeyAndMetadata; import io.olvid.engine.datatypes.containers.DecryptedApplicationMessage; -import io.olvid.engine.datatypes.PushNotificationTypeAndParameters; import io.olvid.engine.datatypes.containers.ReceivedAttachment; import io.olvid.engine.datatypes.containers.ServerQuery; import io.olvid.engine.datatypes.key.symmetric.AuthEncKey; +import io.olvid.engine.datatypes.notifications.DownloadNotifications; import io.olvid.engine.encoder.DecodingException; import io.olvid.engine.engine.types.JsonOsmStyle; import io.olvid.engine.metamanager.ChannelDelegate; import io.olvid.engine.metamanager.CreateSessionDelegate; import io.olvid.engine.metamanager.IdentityDelegate; -import io.olvid.engine.metamanager.NotificationListeningDelegate; -import io.olvid.engine.metamanager.NotificationPostingDelegate; import io.olvid.engine.metamanager.MetaManager; import io.olvid.engine.metamanager.NetworkFetchDelegate; +import io.olvid.engine.metamanager.NotificationListeningDelegate; +import io.olvid.engine.metamanager.NotificationPostingDelegate; import io.olvid.engine.metamanager.ObvManager; import io.olvid.engine.metamanager.ProcessDownloadedMessageDelegate; import io.olvid.engine.metamanager.PushNotificationDelegate; @@ -291,6 +293,11 @@ private FetchManagerSession wrapSession(Session session) { @Override public void downloadMessages(Identity ownedIdentity, UID deviceUid) { downloadMessagesAndListAttachmentsCoordinator.downloadMessagesAndListAttachments(ownedIdentity, deviceUid); + + HashMap userInfo = new HashMap<>(); + userInfo.put(DownloadNotifications.NOTIFICATION_SERVER_POLL_REQUESTED_OWNED_IDENTITY_KEY, ownedIdentity); + userInfo.put(DownloadNotifications.NOTIFICATION_SERVER_POLL_REQUESTED_USER_INITIATED_KEY, true); + notificationPostingDelegate.postNotification(DownloadNotifications.NOTIFICATION_SERVER_POLL_REQUESTED, userInfo); } @Override @@ -341,7 +348,7 @@ public void setAttachmentKeyAndMetadataAndMessagePayload(Session session, Identi attachments[i].setKeyAndMetadata(attachmentKeyAndMetadata[i].getKey(), attachmentKeyAndMetadata[i].getMetadata()); } - inboxMessage.setPayloadAndFromIdentity(messagePayload, remoteIdentity, extendedPayloadKey, attachmentKeyAndMetadata.length > 0); + inboxMessage.setPayloadAndFromIdentity(messagePayload, remoteIdentity, extendedPayloadKey); } diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/CreateServerSessionCoordinator.java b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/CreateServerSessionCoordinator.java index dc74496c..1dc175de 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/CreateServerSessionCoordinator.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/CreateServerSessionCoordinator.java @@ -86,7 +86,7 @@ public void initialQueueing() { userInfo.put(DownloadNotifications.NOTIFICATION_SERVER_SESSION_CREATED_API_KEY_STATUS_KEY, serverSession.getApiKeyStatus()); userInfo.put(DownloadNotifications.NOTIFICATION_SERVER_SESSION_CREATED_PERMISSIONS_KEY, serverSession.getPermissions()); userInfo.put(DownloadNotifications.NOTIFICATION_SERVER_SESSION_CREATED_API_KEY_EXPIRATION_TIMESTAMP_KEY, serverSession.getApiKeyExpirationTimestamp()); - notificationPostingDelegate.postNotification(DownloadNotifications.NOTIFICATION_SERVER_SESSION_CREATED, userInfo); + notificationPostingDelegate.postNotification(DownloadNotifications.NOTIFICATION_SERVER_SESSION_EXISTS, userInfo); } } fetchManagerSession.session.commit(); diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/DeleteMessageAndAttachmentsCoordinator.java b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/DeleteMessageAndAttachmentsCoordinator.java index 9558e418..6e52079c 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/DeleteMessageAndAttachmentsCoordinator.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/DeleteMessageAndAttachmentsCoordinator.java @@ -20,15 +20,19 @@ package io.olvid.engine.networkfetch.coordinators; +import java.util.ArrayDeque; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; +import java.util.Queue; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; import javax.net.ssl.SSLSocketFactory; import io.olvid.engine.Logger; +import io.olvid.engine.datatypes.Constants; import io.olvid.engine.datatypes.ExponentialBackoffRepeatingScheduler; import io.olvid.engine.datatypes.Identity; import io.olvid.engine.datatypes.NoDuplicateOperationQueue; @@ -36,6 +40,7 @@ import io.olvid.engine.datatypes.Operation; import io.olvid.engine.datatypes.UID; import io.olvid.engine.datatypes.containers.IdentityAndUidAndBoolean; +import io.olvid.engine.datatypes.containers.UidAndBoolean; import io.olvid.engine.datatypes.notifications.DownloadNotifications; import io.olvid.engine.metamanager.NotificationListeningDelegate; import io.olvid.engine.networkfetch.databases.InboxMessage; @@ -52,7 +57,8 @@ public class DeleteMessageAndAttachmentsCoordinator implements Operation.OnCance private NotificationListeningDelegate notificationListeningDelegate; - private final ExponentialBackoffRepeatingScheduler scheduler; + private final ExponentialBackoffRepeatingScheduler scheduler; + private final HashMap> messageUidsToDeleteByOwnedIdentity; private final NoDuplicateOperationQueue deleteMessageAndAttachmentsFromServerOperationQueue; private final HashMap> awaitingServerSessionOperations; @@ -71,6 +77,7 @@ public DeleteMessageAndAttachmentsCoordinator(FetchManagerSessionFactory fetchMa deleteMessageAndAttachmentsFromServerOperationQueue = new NoDuplicateOperationQueue(); deleteMessageAndAttachmentsFromServerOperationQueue.execute(1, "Engine-DeleteMessageAndAttachmentsCoordinator"); + messageUidsToDeleteByOwnedIdentity = new HashMap<>(); scheduler = new ExponentialBackoffRepeatingScheduler<>(); awaitingServerSessionOperations = new HashMap<>(); @@ -105,12 +112,36 @@ public void initialQueueing() { } private void queueNewDeleteMessageAndAttachmentsFromServerOperation(Identity ownedIdentity, UID messageUid, boolean markAsListed) { - DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation op = new DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation(fetchManagerSessionFactory, sslSocketFactory, ownedIdentity, messageUid, markAsListed, this, this); + if (messageUid != null) { + synchronized (messageUidsToDeleteByOwnedIdentity) { + Queue queue = messageUidsToDeleteByOwnedIdentity.get(ownedIdentity); + if (queue == null) { + queue = new ArrayDeque<>(); + messageUidsToDeleteByOwnedIdentity.put(ownedIdentity, queue); + } + queue.add(new UidAndBoolean(messageUid, markAsListed)); + } + } + DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation op = new DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation(fetchManagerSessionFactory, sslSocketFactory, ownedIdentity, () -> { + List messageUidsAndMarkAsListed = new ArrayList<>(); + synchronized (messageUidsToDeleteByOwnedIdentity) { + Queue queue = messageUidsToDeleteByOwnedIdentity.get(ownedIdentity); + if (queue != null && !queue.isEmpty()) { + do { + messageUidsAndMarkAsListed.add(queue.remove()); + if (messageUidsAndMarkAsListed.size() == Constants.MAX_DELETE_MESSAGE_ON_SERVER_BATCH_SIZE) { + break; + } + } while (!queue.isEmpty()); + } + } + return messageUidsAndMarkAsListed.toArray(new UidAndBoolean[0]); + }, this, this); deleteMessageAndAttachmentsFromServerOperationQueue.queue(op); } - private void scheduleNewDeleteMessageAndAttachmentsFromServerOperationQueueing(final Identity ownedIdentity, final UID messageUid, boolean markAsListed) { - scheduler.schedule(new IdentityAndUidAndBoolean(ownedIdentity, messageUid, markAsListed), () -> queueNewDeleteMessageAndAttachmentsFromServerOperation(ownedIdentity, messageUid, markAsListed), "DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation"); + private void scheduleNewDeleteMessageAndAttachmentsFromServerOperationQueueing(final Identity ownedIdentity) { + scheduler.schedule(ownedIdentity, () -> queueNewDeleteMessageAndAttachmentsFromServerOperation(ownedIdentity, null, false), "DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation"); } public void retryScheduledNetworkTasks() { @@ -132,34 +163,48 @@ private void waitForServerSession(Identity ownedIdentity, UID messageUid, boolea @Override public void onFinishCallback(Operation operation) { Identity ownedIdentity = ((DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation) operation).getOwnedIdentity(); - UID messageUid = ((DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation) operation).getMessageUid(); - boolean markAsListed = ((DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation) operation).getMarkAsListed(); - scheduler.clearFailedCount(new IdentityAndUidAndBoolean(ownedIdentity, messageUid, markAsListed)); + scheduler.clearFailedCount(ownedIdentity); + + // if there are still some messages in the queue, reschedule a batch operation + synchronized (messageUidsToDeleteByOwnedIdentity) { + Queue queue = messageUidsToDeleteByOwnedIdentity.get(ownedIdentity); + if (queue != null && !queue.isEmpty()) { + queueNewDeleteMessageAndAttachmentsFromServerOperation(ownedIdentity, null, false); + } + } } @Override public void onCancelCallback(Operation operation) { Identity ownedIdentity = ((DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation) operation).getOwnedIdentity(); - UID messageUid = ((DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation) operation).getMessageUid(); - boolean markAsListed = ((DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation) operation).getMarkAsListed(); + UidAndBoolean[] messageUidsAndMarkAsListed = ((DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation) operation).getMessageUidsAndMarkAsListed(); Integer rfc = operation.getReasonForCancel(); Logger.i("DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation cancelled for reason " + rfc); if (rfc == null) { rfc = Operation.RFC_NULL; } switch (rfc) { - case DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation.RFC_MESSAGE_AND_ATTACHMENTS_CANNOT_BE_DELETED: - break; case DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation.RFC_INVALID_SERVER_SESSION: - if (ownedIdentity != null) { - waitForServerSession(ownedIdentity, messageUid, markAsListed); - createServerSessionDelegate.createServerSession(ownedIdentity); + if (messageUidsAndMarkAsListed != null) { + for (UidAndBoolean uidAndBoolean : messageUidsAndMarkAsListed) { + waitForServerSession(ownedIdentity, uidAndBoolean.uid, uidAndBoolean.bool); + } } + createServerSessionDelegate.createServerSession(ownedIdentity); break; default: - if (ownedIdentity != null) { - scheduleNewDeleteMessageAndAttachmentsFromServerOperationQueueing(ownedIdentity, messageUid, markAsListed); + // re-add all messageUids to the queue + if (messageUidsAndMarkAsListed != null) { + synchronized (messageUidsToDeleteByOwnedIdentity) { + Queue queue = messageUidsToDeleteByOwnedIdentity.get(ownedIdentity); + if (queue == null) { + queue = new ArrayDeque<>(); + messageUidsToDeleteByOwnedIdentity.put(ownedIdentity, queue); + } + queue.addAll(Arrays.asList(messageUidsAndMarkAsListed)); + } } + scheduleNewDeleteMessageAndAttachmentsFromServerOperationQueueing(ownedIdentity); } } @@ -199,4 +244,8 @@ public void newPendingDeleteFromServer(Identity ownedIdentity, UID messageUid) { public void messageCanBeMarkedAsListedOnServer(Identity ownedIdentity, UID messageUid) { queueNewDeleteMessageAndAttachmentsFromServerOperation(ownedIdentity, messageUid, true); } + + public interface MessageBatchProvider { + UidAndBoolean[] getBatchOFMessageUids(); + } } diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/DownloadAttachmentCoordinator.java b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/DownloadAttachmentCoordinator.java index a6c2c70e..78298a8e 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/DownloadAttachmentCoordinator.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/DownloadAttachmentCoordinator.java @@ -37,13 +37,13 @@ import io.olvid.engine.datatypes.PriorityOperationQueue; import io.olvid.engine.datatypes.UID; import io.olvid.engine.datatypes.containers.IdentityAndUidAndNumber; +import io.olvid.engine.datatypes.notifications.DownloadNotifications; import io.olvid.engine.datatypes.notifications.IdentityNotifications; import io.olvid.engine.metamanager.NotificationListeningDelegate; import io.olvid.engine.metamanager.NotificationPostingDelegate; +import io.olvid.engine.networkfetch.databases.InboxAttachment; import io.olvid.engine.networkfetch.databases.PendingDeleteFromServer; import io.olvid.engine.networkfetch.datatypes.DownloadAttachmentPriorityCategory; -import io.olvid.engine.networkfetch.databases.InboxAttachment; -import io.olvid.engine.datatypes.notifications.DownloadNotifications; import io.olvid.engine.networkfetch.datatypes.FetchManagerSession; import io.olvid.engine.networkfetch.datatypes.FetchManagerSessionFactory; import io.olvid.engine.networkfetch.datatypes.RefreshInboxAttachmentSignedUrlDelegate; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/DownloadMessagesAndListAttachmentsCoordinator.java b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/DownloadMessagesAndListAttachmentsCoordinator.java index c849d57b..4cfcba8f 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/DownloadMessagesAndListAttachmentsCoordinator.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/DownloadMessagesAndListAttachmentsCoordinator.java @@ -43,9 +43,9 @@ import io.olvid.engine.networkfetch.databases.InboxMessage; import io.olvid.engine.networkfetch.databases.PendingDeleteFromServer; import io.olvid.engine.networkfetch.datatypes.CreateServerSessionDelegate; +import io.olvid.engine.networkfetch.datatypes.DownloadMessagesAndListAttachmentsDelegate; import io.olvid.engine.networkfetch.datatypes.FetchManagerSession; import io.olvid.engine.networkfetch.datatypes.FetchManagerSessionFactory; -import io.olvid.engine.networkfetch.datatypes.DownloadMessagesAndListAttachmentsDelegate; import io.olvid.engine.networkfetch.datatypes.RegisterServerPushNotificationDelegate; import io.olvid.engine.networkfetch.operations.DownloadMessagesAndListAttachmentsOperation; import io.olvid.engine.networkfetch.operations.ProcessWebsocketReceivedMessageOperation; @@ -218,6 +218,7 @@ public void onFinishCallback(Operation operation) { HashMap userInfo = new HashMap<>(); userInfo.put(DownloadNotifications.NOTIFICATION_SERVER_POLLED_OWNED_IDENTITY_KEY, identity); userInfo.put(DownloadNotifications.NOTIFICATION_SERVER_POLLED_SUCCESS_KEY, true); + userInfo.put(DownloadNotifications.NOTIFICATION_SERVER_POLLED_TRUNCATED_KEY, listingTruncated); notificationPostingDelegate.postNotification(DownloadNotifications.NOTIFICATION_SERVER_POLLED, userInfo); } @@ -256,6 +257,7 @@ public void onCancelCallback(Operation operation) { HashMap userInfo = new HashMap<>(); userInfo.put(DownloadNotifications.NOTIFICATION_SERVER_POLLED_OWNED_IDENTITY_KEY, identity); userInfo.put(DownloadNotifications.NOTIFICATION_SERVER_POLLED_SUCCESS_KEY, false); + userInfo.put(DownloadNotifications.NOTIFICATION_SERVER_POLLED_TRUNCATED_KEY, false); notificationPostingDelegate.postNotification(DownloadNotifications.NOTIFICATION_SERVER_POLLED, userInfo); } } else if (operation instanceof ProcessWebsocketReceivedMessageOperation) { diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/RegisterServerPushNotificationsCoordinator.java b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/RegisterServerPushNotificationsCoordinator.java index 2b277d54..dd160c58 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/RegisterServerPushNotificationsCoordinator.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/coordinators/RegisterServerPushNotificationsCoordinator.java @@ -30,17 +30,17 @@ import io.olvid.engine.datatypes.NoDuplicateOperationQueue; import io.olvid.engine.datatypes.NotificationListener; import io.olvid.engine.datatypes.Operation; +import io.olvid.engine.datatypes.PushNotificationTypeAndParameters; import io.olvid.engine.datatypes.UID; import io.olvid.engine.datatypes.containers.IdentityAndUid; -import io.olvid.engine.datatypes.PushNotificationTypeAndParameters; import io.olvid.engine.datatypes.notifications.DownloadNotifications; import io.olvid.engine.metamanager.NotificationListeningDelegate; import io.olvid.engine.metamanager.NotificationPostingDelegate; import io.olvid.engine.networkfetch.databases.PushNotificationConfiguration; import io.olvid.engine.networkfetch.datatypes.CreateServerSessionDelegate; +import io.olvid.engine.networkfetch.datatypes.DownloadMessagesAndListAttachmentsDelegate; import io.olvid.engine.networkfetch.datatypes.FetchManagerSession; import io.olvid.engine.networkfetch.datatypes.FetchManagerSessionFactory; -import io.olvid.engine.networkfetch.datatypes.DownloadMessagesAndListAttachmentsDelegate; import io.olvid.engine.networkfetch.datatypes.RegisterServerPushNotificationDelegate; import io.olvid.engine.networkfetch.operations.RegisterPushNotificationOperation; @@ -259,7 +259,7 @@ public void callback(String notificationName, HashMap userInfo) return; } - // alway do a register after a new client session, we no longer keep a list a awaiting identities + // always do a register after a new client session, we no longer keep a list a awaiting identities queueNewRegisterPushNotificationOperation((Identity) identityObject); } } diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/databases/InboxMessage.java b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/databases/InboxMessage.java index f37eaadc..c53471f5 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/databases/InboxMessage.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/databases/InboxMessage.java @@ -29,7 +29,6 @@ import java.util.List; import java.util.Map; - import io.olvid.engine.Logger; import io.olvid.engine.crypto.Hash; import io.olvid.engine.crypto.Suite; @@ -56,8 +55,6 @@ public class InboxMessage implements ObvDatabase { private static long lastExpungeTimestamp = System.currentTimeMillis(); private static final HashMap deletedMessageUids = new HashMap<>(); - private boolean messageCanBeMarkedAsListedOnServer = false; // not saved in DB, only used by commit hooks - private Identity ownedIdentity; static final String OWNED_IDENTITY = "owned_identity"; private UID uid; @@ -200,7 +197,7 @@ public void markAsListedOnServer() { } } - public void setPayloadAndFromIdentity(byte[] payload, Identity fromIdentity, AuthEncKey extendedPayloadKey, boolean messageCanBeMarkedAsListedOnServer) { + public void setPayloadAndFromIdentity(byte[] payload, Identity fromIdentity, AuthEncKey extendedPayloadKey) { try (PreparedStatement statement = fetchManagerSession.session.prepareStatement("UPDATE " + TABLE_NAME + " SET " + PAYLOAD + " = ?, " + FROM_IDENTITY + " = ?, " + @@ -216,7 +213,6 @@ public void setPayloadAndFromIdentity(byte[] payload, Identity fromIdentity, Aut this.payload = payload; this.fromIdentity = fromIdentity; this.extendedPayloadKey = extendedPayloadKey; - this.messageCanBeMarkedAsListedOnServer = messageCanBeMarkedAsListedOnServer; commitHookBits |= HOOK_BIT_PAYLOAD_AND_FROM_IDENTITY_SET; fetchManagerSession.session.addSessionCommitListener(this); } catch (SQLException e) { @@ -705,7 +701,8 @@ public void wasCommitted() { fetchManagerSession.extendedPayloadListener.messageHasExtendedPayloadToDownload(ownedIdentity, uid); } } - if (messageCanBeMarkedAsListedOnServer && fetchManagerSession.markAsListedOnServerListener != null) { + // for application messages, we always mark as listed on server, even if there are no attachments --> this way we do not rely on the app properly processing the message to avoid relisting + if (fetchManagerSession.markAsListedOnServerListener != null) { fetchManagerSession.markAsListedOnServerListener.messageCanBeMarkedAsListedOnServer(ownedIdentity, uid); } } diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/databases/PushNotificationConfiguration.java b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/databases/PushNotificationConfiguration.java index 4dcaaadf..14a704c2 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/databases/PushNotificationConfiguration.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/databases/PushNotificationConfiguration.java @@ -29,9 +29,9 @@ import io.olvid.engine.Logger; import io.olvid.engine.datatypes.Identity; import io.olvid.engine.datatypes.ObvDatabase; +import io.olvid.engine.datatypes.PushNotificationTypeAndParameters; import io.olvid.engine.datatypes.Session; import io.olvid.engine.datatypes.UID; -import io.olvid.engine.datatypes.PushNotificationTypeAndParameters; import io.olvid.engine.encoder.DecodingException; import io.olvid.engine.networkfetch.datatypes.FetchManagerSession; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation.java b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation.java index 77b7291d..32d6ea1b 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation.java @@ -20,6 +20,8 @@ package io.olvid.engine.networkfetch.operations; import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; import javax.net.ssl.SSLSocketFactory; @@ -27,7 +29,9 @@ import io.olvid.engine.datatypes.Operation; import io.olvid.engine.datatypes.ServerMethod; import io.olvid.engine.datatypes.UID; +import io.olvid.engine.datatypes.containers.UidAndBoolean; import io.olvid.engine.encoder.Encoded; +import io.olvid.engine.networkfetch.coordinators.DeleteMessageAndAttachmentsCoordinator; import io.olvid.engine.networkfetch.databases.InboxMessage; import io.olvid.engine.networkfetch.databases.PendingDeleteFromServer; import io.olvid.engine.networkfetch.databases.ServerSession; @@ -39,33 +43,28 @@ public class DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation extend // possible reasons for cancel public static final int RFC_NETWORK_ERROR = 1; public static final int RFC_INVALID_SERVER_SESSION = 2; - public static final int RFC_MESSAGE_AND_ATTACHMENTS_CANNOT_BE_DELETED = 3; private final FetchManagerSessionFactory fetchManagerSessionFactory; private final SSLSocketFactory sslSocketFactory; private final Identity ownedIdentity; - private final UID messageUid; - private final boolean markAsListed; + private final DeleteMessageAndAttachmentsCoordinator.MessageBatchProvider messageBatchProvider; + private UidAndBoolean[] messageUidsAndMarkAsListed; - public DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation(FetchManagerSessionFactory fetchManagerSessionFactory, SSLSocketFactory sslSocketFactory, Identity ownedIdentity, UID messageUid, boolean markAsListed, Operation.OnFinishCallback onFinishCallback, Operation.OnCancelCallback onCancelCallback) { - super(InboxMessage.computeUniqueUid(ownedIdentity, messageUid, markAsListed), onFinishCallback, onCancelCallback); + public DeleteMessageAndAttachmentFromServerAndLocalInboxesOperation(FetchManagerSessionFactory fetchManagerSessionFactory, SSLSocketFactory sslSocketFactory, Identity ownedIdentity, DeleteMessageAndAttachmentsCoordinator.MessageBatchProvider messageBatchProvider, Operation.OnFinishCallback onFinishCallback, Operation.OnCancelCallback onCancelCallback) { + super(ownedIdentity.computeUniqueUid(), onFinishCallback, onCancelCallback); this.fetchManagerSessionFactory = fetchManagerSessionFactory; this.sslSocketFactory = sslSocketFactory; this.ownedIdentity = ownedIdentity; - this.messageUid = messageUid; - this.markAsListed = markAsListed; + this.messageBatchProvider = messageBatchProvider; } - public UID getMessageUid() { - return messageUid; - } public Identity getOwnedIdentity() { return ownedIdentity; } - public boolean getMarkAsListed() { - return markAsListed; + public UidAndBoolean[] getMessageUidsAndMarkAsListed() { + return messageUidsAndMarkAsListed; } @Override @@ -78,25 +77,44 @@ public void doExecute() { boolean finished = false; try (FetchManagerSession fetchManagerSession = fetchManagerSessionFactory.getSession()) { try { - // message may be null in case of re-list of an already deleted message - InboxMessage message = InboxMessage.get(fetchManagerSession, ownedIdentity, messageUid); - PendingDeleteFromServer pendingDeleteFromServer = null; + this.messageUidsAndMarkAsListed = messageBatchProvider.getBatchOFMessageUids(); - if (markAsListed) { - if (message == null || message.isMarkedAsListedOnServer()) { - finished = true; - return; - } - } else { - if (message != null && !message.canBeDeleted()) { - cancel(RFC_MESSAGE_AND_ATTACHMENTS_CANNOT_BE_DELETED); - return; + + List messageAndPendingDeletes = new ArrayList<>(); + for (UidAndBoolean messageUidAndMarkAsListed : messageUidsAndMarkAsListed) { + // message may be null in case of re-list of an already deleted message + InboxMessage message = InboxMessage.get(fetchManagerSession, ownedIdentity, messageUidAndMarkAsListed.uid); + PendingDeleteFromServer pendingDeleteFromServer = null; + + if (messageUidAndMarkAsListed.bool) { + if (message == null || message.isMarkedAsListedOnServer()) { + continue; + } + } else { + if (message != null && !message.canBeDeleted()) { + continue; + } + + pendingDeleteFromServer = PendingDeleteFromServer.get(fetchManagerSession, ownedIdentity, messageUidAndMarkAsListed.uid); + if (pendingDeleteFromServer == null) { + continue; + } } - pendingDeleteFromServer = PendingDeleteFromServer.get(fetchManagerSession, ownedIdentity, messageUid); - if (pendingDeleteFromServer == null) { - finished = true; - return; + messageAndPendingDeletes.add(new MessageAndPendingDeleteAndMarkAsListed(message, pendingDeleteFromServer, messageUidAndMarkAsListed)); + } + + if (messageAndPendingDeletes.isEmpty()) { + // nothing to actually do! + finished = true; + return; + } + + if (messageUidsAndMarkAsListed.length != messageAndPendingDeletes.size()) { + // some messages were skipped, update the messageUidsAndMarkAsListed to avoid unnecessary re-queues in case of failure + messageUidsAndMarkAsListed = new UidAndBoolean[messageAndPendingDeletes.size()]; + for (int i=0; i notifiedIdentities = new HashSet<>(); private final FetchManagerSessionFactory fetchManagerSessionFactory; private final SSLSocketFactory sslSocketFactory; @@ -94,6 +99,18 @@ public void doExecute() { return; } + // if this is the first listing for this identity, notify that a not-user-initiated listing is in progress + synchronized (notifiedIdentities) { + if (!notifiedIdentities.contains(ownedIdentity)) { + notifiedIdentities.add(ownedIdentity); + + HashMap userInfo = new HashMap<>(); + userInfo.put(DownloadNotifications.NOTIFICATION_SERVER_POLL_REQUESTED_OWNED_IDENTITY_KEY, ownedIdentity); + userInfo.put(DownloadNotifications.NOTIFICATION_SERVER_POLL_REQUESTED_USER_INITIATED_KEY, false); + fetchManagerSession.notificationPostingDelegate.postNotification(DownloadNotifications.NOTIFICATION_SERVER_POLL_REQUESTED, userInfo); + } + } + DownloadMessagesAndListAttachmentsServerMethod serverMethod = new DownloadMessagesAndListAttachmentsServerMethod( ownedIdentity, serverSessionToken, diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/GetTokenOperation.java b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/GetTokenOperation.java index ed7e4f2f..aa6a54ca 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/GetTokenOperation.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/GetTokenOperation.java @@ -26,12 +26,12 @@ import javax.net.ssl.SSLSocketFactory; +import io.olvid.engine.datatypes.Constants; import io.olvid.engine.datatypes.Identity; import io.olvid.engine.datatypes.Operation; import io.olvid.engine.datatypes.ServerMethod; import io.olvid.engine.encoder.DecodingException; import io.olvid.engine.encoder.Encoded; -import io.olvid.engine.datatypes.Constants; import io.olvid.engine.networkfetch.databases.ServerSession; import io.olvid.engine.networkfetch.datatypes.FetchManagerSession; import io.olvid.engine.networkfetch.datatypes.FetchManagerSessionFactory; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/RegisterPushNotificationOperation.java b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/RegisterPushNotificationOperation.java index dcee6a86..bce0e90e 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/RegisterPushNotificationOperation.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/RegisterPushNotificationOperation.java @@ -29,9 +29,9 @@ import io.olvid.engine.datatypes.EncryptedBytes; import io.olvid.engine.datatypes.Identity; import io.olvid.engine.datatypes.Operation; +import io.olvid.engine.datatypes.PushNotificationTypeAndParameters; import io.olvid.engine.datatypes.ServerMethod; import io.olvid.engine.datatypes.UID; -import io.olvid.engine.datatypes.PushNotificationTypeAndParameters; import io.olvid.engine.encoder.Encoded; import io.olvid.engine.networkfetch.databases.PushNotificationConfiguration; import io.olvid.engine.networkfetch.databases.ServerSession; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/RequestChallengeOperation.java b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/RequestChallengeOperation.java index 49ae7a4e..7844d7ee 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/RequestChallengeOperation.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/RequestChallengeOperation.java @@ -28,12 +28,12 @@ import io.olvid.engine.crypto.PRNG; import io.olvid.engine.crypto.PRNGService; import io.olvid.engine.crypto.Suite; +import io.olvid.engine.datatypes.Constants; import io.olvid.engine.datatypes.Identity; import io.olvid.engine.datatypes.Operation; import io.olvid.engine.datatypes.ServerMethod; import io.olvid.engine.encoder.DecodingException; import io.olvid.engine.encoder.Encoded; -import io.olvid.engine.datatypes.Constants; import io.olvid.engine.networkfetch.databases.ServerSession; import io.olvid.engine.networkfetch.datatypes.FetchManagerSession; import io.olvid.engine.networkfetch.datatypes.FetchManagerSessionFactory; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/SolveChallengeOperation.java b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/SolveChallengeOperation.java index fd91279f..8d2a96e5 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/SolveChallengeOperation.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networkfetch/operations/SolveChallengeOperation.java @@ -26,8 +26,8 @@ import io.olvid.engine.crypto.Suite; import io.olvid.engine.datatypes.Identity; import io.olvid.engine.datatypes.Operation; -import io.olvid.engine.networkfetch.databases.ServerSession; import io.olvid.engine.metamanager.SolveChallengeDelegate; +import io.olvid.engine.networkfetch.databases.ServerSession; import io.olvid.engine.networkfetch.datatypes.FetchManagerSession; import io.olvid.engine.networkfetch.datatypes.FetchManagerSessionFactory; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/SendManager.java b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/SendManager.java index 4ed61839..a9322acb 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/SendManager.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/SendManager.java @@ -26,13 +26,13 @@ import io.olvid.engine.crypto.PRNGService; import io.olvid.engine.datatypes.Identity; +import io.olvid.engine.datatypes.Session; +import io.olvid.engine.datatypes.UID; +import io.olvid.engine.datatypes.containers.MessageToSend; import io.olvid.engine.datatypes.key.symmetric.AuthEncKey; import io.olvid.engine.metamanager.CreateSessionDelegate; import io.olvid.engine.metamanager.IdentityDelegate; import io.olvid.engine.metamanager.MetaManager; -import io.olvid.engine.datatypes.containers.MessageToSend; -import io.olvid.engine.datatypes.Session; -import io.olvid.engine.datatypes.UID; import io.olvid.engine.metamanager.NetworkSendDelegate; import io.olvid.engine.metamanager.NotificationListeningDelegate; import io.olvid.engine.metamanager.NotificationPostingDelegate; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/coordinators/SendAttachmentCoordinator.java b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/coordinators/SendAttachmentCoordinator.java index 1ea9ddd8..b5858c04 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/coordinators/SendAttachmentCoordinator.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/coordinators/SendAttachmentCoordinator.java @@ -36,7 +36,6 @@ import io.olvid.engine.datatypes.PriorityOperation; import io.olvid.engine.datatypes.PriorityOperationQueue; import io.olvid.engine.datatypes.UID; -import io.olvid.engine.datatypes.containers.IdentityAndUid; import io.olvid.engine.datatypes.containers.IdentityAndUidAndNumber; import io.olvid.engine.datatypes.notifications.IdentityNotifications; import io.olvid.engine.datatypes.notifications.UploadNotifications; @@ -288,8 +287,4 @@ public long getInitialPriority() { return initialPriority; } } - - public interface MessageBatchProvider { - IdentityAndUid[] getBatchOFMessageUids(); - } } diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/coordinators/SendMessageCoordinator.java b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/coordinators/SendMessageCoordinator.java index fe3e7b5d..aa933bbb 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/coordinators/SendMessageCoordinator.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/coordinators/SendMessageCoordinator.java @@ -356,6 +356,10 @@ public void newMessageToSend(String server, Identity ownedIdentity, UID messageU queueNewSendMessageCompositeOperation(server, ownedIdentity, messageUid, hasAttachment, hasUserContent); } + public interface MessageBatchProvider { + IdentityAndUid[] getBatchOFMessageUids(); + } + class NotificationListener implements io.olvid.engine.datatypes.NotificationListener { @Override public void callback(String notificationName, HashMap userInfo) { diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/coordinators/SendReturnReceiptCoordinator.java b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/coordinators/SendReturnReceiptCoordinator.java index e31ec844..de1b0b4a 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/coordinators/SendReturnReceiptCoordinator.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/coordinators/SendReturnReceiptCoordinator.java @@ -21,9 +21,12 @@ import java.sql.SQLException; +import java.util.ArrayDeque; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; +import java.util.Queue; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; @@ -31,10 +34,13 @@ import io.olvid.engine.Logger; import io.olvid.engine.crypto.PRNGService; +import io.olvid.engine.datatypes.Constants; import io.olvid.engine.datatypes.ExponentialBackoffRepeatingScheduler; import io.olvid.engine.datatypes.Identity; import io.olvid.engine.datatypes.NoDuplicateOperationQueue; import io.olvid.engine.datatypes.Operation; +import io.olvid.engine.datatypes.containers.IdentityAndLong; +import io.olvid.engine.datatypes.containers.StringAndLong; import io.olvid.engine.datatypes.notifications.IdentityNotifications; import io.olvid.engine.metamanager.NotificationListeningDelegate; import io.olvid.engine.networksend.databases.ReturnReceipt; @@ -48,12 +54,13 @@ public class SendReturnReceiptCoordinator implements ReturnReceipt.NewReturnRece private NotificationListeningDelegate notificationListeningDelegate; private final PRNGService prng; + private final HashMap> returnReceiptOwnedIdentityAndIdByServer; private final NoDuplicateOperationQueue sendReturnReceiptOperationQueue; - private final ExponentialBackoffRepeatingScheduler scheduler; + private final ExponentialBackoffRepeatingScheduler scheduler; private boolean initialQueueingPerformed = false; private final Object lock = new Object(); - private final HashMap> awaitingIdentityReactivationOperations; + private final HashMap> awaitingIdentityReactivationOperations; private final Lock awaitingIdentityReactivationOperationsLock; private final NotificationListener notificationListener; @@ -63,6 +70,7 @@ public SendReturnReceiptCoordinator(SendManagerSessionFactory sendManagerSession this.sslSocketFactory = sslSocketFactory; this.prng = prng; + returnReceiptOwnedIdentityAndIdByServer = new HashMap<>(); sendReturnReceiptOperationQueue = new NoDuplicateOperationQueue(); sendReturnReceiptOperationQueue.execute(1, "Engine-SendReturnReceiptCoordinator"); @@ -87,7 +95,7 @@ public void initialQueueing() { try (SendManagerSession sendManagerSession = sendManagerSessionFactory.getSession()) { ReturnReceipt[] returnReceipts = ReturnReceipt.getAll(sendManagerSession); for (ReturnReceipt returnReceipt: returnReceipts) { - queueNewSendReturnReceiptOperation(returnReceipt.getOwnedIdentity(), returnReceipt.getId()); + queueNewSendReturnReceiptOperation(returnReceipt.getContactIdentity().getServer(), returnReceipt.getOwnedIdentity(), returnReceipt.getId()); } initialQueueingPerformed = true; } catch (SQLException e) { @@ -96,65 +104,104 @@ public void initialQueueing() { } } - private void queueNewSendReturnReceiptOperation(Identity ownedIdentity, long returnReceiptId) { - Logger.d("Queueing new UploadReturnReceiptOperation " + returnReceiptId); - UploadReturnReceiptOperation op = new UploadReturnReceiptOperation(sendManagerSessionFactory, sslSocketFactory, ownedIdentity, returnReceiptId, prng, this, this); + private void queueNewSendReturnReceiptOperation(String server, Identity ownedIdentity, long returnReceiptId) { + if (ownedIdentity != null) { + synchronized (returnReceiptOwnedIdentityAndIdByServer) { + Queue queue = returnReceiptOwnedIdentityAndIdByServer.get(server); + if (queue == null) { + queue = new ArrayDeque<>(); + returnReceiptOwnedIdentityAndIdByServer.put(server, queue); + } + queue.add(new IdentityAndLong(ownedIdentity, returnReceiptId)); + } + } + UploadReturnReceiptOperation op = new UploadReturnReceiptOperation(sendManagerSessionFactory, sslSocketFactory, server, prng, () -> { + List returnReceiptOwnedIdentityAndId = new ArrayList<>(); + synchronized (returnReceiptOwnedIdentityAndIdByServer) { + Queue queue = returnReceiptOwnedIdentityAndIdByServer.get(server); + if (queue != null && !queue.isEmpty()) { + do { + returnReceiptOwnedIdentityAndId.add(queue.remove()); + if (returnReceiptOwnedIdentityAndId.size() == Constants.MAX_UPLOAD_RETURN_RECEIPT_BATCH_SIZE) { + break; + } + } while (!queue.isEmpty()); + } + } + return returnReceiptOwnedIdentityAndId.toArray(new IdentityAndLong[0]); + }, this, this); sendReturnReceiptOperationQueue.queue(op); } - private void scheduleNewSendReturnReceiptOperation(final Identity ownedIdentity, final long returnReceiptId) { - scheduler.schedule(returnReceiptId, () -> queueNewSendReturnReceiptOperation(ownedIdentity, returnReceiptId), "UploadReturnReceiptOperation"); + private void scheduleNewSendReturnReceiptOperation(String server) { + scheduler.schedule(server, () -> queueNewSendReturnReceiptOperation(server, null, 0), "UploadReturnReceiptOperation"); } public void retryScheduledNetworkTasks() { scheduler.retryScheduledRunnables(); } - private void waitForIdentityReactivation(Identity ownedIdentity, long id) { + private void waitForIdentityReactivation(Identity ownedIdentity, String server, long id) { awaitingIdentityReactivationOperationsLock.lock(); - List list = awaitingIdentityReactivationOperations.get(ownedIdentity); + List list = awaitingIdentityReactivationOperations.get(ownedIdentity); if (list == null) { list = new ArrayList<>(); awaitingIdentityReactivationOperations.put(ownedIdentity, list); } - list.add(id); + list.add(new StringAndLong(server, id)); awaitingIdentityReactivationOperationsLock.unlock(); } @Override - public void onCancelCallback(Operation operation) { - Identity ownedIdentity = ((UploadReturnReceiptOperation) operation).getOwnedIdentity(); - long id = ((UploadReturnReceiptOperation) operation).getReturnReceiptId(); - Integer rfc = operation.getReasonForCancel(); - Logger.w("UploadReturnReceiptOperation cancelled for reason " + rfc); - if (rfc == null) { - rfc = Operation.RFC_NULL; + public void onFinishCallback(Operation operation) { + String server = ((UploadReturnReceiptOperation) operation).getServer(); + List identityInactiveReturnReceiptIds = ((UploadReturnReceiptOperation) operation).getIdentityInactiveReturnReceiptIds(); + scheduler.clearFailedCount(server); + + // if there are still some messages in the queue, reschedule a batch operation + synchronized (returnReceiptOwnedIdentityAndIdByServer) { + Queue queue = returnReceiptOwnedIdentityAndIdByServer.get(server); + if (queue != null && !queue.isEmpty()) { + queueNewSendReturnReceiptOperation(server, null, 0); + } } - switch (rfc) { - case UploadReturnReceiptOperation.RFC_RETURN_RECEIPT_NOT_FOUND: - // nothing to do - break; - case UploadReturnReceiptOperation.RFC_IDENTITY_IS_INACTIVE: - waitForIdentityReactivation(ownedIdentity, id); - break; - default: - scheduleNewSendReturnReceiptOperation(ownedIdentity, id); + + // handle message the operations couldn't because of inactive identity + for (IdentityAndLong identityAndLong : identityInactiveReturnReceiptIds) { + waitForIdentityReactivation(identityAndLong.identity, server, identityAndLong.lng); } } @Override - public void onFinishCallback(Operation operation) { - Logger.d("UploadReturnReceipt finished"); - long returnReceiptId = ((UploadReturnReceiptOperation) operation).getReturnReceiptId(); - scheduler.clearFailedCount(returnReceiptId); + public void onCancelCallback(Operation operation) { + String server = ((UploadReturnReceiptOperation) operation).getServer(); + IdentityAndLong[] returnReceiptOwnedIdentitiesAndIds = ((UploadReturnReceiptOperation) operation).getReturnReceiptOwnedIdentitiesAndIds(); + Integer rfc = operation.getReasonForCancel(); + Logger.i("UploadReturnReceiptOperation cancelled for reason " + rfc); + + if (returnReceiptOwnedIdentitiesAndIds != null) { + synchronized (returnReceiptOwnedIdentityAndIdByServer) { + Queue queue = returnReceiptOwnedIdentityAndIdByServer.get(server); + if (queue == null) { + queue = new ArrayDeque<>(); + returnReceiptOwnedIdentityAndIdByServer.put(server, queue); + } + queue.addAll(Arrays.asList(returnReceiptOwnedIdentitiesAndIds)); + } + } + scheduleNewSendReturnReceiptOperation(server); } // Notification received from OutboxAttachment database - @Override - public void newReturnReceipt(Identity ownedIdentity, long returnReceiptId) { - queueNewSendReturnReceiptOperation(ownedIdentity, returnReceiptId); + public void newReturnReceipt(String server, Identity ownedIdentity, long returnReceiptId) { + queueNewSendReturnReceiptOperation(server, ownedIdentity, returnReceiptId); + } + + + public interface ReturnReceiptBatchProvider { + IdentityAndLong[] getBatchOFReturnReceiptIds(); } class NotificationListener implements io.olvid.engine.datatypes.NotificationListener { @@ -168,12 +215,12 @@ public void callback(String notificationName, HashMap userInfo) } awaitingIdentityReactivationOperationsLock.lock(); - List list = awaitingIdentityReactivationOperations.get(ownedIdentity); + List list = awaitingIdentityReactivationOperations.get(ownedIdentity); if (list != null) { awaitingIdentityReactivationOperations.remove(ownedIdentity); - for (Long id: list) { - if (id != null) { - queueNewSendReturnReceiptOperation(ownedIdentity, id); + for (StringAndLong serverAndId: list) { + if (serverAndId != null) { + queueNewSendReturnReceiptOperation(serverAndId.string, ownedIdentity, serverAndId.lng); } } } diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/databases/MessageHeader.java b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/databases/MessageHeader.java index 8378fd56..07db1e94 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/databases/MessageHeader.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/databases/MessageHeader.java @@ -27,10 +27,10 @@ import java.util.List; import io.olvid.engine.Logger; +import io.olvid.engine.datatypes.EncryptedBytes; import io.olvid.engine.datatypes.Identity; import io.olvid.engine.datatypes.ObvDatabase; import io.olvid.engine.datatypes.Session; -import io.olvid.engine.datatypes.EncryptedBytes; import io.olvid.engine.datatypes.UID; import io.olvid.engine.encoder.DecodingException; import io.olvid.engine.networksend.datatypes.SendManagerSession; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/databases/OutboxAttachment.java b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/databases/OutboxAttachment.java index 6128e4a7..932867ab 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/databases/OutboxAttachment.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/databases/OutboxAttachment.java @@ -35,16 +35,16 @@ import io.olvid.engine.crypto.Hash; import io.olvid.engine.crypto.Suite; import io.olvid.engine.datatypes.Chunk; +import io.olvid.engine.datatypes.Constants; import io.olvid.engine.datatypes.Identity; import io.olvid.engine.datatypes.ObvDatabase; import io.olvid.engine.datatypes.Session; import io.olvid.engine.datatypes.UID; import io.olvid.engine.datatypes.key.symmetric.AuthEncKey; +import io.olvid.engine.datatypes.notifications.UploadNotifications; import io.olvid.engine.encoder.DecodingException; import io.olvid.engine.encoder.Encoded; -import io.olvid.engine.datatypes.Constants; import io.olvid.engine.networksend.datatypes.SendManagerSession; -import io.olvid.engine.datatypes.notifications.UploadNotifications; public class OutboxAttachment implements ObvDatabase { static final String TABLE_NAME = "outbox_attachment"; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/databases/OutboxMessage.java b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/databases/OutboxMessage.java index b57ab48c..d7e418c6 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/databases/OutboxMessage.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/databases/OutboxMessage.java @@ -28,9 +28,9 @@ import java.util.List; import io.olvid.engine.Logger; +import io.olvid.engine.datatypes.EncryptedBytes; import io.olvid.engine.datatypes.Identity; import io.olvid.engine.datatypes.ObvDatabase; -import io.olvid.engine.datatypes.EncryptedBytes; import io.olvid.engine.datatypes.Session; import io.olvid.engine.datatypes.UID; import io.olvid.engine.datatypes.notifications.UploadNotifications; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/databases/ReturnReceipt.java b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/databases/ReturnReceipt.java index 82412429..bf18ec05 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/databases/ReturnReceipt.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/databases/ReturnReceipt.java @@ -60,6 +60,7 @@ public class ReturnReceipt implements ObvDatabase { private Integer attachmentNumber; static final String ATTACHMENT_NUMBER = "attachment_number"; + public long getId() { return id; } @@ -150,6 +151,36 @@ public static ReturnReceipt get(SendManagerSession sendManagerSession, long retu } } + + public static ReturnReceipt[] getMany(SendManagerSession sendManagerSession, Long[] ids) throws SQLException { + if (ids == null) { + return null; + } + + // build a ?,? string + int count = ids.length; + StringBuilder sb = new StringBuilder(count * 2); + while (count-- > 1) { + sb.append("?,"); + } + sb.append("?"); + + try (PreparedStatement statement = sendManagerSession.session.prepareStatement("SELECT * FROM " + TABLE_NAME + + " WHERE " + ID + " IN (" + sb + ");")) { + for (int i = 0; i < ids.length; i++) { + statement.setLong(i + 1, ids[i]); + } + try (ResultSet res = statement.executeQuery()) { + List list = new ArrayList<>(); + while (res.next()) { + list.add(new ReturnReceipt(sendManagerSession, res)); + } + return list.toArray(new ReturnReceipt[0]); + } + } + } + + public static ReturnReceipt[] getAll(SendManagerSession sendManagerSession) throws SQLException { try (PreparedStatement statement = sendManagerSession.session.prepareStatement("SELECT * FROM " + TABLE_NAME + ";")) { try (ResultSet res = statement.executeQuery()) { @@ -236,7 +267,7 @@ public void delete() throws SQLException { // region hooks public interface NewReturnReceiptListener { - void newReturnReceipt(Identity ownedIdentity, long id); + void newReturnReceipt(String server, Identity ownedIdentity, long id); } private long commitHookBits = 0; @@ -246,7 +277,7 @@ public interface NewReturnReceiptListener { public void wasCommitted() { if ((commitHookBits & HOOK_BIT_INSERT) != 0) { if (sendManagerSession.newReturnReceiptListener != null) { - sendManagerSession.newReturnReceiptListener.newReturnReceipt(ownedIdentity, id); + sendManagerSession.newReturnReceiptListener.newReturnReceipt(contactIdentity.getServer(), ownedIdentity, id); } } } diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/operations/BatchUploadMessagesCompositeOperation.java b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/operations/BatchUploadMessagesCompositeOperation.java index ab133fc0..6905d4ec 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/operations/BatchUploadMessagesCompositeOperation.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/operations/BatchUploadMessagesCompositeOperation.java @@ -20,7 +20,6 @@ package io.olvid.engine.networksend.operations; import java.nio.charset.StandardCharsets; -import java.util.Collection; import java.util.Collections; import java.util.List; @@ -33,7 +32,7 @@ import io.olvid.engine.datatypes.UID; import io.olvid.engine.datatypes.containers.IdentityAndUid; import io.olvid.engine.datatypes.containers.StringAndBoolean; -import io.olvid.engine.networksend.coordinators.SendAttachmentCoordinator; +import io.olvid.engine.networksend.coordinators.SendMessageCoordinator; import io.olvid.engine.networksend.datatypes.SendManagerSessionFactory; @@ -45,11 +44,11 @@ public class BatchUploadMessagesCompositeOperation extends Operation { private final SendManagerSessionFactory sendManagerSessionFactory; private final SSLSocketFactory sslSocketFactory; private final String server; - private final SendAttachmentCoordinator.MessageBatchProvider messageBatchProvider; + private final SendMessageCoordinator.MessageBatchProvider messageBatchProvider; private IdentityAndUid[] messageIdentitiesAndUids; private Operation[] suboperations; - public BatchUploadMessagesCompositeOperation(SendManagerSessionFactory sendManagerSessionFactory, SSLSocketFactory sslSocketFactory, String server, boolean userContentMessages, SendAttachmentCoordinator.MessageBatchProvider messageBatchProvider, OnFinishCallback onFinishCallback, OnCancelCallback onCancelCallback) { + public BatchUploadMessagesCompositeOperation(SendManagerSessionFactory sendManagerSessionFactory, SSLSocketFactory sslSocketFactory, String server, boolean userContentMessages, SendMessageCoordinator.MessageBatchProvider messageBatchProvider, OnFinishCallback onFinishCallback, OnCancelCallback onCancelCallback) { super(StringAndBoolean.computeUniqueUid(server, userContentMessages), onFinishCallback, onCancelCallback); this.sendManagerSessionFactory = sendManagerSessionFactory; this.sslSocketFactory = sslSocketFactory; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/operations/UploadReturnReceiptOperation.java b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/operations/UploadReturnReceiptOperation.java index 09186995..59d2503c 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/networksend/operations/UploadReturnReceiptOperation.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/networksend/operations/UploadReturnReceiptOperation.java @@ -19,11 +19,18 @@ package io.olvid.engine.networksend.operations; +import java.nio.charset.StandardCharsets; import java.sql.SQLException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import javax.net.ssl.SSLSocketFactory; +import io.olvid.engine.Logger; import io.olvid.engine.crypto.AuthEnc; +import io.olvid.engine.crypto.Hash; import io.olvid.engine.crypto.PRNG; import io.olvid.engine.crypto.Suite; import io.olvid.engine.datatypes.EncryptedBytes; @@ -31,7 +38,9 @@ import io.olvid.engine.datatypes.Operation; import io.olvid.engine.datatypes.ServerMethod; import io.olvid.engine.datatypes.UID; +import io.olvid.engine.datatypes.containers.IdentityAndLong; import io.olvid.engine.encoder.Encoded; +import io.olvid.engine.networksend.coordinators.SendReturnReceiptCoordinator; import io.olvid.engine.networksend.databases.ReturnReceipt; import io.olvid.engine.networksend.datatypes.SendManagerSession; import io.olvid.engine.networksend.datatypes.SendManagerSessionFactory; @@ -39,31 +48,41 @@ public class UploadReturnReceiptOperation extends Operation { - public static final int RFC_RETURN_RECEIPT_NOT_FOUND = 1; - public static final int RFC_IDENTITY_IS_INACTIVE = 2; private final SendManagerSessionFactory sendManagerSessionFactory; private final SSLSocketFactory sslSocketFactory; - private final Identity ownedIdentity; - private final long returnReceiptId; + private final String server; private final PRNG prng; + private final SendReturnReceiptCoordinator.ReturnReceiptBatchProvider returnReceiptBatchProvider; + private final List identityInactiveReturnReceiptIds; + private IdentityAndLong[] returnReceiptOwnedIdentitiesAndIds; - public UploadReturnReceiptOperation(SendManagerSessionFactory sendManagerSessionFactory, SSLSocketFactory sslSocketFactory, Identity ownedIdentity, long returnReceiptId, PRNG prng, OnFinishCallback onFinishCallback, OnCancelCallback onCancelCallback) { - super(UID.fromLong(returnReceiptId), onFinishCallback, onCancelCallback); + public UploadReturnReceiptOperation(SendManagerSessionFactory sendManagerSessionFactory, SSLSocketFactory sslSocketFactory, String server, PRNG prng, SendReturnReceiptCoordinator.ReturnReceiptBatchProvider returnReceiptBatchProvider , OnFinishCallback onFinishCallback, OnCancelCallback onCancelCallback) { + super(computeUniqueUid(server), onFinishCallback, onCancelCallback); this.sendManagerSessionFactory = sendManagerSessionFactory; this.sslSocketFactory = sslSocketFactory; - this.ownedIdentity = ownedIdentity; - this.returnReceiptId = returnReceiptId; + this.server = server; this.prng = prng; + this.returnReceiptBatchProvider = returnReceiptBatchProvider; + this.identityInactiveReturnReceiptIds = new ArrayList<>(); } - public Identity getOwnedIdentity() { - return ownedIdentity; + private static UID computeUniqueUid(String server) { + Hash sha256 = Suite.getHash(Hash.SHA256); + return new UID(sha256.digest(server.getBytes(StandardCharsets.UTF_8))); } - public long getReturnReceiptId() { - return returnReceiptId; + public String getServer() { + return server; + } + + public IdentityAndLong[] getReturnReceiptOwnedIdentitiesAndIds() { + return returnReceiptOwnedIdentitiesAndIds; + } + + public List getIdentityInactiveReturnReceiptIds() { + return identityInactiveReturnReceiptIds; } @Override @@ -74,55 +93,75 @@ public void doCancel() { @Override public void doExecute() { boolean finished = false; - ReturnReceipt returnReceipt; try (SendManagerSession sendManagerSession = sendManagerSessionFactory.getSession()) { try { - returnReceipt = ReturnReceipt.get(sendManagerSession, returnReceiptId); + returnReceiptOwnedIdentitiesAndIds = returnReceiptBatchProvider.getBatchOFReturnReceiptIds(); + List returnReceiptAndEncryptedPayloads = new ArrayList<>(); - if (returnReceipt == null) { - cancel(RFC_RETURN_RECEIPT_NOT_FOUND); - return; + Logger.d("UploadReturnReceiptOperation uploading a batch of " + returnReceiptOwnedIdentitiesAndIds.length); + + HashMap> returnReceiptIdsByIdentity = new HashMap<>(); + for (IdentityAndLong identityAndUid : returnReceiptOwnedIdentitiesAndIds) { + List list = returnReceiptIdsByIdentity.get(identityAndUid.identity); + if (list == null) { + list = new ArrayList<>(); + returnReceiptIdsByIdentity.put(identityAndUid.identity, list); + } + list.add(identityAndUid.lng); + } + + for (Map.Entry> entry : returnReceiptIdsByIdentity.entrySet()) { + Identity ownedIdentity = entry.getKey(); + List returnReceiptIds = entry.getValue(); + // we need to block sending return receipts for any inactive ownedIdentity + if (!sendManagerSession.identityDelegate.isActiveOwnedIdentity(sendManagerSession.session,ownedIdentity)) { + for (Long returnReceiptId : returnReceiptIds) { + identityInactiveReturnReceiptIds.add(new IdentityAndLong(ownedIdentity, returnReceiptId)); + } + } else { + ReturnReceipt[] returnReceipts = ReturnReceipt.getMany(sendManagerSession, returnReceiptIds.toArray(new Long[0])); + for (ReturnReceipt returnReceipt : returnReceipts) { + // compute the encryptedPayload + final Encoded payload; + if (returnReceipt.getAttachmentNumber() == null) { + payload = Encoded.of(new Encoded[]{ + Encoded.of(returnReceipt.getOwnedIdentity()), + Encoded.of(returnReceipt.getStatus()), + }); + } else { + payload = Encoded.of(new Encoded[]{ + Encoded.of(returnReceipt.getOwnedIdentity()), + Encoded.of(returnReceipt.getStatus()), + Encoded.of(returnReceipt.getAttachmentNumber()), + }); + } + AuthEnc authEnc = Suite.getAuthEnc(returnReceipt.getKey()); + EncryptedBytes encryptedPayload = authEnc.encrypt(returnReceipt.getKey(), payload.getBytes(), prng); + + returnReceiptAndEncryptedPayloads.add(new ReturnReceiptAndEncryptedPayload(returnReceipt, encryptedPayload)); + } + } } + if (cancelWasRequested()) { return; } - // compute the encryptedPayload - final Encoded payload; - if (returnReceipt.getAttachmentNumber() == null) { - payload = Encoded.of(new Encoded[]{ - Encoded.of(returnReceipt.getOwnedIdentity()), - Encoded.of(returnReceipt.getStatus()), - }); - } else { - payload = Encoded.of(new Encoded[]{ - Encoded.of(returnReceipt.getOwnedIdentity()), - Encoded.of(returnReceipt.getStatus()), - Encoded.of(returnReceipt.getAttachmentNumber()), - }); - } - AuthEnc authEnc = Suite.getAuthEnc(returnReceipt.getKey()); - EncryptedBytes encryptedPayload = authEnc.encrypt(returnReceipt.getKey(), payload.getBytes(), prng); - - UploadReturnReceiptServerMethod serverMethod = new UploadReturnReceiptServerMethod( - returnReceipt.getContactIdentity().getServer(), - returnReceipt.getContactIdentity(), - returnReceipt.getContactDeviceUids(), - returnReceipt.getNonce(), - encryptedPayload); + + UploadReturnReceiptServerMethod serverMethod = new UploadReturnReceiptServerMethod(server, returnReceiptAndEncryptedPayloads); serverMethod.setSslSocketFactory(sslSocketFactory); - byte returnStatus = serverMethod.execute(sendManagerSession.identityDelegate.isActiveOwnedIdentity(sendManagerSession.session, ownedIdentity)); + byte returnStatus = serverMethod.execute(true); sendManagerSession.session.startTransaction(); switch (returnStatus) { case ServerMethod.OK: - returnReceipt.delete(); + for (ReturnReceiptAndEncryptedPayload returnReceiptAndEncryptedPayload : returnReceiptAndEncryptedPayloads) { + returnReceiptAndEncryptedPayload.returnReceipt.delete(); + } + finished = true; return; - case ServerMethod.IDENTITY_IS_NOT_ACTIVE: - cancel(RFC_IDENTITY_IS_INACTIVE); - return; default: cancel(null); } @@ -151,17 +190,11 @@ class UploadReturnReceiptServerMethod extends ServerMethod { private static final String SERVER_METHOD_PATH = "/uploadReturnReceipt"; private final String server; - private final Identity contactIdentity; - private final UID[] contactDeviceUids; - private final byte[] nonce; - private final EncryptedBytes encryptedPayload; + private final List returnReceiptAndEncryptedPayloads; - public UploadReturnReceiptServerMethod(String server, Identity contactIdentity, UID[] contactDeviceUids, byte[] nonce, EncryptedBytes encryptedPayload) { + public UploadReturnReceiptServerMethod(String server, List returnReceiptAndEncryptedPayloads) { this.server = server; - this.contactIdentity = contactIdentity; - this.contactDeviceUids = contactDeviceUids; - this.nonce = nonce; - this.encryptedPayload = encryptedPayload; + this.returnReceiptAndEncryptedPayloads = returnReceiptAndEncryptedPayloads; } @Override @@ -176,12 +209,16 @@ protected String getServerMethod() { @Override protected byte[] getDataToSend() { - return Encoded.of(new Encoded[]{ - Encoded.of(contactIdentity), - Encoded.of(contactDeviceUids), - Encoded.of(nonce), - Encoded.of(encryptedPayload), - }).getBytes(); + List encodeds = new ArrayList<>(); + for (ReturnReceiptAndEncryptedPayload returnReceiptAndEncryptedPayload : returnReceiptAndEncryptedPayloads) { + encodeds.add(Encoded.of(new Encoded[]{ + Encoded.of(returnReceiptAndEncryptedPayload.returnReceipt.getContactIdentity()), + Encoded.of(returnReceiptAndEncryptedPayload.returnReceipt.getContactDeviceUids()), + Encoded.of(returnReceiptAndEncryptedPayload.returnReceipt.getNonce()), + Encoded.of(returnReceiptAndEncryptedPayload.encryptedPayload) + })); + } + return Encoded.of(encodeds.toArray(new Encoded[0])).getBytes(); } @Override @@ -194,3 +231,13 @@ protected boolean isActiveIdentityRequired() { return true; } } + +class ReturnReceiptAndEncryptedPayload { + final ReturnReceipt returnReceipt; + final EncryptedBytes encryptedPayload; + + public ReturnReceiptAndEncryptedPayload(ReturnReceipt returnReceipt, EncryptedBytes encryptedPayload) { + this.returnReceipt = returnReceipt; + this.encryptedPayload = encryptedPayload; + } +} \ No newline at end of file diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/protocol/coordinators/ProtocolStepCoordinator.java b/obv_engine/engine/src/main/java/io/olvid/engine/protocol/coordinators/ProtocolStepCoordinator.java index a449372a..5c562938 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/protocol/coordinators/ProtocolStepCoordinator.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/protocol/coordinators/ProtocolStepCoordinator.java @@ -34,7 +34,6 @@ import io.olvid.engine.datatypes.containers.ChannelMessageToSend; import io.olvid.engine.datatypes.containers.DialogType; import io.olvid.engine.datatypes.containers.SendChannelInfo; -//import io.olvid.engine.protocol.databases.PostponedGroupManagementReceivedMessage; import io.olvid.engine.protocol.databases.ReceivedMessage; import io.olvid.engine.protocol.datatypes.CoreProtocolMessage; import io.olvid.engine.protocol.datatypes.ProtocolManagerSession; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/protocol/datatypes/ProtocolStarterDelegate.java b/obv_engine/engine/src/main/java/io/olvid/engine/protocol/datatypes/ProtocolStarterDelegate.java index 8d27a557..485c3ca3 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/protocol/datatypes/ProtocolStarterDelegate.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/protocol/datatypes/ProtocolStarterDelegate.java @@ -32,9 +32,9 @@ import io.olvid.engine.engine.types.JsonIdentityDetailsWithVersionAndPhoto; import io.olvid.engine.engine.types.ObvCapability; import io.olvid.engine.engine.types.ObvDeviceManagementRequest; -import io.olvid.engine.engine.types.sync.ObvSyncAtom; import io.olvid.engine.engine.types.identities.ObvGroupV2; import io.olvid.engine.engine.types.identities.ObvKeycloakState; +import io.olvid.engine.engine.types.sync.ObvSyncAtom; public interface ProtocolStarterDelegate { void startDeviceDiscoveryProtocol(Identity ownedIdentity, Identity contactIdentity) throws Exception; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocol_engine/ConcreteProtocol.java b/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocol_engine/ConcreteProtocol.java index 6b0f3242..b2489165 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocol_engine/ConcreteProtocol.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocol_engine/ConcreteProtocol.java @@ -34,8 +34,9 @@ import io.olvid.engine.protocol.datatypes.ProtocolManagerSession; import io.olvid.engine.protocol.protocols.ChannelCreationWithContactDeviceProtocol; import io.olvid.engine.protocol.protocols.ChannelCreationWithOwnedDeviceProtocol; -import io.olvid.engine.protocol.protocols.DeviceCapabilitiesDiscoveryProtocol; +import io.olvid.engine.protocol.protocols.ContactManagementProtocol; import io.olvid.engine.protocol.protocols.ContactMutualIntroductionProtocol; +import io.olvid.engine.protocol.protocols.DeviceCapabilitiesDiscoveryProtocol; import io.olvid.engine.protocol.protocols.DeviceDiscoveryChildProtocol; import io.olvid.engine.protocol.protocols.DeviceDiscoveryProtocol; import io.olvid.engine.protocol.protocols.DownloadGroupPhotoChildProtocol; @@ -48,7 +49,6 @@ import io.olvid.engine.protocol.protocols.IdentityDetailsPublicationProtocol; import io.olvid.engine.protocol.protocols.KeycloakBindingAndUnbindingProtocol; import io.olvid.engine.protocol.protocols.KeycloakContactAdditionProtocol; -import io.olvid.engine.protocol.protocols.ContactManagementProtocol; import io.olvid.engine.protocol.protocols.OneToOneContactInvitationProtocol; import io.olvid.engine.protocol.protocols.OwnedDeviceDiscoveryProtocol; import io.olvid.engine.protocol.protocols.OwnedDeviceManagementProtocol; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocols/ChannelCreationWithContactDeviceProtocol.java b/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocols/ChannelCreationWithContactDeviceProtocol.java index b743e938..b541e667 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocols/ChannelCreationWithContactDeviceProtocol.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocols/ChannelCreationWithContactDeviceProtocol.java @@ -48,8 +48,8 @@ import io.olvid.engine.protocol.databases.ChannelCreationProtocolInstance; import io.olvid.engine.protocol.databases.ReceivedMessage; import io.olvid.engine.protocol.datatypes.CoreProtocolMessage; -import io.olvid.engine.protocol.protocol_engine.ConcreteProtocol; import io.olvid.engine.protocol.datatypes.ProtocolManagerSession; +import io.olvid.engine.protocol.protocol_engine.ConcreteProtocol; import io.olvid.engine.protocol.protocol_engine.ConcreteProtocolMessage; import io.olvid.engine.protocol.protocol_engine.ConcreteProtocolState; import io.olvid.engine.protocol.protocol_engine.InitialProtocolState; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocols/DeviceDiscoveryChildProtocol.java b/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocols/DeviceDiscoveryChildProtocol.java index 9b45f2ba..42eb881e 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocols/DeviceDiscoveryChildProtocol.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocols/DeviceDiscoveryChildProtocol.java @@ -32,11 +32,11 @@ import io.olvid.engine.encoder.Encoded; import io.olvid.engine.protocol.databases.ReceivedMessage; import io.olvid.engine.protocol.datatypes.CoreProtocolMessage; +import io.olvid.engine.protocol.datatypes.ProtocolManagerSession; import io.olvid.engine.protocol.protocol_engine.ConcreteProtocol; import io.olvid.engine.protocol.protocol_engine.ConcreteProtocolMessage; import io.olvid.engine.protocol.protocol_engine.ConcreteProtocolState; import io.olvid.engine.protocol.protocol_engine.InitialProtocolState; -import io.olvid.engine.protocol.datatypes.ProtocolManagerSession; import io.olvid.engine.protocol.protocol_engine.ProtocolStep; public class DeviceDiscoveryChildProtocol extends ConcreteProtocol { diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocols/GroupManagementProtocol.java b/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocols/GroupManagementProtocol.java index 2e0b6751..f8c51000 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocols/GroupManagementProtocol.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocols/GroupManagementProtocol.java @@ -42,7 +42,6 @@ import io.olvid.engine.datatypes.containers.ServerQuery; import io.olvid.engine.datatypes.key.symmetric.AuthEncKey; import io.olvid.engine.encoder.Encoded; -//import io.olvid.engine.protocol.databases.PostponedGroupManagementReceivedMessage; import io.olvid.engine.engine.types.JsonGroupDetailsWithVersionAndPhoto; import io.olvid.engine.protocol.databases.ReceivedMessage; import io.olvid.engine.protocol.datatypes.CoreProtocolMessage; diff --git a/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocols/KeycloakBindingAndUnbindingProtocol.java b/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocols/KeycloakBindingAndUnbindingProtocol.java index 11c56203..4f673b71 100644 --- a/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocols/KeycloakBindingAndUnbindingProtocol.java +++ b/obv_engine/engine/src/main/java/io/olvid/engine/protocol/protocols/KeycloakBindingAndUnbindingProtocol.java @@ -19,11 +19,15 @@ package io.olvid.engine.protocol.protocols; +import static io.olvid.engine.protocol.protocols.KeycloakContactAdditionProtocol.FINISHED_STATE_ID; + import com.fasterxml.jackson.databind.ObjectMapper; import org.jose4j.jwk.JsonWebKey; import org.jose4j.jwk.JsonWebKeySet; +import java.util.HashMap; + import io.olvid.engine.Logger; import io.olvid.engine.crypto.PRNGService; import io.olvid.engine.datatypes.Identity; @@ -44,10 +48,6 @@ import io.olvid.engine.protocol.protocol_engine.InitialProtocolState; import io.olvid.engine.protocol.protocol_engine.ProtocolStep; -import static io.olvid.engine.protocol.protocols.KeycloakContactAdditionProtocol.FINISHED_STATE_ID; - -import java.util.HashMap; - public class KeycloakBindingAndUnbindingProtocol extends ConcreteProtocol { public KeycloakBindingAndUnbindingProtocol(ProtocolManagerSession protocolManagerSession, UID protocolInstanceUid, int currentStateId, Encoded encodedCurrentState, Identity ownedIdentity, PRNGService prng, ObjectMapper jsonObjectMapper) throws Exception { super(protocolManagerSession, protocolInstanceUid, currentStateId, encodedCurrentState, ownedIdentity, prng, jsonObjectMapper); diff --git a/obv_engine/engine/src/test/java/io/olvid/engine/backup/BackupManagerTest.java b/obv_engine/engine/src/test/java/io/olvid/engine/backup/BackupManagerTest.java index bdfac245..284d427d 100644 --- a/obv_engine/engine/src/test/java/io/olvid/engine/backup/BackupManagerTest.java +++ b/obv_engine/engine/src/test/java/io/olvid/engine/backup/BackupManagerTest.java @@ -19,12 +19,14 @@ package io.olvid.engine.backup; +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; + import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.Test; -import static org.junit.Assert.*; import java.net.URL; diff --git a/obv_engine/engine/src/test/java/io/olvid/engine/crypto/AsymmetricCryptoUnitTest.java b/obv_engine/engine/src/test/java/io/olvid/engine/crypto/AsymmetricCryptoUnitTest.java index 71fdd83a..8950b9e7 100644 --- a/obv_engine/engine/src/test/java/io/olvid/engine/crypto/AsymmetricCryptoUnitTest.java +++ b/obv_engine/engine/src/test/java/io/olvid/engine/crypto/AsymmetricCryptoUnitTest.java @@ -19,6 +19,9 @@ package io.olvid.engine.crypto; +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertTrue; + import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.MappingIterator; @@ -38,8 +41,6 @@ import io.olvid.engine.datatypes.key.asymmetric.SignaturePublicKey; import io.olvid.engine.encoder.Encoded; -import static org.junit.Assert.*; - public class AsymmetricCryptoUnitTest { static class TestVector { String plaintext; diff --git a/obv_engine/engine/src/test/java/io/olvid/engine/crypto/EdwardCurvesUnitTest.java b/obv_engine/engine/src/test/java/io/olvid/engine/crypto/EdwardCurvesUnitTest.java index 823161fa..342ad8b3 100644 --- a/obv_engine/engine/src/test/java/io/olvid/engine/crypto/EdwardCurvesUnitTest.java +++ b/obv_engine/engine/src/test/java/io/olvid/engine/crypto/EdwardCurvesUnitTest.java @@ -19,6 +19,9 @@ package io.olvid.engine.crypto; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.MappingIterator; @@ -31,8 +34,6 @@ import io.olvid.engine.datatypes.EdwardCurvePoint; -import static org.junit.Assert.*; - public class EdwardCurvesUnitTest { static class TestVector { diff --git a/obv_engine/engine/src/test/java/io/olvid/engine/crypto/ProofOfWorkUnitTest.java b/obv_engine/engine/src/test/java/io/olvid/engine/crypto/ProofOfWorkUnitTest.java index 9ed7dd89..de225b48 100644 --- a/obv_engine/engine/src/test/java/io/olvid/engine/crypto/ProofOfWorkUnitTest.java +++ b/obv_engine/engine/src/test/java/io/olvid/engine/crypto/ProofOfWorkUnitTest.java @@ -19,6 +19,8 @@ package io.olvid.engine.crypto; +import static org.junit.Assert.assertEquals; + import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.MappingIterator; @@ -30,8 +32,6 @@ import io.olvid.engine.encoder.Encoded; -import static org.junit.Assert.*; - public class ProofOfWorkUnitTest { static class TestVector { diff --git a/obv_engine/engine/src/test/java/io/olvid/engine/crypto/SymmetricCryptoUnitTest.java b/obv_engine/engine/src/test/java/io/olvid/engine/crypto/SymmetricCryptoUnitTest.java index 01d6f922..4be52e5a 100644 --- a/obv_engine/engine/src/test/java/io/olvid/engine/crypto/SymmetricCryptoUnitTest.java +++ b/obv_engine/engine/src/test/java/io/olvid/engine/crypto/SymmetricCryptoUnitTest.java @@ -19,6 +19,9 @@ package io.olvid.engine.crypto; +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; + import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.MappingIterator; @@ -36,8 +39,6 @@ import io.olvid.engine.datatypes.key.symmetric.MACHmacSha256Key; import io.olvid.engine.datatypes.key.symmetric.SymEncCTRAES256Key; -import static org.junit.Assert.*; - public class SymmetricCryptoUnitTest { static class TestVector { diff --git a/obv_engine/engine/src/test/java/io/olvid/engine/datatypes/ObvBase64Test.java b/obv_engine/engine/src/test/java/io/olvid/engine/datatypes/ObvBase64Test.java index 10aed972..162d2dbf 100644 --- a/obv_engine/engine/src/test/java/io/olvid/engine/datatypes/ObvBase64Test.java +++ b/obv_engine/engine/src/test/java/io/olvid/engine/datatypes/ObvBase64Test.java @@ -19,13 +19,14 @@ package io.olvid.engine.datatypes; +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; + import org.junit.Test; import java.security.SecureRandom; import java.util.Base64; -import static org.junit.Assert.*; - public class ObvBase64Test { @Test diff --git a/obv_engine/engine/src/test/java/io/olvid/engine/datatypes/OperationsUnitTest.java b/obv_engine/engine/src/test/java/io/olvid/engine/datatypes/OperationsUnitTest.java index 02b51560..025b7a07 100644 --- a/obv_engine/engine/src/test/java/io/olvid/engine/datatypes/OperationsUnitTest.java +++ b/obv_engine/engine/src/test/java/io/olvid/engine/datatypes/OperationsUnitTest.java @@ -21,8 +21,6 @@ import org.junit.Test; -import static org.junit.Assert.*; - public class OperationsUnitTest { Integer j; diff --git a/obv_engine/engine/src/test/java/io/olvid/engine/datatypes/PriorityOperationQueueTest.java b/obv_engine/engine/src/test/java/io/olvid/engine/datatypes/PriorityOperationQueueTest.java index 2a1cad2f..6b06b2ba 100644 --- a/obv_engine/engine/src/test/java/io/olvid/engine/datatypes/PriorityOperationQueueTest.java +++ b/obv_engine/engine/src/test/java/io/olvid/engine/datatypes/PriorityOperationQueueTest.java @@ -19,12 +19,13 @@ package io.olvid.engine.datatypes; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import org.junit.Test; import io.olvid.engine.Logger; -import static org.junit.Assert.*; - public class PriorityOperationQueueTest { @Test public void testPriorityOperation() { diff --git a/obv_engine/engine/src/test/java/io/olvid/engine/encoder/EncoderUnitTest.java b/obv_engine/engine/src/test/java/io/olvid/engine/encoder/EncoderUnitTest.java index 4ad1ac89..6a002974 100644 --- a/obv_engine/engine/src/test/java/io/olvid/engine/encoder/EncoderUnitTest.java +++ b/obv_engine/engine/src/test/java/io/olvid/engine/encoder/EncoderUnitTest.java @@ -19,25 +19,25 @@ package io.olvid.engine.encoder; -import org.junit.Test; - -import java.math.BigInteger; -import java.security.SecureRandom; +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.MappingIterator; import com.fasterxml.jackson.databind.ObjectMapper; +import org.junit.Test; + +import java.math.BigInteger; import java.net.URL; +import java.security.SecureRandom; import java.util.HashMap; import io.olvid.engine.datatypes.DictionaryKey; import io.olvid.engine.datatypes.key.asymmetric.EncryptionEciesPrivateKey; import io.olvid.engine.datatypes.key.asymmetric.EncryptionEciesPublicKey; -import static org.junit.Assert.*; - public class EncoderUnitTest { static class testVector { diff --git a/obv_messenger/app/build.gradle b/obv_messenger/app/build.gradle index fb80bbb2..9da95df7 100644 --- a/obv_messenger/app/build.gradle +++ b/obv_messenger/app/build.gradle @@ -16,8 +16,8 @@ android { applicationId "io.olvid.messenger" minSdkVersion 21 targetSdk 34 - versionCode 234 - versionName "2.0.1" + versionCode 235 + versionName "2.1" vectorDrawables.useSupportLibrary true multiDexEnabled true resourceConfigurations += ['en', 'fr'] @@ -80,6 +80,7 @@ android { prod { dimension "features" buildConfigField "String", "HARDCODED_API_KEY", "null" + buildConfigField "String", "HARDCODED_DATABASE_SECRET", "null" buildConfigField "String", "CONTENT_PROVIDER_URI_PREFIX", "\"content://io.olvid.messenger.PROVIDER/\"" buildConfigField "String", "SERVER_NAME", "\"https://server.olvid.io\"" buildConfigField "String", "KEYCLOAK_REDIRECT_URL", "\"https://openid-redirect.olvid.io/\"" @@ -130,8 +131,8 @@ dependencies { implementation 'com.google.android.material:material:1.11.0' - implementation 'androidx.core:core:1.12.0' - implementation 'androidx.core:core-ktx:1.12.0' + implementation 'androidx.core:core:1.13.0' + implementation 'androidx.core:core-ktx:1.13.0' def composeBom = platform 'androidx.compose:compose-bom:2023.10.01' implementation composeBom @@ -148,7 +149,7 @@ dependencies { implementation "com.google.accompanist:accompanist-themeadapter-appcompat:$accompanist_version" implementation "com.google.accompanist:accompanist-permissions:$accompanist_version" - final def coil_version = "2.5.0" + final def coil_version = "2.6.0" implementation "io.coil-kt:coil-compose:$coil_version" implementation "io.coil-kt:coil-video:$coil_version" implementation "io.coil-kt:coil-svg:$coil_version" @@ -163,28 +164,31 @@ dependencies { implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.emoji2:emoji2:1.4.0' implementation 'androidx.emoji2:emoji2-bundled:1.5.0-alpha01' - implementation 'androidx.activity:activity:1.8.2' + implementation 'androidx.activity:activity:1.9.0' implementation 'androidx.biometric:biometric:1.1.0' - implementation 'androidx.camera:camera-camera2:1.3.2' - implementation 'androidx.camera:camera-lifecycle:1.3.2' - implementation 'androidx.camera:camera-view:1.3.2' + implementation 'androidx.camera:camera-camera2:1.3.3' + implementation 'androidx.camera:camera-lifecycle:1.3.3' + implementation 'androidx.camera:camera-view:1.3.3' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'androidx.core:core-splashscreen:1.0.1' implementation 'androidx.exifinterface:exifinterface:1.3.7' implementation 'androidx.fragment:fragment:1.6.2' - implementation 'androidx.media3:media3-exoplayer:1.3.0' - implementation 'androidx.media3:media3-ui:1.3.0' + implementation 'androidx.media3:media3-exoplayer:1.3.1' + implementation 'androidx.media3:media3-ui:1.3.1' implementation 'androidx.media:media:1.7.0' - implementation 'androidx.navigation:navigation-fragment:2.7.7' - implementation 'androidx.navigation:navigation-ui:2.7.7' - implementation 'androidx.navigation:navigation-compose:2.7.7' + final def navigation_version = "2.7.7" + implementation "androidx.navigation:navigation-fragment:$navigation_version" + implementation "androidx.navigation:navigation-ui:$navigation_version" + implementation "androidx.navigation:navigation-compose:$navigation_version" implementation 'androidx.preference:preference:1.2.1' implementation 'androidx.recyclerview:recyclerview:1.3.2' implementation 'androidx.room:room-runtime:2.6.1' + implementation 'net.zetetic:sqlcipher-android:4.5.6@aar' implementation 'androidx.sharetarget:sharetarget:1.2.0' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' implementation 'androidx.work:work-runtime:2.9.0' - implementation 'androidx.datastore:datastore-preferences:1.0.0' + implementation 'androidx.datastore:datastore-preferences:1.1.0' + implementation 'androidx.security:security-crypto-ktx:1.1.0-alpha06' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.0' implementation 'org.jsoup:jsoup:1.17.2' @@ -209,7 +213,7 @@ dependencies { /////////// // Billing - fullImplementation 'com.android.billingclient:billing:6.2.0' + fullImplementation 'com.android.billingclient:billing:6.2.1' // Firebase fullImplementation('com.google.firebase:firebase-messaging:23.4.1') { @@ -223,7 +227,7 @@ dependencies { fullImplementation 'com.google.android.gms:play-services-location:21.2.0' // Google Drive - fullImplementation 'com.google.android.gms:play-services-auth:21.0.0' + fullImplementation 'com.google.android.gms:play-services-auth:21.1.0' fullImplementation('com.google.http-client:google-http-client-gson:1.44.1') { exclude group: 'org.apache.httpcomponents' } diff --git a/obv_messenger/app/schemas/io.olvid.messenger.databases.AppDatabase/67.json b/obv_messenger/app/schemas/io.olvid.messenger.databases.AppDatabase/67.json new file mode 100644 index 00000000..88b38864 --- /dev/null +++ b/obv_messenger/app/schemas/io.olvid.messenger.databases.AppDatabase/67.json @@ -0,0 +1,3006 @@ +{ + "formatVersion": 1, + "database": { + "version": 67, + "identityHash": "a08f5aaa3e3de1fab22b3474d6442ab4", + "entities": [ + { + "tableName": "contact_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`bytes_contact_identity` BLOB NOT NULL, `bytes_owned_identity` BLOB NOT NULL, `custom_display_name` TEXT, `display_name` TEXT NOT NULL, `first_name` TEXT, `sort_display_name` BLOB NOT NULL, `full_search_display_name` TEXT NOT NULL, `identity_details` TEXT, `new_published_details` INTEGER NOT NULL, `device_count` INTEGER NOT NULL, `established_channel_count` INTEGER NOT NULL, `photo_url` TEXT, `custom_photo_url` TEXT, `keycloak_managed` INTEGER NOT NULL, `custom_name_hue` INTEGER, `personal_note` TEXT, `active` INTEGER NOT NULL, `one_to_one` INTEGER NOT NULL, `trust_level` INTEGER NOT NULL, `capability_webrtc_continuous_ice` INTEGER NOT NULL, `capability_groups_v2` INTEGER NOT NULL, `capability_one_to_one_contacts` INTEGER NOT NULL, PRIMARY KEY(`bytes_owned_identity`, `bytes_contact_identity`), FOREIGN KEY(`bytes_owned_identity`) REFERENCES `identity_table`(`bytes_owned_identity`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "bytesContactIdentity", + "columnName": "bytes_contact_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "bytesOwnedIdentity", + "columnName": "bytes_owned_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "customDisplayName", + "columnName": "custom_display_name", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "displayName", + "columnName": "display_name", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "firstName", + "columnName": "first_name", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "sortDisplayName", + "columnName": "sort_display_name", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "fullSearchDisplayName", + "columnName": "full_search_display_name", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "identityDetails", + "columnName": "identity_details", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "newPublishedDetails", + "columnName": "new_published_details", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "deviceCount", + "columnName": "device_count", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "establishedChannelCount", + "columnName": "established_channel_count", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "photoUrl", + "columnName": "photo_url", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "customPhotoUrl", + "columnName": "custom_photo_url", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "keycloakManaged", + "columnName": "keycloak_managed", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "customNameHue", + "columnName": "custom_name_hue", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "personalNote", + "columnName": "personal_note", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "active", + "columnName": "active", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "oneToOne", + "columnName": "one_to_one", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "trustLevel", + "columnName": "trust_level", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "capabilityWebrtcContinuousIce", + "columnName": "capability_webrtc_continuous_ice", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "capabilityGroupsV2", + "columnName": "capability_groups_v2", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "capabilityOneToOneContacts", + "columnName": "capability_one_to_one_contacts", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "bytes_owned_identity", + "bytes_contact_identity" + ] + }, + "indices": [ + { + "name": "index_contact_table_bytes_owned_identity", + "unique": false, + "columnNames": [ + "bytes_owned_identity" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_contact_table_bytes_owned_identity` ON `${TABLE_NAME}` (`bytes_owned_identity`)" + }, + { + "name": "index_contact_table_display_name", + "unique": false, + "columnNames": [ + "display_name" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_contact_table_display_name` ON `${TABLE_NAME}` (`display_name`)" + }, + { + "name": "index_contact_table_custom_display_name", + "unique": false, + "columnNames": [ + "custom_display_name" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_contact_table_custom_display_name` ON `${TABLE_NAME}` (`custom_display_name`)" + }, + { + "name": "index_contact_table_sort_display_name", + "unique": false, + "columnNames": [ + "sort_display_name" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_contact_table_sort_display_name` ON `${TABLE_NAME}` (`sort_display_name`)" + } + ], + "foreignKeys": [ + { + "table": "identity_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "bytes_owned_identity" + ], + "referencedColumns": [ + "bytes_owned_identity" + ] + } + ] + }, + { + "tableName": "group_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`bytes_group_owner_and_uid` BLOB NOT NULL, `bytes_owned_identity` BLOB NOT NULL, `custom_name` TEXT, `name` TEXT NOT NULL, `new_published_details` INTEGER NOT NULL, `bytes_group_owner_identity` BLOB, `photo_url` TEXT, `group_members_names` TEXT NOT NULL, `custom_photo_url` TEXT, `personal_note` TEXT, PRIMARY KEY(`bytes_group_owner_and_uid`, `bytes_owned_identity`), FOREIGN KEY(`bytes_owned_identity`) REFERENCES `identity_table`(`bytes_owned_identity`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`bytes_group_owner_identity`, `bytes_owned_identity`) REFERENCES `contact_table`(`bytes_contact_identity`, `bytes_owned_identity`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "bytesGroupOwnerAndUid", + "columnName": "bytes_group_owner_and_uid", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "bytesOwnedIdentity", + "columnName": "bytes_owned_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "customName", + "columnName": "custom_name", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "name", + "columnName": "name", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "newPublishedDetails", + "columnName": "new_published_details", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "bytesGroupOwnerIdentity", + "columnName": "bytes_group_owner_identity", + "affinity": "BLOB", + "notNull": false + }, + { + "fieldPath": "photoUrl", + "columnName": "photo_url", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "groupMembersNames", + "columnName": "group_members_names", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "customPhotoUrl", + "columnName": "custom_photo_url", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "personalNote", + "columnName": "personal_note", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "bytes_group_owner_and_uid", + "bytes_owned_identity" + ] + }, + "indices": [ + { + "name": "index_group_table_name", + "unique": false, + "columnNames": [ + "name" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_group_table_name` ON `${TABLE_NAME}` (`name`)" + }, + { + "name": "index_group_table_bytes_owned_identity", + "unique": false, + "columnNames": [ + "bytes_owned_identity" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_group_table_bytes_owned_identity` ON `${TABLE_NAME}` (`bytes_owned_identity`)" + }, + { + "name": "index_group_table_bytes_group_owner_identity_bytes_owned_identity", + "unique": false, + "columnNames": [ + "bytes_group_owner_identity", + "bytes_owned_identity" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_group_table_bytes_group_owner_identity_bytes_owned_identity` ON `${TABLE_NAME}` (`bytes_group_owner_identity`, `bytes_owned_identity`)" + } + ], + "foreignKeys": [ + { + "table": "identity_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "bytes_owned_identity" + ], + "referencedColumns": [ + "bytes_owned_identity" + ] + }, + { + "table": "contact_table", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "bytes_group_owner_identity", + "bytes_owned_identity" + ], + "referencedColumns": [ + "bytes_contact_identity", + "bytes_owned_identity" + ] + } + ] + }, + { + "tableName": "contact_group_join", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`bytes_group_owner_and_uid` BLOB NOT NULL, `bytes_contact_identity` BLOB NOT NULL, `bytes_owned_identity` BLOB NOT NULL, `timestamp` INTEGER NOT NULL, PRIMARY KEY(`bytes_group_owner_and_uid`, `bytes_owned_identity`, `bytes_contact_identity`), FOREIGN KEY(`bytes_group_owner_and_uid`, `bytes_owned_identity`) REFERENCES `group_table`(`bytes_group_owner_and_uid`, `bytes_owned_identity`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`bytes_contact_identity`, `bytes_owned_identity`) REFERENCES `contact_table`(`bytes_contact_identity`, `bytes_owned_identity`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "bytesGroupUid", + "columnName": "bytes_group_owner_and_uid", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "bytesContactIdentity", + "columnName": "bytes_contact_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "bytesOwnedIdentity", + "columnName": "bytes_owned_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "bytes_group_owner_and_uid", + "bytes_owned_identity", + "bytes_contact_identity" + ] + }, + "indices": [ + { + "name": "index_contact_group_join_bytes_group_owner_and_uid_bytes_owned_identity", + "unique": false, + "columnNames": [ + "bytes_group_owner_and_uid", + "bytes_owned_identity" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_contact_group_join_bytes_group_owner_and_uid_bytes_owned_identity` ON `${TABLE_NAME}` (`bytes_group_owner_and_uid`, `bytes_owned_identity`)" + }, + { + "name": "index_contact_group_join_bytes_contact_identity_bytes_owned_identity", + "unique": false, + "columnNames": [ + "bytes_contact_identity", + "bytes_owned_identity" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_contact_group_join_bytes_contact_identity_bytes_owned_identity` ON `${TABLE_NAME}` (`bytes_contact_identity`, `bytes_owned_identity`)" + } + ], + "foreignKeys": [ + { + "table": "group_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "bytes_group_owner_and_uid", + "bytes_owned_identity" + ], + "referencedColumns": [ + "bytes_group_owner_and_uid", + "bytes_owned_identity" + ] + }, + { + "table": "contact_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "bytes_contact_identity", + "bytes_owned_identity" + ], + "referencedColumns": [ + "bytes_contact_identity", + "bytes_owned_identity" + ] + } + ] + }, + { + "tableName": "pending_group_member_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`bytes_identity` BLOB NOT NULL, `display_name` TEXT NOT NULL, `bytes_owned_identity` BLOB NOT NULL, `bytes_group_owner_and_uid` BLOB NOT NULL, `declined` INTEGER NOT NULL, PRIMARY KEY(`bytes_identity`, `bytes_owned_identity`, `bytes_group_owner_and_uid`), FOREIGN KEY(`bytes_group_owner_and_uid`, `bytes_owned_identity`) REFERENCES `group_table`(`bytes_group_owner_and_uid`, `bytes_owned_identity`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "bytesIdentity", + "columnName": "bytes_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "displayName", + "columnName": "display_name", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "bytesOwnedIdentity", + "columnName": "bytes_owned_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "bytesGroupOwnerAndUid", + "columnName": "bytes_group_owner_and_uid", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "declined", + "columnName": "declined", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "bytes_identity", + "bytes_owned_identity", + "bytes_group_owner_and_uid" + ] + }, + "indices": [ + { + "name": "index_pending_group_member_table_bytes_group_owner_and_uid_bytes_owned_identity", + "unique": false, + "columnNames": [ + "bytes_group_owner_and_uid", + "bytes_owned_identity" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_pending_group_member_table_bytes_group_owner_and_uid_bytes_owned_identity` ON `${TABLE_NAME}` (`bytes_group_owner_and_uid`, `bytes_owned_identity`)" + } + ], + "foreignKeys": [ + { + "table": "group_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "bytes_group_owner_and_uid", + "bytes_owned_identity" + ], + "referencedColumns": [ + "bytes_group_owner_and_uid", + "bytes_owned_identity" + ] + } + ] + }, + { + "tableName": "discussion_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `title` TEXT, `bytes_owned_identity` BLOB NOT NULL, `discussion_type` INTEGER NOT NULL, `bytes_discussion_identifier` BLOB NOT NULL, `sender_thread_identifier` TEXT NOT NULL, `last_outbound_message_sequence_number` INTEGER NOT NULL, `last_message_timestamp` INTEGER NOT NULL, `photo_url` TEXT, `keycloak_managed` INTEGER NOT NULL, `unread` INTEGER NOT NULL, `pinned` INTEGER NOT NULL, `active` INTEGER NOT NULL, `trust_level` INTEGER, `status` INTEGER NOT NULL, FOREIGN KEY(`bytes_owned_identity`) REFERENCES `identity_table`(`bytes_owned_identity`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "title", + "columnName": "title", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "bytesOwnedIdentity", + "columnName": "bytes_owned_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "discussionType", + "columnName": "discussion_type", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "bytesDiscussionIdentifier", + "columnName": "bytes_discussion_identifier", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "senderThreadIdentifier", + "columnName": "sender_thread_identifier", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "lastOutboundMessageSequenceNumber", + "columnName": "last_outbound_message_sequence_number", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "lastMessageTimestamp", + "columnName": "last_message_timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "photoUrl", + "columnName": "photo_url", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "keycloakManaged", + "columnName": "keycloak_managed", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "unread", + "columnName": "unread", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "pinned", + "columnName": "pinned", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "active", + "columnName": "active", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "trustLevel", + "columnName": "trust_level", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "status", + "columnName": "status", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + }, + "indices": [ + { + "name": "index_discussion_table_bytes_owned_identity", + "unique": false, + "columnNames": [ + "bytes_owned_identity" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_discussion_table_bytes_owned_identity` ON `${TABLE_NAME}` (`bytes_owned_identity`)" + }, + { + "name": "index_discussion_table_bytes_owned_identity_discussion_type_bytes_discussion_identifier", + "unique": true, + "columnNames": [ + "bytes_owned_identity", + "discussion_type", + "bytes_discussion_identifier" + ], + "orders": [], + "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_discussion_table_bytes_owned_identity_discussion_type_bytes_discussion_identifier` ON `${TABLE_NAME}` (`bytes_owned_identity`, `discussion_type`, `bytes_discussion_identifier`)" + }, + { + "name": "index_discussion_table_title", + "unique": false, + "columnNames": [ + "title" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_discussion_table_title` ON `${TABLE_NAME}` (`title`)" + } + ], + "foreignKeys": [ + { + "table": "identity_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "bytes_owned_identity" + ], + "referencedColumns": [ + "bytes_owned_identity" + ] + } + ] + }, + { + "tableName": "discussion_customization_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`discussion_id` INTEGER NOT NULL, `serialized_color_json` TEXT, `background_image_url` TEXT, `pref_send_read_receipt` INTEGER, `pref_mute_notifications` INTEGER NOT NULL, `pref_mute_notifications_except_mentioned` INTEGER NOT NULL, `pref_mute_notifications_timestamp` INTEGER, `pref_auto_open_limited_visibility_inbound` INTEGER, `pref_retain_wiped_outbound_messages` INTEGER, `pref_discussion_retention_count` INTEGER, `pref_discussion_retention_duration` INTEGER, `pref_use_custom_message_notification` INTEGER NOT NULL, `pref_message_notification_ringtone` TEXT, `pref_message_notification_vibration_pattern` TEXT, `pref_message_notification_led_color` TEXT, `pref_use_custom_call_notification` INTEGER NOT NULL, `pref_call_notification_ringtone` TEXT, `pref_call_notification_vibration_pattern` TEXT, `pref_call_notification_use_flash` INTEGER NOT NULL, `shared_settings_version` INTEGER, `setting_existence_duration` INTEGER, `setting_visibility_duration` INTEGER, `setting_read_once` INTEGER NOT NULL, PRIMARY KEY(`discussion_id`), FOREIGN KEY(`discussion_id`) REFERENCES `discussion_table`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "discussionId", + "columnName": "discussion_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "serializedColorJson", + "columnName": "serialized_color_json", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "backgroundImageUrl", + "columnName": "background_image_url", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "prefSendReadReceipt", + "columnName": "pref_send_read_receipt", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "prefMuteNotifications", + "columnName": "pref_mute_notifications", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "prefMuteNotificationsExceptMentioned", + "columnName": "pref_mute_notifications_except_mentioned", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "prefMuteNotificationsTimestamp", + "columnName": "pref_mute_notifications_timestamp", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "prefAutoOpenLimitedVisibilityInboundMessages", + "columnName": "pref_auto_open_limited_visibility_inbound", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "prefRetainWipedOutboundMessages", + "columnName": "pref_retain_wiped_outbound_messages", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "prefDiscussionRetentionCount", + "columnName": "pref_discussion_retention_count", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "prefDiscussionRetentionDuration", + "columnName": "pref_discussion_retention_duration", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "prefUseCustomMessageNotification", + "columnName": "pref_use_custom_message_notification", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "prefMessageNotificationRingtone", + "columnName": "pref_message_notification_ringtone", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "prefMessageNotificationVibrationPattern", + "columnName": "pref_message_notification_vibration_pattern", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "prefMessageNotificationLedColor", + "columnName": "pref_message_notification_led_color", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "prefUseCustomCallNotification", + "columnName": "pref_use_custom_call_notification", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "prefCallNotificationRingtone", + "columnName": "pref_call_notification_ringtone", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "prefCallNotificationVibrationPattern", + "columnName": "pref_call_notification_vibration_pattern", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "prefCallNotificationUseFlash", + "columnName": "pref_call_notification_use_flash", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "sharedSettingsVersion", + "columnName": "shared_settings_version", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "settingExistenceDuration", + "columnName": "setting_existence_duration", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "settingVisibilityDuration", + "columnName": "setting_visibility_duration", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "settingReadOnce", + "columnName": "setting_read_once", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "discussion_id" + ] + }, + "indices": [ + { + "name": "index_discussion_customization_table_discussion_id", + "unique": false, + "columnNames": [ + "discussion_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_discussion_customization_table_discussion_id` ON `${TABLE_NAME}` (`discussion_id`)" + } + ], + "foreignKeys": [ + { + "table": "discussion_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "discussion_id" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "fyle_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `permanent_file_path` TEXT, `sha256` BLOB)", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "filePath", + "columnName": "permanent_file_path", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "sha256", + "columnName": "sha256", + "affinity": "BLOB", + "notNull": false + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + }, + "indices": [ + { + "name": "index_fyle_table_sha256", + "unique": true, + "columnNames": [ + "sha256" + ], + "orders": [], + "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_fyle_table_sha256` ON `${TABLE_NAME}` (`sha256`)" + } + ], + "foreignKeys": [] + }, + { + "tableName": "fyle_message_join_with_status", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`fyle_id` INTEGER NOT NULL, `message_id` INTEGER NOT NULL, `bytes_owned_identity` BLOB NOT NULL, `file_path` TEXT NOT NULL, `file_name` TEXT NOT NULL, `text_extracted` INTEGER NOT NULL, `text_content` TEXT, `file_type` TEXT, `status` INTEGER NOT NULL, `size` INTEGER NOT NULL, `progress` REAL NOT NULL, `engine_message_identifier` BLOB, `engine_number` INTEGER, `image_resolution` TEXT, `mini_preview` BLOB, `audio_played` INTEGER NOT NULL, `reception_status` INTEGER NOT NULL, PRIMARY KEY(`fyle_id`, `message_id`), FOREIGN KEY(`fyle_id`) REFERENCES `fyle_table`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`message_id`) REFERENCES `message_table`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`bytes_owned_identity`) REFERENCES `identity_table`(`bytes_owned_identity`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "fyleId", + "columnName": "fyle_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "messageId", + "columnName": "message_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "bytesOwnedIdentity", + "columnName": "bytes_owned_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "filePath", + "columnName": "file_path", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "fileName", + "columnName": "file_name", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "textExtracted", + "columnName": "text_extracted", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "textContent", + "columnName": "text_content", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "mimeType", + "columnName": "file_type", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "status", + "columnName": "status", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "size", + "columnName": "size", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "progress", + "columnName": "progress", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "engineMessageIdentifier", + "columnName": "engine_message_identifier", + "affinity": "BLOB", + "notNull": false + }, + { + "fieldPath": "engineNumber", + "columnName": "engine_number", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "imageResolution", + "columnName": "image_resolution", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "miniPreview", + "columnName": "mini_preview", + "affinity": "BLOB", + "notNull": false + }, + { + "fieldPath": "wasOpened", + "columnName": "audio_played", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "receptionStatus", + "columnName": "reception_status", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "fyle_id", + "message_id" + ] + }, + "indices": [ + { + "name": "index_fyle_message_join_with_status_fyle_id", + "unique": false, + "columnNames": [ + "fyle_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_fyle_message_join_with_status_fyle_id` ON `${TABLE_NAME}` (`fyle_id`)" + }, + { + "name": "index_fyle_message_join_with_status_message_id", + "unique": false, + "columnNames": [ + "message_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_fyle_message_join_with_status_message_id` ON `${TABLE_NAME}` (`message_id`)" + }, + { + "name": "index_fyle_message_join_with_status_engine_message_identifier_engine_number", + "unique": false, + "columnNames": [ + "engine_message_identifier", + "engine_number" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_fyle_message_join_with_status_engine_message_identifier_engine_number` ON `${TABLE_NAME}` (`engine_message_identifier`, `engine_number`)" + }, + { + "name": "index_fyle_message_join_with_status_message_id_engine_number", + "unique": false, + "columnNames": [ + "message_id", + "engine_number" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_fyle_message_join_with_status_message_id_engine_number` ON `${TABLE_NAME}` (`message_id`, `engine_number`)" + }, + { + "name": "index_fyle_message_join_with_status_bytes_owned_identity", + "unique": false, + "columnNames": [ + "bytes_owned_identity" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_fyle_message_join_with_status_bytes_owned_identity` ON `${TABLE_NAME}` (`bytes_owned_identity`)" + } + ], + "foreignKeys": [ + { + "table": "fyle_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "fyle_id" + ], + "referencedColumns": [ + "id" + ] + }, + { + "table": "message_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "message_id" + ], + "referencedColumns": [ + "id" + ] + }, + { + "table": "identity_table", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "bytes_owned_identity" + ], + "referencedColumns": [ + "bytes_owned_identity" + ] + } + ] + }, + { + "ftsVersion": "FTS4", + "ftsOptions": { + "tokenizer": "unicode61", + "tokenizerArgs": [ + "remove_diacritics=2" + ], + "contentTable": "fyle_message_join_with_status", + "languageIdColumnName": "", + "matchInfo": "FTS4", + "notIndexedColumns": [], + "prefixSizes": [], + "preferredOrder": "ASC" + }, + "contentSyncTriggers": [ + "CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_fyle_message_join_with_status_fts_BEFORE_UPDATE BEFORE UPDATE ON `fyle_message_join_with_status` BEGIN DELETE FROM `fyle_message_join_with_status_fts` WHERE `docid`=OLD.`rowid`; END", + "CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_fyle_message_join_with_status_fts_BEFORE_DELETE BEFORE DELETE ON `fyle_message_join_with_status` BEGIN DELETE FROM `fyle_message_join_with_status_fts` WHERE `docid`=OLD.`rowid`; END", + "CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_fyle_message_join_with_status_fts_AFTER_UPDATE AFTER UPDATE ON `fyle_message_join_with_status` BEGIN INSERT INTO `fyle_message_join_with_status_fts`(`docid`, `file_name`, `text_content`) VALUES (NEW.`rowid`, NEW.`file_name`, NEW.`text_content`); END", + "CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_fyle_message_join_with_status_fts_AFTER_INSERT AFTER INSERT ON `fyle_message_join_with_status` BEGIN INSERT INTO `fyle_message_join_with_status_fts`(`docid`, `file_name`, `text_content`) VALUES (NEW.`rowid`, NEW.`file_name`, NEW.`text_content`); END" + ], + "tableName": "fyle_message_join_with_status_fts", + "createSql": "CREATE VIRTUAL TABLE IF NOT EXISTS `${TABLE_NAME}` USING FTS4(`file_name` TEXT NOT NULL, `text_content` TEXT NOT NULL, tokenize=unicode61 `remove_diacritics=2`, content=`fyle_message_join_with_status`)", + "fields": [ + { + "fieldPath": "fileName", + "columnName": "file_name", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "textContent", + "columnName": "text_content", + "affinity": "TEXT", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [] + }, + "indices": [], + "foreignKeys": [] + }, + { + "tableName": "invitation_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`dialog_uuid` TEXT NOT NULL, `bytes_owned_identity` BLOB NOT NULL, `bytes_contact_identity` BLOB, `associated_dialog` BLOB NOT NULL, `invitation_timestamp` INTEGER NOT NULL, `category_id` INTEGER NOT NULL, `discussion_id` INTEGER, PRIMARY KEY(`dialog_uuid`), FOREIGN KEY(`bytes_owned_identity`) REFERENCES `identity_table`(`bytes_owned_identity`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "dialogUuid", + "columnName": "dialog_uuid", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "bytesOwnedIdentity", + "columnName": "bytes_owned_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "bytesContactIdentity", + "columnName": "bytes_contact_identity", + "affinity": "BLOB", + "notNull": false + }, + { + "fieldPath": "associatedDialog", + "columnName": "associated_dialog", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "invitationTimestamp", + "columnName": "invitation_timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "categoryId", + "columnName": "category_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "discussionId", + "columnName": "discussion_id", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "dialog_uuid" + ] + }, + "indices": [ + { + "name": "index_invitation_table_bytes_owned_identity", + "unique": false, + "columnNames": [ + "bytes_owned_identity" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_invitation_table_bytes_owned_identity` ON `${TABLE_NAME}` (`bytes_owned_identity`)" + } + ], + "foreignKeys": [ + { + "table": "identity_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "bytes_owned_identity" + ], + "referencedColumns": [ + "bytes_owned_identity" + ] + } + ] + }, + { + "tableName": "message_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `sender_sequence_number` INTEGER NOT NULL, `content_body` TEXT, `json_reply` TEXT, `json_expiration` TEXT, `json_return_receipt` TEXT, `json_location` TEXT, `location_type` INTEGER NOT NULL, `sort_index` REAL NOT NULL, `timestamp` INTEGER NOT NULL, `status` INTEGER NOT NULL, `wipe_status` INTEGER NOT NULL, `message_type` INTEGER NOT NULL, `discussion_id` INTEGER NOT NULL, `engine_message_identifier` BLOB, `sender_identifier` BLOB NOT NULL, `sender_thread_identifier` TEXT NOT NULL, `total_attachment_count` INTEGER NOT NULL, `image_count` INTEGER NOT NULL, `wiped_attachment_count` INTEGER NOT NULL, `edited` INTEGER NOT NULL, `forwarded` INTEGER NOT NULL, `mentioned` INTEGER NOT NULL, `reactions` TEXT, `image_resolutions` TEXT, `missed_message_count` INTEGER NOT NULL, `expiration_start_timestamp` INTEGER NOT NULL, `limited_visibility` INTEGER NOT NULL, `link_preview_fyle_id` INTEGER, `json_mentions` TEXT, FOREIGN KEY(`discussion_id`) REFERENCES `discussion_table`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "senderSequenceNumber", + "columnName": "sender_sequence_number", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "contentBody", + "columnName": "content_body", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "jsonReply", + "columnName": "json_reply", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "jsonExpiration", + "columnName": "json_expiration", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "jsonReturnReceipt", + "columnName": "json_return_receipt", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "jsonLocation", + "columnName": "json_location", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "locationType", + "columnName": "location_type", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "sortIndex", + "columnName": "sort_index", + "affinity": "REAL", + "notNull": true + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "status", + "columnName": "status", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "wipeStatus", + "columnName": "wipe_status", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "messageType", + "columnName": "message_type", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "discussionId", + "columnName": "discussion_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "inboundMessageEngineIdentifier", + "columnName": "engine_message_identifier", + "affinity": "BLOB", + "notNull": false + }, + { + "fieldPath": "senderIdentifier", + "columnName": "sender_identifier", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "senderThreadIdentifier", + "columnName": "sender_thread_identifier", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "totalAttachmentCount", + "columnName": "total_attachment_count", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "imageCount", + "columnName": "image_count", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "wipedAttachmentCount", + "columnName": "wiped_attachment_count", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "edited", + "columnName": "edited", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "forwarded", + "columnName": "forwarded", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "mentioned", + "columnName": "mentioned", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "reactions", + "columnName": "reactions", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "imageResolutions", + "columnName": "image_resolutions", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "missedMessageCount", + "columnName": "missed_message_count", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "expirationStartTimestamp", + "columnName": "expiration_start_timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "limitedVisibility", + "columnName": "limited_visibility", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "linkPreviewFyleId", + "columnName": "link_preview_fyle_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "jsonMentions", + "columnName": "json_mentions", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + }, + "indices": [ + { + "name": "index_message_table_discussion_id", + "unique": false, + "columnNames": [ + "discussion_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_message_table_discussion_id` ON `${TABLE_NAME}` (`discussion_id`)" + }, + { + "name": "index_message_table_engine_message_identifier", + "unique": false, + "columnNames": [ + "engine_message_identifier" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_message_table_engine_message_identifier` ON `${TABLE_NAME}` (`engine_message_identifier`)" + }, + { + "name": "index_message_table_sort_index", + "unique": false, + "columnNames": [ + "sort_index" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_message_table_sort_index` ON `${TABLE_NAME}` (`sort_index`)" + }, + { + "name": "index_message_table_timestamp", + "unique": false, + "columnNames": [ + "timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_message_table_timestamp` ON `${TABLE_NAME}` (`timestamp`)" + }, + { + "name": "index_message_table_message_type_status", + "unique": false, + "columnNames": [ + "message_type", + "status" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_message_table_message_type_status` ON `${TABLE_NAME}` (`message_type`, `status`)" + }, + { + "name": "index_message_table_discussion_id_status", + "unique": false, + "columnNames": [ + "discussion_id", + "status" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_message_table_discussion_id_status` ON `${TABLE_NAME}` (`discussion_id`, `status`)" + }, + { + "name": "index_message_table_sender_sequence_number_sender_thread_identifier_sender_identifier_discussion_id", + "unique": false, + "columnNames": [ + "sender_sequence_number", + "sender_thread_identifier", + "sender_identifier", + "discussion_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_message_table_sender_sequence_number_sender_thread_identifier_sender_identifier_discussion_id` ON `${TABLE_NAME}` (`sender_sequence_number`, `sender_thread_identifier`, `sender_identifier`, `discussion_id`)" + } + ], + "foreignKeys": [ + { + "table": "discussion_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "discussion_id" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "ftsVersion": "FTS4", + "ftsOptions": { + "tokenizer": "unicode61", + "tokenizerArgs": [ + "remove_diacritics=2" + ], + "contentTable": "message_table", + "languageIdColumnName": "", + "matchInfo": "FTS4", + "notIndexedColumns": [], + "prefixSizes": [], + "preferredOrder": "ASC" + }, + "contentSyncTriggers": [ + "CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_message_table_fts_BEFORE_UPDATE BEFORE UPDATE ON `message_table` BEGIN DELETE FROM `message_table_fts` WHERE `docid`=OLD.`rowid`; END", + "CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_message_table_fts_BEFORE_DELETE BEFORE DELETE ON `message_table` BEGIN DELETE FROM `message_table_fts` WHERE `docid`=OLD.`rowid`; END", + "CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_message_table_fts_AFTER_UPDATE AFTER UPDATE ON `message_table` BEGIN INSERT INTO `message_table_fts`(`docid`, `content_body`) VALUES (NEW.`rowid`, NEW.`content_body`); END", + "CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_message_table_fts_AFTER_INSERT AFTER INSERT ON `message_table` BEGIN INSERT INTO `message_table_fts`(`docid`, `content_body`) VALUES (NEW.`rowid`, NEW.`content_body`); END" + ], + "tableName": "message_table_fts", + "createSql": "CREATE VIRTUAL TABLE IF NOT EXISTS `${TABLE_NAME}` USING FTS4(`content_body` TEXT NOT NULL, tokenize=unicode61 `remove_diacritics=2`, content=`message_table`)", + "fields": [ + { + "fieldPath": "body", + "columnName": "content_body", + "affinity": "TEXT", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [] + }, + "indices": [], + "foreignKeys": [] + }, + { + "tableName": "message_expiration_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `message_id` INTEGER NOT NULL, `expiration_timestamp` INTEGER NOT NULL, `wipe_only` INTEGER NOT NULL, FOREIGN KEY(`message_id`) REFERENCES `message_table`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "messageId", + "columnName": "message_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "expirationTimestamp", + "columnName": "expiration_timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "wipeOnly", + "columnName": "wipe_only", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + }, + "indices": [ + { + "name": "index_message_expiration_table_message_id", + "unique": false, + "columnNames": [ + "message_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_message_expiration_table_message_id` ON `${TABLE_NAME}` (`message_id`)" + }, + { + "name": "index_message_expiration_table_expiration_timestamp", + "unique": false, + "columnNames": [ + "expiration_timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_message_expiration_table_expiration_timestamp` ON `${TABLE_NAME}` (`expiration_timestamp`)" + } + ], + "foreignKeys": [ + { + "table": "message_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "message_id" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "message_metadata_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `message_id` INTEGER NOT NULL, `kind` INTEGER NOT NULL, `timestamp` INTEGER NOT NULL, `bytes_remote_identity` BLOB, FOREIGN KEY(`message_id`) REFERENCES `message_table`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "messageId", + "columnName": "message_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "kind", + "columnName": "kind", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "bytesRemoteIdentity", + "columnName": "bytes_remote_identity", + "affinity": "BLOB", + "notNull": false + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + }, + "indices": [ + { + "name": "index_message_metadata_table_message_id", + "unique": false, + "columnNames": [ + "message_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_message_metadata_table_message_id` ON `${TABLE_NAME}` (`message_id`)" + }, + { + "name": "index_message_metadata_table_message_id_kind", + "unique": false, + "columnNames": [ + "message_id", + "kind" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_message_metadata_table_message_id_kind` ON `${TABLE_NAME}` (`message_id`, `kind`)" + }, + { + "name": "index_message_metadata_table_timestamp", + "unique": false, + "columnNames": [ + "timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_message_metadata_table_timestamp` ON `${TABLE_NAME}` (`timestamp`)" + } + ], + "foreignKeys": [ + { + "table": "message_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "message_id" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "message_recipient_info_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`message_id` INTEGER NOT NULL, `bytes_contact_identity` BLOB NOT NULL, `return_receipt_nonce` BLOB, `return_receipt_key` BLOB, `engine_message_identifier` BLOB, `unsent_attachment_numbers` TEXT, `timestamp_sent` INTEGER, `timestamp_delivered` INTEGER, `timestamp_read` INTEGER, `undelivered_attachment_numbers` TEXT, `unread_attachment_numbers` TEXT, PRIMARY KEY(`message_id`, `bytes_contact_identity`), FOREIGN KEY(`message_id`) REFERENCES `message_table`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "messageId", + "columnName": "message_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "bytesContactIdentity", + "columnName": "bytes_contact_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "returnReceiptNonce", + "columnName": "return_receipt_nonce", + "affinity": "BLOB", + "notNull": false + }, + { + "fieldPath": "returnReceiptKey", + "columnName": "return_receipt_key", + "affinity": "BLOB", + "notNull": false + }, + { + "fieldPath": "engineMessageIdentifier", + "columnName": "engine_message_identifier", + "affinity": "BLOB", + "notNull": false + }, + { + "fieldPath": "unsentAttachmentNumbers", + "columnName": "unsent_attachment_numbers", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "timestampSent", + "columnName": "timestamp_sent", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "timestampDelivered", + "columnName": "timestamp_delivered", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "timestampRead", + "columnName": "timestamp_read", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "undeliveredAttachmentNumbers", + "columnName": "undelivered_attachment_numbers", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "unreadAttachmentNumbers", + "columnName": "unread_attachment_numbers", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "message_id", + "bytes_contact_identity" + ] + }, + "indices": [ + { + "name": "index_message_recipient_info_table_message_id", + "unique": false, + "columnNames": [ + "message_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_message_recipient_info_table_message_id` ON `${TABLE_NAME}` (`message_id`)" + }, + { + "name": "index_message_recipient_info_table_bytes_contact_identity", + "unique": false, + "columnNames": [ + "bytes_contact_identity" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_message_recipient_info_table_bytes_contact_identity` ON `${TABLE_NAME}` (`bytes_contact_identity`)" + }, + { + "name": "index_message_recipient_info_table_return_receipt_nonce", + "unique": false, + "columnNames": [ + "return_receipt_nonce" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_message_recipient_info_table_return_receipt_nonce` ON `${TABLE_NAME}` (`return_receipt_nonce`)" + }, + { + "name": "index_message_recipient_info_table_engine_message_identifier", + "unique": false, + "columnNames": [ + "engine_message_identifier" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_message_recipient_info_table_engine_message_identifier` ON `${TABLE_NAME}` (`engine_message_identifier`)" + }, + { + "name": "index_message_recipient_info_table_message_id_bytes_contact_identity", + "unique": false, + "columnNames": [ + "message_id", + "bytes_contact_identity" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_message_recipient_info_table_message_id_bytes_contact_identity` ON `${TABLE_NAME}` (`message_id`, `bytes_contact_identity`)" + } + ], + "foreignKeys": [ + { + "table": "message_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "message_id" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "identity_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`bytes_owned_identity` BLOB NOT NULL, `display_name` TEXT NOT NULL, `identity_details` TEXT, `api_key_status` INTEGER NOT NULL, `unpublished_details` INTEGER NOT NULL, `photo_url` TEXT, `api_key_permissions` INTEGER NOT NULL, `api_key_expiration_timestamp` INTEGER, `keycloak_managed` INTEGER NOT NULL, `active` INTEGER NOT NULL, `custom_display_name` TEXT, `unlock_password` BLOB, `unlock_salt` BLOB, `pref_mute_notifications` INTEGER NOT NULL, `pref_mute_notifications_except_mentioned` INTEGER NOT NULL, `pref_mute_notifications_timestamp` INTEGER, `pref_show_neutral_notification_when_hidden` INTEGER NOT NULL, `capability_webrtc_continuous_ice` INTEGER NOT NULL, `capability_groups_v2` INTEGER NOT NULL, `capability_one_to_one_contacts` INTEGER NOT NULL, PRIMARY KEY(`bytes_owned_identity`))", + "fields": [ + { + "fieldPath": "bytesOwnedIdentity", + "columnName": "bytes_owned_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "displayName", + "columnName": "display_name", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "identityDetails", + "columnName": "identity_details", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "apiKeyStatus", + "columnName": "api_key_status", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "unpublishedDetails", + "columnName": "unpublished_details", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "photoUrl", + "columnName": "photo_url", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "apiKeyPermissions", + "columnName": "api_key_permissions", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "apiKeyExpirationTimestamp", + "columnName": "api_key_expiration_timestamp", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "keycloakManaged", + "columnName": "keycloak_managed", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "active", + "columnName": "active", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "customDisplayName", + "columnName": "custom_display_name", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "unlockPassword", + "columnName": "unlock_password", + "affinity": "BLOB", + "notNull": false + }, + { + "fieldPath": "unlockSalt", + "columnName": "unlock_salt", + "affinity": "BLOB", + "notNull": false + }, + { + "fieldPath": "prefMuteNotifications", + "columnName": "pref_mute_notifications", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "prefMuteNotificationsExceptMentioned", + "columnName": "pref_mute_notifications_except_mentioned", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "prefMuteNotificationsTimestamp", + "columnName": "pref_mute_notifications_timestamp", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "prefShowNeutralNotificationWhenHidden", + "columnName": "pref_show_neutral_notification_when_hidden", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "capabilityWebrtcContinuousIce", + "columnName": "capability_webrtc_continuous_ice", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "capabilityGroupsV2", + "columnName": "capability_groups_v2", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "capabilityOneToOneContacts", + "columnName": "capability_one_to_one_contacts", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "bytes_owned_identity" + ] + }, + "indices": [], + "foreignKeys": [] + }, + { + "tableName": "owned_device_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`bytes_owned_identity` BLOB NOT NULL, `bytes_device_uid` BLOB NOT NULL, `display_name` TEXT, `current_device` INTEGER NOT NULL, `trusted` INTEGER NOT NULL, `channel_confirmed` INTEGER NOT NULL, `last_registration_timestamp` INTEGER, `expiration_timestamp` INTEGER, PRIMARY KEY(`bytes_owned_identity`, `bytes_device_uid`), FOREIGN KEY(`bytes_owned_identity`) REFERENCES `identity_table`(`bytes_owned_identity`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "bytesOwnedIdentity", + "columnName": "bytes_owned_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "bytesDeviceUid", + "columnName": "bytes_device_uid", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "displayName", + "columnName": "display_name", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "currentDevice", + "columnName": "current_device", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "trusted", + "columnName": "trusted", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "channelConfirmed", + "columnName": "channel_confirmed", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "lastRegistrationTimestamp", + "columnName": "last_registration_timestamp", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "expirationTimestamp", + "columnName": "expiration_timestamp", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "bytes_owned_identity", + "bytes_device_uid" + ] + }, + "indices": [], + "foreignKeys": [ + { + "table": "identity_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "bytes_owned_identity" + ], + "referencedColumns": [ + "bytes_owned_identity" + ] + } + ] + }, + { + "tableName": "call_log_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `bytes_owned_identity` BLOB NOT NULL, `bytes_group_owner_and_uid` BLOB, `timestamp` INTEGER NOT NULL, `call_type` INTEGER NOT NULL, `call_status` INTEGER NOT NULL, `duration` INTEGER NOT NULL, FOREIGN KEY(`bytes_owned_identity`) REFERENCES `identity_table`(`bytes_owned_identity`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "bytesOwnedIdentity", + "columnName": "bytes_owned_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "bytesGroupOwnerAndUidOrIdentifier", + "columnName": "bytes_group_owner_and_uid", + "affinity": "BLOB", + "notNull": false + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "callType", + "columnName": "call_type", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "callStatus", + "columnName": "call_status", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "duration", + "columnName": "duration", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + }, + "indices": [ + { + "name": "index_call_log_table_bytes_owned_identity", + "unique": false, + "columnNames": [ + "bytes_owned_identity" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_call_log_table_bytes_owned_identity` ON `${TABLE_NAME}` (`bytes_owned_identity`)" + }, + { + "name": "index_call_log_table_timestamp", + "unique": false, + "columnNames": [ + "timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_call_log_table_timestamp` ON `${TABLE_NAME}` (`timestamp`)" + }, + { + "name": "index_call_log_table_bytes_group_owner_and_uid_bytes_owned_identity", + "unique": false, + "columnNames": [ + "bytes_group_owner_and_uid", + "bytes_owned_identity" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_call_log_table_bytes_group_owner_and_uid_bytes_owned_identity` ON `${TABLE_NAME}` (`bytes_group_owner_and_uid`, `bytes_owned_identity`)" + } + ], + "foreignKeys": [ + { + "table": "identity_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "bytes_owned_identity" + ], + "referencedColumns": [ + "bytes_owned_identity" + ] + } + ] + }, + { + "tableName": "call_log_item_contact_join", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`call_log_item_id` INTEGER NOT NULL, `bytes_owned_identity` BLOB NOT NULL, `bytes_contact_identity` BLOB NOT NULL, PRIMARY KEY(`call_log_item_id`, `bytes_owned_identity`, `bytes_contact_identity`), FOREIGN KEY(`call_log_item_id`) REFERENCES `call_log_table`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`bytes_owned_identity`, `bytes_contact_identity`) REFERENCES `contact_table`(`bytes_owned_identity`, `bytes_contact_identity`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "callLogItemId", + "columnName": "call_log_item_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "bytesOwnedIdentity", + "columnName": "bytes_owned_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "bytesContactIdentity", + "columnName": "bytes_contact_identity", + "affinity": "BLOB", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "call_log_item_id", + "bytes_owned_identity", + "bytes_contact_identity" + ] + }, + "indices": [ + { + "name": "index_call_log_item_contact_join_call_log_item_id", + "unique": false, + "columnNames": [ + "call_log_item_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_call_log_item_contact_join_call_log_item_id` ON `${TABLE_NAME}` (`call_log_item_id`)" + }, + { + "name": "index_call_log_item_contact_join_bytes_owned_identity_bytes_contact_identity", + "unique": false, + "columnNames": [ + "bytes_owned_identity", + "bytes_contact_identity" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_call_log_item_contact_join_bytes_owned_identity_bytes_contact_identity` ON `${TABLE_NAME}` (`bytes_owned_identity`, `bytes_contact_identity`)" + } + ], + "foreignKeys": [ + { + "table": "call_log_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "call_log_item_id" + ], + "referencedColumns": [ + "id" + ] + }, + { + "table": "contact_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "bytes_owned_identity", + "bytes_contact_identity" + ], + "referencedColumns": [ + "bytes_owned_identity", + "bytes_contact_identity" + ] + } + ] + }, + { + "tableName": "reactions_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `message_id` INTEGER NOT NULL, `bytes_identity` BLOB, `emoji` TEXT, `timestamp` INTEGER NOT NULL, FOREIGN KEY(`message_id`) REFERENCES `message_table`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "messageId", + "columnName": "message_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "bytesIdentity", + "columnName": "bytes_identity", + "affinity": "BLOB", + "notNull": false + }, + { + "fieldPath": "emoji", + "columnName": "emoji", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "timestamp", + "columnName": "timestamp", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + }, + "indices": [ + { + "name": "index_reactions_table_message_id", + "unique": false, + "columnNames": [ + "message_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_reactions_table_message_id` ON `${TABLE_NAME}` (`message_id`)" + }, + { + "name": "index_reactions_table_message_id_bytes_identity", + "unique": true, + "columnNames": [ + "message_id", + "bytes_identity" + ], + "orders": [], + "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_reactions_table_message_id_bytes_identity` ON `${TABLE_NAME}` (`message_id`, `bytes_identity`)" + } + ], + "foreignKeys": [ + { + "table": "message_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "message_id" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "remote_delete_and_edit_request_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`discussion_id` INTEGER NOT NULL, `sender_identifier` BLOB NOT NULL, `sender_thread_identifier` TEXT NOT NULL, `sender_sequence_number` INTEGER NOT NULL, `server_timestamp` INTEGER NOT NULL, `request_type` INTEGER NOT NULL, `body` TEXT, `mentions` TEXT, `remote_deleter` BLOB, PRIMARY KEY(`discussion_id`, `sender_identifier`, `sender_thread_identifier`, `sender_sequence_number`), FOREIGN KEY(`discussion_id`) REFERENCES `discussion_table`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "discussionId", + "columnName": "discussion_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "senderIdentifier", + "columnName": "sender_identifier", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "senderThreadIdentifier", + "columnName": "sender_thread_identifier", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "senderSequenceNumber", + "columnName": "sender_sequence_number", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "serverTimestamp", + "columnName": "server_timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "requestType", + "columnName": "request_type", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "body", + "columnName": "body", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "mentions", + "columnName": "mentions", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "remoteDeleter", + "columnName": "remote_deleter", + "affinity": "BLOB", + "notNull": false + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "discussion_id", + "sender_identifier", + "sender_thread_identifier", + "sender_sequence_number" + ] + }, + "indices": [ + { + "name": "index_remote_delete_and_edit_request_table_discussion_id", + "unique": false, + "columnNames": [ + "discussion_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_remote_delete_and_edit_request_table_discussion_id` ON `${TABLE_NAME}` (`discussion_id`)" + }, + { + "name": "index_remote_delete_and_edit_request_table_server_timestamp", + "unique": false, + "columnNames": [ + "server_timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_remote_delete_and_edit_request_table_server_timestamp` ON `${TABLE_NAME}` (`server_timestamp`)" + } + ], + "foreignKeys": [ + { + "table": "discussion_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "discussion_id" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "known_certificate", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `domain_name` TEXT NOT NULL, `certificate_bytes` BLOB NOT NULL, `trust_timestamp` INTEGER, `expiration_timestamp` INTEGER NOT NULL, `issuers` TEXT NOT NULL, `encoded_full_chain` TEXT NOT NULL)", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "domainName", + "columnName": "domain_name", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "certificateBytes", + "columnName": "certificate_bytes", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "trustTimestamp", + "columnName": "trust_timestamp", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "expirationTimestamp", + "columnName": "expiration_timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "issuers", + "columnName": "issuers", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "encodedFullChain", + "columnName": "encoded_full_chain", + "affinity": "TEXT", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + }, + "indices": [ + { + "name": "index_known_certificate_domain_name", + "unique": false, + "columnNames": [ + "domain_name" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_known_certificate_domain_name` ON `${TABLE_NAME}` (`domain_name`)" + } + ], + "foreignKeys": [] + }, + { + "tableName": "latest_discussion_sender_sequence_number_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`discussion_id` INTEGER NOT NULL, `sender_identifier` BLOB NOT NULL, `sender_thread_identifier` TEXT NOT NULL, `latest_sequence_number` INTEGER NOT NULL, PRIMARY KEY(`discussion_id`, `sender_identifier`, `sender_thread_identifier`), FOREIGN KEY(`discussion_id`) REFERENCES `discussion_table`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "discussionId", + "columnName": "discussion_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "senderIdentifier", + "columnName": "sender_identifier", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "senderThreadIdentifier", + "columnName": "sender_thread_identifier", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "latestSequenceNumber", + "columnName": "latest_sequence_number", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "discussion_id", + "sender_identifier", + "sender_thread_identifier" + ] + }, + "indices": [], + "foreignKeys": [ + { + "table": "discussion_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "discussion_id" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "reaction_request_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`discussion_id` INTEGER NOT NULL, `sender_identifier` BLOB NOT NULL, `sender_thread_identifier` TEXT NOT NULL, `sender_sequence_number` INTEGER NOT NULL, `reacter` BLOB NOT NULL, `server_timestamp` INTEGER NOT NULL, `reaction` TEXT, PRIMARY KEY(`discussion_id`, `sender_identifier`, `sender_thread_identifier`, `sender_sequence_number`, `reacter`), FOREIGN KEY(`discussion_id`) REFERENCES `discussion_table`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "discussionId", + "columnName": "discussion_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "senderIdentifier", + "columnName": "sender_identifier", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "senderThreadIdentifier", + "columnName": "sender_thread_identifier", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "senderSequenceNumber", + "columnName": "sender_sequence_number", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "reacter", + "columnName": "reacter", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "serverTimestamp", + "columnName": "server_timestamp", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "reaction", + "columnName": "reaction", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "discussion_id", + "sender_identifier", + "sender_thread_identifier", + "sender_sequence_number", + "reacter" + ] + }, + "indices": [ + { + "name": "index_reaction_request_table_discussion_id", + "unique": false, + "columnNames": [ + "discussion_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_reaction_request_table_discussion_id` ON `${TABLE_NAME}` (`discussion_id`)" + }, + { + "name": "index_reaction_request_table_server_timestamp", + "unique": false, + "columnNames": [ + "server_timestamp" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_reaction_request_table_server_timestamp` ON `${TABLE_NAME}` (`server_timestamp`)" + }, + { + "name": "index_reaction_request_table_discussion_id_sender_identifier_sender_thread_identifier_sender_sequence_number", + "unique": false, + "columnNames": [ + "discussion_id", + "sender_identifier", + "sender_thread_identifier", + "sender_sequence_number" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_reaction_request_table_discussion_id_sender_identifier_sender_thread_identifier_sender_sequence_number` ON `${TABLE_NAME}` (`discussion_id`, `sender_identifier`, `sender_thread_identifier`, `sender_sequence_number`)" + } + ], + "foreignKeys": [ + { + "table": "discussion_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "discussion_id" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "action_shortcut_configuration_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`app_widget_id` INTEGER NOT NULL, `discussion_id` INTEGER NOT NULL, `serialized_configuration` TEXT NOT NULL, PRIMARY KEY(`app_widget_id`), FOREIGN KEY(`discussion_id`) REFERENCES `discussion_table`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "appWidgetId", + "columnName": "app_widget_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "discussionId", + "columnName": "discussion_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "serializedConfiguration", + "columnName": "serialized_configuration", + "affinity": "TEXT", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "app_widget_id" + ] + }, + "indices": [ + { + "name": "index_action_shortcut_configuration_table_discussion_id", + "unique": false, + "columnNames": [ + "discussion_id" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_action_shortcut_configuration_table_discussion_id` ON `${TABLE_NAME}` (`discussion_id`)" + } + ], + "foreignKeys": [ + { + "table": "discussion_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "discussion_id" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "group2_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`bytes_owned_identity` BLOB NOT NULL, `bytes_group_identifier` BLOB NOT NULL, `keycloak_managed` INTEGER NOT NULL, `name` TEXT, `photo_url` TEXT, `group_members_names` TEXT NOT NULL, `update_in_progress` INTEGER NOT NULL, `new_published_details` INTEGER NOT NULL, `own_permission_admin` INTEGER NOT NULL, `own_permission_remote_delete_anything` INTEGER NOT NULL, `own_permission_edit_or_remote_delete_own_messages` INTEGER NOT NULL, `own_permission_change_settings` INTEGER NOT NULL, `own_permission_send_message` INTEGER NOT NULL, `custom_name` TEXT, `custom_photo_url` TEXT, `personal_note` TEXT, PRIMARY KEY(`bytes_owned_identity`, `bytes_group_identifier`), FOREIGN KEY(`bytes_owned_identity`) REFERENCES `identity_table`(`bytes_owned_identity`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "bytesOwnedIdentity", + "columnName": "bytes_owned_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "bytesGroupIdentifier", + "columnName": "bytes_group_identifier", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "keycloakManaged", + "columnName": "keycloak_managed", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "name", + "columnName": "name", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "photoUrl", + "columnName": "photo_url", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "groupMembersNames", + "columnName": "group_members_names", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "updateInProgress", + "columnName": "update_in_progress", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "newPublishedDetails", + "columnName": "new_published_details", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "ownPermissionAdmin", + "columnName": "own_permission_admin", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "ownPermissionRemoteDeleteAnything", + "columnName": "own_permission_remote_delete_anything", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "ownPermissionEditOrRemoteDeleteOwnMessages", + "columnName": "own_permission_edit_or_remote_delete_own_messages", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "ownPermissionChangeSettings", + "columnName": "own_permission_change_settings", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "ownPermissionSendMessage", + "columnName": "own_permission_send_message", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "customName", + "columnName": "custom_name", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "customPhotoUrl", + "columnName": "custom_photo_url", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "personalNote", + "columnName": "personal_note", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "bytes_owned_identity", + "bytes_group_identifier" + ] + }, + "indices": [ + { + "name": "index_group2_table_bytes_owned_identity", + "unique": false, + "columnNames": [ + "bytes_owned_identity" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_group2_table_bytes_owned_identity` ON `${TABLE_NAME}` (`bytes_owned_identity`)" + } + ], + "foreignKeys": [ + { + "table": "identity_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "bytes_owned_identity" + ], + "referencedColumns": [ + "bytes_owned_identity" + ] + } + ] + }, + { + "tableName": "group2_pending_member_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`bytes_owned_identity` BLOB NOT NULL, `bytes_group_identifier` BLOB NOT NULL, `bytes_contact_identity` BLOB NOT NULL, `display_name` TEXT NOT NULL, `first_name` TEXT, `sort_display_name` BLOB NOT NULL, `full_search_display_name` TEXT NOT NULL, `identity_details` TEXT, `permission_admin` INTEGER NOT NULL, `permission_remote_delete_anything` INTEGER NOT NULL, `permission_edit_or_remote_delete_own_messages` INTEGER NOT NULL, `permission_change_settings` INTEGER NOT NULL, `permission_send_message` INTEGER NOT NULL, PRIMARY KEY(`bytes_owned_identity`, `bytes_group_identifier`, `bytes_contact_identity`), FOREIGN KEY(`bytes_owned_identity`, `bytes_group_identifier`) REFERENCES `group2_table`(`bytes_owned_identity`, `bytes_group_identifier`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "bytesOwnedIdentity", + "columnName": "bytes_owned_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "bytesGroupIdentifier", + "columnName": "bytes_group_identifier", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "bytesContactIdentity", + "columnName": "bytes_contact_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "displayName", + "columnName": "display_name", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "firstName", + "columnName": "first_name", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "sortDisplayName", + "columnName": "sort_display_name", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "fullSearchDisplayName", + "columnName": "full_search_display_name", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "identityDetails", + "columnName": "identity_details", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "permissionAdmin", + "columnName": "permission_admin", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "permissionRemoteDeleteAnything", + "columnName": "permission_remote_delete_anything", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "permissionEditOrRemoteDeleteOwnMessages", + "columnName": "permission_edit_or_remote_delete_own_messages", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "permissionChangeSettings", + "columnName": "permission_change_settings", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "permissionSendMessage", + "columnName": "permission_send_message", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "bytes_owned_identity", + "bytes_group_identifier", + "bytes_contact_identity" + ] + }, + "indices": [ + { + "name": "index_group2_pending_member_table_bytes_owned_identity", + "unique": false, + "columnNames": [ + "bytes_owned_identity" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_group2_pending_member_table_bytes_owned_identity` ON `${TABLE_NAME}` (`bytes_owned_identity`)" + }, + { + "name": "index_group2_pending_member_table_bytes_owned_identity_bytes_group_identifier", + "unique": false, + "columnNames": [ + "bytes_owned_identity", + "bytes_group_identifier" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_group2_pending_member_table_bytes_owned_identity_bytes_group_identifier` ON `${TABLE_NAME}` (`bytes_owned_identity`, `bytes_group_identifier`)" + } + ], + "foreignKeys": [ + { + "table": "group2_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "bytes_owned_identity", + "bytes_group_identifier" + ], + "referencedColumns": [ + "bytes_owned_identity", + "bytes_group_identifier" + ] + } + ] + }, + { + "tableName": "group2_member_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`bytes_owned_identity` BLOB NOT NULL, `bytes_group_identifier` BLOB NOT NULL, `bytes_contact_identity` BLOB NOT NULL, `permission_admin` INTEGER NOT NULL, `permission_remote_delete_anything` INTEGER NOT NULL, `permission_edit_or_remote_delete_own_messages` INTEGER NOT NULL, `permission_change_settings` INTEGER NOT NULL, `permission_send_message` INTEGER NOT NULL, PRIMARY KEY(`bytes_owned_identity`, `bytes_group_identifier`, `bytes_contact_identity`), FOREIGN KEY(`bytes_owned_identity`, `bytes_group_identifier`) REFERENCES `group2_table`(`bytes_owned_identity`, `bytes_group_identifier`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`bytes_owned_identity`, `bytes_contact_identity`) REFERENCES `contact_table`(`bytes_owned_identity`, `bytes_contact_identity`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "bytesOwnedIdentity", + "columnName": "bytes_owned_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "bytesGroupIdentifier", + "columnName": "bytes_group_identifier", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "bytesContactIdentity", + "columnName": "bytes_contact_identity", + "affinity": "BLOB", + "notNull": true + }, + { + "fieldPath": "permissionAdmin", + "columnName": "permission_admin", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "permissionRemoteDeleteAnything", + "columnName": "permission_remote_delete_anything", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "permissionEditOrRemoteDeleteOwnMessages", + "columnName": "permission_edit_or_remote_delete_own_messages", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "permissionChangeSettings", + "columnName": "permission_change_settings", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "permissionSendMessage", + "columnName": "permission_send_message", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "bytes_owned_identity", + "bytes_group_identifier", + "bytes_contact_identity" + ] + }, + "indices": [ + { + "name": "index_group2_member_table_bytes_owned_identity", + "unique": false, + "columnNames": [ + "bytes_owned_identity" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_group2_member_table_bytes_owned_identity` ON `${TABLE_NAME}` (`bytes_owned_identity`)" + }, + { + "name": "index_group2_member_table_bytes_owned_identity_bytes_group_identifier", + "unique": false, + "columnNames": [ + "bytes_owned_identity", + "bytes_group_identifier" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_group2_member_table_bytes_owned_identity_bytes_group_identifier` ON `${TABLE_NAME}` (`bytes_owned_identity`, `bytes_group_identifier`)" + }, + { + "name": "index_group2_member_table_bytes_owned_identity_bytes_contact_identity", + "unique": false, + "columnNames": [ + "bytes_owned_identity", + "bytes_contact_identity" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_group2_member_table_bytes_owned_identity_bytes_contact_identity` ON `${TABLE_NAME}` (`bytes_owned_identity`, `bytes_contact_identity`)" + } + ], + "foreignKeys": [ + { + "table": "group2_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "bytes_owned_identity", + "bytes_group_identifier" + ], + "referencedColumns": [ + "bytes_owned_identity", + "bytes_group_identifier" + ] + }, + { + "table": "contact_table", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "bytes_owned_identity", + "bytes_contact_identity" + ], + "referencedColumns": [ + "bytes_owned_identity", + "bytes_contact_identity" + ] + } + ] + } + ], + "views": [], + "setupQueries": [ + "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", + "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'a08f5aaa3e3de1fab22b3474d6442ab4')" + ] + } +} \ No newline at end of file diff --git a/obv_messenger/app/src/full/java/io/olvid/messenger/QRCodeImageAnalyzer.java b/obv_messenger/app/src/full/java/io/olvid/messenger/QRCodeImageAnalyzer.java index 6cb2743a..51489c53 100644 --- a/obv_messenger/app/src/full/java/io/olvid/messenger/QRCodeImageAnalyzer.java +++ b/obv_messenger/app/src/full/java/io/olvid/messenger/QRCodeImageAnalyzer.java @@ -85,7 +85,7 @@ public void analyze(@NonNull ImageProxy imageProxy) { running = true; scanner.process(inputImage) .addOnSuccessListener(barcodes -> { - if (resultHandler != null && barcodes != null && barcodes.size() > 0) { + if (resultHandler != null && barcodes != null && !barcodes.isEmpty()) { App.runThread(() -> { if (resultHandler.handleResult(barcodes.get(0).getRawValue())) { stop = true; diff --git a/obv_messenger/app/src/main/AndroidManifest.xml b/obv_messenger/app/src/main/AndroidManifest.xml index 39e7c96c..09086662 100644 --- a/obv_messenger/app/src/main/AndroidManifest.xml +++ b/obv_messenger/app/src/main/AndroidManifest.xml @@ -96,6 +96,12 @@ android:launchMode="singleTask" android:taskAffinity="" android:exported="true"> + + @@ -103,7 +109,166 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ()); } + public static void openAppDialogPromptUserForReadReceiptsIfRelevant() { + if (SettingsActivity.getDefaultSendReadReceipt()) { + // if read receipt are active, do not prompt + return; + } + long lastReadReceiptAnswer = SettingsActivity.getLastReadReceiptPromptAnswerTimestamp(); + if (lastReadReceiptAnswer == -1 || (System.currentTimeMillis() - lastReadReceiptAnswer < 2 * 86_400_000L)) { + // if user already answered, or answered less than 2 days ago, do not prompt + return; + } + App.runThread(() -> { + if (AppDatabase.getInstance().contactDao().countAll() == 0) { + // if user has no contacts, do not prompt + return; + } + showDialog(null, AppDialogShowActivity.DIALOG_PROMPT_USER_FOR_READ_RECEIPTS, new HashMap<>()); + }); + } + private static void showDialog(@Nullable byte[] bytesDialogOwnedIdentity, String dialogTag, HashMap dialogParameters) { dialogsToShowLock.lock(); if (bytesDialogOwnedIdentity == null) { diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/AppBackupAndSyncDelegate.java b/obv_messenger/app/src/main/java/io/olvid/messenger/AppBackupAndSyncDelegate.java index c5303737..b493118d 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/AppBackupAndSyncDelegate.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/AppBackupAndSyncDelegate.java @@ -38,7 +38,6 @@ import io.olvid.messenger.databases.entity.sync.AppSyncSnapshot; import io.olvid.messenger.databases.tasks.OwnedDevicesSynchronisationWithEngineTask; import io.olvid.messenger.openid.KeycloakManager; -import io.olvid.messenger.settings.SettingsActivity; public class AppBackupAndSyncDelegate implements ObvBackupAndSyncDelegate { EngineNotificationListener engineNotificationListener; diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/AppSingleton.java b/obv_messenger/app/src/main/java/io/olvid/messenger/AppSingleton.java index 0affefed..f71e28a6 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/AppSingleton.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/AppSingleton.java @@ -38,6 +38,7 @@ import androidx.lifecycle.Transformations; import androidx.localbroadcastmanager.content.LocalBroadcastManager; import androidx.preference.PreferenceManager; +import androidx.sqlite.db.SimpleSQLiteQuery; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.ObjectMapper; @@ -70,14 +71,15 @@ import io.olvid.messenger.billing.BillingUtils; import io.olvid.messenger.customClasses.BytesKey; import io.olvid.messenger.customClasses.CustomSSLSocketFactory; +import io.olvid.messenger.customClasses.DatabaseKey; import io.olvid.messenger.databases.AppDatabase; import io.olvid.messenger.databases.entity.Contact; import io.olvid.messenger.databases.entity.Group2PendingMember; import io.olvid.messenger.databases.entity.Message; import io.olvid.messenger.databases.entity.OwnedIdentity; import io.olvid.messenger.databases.entity.jsons.JsonExpiration; -import io.olvid.messenger.databases.tasks.OwnedDevicesSynchronisationWithEngineTask; import io.olvid.messenger.databases.tasks.ContactDisplayNameFormatChangedTask; +import io.olvid.messenger.databases.tasks.OwnedDevicesSynchronisationWithEngineTask; import io.olvid.messenger.databases.tasks.backup.RestoreAppDataFromBackupTask; import io.olvid.messenger.databases.tasks.migration.SetContactsAndPendingMembersFirstNamesTask; import io.olvid.messenger.discussion.compose.ComposeMessageFragment; @@ -93,6 +95,8 @@ public class AppSingleton { private static final String FIREBASE_TOKEN_SHARED_PREFERENCE_KEY = "firefase_token"; private static final String LAST_BUILD_EXECUTED_PREFERENCE_KEY = "last_build"; private static final String LAST_ANDROID_SDK_VERSION_EXECUTED_PREFERENCE_KEY = "last_android_sdk_version"; + private static final String LAST_FTS_GLOBAL_SEARCH_VERSION_PREFERENCE_KEY = "last_fts_global_search_version"; + public static final String FYLE_DIRECTORY = "fyles"; public static final String DISCUSSION_BACKGROUNDS_DIRECTORY = "discussion_backgrounds"; @@ -129,6 +133,7 @@ private AppSingleton() { int lastBuildExecuted = sharedPreferences.getInt(LAST_BUILD_EXECUTED_PREFERENCE_KEY, BuildConfig.VERSION_CODE); int lastAndroidSdkVersionExecuted = sharedPreferences.getInt(LAST_ANDROID_SDK_VERSION_EXECUTED_PREFERENCE_KEY, 0); + int lastFtsGlobalSearchVersion = sharedPreferences.getInt(LAST_FTS_GLOBAL_SEARCH_VERSION_PREFERENCE_KEY, 0); if (lastBuildExecuted != 0 && lastBuildExecuted < 89) { runNoBackupFolderMigration(); @@ -155,7 +160,7 @@ private AppSingleton() { } if (lastBuildExecuted != 0 && lastBuildExecuted < 205) { - // we fixed the rename task, run it again to fix all user displaynames + // we fixed the rename task, run it again to fix all user display names App.runThread(new ContactDisplayNameFormatChangedTask()); } @@ -221,9 +226,11 @@ private AppSingleton() { ObvCapability.WEBRTC_CONTINUOUS_ICE )); + // initialize Engine try { - this.engine = new Engine(App.getContext().getNoBackupFilesDir(), new AppBackupAndSyncDelegate(), null, this.sslSocketFactory, + System.loadLibrary("crypto_1_1"); + this.engine = new Engine(App.getContext().getNoBackupFilesDir(), new AppBackupAndSyncDelegate(), DatabaseKey.get(DatabaseKey.ENGINE_DATABASE_SECRET), this.sslSocketFactory, new Logger.LogOutputter() { @Override public void d(String s, String s1) { @@ -303,7 +310,7 @@ public void e(String s, String s1) { @Override public void onChanged(List ownedIdentities) { if (ownedIdentities != null) { - if (ownedIdentities.size() != 0) { + if (!ownedIdentities.isEmpty()) { selectIdentity(ownedIdentities.get(0).bytesOwnedIdentity, null); } else { selectIdentity(null, null); @@ -322,7 +329,7 @@ public void onChanged(List ownedIdentities) { this.contactOneToOneCache = new MutableLiveData<>(); this.contactTrustLevelCache = new MutableLiveData<>(); - Observer currentIdentityObserverForNameCache = new Observer() { + Observer currentIdentityObserverForNameCache = new Observer<>() { byte[] bytesPreviousOwnedIdentity = null; @Override @@ -348,6 +355,12 @@ public void onChanged(OwnedIdentity ownedIdentity) { }); } + if (lastFtsGlobalSearchVersion != AppDatabase.DB_FTS_GLOBAL_SEARCH_VERSION) { + App.runThread(() -> { + runFtsGlobalSearchRebuild(lastFtsGlobalSearchVersion); + }); + } + App.runThread(() -> { try { // get all ownedIdentities and give relevant ones to KeycloakManager @@ -646,7 +659,7 @@ public void generateIdentity(@NonNull final String server, // sleep 5s before retrying to register --> this leaves some time for the engine to create the first server session Thread.sleep(5_000); } catch (InterruptedException ignored) { } - } while (result == RegisterApiKeyResult.FAILED); + } while (result == RegisterApiKeyResult.WAIT_FOR_SERVER_SESSION); }); } else if (BuildConfig.USE_BILLING_LIB) { BillingUtils.newIdentityAvailableForSubscription(ownedIdentity.bytesOwnedIdentity); @@ -818,7 +831,7 @@ public void callback(String notificationName, HashMap userInfo) List ownedIdentities = db.ownedIdentityDao().getAllNotHidden(); byte[] bytesOwnedIdentityToSelect; - if (ownedIdentities == null || ownedIdentities.size() == 0) { + if (ownedIdentities == null || ownedIdentities.isEmpty()) { bytesOwnedIdentityToSelect = null; } else { bytesOwnedIdentityToSelect = ownedIdentities.get(0).bytesOwnedIdentity; @@ -901,6 +914,12 @@ private static void saveLastExecutedVersions(@SuppressWarnings("SameParameterVal editor.apply(); } + private static void saveLastFtsGlobalSearchVersion(@SuppressWarnings("SameParameterValue") int lastFtsGlobalSearchVersion) { + SharedPreferences.Editor editor = instance.sharedPreferences.edit(); + editor.putInt(LAST_FTS_GLOBAL_SEARCH_VERSION_PREFERENCE_KEY, lastFtsGlobalSearchVersion); + editor.apply(); + } + public static AppSingleton getInstance() { return instance; } @@ -1037,6 +1056,7 @@ private void reloadCachedDisplayNamesAndHues(@Nullable OwnedIdentity ownedIdenti getInstance().contactTrustLevelCache.postValue(contactTrustLevelHashMap); } + @Nullable public static String getContactCustomDisplayName(byte[] bytesContactIdentity) { if (getContactNamesCache().getValue() == null) { return null; @@ -1048,6 +1068,7 @@ public static String getContactCustomDisplayName(byte[] bytesContactIdentity) { return null; } + @Nullable public static String getContactFirstName(byte[] bytesContactIdentity) { if (getContactNamesCache().getValue() == null) { return null; @@ -1059,6 +1080,7 @@ public static String getContactFirstName(byte[] bytesContactIdentity) { return null; } + @Nullable public static Integer getContactCustomHue(byte[] bytesContactIdentity) { if (getContactHuesCache().getValue() == null) { return null; @@ -1066,6 +1088,7 @@ public static Integer getContactCustomHue(byte[] bytesContactIdentity) { return getContactHuesCache().getValue().get(new BytesKey(bytesContactIdentity)); } + @Nullable public static String getContactPhotoUrl(byte[] bytesContactIdentity) { if (getContactPhotoUrlsCache().getValue() == null) { return null; @@ -1094,6 +1117,7 @@ public static boolean getContactOneToOne(byte[] bytesContactIdentity) { return getContactOneToOneCache().getValue().contains(new BytesKey(bytesContactIdentity)); } + @Nullable public static Integer getContactTrustLevel(byte[] bytesContactIdentity) { if (getContactTrustLevelCache().getValue() == null) { return null; @@ -1228,18 +1252,6 @@ private void runBuildUpgrade(int lastBuildExecuted, int ignoredLastAndroidSdkVer // trigger the download of all waiting userData in the engine engine.downloadAllUserData(); } - // removed: no longer required with new api key management -// if (lastBuildExecuted < 99) { -// // reset the apiKey to de hardcoded one -// boolean success = true; -// for (ObvIdentity ownedIdentity: engine.getOwnedIdentities()) { -// success &= engine.registerOwnedIdentityApiKeyOnServer(ownedIdentity.getBytesIdentity(), UUID.fromString(BuildConfig.HARDCODED_API_KEY)); -// } -// if (!success) { -// Logger.e("Error resetting API key to HARDCODED one"); -// throw new Exception(); -// } -// } if (lastBuildExecuted < 127) { // recompute the number of images in all messages as the filtering method was changed long migrationStartTime = System.currentTimeMillis(); @@ -1334,5 +1346,23 @@ private void runNoBackupFolderMigration() { } } + private void runFtsGlobalSearchRebuild(int lastFtsGlobalSearchVersion) { + try { + Logger.i("FTS rebuild required"); + long startTime = System.currentTimeMillis(); + if (lastFtsGlobalSearchVersion < 1) { + // initial rebuild to index all messages received before the creation of the FTS table + Logger.i("- Rebuilding message table FTS"); + AppDatabase.getInstance().rawDao().executeRawQuery(new SimpleSQLiteQuery("INSERT INTO message_table_fts(message_table_fts) VALUES ('rebuild')")); + } + saveLastFtsGlobalSearchVersion(AppDatabase.DB_FTS_GLOBAL_SEARCH_VERSION); + Logger.i("FTS rebuild finished in " + (System.currentTimeMillis() - startTime) + "ms"); + } catch (Exception e) { + // rebuild failed, will be tried again at next startup... + Logger.w("FTS rebuild failed"); + e.printStackTrace(); + } + } + // endregion } diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/EngineNotificationProcessorForMessages.java b/obv_messenger/app/src/main/java/io/olvid/messenger/EngineNotificationProcessorForMessages.java index 5bb078d5..8af5b911 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/EngineNotificationProcessorForMessages.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/EngineNotificationProcessorForMessages.java @@ -19,6 +19,7 @@ package io.olvid.messenger; +import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -111,7 +112,7 @@ public void callback(String notificationName, final HashMap user try { FyleMessageJoinWithStatus fyleMessageJoinWithStatus = db.fyleMessageJoinWithStatusDao().getByEngineIdentifierAndNumber(downloadedAttachment.getBytesOwnedIdentity(), downloadedAttachment.getMessageIdentifier(), downloadedAttachment.getNumber()); if (fyleMessageJoinWithStatus != null) { - Fyle fyle = db.fyleDao().getById(fyleMessageJoinWithStatus.fyleId); + final Fyle fyle = db.fyleDao().getById(fyleMessageJoinWithStatus.fyleId); final byte[] sha256 = fyle.sha256; if (sha256 == null) { break; @@ -145,6 +146,13 @@ public void callback(String notificationName, final HashMap user fyleMessageJoinWithStatus.filePath = fyle.filePath; db.fyleMessageJoinWithStatusDao().update(fyleMessageJoinWithStatus); fyleMessageJoinWithStatus.sendReturnReceipt(FyleMessageJoinWithStatus.RECEPTION_STATUS_DELIVERED, null); + App.runThread(() -> { + try { + fyleMessageJoinWithStatus.computeTextContentForFullTextSearch(db, fyle); + } catch (IOException e) { + e.printStackTrace(); + } + }); // check all other FyleMessageJoinWithStatus that are still in STATUS_DOWNLOADABLE or STATUS_DOWNLOADING and "complete" them List fyleMessageJoinWithStatusList = db.fyleMessageJoinWithStatusDao().getForFyleId(fyle.id); @@ -160,6 +168,13 @@ public void callback(String notificationName, final HashMap user db.fyleMessageJoinWithStatusDao().update(otherFyleMessageJoinWithStatus); otherFyleMessageJoinWithStatus.sendReturnReceipt(FyleMessageJoinWithStatus.RECEPTION_STATUS_DELIVERED, null); engine.markAttachmentForDeletion(otherFyleMessageJoinWithStatus.bytesOwnedIdentity, otherFyleMessageJoinWithStatus.engineMessageIdentifier, otherFyleMessageJoinWithStatus.engineNumber); + App.runThread(() -> { + try { + otherFyleMessageJoinWithStatus.computeTextContentForFullTextSearch(db, fyle); + } catch (IOException e) { + e.printStackTrace(); + } + }); break; } } diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/activities/LockScreenActivity.java b/obv_messenger/app/src/main/java/io/olvid/messenger/activities/LockScreenActivity.java index 9425ef1d..ccd24420 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/activities/LockScreenActivity.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/activities/LockScreenActivity.java @@ -53,6 +53,7 @@ import androidx.appcompat.app.AppCompatDelegate; import androidx.biometric.BiometricManager; import androidx.biometric.BiometricPrompt; +import androidx.constraintlayout.widget.ConstraintLayout; import androidx.core.content.ContextCompat; import androidx.localbroadcastmanager.content.LocalBroadcastManager; @@ -129,6 +130,8 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + boolean isNeutral = SettingsActivity.lockScreenNeutral(); + pinInput = findViewById(R.id.pin_input); pinInput.setEnabled(false); fingerprintButton = findViewById(R.id.fingerprint_icon); @@ -171,13 +174,20 @@ public void afterTextChanged(Editable s) { TextView customMessageTextView = findViewById(R.id.custom_message_text_view); ImageView olvidLogo = findViewById(R.id.olvid_logo); int customMessageResourceId = getIntent().getIntExtra(CUSTOM_MESSAGE_RESOURCE_ID_INTENT_EXTRA, -1); - if (customMessageResourceId != -1) { - customMessageTextView.setVisibility(View.VISIBLE); - customMessageTextView.setText(customMessageResourceId); + if (isNeutral) { + ConstraintLayout container = findViewById(R.id.lock_screen_container); + customMessageTextView.setVisibility(View.GONE); olvidLogo.setVisibility(View.GONE); + container.setBackgroundColor(ContextCompat.getColor(this, R.color.black)); } else { - customMessageTextView.setVisibility(View.GONE); - olvidLogo.setVisibility(View.VISIBLE); + if (customMessageResourceId != -1) { + customMessageTextView.setVisibility(View.VISIBLE); + customMessageTextView.setText(customMessageResourceId); + olvidLogo.setVisibility(View.GONE); + } else { + customMessageTextView.setVisibility(View.GONE); + olvidLogo.setVisibility(View.VISIBLE); + } } biometricPrompt = new BiometricPrompt(this, ContextCompat.getMainExecutor(this), new BiometricPrompt.AuthenticationCallback() { @@ -193,8 +203,12 @@ public void onAuthenticationSucceeded(@NonNull BiometricPrompt.AuthenticationRes } }); + String promptTitle = getString(R.string.dialog_title_unlock_olvid); + if (isNeutral) { + promptTitle = promptTitle.replace("Olvid ", ""); + } promptInfo = new BiometricPrompt.PromptInfo.Builder() - .setTitle(getString(R.string.dialog_title_unlock_olvid)) + .setTitle(promptTitle) .setNegativeButtonText(getString(R.string.button_label_cancel)) .setConfirmationRequired(false) .setAllowedAuthenticators(BiometricManager.Authenticators.BIOMETRIC_WEAK) diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/activities/MessageDetailsActivity.java b/obv_messenger/app/src/main/java/io/olvid/messenger/activities/MessageDetailsActivity.java index ac6eeef8..d3f88abc 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/activities/MessageDetailsActivity.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/activities/MessageDetailsActivity.java @@ -19,6 +19,7 @@ package io.olvid.messenger.activities; +import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; @@ -112,6 +113,7 @@ public class MessageDetailsActivity extends LockableActivity { RecyclerView recipientInfosRecyclerView; RecipientInfosAdapter recipientInfosAdapter; + RecipientInfoHeaderAndSeparatorDecoration recipientInfoHeaderAndSeparatorDecoration; EmptyRecyclerView metadataRecyclerView; MessageMetadataAdapter messageMetadataAdapter; View messageDetailsActivityRoot; @@ -275,10 +277,11 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { otherDeviceExplanationTextView.setVisibility(View.GONE); recipientInfosAdapter = new RecipientInfosAdapter(this); + recipientInfoHeaderAndSeparatorDecoration = new RecipientInfoHeaderAndSeparatorDecoration(); recipientInfosRecyclerView.setAdapter(recipientInfosAdapter); recipientInfosRecyclerView.setLayoutManager(new LinearLayoutManager(this)); - recipientInfosRecyclerView.addItemDecoration(new RecipientInfoHeaderAndSeparatorDecoration()); + recipientInfosRecyclerView.addItemDecoration(recipientInfoHeaderAndSeparatorDecoration); messageDetailsViewModel.getMessageRecipientInfos().observe(this, recipientInfosAdapter); } } @@ -743,18 +746,33 @@ private void updateTimerTextView(long timestamp) { public class RecipientInfosAdapter extends RecyclerView.Adapter implements Observer> { private List messageRecipientInfos; private final LayoutInflater inflater; + final int[] counts; public RecipientInfosAdapter(Context context) { inflater = LayoutInflater.from(context); + counts = new int[6]; setHasStableIds(true); } @Override public void onChanged(List messageRecipientInfos) { this.messageRecipientInfos = messageRecipientInfos; + recipientInfoHeaderAndSeparatorDecoration.clearCache(); + recomputeCounts(); notifyDataSetChanged(); } + private void recomputeCounts() { + Arrays.fill(counts, 0); + if (messageRecipientInfos != null) { + for (MessageRecipientInfo mri : messageRecipientInfos) { + counts[mri.status()]++; + } + // 5 is for undelivered messages and corresponds to not sent yet or processing mri + counts[5] = counts[0] + counts[1]; + } + } + @Override public long getItemId(int position) { if (messageRecipientInfos != null) { @@ -844,6 +862,7 @@ public class RecipientInfoHeaderAndSeparatorDecoration extends RecyclerView.Item bitmapCache = new Bitmap[6]; } + @SuppressLint("SetTextI18n") @Override public void onDraw(@NonNull Canvas canvas, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) { int childCount = parent.getChildCount(); @@ -863,30 +882,47 @@ public void onDraw(@NonNull Canvas canvas, @NonNull RecyclerView parent, @NonNul View headerView = LayoutInflater.from(parent.getContext()).inflate(R.layout.view_message_details_header, parent, false); TextView textView = headerView.findViewById(R.id.header_status_text); ImageView imageView = headerView.findViewById(R.id.header_status_image); + TextView countView = headerView.findViewById(R.id.header_count_text); + if (recipientInfosAdapter.messageRecipientInfos.size() > 2) { + if (status == MessageRecipientInfo.RECIPIENT_STATUS_DELIVERED_AND_READ) { + countView.setText(getString(R.string.at_least_xxx, recipientInfosAdapter.counts[status])); + } else { + countView.setText(recipientInfosAdapter.counts[status] + "/" + recipientInfosAdapter.messageRecipientInfos.size()); + } + } else { + countView.setVisibility(View.GONE); + } + switch (status) { case MessageRecipientInfo.RECIPIENT_STATUS_NOT_SENT_YET: textView.setText(R.string.text_not_sent_yet); imageView.setImageResource(R.drawable.ic_message_status_not_sent_yet); + countView.setText(recipientInfosAdapter.counts[status] + "/" + recipientInfosAdapter.messageRecipientInfos.size()); break; case MessageRecipientInfo.RECIPIENT_STATUS_PROCESSING: textView.setText(R.string.text_processing); imageView.setImageResource(R.drawable.ic_sync); + countView.setText(recipientInfosAdapter.counts[status] + "/" + recipientInfosAdapter.messageRecipientInfos.size()); break; case MessageRecipientInfo.RECIPIENT_STATUS_SENT: textView.setText(R.string.text_sent); imageView.setImageResource(R.drawable.ic_message_status_sent); + countView.setText((recipientInfosAdapter.counts[MessageRecipientInfo.RECIPIENT_STATUS_SENT] + recipientInfosAdapter.counts[MessageRecipientInfo.RECIPIENT_STATUS_DELIVERED] + recipientInfosAdapter.counts[MessageRecipientInfo.RECIPIENT_STATUS_DELIVERED_AND_READ]) + "/" + recipientInfosAdapter.messageRecipientInfos.size()); break; case MessageRecipientInfo.RECIPIENT_STATUS_DELIVERED: textView.setText(R.string.text_delivered); imageView.setImageResource(R.drawable.ic_message_status_delivered); + countView.setText((recipientInfosAdapter.counts[MessageRecipientInfo.RECIPIENT_STATUS_DELIVERED] + recipientInfosAdapter.counts[MessageRecipientInfo.RECIPIENT_STATUS_DELIVERED_AND_READ]) + "/" + recipientInfosAdapter.messageRecipientInfos.size()); break; case MessageRecipientInfo.RECIPIENT_STATUS_DELIVERED_AND_READ: textView.setText(R.string.text_read); imageView.setImageResource(R.drawable.ic_message_status_delivered_and_read); + countView.setText(getString(R.string.at_least_xxx, recipientInfosAdapter.counts[status])); break; case 5: // 5 is for undelivered message textView.setText(R.string.text_undelivered); imageView.setImageResource(R.drawable.ic_message_status_undelivered); + countView.setText(recipientInfosAdapter.counts[status] + "/" + recipientInfosAdapter.messageRecipientInfos.size()); break; } headerView.measure(View.MeasureSpec.makeMeasureSpec(parent.getWidth(), View.MeasureSpec.EXACTLY), @@ -920,6 +956,10 @@ public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull R outRect.top += separatorHeight; } } + + public void clearCache() { + Arrays.fill(bitmapCache, null); + } } class MessageMetadataAdapter extends RecyclerView.Adapter implements Observer> { @@ -1084,6 +1124,7 @@ public void onDraw(@NonNull Canvas canvas, @NonNull RecyclerView parent, @NonNul View headerView = LayoutInflater.from(parent.getContext()).inflate(R.layout.view_message_details_header, parent, false); TextView textView = headerView.findViewById(R.id.header_status_text); ImageView imageView = headerView.findViewById(R.id.header_status_image); + headerView.findViewById(R.id.header_count_text).setVisibility(View.GONE); textView.setText(R.string.text_message_timeline); imageView.setImageResource(R.drawable.ic_timer); diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/appdialogs/AppDialogShowActivity.java b/obv_messenger/app/src/main/java/io/olvid/messenger/appdialogs/AppDialogShowActivity.java index 1ae43c0d..2c0030fe 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/appdialogs/AppDialogShowActivity.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/appdialogs/AppDialogShowActivity.java @@ -36,6 +36,7 @@ import android.text.util.Linkify; import android.view.Gravity; import android.view.View; +import android.view.Window; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; @@ -56,12 +57,12 @@ import io.olvid.engine.engine.types.EngineAPI; import io.olvid.engine.engine.types.ObvDeviceList; +import io.olvid.engine.engine.types.sync.ObvSyncAtom; import io.olvid.messenger.App; import io.olvid.messenger.AppSingleton; import io.olvid.messenger.R; -import io.olvid.messenger.customClasses.Markdown; -import io.olvid.messenger.owneddetails.OwnedIdentityDetailsActivity; import io.olvid.messenger.customClasses.LockableActivity; +import io.olvid.messenger.customClasses.Markdown; import io.olvid.messenger.customClasses.SecureAlertDialogBuilder; import io.olvid.messenger.customClasses.StringUtils; import io.olvid.messenger.databases.AppDatabase; @@ -71,6 +72,7 @@ import io.olvid.messenger.notifications.AndroidNotificationManager; import io.olvid.messenger.openid.KeycloakManager; import io.olvid.messenger.openid.KeycloakTasks; +import io.olvid.messenger.owneddetails.OwnedIdentityDetailsActivity; import io.olvid.messenger.services.AvailableSpaceHelper; import io.olvid.messenger.services.BackupCloudProviderService; import io.olvid.messenger.services.MDMConfigurationSingleton; @@ -137,6 +139,8 @@ public class AppDialogShowActivity extends LockableActivity { public static final String DIALOG_CONFIGURE_HIDDEN_PROFILE_CLOSE_POLICY = "configure_hidden_profile_close_policy"; + public static final String DIALOG_PROMPT_USER_FOR_READ_RECEIPTS = "prompt_user_for_read_receipts"; + public static final String DIALOG_INTRODUCING_MULTI_PROFILE = "introducing_multi_profile"; public static final String DIALOG_INTRODUCING_GROUPS_V2 = "introducing_groups_v2"; public static final String DIALOG_INTRODUCING_MENTIONS = "introducing_mentions"; @@ -587,6 +591,48 @@ public void onCloudProviderConfigurationFailed() { builder.create().show(); break; } + case DIALOG_PROMPT_USER_FOR_READ_RECEIPTS: { + View dialogView = getLayoutInflater().inflate(R.layout.dialog_view_prompt_user_for_read_receipts, null); + + AlertDialog.Builder builder = new SecureAlertDialogBuilder(this, R.style.CustomAlertDialog) + .setView(dialogView) + .setOnDismissListener(dialog -> { + if (SettingsActivity.getLastReadReceiptPromptAnswerTimestamp() != -1) { + SettingsActivity.setLastReadReceiptPromptAnswerTimestamp(System.currentTimeMillis()); + } + continueWithNextDialog(); + }); + AlertDialog dialog = builder.create(); + Window window = dialog.getWindow(); + if (window != null) { + window.setBackgroundDrawableResource(android.R.color.transparent); + } + + dialogView.findViewById(R.id.send_button).setOnClickListener((View v) -> { + SettingsActivity.setDefaultSendReadReceipt(true); + SettingsActivity.setLastReadReceiptPromptAnswerTimestamp(-1); + try { + AppSingleton.getEngine().propagateAppSyncAtomToAllOwnedIdentitiesOtherDevicesIfNeeded(ObvSyncAtom.createSettingDefaultSendReadReceipts(true)); + } catch (Exception ignored) {} + dialog.dismiss(); + }); + + dialogView.findViewById(R.id.do_not_send_button).setOnClickListener((View v) -> { + SettingsActivity.setDefaultSendReadReceipt(false); + SettingsActivity.setLastReadReceiptPromptAnswerTimestamp(-1); + try { + AppSingleton.getEngine().propagateAppSyncAtomToAllOwnedIdentitiesOtherDevicesIfNeeded(ObvSyncAtom.createSettingDefaultSendReadReceipts(false)); + } catch (Exception ignored) {} + dialog.dismiss(); + }); + + dialogView.findViewById(R.id.ask_later_button).setOnClickListener((View v) -> { + dialog.dismiss(); + }); + + dialog.show(); + break; + } case DIALOG_INTRODUCING_MULTI_PROFILE: { AlertDialog.Builder builder = new SecureAlertDialogBuilder(this, R.style.CustomAlertDialog) .setTitle(R.string.dialog_title_introducing_multi_profile) diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/DatabaseKey.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/DatabaseKey.kt new file mode 100644 index 00000000..58365e48 --- /dev/null +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/DatabaseKey.kt @@ -0,0 +1,68 @@ +/* + * Olvid for Android + * Copyright © 2019-2024 Olvid SAS + * + * This file is part of Olvid for Android. + * + * Olvid is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * Olvid is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Olvid. If not, see . + */ + +package io.olvid.messenger.customClasses + +import androidx.security.crypto.EncryptedSharedPreferences +import androidx.security.crypto.EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV +import androidx.security.crypto.EncryptedSharedPreferences.PrefValueEncryptionScheme +import androidx.security.crypto.MasterKey.Builder +import androidx.security.crypto.MasterKey.KeyScheme.AES256_GCM +import io.olvid.engine.Logger +import io.olvid.messenger.App +import io.olvid.messenger.BuildConfig +import io.olvid.messenger.R +import java.security.SecureRandom + +class DatabaseKey { + + companion object { + const val ENGINE_DATABASE_SECRET = "engine_database_secret" + const val APP_DATABASE_SECRET = "app_database_secret" + @OptIn(ExperimentalStdlibApi::class) + private fun generateHexKey() = ByteArray(32).apply { SecureRandom().nextBytes(this) }.toHexString() + + @JvmStatic + fun get(keystoreKey: String): String? { + var dbKey : String? = BuildConfig.HARDCODED_DATABASE_SECRET + if (dbKey == null) { + try { + val masterKey = Builder(App.getContext()) + .setKeyScheme(AES256_GCM) + .build() + val sharedPreferences = EncryptedSharedPreferences.create( + App.getContext(), + App.getContext().getString(R.string.preference_filename_database), + masterKey, + AES256_SIV, + PrefValueEncryptionScheme.AES256_GCM + ) + dbKey = sharedPreferences.getString(keystoreKey, null) + if (dbKey == null) { + dbKey = "x'${generateHexKey()}'" + sharedPreferences.edit().putString(keystoreKey, dbKey).apply() + } + } catch (e: Exception) { + Logger.w("Unable to generate db secret key") + } + } + return dbKey + } + } +} \ No newline at end of file diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/ImageViewPreference.java b/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/ImageViewPreference.java index 8f9cad32..0148694c 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/ImageViewPreference.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/ImageViewPreference.java @@ -28,6 +28,7 @@ import android.widget.ImageView; import androidx.annotation.NonNull; +import androidx.cardview.widget.CardView; import androidx.exifinterface.media.ExifInterface; import androidx.preference.Preference; import androidx.preference.PreferenceViewHolder; @@ -42,9 +43,12 @@ public class ImageViewPreference extends Preference { ImageView widgetImageView = null; + CardView widgetCardView = null; DiscussionCustomization.ColorJson colorJson; String imagePath; Integer color; + Integer imageResource; + boolean removeElevation = false; public ImageViewPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); @@ -70,6 +74,7 @@ public ImageViewPreference(Context context) { public void onBindViewHolder(@NonNull PreferenceViewHolder holder) { super.onBindViewHolder(holder); widgetImageView = (ImageView) holder.findViewById(R.id.imageView); + widgetCardView = (CardView) holder.findViewById(R.id.cardView); redraw(); } @@ -77,6 +82,7 @@ public void setColor(DiscussionCustomization.ColorJson colorJson) { this.colorJson = colorJson; this.imagePath = null; this.color = null; + this.imageResource = null; redraw(); } @@ -84,6 +90,7 @@ public void setImage(String imagePath) { this.colorJson = null; this.imagePath = imagePath; this.color = null; + this.imageResource = null; redraw(); } @@ -91,6 +98,20 @@ public void setColor(Integer color) { this.colorJson = null; this.imagePath = null; this.color = color; + this.imageResource = null; + redraw(); + } + + public void setImageResource(Integer imageResource) { + this.colorJson = null; + this.imagePath = null; + this.color = null; + this.imageResource = imageResource; + redraw(); + } + + public void removeElevation() { + this.removeElevation = true; redraw(); } @@ -98,10 +119,20 @@ private void redraw() { if (widgetImageView == null) { return; } + if (removeElevation && widgetCardView != null) { + widgetCardView.setCardElevation(0f); + } if (colorJson != null) { widgetImageView.setBackgroundColor(0xff000000 + colorJson.color); widgetImageView.setImageResource(R.drawable.pref_imageview_color_preview); - widgetImageView.setImageAlpha(255 - (int)(colorJson.alpha*255)); + widgetImageView.setImageAlpha(255 - (int) (colorJson.alpha * 255)); + } else if (imageResource != null) { + if (widgetCardView != null) { + widgetCardView.setCardBackgroundColor(0x00ffffff); + } + widgetImageView.setBackgroundColor(0x00ffffff); + widgetImageView.setImageAlpha(255); + widgetImageView.setImageResource(imageResource); } else if (imagePath != null) { widgetImageView.setBackgroundColor(0x00ffffff); widgetImageView.setImageAlpha(255); diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/InitialView.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/InitialView.kt index 8699b21c..a57a191d 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/InitialView.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/InitialView.kt @@ -59,7 +59,7 @@ import io.olvid.messenger.databases.entity.OwnedIdentity import io.olvid.messenger.settings.SettingsActivity import io.olvid.messenger.viewModels.FilteredDiscussionListViewModel.SearchableDiscussion import java.io.IOException -import java.util.* +import java.util.Arrays import kotlin.math.min class InitialView : View { diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/LockScreenOrNotActivity.java b/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/LockScreenOrNotActivity.java index 1c16fc4a..cd298f08 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/LockScreenOrNotActivity.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/LockScreenOrNotActivity.java @@ -52,6 +52,7 @@ import androidx.appcompat.app.AppCompatDelegate; import androidx.biometric.BiometricManager; import androidx.biometric.BiometricPrompt; +import androidx.constraintlayout.widget.ConstraintLayout; import androidx.core.content.ContextCompat; import androidx.localbroadcastmanager.content.LocalBroadcastManager; @@ -108,11 +109,19 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { } if (UnifiedForegroundService.LockSubService.isApplicationLocked()) { + boolean isNeutral = SettingsActivity.lockScreenNeutral(); getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO); getWindow().setStatusBarColor(ContextCompat.getColor(this, R.color.olvid_gradient_light)); setContentView(R.layout.activity_lock_screen); + if (isNeutral) { + ImageView olvidLogo = findViewById(R.id.olvid_logo); + ConstraintLayout container = findViewById(R.id.lock_screen_container); + olvidLogo.setVisibility(View.GONE); + container.setBackgroundColor(ContextCompat.getColor(this, R.color.black)); + } + unlockEventBroadcastReceiver = new UnlockEventBroadcastReceiver(); LocalBroadcastManager.getInstance(this).registerReceiver(unlockEventBroadcastReceiver, new IntentFilter(UnifiedForegroundService.LockSubService.APP_UNLOCKED_BROADCAST_ACTION)); @@ -172,8 +181,12 @@ public void onAuthenticationSucceeded(@NonNull BiometricPrompt.AuthenticationRes } }); + String promptTitle = getString(R.string.dialog_title_unlock_olvid); + if (isNeutral) { + promptTitle = promptTitle.replace("Olvid ", ""); + } promptInfo = new BiometricPrompt.PromptInfo.Builder() - .setTitle(getString(R.string.dialog_title_unlock_olvid)) + .setTitle(promptTitle) .setNegativeButtonText(getString(R.string.button_label_cancel)) .setConfirmationRequired(false) .setAllowedAuthenticators(BiometricManager.Authenticators.BIOMETRIC_WEAK) diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/Markdown.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/Markdown.kt index d87675e1..9f961b6f 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/Markdown.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/Markdown.kt @@ -49,6 +49,7 @@ import io.olvid.messenger.customClasses.spans.ListItemSpan import io.olvid.messenger.customClasses.spans.OrderedListItemSpan import io.olvid.messenger.settings.SettingsActivity import okhttp3.internal.indexOfFirstNonAsciiWhitespace +import okhttp3.internal.indexOfLastNonAsciiWhitespace import org.commonmark.ext.gfm.strikethrough.Strikethrough import org.commonmark.ext.gfm.strikethrough.StrikethroughExtension import org.commonmark.node.AbstractVisitor @@ -90,16 +91,20 @@ interface MarkdownSpan { get() = false val delimiter: String get() = "" + val inline: Boolean + get() = false } class MarkdownDelimiter(color: Int) : ForegroundColorSpan(color), MarkdownSpan class MarkdownBold : StyleSpan(Typeface.BOLD), MarkdownSpan { override val delimiter: String = MarkdownTag.BOLD.delimiter + override val inline: Boolean = true } class MarkdownItalic : StyleSpan(Typeface.ITALIC), MarkdownSpan { override val delimiter: String = MarkdownTag.ITALIC.delimiter + override val inline: Boolean = true } class MarkdownHeading(level: Int) : TextAppearanceSpan( @@ -118,6 +123,7 @@ class MarkdownHeading(level: Int) : TextAppearanceSpan( class MarkdownStrikeThrough : StrikethroughSpan(), MarkdownSpan { override val delimiter: String = MarkdownTag.STRIKETHROUGH.delimiter + override val inline: Boolean = true } class MarkdownListItem(level: Int = 0) : ListItemSpan(level), MarkdownSpan { @@ -141,6 +147,7 @@ class MarkdownCodeBlock : CodeBlockSpan(), MarkdownSpan { class MarkdownCode : CodeSpan(), MarkdownSpan { override val delimiter: String = MarkdownTag.CODE.delimiter + override val inline: Boolean = true } class MarkdownQuote : @@ -175,6 +182,22 @@ fun EditText.insertMarkdown(markdownSpan: MarkdownSpan?) { ) }\n${MarkdownTag.CODE_BLOCK.delimiter}" ) + } else if (markdownSpan.inline) { + var index = selectionStart + text.subSequence(selectionStart, selectionEnd).lines().forEach() { + if (it.indexOfFirstNonAsciiWhitespace() < it.indexOfLastNonAsciiWhitespace()) { + text.insert(index + it.indexOfFirstNonAsciiWhitespace(), markdownSpan.delimiter) + index += markdownSpan.delimiter.length + if (!markdownSpan.singleMarker) { + text.insert( + index + it.indexOfLastNonAsciiWhitespace(), + markdownSpan.delimiter + ) + index += markdownSpan.delimiter.length + } + } + index += it.length + 1 + } } else { text.replace( selectionStart, @@ -605,6 +628,26 @@ fun AnnotatedString.formatMarkdown(): AnnotatedString { } } +fun String.formatSingleLineMarkdown(): AnnotatedString { + return this.lines().formatSingleLineMarkdown() +} + +fun List.formatSingleLineMarkdown(): AnnotatedString { + this.filter { it.trim().isNotEmpty() } + .take(5) // only keep the first 5 lines + .map { line -> + return@map AnnotatedString(line.trim()).formatMarkdown() + } + .let { + return if (it.isEmpty()) + AnnotatedString("") + else + it.reduce { acc, s -> + acc + AnnotatedString(" ") + s + } + } +} + fun Node.listLevel(): Int { var level = 0 var parent: Node? = parent diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/PreviewUtils.java b/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/PreviewUtils.java index efd04581..d2309f5d 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/PreviewUtils.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/PreviewUtils.java @@ -177,8 +177,10 @@ public static Bitmap getBitmapPreview(Fyle fyle, FyleMessageJoinWithStatus fyleM if (!imageResolution.equals(fyleMessageJoinWithStatus.imageResolution)) { // we do not update the fyleMessageJoin resolution here, otherwise we won't notice the difference when computing the diffUtil from database // fyleMessageJoinWithStatus.imageResolution = imageResolution; - AppDatabase.getInstance().fyleMessageJoinWithStatusDao().updateImageResolution(fyleMessageJoinWithStatus.messageId, fyleMessageJoinWithStatus.fyleId, imageResolution); - App.runThread(new UpdateMessageImageResolutionsTask(fyleMessageJoinWithStatus.messageId)); + App.runThread(() -> { + AppDatabase.getInstance().fyleMessageJoinWithStatusDao().updateImageResolution(fyleMessageJoinWithStatus.messageId, fyleMessageJoinWithStatus.fyleId, imageResolution); + new UpdateMessageImageResolutionsTask(fyleMessageJoinWithStatus.messageId).run(); + }); } } return sizeAndBitmap.bitmap; @@ -289,8 +291,10 @@ public static Bitmap getBitmapPreview(Fyle fyle, FyleMessageJoinWithStatus fyleM if (!imageResolution.equals(fyleMessageJoinWithStatus.imageResolution)) { // we do not update the fyleMessageJoin resolution here, otherwise we won't notice the difference when computing the diffUtil from database // fyleMessageJoinWithStatus.imageResolution = imageResolution; - AppDatabase.getInstance().fyleMessageJoinWithStatusDao().updateImageResolution(fyleMessageJoinWithStatus.messageId, fyleMessageJoinWithStatus.fyleId, imageResolution); - App.runThread(new UpdateMessageImageResolutionsTask(fyleMessageJoinWithStatus.messageId)); + App.runThread(() -> { + AppDatabase.getInstance().fyleMessageJoinWithStatusDao().updateImageResolution(fyleMessageJoinWithStatus.messageId, fyleMessageJoinWithStatus.fyleId, imageResolution); + new UpdateMessageImageResolutionsTask(fyleMessageJoinWithStatus.messageId).run(); + }); } } else if (fyleMessageJoinWithStatus.getNonNullMimeType().matches("video/.+")) { bitmap = ThumbnailUtils.createVideoThumbnail(filePath, MediaStore.Images.Thumbnails.MINI_KIND); @@ -319,8 +323,11 @@ public static Bitmap getBitmapPreview(Fyle fyle, FyleMessageJoinWithStatus fyleM if (!Objects.equals(fyleMessageJoinWithStatus.imageResolution, imageResolution)) { // we do not update the fyleMessageJoin resolution here, otherwise we won't notice the difference when computing the diffUtil from database // fyleMessageJoinWithStatus.imageResolution = imageResolution; - AppDatabase.getInstance().fyleMessageJoinWithStatusDao().updateImageResolution(fyleMessageJoinWithStatus.messageId, fyleMessageJoinWithStatus.fyleId, imageResolution); - App.runThread(new UpdateMessageImageResolutionsTask(fyleMessageJoinWithStatus.messageId)); + String finalImageResolution = imageResolution; + App.runThread(() -> { + AppDatabase.getInstance().fyleMessageJoinWithStatusDao().updateImageResolution(fyleMessageJoinWithStatus.messageId, fyleMessageJoinWithStatus.fyleId, finalImageResolution); + new UpdateMessageImageResolutionsTask(fyleMessageJoinWithStatus.messageId).run(); + }); } } } else if (fyle.isComplete() && fyleMessageJoinWithStatus.getNonNullMimeType().equals("application/pdf")) { diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/SearchHighlightSpan.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/SearchHighlightSpan.kt index 82c2f0c1..425821f3 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/SearchHighlightSpan.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/SearchHighlightSpan.kt @@ -20,8 +20,6 @@ package io.olvid.messenger.customClasses import android.content.Context -import android.os.Parcel -import android.text.ParcelableSpan import android.text.TextPaint import android.text.style.CharacterStyle import android.text.style.UpdateAppearance diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/StringUtils.java b/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/StringUtils.java index 65e31275..951c9f44 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/StringUtils.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/StringUtils.java @@ -131,7 +131,7 @@ public static CharSequence getPreciseAbsoluteDateString(Context context, long ti public static String getInitial(String name) { - if ((name == null) || (name.length() == 0)) { + if ((name == null) || (name.isEmpty())) { return ""; } BreakIterator breakIterator = BreakIterator.getCharacterInstance(); @@ -165,7 +165,7 @@ public static boolean isShortEmojiString(String text, int maxLength) { // } // return false; - if (text == null || text.length() == 0) { + if (text == null || text.isEmpty()) { return false; } @@ -222,17 +222,6 @@ public static String unAccent(CharSequence source) { } } - public static int unaccentedOffsetToActualOffset(CharSequence accented, int unaccentedOffset) { - int correctedOffset = unaccentedOffset; - int missed = 0; - try { - do { - correctedOffset += missed; - } while ((missed = unaccentedOffset - StringUtils.unAccent(accented.subSequence(0, correctedOffset)).length()) > 0); - } catch (Exception ignored) {} - return correctedOffset; - } - public static boolean isASubstringOfB(@NonNull String a, @NonNull String b) { byte[] aBytes = a.getBytes(StandardCharsets.UTF_8); byte[] bBytes = b.getBytes(StandardCharsets.UTF_8); diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/StringUtils2.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/StringUtils2.kt index f1b6abc5..b1a0b707 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/StringUtils2.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/customClasses/StringUtils2.kt @@ -19,11 +19,18 @@ package io.olvid.messenger.customClasses +import android.icu.lang.UCharacter +import android.os.Build import android.text.SpannableString import android.text.style.URLSpan import android.text.util.Linkify import androidx.core.text.util.LinkifyCompat import androidx.core.util.PatternsCompat +import io.olvid.messenger.customClasses.StringUtils.unAccentPattern +import java.text.Normalizer +import java.util.BitSet +import java.util.Locale + class StringUtils2 { companion object { @@ -62,6 +69,45 @@ class StringUtils2 { } return null } + + + fun normalize(source: CharSequence?): String { + return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + UCharacter.toLowerCase(unAccentPattern.matcher(Normalizer.normalize(source, Normalizer.Form.NFKD)).replaceAll("")); + } else { + unAccentPattern.matcher(Normalizer.normalize(source, Normalizer.Form.NFKD)).replaceAll("").lowercase(Locale.getDefault()); + } + } + + fun computeHighlightRanges(input: String, unaccentedRegexes: List): List> { + val normalizedInput: String = normalize(input) + val positionMapping = PositionsMapping(input) + + val highlighted = BitSet(input.length) + unaccentedRegexes.forEach { regex -> + regex.findAll(normalizedInput).forEach { + highlighted.set( + positionMapping.getIndex(it.range.first, true), + positionMapping.getIndex(it.range.last, false) + 1 // range.last is inclusive! + ) + } + } + + + if (highlighted.isEmpty) { + return emptyList() + } + + val result: MutableList> = ArrayList() + var start = highlighted.nextSetBit(0) + while (start != -1) { + val end = highlighted.nextClearBit(start + 1) + result.add(Pair(start, end)) + start = highlighted.nextSetBit(end) + } + + return result + } } } @@ -81,4 +127,68 @@ fun SpannableString.linkify(): SpannableString { removeSpan(urlSpan) } } +} +fun List.fullTextSearchEscape(): String { + return this.joinToString(separator = " ", transform = { + "$it*" + }) +} + + +data class PositionsMapping(val input: String) { + + // Differences from normalized text to input text. + private var deltas: MutableMap = LinkedHashMap() + + // Indexes in normalized text that are ignored in input text. + private val gaps: BitSet = BitSet(input.length) + + init { + compute() + } + + /** + * @param pos the position in normalize text + * @param start whether the given position represents start or end of a range. + * @return the position in the input text. + */ + fun getIndex(pos: Int, start: Boolean): Int { + // this SHOULD never happen, but it happened during a test... + if ((pos < 0) || (pos >= gaps.size())) { + return pos + } + var p = pos + if (gaps[pos]) { + // If the position is in a gap, find the first position outside it. + p = if (start) gaps.previousClearBit(p) else gaps.nextClearBit(p) + } + var offset = 0 + // Deals with all deltas before the given position. + for (delta in deltas.entries) { + if (delta.key > p) { + break + } + offset += delta.value + } + return p + offset + } + + private fun compute() { + // Compute Diacritical Marks and ligature delta from normalisation + var cur = 0 + for (i in input.indices) { + val ch = input.substring(i, i + 1) + val normalized = StringUtils2.normalize(ch) + // Compute the delta between a substring of length one input and its normalization + val delta = ch.length - normalized.length + if (delta != 0) { + deltas[cur + normalized.length] = delta + } + // If the normalized is larger that the input string, mark sub position as gap. + if (delta < 0) { + gaps[cur + 1] = cur + normalized.length + } + cur += normalized.length + } + } } \ No newline at end of file diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/AppDatabase.java b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/AppDatabase.java index fc93874c..544df7f2 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/AppDatabase.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/AppDatabase.java @@ -19,6 +19,8 @@ package io.olvid.messenger.databases; +import android.database.Cursor; + import androidx.annotation.NonNull; import androidx.room.Database; import androidx.room.Room; @@ -26,7 +28,13 @@ import androidx.room.TypeConverters; import androidx.sqlite.db.SupportSQLiteDatabase; +import net.zetetic.database.sqlcipher.SQLiteDatabase; + +import java.io.File; + +import io.olvid.engine.Logger; import io.olvid.messenger.App; +import io.olvid.messenger.customClasses.DatabaseKey; import io.olvid.messenger.databases.dao.ActionShortcutConfigurationDao; import io.olvid.messenger.databases.dao.CallLogItemDao; import io.olvid.messenger.databases.dao.ContactDao; @@ -62,6 +70,7 @@ import io.olvid.messenger.databases.entity.DiscussionCustomization; import io.olvid.messenger.databases.entity.Fyle; import io.olvid.messenger.databases.entity.FyleMessageJoinWithStatus; +import io.olvid.messenger.databases.entity.FyleMessageJoinWithStatusFTS; import io.olvid.messenger.databases.entity.Group; import io.olvid.messenger.databases.entity.Group2; import io.olvid.messenger.databases.entity.Group2Member; @@ -71,6 +80,7 @@ import io.olvid.messenger.databases.entity.LatestDiscussionSenderSequenceNumber; import io.olvid.messenger.databases.entity.Message; import io.olvid.messenger.databases.entity.MessageExpiration; +import io.olvid.messenger.databases.entity.MessageFTS; import io.olvid.messenger.databases.entity.MessageMetadata; import io.olvid.messenger.databases.entity.MessageRecipientInfo; import io.olvid.messenger.databases.entity.OwnedDevice; @@ -90,8 +100,10 @@ DiscussionCustomization.class, Fyle.class, FyleMessageJoinWithStatus.class, + FyleMessageJoinWithStatusFTS.class, Invitation.class, Message.class, + MessageFTS.class, MessageExpiration.class, MessageMetadata.class, MessageRecipientInfo.class, @@ -113,37 +125,64 @@ ) @TypeConverters({ObvTypeConverters.class}) public abstract class AppDatabase extends RoomDatabase { - public static final int DB_SCHEMA_VERSION = 66; + public static final int DB_SCHEMA_VERSION = 67; + public static final int DB_FTS_GLOBAL_SEARCH_VERSION = 1; public static final String DB_FILE_NAME = "app_database"; + public static final String TMP_ENCRYPTED_DB_FILE_NAME = "encrypted_app_database"; public abstract ContactDao contactDao(); + public abstract GroupDao groupDao(); + public abstract ContactGroupJoinDao contactGroupJoinDao(); + public abstract PendingGroupMemberDao pendingGroupMemberDao(); + public abstract DiscussionDao discussionDao(); + public abstract DiscussionCustomizationDao discussionCustomizationDao(); + public abstract FyleDao fyleDao(); + public abstract FyleMessageJoinWithStatusDao fyleMessageJoinWithStatusDao(); + public abstract InvitationDao invitationDao(); + public abstract MessageDao messageDao(); + public abstract MessageExpirationDao messageExpirationDao(); + public abstract MessageMetadataDao messageMetadataDao(); + public abstract MessageRecipientInfoDao messageRecipientInfoDao(); + public abstract OwnedIdentityDao ownedIdentityDao(); + public abstract OwnedDeviceDao ownedDeviceDao(); + public abstract CallLogItemDao callLogItemDao(); + public abstract RawDao rawDao(); + public abstract ReactionDao reactionDao(); + public abstract RemoteDeleteAndEditRequestDao remoteDeleteAndEditRequestDao(); + public abstract KnownCertificateDao knownCertificateDao(); + public abstract LatestDiscussionSenderSequenceNumberDao latestDiscussionSenderSequenceNumberDao(); + public abstract ReactionRequestDao reactionRequestDao(); + public abstract ActionShortcutConfigurationDao actionShortcutConfigurationDao(); + public abstract Group2Dao group2Dao(); + public abstract Group2MemberDao group2MemberDao(); + public abstract Group2PendingMemberDao group2PendingMemberDao(); - private static final RoomDatabase.Callback roomDatabaseOpenCallback = new RoomDatabase.Callback(){ + private static final RoomDatabase.Callback roomDatabaseOpenCallback = new RoomDatabase.Callback() { @Override public void onOpen(@NonNull SupportSQLiteDatabase db) { super.onOpen(db); @@ -158,8 +197,59 @@ public static AppDatabase getInstance() { if (instance == null) { synchronized (AppDatabase.class) { if (instance == null) { + System.loadLibrary("sqlcipher"); + File dbFile = new File(App.absolutePathFromRelative(DB_FILE_NAME)); + String dbKey = DatabaseKey.get(DatabaseKey.APP_DATABASE_SECRET); + if (dbKey == null) { + dbKey = ""; + } + try { + SQLiteDatabase db = SQLiteDatabase.openDatabase(dbFile.getPath(), dbKey, null, SQLiteDatabase.OPEN_READWRITE | SQLiteDatabase.CREATE_IF_NECESSARY, null); + db.close(); + } catch (Exception ex) { + Logger.i("App database may need to be encrypted"); + long startTime = System.currentTimeMillis(); + try { + int oldUserVersion = -1; + File tmpEncryptedDbFile = new File(App.absolutePathFromRelative(TMP_ENCRYPTED_DB_FILE_NAME)); + try (SQLiteDatabase db = SQLiteDatabase.openDatabase(dbFile.getPath(), "", null, SQLiteDatabase.OPEN_READWRITE | SQLiteDatabase.CREATE_IF_NECESSARY, null)) { + db.rawExecSQL("ATTACH DATABASE '" + tmpEncryptedDbFile.getPath() + "' AS encrypted KEY \"" + dbKey + "\";"); + db.rawExecSQL("SELECT sqlcipher_export('encrypted');"); + db.rawExecSQL("DETACH DATABASE encrypted;"); + try (Cursor cursor = db.rawQuery("PRAGMA user_version;")) { + cursor.moveToNext(); + oldUserVersion = cursor.getInt(0); + } + } + + // Now, we need to copy the PRAGMA user_version from original DB to the new one + if (oldUserVersion == -1) { + throw new Exception("Unable to read user_version from current database"); + } else { + try (SQLiteDatabase db = SQLiteDatabase.openDatabase(tmpEncryptedDbFile.getPath(), dbKey, null, SQLiteDatabase.OPEN_READWRITE | SQLiteDatabase.CREATE_IF_NECESSARY, null)) { + db.rawExecSQL("PRAGMA user_version = " + oldUserVersion + ";"); + } + } + + boolean deleted = dbFile.delete(); + if (deleted) { + boolean renamed = tmpEncryptedDbFile.renameTo(dbFile); + if (renamed) { + Logger.i("App database encryption successful (took " + (System.currentTimeMillis() - startTime) + "ms)"); + } else { + Logger.e("App database encryption error: Unable to rename encrypted database!"); + } + } else { + throw new RuntimeException("App database encryption error: unable to delete unencrypted database!"); + } + } catch (Exception fatal) { + // database is encrypted but not with the provided dbKey! + throw new RuntimeException("Database seems encrypted but cannot be opened with provided dbKey", fatal); + } + } + instance = Room.databaseBuilder(App.getContext(), AppDatabase.class, App.absolutePathFromRelative(DB_FILE_NAME)) - .openHelperFactory(new PragmaSQLiteOpenHelperFactory()) + .openHelperFactory(new PragmaSQLiteOpenHelperFactory(dbKey)) .addCallback(roomDatabaseOpenCallback) .addMigrations(AppDatabaseMigrations.MIGRATIONS) .build(); diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/AppDatabaseMigrations.java b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/AppDatabaseMigrations.java index 48a29f20..3be2e5ef 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/AppDatabaseMigrations.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/AppDatabaseMigrations.java @@ -41,6 +41,29 @@ class AppDatabaseMigrations { static final Migration[] MIGRATIONS = new Migration[]{ + new Migration(66, 67) { + @Override + public void migrate(@NonNull SupportSQLiteDatabase database) { + Logger.w("ROOM MIGRATING FROM VERSION 66 TO 67"); + + database.execSQL("CREATE VIRTUAL TABLE IF NOT EXISTS `message_table_fts` USING FTS4(`content_body` TEXT NOT NULL, tokenize=unicode61 `remove_diacritics=2`, content=`message_table`)"); + database.execSQL("CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_message_table_fts_BEFORE_UPDATE BEFORE UPDATE ON `message_table` BEGIN DELETE FROM `message_table_fts` WHERE `docid`=OLD.`rowid`; END"); + database.execSQL("CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_message_table_fts_BEFORE_DELETE BEFORE DELETE ON `message_table` BEGIN DELETE FROM `message_table_fts` WHERE `docid`=OLD.`rowid`; END"); + database.execSQL("CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_message_table_fts_AFTER_UPDATE AFTER UPDATE ON `message_table` BEGIN INSERT INTO `message_table_fts`(`docid`, `content_body`) VALUES (NEW.`rowid`, NEW.`content_body`); END"); + database.execSQL("CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_message_table_fts_AFTER_INSERT AFTER INSERT ON `message_table` BEGIN INSERT INTO `message_table_fts`(`docid`, `content_body`) VALUES (NEW.`rowid`, NEW.`content_body`); END"); + + + database.execSQL("ALTER TABLE `fyle_message_join_with_status` ADD COLUMN `text_extracted` INTEGER NOT NULL DEFAULT 0"); + database.execSQL("ALTER TABLE `fyle_message_join_with_status` ADD COLUMN `text_content` TEXT DEFAULT NULL"); + + database.execSQL("CREATE VIRTUAL TABLE IF NOT EXISTS `fyle_message_join_with_status_fts` USING FTS4(`file_name` TEXT NOT NULL, `text_content` TEXT NOT NULL, tokenize=unicode61 `remove_diacritics=2`, content=`fyle_message_join_with_status`)"); + database.execSQL("CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_fyle_message_join_with_status_fts_BEFORE_UPDATE BEFORE UPDATE ON `fyle_message_join_with_status` BEGIN DELETE FROM `fyle_message_join_with_status_fts` WHERE `docid`=OLD.`rowid`; END"); + database.execSQL("CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_fyle_message_join_with_status_fts_BEFORE_DELETE BEFORE DELETE ON `fyle_message_join_with_status` BEGIN DELETE FROM `fyle_message_join_with_status_fts` WHERE `docid`=OLD.`rowid`; END"); + database.execSQL("CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_fyle_message_join_with_status_fts_AFTER_UPDATE AFTER UPDATE ON `fyle_message_join_with_status` BEGIN INSERT INTO `fyle_message_join_with_status_fts`(`docid`, `file_name`, `text_content`) VALUES (NEW.`rowid`, NEW.`file_name`, NEW.`text_content`); END"); + database.execSQL("CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_fyle_message_join_with_status_fts_AFTER_INSERT AFTER INSERT ON `fyle_message_join_with_status` BEGIN INSERT INTO `fyle_message_join_with_status_fts`(`docid`, `file_name`, `text_content`) VALUES (NEW.`rowid`, NEW.`file_name`, NEW.`text_content`); END"); + } + }, + new Migration(65, 66) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/GlobalSearchTokenizer.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/GlobalSearchTokenizer.kt new file mode 100644 index 00000000..8b5d612a --- /dev/null +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/GlobalSearchTokenizer.kt @@ -0,0 +1,75 @@ +/* + * Olvid for Android + * Copyright © 2019-2024 Olvid SAS + * + * This file is part of Olvid for Android. + * + * Olvid is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * Olvid is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Olvid. If not, see . + */ + +package io.olvid.messenger.databases + +import androidx.sqlite.db.SupportSQLiteDatabase +import androidx.sqlite.db.SupportSQLiteOpenHelper +import io.olvid.messenger.App +import net.zetetic.database.sqlcipher.SupportOpenHelperFactory + +class GlobalSearchTokenizer { + companion object { + private val INSTANCE: GlobalSearchTokenizer by lazy { + GlobalSearchTokenizer() + } + + fun tokenize(query: String): List { + return INSTANCE.tokenize(query) + } + } + + private val database: SupportSQLiteDatabase; + + init { + val supportSQLiteOpenHelper = SupportOpenHelperFactory(null).create( + configuration = SupportSQLiteOpenHelper.Configuration( + context = App.getContext(), + name = null, // in memory db + callback = object : + SupportSQLiteOpenHelper.Callback(1) { + override fun onCreate(db: SupportSQLiteDatabase) { + db.execSQL("CREATE VIRTUAL TABLE tokenizer USING fts3tokenize(unicode61, \"remove_diacritics=2\");"); + } + + override fun onUpgrade( + db: SupportSQLiteDatabase, + oldVersion: Int, + newVersion: Int + ) {} + }) + ) + + database = supportSQLiteOpenHelper.readableDatabase + } + + private fun tokenize(query: String): List { + val cursor = database.query("SELECT token FROM `tokenizer` WHERE input = ?", arrayOf(query)) + val tokens = mutableListOf() + with(cursor) { + while (moveToNext()) { + try { + tokens.add(getString(0)) + } catch (_ : Exception) {} + } + } + cursor.close() + return tokens + } +} \ No newline at end of file diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/PragmaSQLiteOpenHelperFactory.java b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/PragmaSQLiteOpenHelperFactory.java index 3df3c8dd..00395c42 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/PragmaSQLiteOpenHelperFactory.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/PragmaSQLiteOpenHelperFactory.java @@ -22,10 +22,17 @@ import androidx.annotation.NonNull; import androidx.sqlite.db.SupportSQLiteDatabase; import androidx.sqlite.db.SupportSQLiteOpenHelper; -import androidx.sqlite.db.framework.FrameworkSQLiteOpenHelperFactory; + +import net.zetetic.database.sqlcipher.SupportOpenHelperFactory; + +import java.nio.charset.StandardCharsets; public class PragmaSQLiteOpenHelperFactory implements SupportSQLiteOpenHelper.Factory { - private final FrameworkSQLiteOpenHelperFactory frameworkSQLiteOpenHelperFactory = new FrameworkSQLiteOpenHelperFactory(); + private final SupportOpenHelperFactory frameworkSQLiteOpenHelperFactory; + + public PragmaSQLiteOpenHelperFactory(@NonNull String dbKey) { + frameworkSQLiteOpenHelperFactory = new SupportOpenHelperFactory(dbKey.getBytes(StandardCharsets.UTF_8)); + } @NonNull @Override diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/dao/DiscussionDao.java b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/dao/DiscussionDao.java index b2ec758a..72aeca4d 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/dao/DiscussionDao.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/dao/DiscussionDao.java @@ -377,6 +377,27 @@ public abstract class DiscussionDao { " ORDER BY status, is_group, disc." + Discussion.TITLE + " COLLATE NOCASE ASC") public abstract LiveData> getAllWithGroupMembersNames(byte[] ownedIdentityBytes); + @SuppressWarnings(RoomWarnings.CURSOR_MISMATCH) // the column status is used for sorting only + @Query("SELECT " + PREFIX_DISCUSSION_COLUMNS + ", " + + " COALESCE(grp." + Group.GROUP_MEMBERS_NAMES + ", grpp." + Group2.GROUP_MEMBERS_NAMES + ") AS groupMemberNames, " + + " CASE disc." + Discussion.STATUS + + " WHEN " + Discussion.STATUS_NORMAL + " THEN 0 " + + " WHEN " + Discussion.STATUS_READ_ONLY + " THEN 0 " + + " ELSE 1 " + + " END AS status " + + " FROM " + Discussion.TABLE_NAME + " AS disc " + + " LEFT JOIN " + Group.TABLE_NAME + " AS grp " + + " ON disc." + Discussion.BYTES_DISCUSSION_IDENTIFIER + " = grp." + Group.BYTES_GROUP_OWNER_AND_UID + + " AND disc." + Discussion.BYTES_OWNED_IDENTITY + " = grp." + Group.BYTES_OWNED_IDENTITY + + " AND disc." + Discussion.DISCUSSION_TYPE + " = " + Discussion.TYPE_GROUP + + " LEFT JOIN " + Group2.TABLE_NAME + " AS grpp " + + " ON disc." + Discussion.BYTES_DISCUSSION_IDENTIFIER + " = grpp." + Group2.BYTES_GROUP_IDENTIFIER + + " AND disc." + Discussion.BYTES_OWNED_IDENTITY + " = grpp." + Group2.BYTES_OWNED_IDENTITY + + " AND disc." + Discussion.DISCUSSION_TYPE + " = " + Discussion.TYPE_GROUP_V2 + + " WHERE disc." + Discussion.BYTES_OWNED_IDENTITY + " = :ownedIdentityBytes " + + " ORDER BY status DESC, disc." + Discussion.TITLE + " COLLATE NOCASE ASC") + public abstract List getAllForGlobalSearch(byte[] ownedIdentityBytes); + @SuppressWarnings(RoomWarnings.CURSOR_MISMATCH) // the columns is_group and status are used for sorting only @Query("SELECT " + PREFIX_DISCUSSION_COLUMNS + ", " + " COALESCE(grp." + Group.GROUP_MEMBERS_NAMES + ", grpp." + Group2.GROUP_MEMBERS_NAMES + ") AS groupMemberNames, " + diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/dao/FyleMessageJoinWithStatusDao.java b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/dao/FyleMessageJoinWithStatusDao.java index e96444d6..50a862dc 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/dao/FyleMessageJoinWithStatusDao.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/dao/FyleMessageJoinWithStatusDao.java @@ -92,6 +92,13 @@ public interface FyleMessageJoinWithStatusDao { " AND " + FyleMessageJoinWithStatus.FYLE_ID + " = :fyleId ") void updateWasOpened(long messageId, long fyleId); + @Query("UPDATE " + FyleMessageJoinWithStatus.TABLE_NAME + + " SET " + FyleMessageJoinWithStatus.TEXT_CONTENT + " = :content, " + + FyleMessageJoinWithStatus.TEXT_EXTRACTED + " = 1 " + + " WHERE " + FyleMessageJoinWithStatus.MESSAGE_ID + " = :messageId " + + " AND " + FyleMessageJoinWithStatus.FYLE_ID + " = :fyleId ") + void updateTextContent(long messageId, long fyleId, String content); + @Query("UPDATE " + FyleMessageJoinWithStatus.TABLE_NAME + " SET " + FyleMessageJoinWithStatus.RECEPTION_STATUS + " = :receptionStatus " + " WHERE " + FyleMessageJoinWithStatus.MESSAGE_ID + " = :messageId " + @@ -324,6 +331,14 @@ public interface FyleMessageJoinWithStatusDao { LiveData> getImageAndVideoFylesAndStatusesForOwnedIdentityByNameAscending(byte[] bytesOwnedIdentity); + @Query("SELECT fyle.*, FMjoin.* FROM " + Fyle.TABLE_NAME + " AS fyle " + + " INNER JOIN " + FyleMessageJoinWithStatus.TABLE_NAME + " AS FMjoin " + + " ON fyle.id = FMjoin." + FyleMessageJoinWithStatus.FYLE_ID + + " WHERE FMjoin." + FyleMessageJoinWithStatus.TEXT_EXTRACTED + " = 0" + + " AND FMjoin." + FyleMessageJoinWithStatus.MIME_TYPE + " = '" + OpenGraph.MIME_TYPE + "' " + + " AND fyle." + Fyle.FILE_PATH + " IS NOT NULL") + List getCompleteFyleAndStatusForTextExtraction(); + @Query("SELECT fyle.*, FMjoin.* FROM " + Fyle.TABLE_NAME + " AS fyle " + " INNER JOIN " + FyleMessageJoinWithStatus.TABLE_NAME + " AS FMjoin " + " ON fyle.id = FMjoin." + FyleMessageJoinWithStatus.FYLE_ID + @@ -380,6 +395,21 @@ public interface FyleMessageJoinWithStatusDao { " AND FMjoin." + FyleMessageJoinWithStatus.MIME_TYPE + " NOT LIKE 'video/%' " + " AND FMjoin." + FyleMessageJoinWithStatus.MIME_TYPE + " NOT LIKE 'image/%' "; + @Query("SELECT " + DiscussionDao.PREFIX_DISCUSSION_COLUMNS + ", " + MessageDao.PREFIX_MESSAGE_COLUMNS + ", fyle.*, FMjoin.* " + + " FROM " + FyleMessageJoinWithStatus.TABLE_NAME + " AS FMjoin " + + " INNER JOIN " + Fyle.TABLE_NAME + " AS fyle " + + " ON fyle.id = FMjoin." + FyleMessageJoinWithStatus.FYLE_ID + + " INNER JOIN " + Message.TABLE_NAME + " AS mess " + + " ON mess.id = FMjoin." + FyleMessageJoinWithStatus.MESSAGE_ID + + " AND mess." + Message.MESSAGE_TYPE + " != " + Message.TYPE_INBOUND_EPHEMERAL_MESSAGE + + " INNER JOIN " + Discussion.TABLE_NAME + " AS disc " + + " ON disc.id = mess." + Message.DISCUSSION_ID + + " AND disc." + Discussion.BYTES_OWNED_IDENTITY + " = :bytesOwnedIdentity " + + " JOIN " + FyleMessageJoinWithStatus.FTS_TABLE_NAME + " ON FMJoin.rowid = " + FyleMessageJoinWithStatus.FTS_TABLE_NAME + ".rowid" + + " WHERE " + FyleMessageJoinWithStatus.FTS_TABLE_NAME + " MATCH :filter ORDER BY mess.timestamp DESC LIMIT :limit" + ) + List globalSearch(byte[] bytesOwnedIdentity, String filter, int limit); + @Query(MEDIA_FYLE_AND_ORIGIN_QUERY + " ORDER BY FMjoin." + FyleMessageJoinWithStatus.SIZE + " ASC ") LiveData> getMediaFyleAndOriginSizeAsc(byte[] bytesOwnedIdentity); @Query(MEDIA_FYLE_AND_ORIGIN_QUERY + " ORDER BY FMjoin." + FyleMessageJoinWithStatus.SIZE + " DESC ") diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/dao/MessageDao.java b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/dao/MessageDao.java index df5d73bc..d4bf187d 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/dao/MessageDao.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/dao/MessageDao.java @@ -82,6 +82,15 @@ public interface MessageDao { @Update void update(Message message); + @Query("SELECT m.* FROM " + Message.TABLE_NAME + " AS m " + + " INNER JOIN " + Discussion.TABLE_NAME + " AS disc ON disc.id = m." + Message.DISCUSSION_ID + + " AND disc." + Discussion.BYTES_OWNED_IDENTITY + " = :bytesOwnedIdentity " + + " JOIN " + Message.FTS_TABLE_NAME + " ON m.id = " + Message.FTS_TABLE_NAME + ".rowid" + + " WHERE m." + Message.MESSAGE_TYPE + " != " + Message.TYPE_INBOUND_EPHEMERAL_MESSAGE + + " AND " + Message.FTS_TABLE_NAME + " MATCH :query ORDER BY m." + Message.TIMESTAMP + " DESC LIMIT :limit ") + List globalSearch(byte[] bytesOwnedIdentity, String query, int limit); + + @Query("UPDATE " + Message.TABLE_NAME + " SET " + Message.TIMESTAMP + " = :timestamp, " + Message.SORT_INDEX + " = :sortIndex " + diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/entity/FyleMessageJoinWithStatus.java b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/entity/FyleMessageJoinWithStatus.java index c8af3be3..e32aebf3 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/entity/FyleMessageJoinWithStatus.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/entity/FyleMessageJoinWithStatus.java @@ -27,12 +27,17 @@ import androidx.room.Ignore; import androidx.room.Index; +import java.io.ByteArrayOutputStream; +import java.io.FileInputStream; +import java.io.IOException; import java.util.Arrays; import java.util.List; +import io.olvid.engine.encoder.Encoded; import io.olvid.messenger.App; import io.olvid.messenger.customClasses.PreviewUtils; import io.olvid.messenger.databases.AppDatabase; +import io.olvid.messenger.discussion.linkpreview.OpenGraph; import io.olvid.messenger.settings.SettingsActivity; @SuppressWarnings("CanBeFinal") @@ -62,12 +67,14 @@ ) public class FyleMessageJoinWithStatus { public static final String TABLE_NAME = "fyle_message_join_with_status"; - + public static final String FTS_TABLE_NAME = "fyle_message_join_with_status_fts"; public static final String FYLE_ID = "fyle_id"; public static final String MESSAGE_ID = "message_id"; public static final String BYTES_OWNED_IDENTITY = "bytes_owned_identity"; public static final String FILE_PATH = "file_path"; // should almost always be a path relative to the getNoBackupFilesDir folder, but may be an absolute path when referring to a file in the cache dir (during a copy typically) public static final String FILE_NAME = "file_name"; + public static final String TEXT_EXTRACTED = "text_extracted"; + public static final String TEXT_CONTENT = "text_content"; public static final String MIME_TYPE = "file_type"; public static final String STATUS = "status"; public static final String SIZE = "size"; @@ -109,6 +116,12 @@ public class FyleMessageJoinWithStatus { @NonNull public String fileName; + @ColumnInfo(name = TEXT_EXTRACTED) + public boolean textExtracted; + + @ColumnInfo(name = TEXT_CONTENT) + public String textContent; + @ColumnInfo(name = MIME_TYPE) public String mimeType; @@ -142,12 +155,14 @@ public class FyleMessageJoinWithStatus { public int receptionStatus; // default constructor required by Room (do not use internally) - public FyleMessageJoinWithStatus(long fyleId, long messageId, @NonNull byte[] bytesOwnedIdentity, @NonNull String filePath, @NonNull String fileName, String mimeType, int status, long size, float progress, byte[] engineMessageIdentifier, Integer engineNumber, @Nullable String imageResolution, @Nullable byte[] miniPreview, boolean wasOpened, int receptionStatus) { + public FyleMessageJoinWithStatus(long fyleId, long messageId, @NonNull byte[] bytesOwnedIdentity, @NonNull String filePath, @NonNull String fileName, boolean textExtracted, String textContent, String mimeType, int status, long size, float progress, byte[] engineMessageIdentifier, Integer engineNumber, @Nullable String imageResolution, @Nullable byte[] miniPreview, boolean wasOpened, int receptionStatus) { this.fyleId = fyleId; this.messageId = messageId; this.bytesOwnedIdentity = bytesOwnedIdentity; this.filePath = filePath; this.fileName = fileName; + this.textExtracted = textExtracted; + this.textContent = textContent; this.mimeType = mimeType; this.status = status; this.size = size; @@ -186,6 +201,8 @@ public static FyleMessageJoinWithStatus createDraft(long fyleId, long messageId, bytesOwnedIdentity, filePath, fileName, + false, + null, mimeType, STATUS_DRAFT, size, @@ -205,6 +222,8 @@ public static FyleMessageJoinWithStatus createCopying(long fyleId, long messageI bytesOwnedIdentity, filePath, fileName, + false, + null, mimeType, STATUS_COPYING, size, @@ -331,4 +350,27 @@ public void markAsOpened() { }); } } + + // should be run on a background thread (accesses the DB) + public void computeTextContentForFullTextSearch(AppDatabase db, Fyle fyle) throws IOException { + if (textExtracted) { + return; + } + + if (OpenGraph.MIME_TYPE.equals(mimeType)) { + try (FileInputStream fileInputStream = new FileInputStream(App.absolutePathFromRelative(fyle.filePath)); + ByteArrayOutputStream bos = new ByteArrayOutputStream()) { + byte[] buffer = new byte[262_144]; + int c; + while ((c = fileInputStream.read(buffer)) != -1) { + bos.write(buffer, 0, c); + } + OpenGraph openGraph = OpenGraph.Companion.of(new Encoded(bos.toByteArray()), null); + String content = openGraph.getUrl() + " " + (openGraph.getTitle() != null ? openGraph.getTitle() + " " : " ") + (openGraph.getDescription() != null ? openGraph.getDescription() : "").trim(); + textContent = content; + textExtracted = true; + db.fyleMessageJoinWithStatusDao().updateTextContent(messageId, fyleId, content); + } + } + } } diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/entity/FyleMessageJoinWithStatusFTS.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/entity/FyleMessageJoinWithStatusFTS.kt new file mode 100644 index 00000000..70e05a2f --- /dev/null +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/entity/FyleMessageJoinWithStatusFTS.kt @@ -0,0 +1,34 @@ +/* + * Olvid for Android + * Copyright © 2019-2024 Olvid SAS + * + * This file is part of Olvid for Android. + * + * Olvid is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * Olvid is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Olvid. If not, see . + */ + +package io.olvid.messenger.databases.entity + +import androidx.room.ColumnInfo +import androidx.room.Entity +import androidx.room.Fts4 +import androidx.room.FtsOptions + +@Entity(tableName = FyleMessageJoinWithStatus.FTS_TABLE_NAME) +@Fts4(contentEntity = FyleMessageJoinWithStatus::class, tokenizer = FtsOptions.TOKENIZER_UNICODE61, tokenizerArgs = ["remove_diacritics=2"]) +data class FyleMessageJoinWithStatusFTS( + @ColumnInfo(name = FyleMessageJoinWithStatus.FILE_NAME) + val fileName : String, + @ColumnInfo(name = FyleMessageJoinWithStatus.TEXT_CONTENT) + val textContent : String +) \ No newline at end of file diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/entity/Message.java b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/entity/Message.java index d4195fd4..74108b6d 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/entity/Message.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/entity/Message.java @@ -96,6 +96,7 @@ ) public class Message { public static final String TABLE_NAME = "message_table"; + public static final String FTS_TABLE_NAME = "message_table_fts"; public static final String SENDER_SEQUENCE_NUMBER = "sender_sequence_number"; public static final String CONTENT_BODY = "content_body"; @@ -791,7 +792,7 @@ public static boolean postReactionMessage(Message message, @Nullable String emoj AppDatabase db = AppDatabase.getInstance(); Discussion discussion = db.discussionDao().getById(message.discussionId); - if (!discussion.isNormal()) { + if (!discussion.isNormalOrReadOnly()) { Logger.e("Trying to react a message in a locked discussion!!!"); return true; } diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/entity/MessageFTS.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/entity/MessageFTS.kt new file mode 100644 index 00000000..8847ad8d --- /dev/null +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/entity/MessageFTS.kt @@ -0,0 +1,32 @@ +/* + * Olvid for Android + * Copyright © 2019-2023 Olvid SAS + * + * This file is part of Olvid for Android. + * + * Olvid is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * Olvid is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Olvid. If not, see . + */ + +package io.olvid.messenger.databases.entity + +import androidx.room.ColumnInfo +import androidx.room.Entity +import androidx.room.Fts4 +import androidx.room.FtsOptions + +@Entity(tableName = Message.FTS_TABLE_NAME) +@Fts4(contentEntity = Message::class, tokenizer = FtsOptions.TOKENIZER_UNICODE61, tokenizerArgs = ["remove_diacritics=2"]) +data class MessageFTS( + @ColumnInfo(name = Message.CONTENT_BODY) + val body : String +) \ No newline at end of file diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/tasks/AddFyleToDraftFromUriTask.java b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/tasks/AddFyleToDraftFromUriTask.java index b70b0dd1..8f0ffeb9 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/tasks/AddFyleToDraftFromUriTask.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/tasks/AddFyleToDraftFromUriTask.java @@ -397,6 +397,14 @@ public void run() { db.fyleMessageJoinWithStatusDao().update(otherFyleMessageJoinWithStatus); otherFyleMessageJoinWithStatus.sendReturnReceipt(FyleMessageJoinWithStatus.RECEPTION_STATUS_DELIVERED, null); AppSingleton.getEngine().markAttachmentForDeletion(otherFyleMessageJoinWithStatus.bytesOwnedIdentity, otherFyleMessageJoinWithStatus.engineMessageIdentifier, otherFyleMessageJoinWithStatus.engineNumber); + Fyle finalFyle1 = fyle; + App.runThread(() -> { + try { + otherFyleMessageJoinWithStatus.computeTextContentForFullTextSearch(db, finalFyle1); + } catch (IOException e) { + e.printStackTrace(); + } + }); break; } } diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/tasks/HandleNewMessageNotificationTask.java b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/tasks/HandleNewMessageNotificationTask.java index a8166e27..6f9470c3 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/tasks/HandleNewMessageNotificationTask.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/tasks/HandleNewMessageNotificationTask.java @@ -1068,7 +1068,7 @@ private void handleReactionMessage(@NonNull JsonReaction jsonReaction, @NonNull return; } - Discussion discussion = getDiscussion(jsonReaction.getGroupUid(), jsonReaction.getGroupOwner(), jsonReaction.getGroupV2Identifier(), jsonReaction.getOneToOneIdentifier(), messageSender, GroupV2.Permission.SEND_MESSAGE); + Discussion discussion = getDiscussion(jsonReaction.getGroupUid(), jsonReaction.getGroupOwner(), jsonReaction.getGroupV2Identifier(), jsonReaction.getOneToOneIdentifier(), messageSender, null); if (discussion == null) { return; diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/tasks/backup/SettingsPojo_0.java b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/tasks/backup/SettingsPojo_0.java index 757d97aa..32dbabde 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/databases/tasks/backup/SettingsPojo_0.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/databases/tasks/backup/SettingsPojo_0.java @@ -286,12 +286,14 @@ public void restore() { if (auto_join_groups != null) { oldAutoJoinGroupsCategory = SettingsActivity.getAutoJoinGroups(); SettingsActivity.setAutoJoinGroups(SettingsActivity.getAutoJoinGroupsFromString(auto_join_groups)); - - try { - AppSingleton.getEngine().propagateAppSyncAtomToAllOwnedIdentitiesOtherDevicesIfNeeded(ObvSyncAtom.createSettingAutoJoinGroups(auto_join_groups)); - } catch (Exception e) { - Logger.w("Failed to propagate auto join group setting change to other devices"); - e.printStackTrace(); + if (oldAutoJoinGroupsCategory != SettingsActivity.getAutoJoinGroups()) { + // only propagate if something did change + try { + AppSingleton.getEngine().propagateAppSyncAtomToAllOwnedIdentitiesOtherDevicesIfNeeded(ObvSyncAtom.createSettingAutoJoinGroups(auto_join_groups)); + } catch (Exception e) { + Logger.w("Failed to propagate auto join group setting change to other devices"); + e.printStackTrace(); + } } } if (show_trust_level != null) { SettingsActivity.setShowTrustLevels(show_trust_level); } @@ -308,13 +310,16 @@ public void restore() { if (link_preview_inbound != null) { SettingsActivity.setLinkPreviewInbound(link_preview_inbound); } if (link_preview_outbound != null) { SettingsActivity.setLinkPreviewOutbound(link_preview_outbound); } if (send_read_receipt != null) { - SettingsActivity.setDefaultSendReadReceipt(send_read_receipt); - - try { - AppSingleton.getEngine().propagateAppSyncAtomToAllOwnedIdentitiesOtherDevicesIfNeeded(ObvSyncAtom.createSettingDefaultSendReadReceipts(send_read_receipt)); - } catch (Exception e) { - Logger.w("Failed to propagate default send read receipt setting change to other devices"); - e.printStackTrace(); + if (SettingsActivity.getDefaultSendReadReceipt() != send_read_receipt) { + // only propagate if something did change + SettingsActivity.setDefaultSendReadReceipt(send_read_receipt); + + try { + AppSingleton.getEngine().propagateAppSyncAtomToAllOwnedIdentitiesOtherDevicesIfNeeded(ObvSyncAtom.createSettingDefaultSendReadReceipts(send_read_receipt)); + } catch (Exception e) { + Logger.w("Failed to propagate default send read receipt setting change to other devices"); + e.printStackTrace(); + } } } if (auto_open_limited_visibility != null) { SettingsActivity.setDefaultAutoOpenLimitedVisibilityInboundMessages(auto_open_limited_visibility); } diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/DiscussionActivity.java b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/DiscussionActivity.java index 3e3fb45d..28776bcf 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/DiscussionActivity.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/DiscussionActivity.java @@ -3259,7 +3259,11 @@ public void onBindViewHolder(@NonNull final MessageViewHolder holder, int positi holder.callBackButton.setImageResource(R.drawable.ic_phone_rejected_out); break; } - case -CallLogItem.STATUS_MISSED: + case -CallLogItem.STATUS_MISSED: { + holder.messageInfoTextView.setText(R.string.text_unanswered_call); + holder.callBackButton.setImageResource(R.drawable.ic_phone_missed_out); + break; + } case -CallLogItem.STATUS_FAILED: { holder.messageInfoTextView.setText(R.string.text_failed_call); holder.callBackButton.setImageResource(R.drawable.ic_phone_failed_out); @@ -3346,6 +3350,12 @@ public void onBindViewHolder(@NonNull final MessageViewHolder holder, int positi } break; case CallLogItem.STATUS_MISSED: + if (callLogItemAndContacts.contacts.size() < 2) { + holder.callCachedString = getString(R.string.text_unanswered_outgoing_call_with_contacts, callLogItemAndContacts.oneContact.getCustomDisplayName()); + } else { + holder.callCachedString = getResources().getQuantityString(R.plurals.text_unanswered_outgoing_group_call_with_contacts, callLogItemAndContacts.contacts.size() - 1, callLogItemAndContacts.contacts.size() - 1, callLogItemAndContacts.oneContact.getCustomDisplayName()); + } + break; case CallLogItem.STATUS_FAILED: if (callLogItemAndContacts.contacts.size() < 2) { holder.callCachedString = getString(R.string.text_failed_outgoing_call_with_contacts, callLogItemAndContacts.oneContact.getCustomDisplayName()); diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/DiscussionOwnedIdentityPopupWindow.java b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/DiscussionOwnedIdentityPopupWindow.java index 3abefbc3..01c8b3c4 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/DiscussionOwnedIdentityPopupWindow.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/DiscussionOwnedIdentityPopupWindow.java @@ -53,11 +53,11 @@ import io.olvid.messenger.App; import io.olvid.messenger.AppSingleton; import io.olvid.messenger.R; -import io.olvid.messenger.owneddetails.OwnedIdentityDetailsActivity; import io.olvid.messenger.customClasses.InitialView; import io.olvid.messenger.databases.AppDatabase; import io.olvid.messenger.databases.dao.OwnedIdentityDao; import io.olvid.messenger.databases.entity.OwnedIdentity; +import io.olvid.messenger.owneddetails.OwnedIdentityDetailsActivity; import io.olvid.messenger.settings.SettingsActivity; public class DiscussionOwnedIdentityPopupWindow { diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/DiscussionSearch.java b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/DiscussionSearch.java index 598b5d41..fe5efdcc 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/DiscussionSearch.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/DiscussionSearch.java @@ -32,16 +32,17 @@ import java.util.ArrayList; import java.util.List; -import java.util.regex.Matcher; import java.util.regex.Pattern; -import io.olvid.engine.Logger; import io.olvid.messenger.App; import io.olvid.messenger.R; import io.olvid.messenger.customClasses.SearchHighlightSpan; import io.olvid.messenger.customClasses.StringUtils; +import io.olvid.messenger.customClasses.StringUtils2; import io.olvid.messenger.databases.entity.Message; import io.olvid.messenger.settings.SettingsActivity; +import kotlin.Pair; +import kotlin.text.Regex; public class DiscussionSearch implements MenuItem.OnMenuItemClickListener, MenuItem.OnActionExpandListener, SearchView.OnQueryTextListener { @NonNull private final FragmentActivity activity; @@ -331,18 +332,19 @@ public static CharSequence highlightString(@NonNull Spannable input, @NonNull Li if (highlightedSpans == null) { return input; } + List regexes = new ArrayList<>(patterns.size()); + for (Pattern pattern : patterns) { + regexes.add(new Regex(pattern.toString())); + } + List> ranges = StringUtils2.Companion.computeHighlightRanges(input.toString(), regexes); int i = 0; - String unAccented = StringUtils.unAccent(input.toString()); - for (Pattern pattern : patterns) { + for (Pair range : ranges) { if (i == highlightedSpans.length) { break; } - Matcher matcher = pattern.matcher(unAccented); - if (matcher.find()) { - input.setSpan(highlightedSpans[i], StringUtils.unaccentedOffsetToActualOffset(input, matcher.start()), StringUtils.unaccentedOffsetToActualOffset(input, matcher.end()), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); - i++; - } + input.setSpan(highlightedSpans[i], range.getFirst(), range.getSecond(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + i++; } return input; diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/MessageLongPressPopUp.java b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/MessageLongPressPopUp.java index 61550036..14e0925a 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/MessageLongPressPopUp.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/MessageLongPressPopUp.java @@ -167,7 +167,7 @@ private void buildPopupWindow() { if ((message.messageType != Message.TYPE_OUTBOUND_MESSAGE && message.messageType != Message.TYPE_INBOUND_MESSAGE) || message.wipeStatus == Message.WIPE_STATUS_WIPED || message.wipeStatus == Message.WIPE_STATUS_REMOTE_DELETED - || !discussion.isNormal()) { + || !discussion.isNormalOrReadOnly()) { // no reactions in this case reactionsPopUpLinearLayout.setVisibility(View.GONE); } else { diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/Utils.java b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/Utils.java index 69c23d7c..8a3ba942 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/Utils.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/Utils.java @@ -50,7 +50,6 @@ import io.olvid.messenger.App; import io.olvid.messenger.AppSingleton; import io.olvid.messenger.R; -import io.olvid.messenger.owneddetails.OwnedIdentityDetailsActivity; import io.olvid.messenger.customClasses.InitialView; import io.olvid.messenger.customClasses.Markdown; import io.olvid.messenger.customClasses.SecureAlertDialogBuilder; @@ -60,6 +59,7 @@ import io.olvid.messenger.databases.entity.Message; import io.olvid.messenger.databases.entity.jsons.JsonUserMention; import io.olvid.messenger.discussion.mention.MentionUrlSpan; +import io.olvid.messenger.owneddetails.OwnedIdentityDetailsActivity; import io.olvid.messenger.settings.SettingsActivity; public class Utils { diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/compose/ComposeMessageFragment.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/compose/ComposeMessageFragment.kt index efdb9c68..58d787a7 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/compose/ComposeMessageFragment.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/compose/ComposeMessageFragment.kt @@ -74,7 +74,9 @@ import androidx.activity.result.contract.ActivityResultContracts.RequestPermissi import androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult import androidx.appcompat.app.AlertDialog.Builder import androidx.appcompat.widget.AppCompatTextView -import androidx.compose.material.ExperimentalMaterialApi +import androidx.compose.animation.AnimatedVisibility +import androidx.compose.animation.slideInHorizontally +import androidx.compose.foundation.layout.Box import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.setValue @@ -379,7 +381,6 @@ class ComposeMessageFragment : Fragment(R.layout.fragment_discussion_compose), O } } - @OptIn(ExperimentalMaterialApi::class) @SuppressLint("ClickableViewAccessibility") override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) @@ -663,13 +664,29 @@ class ComposeMessageFragment : Fragment(R.layout.fragment_discussion_compose), O attachStuffPlus = view.findViewById(R.id.attach_stuff_plus) attachStuffPlus?.setOnClickListener(this) attachStuffPlusGoldenDot = view.findViewById(R.id.golden_dot) - val recordingOverlay = view.findViewById(R.id.recording_overlay) - recordingOverlay.setOnClickListener(this) + val voiceRecorderView = view.findViewById(R.id.voice_recorder) + voiceRecorderView.setContent { + voiceMessageRecorder?.let { + AppCompatTheme { + Box { + AnimatedVisibility( + visible = it.opened, + enter = slideInHorizontally { it / 2 }) { + SoundWave(voiceMessageRecorder?.soundWave ?: SampleAndTicker()) { + voiceMessageRecorder?.stopRecord( + discard = false + ) + } + } + } + } + } + } + voiceRecorderView.setOnClickListener(this) voiceMessageRecorder = VoiceMessageRecorder( - requireActivity(), - recordingOverlay, - object : RequestAudioPermissionDelegate { + activity = requireActivity(), + requestAudioPermissionDelegate = object : RequestAudioPermissionDelegate { override fun requestAudioPermission(rationaleWasShown: Boolean) { if (rationaleWasShown) { requestPermissionForAudioAfterRationaleLauncher?.launch(permission.RECORD_AUDIO) @@ -687,7 +704,10 @@ class ComposeMessageFragment : Fragment(R.layout.fragment_discussion_compose), O popupMenu = view.findViewById(R.id.popup_menu) popupMenu.setContent { AppCompatTheme { - EphemeralSettingsGroup(ephemeralViewModel = ephemeralViewModel, expanded = composeMessageViewModel.openEphemeralSettings) { + EphemeralSettingsGroup( + ephemeralViewModel = ephemeralViewModel, + expanded = composeMessageViewModel.openEphemeralSettings + ) { if (ephemeralViewModel.getValid() .value == true ) { @@ -1001,6 +1021,12 @@ class ComposeMessageFragment : Fragment(R.layout.fragment_discussion_compose), O composeMessageViewModel.getRecordingLiveData() .observe(viewLifecycleOwner) { recording: Boolean -> this.recording = recording + if (recording) { + setShowAttachIcons( + show = false, + preserveOldSelection = true + ) + } } context?.resources?.displayMetrics?.widthPixels?.let { updateIconsToShow(it) @@ -1030,7 +1056,7 @@ class ComposeMessageFragment : Fragment(R.layout.fragment_discussion_compose), O } composeMessageLinkPreviewGroup!!.visibility = View.GONE if (discussionViewModel.discussionId != null) { - if (composeMessageViewModel.trimmedNewMessageText != null || composeMessageViewModel.hasAttachments()) { + if (composeMessageViewModel.trimmedNewMessageText != null || composeMessageViewModel.hasAttachments() || recording) { if (discussionDelegate != null) { discussionDelegate!!.markMessagesRead() } @@ -1043,15 +1069,18 @@ class ComposeMessageFragment : Fragment(R.layout.fragment_discussion_compose), O sending = true sendButton?.isEnabled = false linkPreviewViewModel.waitForPreview { - App.runThread( + App.runThread { + if (recording) { + voiceMessageRecorder?.stopRecord(discard = false, async = false) + } PostMessageInDiscussionTask( trimAndMentions.first, discussionViewModel.discussionId, true, linkPreviewViewModel.openGraph.value, trimAndMentions.second - ) - ) + ).run() + } sending = false linkPreviewViewModel.reset() newMessageEditText?.setText("") @@ -1131,9 +1160,7 @@ class ComposeMessageFragment : Fragment(R.layout.fragment_discussion_compose), O override fun onClick(view: View) { val id = view.id - if (voiceMessageRecorder?.isRecording() == true) { - voiceMessageRecorder?.stopRecord(false) - } else if (id == R.id.attach_timer) { + if (id == R.id.attach_timer) { composeMessageViewModel.openEphemeralSettings = !composeMessageViewModel.openEphemeralSettings if (emojiKeyboardShowing) { @@ -1222,23 +1249,30 @@ class ComposeMessageFragment : Fragment(R.layout.fragment_discussion_compose), O } BASIC -> { - val dialogFragment = SendLocationBasicDialogFragment.newInstance(discussionViewModel.discussionId) + val dialogFragment = + SendLocationBasicDialogFragment.newInstance(discussionViewModel.discussionId) dialogFragment.show(childFragmentManager, "send-location-fragment-basic") } NONE -> { - LocationIntegrationSelectorDialog(view.context, false, object : LocationIntegrationSelectorDialog.OnIntegrationSelectedListener { - override fun onIntegrationSelected( - integration: LocationIntegrationEnum, - customOsmServerUrl: String? - ) { - SettingsActivity.setLocationIntegration(integration.string, customOsmServerUrl) - // re-run onClick if something was selected - if (integration == OSM || integration == MAPS || integration == BASIC || integration == CUSTOM_OSM) { - onClick(view) + LocationIntegrationSelectorDialog( + view.context, + false, + object : LocationIntegrationSelectorDialog.OnIntegrationSelectedListener { + override fun onIntegrationSelected( + integration: LocationIntegrationEnum, + customOsmServerUrl: String? + ) { + SettingsActivity.setLocationIntegration( + integration.string, + customOsmServerUrl + ) + // re-run onClick if something was selected + if (integration == OSM || integration == MAPS || integration == BASIC || integration == CUSTOM_OSM) { + onClick(view) + } } - } - }).show() + }).show() } } } else if (id == R.id.attach_stuff_plus) { @@ -1662,7 +1696,7 @@ class ComposeMessageFragment : Fragment(R.layout.fragment_discussion_compose), O // return true if an updateComposeAreaLayout was triggered fun setShowAttachIcons(show: Boolean, preserveOldSelection: Boolean): Boolean { - if (show == showAttachIcons) { + if (show == showAttachIcons && !recording) { return false } showAttachIcons = show @@ -1744,7 +1778,7 @@ class ComposeMessageFragment : Fragment(R.layout.fragment_discussion_compose), O private var widthAnimator: ValueAnimator? = null private var currentLayout = 0 fun updateComposeAreaLayout() { - if (recording || !hasAttachments && !hasText && !isEditMode()) { + if (!recording && !hasAttachments && !hasText && !isEditMode()) { sendButton!!.isGone = true directAttachVoiceMessageImageView!!.isVisible = true } else { @@ -1766,7 +1800,7 @@ class ComposeMessageFragment : Fragment(R.layout.fragment_discussion_compose), O sendButton!!.isVisible = true directAttachVoiceMessageImageView!!.isGone = true sendButton!!.isEnabled = - (hasAttachments || composeMessageViewModel.trimmedNewMessageText != null) && !identicalEditMessage() + (hasAttachments || composeMessageViewModel.trimmedNewMessageText != null || recording) && !identicalEditMessage() } val attachIconsGroupParams = attachIconsGroup.layoutParams as LayoutParams // depending on the state, pick the appropriate layout: diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/compose/SoundWave.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/compose/SoundWave.kt new file mode 100644 index 00000000..73fd95bd --- /dev/null +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/compose/SoundWave.kt @@ -0,0 +1,116 @@ +/* + * Olvid for Android + * Copyright © 2019-2023 Olvid SAS + * + * This file is part of Olvid for Android. + * + * Olvid is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * Olvid is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Olvid. If not, see . + */ + +package io.olvid.messenger.discussion.compose + +import androidx.compose.foundation.Canvas +import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.requiredHeight +import androidx.compose.foundation.layout.requiredSize +import androidx.compose.foundation.layout.width +import androidx.compose.material.Icon +import androidx.compose.material.Surface +import androidx.compose.material.Text +import androidx.compose.material.ripple.rememberRipple +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.geometry.CornerRadius +import androidx.compose.ui.geometry.Offset +import androidx.compose.ui.geometry.Size +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.colorResource +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import com.google.accompanist.themeadapter.appcompat.AppCompatTheme +import io.olvid.messenger.R +import io.olvid.messenger.customClasses.AudioAttachmentServiceBinding + + +@Composable +fun SoundWave(sample: SampleAndTicker, stop: () -> Unit) { + Surface( + modifier = Modifier + .fillMaxWidth() + .requiredHeight(36.dp) + ) { + Row(modifier = Modifier.padding(start = 4.dp), verticalAlignment = Alignment.CenterVertically) { + Icon(modifier = Modifier + .requiredSize(24.dp) + .clickable( + interactionSource = remember { MutableInteractionSource() }, + indication = rememberRipple(bounded = false, radius = 16.dp)) { stop() }, + tint = colorResource(id = R.color.olvid_gradient_light), + painter = painterResource(id = R.drawable.ic_stop), + contentDescription = stringResource( + id = R.string.button_label_cancel + ) + ) + Text( + modifier = Modifier.padding(4.dp), + text = AudioAttachmentServiceBinding.timeFromMs(sample.size * VoiceMessageRecorder.SAMPLE_INTERVAL) + ) + + Canvas( + modifier = Modifier + .weight(1f, true) + .requiredHeight(36.dp) + ) { + val canvasWidth = size.width + val canvasHeight = size.height + + val waveWidth = 3.dp.toPx() + val waveHeight = canvasHeight * .75f + val cornerRadius = CornerRadius(24.dp.toPx()) + + val offset = (sample.ticker * waveWidth * 2) / SampleAndTicker.TICKS_PER_SAMPLE + sample.samples.take((canvasWidth / waveWidth / 2).toInt() + 1).forEachIndexed { index, value -> + val height = (value * waveHeight).coerceAtLeast(waveWidth) + drawRoundRect( + color = Color.Gray, + topLeft = Offset( + x = canvasWidth - index * waveWidth * 2 - offset, + y = canvasHeight / 2 - height / 2 + ), + size = Size(width = waveWidth, height = height), + cornerRadius = cornerRadius + ) + } + } + Spacer(modifier = Modifier.width(40.dp)) + } + } +} + +@Preview(widthDp = 200) +@Preview(widthDp = 400) +@Composable +fun SoundWavePreview() { + AppCompatTheme { + SoundWave(SampleAndTicker(samples = mutableListOf(1f, .5f))) {} + } +} \ No newline at end of file diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/compose/VoiceMessageRecorder.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/compose/VoiceMessageRecorder.kt index f5201c19..f2d544e1 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/compose/VoiceMessageRecorder.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/compose/VoiceMessageRecorder.kt @@ -23,7 +23,6 @@ import android.annotation.SuppressLint import android.content.Context import android.content.DialogInterface import android.content.pm.PackageManager -import android.graphics.drawable.AnimatedVectorDrawable import android.media.MediaRecorder import android.media.MediaRecorder.AudioEncoder import android.media.MediaRecorder.AudioSource @@ -38,14 +37,14 @@ import android.view.MotionEvent import android.view.View import android.view.View.OnTouchListener import android.view.WindowManager.LayoutParams -import android.widget.ImageView -import android.widget.TextView import android.widget.Toast +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.setValue import androidx.core.content.ContextCompat import androidx.fragment.app.FragmentActivity import androidx.lifecycle.ViewModelProvider import io.olvid.messenger.App -import io.olvid.messenger.R.id import io.olvid.messenger.R.string import io.olvid.messenger.R.style import io.olvid.messenger.customClasses.SecureAlertDialogBuilder @@ -56,16 +55,15 @@ import java.util.Date import java.util.Locale import java.util.Timer import java.util.TimerTask +import kotlin.concurrent.schedule +import kotlin.math.log2 internal class VoiceMessageRecorder( private val activity: FragmentActivity, - private val recordingOverlay: View, private val requestAudioPermissionDelegate: RequestAudioPermissionDelegate ) : OnTouchListener { - private val recordingInitializationSpinner: ImageView - private val recordingRedButton: View - private val recordingStopTextView: TextView - private val composeMessageViewModel: ComposeMessageViewModel + var opened by mutableStateOf(false) + private val composeMessageViewModel: ComposeMessageViewModel = ViewModelProvider(activity)[ComposeMessageViewModel::class.java] private var recordPermission: Boolean private var mediaRecorder: MediaRecorder? = null private var audioFile: File? = null @@ -75,14 +73,13 @@ internal class VoiceMessageRecorder( private var sampleTask: TimerTask? = null private var wakeLock: WakeLock? = null + var soundWave by mutableStateOf(SampleAndTicker()) + + companion object { + const val SAMPLE_INTERVAL: Long = 102 + } + init { - recordingInitializationSpinner = - recordingOverlay.findViewById(id.recording_initialization_spinner) - recordingRedButton = recordingOverlay.findViewById(id.recording_red_button) - recordingStopTextView = recordingOverlay.findViewById(id.recording_stop_label) - composeMessageViewModel = ViewModelProvider(activity).get( - ComposeMessageViewModel::class.java - ) recordPermission = ContextCompat.checkSelfPermission( activity, permission.RECORD_AUDIO @@ -106,20 +103,13 @@ internal class VoiceMessageRecorder( if (recording) { return } - activity.runOnUiThread { - recordingOverlay.visibility = View.VISIBLE - recordingRedButton.visibility = View.GONE - recordingInitializationSpinner.visibility = View.VISIBLE - val spinner = recordingInitializationSpinner.drawable - if (spinner is AnimatedVectorDrawable) { - spinner.start() - } - } + opened = true setRecording(true) if (mediaRecorder != null) { mediaRecorder?.release() mediaRecorder = null } + soundWave = SampleAndTicker() val cacheDir = File(activity.cacheDir, App.CAMERA_PICTURE_FOLDER) cacheDir.mkdirs() audioFile = File( @@ -148,7 +138,7 @@ internal class VoiceMessageRecorder( ) mediaRecorder?.release() mediaRecorder = null - activity.runOnUiThread { recordingOverlay.visibility = View.GONE } + opened = false return } @@ -169,35 +159,28 @@ internal class VoiceMessageRecorder( if (mediaRecorder == null || !recording) { cancel() } - try { - val amplitude = mediaRecorder!!.maxAmplitude - if (!started && amplitude > 0) { - started = true - activity.runOnUiThread { - recordingInitializationSpinner.visibility = View.GONE - recordingRedButton.visibility = View.VISIBLE + soundWave = soundWave.inc() + if (soundWave.ticker == SampleAndTicker.TICKS_PER_SAMPLE) { + try { + val amplitude = (log2(mediaRecorder!!.maxAmplitude.toDouble()).toFloat() - 9).coerceAtLeast(0f) / 6 + if (!started && amplitude > 0) { + started = true } + soundWave = soundWave.add(amplitude) + } catch (e: Exception) { + cancel() } - var log = (Math.log(amplitude.toDouble()) / Math.log(2.0)).toFloat() - log = Math.max(0f, log - 8) - val scale = 0.5f + log / 4 - activity.runOnUiThread { - recordingRedButton.scaleX = scale - recordingRedButton.scaleY = scale - } - } catch (e: Exception) { - cancel() } } } - timer.scheduleAtFixedRate(sampleTask, 0, 100) + timer.scheduleAtFixedRate(sampleTask, 0, SAMPLE_INTERVAL / SampleAndTicker.TICKS_PER_SAMPLE) } } timer.schedule(startRecordTask, 250) return true } - fun stopRecord(discard: Boolean) { + fun stopRecord(discard: Boolean, async: Boolean = true) { // release wake locks Handler(Looper.getMainLooper()).post { val window = activity.window @@ -212,38 +195,43 @@ internal class VoiceMessageRecorder( startRecordTask = null } if (!recording) { - activity.runOnUiThread { recordingOverlay.visibility = View.GONE } + opened = false } else { - val stopTask: TimerTask = object : TimerTask() { - override fun run() { - if (!recording) { - return - } - setRecording(false) - activity.runOnUiThread { recordingOverlay.visibility = View.GONE } - if (mediaRecorder != null) { - try { - mediaRecorder!!.stop() - mediaRecorder!!.release() - mediaRecorder = null - if (!discard && audioFile!!.length() > 0) { - val discussionId = composeMessageViewModel.discussionId - if (discussionId != null) { - AddFyleToDraftFromUriTask( - audioFile!!, - audioFile!!.name, - "audio/x-m4a", - discussionId - ).run() - } - } - } catch (e: Exception) { - // do nothing - } + if (async) { + timer.schedule(delay = 300) { + stopTask(discard) + } + } else { + stopTask(discard) + } + } + } + + private fun stopTask(discard: Boolean) { + if (!recording) { + return + } + setRecording(false) + opened = false + mediaRecorder?.apply { + try { + stop() + release() + mediaRecorder = null + if (!discard && audioFile!!.length() > 0) { + val discussionId = composeMessageViewModel.discussionId + if (discussionId != null) { + AddFyleToDraftFromUriTask( + audioFile!!, + audioFile!!.name, + "audio/x-m4a", + discussionId + ).run() } } + } catch (e: Exception) { + // do nothing } - timer.schedule(stopTask, 300) } } @@ -251,7 +239,6 @@ internal class VoiceMessageRecorder( when (event.actionMasked) { MotionEvent.ACTION_DOWN -> { startRecord() - recordingStopTextView.setText(string.label_stop_recording_release) } MotionEvent.ACTION_UP -> { @@ -280,7 +267,6 @@ internal class VoiceMessageRecorder( } } else { // recording start success - recordingStopTextView.setText(string.label_stop_recording_tap) v.performClick() } } @@ -289,10 +275,11 @@ internal class VoiceMessageRecorder( return true } - fun isRecording() : Boolean { + fun isRecording(): Boolean { return recording } - fun setRecording(recording: Boolean) { + + fun setRecording(recording: Boolean) { this.recording = recording composeMessageViewModel.setRecording(recording) } @@ -300,4 +287,23 @@ internal class VoiceMessageRecorder( internal interface RequestAudioPermissionDelegate { fun requestAudioPermission(rationaleWasShown: Boolean) } -} \ No newline at end of file +} + +data class SampleAndTicker(val samples: List = listOf(), val ticker: Int = 0) { + companion object { + val TICKS_PER_SAMPLE = 6 + } + + fun add(v: Float): SampleAndTicker { + return copy(samples = listOf(v) + samples, ticker = 0) + } + + fun inc(): SampleAndTicker { + return copy(samples = samples, ticker = ticker + 1) + } + + val size: Int + get() { + return samples.size + } +} diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/gallery/DiscussionMediaGalleryActivity.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/gallery/DiscussionMediaGalleryActivity.kt index 26d2d488..7b86be1e 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/gallery/DiscussionMediaGalleryActivity.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/gallery/DiscussionMediaGalleryActivity.kt @@ -27,7 +27,6 @@ import android.content.Intent import android.media.AudioManager import android.os.Build.VERSION.SDK_INT import android.os.Bundle -import android.text.format.Formatter import androidx.activity.SystemBarStyle import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge @@ -60,7 +59,6 @@ import androidx.compose.foundation.layout.requiredHeight import androidx.compose.foundation.layout.requiredWidth import androidx.compose.foundation.layout.safeDrawingPadding import androidx.compose.foundation.layout.size -import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.items @@ -109,6 +107,7 @@ import androidx.compose.ui.platform.LocalHapticFeedback import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow @@ -134,8 +133,6 @@ import io.olvid.messenger.customClasses.AudioAttachmentServiceBinding.AudioInfo import io.olvid.messenger.customClasses.AudioAttachmentServiceBinding.AudioServiceBindableViewHolder import io.olvid.messenger.customClasses.AudioAttachmentServiceBinding.timeFromMs import io.olvid.messenger.customClasses.LockableActivity -import io.olvid.messenger.customClasses.MessageAttachmentAdapter -import io.olvid.messenger.customClasses.PreviewUtils import io.olvid.messenger.databases.dao.FyleMessageJoinWithStatusDao.FyleAndStatus import io.olvid.messenger.databases.dao.FyleMessageJoinWithStatusDao.FyleAndStatusTimestamped import io.olvid.messenger.discussion.DiscussionActivity @@ -154,11 +151,6 @@ import kotlin.math.roundToInt @OptIn(ExperimentalFoundationApi::class) class DiscussionMediaGalleryActivity : LockableActivity() { - @Composable - fun Dp.toPx() = with(LocalDensity.current) { this@toPx.toPx().roundToInt() } - @Composable - fun Int.toDp() = with(LocalDensity.current) { this@toDp.toDp() } - data class GalleryTab(val label: String) override fun onCreate(savedInstanceState: Bundle?) { @@ -229,7 +221,11 @@ class DiscussionMediaGalleryActivity : LockableActivity() { } 2 -> { - LinkPage(linkItems.orEmpty(), discussionId, linkPreviewViewModel) + LinkPage( + linkItems.orEmpty(), + discussionId, + linkPreviewViewModel + ) } 3 -> { @@ -271,7 +267,8 @@ class DiscussionMediaGalleryActivity : LockableActivity() { selectedTabIndex = pagerState.currentPage ) { tabs.forEachIndexed { index, galleryTab -> - CustomTab(selected = pagerState.currentPage == index, + CustomTab( + selected = pagerState.currentPage == index, onClick = { coroutineScope.launch { pagerState.animateScrollToPage(index) @@ -357,7 +354,8 @@ class DiscussionMediaGalleryActivity : LockableActivity() { audioOutputResource = audioOutput.getResource() activity?.let { if ((somethingPlaying && (audioOutput == AudioOutput.PHONE)) != (activity.volumeControlStream == AudioManager.STREAM_VOICE_CALL)) { - activity.volumeControlStream = if ((somethingPlaying && (audioOutput == AudioOutput.PHONE))) AudioManager.STREAM_VOICE_CALL else AudioManager.USE_DEFAULT_STREAM_TYPE + activity.volumeControlStream = + if ((somethingPlaying && (audioOutput == AudioOutput.PHONE))) AudioManager.STREAM_VOICE_CALL else AudioManager.USE_DEFAULT_STREAM_TYPE } } } @@ -401,13 +399,25 @@ class DiscussionMediaGalleryActivity : LockableActivity() { menuOpened = menuOpened, onDismissRequest = { menuOpened = false }, onGoToMessage = { - goToMessage(context = context, discussionId = discussionId, messageId = fyleAndStatusTimestamped.fyleAndStatus.fyleMessageJoinWithStatus.messageId) + goToMessage( + context = context, + discussionId = discussionId, + messageId = fyleAndStatusTimestamped.fyleAndStatus.fyleMessageJoinWithStatus.messageId + ) }, onShare = { val intent = Intent(Intent.ACTION_SEND) - intent.putExtra(Intent.EXTRA_STREAM, fyleAndStatusTimestamped.fyleAndStatus.contentUriForExternalSharing) + intent.putExtra( + Intent.EXTRA_STREAM, + fyleAndStatusTimestamped.fyleAndStatus.contentUriForExternalSharing + ) intent.setType(fyleAndStatusTimestamped.fyleAndStatus.fyleMessageJoinWithStatus.nonNullMimeType) - startActivity(Intent.createChooser(intent, getString(string.title_sharing_chooser))) + startActivity( + Intent.createChooser( + intent, + getString(string.title_sharing_chooser) + ) + ) }) Image( modifier = Modifier @@ -417,12 +427,14 @@ class DiscussionMediaGalleryActivity : LockableActivity() { ) Column(modifier = Modifier.padding(8.dp)) { Row { - Box ( + Box( modifier = Modifier.weight(1f, true), contentAlignment = Alignment.TopEnd ) { Text( - modifier = Modifier.fillMaxWidth().padding(end = 4.dp), + modifier = Modifier + .fillMaxWidth() + .padding(end = 4.dp), text = fyleAndStatusTimestamped.fyleAndStatus.fyleMessageJoinWithStatus.fileName, maxLines = 1, overflow = TextOverflow.Ellipsis @@ -430,24 +442,34 @@ class DiscussionMediaGalleryActivity : LockableActivity() { if (playbackSpeedState > 0.1f && isPlaying) { val scale = LocalConfiguration.current.fontScale - Box ( + Box( modifier = Modifier.padding(top = 2.dp, end = 4.dp) - ){ - DropdownMenu(expanded = playbackSpeedMenuOpened, onDismissRequest = { playbackSpeedMenuOpened = false }) { + ) { + DropdownMenu( + expanded = playbackSpeedMenuOpened, + onDismissRequest = { + playbackSpeedMenuOpened = false + }) { DropdownMenuItem(onClick = { - audioAttachmentServiceBinding.setPlaybackSpeed(1f) + audioAttachmentServiceBinding.setPlaybackSpeed( + 1f + ) playbackSpeedMenuOpened = false }) { Text(text = stringResource(id = R.string.menu_action_play_at_1x)) } DropdownMenuItem(onClick = { - audioAttachmentServiceBinding.setPlaybackSpeed(1.5f) + audioAttachmentServiceBinding.setPlaybackSpeed( + 1.5f + ) playbackSpeedMenuOpened = false }) { Text(text = stringResource(id = R.string.menu_action_play_at_1_5x)) } DropdownMenuItem(onClick = { - audioAttachmentServiceBinding.setPlaybackSpeed(2f) + audioAttachmentServiceBinding.setPlaybackSpeed( + 2f + ) playbackSpeedMenuOpened = false }) { Text(text = stringResource(id = R.string.menu_action_play_at_2x)) @@ -458,18 +480,23 @@ class DiscussionMediaGalleryActivity : LockableActivity() { .clickable { playbackSpeedMenuOpened = true } - .background(color = colorResource(id = R.color.lightGrey), shape = CircleShape) + .background( + color = colorResource(id = R.color.lightGrey), + shape = CircleShape + ) .requiredWidth(36.dp) .padding(vertical = 1.dp), - text = stringResource(id = when { - playbackSpeedState < 1.1 -> R.string.text_speed_1x - playbackSpeedState < 1.6 -> R.string.text_speed_1_5x - else -> R.string.text_speed_2x - }), + text = stringResource( + id = when { + playbackSpeedState < 1.1 -> R.string.text_speed_1x + playbackSpeedState < 1.6 -> R.string.text_speed_1_5x + else -> R.string.text_speed_2x + } + ), textAlign = TextAlign.Center, fontWeight = FontWeight.Bold, color = colorResource(id = R.color.grey), - fontSize = (12/scale).sp + fontSize = (12 / scale).sp ) } } @@ -485,7 +512,7 @@ class DiscussionMediaGalleryActivity : LockableActivity() { contentDescription = "" ) } - Box (contentAlignment = Alignment.TopCenter) { + Box(contentAlignment = Alignment.TopCenter) { Row { Text( text = timeFromMs(playtime), @@ -535,6 +562,7 @@ class DiscussionMediaGalleryActivity : LockableActivity() { discussionId: Long, linkPreviewViewModel: LinkPreviewViewModel ) { + val context = LocalContext.current val cachedLinkedHeights: MutableMap = remember { HashMap() } @@ -549,7 +577,6 @@ class DiscussionMediaGalleryActivity : LockableActivity() { } items(datedLinkItems.value) { var menuOpened by remember { mutableStateOf(false) } - val context = LocalContext.current var opengraph by remember { mutableStateOf(null) } @@ -584,14 +611,23 @@ class DiscussionMediaGalleryActivity : LockableActivity() { menuOpened = menuOpened, onDismissRequest = { menuOpened = false }, onGoToMessage = { - goToMessage(context = context, discussionId = discussionId, messageId = it.fyleAndStatus.fyleMessageJoinWithStatus.messageId) + goToMessage( + context = context, + discussionId = discussionId, + messageId = it.fyleAndStatus.fyleMessageJoinWithStatus.messageId + ) }, onShare = { link.getSafeUri()?.toString()?.let { val intent = Intent(Intent.ACTION_SEND) intent.putExtra(Intent.EXTRA_TEXT, it) intent.setType("text/plain") - startActivity(Intent.createChooser(intent, getString(string.title_sharing_chooser))) + startActivity( + Intent.createChooser( + intent, + getString(string.title_sharing_chooser) + ) + ) } }) Image( @@ -640,7 +676,13 @@ class DiscussionMediaGalleryActivity : LockableActivity() { } } } - } ?: Box(Modifier.height(cachedLinkedHeights[it.fyleAndStatus.fyle.id]?.toDp() ?: 64.dp)) + } ?: Box( + Modifier.height( + with(LocalDensity.current) { + cachedLinkedHeights[it.fyleAndStatus.fyle.id]?.toDp() ?: 64.dp + } + ) + ) } } } @@ -654,87 +696,58 @@ class DiscussionMediaGalleryActivity : LockableActivity() { documentItems: Map>, discussionId: Long ) { + val context = LocalContext.current if (documentItems.isEmpty().not()) { LazyColumn( modifier = Modifier .fillMaxSize() .background(Color.Black), ) { - documentItems.forEach { + documentItems.forEach {entry -> stickyHeader { - DateHeader(date = it.key) + DateHeader(date = entry.key) } - items(it.value) { + items(entry.value, itemContent = { var menuOpened by remember { mutableStateOf(false) } - val context = LocalContext.current - Row( - modifier = Modifier - .fillMaxWidth() - .combinedClickable( - onClick = { - App.openFyleInExternalViewer( - this@DiscussionMediaGalleryActivity, - it.fyleAndStatus, - null + FyleListItem( + fyleAndStatus = it.fyleAndStatus, + fileName = AnnotatedString(it.fyleAndStatus.fyleMessageJoinWithStatus.fileName), + onClick = { + App.openFyleInExternalViewer( + this@DiscussionMediaGalleryActivity, + it.fyleAndStatus, + null + ) + }, + contextMenu = { + ContextMenu( + menuOpened = menuOpened, + onDismissRequest = { menuOpened = false }, + onGoToMessage = { + goToMessage( + context = context, + discussionId = discussionId, + messageId = it.fyleAndStatus.fyleMessageJoinWithStatus.messageId ) }, - onLongClick = { menuOpened = true } - ) - ) { - ContextMenu( - menuOpened = menuOpened, - onDismissRequest = { menuOpened = false }, - onGoToMessage = { - goToMessage(context = context, discussionId = discussionId, messageId = it.fyleAndStatus.fyleMessageJoinWithStatus.messageId) - }, - onShare = { - val intent = Intent(Intent.ACTION_SEND) - intent.putExtra(Intent.EXTRA_STREAM, it.fyleAndStatus.contentUriForExternalSharing) - intent.setType(it.fyleAndStatus.fyleMessageJoinWithStatus.nonNullMimeType) - startActivity(Intent.createChooser(intent, getString(string.title_sharing_chooser))) - }) - Image( - modifier = Modifier - .size(64.dp) - .padding(4.dp), - painter = rememberAsyncImagePainter( - model = PreviewUtils.getBitmapPreview( - it.fyleAndStatus.fyle, - it.fyleAndStatus.fyleMessageJoinWithStatus, - 56.dp.toPx() - ) - ?: MessageAttachmentAdapter.getDrawableResourceForMimeType( - it.fyleAndStatus.fyleMessageJoinWithStatus.nonNullMimeType + onShare = { + val intent = Intent(Intent.ACTION_SEND) + intent.putExtra( + Intent.EXTRA_STREAM, + it.fyleAndStatus.contentUriForExternalSharing ) - ), - contentDescription = it.fyleAndStatus.fyleMessageJoinWithStatus.fileName - ) - Column(modifier = Modifier.padding(start = 4.dp, end = 8.dp)) { - Text( - text = it.fyleAndStatus.fyleMessageJoinWithStatus.fileName, - maxLines = 1, - overflow = TextOverflow.Ellipsis - ) - Text( - text = it.fyleAndStatus.fyleMessageJoinWithStatus.nonNullMimeType, - fontSize = 12.sp, - color = colorResource( - id = color.greyTint - ) - ) - Text( - text = Formatter.formatShortFileSize( - LocalContext.current, - it.fyleAndStatus.fyleMessageJoinWithStatus.size - ), - fontSize = 12.sp, - color = colorResource( - id = color.greyTint - ) - ) - } - } - } + intent.setType(it.fyleAndStatus.fyleMessageJoinWithStatus.nonNullMimeType) + startActivity( + Intent.createChooser( + intent, + getString(string.title_sharing_chooser) + ) + ) + }) + }, + onLongClick = { menuOpened = true } + ) + }) } } } else { @@ -797,13 +810,25 @@ class DiscussionMediaGalleryActivity : LockableActivity() { menuOpened = menuOpened, onDismissRequest = { menuOpened = false }, onGoToMessage = { - goToMessage(context = context, discussionId = discussionId, messageId = item.fyleAndStatus.fyleMessageJoinWithStatus.messageId) + goToMessage( + context = context, + discussionId = discussionId, + messageId = item.fyleAndStatus.fyleMessageJoinWithStatus.messageId + ) }, onShare = { val intent = Intent(Intent.ACTION_SEND) - intent.putExtra(Intent.EXTRA_STREAM, item.fyleAndStatus.contentUriForExternalSharing) + intent.putExtra( + Intent.EXTRA_STREAM, + item.fyleAndStatus.contentUriForExternalSharing + ) intent.setType(item.fyleAndStatus.fyleMessageJoinWithStatus.nonNullMimeType) - startActivity(Intent.createChooser(intent, getString(string.title_sharing_chooser))) + startActivity( + Intent.createChooser( + intent, + getString(string.title_sharing_chooser) + ) + ) }) AsyncImage( modifier = Modifier @@ -829,7 +854,10 @@ class DiscussionMediaGalleryActivity : LockableActivity() { contentScale = ContentScale.Crop, contentDescription = item.fyleAndStatus.fyleMessageJoinWithStatus.fileName ) - if (item.fyleAndStatus.fyleMessageJoinWithStatus.nonNullMimeType.startsWith("video/")) { + if (item.fyleAndStatus.fyleMessageJoinWithStatus.nonNullMimeType.startsWith( + "video/" + ) + ) { Icon( modifier = Modifier .align(Alignment.Center) @@ -851,7 +879,13 @@ class DiscussionMediaGalleryActivity : LockableActivity() { val interactionSource = remember { MutableInteractionSource() } - FastScroll(sliderHeight, interactionSource, listState, mediaItems.keys.size, dateHeadersIndexes) + FastScroll( + sliderHeight, + interactionSource, + listState, + mediaItems.keys.size, + dateHeadersIndexes + ) } } @@ -860,6 +894,7 @@ class DiscussionMediaGalleryActivity : LockableActivity() { } } + @OptIn(ExperimentalMaterial3Api::class) @Composable private fun BoxScope.FastScroll( size: Dp, @@ -1006,7 +1041,7 @@ class DiscussionMediaGalleryActivity : LockableActivity() { } private abstract class AudioServiceBindable : AudioServiceBindableViewHolder { - var fns : FyleAndStatus? = null + var fns: FyleAndStatus? = null fun setFyleAndStatus(fyleAndStatus: FyleAndStatus) { fns = fyleAndStatus diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/gallery/FyleListItem.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/gallery/FyleListItem.kt new file mode 100644 index 00000000..278bf254 --- /dev/null +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/gallery/FyleListItem.kt @@ -0,0 +1,120 @@ +/* + * Olvid for Android + * Copyright © 2019-2024 Olvid SAS + * + * This file is part of Olvid for Android. + * + * Olvid is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * Olvid is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Olvid. If not, see . + */ + +package io.olvid.messenger.discussion.gallery + +import android.text.format.Formatter +import androidx.compose.foundation.ExperimentalFoundationApi +import androidx.compose.foundation.Image +import androidx.compose.foundation.border +import androidx.compose.foundation.combinedClickable +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalDensity +import androidx.compose.ui.res.colorResource +import androidx.compose.ui.text.AnnotatedString +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import coil.compose.rememberAsyncImagePainter +import io.olvid.messenger.R +import io.olvid.messenger.R.color +import io.olvid.messenger.customClasses.MessageAttachmentAdapter +import io.olvid.messenger.customClasses.PreviewUtils +import io.olvid.messenger.databases.dao.FyleMessageJoinWithStatusDao.FyleAndStatus + +@OptIn(ExperimentalFoundationApi::class) +@Composable +fun FyleListItem(fyleAndStatus: FyleAndStatus, fileName: AnnotatedString, onClick: () -> Unit, contextMenu : (@Composable () -> Unit)? = null, onLongClick : (() -> Unit)? = null, extraHorizontalPadding : Dp = 0.dp) { + val context = LocalContext.current + val size = with(LocalDensity.current) { + 56.dp.roundToPx() + } + Row( + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = extraHorizontalPadding) + .combinedClickable( + onClick = onClick, + onLongClick = onLongClick + ), + verticalAlignment = Alignment.CenterVertically + ) { + contextMenu?.invoke() + Image( + modifier = Modifier + .size(64.dp) + .padding(4.dp) + .clip(shape = RoundedCornerShape(size = 8.dp)) + .border(width = 1.dp, color = colorResource(id = R.color.lightGrey), shape = RoundedCornerShape(size = 8.dp)), + contentScale = ContentScale.Crop, + painter = rememberAsyncImagePainter( + model = PreviewUtils.getBitmapPreview( + fyleAndStatus.fyle, + fyleAndStatus.fyleMessageJoinWithStatus, + size + ) + ?: MessageAttachmentAdapter.getDrawableResourceForMimeType( + fyleAndStatus.fyleMessageJoinWithStatus.nonNullMimeType + ) + ), + contentDescription = fyleAndStatus.fyleMessageJoinWithStatus.fileName + ) + Column(modifier = Modifier.padding(start = 4.dp + extraHorizontalPadding, end = 8.dp)) { + Text( + text = fileName, + maxLines = 1, + overflow = TextOverflow.Ellipsis + ) + Text( + text = fyleAndStatus.fyleMessageJoinWithStatus.nonNullMimeType, + fontSize = 12.sp, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + color = colorResource( + id = color.greyTint + ) + ) + Text( + text = Formatter.formatShortFileSize( + context, + fyleAndStatus.fyleMessageJoinWithStatus.size + ), + fontSize = 12.sp, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + color = colorResource( + id = color.greyTint + ) + ) + } + } +} \ No newline at end of file diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/linkpreview/LinkPreviewViewModel.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/linkpreview/LinkPreviewViewModel.kt index 51da1760..700043e8 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/linkpreview/LinkPreviewViewModel.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/linkpreview/LinkPreviewViewModel.kt @@ -22,7 +22,6 @@ package io.olvid.messenger.discussion.linkpreview import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import io.olvid.engine.Logger import io.olvid.messenger.customClasses.StringUtils2 import io.olvid.messenger.customClasses.ifNull import io.olvid.messenger.databases.entity.Fyle @@ -32,7 +31,6 @@ import kotlinx.coroutines.TimeoutCancellationException import kotlinx.coroutines.delay import kotlinx.coroutines.launch import kotlinx.coroutines.withTimeout -import java.lang.Exception class LinkPreviewViewModel : ViewModel() { diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/linkpreview/OpenGraphParser.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/linkpreview/OpenGraphParser.kt index c4b73e33..234c8111 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/linkpreview/OpenGraphParser.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/linkpreview/OpenGraphParser.kt @@ -94,7 +94,7 @@ class OpenGraphParser { companion object { private const val DOC_SELECT_OGTAGS = "meta[property^=og:]" private const val DOC_SELECT_DESCRIPTION = "meta[name=description]" - private const val DOC_SELECT_FAVICON = "link[href~=.*\\.(ico|png)]" + private const val DOC_SELECT_FAVICON = "link[rel~=icon][href~=.*\\.(ico|png)]" private const val DOC_SELECT_ITEMPROP = "meta[itemprop=image]" private const val OPEN_GRAPH_KEY = "content" private const val PROPERTY = "property" diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/MapViewMapLibreFragment.java b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/MapViewMapLibreFragment.java index 85a2f9aa..e482e27b 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/MapViewMapLibreFragment.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/MapViewMapLibreFragment.java @@ -27,20 +27,14 @@ import android.graphics.Paint; import android.graphics.Rect; import android.graphics.RectF; -import android.graphics.Typeface; import android.graphics.drawable.Drawable; import android.location.Criteria; import android.location.Location; import android.location.LocationManager; import android.os.Build; import android.os.Bundle; +import android.os.CancellationSignal; import android.os.Looper; -import android.text.SpannableString; -import android.text.Spanned; -import android.text.style.ForegroundColorSpan; -import android.text.style.ImageSpan; -import android.text.style.StyleSpan; -import android.util.ArrayMap; import android.util.TypedValue; import android.view.Gravity; import android.view.LayoutInflater; @@ -391,7 +385,7 @@ public void centerOnCurrentLocation(boolean animate) { Executor executor = Build.VERSION.SDK_INT >= Build.VERSION_CODES.R ? App.getContext().getMainExecutor() : new HandlerExecutor(Looper.getMainLooper()); if (provider != null) { - LocationManagerCompat.getCurrentLocation(locationManager, provider, null, executor, location -> { + LocationManagerCompat.getCurrentLocation(locationManager, provider, (CancellationSignal) null, executor, location -> { if (location != null) { centerOnLocation(location, animate); mapboxMap.getLocationComponent().forceLocationUpdate(location); diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/PeliasReverseResponse.java b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/PeliasReverseResponse.java index 6f85eac9..041fb8e3 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/PeliasReverseResponse.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/PeliasReverseResponse.java @@ -19,11 +19,11 @@ package io.olvid.messenger.discussion.location; -import java.util.List; - import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + // automatically generated: json object returned by pelias reverse api @JsonIgnoreProperties(ignoreUnknown = true) public class PeliasReverseResponse { diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/RequestAndUpdateAddressFieldTask.java b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/RequestAndUpdateAddressFieldTask.java index 84c90c11..aaa2aea1 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/RequestAndUpdateAddressFieldTask.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/RequestAndUpdateAddressFieldTask.java @@ -40,7 +40,6 @@ import io.olvid.engine.Logger; import io.olvid.messenger.AppSingleton; import io.olvid.messenger.R; -import io.olvid.messenger.settings.SettingsActivity; public class RequestAndUpdateAddressFieldTask implements Runnable { public static final double MIN_ZOOM_FOR_REQUESTS = 15; diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/SendLocationBasicDialogFragment.java b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/SendLocationBasicDialogFragment.java index b954d47d..11b5a1ee 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/SendLocationBasicDialogFragment.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/SendLocationBasicDialogFragment.java @@ -30,6 +30,7 @@ import android.location.LocationManager; import android.os.Build; import android.os.Bundle; +import android.os.CancellationSignal; import android.os.Looper; import android.view.LayoutInflater; import android.view.View; @@ -261,7 +262,7 @@ && isLocationEnabled()) { // subscribe to all providers locations updates (to have results as fast as possible) for (String provider : locationManager.getProviders(true)) { LocationManagerCompat.requestLocationUpdates(locationManager, provider, locationRequest, executor, locationListenerCompat); - LocationManagerCompat.getCurrentLocation(locationManager, provider, null, executor, this::onLocationUpdate); + LocationManagerCompat.getCurrentLocation(locationManager, provider, (CancellationSignal) null, executor, this::onLocationUpdate); } // when in share location only we try to use last know locations to be able to start location sharing even if gps is not available diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/SendLocationMapDialogFragment.java b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/SendLocationMapDialogFragment.java index 56db061e..908af7d6 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/SendLocationMapDialogFragment.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/location/SendLocationMapDialogFragment.java @@ -45,7 +45,6 @@ import android.widget.TextView; import android.widget.Toast; -import androidx.annotation.IntDef; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.core.content.res.ResourcesCompat; @@ -55,9 +54,6 @@ import com.google.android.material.floatingactionbutton.FloatingActionButton; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; - import io.olvid.engine.Logger; import io.olvid.messenger.App; import io.olvid.messenger.AppSingleton; diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/mention/MentionUrlSpan.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/mention/MentionUrlSpan.kt index 45c699d0..f8c4b743 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/mention/MentionUrlSpan.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/mention/MentionUrlSpan.kt @@ -23,7 +23,7 @@ import android.text.TextPaint import android.text.style.URLSpan import android.view.View -class MentionUrlSpan(val userIdentifier: ByteArray?, val length: Int, val color: Int?, val onClick: (() -> Unit)?) : URLSpan(null) { +data class MentionUrlSpan(val userIdentifier: ByteArray?, val length: Int, val color: Int?, val onClick: (() -> Unit)?) : URLSpan(null) { override fun onClick(widget: View) { onClick?.invoke() @@ -36,4 +36,24 @@ class MentionUrlSpan(val userIdentifier: ByteArray?, val length: Int, val color: drawState.isUnderlineText = true } } + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + + other as MentionUrlSpan + + if (!userIdentifier.contentEquals(other.userIdentifier)) return false + if (length != other.length) return false + if (color != other.color) return false + + return true + } + + override fun hashCode(): Int { + var result = userIdentifier?.contentHashCode() ?: 0 + result = 31 * result + length + result = 31 * result + (color ?: 0) + return result + } } \ No newline at end of file diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/mention/MentionViewModel.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/mention/MentionViewModel.kt index 3f2760fc..0609b75e 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/mention/MentionViewModel.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/discussion/mention/MentionViewModel.kt @@ -20,9 +20,12 @@ package io.olvid.messenger.discussion.mention import android.text.Editable +import android.text.Spanned import androidx.core.text.getSpans import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel +import io.olvid.engine.engine.types.JsonIdentityDetails +import io.olvid.messenger.AppSingleton import io.olvid.messenger.databases.entity.Contact import io.olvid.messenger.databases.entity.jsons.JsonUserMention import java.util.regex.Pattern @@ -43,13 +46,17 @@ class MentionViewModel : ViewModel() { private var ongoingMention: JsonUserMention? = null sealed interface MentionStatus { - object None : MentionStatus + data object None : MentionStatus data class End(val mention: JsonUserMention, val contact: Contact) : MentionStatus data class Filter(val text: String) : MentionStatus } - fun updateMentions(editable: Editable?, selectionIndex: Int = -2) { // we use a default selectionIndex of -2 instead of -1, as -1 is the sectionEnd when first entering the discussion + fun updateMentions( + editable: Editable?, + selectionIndex: Int = -2 + ) { // we use a default selectionIndex of -2 instead of -1, as -1 is the sectionEnd when first entering the discussion var correctedSelectionIndex = selectionIndex + var firstNameCut = false mentions = if (editable.isNullOrEmpty()) { // avoid re-posting Cancel value everytime if (mentionsStatus.value !is MentionStatus.None) { @@ -58,7 +65,6 @@ class MentionViewModel : ViewModel() { ongoingMention = null null } else { - val mentionsFromSpans = ArrayList() // iterate in reverse order so that editable.delete always uses the correct offsets editable.getSpans().asList().asReversed().forEach { mentionUrlSpan -> val mention = @@ -68,30 +74,65 @@ class MentionViewModel : ViewModel() { editable.getSpanEnd(mentionUrlSpan) ) if (mention.length != mentionUrlSpan.length) { - // length mismatch, delete existing mention entirely or span only for cancelled - editable.removeSpan(mentionUrlSpan) - if (mention.userIdentifier != null) { - editable.delete(mention.rangeStart, mention.rangeEnd) - if (mention.rangeStart < correctedSelectionIndex) { - correctedSelectionIndex = max( - mention.rangeStart, - correctedSelectionIndex - mention.rangeEnd + mention.rangeStart - ) + val firstName = AppSingleton.getCurrentIdentityLiveData().value?.takeIf { + it.bytesOwnedIdentity.contentEquals(mention.userIdentifier) + }?.identityDetails?.let { + try { + AppSingleton.getJsonObjectMapper() + .readValue(it, JsonIdentityDetails::class.java)?.firstName + } catch (e: Exception) { + null + } + } ?: AppSingleton.getContactFirstName(mention.userIdentifier) + if (firstName != null && mention.length > firstName.length + 1) { + // length mismatch, cut mention to firstname + editable.removeSpan(mentionUrlSpan) + editable.setSpan( + mentionUrlSpan.copy(length = 1 + firstName.length), + mention.rangeStart, + mention.rangeStart + 1 + firstName.length, + Spanned.SPAN_EXCLUSIVE_EXCLUSIVE + ) + editable.delete(mention.rangeStart + firstName.length + 1, mention.rangeEnd) + firstNameCut = true + } else { + // length mismatch, delete existing mention entirely or span only for cancelled + editable.removeSpan(mentionUrlSpan) + if (mention.userIdentifier != null) { + editable.delete(mention.rangeStart, mention.rangeEnd) + if (mention.rangeStart < correctedSelectionIndex) { + correctedSelectionIndex = max( + mention.rangeStart, + correctedSelectionIndex - mention.rangeEnd + mention.rangeStart + ) + } } } - } else if (mention.length > 1) { - mentionsFromSpans.add(mention) } } - mentionsFromSpans.takeIf { it.isEmpty().not() } + + // update span ranges after text update + editable.getSpans().mapNotNull { mentionUrlSpan -> + JsonUserMention( + mentionUrlSpan.userIdentifier, + editable.getSpanStart(mentionUrlSpan), + editable.getSpanEnd(mentionUrlSpan) + ).takeIf { it.length > 1 } + }.takeIf { it.isEmpty().not() } } - if (selectionIndex == -2) { + if (selectionIndex == -2 || firstNameCut) { return } // only match up to selectionIndex if selectionIndex >= 0 - val mentionMatcher = mentionPattern.matcher(if (correctedSelectionIndex > 0) { editable?.subSequence(0, correctedSelectionIndex) } else { editable?.toString() } ?: "") + val mentionMatcher = mentionPattern.matcher( + if (correctedSelectionIndex > 0) { + editable?.subSequence(0, correctedSelectionIndex) + } else { + editable?.toString() + } ?: "" + ) var foundOngoing = false while (mentionMatcher.find()) { @@ -104,7 +145,7 @@ class MentionViewModel : ViewModel() { // We do not consider a match an ongoing candidate if: // - the @ symbol (startMention) is inside another mention // - except if this mention is cancelled (probably we just backspaced into an unfinished mention) - if (mentions?.any { it.rangeStart <= startMention && it.rangeEnd >= startMention && it.userIdentifier != null} == true) { + if (mentions?.any { it.rangeStart <= startMention && it.rangeEnd >= startMention && it.userIdentifier != null } == true) { continue } foundOngoing = true @@ -114,7 +155,8 @@ class MentionViewModel : ViewModel() { startMention, endMention ) - mentionsStatus.value = MentionStatus.Filter(mentionMatcher.group().replaceFirst("@", "")) + mentionsStatus.value = + MentionStatus.Filter(mentionMatcher.group().replaceFirst("@", "")) break } if (!foundOngoing) { diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/fragments/FilteredContactListFragment.java b/obv_messenger/app/src/main/java/io/olvid/messenger/fragments/FilteredContactListFragment.java index 1076ff42..147a377f 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/fragments/FilteredContactListFragment.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/fragments/FilteredContactListFragment.java @@ -49,10 +49,10 @@ import androidx.vectordrawable.graphics.drawable.Animatable2Compat; import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; -import java.util.regex.Matcher; import java.util.regex.Pattern; import io.olvid.engine.engine.types.JsonIdentityDetails; @@ -63,10 +63,12 @@ import io.olvid.messenger.customClasses.ItemDecorationSimpleDivider; import io.olvid.messenger.customClasses.LoadAwareAdapter; import io.olvid.messenger.customClasses.SearchHighlightSpan; -import io.olvid.messenger.customClasses.StringUtils; +import io.olvid.messenger.customClasses.StringUtils2; import io.olvid.messenger.databases.entity.Contact; import io.olvid.messenger.settings.SettingsActivity; import io.olvid.messenger.viewModels.FilteredContactListViewModel; +import kotlin.Pair; +import kotlin.text.Regex; public class FilteredContactListFragment extends Fragment implements TextWatcher { private EditText contactFilterEditText; @@ -369,18 +371,19 @@ public void onViewAttachedToWindow(@NonNull ContactViewHolder holder) { } private void matchAndHighlight(String contactName, List patterns, TextView textView) { + List regexes = new ArrayList<>(patterns.size()); + for (Pattern pattern : patterns) { + regexes.add(new Regex(pattern.toString())); + } + List> ranges = StringUtils2.Companion.computeHighlightRanges(contactName, regexes); int i = 0; - String unAccented = StringUtils.unAccent(contactName); Spannable highlightedContactName = new SpannableString(contactName); - for (Pattern pattern : patterns) { + for (Pair range : ranges) { if (i == highlightedSpans.length) { break; } - Matcher matcher = pattern.matcher(unAccented); - if (matcher.find()) { - highlightedContactName.setSpan(highlightedSpans[i], StringUtils.unaccentedOffsetToActualOffset(contactName, matcher.start()), StringUtils.unaccentedOffsetToActualOffset(contactName, matcher.end()), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); - i++; - } + highlightedContactName.setSpan(highlightedSpans[i], range.getFirst(), range.getSecond(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + i++; } textView.setText(highlightedContactName); } @@ -391,7 +394,7 @@ private void matchAndHighlight(String contactName, List patterns, TextV public void onBindViewHolder(@NonNull final ContactViewHolder holder, int position, @NonNull List payloads) { if (filteredContacts != null) { int changesMask = 0; - if (payloads.size() == 0) { + if (payloads.isEmpty()) { changesMask = -1; } else { for (Object payload : payloads) { @@ -405,7 +408,7 @@ public void onBindViewHolder(@NonNull final ContactViewHolder holder, int positi List patterns = FilteredContactListFragment.this.filteredContactListViewModel.getFilterPatterns(); String filter = FilteredContactListFragment.this.filteredContactListViewModel.getFilter(); - if (patterns != null && patterns.size() > 0) { + if (patterns != null && !patterns.isEmpty()) { if (!filter.equals(holder.currentFilter) || ((changesMask & DISPLAY_NAME_OR_PHOTO_CHANGE_MASK) != 0) || ((changesMask & ACTIVE_CHANGE_MASK) != 0)) { holder.currentFilter = filter; JsonIdentityDetails identityDetails = selectableContact.contact.getIdentityDetails(); @@ -434,7 +437,7 @@ public void onBindViewHolder(@NonNull final ContactViewHolder holder, int positi } } } else { - if ((changesMask & DISPLAY_NAME_OR_PHOTO_CHANGE_MASK) != 0 || (holder.currentFilter != null && holder.currentFilter.trim().length() > 0)) { + if ((changesMask & DISPLAY_NAME_OR_PHOTO_CHANGE_MASK) != 0 || (holder.currentFilter != null && !holder.currentFilter.trim().isEmpty())) { holder.currentFilter = filter; JsonIdentityDetails identityDetails = selectableContact.contact.getIdentityDetails(); if (identityDetails != null) { diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/fragments/FilteredDiscussionListFragment.java b/obv_messenger/app/src/main/java/io/olvid/messenger/fragments/FilteredDiscussionListFragment.java index 424f42f6..b43ed8e7 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/fragments/FilteredDiscussionListFragment.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/fragments/FilteredDiscussionListFragment.java @@ -49,7 +49,6 @@ import java.util.ArrayList; import java.util.List; -import java.util.regex.Matcher; import java.util.regex.Pattern; import io.olvid.messenger.App; @@ -58,10 +57,12 @@ import io.olvid.messenger.customClasses.InitialView; import io.olvid.messenger.customClasses.ItemDecorationSimpleDivider; import io.olvid.messenger.customClasses.SearchHighlightSpan; -import io.olvid.messenger.customClasses.StringUtils; +import io.olvid.messenger.customClasses.StringUtils2; import io.olvid.messenger.databases.dao.DiscussionDao; import io.olvid.messenger.settings.SettingsActivity; import io.olvid.messenger.viewModels.FilteredDiscussionListViewModel; +import kotlin.Pair; +import kotlin.text.Regex; public class FilteredDiscussionListFragment extends Fragment implements TextWatcher { private EditText discussionFilterEditText; @@ -299,46 +300,44 @@ public void onBindViewHolder(@NonNull FilteredDiscussionListAdapter.DiscussionVi List patterns = FilteredDiscussionListFragment.this.filteredDiscussionListViewModel.getFilterPatterns(); if (patterns != null) { + List regexes = new ArrayList<>(patterns.size()); + for (Pattern pattern : patterns) { + regexes.add(new Regex(pattern.toString())); + } + List> ranges = StringUtils2.Companion.computeHighlightRanges(discussion.title, regexes); int i = 0; Spannable highlightedTitle = new SpannableString(discussion.title); - String unaccentTitle = StringUtils.unAccent(discussion.title); - for (Pattern pattern : patterns) { + for (Pair range : ranges) { if (i == highlightedSpans.length) { break; } - Matcher matcher = pattern.matcher(unaccentTitle); - if (matcher.find()) { - highlightedTitle.setSpan(highlightedSpans[i], StringUtils.unaccentedOffsetToActualOffset(discussion.title, matcher.start()), StringUtils.unaccentedOffsetToActualOffset(discussion.title, matcher.end()), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); - i++; - } + highlightedTitle.setSpan(highlightedSpans[i], range.getFirst(), range.getSecond(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + i++; } holder.discussionTitleTextView.setText(highlightedTitle); if (discussion.isGroupDiscussion) { - if (discussion.groupMemberNameList.length() == 0) { + if (discussion.groupMemberNameList.isEmpty()) { StyleSpan sp = new StyleSpan(Typeface.ITALIC); SpannableString ss = new SpannableString(getString(R.string.text_nobody)); ss.setSpan(sp, 0, ss.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); holder.discussionGroupMembersTextView.setText(ss); } else { i = 0; + ranges = StringUtils2.Companion.computeHighlightRanges(discussion.groupMemberNameList, regexes); Spannable highlightedGroupMembers = new SpannableString(discussion.groupMemberNameList); - String unaccentGroupMemberNames = StringUtils.unAccent(discussion.groupMemberNameList); - for (Pattern pattern : patterns) { + for (Pair range : ranges) { if (i == highlightedSpans.length) { break; } - Matcher matcher = pattern.matcher(unaccentGroupMemberNames); - if (matcher.find()) { - highlightedGroupMembers.setSpan(highlightedSpans[i], StringUtils.unaccentedOffsetToActualOffset(discussion.groupMemberNameList, matcher.start()), StringUtils.unaccentedOffsetToActualOffset(discussion.groupMemberNameList, matcher.end()), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); - i++; - } + highlightedGroupMembers.setSpan(highlightedSpans[i], range.getFirst(), range.getSecond(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + i++; } holder.discussionGroupMembersTextView.setText(highlightedGroupMembers); } } } else { - if (discussion.title.length() == 0) { + if (discussion.title.isEmpty()) { SpannableString spannableString = new SpannableString(getString(R.string.text_unnamed_discussion)); spannableString.setSpan(new StyleSpan(Typeface.ITALIC), 0, spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); holder.discussionTitleTextView.setText(spannableString); @@ -346,7 +345,7 @@ public void onBindViewHolder(@NonNull FilteredDiscussionListAdapter.DiscussionVi holder.discussionTitleTextView.setText(discussion.title); } if (discussion.isGroupDiscussion) { - if (discussion.groupMemberNameList.length() == 0) { + if (discussion.groupMemberNameList.isEmpty()) { StyleSpan sp = new StyleSpan(Typeface.ITALIC); SpannableString ss = new SpannableString(getString(R.string.text_nobody)); ss.setSpan(sp, 0, ss.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/fragments/QRCodeScannerFragment.java b/obv_messenger/app/src/main/java/io/olvid/messenger/fragments/QRCodeScannerFragment.java index f3cdb96b..1ff7378f 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/fragments/QRCodeScannerFragment.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/fragments/QRCodeScannerFragment.java @@ -44,6 +44,8 @@ import androidx.camera.core.MeteringPointFactory; import androidx.camera.core.Preview; import androidx.camera.core.SurfaceOrientedMeteringPointFactory; +import androidx.camera.core.resolutionselector.ResolutionSelector; +import androidx.camera.core.resolutionselector.ResolutionStrategy; import androidx.camera.lifecycle.ProcessCameraProvider; import androidx.camera.view.PreviewView; import androidx.core.content.ContextCompat; @@ -138,7 +140,9 @@ private void startPreviewAndQRCodeDetection() { try { ProcessCameraProvider cameraProvider = cameraProviderFuture.get(); Preview preview = new Preview.Builder() - .setTargetResolution(new Size(previewView.getWidth(), previewView.getHeight())) + .setResolutionSelector(new ResolutionSelector.Builder() + .setResolutionStrategy(new ResolutionStrategy(new Size(previewView.getWidth(), previewView.getHeight()), ResolutionStrategy.FALLBACK_RULE_CLOSEST_LOWER_THEN_HIGHER)) + .build()) .build(); preview.setSurfaceProvider(previewView.getSurfaceProvider()); diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/group/GroupV2DetailsViewModel.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/group/GroupV2DetailsViewModel.kt index b54e4ae1..c0be5521 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/group/GroupV2DetailsViewModel.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/group/GroupV2DetailsViewModel.kt @@ -447,18 +447,22 @@ class GroupV2DetailsViewModel : ViewModel() { val expectedPermissions = if (admin) adminPermissions else memberPermissions if (groupMemberEntry.value.permissionAdmin != expectedPermissions.contains(Permission.GROUP_ADMIN)) { - if (expectedPermissions.contains(Permission.GROUP_ADMIN)) { - gainedAdmin.add(AppSingleton.getContactCustomDisplayName(groupMemberEntry.key.bytes)) - } else { - lostAdmin.add(AppSingleton.getContactCustomDisplayName(groupMemberEntry.key.bytes)) + AppSingleton.getContactCustomDisplayName(groupMemberEntry.key.bytes)?.let { + if (expectedPermissions.contains(Permission.GROUP_ADMIN)) { + gainedAdmin.add(it) + } else { + lostAdmin.add(it) + } } } if (groupMemberEntry.value.permissionSendMessage != expectedPermissions.contains(Permission.SEND_MESSAGE)) { - if (expectedPermissions.contains(Permission.SEND_MESSAGE)) { - gainedSend.add(AppSingleton.getContactCustomDisplayName(groupMemberEntry.key.bytes)) - } else { - lostSend.add(AppSingleton.getContactCustomDisplayName(groupMemberEntry.key.bytes)) + AppSingleton.getContactCustomDisplayName(groupMemberEntry.key.bytes)?.let { + if (expectedPermissions.contains(Permission.SEND_MESSAGE)) { + gainedSend.add(it) + } else { + lostSend.add(it) + } } } } diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/group/components/GroupTypeSelection.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/group/components/GroupTypeSelection.kt index cabd3783..8dd949c8 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/group/components/GroupTypeSelection.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/group/components/GroupTypeSelection.kt @@ -61,8 +61,8 @@ import io.olvid.messenger.R.string import io.olvid.messenger.group.GroupTypeModel import io.olvid.messenger.group.GroupTypeModel.GroupType.CUSTOM import io.olvid.messenger.group.GroupTypeModel.GroupType.PRIVATE -import io.olvid.messenger.group.GroupTypeModel.GroupType.SIMPLE import io.olvid.messenger.group.GroupTypeModel.GroupType.READ_ONLY +import io.olvid.messenger.group.GroupTypeModel.GroupType.SIMPLE @Composable fun GroupTypeSelection( diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/main/MainActivity.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/main/MainActivity.kt index 6b522611..c6d1fab1 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/main/MainActivity.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/main/MainActivity.kt @@ -31,6 +31,7 @@ import android.view.GestureDetector import android.view.GestureDetector.SimpleOnGestureListener import android.view.Menu import android.view.MenuItem +import android.view.MenuItem.OnActionExpandListener import android.view.MotionEvent import android.view.View import android.view.View.OnClickListener @@ -39,8 +40,10 @@ import android.widget.ImageView import android.widget.TextView import android.widget.Toast import androidx.activity.result.contract.ActivityResultContracts.RequestPermission +import androidx.activity.viewModels import androidx.appcompat.app.AlertDialog import androidx.appcompat.widget.SearchView +import androidx.appcompat.widget.SearchView.OnQueryTextListener import androidx.appcompat.widget.Toolbar import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize @@ -94,13 +97,13 @@ import io.olvid.messenger.customClasses.SecureAlertDialogBuilder import io.olvid.messenger.databases.AppDatabase import io.olvid.messenger.databases.entity.OwnedIdentity import io.olvid.messenger.discussion.DiscussionActivity -import io.olvid.messenger.fragments.dialog.DiscussionSearchDialogFragment import io.olvid.messenger.fragments.dialog.OwnedIdentitySelectionDialogFragment import io.olvid.messenger.fragments.dialog.OwnedIdentitySelectionDialogFragment.OnOwnedIdentitySelectedListener import io.olvid.messenger.main.calls.CallLogFragment import io.olvid.messenger.main.contacts.ContactListFragment import io.olvid.messenger.main.discussions.DiscussionListFragment import io.olvid.messenger.main.groups.GroupListFragment +import io.olvid.messenger.main.search.GlobalSearchViewModel import io.olvid.messenger.notifications.AndroidNotificationManager import io.olvid.messenger.onboarding.OnboardingActivity import io.olvid.messenger.onboarding.flow.OnboardingFlowActivity @@ -118,9 +121,10 @@ import io.olvid.messenger.troubleshooting.TroubleshootingActivity import io.olvid.messenger.troubleshooting.TroubleshootingDataStore import io.olvid.messenger.troubleshooting.shouldShowTroubleshootingSnackbar import kotlinx.coroutines.launch -import java.util.* +import java.util.Arrays class MainActivity : LockableActivity(), OnClickListener { + private val globalSearchViewModel by viewModels() private var root: CoordinatorLayout? = null private val ownInitialView: InitialView by lazy { findViewById(R.id.owned_identity_initial_view) } private var pingConnectivityDot: View? = null @@ -357,6 +361,8 @@ class MainActivity : LockableActivity(), OnClickListener { requestNotificationPermission.launch(Manifest.permission.POST_NOTIFICATIONS) } } + + App.openAppDialogPromptUserForReadReceiptsIfRelevant() } override fun onSaveInstanceState(outState: Bundle) { @@ -777,6 +783,44 @@ class MainActivity : LockableActivity(), OnClickListener { DISCUSSIONS_TAB -> { menuInflater.inflate(R.menu.menu_main_discussion_list, menu) + val searchView = menu.findItem(R.id.action_search).actionView as SearchView? + if (searchView != null) { + searchView.queryHint = getString(R.string.hint_search_anything) + searchView.inputType = + InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS or InputType.TYPE_TEXT_VARIATION_FILTER + if (SettingsActivity.useKeyboardIncognitoMode()) { + searchView.imeOptions = + searchView.imeOptions or EditorInfoCompat.IME_FLAG_NO_PERSONALIZED_LEARNING + } + searchView.setOnSearchClickListener(OnClickListener { _ -> + searchView.setOnQueryTextListener(object : OnQueryTextListener { + override fun onQueryTextSubmit(query: String): Boolean { + return true + } + + override fun onQueryTextChange(newText: String): Boolean { + AppSingleton.getBytesCurrentIdentity()?.let { bytesOwnedIdentity -> + globalSearchViewModel.search(bytesOwnedIdentity = bytesOwnedIdentity, text = newText) + } + return true + } + }) + searchView.setOnCloseListener(SearchView.OnCloseListener { + globalSearchViewModel.clear() + false + }) + }) + } + menu.findItem(R.id.action_search)?.setOnActionExpandListener(object : OnActionExpandListener { + override fun onMenuItemActionExpand(item: MenuItem): Boolean { + return true + } + + override fun onMenuItemActionCollapse(item: MenuItem): Boolean { + globalSearchViewModel.clear() + return true + } + }) } CALLS_TAB -> { @@ -806,15 +850,6 @@ class MainActivity : LockableActivity(), OnClickListener { ) startActivity(intent) return true - } else if (itemId == R.id.action_search) { - if (viewPager.currentItem == DISCUSSIONS_TAB) { - val discussionSearchDialogFragment = DiscussionSearchDialogFragment.newInstance() - discussionSearchDialogFragment.show( - supportFragmentManager, - "discussion_search_dialog_fragment" - ) - return true - } } else if (itemId == R.id.action_clear_log) { if (viewPager.currentItem == CALLS_TAB) { val bytesOwnedIdentity = AppSingleton.getBytesCurrentIdentity() diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/main/MainScreenEmptyList.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/main/MainScreenEmptyList.kt index 14966928..c7287abc 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/main/MainScreenEmptyList.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/main/MainScreenEmptyList.kt @@ -48,7 +48,7 @@ import io.olvid.messenger.R import io.olvid.messenger.R.color @Composable -fun MainScreenEmptyList(@DrawableRes icon: Int, iconPadding: Dp = 0.dp, @StringRes title: Int, @StringRes subtitle: Int?) { +fun MainScreenEmptyList(@DrawableRes icon: Int, iconPadding: Dp = 0.dp, @StringRes title: Int, @StringRes subtitle: Int? = null) { Column( modifier = Modifier .fillMaxWidth() @@ -86,6 +86,6 @@ fun MainScreenEmptyList(@DrawableRes icon: Int, iconPadding: Dp = 0.dp, @StringR @Composable private fun MainScreenEmptyListPreview() { AppCompatTheme { - MainScreenEmptyList(icon = R.drawable.ic_phone_log,title = R.string.explanation_empty_discussion_list, subtitle = R.string.explanation_empty_discussion_list_sub) + MainScreenEmptyList(icon = R.drawable.ic_phone_log, title = R.string.explanation_empty_discussion_list, subtitle = R.string.explanation_empty_discussion_list_sub) } } \ No newline at end of file diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/main/OwnIdentitySelectorPopupWindow.java b/obv_messenger/app/src/main/java/io/olvid/messenger/main/OwnIdentitySelectorPopupWindow.java index 83a686c5..01d4147e 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/main/OwnIdentitySelectorPopupWindow.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/main/OwnIdentitySelectorPopupWindow.java @@ -53,12 +53,12 @@ import io.olvid.messenger.App; import io.olvid.messenger.AppSingleton; import io.olvid.messenger.R; -import io.olvid.messenger.owneddetails.OwnedIdentityDetailsActivity; import io.olvid.messenger.customClasses.InitialView; import io.olvid.messenger.databases.AppDatabase; import io.olvid.messenger.databases.dao.OwnedIdentityDao; import io.olvid.messenger.databases.entity.OwnedIdentity; import io.olvid.messenger.onboarding.flow.OnboardingFlowActivity; +import io.olvid.messenger.owneddetails.OwnedIdentityDetailsActivity; import io.olvid.messenger.settings.SettingsActivity; public class OwnIdentitySelectorPopupWindow { diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/main/RefreshingFragment.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/main/RefreshingFragment.kt index 16a3ef89..47eb3bc7 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/main/RefreshingFragment.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/main/RefreshingFragment.kt @@ -31,7 +31,6 @@ import io.olvid.engine.engine.types.EngineNotifications import io.olvid.messenger.App import io.olvid.messenger.AppSingleton import io.olvid.messenger.R -import java.util.* open class RefreshingFragment : Fragment(), OnRefreshListener, EngineNotificationListener { @@ -89,7 +88,7 @@ open class RefreshingFragment : Fragment(), OnRefreshListener, EngineNotificatio userInfo[EngineNotifications.SERVER_POLLED_BYTES_OWNED_IDENTITY_KEY] as ByteArray? val success = userInfo[EngineNotifications.SERVER_POLLED_SUCCESS_KEY] as Boolean? if (success != null - && Arrays.equals(bytesOwnedIdentity, AppSingleton.getBytesCurrentIdentity()) + && bytesOwnedIdentity.contentEquals(AppSingleton.getBytesCurrentIdentity()) ) { if (refreshingViewModel.isRefreshing.value) { Handler(Looper.getMainLooper()).post { diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/main/calls/CallLogViewModel.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/main/calls/CallLogViewModel.kt index 045374cc..907e560d 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/main/calls/CallLogViewModel.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/main/calls/CallLogViewModel.kt @@ -103,7 +103,7 @@ fun CallLogItem.getStatusImageResource(): Int { CallLogItem.STATUS_SUCCESSFUL -> R.drawable.ic_call_outgoing CallLogItem.STATUS_BUSY -> R.drawable.ic_phone_busy_out CallLogItem.STATUS_REJECTED -> R.drawable.ic_phone_rejected_out - CallLogItem.STATUS_MISSED, + CallLogItem.STATUS_MISSED -> R.drawable.ic_phone_missed_out CallLogItem.STATUS_FAILED -> R.drawable.ic_call_failed else -> R.drawable.ic_phone_grey } diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/main/contacts/ContactListViewModel.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/main/contacts/ContactListViewModel.kt index 4bbcd55f..cadeb277 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/main/contacts/ContactListViewModel.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/main/contacts/ContactListViewModel.kt @@ -31,9 +31,11 @@ import androidx.core.util.Pair import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope +import io.olvid.engine.engine.types.JsonIdentityDetails import io.olvid.engine.engine.types.JsonKeycloakUserDetails import io.olvid.messenger.AppSingleton import io.olvid.messenger.customClasses.StringUtils +import io.olvid.messenger.customClasses.StringUtils2 import io.olvid.messenger.databases.entity.Contact import io.olvid.messenger.main.contacts.ContactListViewModel.ContactOrKeycloakDetails import io.olvid.messenger.main.contacts.ContactListViewModel.ContactType.CONTACT @@ -306,7 +308,7 @@ fun ContactOrKeycloakDetails.getAnnotatedDescription(): AnnotatedString? { if (contact.customDisplayName != null) { append( identityDetails.formatDisplayName( - SettingsActivity.getContactDisplayNameFormat(), + JsonIdentityDetails.FORMAT_STRING_FIRST_LAST_POSITION_COMPANY, SettingsActivity.getUppercaseLastName() ) ) @@ -335,21 +337,13 @@ fun AnnotatedString.highlight( spanStyle: SpanStyle, patterns: List?, ): AnnotatedString { - val unAccented = StringUtils.unAccent(text) return buildAnnotatedString { append(this@highlight) - patterns?.let { - for (pattern in patterns) { - val matcher = pattern.matcher(unAccented) - if (matcher.find()) { - addStyle( - spanStyle, StringUtils.unaccentedOffsetToActualOffset( - text, - matcher.start() - ), - StringUtils.unaccentedOffsetToActualOffset(text, matcher.end()) - ) - } + patterns?.map { + Regex(it.toString()) + }?.let { + StringUtils2.computeHighlightRanges(text, it).forEach { range -> + addStyle(spanStyle, range.first, range.second) } } } diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/main/discussions/DiscussionListFragment.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/main/discussions/DiscussionListFragment.kt index b1f014f9..238be387 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/main/discussions/DiscussionListFragment.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/main/discussions/DiscussionListFragment.kt @@ -45,17 +45,21 @@ import io.olvid.messenger.databases.entity.Discussion import io.olvid.messenger.databases.entity.DiscussionCustomization import io.olvid.messenger.databases.tasks.DeleteMessagesTask import io.olvid.messenger.databases.tasks.PropagatePinnedDiscussionsChangeTask +import io.olvid.messenger.discussion.linkpreview.LinkPreviewViewModel import io.olvid.messenger.discussion.settings.DiscussionSettingsActivity import io.olvid.messenger.fragments.dialog.EditNameAndPhotoDialogFragment import io.olvid.messenger.main.RefreshingFragment import io.olvid.messenger.main.invitations.InvitationListViewModel +import io.olvid.messenger.main.search.GlobalSearchViewModel import io.olvid.messenger.notifications.NotificationActionService class DiscussionListFragment : RefreshingFragment(), DiscussionMenu { + private val globalSearchViewModel: GlobalSearchViewModel by activityViewModels() private val discussionListViewModel: DiscussionListViewModel by activityViewModels() private val invitationListViewModel: InvitationListViewModel by activityViewModels() + private val linkPreviewViewModel : LinkPreviewViewModel by activityViewModels() override fun onCreateView( inflater: LayoutInflater, @@ -67,8 +71,10 @@ class DiscussionListFragment : RefreshingFragment(), DiscussionMenu { setContent { val refreshing by refreshingViewModel.isRefreshing.collectAsStateWithLifecycle() DiscussionListScreen( + globalSearchViewModel = globalSearchViewModel, discussionListViewModel = discussionListViewModel, invitationListViewModel = invitationListViewModel, + linkPreviewViewModel = linkPreviewViewModel, refreshing = refreshing, onRefresh = ::onRefresh, onClick = ::discussionClicked, diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/main/discussions/DiscussionListScreen.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/main/discussions/DiscussionListScreen.kt index 8d0e1fab..72fca628 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/main/discussions/DiscussionListScreen.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/main/discussions/DiscussionListScreen.kt @@ -51,170 +51,195 @@ import androidx.compose.ui.unit.dp import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import io.olvid.messenger.App import io.olvid.messenger.R -import io.olvid.messenger.R.string import io.olvid.messenger.customClasses.ifNull import io.olvid.messenger.databases.entity.Discussion +import io.olvid.messenger.discussion.linkpreview.LinkPreviewViewModel import io.olvid.messenger.main.MainScreenEmptyList import io.olvid.messenger.main.RefreshingIndicator import io.olvid.messenger.main.invitations.InvitationListViewModel import io.olvid.messenger.main.invitations.getAnnotatedDate import io.olvid.messenger.main.invitations.getAnnotatedTitle +import io.olvid.messenger.main.search.GlobalSearchScreen +import io.olvid.messenger.main.search.GlobalSearchViewModel @OptIn(ExperimentalMaterialApi::class, ExperimentalFoundationApi::class) @Composable fun DiscussionListScreen( + globalSearchViewModel: GlobalSearchViewModel, discussionListViewModel: DiscussionListViewModel, invitationListViewModel: InvitationListViewModel, + linkPreviewViewModel: LinkPreviewViewModel, refreshing: Boolean, onRefresh: () -> Unit, onClick: (discussion: Discussion) -> Unit, discussionMenu: DiscussionMenu ) { + val context = LocalContext.current val discussionsAndLastMessages by discussionListViewModel.discussions.observeAsState() val invitations by invitationListViewModel.invitations.observeAsState() val refreshState = rememberPullRefreshState(refreshing, onRefresh) AppCompatTheme { - Box( - modifier = Modifier - .fillMaxSize() - .pullRefresh(refreshState) - ) { - val lazyListState = rememberLazyListState() - discussionsAndLastMessages?.let { list -> - if (list.isEmpty().not()) { - LazyColumn( - modifier = Modifier.fillMaxSize(), - state = lazyListState, - contentPadding = PaddingValues(bottom = 80.dp), - ) { - item(key = -1) { Box(modifier = Modifier.requiredHeight(1.dp).fillMaxWidth()){} } + if (globalSearchViewModel.filter.isNullOrEmpty().not()) { + GlobalSearchScreen(globalSearchViewModel, linkPreviewViewModel) + } else { + Box( + modifier = Modifier + .fillMaxSize() + .pullRefresh(refreshState) + ) { + val lazyListState = rememberLazyListState() + discussionsAndLastMessages?.let { list -> + if (list.isEmpty().not()) { + LazyColumn( + modifier = Modifier.fillMaxSize(), + state = lazyListState, + contentPadding = PaddingValues(bottom = 80.dp), + ) { + item(key = -1) { + Box( + modifier = Modifier + .requiredHeight(1.dp) + .fillMaxWidth() + ) {} + } - itemsIndexed( - items = list, - key = { _, item -> item.discussion.id }) { index, discussionAndLastMessage -> - with(discussionAndLastMessage) { - Box (modifier = Modifier.animateItemPlacement()){ - val invitation by remember { - derivedStateOf { - invitations?.sortedBy { it.invitationTimestamp } - ?.find { it.discussionId == discussion.id } + itemsIndexed( + items = list, + key = { _, item -> item.discussion.id }) { index, discussionAndLastMessage -> + with(discussionAndLastMessage) { + Box(modifier = Modifier.animateItemPlacement()) { + val invitation by remember { + derivedStateOf { + invitations?.sortedBy { it.invitationTimestamp } + ?.find { it.discussionId == discussion.id } + } } - } - DiscussionListItem( - title = invitation?.getAnnotatedTitle(LocalContext.current).takeIf { discussion.isPreDiscussion } - ?: getAnnotatedTitle(LocalContext.current), - body = invitation?.let { AnnotatedString(it.statusText) } - ?: getAnnotatedBody(LocalContext.current), - date = invitation?.getAnnotatedDate(LocalContext.current) - ?: getAnnotatedDate(LocalContext.current), - initialViewSetup = { initialView -> - invitation?.takeIf { discussion.isPreDiscussion }?.let { - invitationListViewModel.initialViewSetup( - initialView, - it - ) - } ifNull { + DiscussionListItem( + title = invitation?.getAnnotatedTitle(context) + .takeIf { discussion.isPreDiscussion } + ?: getAnnotatedTitle(context), + body = invitation?.let { AnnotatedString(it.statusText) } + ?: getAnnotatedBody(context), + date = invitation?.getAnnotatedDate(context) + ?: getAnnotatedDate(context), + initialViewSetup = { initialView -> + invitation?.takeIf { discussion.isPreDiscussion } + ?.let { + invitationListViewModel.initialViewSetup( + initialView, + it + ) + } ifNull { initialView.setDiscussion(discussion) } - }, - customColor = discussionCustomization?.colorJson?.color?.minus( - 0x1000000 - ) ?: 0x00ffffff, - backgroundImageUrl = App.absolutePathFromRelative( - discussionCustomization?.backgroundImageUrl - ), - unread = (invitation?.requiresAction() == true) || discussion.unread, - unreadCount = unreadCount, - muted = discussionCustomization?.shouldMuteNotifications() == true, - locked = discussion.isLocked && invitation == null, - mentioned = unreadMention, - pinned = discussion.pinned, - locationsShared = locationsShared, - attachmentCount = if (message?.isLocationMessage == true) 0 else message?.totalAttachmentCount ?: 0, - onClick = { onClick(discussion) }, - isPreDiscussion = discussion.isPreDiscussion, - onMarkAllDiscussionMessagesRead = { - discussionMenu.markAllDiscussionMessagesRead( - discussion.id - ) - }, - onMarkDiscussionAsUnread = { - discussionMenu.markDiscussionAsUnread( - discussion.id - ) - }, - onPinDiscussion = { pinned -> - discussionMenu.pinDiscussion( - discussionId = discussion.id, - pinned = pinned - ) - }, - onMuteDiscussion = { muted -> - discussionMenu.muteDiscussion( - discussionId = discussion.id, - muted = muted - ) - }, - onDeleteDiscussion = { - discussionMenu.deleteDiscussion( - discussion - ) - }, - renameActionName = if (discussion.isNormalOrReadOnly) { - when (discussion.discussionType) { - Discussion.TYPE_CONTACT -> - stringResource(id = string.menu_action_rename_contact) - Discussion.TYPE_GROUP, Discussion.TYPE_GROUP_V2 -> - stringResource(id = string.menu_action_rename_group) - else -> stringResource(id = string.menu_action_rename) - } - } else { - stringResource(id = string.menu_action_rename) - }, - onRenameDiscussion = { - discussionMenu.renameDiscussion( - discussion - ) - }, - onOpenSettings = { discussionMenu.openSettings(discussion.id) } - ) - if (index < list.size - 1) { - Spacer( - modifier = Modifier - .fillMaxWidth() - .padding(start = 84.dp, end = 12.dp) - .requiredHeight(1.dp) - .align(Alignment.BottomStart) - .background( - color = colorResource(id = R.color.lightGrey) + }, + customColor = discussionCustomization?.colorJson?.color?.minus( + 0x1000000 + ) ?: 0x00ffffff, + backgroundImageUrl = App.absolutePathFromRelative( + discussionCustomization?.backgroundImageUrl + ), + unread = (invitation?.requiresAction() == true) || discussion.unread, + unreadCount = unreadCount, + muted = discussionCustomization?.shouldMuteNotifications() == true, + locked = discussion.isLocked && invitation == null, + mentioned = unreadMention, + pinned = discussion.pinned, + locationsShared = locationsShared, + attachmentCount = if (message?.isLocationMessage == true) 0 else message?.totalAttachmentCount + ?: 0, + onClick = { onClick(discussion) }, + isPreDiscussion = discussion.isPreDiscussion, + onMarkAllDiscussionMessagesRead = { + discussionMenu.markAllDiscussionMessagesRead( + discussion.id + ) + }, + onMarkDiscussionAsUnread = { + discussionMenu.markDiscussionAsUnread( + discussion.id + ) + }, + onPinDiscussion = { pinned -> + discussionMenu.pinDiscussion( + discussionId = discussion.id, + pinned = pinned + ) + }, + onMuteDiscussion = { muted -> + discussionMenu.muteDiscussion( + discussionId = discussion.id, + muted = muted ) + }, + onDeleteDiscussion = { + discussionMenu.deleteDiscussion( + discussion + ) + }, + renameActionName = if (discussion.isNormalOrReadOnly) { + when (discussion.discussionType) { + Discussion.TYPE_CONTACT -> + stringResource(id = R.string.menu_action_rename_contact) + + Discussion.TYPE_GROUP, Discussion.TYPE_GROUP_V2 -> + stringResource(id = R.string.menu_action_rename_group) + + else -> stringResource(id = R.string.menu_action_rename) + } + } else { + stringResource(id = R.string.menu_action_rename) + }, + onRenameDiscussion = { + discussionMenu.renameDiscussion( + discussion + ) + }, + onOpenSettings = { + discussionMenu.openSettings( + discussion.id + ) + } ) + if (index < list.size - 1) { + Spacer( + modifier = Modifier + .fillMaxWidth() + .padding(start = 84.dp, end = 12.dp) + .requiredHeight(1.dp) + .align(Alignment.BottomStart) + .background( + color = colorResource(id = R.color.lightGrey) + ) + ) + } } } } } - } - } else { - Box(modifier = Modifier - .fillMaxSize() - .verticalScroll(rememberScrollState()), - contentAlignment = Alignment.Center - ) { - MainScreenEmptyList( - icon = R.drawable.tab_discussions, - iconPadding = 4.dp, - title = R.string.explanation_empty_discussion_list, - subtitle = R.string.explanation_empty_discussion_list_sub - ) + } else { + Box( + modifier = Modifier + .fillMaxSize() + .verticalScroll(rememberScrollState()), + contentAlignment = Alignment.Center + ) { + MainScreenEmptyList( + icon = R.drawable.tab_discussions, + iconPadding = 4.dp, + title = R.string.explanation_empty_discussion_list, + subtitle = R.string.explanation_empty_discussion_list_sub + ) + } } } - } - RefreshingIndicator( - refreshing = refreshing, - refreshState = refreshState, - ) + RefreshingIndicator( + refreshing = refreshing, + refreshState = refreshState, + ) + } } } } \ No newline at end of file diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/main/discussions/DiscussionListViewModel.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/main/discussions/DiscussionListViewModel.kt index f7d2aa19..8e26ada6 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/main/discussions/DiscussionListViewModel.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/main/discussions/DiscussionListViewModel.kt @@ -31,6 +31,7 @@ import io.olvid.messenger.AppSingleton import io.olvid.messenger.R.string import io.olvid.messenger.customClasses.StringUtils import io.olvid.messenger.customClasses.formatMarkdown +import io.olvid.messenger.customClasses.formatSingleLineMarkdown import io.olvid.messenger.customClasses.ifNull import io.olvid.messenger.databases.AppDatabase import io.olvid.messenger.databases.dao.DiscussionDao.DiscussionAndLastMessage @@ -97,8 +98,7 @@ fun DiscussionAndLastMessage.getAnnotatedBody(context: Context): AnnotatedString "" ) ) - append(AnnotatedString(body).formatMarkdown()) - + append(body.formatSingleLineMarkdown()) } } else if (message.wipeStatus == Message.WIPE_STATUS_WIPED || message.wipeStatus == Message.WIPE_STATUS_REMOTE_DELETED @@ -124,11 +124,7 @@ fun DiscussionAndLastMessage.getAnnotatedBody(context: Context): AnnotatedString string.text_outbound_message_prefix, "" )) - append( - AnnotatedString( - body - ).formatMarkdown() - ) + append(body.formatSingleLineMarkdown()) } } } @@ -209,7 +205,10 @@ fun DiscussionAndLastMessage.getAnnotatedBody(context: Context): AnnotatedString -CallLogItem.STATUS_REJECTED, CallLogItem.STATUS_REJECTED, CallLogItem.STATUS_REJECTED_ON_OTHER_DEVICE -> { context.getString(string.text_rejected_call) } - -CallLogItem.STATUS_MISSED, -CallLogItem.STATUS_FAILED, CallLogItem.STATUS_FAILED -> { + -CallLogItem.STATUS_MISSED -> { + context.getString(string.text_unanswered_call) + } + -CallLogItem.STATUS_FAILED, CallLogItem.STATUS_FAILED -> { context.getString(string.text_failed_call) } -CallLogItem.STATUS_SUCCESSFUL, CallLogItem.STATUS_SUCCESSFUL, CallLogItem.STATUS_ANSWERED_ON_OTHER_DEVICE -> { @@ -360,7 +359,7 @@ fun DiscussionAndLastMessage.getAnnotatedBody(context: Context): AnnotatedString append(AnnotatedString(body).formatMarkdown()) } } else { - append(AnnotatedString(body).formatMarkdown()) + append(body.formatSingleLineMarkdown()) } } } diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/main/search/GlobalSearchScreen.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/main/search/GlobalSearchScreen.kt new file mode 100644 index 00000000..0ece44ab --- /dev/null +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/main/search/GlobalSearchScreen.kt @@ -0,0 +1,423 @@ +/* + * Olvid for Android + * Copyright © 2019-2024 Olvid SAS + * + * This file is part of Olvid for Android. + * + * Olvid is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * Olvid is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Olvid. If not, see . + */ + +package io.olvid.messenger.main.search + +import android.app.Activity +import android.content.Context +import android.content.Intent +import android.view.inputmethod.InputMethodManager +import androidx.compose.foundation.background +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.IntrinsicSize.Min +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.requiredSize +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.items +import androidx.compose.foundation.lazy.rememberLazyListState +import androidx.compose.material.LinearProgressIndicator +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.colorResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.AnnotatedString +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import io.olvid.engine.engine.types.JsonIdentityDetails +import io.olvid.messenger.App +import io.olvid.messenger.AppSingleton +import io.olvid.messenger.R +import io.olvid.messenger.R.color +import io.olvid.messenger.R.string +import io.olvid.messenger.customClasses.PreviewUtils +import io.olvid.messenger.customClasses.StringUtils +import io.olvid.messenger.customClasses.ifNull +import io.olvid.messenger.databases.entity.Contact +import io.olvid.messenger.databases.entity.Message +import io.olvid.messenger.discussion.DiscussionActivity +import io.olvid.messenger.discussion.gallery.FyleListItem +import io.olvid.messenger.discussion.linkpreview.LinkPreviewViewModel +import io.olvid.messenger.discussion.linkpreview.OpenGraph +import io.olvid.messenger.main.InitialView +import io.olvid.messenger.main.MainActivity +import io.olvid.messenger.main.MainScreenEmptyList +import io.olvid.messenger.settings.SettingsActivity +import io.olvid.messenger.viewModels.FilteredDiscussionListViewModel.SearchableDiscussion + +@Composable +fun GlobalSearchScreen( + globalSearchViewModel: GlobalSearchViewModel, + linkPreviewViewModel: LinkPreviewViewModel +) { + val context = LocalContext.current + val scrollState = rememberLazyListState() + LaunchedEffect(scrollState.isScrollInProgress) { + if (scrollState.isScrollInProgress) { + (context as? Activity)?.window?.decorView?.windowToken?.let { windowToken -> + (context.getSystemService(Context.INPUT_METHOD_SERVICE) as? InputMethodManager)?.hideSoftInputFromWindow(windowToken,0) + } + } + } + if (globalSearchViewModel.searching.value || globalSearchViewModel.noResults.value.not()) { + Box( + modifier = Modifier + .fillMaxSize() + .background(colorResource(id = color.almostWhite)), + contentAlignment = Alignment.TopStart + ) { + if (globalSearchViewModel.searching.value) { + LinearProgressIndicator(modifier = Modifier.fillMaxWidth()) + } + LazyColumn( + state = scrollState, + contentPadding = PaddingValues(bottom = 80.dp)) { + globalSearchViewModel.contactsFound?.takeIf { it.isNotEmpty() }?.let { + item { + Text( + modifier = Modifier.padding(8.dp), + text = stringResource(id = string.global_search_result_contacts), + fontSize = 20.sp, + fontWeight = FontWeight.Bold + ) + } + items(it) { contact -> + SearchResult( + contact = contact, + globalSearchViewModel = globalSearchViewModel + ) + } + item { + Spacer(modifier = Modifier.height(8.dp)) + } + } + globalSearchViewModel.groupsFound?.takeIf { it.isNotEmpty() }?.let { + item { + Text( + modifier = Modifier.padding(8.dp), + text = stringResource(id = string.global_search_result_groups), + fontSize = 20.sp, + fontWeight = FontWeight.Bold + ) + } + items(it) { searchableDiscussion -> + SearchResult( + searchableDiscussion = searchableDiscussion, + globalSearchViewModel = globalSearchViewModel + ) + } + item { + Spacer(modifier = Modifier.height(8.dp)) + } + } + + globalSearchViewModel.otherDiscussionsFound?.takeIf { it.isNotEmpty() }?.let { + item { + Text( + modifier = Modifier.padding(8.dp), + text = stringResource(id = string.global_search_result_other_discussions), + fontSize = 20.sp, + fontWeight = FontWeight.Bold + ) + } + items(it) { searchableDiscussion -> + SearchResult( + searchableDiscussion = searchableDiscussion, + globalSearchViewModel = globalSearchViewModel + ) + } + item { + Spacer(modifier = Modifier.height(8.dp)) + } + } + + globalSearchViewModel.messagesFound?.takeIf { it.isNotEmpty() }?.let { + item { + Text( + modifier = Modifier.padding(8.dp), + text = stringResource(id = string.global_search_result_messages), + fontSize = 20.sp, + fontWeight = FontWeight.Bold + ) + } + items(it) { message -> + SearchResult( + message = message, + globalSearchViewModel = globalSearchViewModel + ) + } + item { + Spacer(modifier = Modifier.height(8.dp)) + } + } + globalSearchViewModel.fylesFound?.takeIf { it.isNotEmpty() }?.let { + item { + Text( + modifier = Modifier.padding(8.dp), + text = stringResource(id = string.global_search_result_attachments), + fontSize = 20.sp, + fontWeight = FontWeight.Bold + ) + } + items(it) { fyle -> + Column(modifier = Modifier.padding(bottom = 4.dp)) { + Row( + modifier = Modifier.padding(horizontal = 12.dp), + verticalAlignment = Alignment.CenterVertically + ) { + InitialView( + modifier = Modifier + .padding(end = 8.dp) + .requiredSize(20.dp), + initialViewSetup = { view -> + view.setFromCache(fyle.message.senderIdentifier) + }, + ) + Text( + text = AppSingleton.getContactCustomDisplayName(fyle.message.senderIdentifier) ?: stringResource(id = string.text_deleted_contact), + fontSize = 14.sp, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + fontWeight = FontWeight.Medium + ) + Spacer(modifier = Modifier.weight(1f)) + Text( + text = StringUtils.getNiceDateString( + context, + fyle.message.timestamp + ).toString(), + fontSize = 14.sp, + fontWeight = FontWeight.Medium + ) + } + when (fyle.fyleAndStatus.fyleMessageJoinWithStatus.nonNullMimeType) { + OpenGraph.MIME_TYPE -> { + LinkListItem( + fyleAndStatus = fyle.fyleAndStatus, + onClick = { + fyle.message.goto(context) + }, + linkPreviewViewModel = linkPreviewViewModel, + globalSearchViewModel = globalSearchViewModel + ) + } + + else -> { + FyleListItem(fyleAndStatus = fyle.fyleAndStatus, + fileName = globalSearchViewModel.highlight( + content = fyle.fyleAndStatus.fyleMessageJoinWithStatus.fileName + ), + extraHorizontalPadding = 4.dp, + onClick = { fyle.message.goto(context) }, + onLongClick = { + if (PreviewUtils.mimeTypeIsSupportedImageOrVideo( + PreviewUtils.getNonNullMimeType( + fyle.fyleAndStatus.fyleMessageJoinWithStatus.mimeType, + fyle.fyleAndStatus.fyleMessageJoinWithStatus.fileName + ) + ) && SettingsActivity.useInternalImageViewer() + ) { + App.openMessageGalleryActivity( + context, + fyle.fyleAndStatus.fyleMessageJoinWithStatus.messageId, + fyle.fyleAndStatus.fyleMessageJoinWithStatus.fyleId + ); + } else { + App.openFyleInExternalViewer( + context, + fyle.fyleAndStatus, + null + ); + } + } + ) + } + } + } + } + } + } + } + } else { + Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) { + MainScreenEmptyList(icon = R.drawable.ic_search_anything, title = R.string.explanation_empty_global_search) + } + } +} + +fun Message.goto(context: Context) { + context.startActivity(Intent(context, MainActivity::class.java).apply { + action = MainActivity.FORWARD_ACTION + putExtra( + MainActivity.FORWARD_TO_INTENT_EXTRA, + DiscussionActivity::class.java.name + ) + putExtra( + DiscussionActivity.DISCUSSION_ID_INTENT_EXTRA, + discussionId + ) + putExtra( + DiscussionActivity.MESSAGE_ID_INTENT_EXTRA, + id + ) + }) +} + +@Composable +private fun SearchResult( + searchableDiscussion: SearchableDiscussion? = null, + message: Message? = null, + contact: Contact? = null, + globalSearchViewModel: GlobalSearchViewModel +) { + val context = LocalContext.current + Row( + modifier = Modifier + .height(Min) + .fillMaxWidth() + .clickable { + searchableDiscussion?.let { + App.openDiscussionActivity(context, it.discussionId) + } ifNull { + contact?.let { + if (it.oneToOne) { + App.openOneToOneDiscussionActivity( + context, + it.bytesOwnedIdentity, + it.bytesContactIdentity, + false + ) + } else { + App.openContactDetailsActivity( + context, + it.bytesOwnedIdentity, + it.bytesContactIdentity + ) + } + } ifNull { + message?.goto(context) + } + } + } + .padding(horizontal = 12.dp), + verticalAlignment = Alignment.CenterVertically + ) { + // InitialView + InitialView( + modifier = Modifier + .padding( + top = 8.dp, + end = 16.dp, + bottom = 8.dp + ) + .requiredSize(48.dp), + initialViewSetup = { view -> + searchableDiscussion?.let { + view.setDiscussion(searchableDiscussion) + } + contact?.let { + view.setContact(contact) + } + message?.senderIdentifier?.let { + view.setFromCache(message.senderIdentifier) + } + }, + ) + + // content + Column( + modifier = Modifier.weight(1f), verticalArrangement = Arrangement.Center + ) { + // Title + Text( + text = searchableDiscussion?.title?.let { globalSearchViewModel.highlight(it) } + ?: contact?.let { AnnotatedString(contact.customDisplayName ?: contact.getIdentityDetails() + ?.formatFirstAndLastName( + SettingsActivity.getContactDisplayNameFormat(), + SettingsActivity.getUppercaseLastName() + ) ?: contact.getCustomDisplayName()) }?.let { globalSearchViewModel.highlight(it) } + ?: AnnotatedString(message?.let { AppSingleton.getContactCustomDisplayName(message.senderIdentifier) } + ?: stringResource(id = string.text_deleted_contact)), + color = colorResource(id = color.primary700), + fontSize = 16.sp, + fontWeight = FontWeight.Medium, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + ) + // Subtitle or matching message body + (searchableDiscussion?.groupMemberNameList?.takeIf { it.isNotEmpty() }?.let { + AnnotatedString(it) + } + ?: contact?.let { + contact.getIdentityDetails()?.let { + if (contact.customDisplayName != null) + AnnotatedString( + it.formatDisplayName( + JsonIdentityDetails.FORMAT_STRING_FIRST_LAST_POSITION_COMPANY, + SettingsActivity.getUppercaseLastName() + ) + ) + else + it.formatPositionAndCompany( + SettingsActivity.getContactDisplayNameFormat() + )?.let { AnnotatedString(it) } + } + } + ?: message?.getStringContent(context)?.let { + globalSearchViewModel.truncateMessageBody(body = it) + })?.let { + Text( + text = if (message?.status == Message.STATUS_DRAFT) + AnnotatedString(stringResource(id = string.text_draft_message_prefix, "")) + globalSearchViewModel.highlight(it) + else + globalSearchViewModel.highlight(it), + color = colorResource(id = color.greyTint), + fontSize = 14.sp, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + ) + } + + message?.timestamp?.let { + // Date + Text( + text = StringUtils.getLongNiceDateString(context, it) as String, + color = colorResource(id = color.grey), + fontSize = 12.sp, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + ) + } + } + } +} diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/main/search/GlobalSearchViewModel.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/main/search/GlobalSearchViewModel.kt new file mode 100644 index 00000000..3a998d41 --- /dev/null +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/main/search/GlobalSearchViewModel.kt @@ -0,0 +1,192 @@ +/* + * Olvid for Android + * Copyright © 2019-2024 Olvid SAS + * + * This file is part of Olvid for Android. + * + * Olvid is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * Olvid is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Olvid. If not, see . + */ + +package io.olvid.messenger.main.search + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.setValue +import androidx.compose.ui.res.colorResource +import androidx.compose.ui.text.AnnotatedString +import androidx.compose.ui.text.SpanStyle +import androidx.lifecycle.ViewModel +import io.olvid.messenger.App +import io.olvid.messenger.R +import io.olvid.messenger.customClasses.StringUtils +import io.olvid.messenger.customClasses.StringUtils2 +import io.olvid.messenger.customClasses.formatSingleLineMarkdown +import io.olvid.messenger.customClasses.fullTextSearchEscape +import io.olvid.messenger.databases.AppDatabase +import io.olvid.messenger.databases.GlobalSearchTokenizer +import io.olvid.messenger.databases.dao.FyleMessageJoinWithStatusDao.FyleAndOrigin +import io.olvid.messenger.databases.entity.Contact +import io.olvid.messenger.databases.entity.Discussion +import io.olvid.messenger.databases.entity.Message +import io.olvid.messenger.viewModels.FilteredDiscussionListViewModel.SearchableDiscussion + +class GlobalSearchViewModel : ViewModel() { + companion object { + const val MESSAGE_SEARCH_LIMIT: Int = 50 + const val ATTACHMENT_SEARCH_LIMIT: Int = 30 + } + var filter by mutableStateOf(null) + private set + private var filterRegexes by mutableStateOf?>(null) + var currentSearchTask by mutableStateOf(null) + + var contactsFound by mutableStateOf?>(null) + var groupsFound by mutableStateOf?>(null) + var otherDiscussionsFound by mutableStateOf?>(null) + var messagesFound by mutableStateOf?>(null) + var fylesFound by mutableStateOf?>(null) + + var searching = derivedStateOf { currentSearchTask != null } + var noResults = derivedStateOf { + contactsFound.isNullOrEmpty() && otherDiscussionsFound.isNullOrEmpty() && messagesFound.isNullOrEmpty() && groupsFound.isNullOrEmpty() && fylesFound.isNullOrEmpty() + } + + fun search(bytesOwnedIdentity: ByteArray, text: String) { + filter = text + currentSearchTask?.cancel() + currentSearchTask = SearchTask(bytesOwnedIdentity, text) + } + + fun clear() { + filter = null + filterRegexes = null + currentSearchTask?.cancel() + currentSearchTask = null + + messagesFound = null + contactsFound = null + groupsFound = null + otherDiscussionsFound = null + } + + @Composable + fun highlight(content: String): AnnotatedString { + return highlight(content = AnnotatedString(content)) + } + + @Composable + fun highlight(content: AnnotatedString) : AnnotatedString { + return AnnotatedString.Builder(content).apply { + filterRegexes?.let { + StringUtils2.computeHighlightRanges(content.toString(), it).forEach { range -> + addStyle( + SpanStyle( + background = colorResource(id = R.color.searchHighlightColor), + color = colorResource(id = R.color.black) + ), + range.first, + range.second + ) + } + } + }.toAnnotatedString() + } + + @Composable + fun truncateMessageBody(body: String): AnnotatedString { + filterRegexes?.let { + val ranges = StringUtils2.computeHighlightRanges(body, it) + if (ranges.isNotEmpty()) { + val pos = body.lastIndexOf("\n", ranges.first().first) + .coerceAtLeast(body.lastIndexOf("\r", ranges.first().first)) + 1 + + if (pos > 0) { + return ("…" + body.substring(pos)).formatSingleLineMarkdown() + } + } + } + return body.formatSingleLineMarkdown() + } + + inner class SearchTask(val bytesOwnedIdentity: ByteArray, val text: String) { + private var cancelled = false + + init { + App.runThread(this::run) + } + + fun run() { + filterRegexes = filter + ?.trim() + ?.split("\\s+".toRegex()) + ?.filter { it.isNotEmpty() } + ?.map { Regex.fromLiteral(StringUtils.unAccent(it)) } + + val contacts = AppDatabase.getInstance().contactDao() + .getAllForOwnedIdentitySync(bytesOwnedIdentity) + .filter { contact -> + filterRegexes?.all { it.containsMatchIn(contact.fullSearchDisplayName) } == true + } + if (cancelled) { + return + } + contactsFound = contacts + + val groups: MutableList = ArrayList() + val otherDiscussions: MutableList = ArrayList() + AppDatabase.getInstance().discussionDao() + .getAllForGlobalSearch(bytesOwnedIdentity) + .filter { !it.discussion.isNormalOrReadOnly || it.discussion.discussionType != Discussion.TYPE_CONTACT } // filter out normal contact discussions + .map { SearchableDiscussion(it) } + .forEach { searchableDiscussion -> + if (filterRegexes?.all { it.containsMatchIn(searchableDiscussion.patternMatchingField) } == true) { + if (searchableDiscussion.isGroupDiscussion) { + groups.add(searchableDiscussion) + } else { + otherDiscussions.add(searchableDiscussion) + } + } + } + if (cancelled) { + return + } + groupsFound = groups + otherDiscussionsFound = otherDiscussions + + val tokenizedQuery = GlobalSearchTokenizer.tokenize(text).fullTextSearchEscape() + val messages = AppDatabase.getInstance().messageDao() + .globalSearch(bytesOwnedIdentity, tokenizedQuery, MESSAGE_SEARCH_LIMIT) + if (cancelled) { + return + } + messagesFound = messages + + val fyles = AppDatabase.getInstance().fyleMessageJoinWithStatusDao() + .globalSearch(bytesOwnedIdentity, tokenizedQuery, ATTACHMENT_SEARCH_LIMIT) + if (cancelled) { + return + } + fylesFound = fyles + + if (!cancelled) { + currentSearchTask = null + } + } + + fun cancel() { + cancelled = true + } + } +} diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/main/search/LinkListItem.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/main/search/LinkListItem.kt new file mode 100644 index 00000000..5b0285ef --- /dev/null +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/main/search/LinkListItem.kt @@ -0,0 +1,134 @@ +/* + * Olvid for Android + * Copyright © 2019-2024 Olvid SAS + * + * This file is part of Olvid for Android. + * + * Olvid is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * Olvid is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Olvid. If not, see . + */ + +package io.olvid.messenger.main.search + +import androidx.compose.foundation.ExperimentalFoundationApi +import androidx.compose.foundation.Image +import androidx.compose.foundation.combinedClickable +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.IntrinsicSize.Min +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.colorResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import coil.compose.rememberAsyncImagePainter +import io.olvid.messenger.App +import io.olvid.messenger.R.color +import io.olvid.messenger.R.drawable +import io.olvid.messenger.databases.dao.FyleMessageJoinWithStatusDao.FyleAndStatus +import io.olvid.messenger.discussion.linkpreview.LinkPreviewViewModel +import io.olvid.messenger.discussion.linkpreview.OpenGraph + + +@OptIn(ExperimentalFoundationApi::class) +@Composable +fun LinkListItem(fyleAndStatus: FyleAndStatus, onClick: () -> Unit, linkPreviewViewModel: LinkPreviewViewModel, globalSearchViewModel: GlobalSearchViewModel) { + val context = LocalContext.current + var opengraph by remember { + mutableStateOf(null) + } + LaunchedEffect(fyleAndStatus.fyle.id) { + linkPreviewViewModel.linkPreviewLoader( + fyleAndStatus.fyle, + fyleAndStatus.fyleMessageJoinWithStatus.fileName, + fyleAndStatus.fyleMessageJoinWithStatus.messageId + ) { + opengraph = it + } + } + opengraph?.let { link -> + Row( + modifier = Modifier + .height(Min) + .fillMaxWidth() + .combinedClickable(onClick = onClick, onLongClick = { + App.openLink( + context, + link.getSafeUri() + ) + }) + .padding(horizontal = 4.dp), + verticalAlignment = Alignment.Top + ) { + Image( + modifier = Modifier + .size(64.dp) + .padding(4.dp), + painter = rememberAsyncImagePainter( + model = link.bitmap + ?: drawable.mime_type_icon_link + ), + contentScale = ContentScale.Crop, + contentDescription = "" + ) + Column( + modifier = Modifier.padding(start = 8.dp, end = 8.dp, bottom = 4.dp) + ) { + link.getSafeUri()?.let { + Text( + text = globalSearchViewModel.highlight(content = it.toString()), + maxLines = 2, + overflow = TextOverflow.Ellipsis + ) + } + link.title?.let { + Text( + text = globalSearchViewModel.highlight(content = it), + fontSize = 12.sp, + fontWeight = FontWeight.Bold, + color = colorResource( + id = color.greyTint + ), + maxLines = 2, + overflow = TextOverflow.Ellipsis + ) + } + link.description?.let { + Text( + text = globalSearchViewModel.highlight(content = it), + fontSize = 12.sp, + color = colorResource( + id = color.greyTint + ), + maxLines = if (link.shouldShowCompleteDescription()) Int.MAX_VALUE else 2, + overflow = TextOverflow.Ellipsis + ) + } + } + } + } +} \ No newline at end of file diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/notifications/AndroidNotificationManager.java b/obv_messenger/app/src/main/java/io/olvid/messenger/notifications/AndroidNotificationManager.java index 18216241..f6be0094 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/notifications/AndroidNotificationManager.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/notifications/AndroidNotificationManager.java @@ -72,7 +72,6 @@ import io.olvid.messenger.AppSingleton; import io.olvid.messenger.R; import io.olvid.messenger.activities.ContactDetailsActivity; -import io.olvid.messenger.owneddetails.OwnedIdentityDetailsActivity; import io.olvid.messenger.customClasses.InitialView; import io.olvid.messenger.customClasses.Markdown; import io.olvid.messenger.customClasses.StringUtils; @@ -86,6 +85,7 @@ import io.olvid.messenger.databases.entity.jsons.JsonExpiration; import io.olvid.messenger.discussion.DiscussionActivity; import io.olvid.messenger.main.MainActivity; +import io.olvid.messenger.owneddetails.OwnedIdentityDetailsActivity; import io.olvid.messenger.settings.SettingsActivity; import io.olvid.messenger.webrtc.WebrtcCallActivity; diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/openid/KeycloakTasks.java b/obv_messenger/app/src/main/java/io/olvid/messenger/openid/KeycloakTasks.java index b398ae2a..57763cb3 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/openid/KeycloakTasks.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/openid/KeycloakTasks.java @@ -77,12 +77,12 @@ import io.olvid.messenger.customClasses.NoExceptionConnectionBuilder; import io.olvid.messenger.openid.jsons.JsonGroupsRequest; import io.olvid.messenger.openid.jsons.JsonGroupsResponse; -import io.olvid.messenger.openid.jsons.KeycloakServerRevocationsAndStuff; -import io.olvid.messenger.openid.jsons.KeycloakUserDetailsAndStuff; import io.olvid.messenger.openid.jsons.JsonMeRequest; import io.olvid.messenger.openid.jsons.JsonMeResponse; import io.olvid.messenger.openid.jsons.JsonSearchRequest; import io.olvid.messenger.openid.jsons.JsonSearchResponse; +import io.olvid.messenger.openid.jsons.KeycloakServerRevocationsAndStuff; +import io.olvid.messenger.openid.jsons.KeycloakUserDetailsAndStuff; public class KeycloakTasks { private static final String ME_PATH = "olvid-rest/me"; diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/plus_button/KeycloakSearchFragment.java b/obv_messenger/app/src/main/java/io/olvid/messenger/plus_button/KeycloakSearchFragment.java index 95982ebd..47152796 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/plus_button/KeycloakSearchFragment.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/plus_button/KeycloakSearchFragment.java @@ -57,7 +57,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import java.util.regex.Matcher; import java.util.regex.Pattern; import io.olvid.engine.engine.types.JsonIdentityDetails; @@ -71,12 +70,14 @@ import io.olvid.messenger.customClasses.SearchHighlightSpan; import io.olvid.messenger.customClasses.SecureAlertDialogBuilder; import io.olvid.messenger.customClasses.StringUtils; +import io.olvid.messenger.customClasses.StringUtils2; import io.olvid.messenger.customClasses.TextChangeListener; import io.olvid.messenger.databases.AppDatabase; import io.olvid.messenger.databases.entity.Contact; import io.olvid.messenger.databases.entity.OwnedIdentity; import io.olvid.messenger.openid.KeycloakManager; import io.olvid.messenger.settings.SettingsActivity; +import kotlin.text.Regex; public class KeycloakSearchFragment extends Fragment implements View.OnClickListener { private AppCompatActivity activity; @@ -357,18 +358,19 @@ public void onBindViewHolder(@NonNull SearchResultViewHolder holder, int positio } private void matchAndHighlight(String text, TextView textView) { + List regexes = new ArrayList<>(patterns.size()); + for (Pattern pattern : patterns) { + regexes.add(new Regex(pattern.toString())); + } + List> ranges = StringUtils2.Companion.computeHighlightRanges(text, regexes); int i = 0; - String unAccented = StringUtils.unAccent(text); Spannable highlightedString = new SpannableString(text); - for (Pattern pattern : patterns) { + for (kotlin.Pair range : ranges) { if (i == highlightedSpans.length) { break; } - Matcher matcher = pattern.matcher(unAccented); - if (matcher.find()) { - highlightedString.setSpan(highlightedSpans[i], StringUtils.unaccentedOffsetToActualOffset(text, matcher.start()), StringUtils.unaccentedOffsetToActualOffset(text, matcher.end()), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); - i++; - } + highlightedString.setSpan(highlightedSpans[i], range.getFirst(), range.getSecond(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + i++; } textView.setText(highlightedString); } diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/services/PeriodicTasksScheduler.java b/obv_messenger/app/src/main/java/io/olvid/messenger/services/PeriodicTasksScheduler.java index 82546cf9..85734ffa 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/services/PeriodicTasksScheduler.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/services/PeriodicTasksScheduler.java @@ -79,6 +79,8 @@ public class PeriodicTasksScheduler { public static final String IMAGE_AND_VIDEO_RESOLUTION_WORK_NAME = "image_resolution"; public static final int IMAGE_AND_VIDEO_RESOLUTION_INTERVAL_IN_HOURS = 2; + public static final String ATTACHMENT_TEXT_EXTRACTOR_WORK_NAME = "attachment_text_extractor"; + public static final int ATTACHMENT_TEXT_EXTRACTOR_INTERVAL_IN_HOURS = 2; public static void schedulePeriodicTasks(Context context) { try { @@ -89,14 +91,15 @@ public static void schedulePeriodicTasks(Context context) { .setInitialDelay(DOWNLOAD_MESSAGES_INTERVAL_IN_SECONDS, TimeUnit.SECONDS) .setConstraints(GetMessagesWorker.getConstraints()) .build(); - workManager.enqueueUniquePeriodicWork(DOWNLOAD_MESSAGES_WORK_NAME, ExistingPeriodicWorkPolicy.REPLACE, downloadMessagesWorkRequest); + workManager.enqueueUniquePeriodicWork(DOWNLOAD_MESSAGES_WORK_NAME, ExistingPeriodicWorkPolicy.UPDATE, downloadMessagesWorkRequest); PeriodicWorkRequest vacuumDbWorkRequest = new PeriodicWorkRequest.Builder(VacuumDbWorker.class, VACUUM_DB_INTERVAL_IN_HOURS, TimeUnit.HOURS) + .setInitialDelay(VACUUM_DB_INTERVAL_IN_HOURS, TimeUnit.HOURS) .setConstraints(VacuumDbWorker.getConstraints()) .build(); - workManager.enqueueUniquePeriodicWork(VACUUM_DB_WORK_NAME, ExistingPeriodicWorkPolicy.KEEP, vacuumDbWorkRequest); + workManager.enqueueUniquePeriodicWork(VACUUM_DB_WORK_NAME, ExistingPeriodicWorkPolicy.UPDATE, vacuumDbWorkRequest); PeriodicWorkRequest folderCleanerWorkRequest = @@ -124,6 +127,13 @@ public static void schedulePeriodicTasks(Context context) { .setConstraints(ImageAndVideoResolutionWorker.getConstraints()) .build(); workManager.enqueueUniquePeriodicWork(IMAGE_AND_VIDEO_RESOLUTION_WORK_NAME, ExistingPeriodicWorkPolicy.KEEP, imageAndVideoResolutionWorkRequest); + + PeriodicWorkRequest attachmentTextExtractorWorkRequest = + new PeriodicWorkRequest.Builder(AttachmentTextExtractorWorker.class, ATTACHMENT_TEXT_EXTRACTOR_INTERVAL_IN_HOURS, TimeUnit.HOURS) + .setInitialDelay(1, TimeUnit.MINUTES) + .setConstraints(AttachmentTextExtractorWorker.getConstraints()) + .build(); + workManager.enqueueUniquePeriodicWork(ATTACHMENT_TEXT_EXTRACTOR_WORK_NAME, ExistingPeriodicWorkPolicy.KEEP, attachmentTextExtractorWorkRequest); } catch (Exception e) { e.printStackTrace(); } @@ -139,6 +149,7 @@ public static void resetAllPeriodicTasksFollowingAnUpdate(Context context) { workManager.cancelUniqueWork(RETENTION_POLICY_WORK_NAME); workManager.cancelUniqueWork(REMOTE_DELETE_AND_EDIT_CLEANUP_WORK_NAME); workManager.cancelUniqueWork(IMAGE_AND_VIDEO_RESOLUTION_WORK_NAME); + workManager.cancelUniqueWork(ATTACHMENT_TEXT_EXTRACTOR_WORK_NAME); schedulePeriodicTasks(context); } catch (Exception e) { @@ -210,8 +221,8 @@ private static Constraints getConstraints() { public Result doWork() { try { logPeriodicTaskRun(getApplicationContext(), getClass()); - AppDatabase.getInstance().rawDao().executeRawQuery(new SimpleSQLiteQuery("VACUUM")); AppSingleton.getEngine().vacuumDatabase(); + AppDatabase.getInstance().rawDao().executeRawQuery(new SimpleSQLiteQuery("VACUUM")); } catch (Exception e) { e.printStackTrace(); return Result.failure(); @@ -440,5 +451,39 @@ public Result doWork() { } } + public static class AttachmentTextExtractorWorker extends Worker { + public AttachmentTextExtractorWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) { + super(context, workerParams); + } + + private static Constraints getConstraints() { + Constraints.Builder builder = new Constraints.Builder() + .setRequiredNetworkType(NetworkType.NOT_REQUIRED) + .setRequiresBatteryNotLow(true); + return builder.build(); + } + + @NonNull + @Override + public Result doWork() { + try { + logPeriodicTaskRun(getApplicationContext(), getClass()); + + AppDatabase db = AppDatabase.getInstance(); + for (FyleMessageJoinWithStatusDao.FyleAndStatus fyleAndStatus : db.fyleMessageJoinWithStatusDao().getCompleteFyleAndStatusForTextExtraction()) { + try { + fyleAndStatus.fyleMessageJoinWithStatus.computeTextContentForFullTextSearch(db, fyleAndStatus.fyle); + } catch (IOException ex) { + ex.printStackTrace(); + } + } + } catch (Exception e) { + e.printStackTrace(); + return Result.failure(); + } + return Result.success(); + } + + } } diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/services/UnifiedForegroundService.java b/obv_messenger/app/src/main/java/io/olvid/messenger/services/UnifiedForegroundService.java index d8ed75ea..f407a543 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/services/UnifiedForegroundService.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/services/UnifiedForegroundService.java @@ -31,7 +31,6 @@ import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ServiceInfo; -import android.location.Criteria; import android.location.Location; import android.location.LocationManager; import android.os.Binder; @@ -58,7 +57,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.Objects; import java.util.Set; import java.util.Timer; import java.util.TimerTask; diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/settings/AppIconSetting.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/settings/AppIconSetting.kt new file mode 100644 index 00000000..3e36ca50 --- /dev/null +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/settings/AppIconSetting.kt @@ -0,0 +1,273 @@ +/* + * Olvid for Android + * Copyright © 2019-2024 Olvid SAS + * + * This file is part of Olvid for Android. + * + * Olvid is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * Olvid is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Olvid. If not, see . + */ + +package io.olvid.messenger.settings + +import android.content.ComponentName +import android.content.Context +import android.content.pm.PackageManager +import android.content.pm.ShortcutManager +import android.graphics.drawable.AdaptiveIconDrawable +import android.os.Build +import androidx.annotation.DrawableRes +import androidx.annotation.StringRes +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.border +import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.ExperimentalLayoutApi +import androidx.compose.foundation.layout.FlowRow +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.layout.widthIn +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.AlertDialog +import androidx.compose.material.Text +import androidx.compose.material.TextButton +import androidx.compose.material.ripple.rememberRipple +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.asImageBitmap +import androidx.compose.ui.graphics.painter.BitmapPainter +import androidx.compose.ui.graphics.painter.ColorPainter +import androidx.compose.ui.graphics.painter.Painter +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.colorResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.core.content.res.ResourcesCompat +import androidx.core.graphics.drawable.toBitmap +import com.google.accompanist.themeadapter.appcompat.AppCompatTheme +import io.olvid.messenger.App +import io.olvid.messenger.R + +data class AppIcon(val name: String, @DrawableRes val icon: Int, @StringRes val label: Int = R.string.app_name) + +val appIcons = listOf( + AppIcon(".main.MainActivityDefault", R.mipmap.ic_launcher), + AppIcon(".main.MainActivityWhite", R.mipmap.ic_launcher_white), + AppIcon(".main.MainActivityBlack", R.mipmap.ic_launcher_black), + AppIcon(".main.MainActivityRainbow", R.mipmap.ic_launcher_rainbow), + AppIcon(".main.MainActivityBlueHollow", R.mipmap.ic_launcher_blue_hollow), + AppIcon(".main.MainActivityLightBlue", R.mipmap.ic_launcher_gradient_light_blue), + AppIcon(".main.MainActivityPurple", R.mipmap.ic_launcher_gradient_purple), + AppIcon(".main.MainActivityGhost", R.mipmap.ic_launcher_ghost, R.string.app_name_ghost), + AppIcon(".main.MainActivityBubbles", R.mipmap.ic_launcher_bubbles, R.string.app_name_bubbles), + AppIcon(".main.MainActivityGem", R.mipmap.ic_launcher_gem, R.string.app_name_gem), + AppIcon(".main.MainActivityRosace", R.mipmap.ic_launcher_rosace, R.string.app_name_rosace), + AppIcon(".main.MainActivityWeather", R.mipmap.ic_launcher_weather, R.string.app_name_weather), +) + +@OptIn(ExperimentalLayoutApi::class) +@Composable +fun AppIconSettingScreen(isCurrentIcon: (appIcon: AppIcon) -> Boolean) { + val context = LocalContext.current + val currentIcon = appIcons.find { isCurrentIcon(it) } ?: appIcons.first() + var selectedAppIcon by remember { + mutableStateOf(currentIcon) + } + var showShortcutWarning by remember { + mutableStateOf(false) + } + + Column { + Column( + modifier = Modifier + .widthIn(max = 600.dp) + .padding(8.dp) + .clip(RoundedCornerShape(16.dp)) + .background(color = colorResource(id = R.color.greySubtleOverlay)) + .padding(6.dp) + ) { + FlowRow( + verticalArrangement = Arrangement.spacedBy(4.dp), + horizontalArrangement = Arrangement.spacedBy(4.dp) + ) { + appIcons.forEach { appIcon -> + Column( + modifier = Modifier + .clip(RoundedCornerShape(16.dp)) + .clickable(interactionSource = remember { + MutableInteractionSource() + }, indication = rememberRipple()) { + selectedAppIcon = appIcon + } + .then( + if (appIcon == selectedAppIcon) + Modifier + .border( + width = 2.dp, + color = colorResource(id = R.color.olvid_gradient_light), + shape = RoundedCornerShape(16.dp) + ) + .padding(8.dp) + else Modifier.padding(8.dp) + ), horizontalAlignment = Alignment.CenterHorizontally + ) { + Image( + modifier = Modifier + .size(64.dp) + .clip(RoundedCornerShape(12.dp)), + painter = adaptiveIconPainterResource(id = appIcon.icon), + contentDescription = stringResource(id = appIcon.label) + ) + Spacer(modifier = Modifier.height(4.dp)) + Text(modifier = Modifier.width(64.dp), + text = stringResource(id = appIcon.label), + textAlign = TextAlign.Center, + fontSize = 13.sp, + maxLines = 2, + overflow = TextOverflow.Ellipsis, + color = colorResource(id = R.color.almostBlack), + fontWeight = FontWeight.Medium) + } + } + } + TextButton( + modifier = Modifier.align(Alignment.End), + enabled = selectedAppIcon != currentIcon, + onClick = { + if (hasPinnedShortcuts()) { + showShortcutWarning = true + } else { + context.setIcon(selectedAppIcon) + } + }) { + Text(text = stringResource(id = R.string.pref_app_icon_apply)) + } + } + } + + if (showShortcutWarning) { + AlertDialog(onDismissRequest = { showShortcutWarning = false }, + title = { + Text(text = stringResource(id = R.string.pref_app_icon_shortcut_warning_title)) + }, text = { + Text(text = stringResource(id = R.string.pref_app_icon_shortcut_warning_text)) + }, + confirmButton = { + TextButton(onClick = { context.setIcon(selectedAppIcon) }) { + Text(text = stringResource(id = R.string.button_label_proceed)) + } + }, + dismissButton = { + TextButton(onClick = { showShortcutWarning = false }) { + Text(text = stringResource(id = R.string.button_label_cancel)) + } + }) + } +} + +fun hasPinnedShortcuts(): Boolean = + if (Build.VERSION.SDK_INT > 26) { + ((App.getContext() + .getSystemService(Context.SHORTCUT_SERVICE) as? ShortcutManager)?.pinnedShortcuts?.size + ?: 0) > 0 + } else { + false + } + + +@Composable +@Preview +private fun AppIconSettingScreenPreview() { + AppCompatTheme { + AppIconSettingScreen { + it == appIcons[0] + } + } +} + +fun getCurrentIcon(): AppIcon? { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) { + return null + } + return appIcons.firstOrNull { + when (App.getContext().packageManager.getComponentEnabledSetting( + ComponentName( + App.getContext(), + "io.olvid.messenger${it.name}" + ) + )) { + PackageManager.COMPONENT_ENABLED_STATE_ENABLED -> true + PackageManager.COMPONENT_ENABLED_STATE_DEFAULT -> it.name == ".main.MainActivity" + else -> false + } + } ?: run { + App.getContext().setIcon(appIcons[0]) + appIcons[0] + } +} + +fun Context.setIcon(appIcon: AppIcon) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + packageManager.setComponentEnabledSetting( + ComponentName( + this, + "io.olvid.messenger${appIcon.name}" + ), + PackageManager.COMPONENT_ENABLED_STATE_ENABLED, + PackageManager.DONT_KILL_APP + ) + + App.currentIcon?.let { + packageManager.setComponentEnabledSetting( + ComponentName( + this, + "io.olvid.messenger${it.name}" + ), + PackageManager.COMPONENT_ENABLED_STATE_DISABLED, + PackageManager.DONT_KILL_APP + ) + } + App.currentIcon = appIcon + } +} + +@Composable +fun adaptiveIconPainterResource(@DrawableRes id: Int): Painter { + val res = LocalContext.current.resources + val theme = LocalContext.current.theme + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + val adaptiveIcon = ResourcesCompat.getDrawable(res, id, theme) as? AdaptiveIconDrawable + if (adaptiveIcon != null) { + return BitmapPainter(adaptiveIcon.toBitmap().asImageBitmap()) + } + } + return ColorPainter(color = Color.Transparent) +} diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/settings/AppIconSettingsPreferenceFragment.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/settings/AppIconSettingsPreferenceFragment.kt new file mode 100644 index 00000000..af114c30 --- /dev/null +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/settings/AppIconSettingsPreferenceFragment.kt @@ -0,0 +1,41 @@ +/* + * Olvid for Android + * Copyright © 2019-2024 Olvid SAS + * + * This file is part of Olvid for Android. + * + * Olvid is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * Olvid is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Olvid. If not, see . + */ +package io.olvid.messenger.settings + +import android.os.Bundle +import androidx.fragment.app.FragmentActivity +import androidx.preference.PreferenceFragmentCompat +import com.google.accompanist.themeadapter.appcompat.AppCompatTheme +import io.olvid.messenger.App +import io.olvid.messenger.R +import io.olvid.messenger.customClasses.ComposeViewPreference + +class AppIconSettingsPreferenceFragment : PreferenceFragmentCompat() { + private lateinit var activity: FragmentActivity + override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { + setPreferencesFromResource(R.xml.fragment_preferences_app_icon, rootKey) + activity = requireActivity() + val screen = preferenceScreen + screen.findPreference(SettingsActivity.PREF_KEY_APP_ICON)?.setContent { + AppCompatTheme { + AppIconSettingScreen(isCurrentIcon = { it == App.currentIcon }) + } + } + } +} diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/settings/CustomizationPreferenceFragment.java b/obv_messenger/app/src/main/java/io/olvid/messenger/settings/CustomizationPreferenceFragment.java index c075b571..fb733c89 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/settings/CustomizationPreferenceFragment.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/settings/CustomizationPreferenceFragment.java @@ -41,6 +41,7 @@ import io.olvid.messenger.App; import io.olvid.messenger.R; +import io.olvid.messenger.customClasses.ImageViewPreference; public class CustomizationPreferenceFragment extends PreferenceFragmentCompat { FragmentActivity activity; @@ -54,6 +55,20 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { return; } + { + final ImageViewPreference appIconPreference = screen.findPreference(SettingsActivity.PREF_KEY_APP_ICON); + if (appIconPreference != null) { + if (Build.VERSION.SDK_INT >= 26) { + if (App.currentIcon != null) { + appIconPreference.setImageResource(App.currentIcon.getIcon()); + appIconPreference.removeElevation(); + } + } else { + screen.removePreference(appIconPreference); + } + } + } + { final ListPreference languagePreference = screen.findPreference(SettingsActivity.PREF_KEY_APP_LANGUAGE); if (languagePreference != null) { diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/settings/ManageCloudBackupsDialogFragment.java b/obv_messenger/app/src/main/java/io/olvid/messenger/settings/ManageCloudBackupsDialogFragment.java index f55f2875..ad0d536e 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/settings/ManageCloudBackupsDialogFragment.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/settings/ManageCloudBackupsDialogFragment.java @@ -52,8 +52,8 @@ import io.olvid.messenger.App; import io.olvid.messenger.R; import io.olvid.messenger.customClasses.EmptyRecyclerView; -import io.olvid.messenger.customClasses.LoadAwareAdapter; import io.olvid.messenger.customClasses.ItemDecorationSimpleDivider; +import io.olvid.messenger.customClasses.LoadAwareAdapter; import io.olvid.messenger.customClasses.SecureAlertDialogBuilder; import io.olvid.messenger.customClasses.StringUtils; import io.olvid.messenger.fragments.dialog.CloudProviderSignInDialogFragment; diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/settings/OtherPreferenceFragment.java b/obv_messenger/app/src/main/java/io/olvid/messenger/settings/OtherPreferenceFragment.java index 5b81b804..d1dd35fe 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/settings/OtherPreferenceFragment.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/settings/OtherPreferenceFragment.java @@ -37,18 +37,25 @@ import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; +import net.zetetic.database.sqlcipher.SQLiteDatabase; + +import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; +import java.sql.Statement; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; import io.olvid.engine.Logger; import io.olvid.engine.datatypes.Constants; +import io.olvid.engine.datatypes.Session; import io.olvid.messenger.App; import io.olvid.messenger.AppSingleton; import io.olvid.messenger.BuildConfig; import io.olvid.messenger.R; +import io.olvid.messenger.customClasses.DatabaseKey; +import io.olvid.messenger.customClasses.Markdown; import io.olvid.messenger.customClasses.SecureAlertDialogBuilder; import io.olvid.messenger.customClasses.StringUtils; import io.olvid.messenger.databases.AppDatabase; @@ -183,7 +190,7 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { exportAppDbPreference.setOnPreferenceClickListener((Preference preference) -> { AlertDialog dialog = new SecureAlertDialogBuilder(activity, R.style.CustomAlertDialog) .setTitle(R.string.dialog_title_export_app_databases) - .setMessage(R.string.dialog_message_export_app_databases) + .setMessage(Markdown.formatMarkdown(getString(R.string.dialog_message_export_app_databases))) .setNegativeButton(R.string.button_label_cancel, null) .setPositiveButton(R.string.button_label_export, (DialogInterface dialogInterface, int which) -> { App.prepareForStartActivityForResult(this); @@ -213,43 +220,62 @@ private void onExportAppDbFileSelected(Uri uri) { if (!StringUtils.validateUri(uri)) { return; } - try (OutputStream os = activity.getContentResolver().openOutputStream(uri)) { try (ZipOutputStream zipOutputStream = new ZipOutputStream(os)) { + File plaintextDbFile = new File(App.absolutePathFromRelative("plaintext.db")); + if (plaintextDbFile.exists()) { + //noinspection ResultOfMethodCallIgnored + plaintextDbFile.delete(); + } + { + String engineDbKey = DatabaseKey.get(DatabaseKey.ENGINE_DATABASE_SECRET); + if (engineDbKey != null) { + try (Session session = Session.getUpgradeTablesSession(App.absolutePathFromRelative(Constants.ENGINE_DB_FILENAME), engineDbKey)) { + try (Statement statement = session.createStatement()) { + statement.execute("ATTACH DATABASE '" + plaintextDbFile.getPath() + "' AS plaintext KEY ''"); + statement.execute("SELECT sqlcipher_export('plaintext');"); + statement.execute("DETACH DATABASE plaintext;"); + } + } catch (Exception e) { + Logger.e("Unable to decrypt engine database", e); + } + } ZipEntry engineDb = new ZipEntry(Constants.ENGINE_DB_FILENAME); zipOutputStream.putNextEntry(engineDb); - try (FileInputStream fis = new FileInputStream(App.absolutePathFromRelative(Constants.ENGINE_DB_FILENAME))) { + try (FileInputStream fis = new FileInputStream(plaintextDbFile.getPath())) { byte[] buffer = new byte[262_144]; int c; while ((c = fis.read(buffer)) != -1) { zipOutputStream.write(buffer, 0, c); } } + //noinspection ResultOfMethodCallIgnored + plaintextDbFile.delete(); } { - ZipEntry appDb = new ZipEntry(AppDatabase.DB_FILE_NAME); - zipOutputStream.putNextEntry(appDb); - try (FileInputStream fis = new FileInputStream(App.absolutePathFromRelative(AppDatabase.DB_FILE_NAME))) { - byte[] buffer = new byte[262_144]; - int c; - while ((c = fis.read(buffer)) != -1) { - zipOutputStream.write(buffer, 0, c); + String appDbKey = DatabaseKey.get(DatabaseKey.APP_DATABASE_SECRET); + if (appDbKey != null) { + try (SQLiteDatabase db = SQLiteDatabase.openDatabase(App.absolutePathFromRelative(AppDatabase.DB_FILE_NAME), appDbKey, null, SQLiteDatabase.OPEN_READWRITE | SQLiteDatabase.CREATE_IF_NECESSARY, null)) { + db.rawExecSQL("ATTACH DATABASE '" + plaintextDbFile.getPath() + "' AS plaintext KEY '';"); + db.rawExecSQL("SELECT sqlcipher_export('plaintext');"); + db.rawExecSQL("DETACH DATABASE plaintext;"); + } catch (Exception ex) { + Logger.e("Unable to decrypt app database", ex); } } - } - - { - ZipEntry appWal = new ZipEntry(AppDatabase.DB_FILE_NAME + "-wal"); - zipOutputStream.putNextEntry(appWal); - try (FileInputStream fis = new FileInputStream(App.absolutePathFromRelative(AppDatabase.DB_FILE_NAME + "-wal"))) { + ZipEntry appDb = new ZipEntry(AppDatabase.DB_FILE_NAME); + zipOutputStream.putNextEntry(appDb); + try (FileInputStream fis = new FileInputStream(plaintextDbFile.getPath())) { byte[] buffer = new byte[262_144]; int c; while ((c = fis.read(buffer)) != -1) { zipOutputStream.write(buffer, 0, c); } } + //noinspection ResultOfMethodCallIgnored + plaintextDbFile.delete(); } App.toast(R.string.toast_message_success_exporting_db, Toast.LENGTH_SHORT); diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/settings/SettingsActivity.java b/obv_messenger/app/src/main/java/io/olvid/messenger/settings/SettingsActivity.java index 64ad1bcd..aabd52d5 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/settings/SettingsActivity.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/settings/SettingsActivity.java @@ -59,7 +59,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import java.util.Locale; import java.util.UUID; import javax.crypto.SecretKeyFactory; @@ -155,6 +154,8 @@ public class SettingsActivity extends LockableActivity implements PreferenceFrag static final String PREF_KEY_FONT_SCALE = "pref_key_font_scale"; static final String PREF_KEY_FONT_SCALE_DEFAULT = "1.0"; + static final String PREF_KEY_APP_ICON = "pref_key_app_icon"; + static final String PREF_KEY_SCREEN_SCALE = "pref_key_screen_scale"; static final String PREF_KEY_SCREEN_SCALE_DEFAULT = "1.0"; @@ -178,6 +179,8 @@ public class SettingsActivity extends LockableActivity implements PreferenceFrag // PRIVACY + + static final String PREF_KEY_LAST_READ_RECEIPT_PROMPT_ANSWER_TIMESTAMP = "pref_key_last_read_receipt_prompt_answer_timestamp"; static final String PREF_KEY_READ_RECEIPT = "pref_key_send_read_receipt"; static final boolean PREF_KEY_READ_RECEIPT_DEFAULT = false; @@ -260,6 +263,9 @@ public String getStringValue() { static final String PREF_KEY_KEEP_LOCK_SERVICE_OPEN = "pref_key_keep_lock_service_open"; static final boolean PREF_KEY_KEEP_LOCK_SERVICE_OPEN_DEFAULT = true; + static final String PREF_KEY_KEEP_LOCK_SCREEN_NEUTRAL = "pref_key_keep_lock_screen_neutral"; + static final boolean PREF_KEY_KEEP_LOCK_SCREEN_NEUTRAL_DEFAULT = false; + static final String PREF_KEY_PIN_IS_A_PASSWORD = "pref_key_pin_is_a_password"; static final boolean PREF_KEY_PIN_IS_A_PASSWORD_DEFAULT = false; @@ -472,7 +478,7 @@ public String getString() { // static final long PREF_KEY_LOCATION_DEFAULT_SHARE_INTERVAL_DEFAULT = 60_000L; static final String PREF_KEY_LOCATION_DEFAULT_SHARE_QUALITY = "pref_key_location_default_share_quality"; - static final LocationShareQuality PREF_KEY_LOCATION_DEFAULT_SHARE_QUALITY_DEFAULT = LocationShareQuality.QUALITY_PRECISE; + static final LocationShareQuality PREF_KEY_LOCATION_DEFAULT_SHARE_QUALITY_DEFAULT = LocationShareQuality.QUALITY_BALANCED; static final String PREF_KEY_LOCATION_HIDE_ERROR_NOTIFICATIONS = "pref_key_location_hide_error_notifications"; static final boolean PREF_KEY_LOCATION_HIDE_ERROR_NOTIFICATIONS_DEFAULT = false; @@ -915,8 +921,18 @@ public static void setLinkPreviewOutbound(boolean defaultLinkPreviewOutbound) { editor.apply(); } + public static long getLastReadReceiptPromptAnswerTimestamp() { + return PreferenceManager.getDefaultSharedPreferences(App.getContext()).getLong(PREF_KEY_LAST_READ_RECEIPT_PROMPT_ANSWER_TIMESTAMP, 0); + } + + public static void setLastReadReceiptPromptAnswerTimestamp(long timestampOrMinusOne) { + SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(App.getContext()).edit(); + editor.putLong(PREF_KEY_LAST_READ_RECEIPT_PROMPT_ANSWER_TIMESTAMP, timestampOrMinusOne); + editor.apply(); + } + public static boolean getDefaultSendReadReceipt() { - return PreferenceManager.getDefaultSharedPreferences(App.getContext()).getBoolean(SettingsActivity.PREF_KEY_READ_RECEIPT, SettingsActivity.PREF_KEY_READ_RECEIPT_DEFAULT); + return PreferenceManager.getDefaultSharedPreferences(App.getContext()).getBoolean(PREF_KEY_READ_RECEIPT, PREF_KEY_READ_RECEIPT_DEFAULT); } public static void setDefaultSendReadReceipt(boolean defaultSendReadReceipt) { @@ -1554,6 +1570,10 @@ public static void setKeepLockServiceOpen(boolean keepOpen) { editor.apply(); } + public static boolean lockScreenNeutral() { + return PreferenceManager.getDefaultSharedPreferences(App.getContext()).getBoolean(PREF_KEY_KEEP_LOCK_SCREEN_NEUTRAL, PREF_KEY_KEEP_LOCK_SCREEN_NEUTRAL_DEFAULT); + } + public static void setUseAutomaticBackup(boolean useAutomaticBackup) { SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(App.getContext()).edit(); editor.putBoolean(PREF_KEY_ENABLE_AUTOMATIC_BACKUP, useAutomaticBackup); diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/settings/StorageExplorer.java b/obv_messenger/app/src/main/java/io/olvid/messenger/settings/StorageExplorer.java index 3af7088a..4f97e70c 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/settings/StorageExplorer.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/settings/StorageExplorer.java @@ -54,8 +54,8 @@ import io.olvid.messenger.App; import io.olvid.messenger.R; -import io.olvid.messenger.customClasses.LockableActivity; import io.olvid.messenger.customClasses.ItemDecorationSimpleDivider; +import io.olvid.messenger.customClasses.LockableActivity; import io.olvid.messenger.customClasses.StringUtils; @RequiresApi(api = Build.VERSION_CODES.N) diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/troubleshooting/CheckState.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/troubleshooting/CheckState.kt index 7f04f34a..15e1c279 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/troubleshooting/CheckState.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/troubleshooting/CheckState.kt @@ -101,7 +101,7 @@ internal fun LifecycleCheckerEffect( fun ComponentActivity.getBatteryOptimizationsState() = if (VERSION.SDK_INT >= VERSION_CODES.M) { - (getSystemService(ComponentActivity.POWER_SERVICE) as? PowerManager)?.isIgnoringBatteryOptimizations( + (getSystemService(Context.POWER_SERVICE) as? PowerManager)?.isIgnoringBatteryOptimizations( packageName ) == true } else { @@ -110,14 +110,14 @@ fun ComponentActivity.getBatteryOptimizationsState() = fun ComponentActivity.getAlarmState() = if (VERSION.SDK_INT >= VERSION_CODES.S) { - (getSystemService(ComponentActivity.ALARM_SERVICE) as? AlarmManager)?.canScheduleExactAlarms() == true + (getSystemService(Context.ALARM_SERVICE) as? AlarmManager)?.canScheduleExactAlarms() == true } else { true } fun ComponentActivity.getBackgroundState() = if (VERSION.SDK_INT >= VERSION_CODES.P) { - (getSystemService(ComponentActivity.ACTIVITY_SERVICE) as? ActivityManager)?.isBackgroundRestricted == false + (getSystemService(Context.ACTIVITY_SERVICE) as? ActivityManager)?.isBackgroundRestricted == false } else { true } diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/viewModels/FilteredContactListViewModel.java b/obv_messenger/app/src/main/java/io/olvid/messenger/viewModels/FilteredContactListViewModel.java index 88572769..600b8c81 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/viewModels/FilteredContactListViewModel.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/viewModels/FilteredContactListViewModel.java @@ -63,7 +63,7 @@ public void setFilter(String filter) { String[] parts = filter.trim().split("\\s+"); filterPatterns = new ArrayList<>(parts.length); for (String part: parts) { - if (part.length() > 0) { + if (!part.isEmpty()) { filterPatterns.add(Pattern.compile(Pattern.quote(StringUtils.unAccent(part)))); } } diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/WebrtcCallService.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/WebrtcCallService.kt index f9091d78..5ec86cd5 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/WebrtcCallService.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/WebrtcCallService.kt @@ -1245,18 +1245,20 @@ class WebrtcCallService : Service() { if (this.callIdentifier != callIdentifier) { return@execute } - hangUpCallInternal() + hangUpCallInternal(true) } } fun hangUpCall() { - executor.execute { hangUpCallInternal() } + executor.execute { hangUpCallInternal(true) } } - private fun hangUpCallInternal() { - // notify peer that you hung up (it's not just a connection loss) - sendHangedUpMessage(callParticipants.values) - if (_state != CALL_ENDED && selectedAudioOutput != MUTED) { // do not play if state is already call ended + private fun hangUpCallInternal(notifyPeers: Boolean) { + if (notifyPeers) { + // notify peer that you hung up (it's not just a connection loss) + sendHangedUpMessage(callParticipants.values) + } + if (_state == CALL_IN_PROGRESS && selectedAudioOutput != MUTED) { // do not play if state is already call ended soundPool?.play(disconnectSound, 1f, 1f, 0, 0, 1f) } createLogEntry(CallLogItem.STATUS_MISSED) @@ -1371,7 +1373,7 @@ class WebrtcCallService : Service() { return@execute } this.bytesGroupOwnerAndUidOrIdentifier = bytesGroupOwnerAndUidOrIdentifier - turnUserName = turnUsername + this.turnUserName = turnUsername this.turnPassword = turnPassword incomingParticipantCount = participantCount val discussion: Discussion? @@ -1518,7 +1520,7 @@ class WebrtcCallService : Service() { setState(FAILED) // also send a hang up message to notify peer - hangUpCallInternal() + hangUpCallInternal(true) } else if (isCaller) { val wasConnected = callParticipant.peerState == CONNECTED || callParticipant.peerState == RECONNECTING @@ -1959,8 +1961,8 @@ class WebrtcCallService : Service() { // create the log entry --> this will only create one if one was not already created createLogEntry(CallLogItem.STATUS_FAILED) stopThisService() - } else if (state == State.RINGING && !isCaller) { - createRecipientRingingTimeout() + } else if (state == State.RINGING) { + createRingingTimeout() } } @@ -2062,8 +2064,12 @@ class WebrtcCallService : Service() { intent?.let { // restart the ongoing foreground service to set the correct foreground service type screenShareActive = true - showOngoingForeground() - createScreenCapturer(it) + executor.execute { + showOngoingForeground() + Handler(Looper.getMainLooper()).post { + createScreenCapturer(it) + } + } } ?: { screenShareActive = false } @@ -2393,14 +2399,17 @@ class WebrtcCallService : Service() { } } - private fun createRecipientRingingTimeout() { + private fun createRingingTimeout() { if (timeoutTimerTask != null) { timeoutTimerTask!!.cancel() timeoutTimerTask = null } timeoutTimerTask = object : TimerTask() { override fun run() { - executor.execute { hangUpCallInternal() } + executor.execute { + // only notify peers if you are the caller + hangUpCallInternal(isCaller) + } } } try { @@ -4025,8 +4034,7 @@ ${jsonIceCandidate.sdpMLineIndex} -> ${jsonIceCandidate.sdp}""" const val VIDEO_SHARING_DATA_MESSAGE_TYPE = 6 const val SCREEN_SHARING_DATA_MESSAGE_TYPE = 7 const val CALL_TIMEOUT_MILLIS: Long = 30000 - const val RINGING_TIMEOUT_MILLIS: Long = 60000 - const val CALL_CONNECTION_TIMEOUT_MILLIS: Long = 15000 + const val RINGING_TIMEOUT_MILLIS: Long = 30000 const val PEER_CALL_ENDED_WAIT_MILLIS: Long = 3000 // HashMap containing ICE candidates received while outside a call: callIdentifier -> (bytesContactIdentity -> candidate) diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/WebrtcPeerConnectionHolder.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/WebrtcPeerConnectionHolder.kt index a0b487ec..6975bc0d 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/WebrtcPeerConnectionHolder.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/WebrtcPeerConnectionHolder.kt @@ -387,8 +387,8 @@ class WebrtcPeerConnectionHolder( localVideoTrack?.setEnabled(false) } - var videoSender: RtpSender? = null - var screenSender: RtpSender? = null + private var videoSender: RtpSender? = null + private var screenSender: RtpSender? = null // returns true if a track was actually added fun enableVideoTrack() : Boolean { diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/components/CallControls.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/components/CallControls.kt index 107811f4..fa0dbbb5 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/components/CallControls.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/components/CallControls.kt @@ -28,7 +28,6 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size -import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyRow import androidx.compose.foundation.lazy.items import androidx.compose.foundation.shape.CircleShape diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/components/CallScreen.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/components/CallScreen.kt index f7b0df24..ac52c0e5 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/components/CallScreen.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/components/CallScreen.kt @@ -1290,8 +1290,8 @@ private fun VideoCallContent( FlowRow( modifier = Modifier .padding(4.dp), - horizontalArrangement = Arrangement.spacedBy(4.dp), - verticalArrangement = Arrangement.spacedBy(4.dp), + horizontalArrangement = Arrangement.SpaceBetween, + verticalArrangement = Arrangement.SpaceBetween, maxItemsInEachRow = if (maxWidth > maxHeight) 2 else 1 ) { Card( @@ -1315,8 +1315,11 @@ private fun VideoCallContent( ) { val remoteVideoTrack = webrtcCallService.getCallParticipant(participants.first().bytesContactIdentity)?.peerConnectionHolder?.remoteVideoTrack + val remoteScreenTrack = + webrtcCallService.getCallParticipant(participants.first().bytesContactIdentity)?.peerConnectionHolder?.remoteScreenTrack CallParticipant( videoTrack = remoteVideoTrack, + screenTrack = remoteScreenTrack, callParticipant = participants.first(), zoomable = true, audioLevel = webrtcCallService.getAudioLevel(participants.first().bytesContactIdentity), @@ -1344,8 +1347,11 @@ private fun VideoCallContent( ) { val remoteVideoTrack = webrtcCallService.getCallParticipant(participants[1].bytesContactIdentity)?.peerConnectionHolder?.remoteVideoTrack + val remoteScreenTrack = + webrtcCallService.getCallParticipant(participants[1].bytesContactIdentity)?.peerConnectionHolder?.remoteScreenTrack CallParticipant( videoTrack = remoteVideoTrack, + screenTrack = remoteScreenTrack, callParticipant = participants[1], zoomable = true, audioLevel = webrtcCallService.getAudioLevel(participants[1].bytesContactIdentity), @@ -1867,7 +1873,7 @@ private fun formatDuration(duration: Int): String { Locale.ENGLISH, "%d:%02d:%02d", hours, - duration / 60, + (duration / 60) % 60, duration % 60 ) } diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/components/CustomEglRenderer.java b/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/components/CustomEglRenderer.java index 6fa738b8..151c3813 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/components/CustomEglRenderer.java +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/components/CustomEglRenderer.java @@ -514,17 +514,21 @@ private void coerceZoomAndOffset() { scaleY = Math.min(1f/zoom, 1); gapRatioX = 0; gapRatioY = Math.max(0, .5f-.5f*zoom); - float maxOffsetX = (1 - minZoom/zoom)*lastEglWidth/2; + float maxOffsetX = (zoom/minZoom - 1)*lastEglWidth/2; if (offsetX > maxOffsetX) { offsetX = maxOffsetX; } if (offsetX < -maxOffsetX) { offsetX = -maxOffsetX; } - offsetY = 0; + float maxOffsetY = Math.max(0, (zoom -1)*lastEglHeight/2); + if (offsetY > maxOffsetY) { offsetY = maxOffsetY; } + if (offsetY < -maxOffsetY) { offsetY = -maxOffsetY; } } else { scaleX = Math.min(1f/zoom, 1); scaleY = lastFrameRatio / layoutAspectRatio / zoom; gapRatioX = Math.max(0, .5f-.5f*zoom); gapRatioY = 0; - offsetX = 0; - float maxOffsetY = (1 - minZoom/zoom)*lastEglHeight/2; + float maxOffsetX = Math.max(0, (zoom -1)*lastEglWidth/2); + if (offsetX > maxOffsetX) { offsetX = maxOffsetX; } + if (offsetX < -maxOffsetX) { offsetX = -maxOffsetX; } + float maxOffsetY = (zoom/minZoom - 1)*lastEglHeight/2; if (offsetY > maxOffsetY) { offsetY = maxOffsetY; } if (offsetY < -maxOffsetY) { offsetY = -maxOffsetY; } } diff --git a/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/components/PictureInPicture.kt b/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/components/PictureInPicture.kt index cd02158f..fcdab0ce 100644 --- a/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/components/PictureInPicture.kt +++ b/obv_messenger/app/src/main/java/io/olvid/messenger/webrtc/components/PictureInPicture.kt @@ -26,7 +26,6 @@ import android.content.ContextWrapper import android.content.pm.PackageManager import android.os.Build import android.util.Rational -import androidx.compose.ui.res.stringResource import io.olvid.messenger.R @Suppress("DEPRECATION") diff --git a/obv_messenger/app/src/main/jniLibs/arm64-v8a/libcrypto_1_1.so b/obv_messenger/app/src/main/jniLibs/arm64-v8a/libcrypto_1_1.so new file mode 100755 index 0000000000000000000000000000000000000000..db0e6d49ecc16d1ba63cb947a53f377d00a34244 GIT binary patch literal 2362696 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≪d~tQH+Zb}{?$FKtI7P{sCe3QjQ3aA`Mv_N|AY&A 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 z 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

Tfal+*7Td33yR)Qt)}-weo5BPZTE$KSXiz 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 z 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≈haVCXyStlxZd=!Uwi$iSewx9|=LZ@3 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≫ofB%H(>`ZmgFP1>NbqJD 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

E4Vm@Nyi`}^({z6@y4KO~#W@O$MFz?ymZ3pw! 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 j+u`J}Vn$Bt@XUNLe4&yJ)o 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 z�%Rb@Ch3UAxYqS7!7@^vS2X?=Hz0x!vST@oZYO`U|bS__)WEM{Pax!h?EN^{E{r zNA6~_PG+-Ds(kik}Kgy9`}23)>^5oifEChG2_por-OzvX>~+UTbWbIUe@; zscX2)p7mL|cd|*u2lwqDmk>FwVm{_Np2z)Wd*t(w{|EnQ%`XGb`tRYt6PJH7r1_;r zzrnL(^dnp0eREGcHR?NL`VU7M;9vE*_AA`~MW0%eSs%AFz~}YHjn%jD`x$Vwmb-1M zkc)x=BO)I3hvZ@-?>v^?lDuR$UuNcp4I~~bzjm6>IE=kGnf%w)i-;}Y0B=d6ZWea$ zeDqPl)zU#p(F(@QVqa6gXYg#9IWO5dNzoj^yj>K7w|%48 z7c=`yjqW^%AIG?kUF`H7!q>d?uvh!7ragETouK`)0p$NcC+QE-X$>+UnUxOsl;5#! z*1}5%t|*`QJ=&_6$+Z2w-n+r}&E;3N4+qLn*lvGWi<2E2FjVJl|g-fvkrSE9M@JhLy<-hDoz zk79Skrp!4Dhobpn+FE&P(#y%wdyW~amG|?j1S3K`>50C;oysSVk8%aJ{>#9~Tj-F~ zulJ1Pt-COi1kB1um2DzF<74!e^*=Q_#LPujEKKFx**C3xVi~cNKX-L(k>uzk##6sl zW-fYq^c%o~ofOSXHID8FH$}ewm5NIlDaPKHDJ#bx(|Wq7pK-JiePNYzpGj|H@9!u_ zhg^BWt2TWZcR;k@HtxP823Ly?RKM(>l2~4saQL&WAo)%VwMKllMS8sR{eb&71k=x{yw6r|muTv3I&3IoPo*4aMfz z&G~G_77vwJ?-j*1jU@71c3mQ6W%ioB0sCQ*Ct*&AakJu#h;)nMkcrqPW%vY6y+nM1 zBX*e^Uh$$^E?*T~zRvT=bZ+Pb_D&9Km+rq;-h$RZ#S*?(i|?Q9#N-A<-=jZ2F*)H) zK71|ZwL`32t`D*}dyQPk|8FIK>@#Sfc(MGFIpjo5y6*W&7Dd=hlue#yePCvyfen*FRS8gi0SL$^L&QS zG<&xC?j9YFoi&@j4}&lHpS$T>e&mEMsiW1-ActiFzLxr%fWIZ5l6wM1ucU4n^~$iz z!pJb|eeyxqn1_7+z(MS=Gh@a_=h$NoWz0GBBcE3^`cKBJ#2!q0=v;67bKu`I;0meS$O{f&CUrSl>^j4lXb*;^-pznD47M|jhQb+q4 zFLSxaeE(49E4FR7-7~LIG6x;B7Ov-8zOtWh>88xRo_V`G73rsG!uSqNo?#s2t6n)E z6nybR`b8hUxEBA7?;Q4yRi;?Lm6wEq_hTCmf`>QYmyKthvUh8#H~z@G!2x|8YuMSRXie9kcMC76cKIi26PpeLp^WCq{#2Sce)pKOC1^p%%(xA2G zE1bCJT+`BR)E_95f2_TTt*jF}$f3(bZcQCd`@_W5Rc`qKDN*la?(SgDf9JVu4CxWa z9;_pO?_BwHtgCypo@!mK#%|KN+LvxT?E|zaTSAV{teZ~Td2PyMvmK!9d@|SciS_(J>y+VJ|-0qAt8+g+85FaIF5G z3Y=CPIKJlOSZ~C++f4S4V!p-!ZI1tO^5J6c4Y%&Ga`@?Y_?6|H$LD zv7-@@eKGZ`(AzD%r@+k%v3nJVx*B^pYjh;s*e6o9IP-tJSMfKE*Uo&|@-+7iYHO>_ ze59M?Cs_GNyfc=#N}idI#P6<=clqt!W2m$30@2Dn_Z=Fm9UEKsCmkoxX+3n4&FSnF z?;2NV-t9jD-KIU#+Hr9$x(iMFi`pAng|DhM4nJ$$_Rjr37lTvTw&3wdyeSLB8Lp*Y zmt0i4;D;6w-I=h;>_axQm4omZ@oeXwW|xofgnR_q$Js6)LAfG#aqch+-p4LEV(v*Y zH+=4`Da@@w^Ma3%orvZoyHLL^dy_paY#hO7ma(oWHXs~);;VT2?^ng}J8O}6`!iw% zPVS+3U%s6~$$M{}F!kTuizAECLGmAlpqqC?L+v%XWv3Rq;g(M3Exn-msEw6-;W5u8 z%a&`hY4tPh?I9bon`O|4-<$=zl;L<;?AaE`_|)@tYmc<)io7m)lb2C_k+n{e$}5pJ!wDIeXtGUyrruKNfnK`oSef>Z_i+d)#wd z%)DmsDdgN_Pv)jIMDRKNXTkG7JO^$|m`6T2M&AcEH(ov1AF+6e9b0&Pj`N)#1>5S( zY*TJCqvvYx!2WJb`z+RuIf8rX85+2Clw?&rzl*ub=Mp^}eI(gvu=UYV-9Ha&2)OWCad^eOlqT6s)=Ii*8gchPB{Jo_Ep)?H`hzR{m-8~LD;n>&C* zd)rywv*9=nUpn(!)ZzT}9=hb{%gj%GJ2Ka3!rJkDdCnYX)33W-33UDR?~--V)w(mG zd0HHIC3NAggswHQbQN7h+ZTPA&3VL;o&sj+XotQF-Si!7>EZ^y*NrvyI(etXEi zvuPZCByslW16+#Xq&j$X_V(9y3KWiO9u16m0QvSwg|M32jM6O7R zapdD){pd#@Pr>%C_;^~d#_Qjm`^ekREb3W&xI4UG-ZvCf`_e(F&m`3udw0@LEoYQ2 zVtnl%cEl61ecffs%O8ZFr*}s71($tkAG@wue4`wiGjW!aI=8>m(j`AUjceA)Z-BEK2Y5)A=~v9VLAH@fiAu=PATX*=yOXe21-T(<5(vD=qRVK3WB~aD4UH z8uq%6zU5v1bSB?hy%kS4@*X>_?X})9Zz&#I0v^8rhl*#U8%Lh}4LH0F95#YO)vKbO zpZjf#eZuEoo*8pN@!?C*Lyh25<#~e#JfptK!KLi6h1j|BV|VKPcl0w8J3u&_p}mj` z%P01aDUS}J>TG4qUF2hZ4(@Vw@kX3dj+iA^U(C+D?YV-?SU zcR0Ipc0OwxzJZRiQ-*NH<0@#WePF@q;I4tS^glY8mta?Y$L80(9Gm|}n_lKz;x+eJ zyRq$D+~YblJN`B0g`Ua9T`O4H@pVdpp^eRC<44a=)2tnv$&HI_a50Ea9Q%;XquQ?R zf=7HFyS6_X15fOE0ohB+;S^7b#trpubGKs++3JS1QLrNK zh2$;02CVKr%c0qn7`PlC_%xmz-sTL0U~7XX+jnyFcHz1D(>!IXUf525=fb=6J@YAK zulDILiT5nQ33(Z$BJ{b^%E555O0)R#~u%GiVnA+4;9O>@~-r*o8+kDpGl^4 zZ-*P-`HFEMCkNOwo(GJQlUN;DXY-G2?ozvsWb>|I%)XJyOOnmA@3%X&zkUAZU5I@| zBdxER%lj#9`LjKJ^tSq1dPcvw_v_rgvUpp39lM|Qd$o7rxV^k{N1q8MKllyV_#Fv; zwLWV7k`Lh4SF#1#;1;|Ix663XbGnT;-QDS~W=Wr zxWcRU*fobM;45_SmLkql`NQ)}-1@YI^F3yjs{ z>4@W*2a2&8y9jUa`)um~nrT-s1ht=pH*CD+|A9{=l43JBZ&%E(#`G zfqzWA#x5^6-*=iEoyh+Ze#;Md^?;RcvYUJy{2T5y<>ITuX2D4ZKZx|E5q)9s4cX z-@HgTW9(F;|L%rxVau=W_5p0NRQOGGJk-%XgUWwtmk&ipW2*)RuwSOCaxR{Ez|kYu@t|2n@G!`&XzOt{&f$X?kc z(wpbjJK&sL-PGt_a*@nBamJQ3;4#2U9xxSP7b`F6qTkb34=V>3e4wASCrrLD<=_2~ z^I6EMl}|=)8273z=2-{{|A^cUeTc(9EuKJY%AgW4(L!04)uEw&t~x7%7;vg7V!Ue{wMj)%x^9D z+fUsgoK=Z1j+dB(eBNs2U$Ame#K#$&-TW*XhWU3&ESCz2w6 zAZ}F8oxqZ#x44hs2y=dy`v}JW-8%Q)OSFPdvuH0FckE%s0M4~PWdO@@;=k^8iUEAm zh)ywm9?NENpZT%wFLv&=$t1R>_a2DBiqKlD=_dBF%sp@jqqfRx`B07`6}!UAFW2m ziU*aSe?NLldo;?uPvN(CK)=PG+P}<(_B!`)^kvbId{$tPU%kk?=ws>ZhOW=1XL{o8 z*l+vif;I{_9oQOG__^z$fl-oX<}CI9xs}_Y@%LSgY%uMGV!*&SMcuWS?`0UVj;iVjW6_Bf)+r_v!KHJ!S z6=Rf>W2v$kJRfbsVA-`x_&i1psYs;SgKg9n~YpdxONq*z;wGMLMgLo}VF$(CT zd%0EjVetI!4RP(-ez9k18yni%QI4&%ADtoFqm;QeiWgW{HD_`X%)LEeJ8H@!=T{_; zlJQu7_Eq)0^o(B>duOopR0}*Q`R4Ae)A2IJ#xz#Wcx%7!4d#N z34Eiw|HG0o!)KK_I%Ekk^#`$kpL^d}UGkPub06;lZ$Rf|(Wh|#20W4FGp-bml|Uo$ z*jn}g6w7>rJ{@`7!866BwGL=~)Y_C!Jki|mXME2HW3^(Af=g`#m)_%0XTsI?te#?7 zs?*thxQ}!|579w5naX*nEc7V*_igqX+Qa`G6aVe|Y_h{Tv+KX!SzGp0I%_+jv$njO zt+Te*bkf$-t8-uEvQFB{7wBx<%+A_&@4RiVPTG39cMh|sleXu258cP_O1|2suP3?l zarc{TJC{u-o*m*{WuN%0yO(7rus;&mhu!`TvFRV#`IPTugo5v2uZ>x1%&S5V=Um14 z-xOnb0ly`a#$Jp+ zHZ7PPXWSgfGj1NU*qB$4Hts8>cAv6E%86ymPEJ6!E=LY6KOi&UE*nqI9kIp88t!4Y z?h3Zx>EnW@f%dzY&w6s5+%Uaj!{h-b!RYQ+Vt@eBu#&72s|Y_x8}<*{|2#N7Aj*8_xdre9_Oeajg6U=S~Xg3Hgw%+&@u*-JHT4 z8_*kyL7>MY2KKe??7RDymL7L(QA>Zcy_aID#&Fq~vG#@RiCwl{YFaWQuZj0T=)beJ zFJ^C6bJu!^4X`EYrcg}^xRr*r*nK&)ZCWxY&)sLE z>94nMFI*;gW8{Inj?K#J7)oEt%^tsaP+n(xU|=VGsD1G*g)IrhcjAX6JQMKHFR|zV zzTbF0SzS8U6J2BQ>9*OOeR1jd5bG3v)aHJ-7Ph>N?Wo^c^A#7Dt(^)C20nq-s!Qq9 zK#uS`BB?WtNUOK+;cQbrtk}Cli)xdf+P9ZQqX$?k*Sly}g^%&)|2i9=3B5d(PM%CL z^Dk!J#msv)-<{$0_v*_PuW{^*27FQv$wl}9Pn0sgF*z@i-Rsgwfstq0=kLG=dVYEy z?bsQc)%V!W?~vDhE!x*rU&5tiqzFGo`pk}hn0Yl_$s3Rjxv0Uizh3ZVHh;?gXAj=5 zsd~qt&jQM5$6iTtw4QsGt7H?sJgQQ;T*lEy>a!Q*MZCQK;kupd-9kI#mbjMMUKSmb zZjEbsp@%WDMdRYn5VHv^q`xotuRQh!{MhLiPGM-hzW6E_KL)m(7sD;=Jc}~E|J-EbwBC88H zFX&A>yjb@^f;aR_#E%TLdi{sJ*w=by;jCXE4H+2P4&HuXcS4ZlX;k}utbCHXo?UGamz zdQc?u5u-+Pb997-x6b#B*O_=bV>>ze$jNhTXs9;x9Q$J5H(;L_T@CJgON^|?hqQk8 zjy%tAw{EJlb(46-z28+~juprLQg8BT<02<+>{GLURea5%!QMz?rN8F=uH{eu{h5TC z4_Kf7F^%*8jpTB7Gd6WU^6tm`F7RyHq^|=w5 zQchvbQX{hIg|F7sY`CW86>wA1CA6vPd)I8r-E?hBR$W{q9XS=e4u5IQKXKzkY>S)8 zb%={7ukjm#b?F(rbhOW-wz5fNw@}|~djoAxKKx>h-m9hfh5_Fbd5myx<(gI#2jWx9 zUith^A9q*Aoz7d)-Id3EUCg^Hbzdp(5h8EG8_@er(3Jt{>wEl`uh-gY)P&&Q>`bGN zY=+%DuO%m?aV&U42hBpBvbymOVsy_wQ%@7Gi04_nQ>S0F6&r|i9kgp(??=?L`sr)d zxtTiU)H!bV)i_vVBt?%SM_wQIx}aamI17^P#IJfKM+PDP`S7P@&!m|BaL(WUpB$(a zyj_edFGN=irdDl0_y%U5l; zjF{*RjA_n;xn={;65zSOo(G4fh-D$~uKaq*nda!un^As-xyNqj&b;zht<7ijliP-j zeZQo1(+AWK5pVaOD5w`KS_1`(zl%R{NgO(c7+X=D#Rs+c{0@%w?yXt#kj=Q}(Yw4U zmGMWX1;=p4Trm0@rv-K1+yk9d=HF}mFULML{Kn17^=@+M4}-O4D0q4{=6Q(vu{2q1 z)9fW+i^Z+VmVnn~td*Z#X5$uoX+AU1W80XAL44OecD2h+lYF`3VZe13tg_SY6^@sl zku7(gpM_)MDa_CG3*dX^0p2(hgS;p<{6plkig$Lm<#FEE0X_cnJLWqi^bTGVZrK7e z$nRJV>?vkHR{ZZf?3I**uM(bRq5lTN@R{}%%sp>nyIa78{3bUas(c5ydXBq0H&U+s z@OH}?`#H)L50pLj8X87ANb_^_S|hs2@twqr?!4d&g{z%s^xGM|zrx(RZ3z9;)cZe_ zPbR;#3-@hupHYA@t>0;pi}_vZ;+Kx}enQMx&K{-qqbg{h{o5EO#Uaf1P<8KdBW5mluhqt#ifQI=U)d#jp3|`g3*%I zwtJn8e`$*k2S&9OOoFA3wM21j!vN-@aV?d9^Q>+I6SV6BOz!ctKE&psysWW&XLNx( z2VlKDUM=JOkvVC+)xQHjj43~-Ae(m=gP#)W-DJ|-ikC0p`FlK9d-q)1i35{mV6PCTmtE_>>+*=lQ;r>+6ir|~IM+N^#>~@+A1lvRae3ix7h{<+ zB_6=$l0Fc=zrtLqkRic@j>lf+EIau-CD_VY*lAX-WoGnp>|As0K_{`VV8$>DCghlV zz}Jy$*no|Oj6AUz-7~X%NMsN)sXW`I+@(-LoTii*bQ5~^IdV`G-*od)zN6EC>6J^Z z{1ol;=xzk<*Bs#6U4J_D*TR>-v+I@+PyG~_-8{0ExWl)Zo96A%$yz_!&s`Y_ydPrs z7 z%sS;U*Z!0a-vPh-&uwMhkpcPOZW$0gOg)GVw2yeYXu0r3OAm&ii8W{L<^<0>i0N;B z5BTkMM)54+UbMe?*_n4TH8KAggLGa%KDs}e`&&m}SvuE?zI}%=?(1tPcGCvu)!ymeOjLf~SZRN*Ud)k^;5;A7SNr)>eucgYAzrKM%JXg%wU>=t4 zOp4BBj0SX|>JT^U9Y-DQ*DLQt@fF3r9b8*{-VYnM{n%M=bFOFBwD$J6oH)9lbBuoC z%S+MM;+L7_IcBc4VloF<1H_A(*R)=&ImlORJ+1wP=<_Vx_{vnZ&G5Dw{K;ZCvAKMa_#O@xu@IT z5kGf~U)>*29188tfo89^KKrE3g-M4LfIs;w%M`0|;aho?UOq|8VFq)w-koXX=)X-a zm)2eKbGG~+a3;JG>)4(HF15yLttfzI%7fUCemwejWR`W=V1Hznw_oLh=->6s;Zx=H z(4O^mwS0^58s}%mQO27*3tIn`bxr-@vqsdP2ifug)8Et|`;_Ix!~8re?PIj;`Ytpb zSX5t%u6kufhu&cJ)E-wFD?!1~>j zem(KTLm49>v{3w!3U7SoO+73)3(;Y}1kSh8jYyES1bDGQo%wSI59PlQyy?szTVt0u zl{+&m-&psdF32zxpJ>U$w~$=!hCig24;EzYX52~>PsdxgYA-;#>?bDf+rHmvy1B-5 zzF! V&oxnE1qHTRQ8Fl?Q>0pj)-ph&PBEtqviF6};~X7$uLE4Gk@-p@Zac8Fqs$ z18vGAg9q?ImJT&mFE(+K8O^5M67G;K{GI%o@;+`GC!f71=GSh1ZbbmS)!T?XMXthn z_@$JXqk(Mt!HLy3Hoy8NPpR_XiFW~i1GHG~&CjcXueh@$63?Ak%e&_1#dDT>IsN6H zEUJ%>w|>X>F!C0!D6HuPZuCy>*m-K5dx^eZqwL*3wbi?^e!9-F$kuXjs5SQ<@K}o; z6&_2GkyY3tZ;=B;Tt&L$G~T9zvjRRZaqrfZ;O!W4Y0Zyyo%w0s{TTBT?j$SRx7V^l zbMYipj`(*Y@)j}TTJV#_+|@STNUD5=`R6d^Vr)9?$-NEySI6LO2Dxw7&~F2<;^!-e zc>6(cD7|U6=M0RW`y#}r*!g)CJ>gGy)F5s)s>X;&juh<_J1|8LXPs)aWTiuUES4Uk{d3^w$I!k+wC_a6 zYTcENm2P(H*c@w(I!)(BXgr8d9QNdI0>WCR{3>iv z*$;w2dOy$CclTIe32{%5?t{Ju__V*-9!#@_lus1AlbHv+*WyPuv>qrv*Ixa?3(F_o z#T@Q~4^+R@+!tq$n=!POx!1<*FQFR`y?t)FYEM!9y5*XE_bvA`{xM`mxp}g&f5V)m z$HymwM{Ei`)83VM^A*a(pGUwKb%s}QAIWy^b{U0Va*KQuf9=$GKe?Ze^qQo0TX*DE z=J1Wp{mM>L-^wey1^lV*4{Vq=kRvObPh$zU zO~}nb^oQ0NKl+3Htl{OoMO)5g#2dZU*VY|5mEX0;f7N_9k2SXX6upC8Slh^PXhLUH zoNOK0gl!T#xuKJ)w}>m@N_k9npdJKKnuF=XI5WXpPk z&)5#F;9u)}ej;#)p4icW2JLxjedqqflhCxn1>bZ_f0=fX37gLo(f*Tc0C&9xVB03x zTrpcGM%lGc?Uj}?7P{FB|Bd0hxopU_Wno6+4%O86PFuR-|`RfKU0dG zt+vkkX`Qz}`|R9)Tdrm@MztLi86tZf9&xwN0?x-ffK&AZR|#?;xD06i)Dr7l$|}A! z53MhnM*;rTFKt{ou(cOUoqw8MR{pm;mMUGoo-q~U7wt6mx34qLB8^mRUTcubo&M|0 zSnb*Q#Z&*AW6X4qfnW4x#>m$g9mFfnb@u3r&f1ZAG8X;v31GwTN2$%5hqRZO%=Svg#J_lOB>tVMZ3b(o^tic~ zJGXyC^&P$uUuuuaz1RJkInJ5As20v*yZ3qJuk+61fcP@UwmYO#cFOi$q5WiElsmF? zzQDXsS@9UowH(o2VCvgfM6%1{(2F`_**Bo`El;Jlu6eVM(Oc!&ab4`P6tnDc$|_jD zi}3N@EHHXk6ZiG0ubfelnSZ?EblqjtTZ$i{ewX!8-gZjB%NlwVjO4k z3Z%DMbOzks>qPGnBS4Pl4vySI+Xs<%*@y#}5AZ1u|ZaRSloT>x4b9E)%(jU zC+>Q#>RUw({{H?)YM$|(yraHb%_;6O>ldB>$5U$#w)`u7jjf+O=eHjd7dTRLU;W4X z>1%oFfsYH4(<2Q@Mr1MgQ@`=(UH{3#`nbmU{@))6tdyyrt?N&%VI3Q3%>^9U{XYb} z;Nb~ywI|!(w+)`snbR_Cy94mbQqxa5gNNUOhc1>aam2*M<<~@dQXjlqeeG(C^KO*M zrdZ-7mPIV!>jzDL{>VPj=Qiukb>UVq0N~lY1fP2;es*@D;{Dv)L0L6;H{qPpmYZ%a*iG4tdD^2bF#>GnUq zW!vW1p-)2(&a4G=Hf!p%J`u%Nbha+jmsS=s*Xe%nPFmovv;i*UNc_V4yYVYUmpY!~ z6W=_>=PwJhrpXtz?q*Gn{u=l{z+V&`jt-C?;+6?(|G({fPIvvWecc1!nmK>jLxw~Q zY(lTSelOgP?ThUAWrIyIw)+iZyIb#Qt&Y_@r`Kuv(mhu4Z)ee8+QpXb>u#^LdYxc$ z#f#kQ=XzTw8rWi=0;AUK)fWLHI#w~{LBwER0mc$|Q2z_~{~!7f&Gml<|LgQ0oudCs z`2X+xw|G4{x|aXj`LA&tJa)7OFYEw!)!gBtIf?$+p>Zu2K{xjt+tbZ=bkLV_iDYAf z*O6{KdZ3A7VR6KRe}9pQ$3UAgpnWVIu)(9UF*uL2J#%_nx>bSqYde8q4F09y$Sg6o zuV-y>`tsarY?r<6hOG{`b|_9qe7CAS*xFf}E{dVKJ4Wd2C+q?jvazR?8%Kp(_)u{J zy%YLM_xRO}y@Zc)amwxS1*3Sn3Oy~J-bdLO=q!9}dEHa<;tbv;+YZfR&*Yq_hc`_> z!qN%uSe)XSf>rxy>Pxns8&-3@i-C1Iv0A~ZyntJ5Se5hm8N4ZY1?yVM8XnJYPO{-` z4IA5AA2n*8LJsv#*nQNKKT<$l`H?f>jo}UO1h!-q<)&S!c(r?erfz6ISKEzC!Dq&! z=<`qLm)~ms9odA*7JqbRpKVn84s4wVj# zh2lZU#p!oF**b^)#5V7xbo_rvCT=A5~)tG~bbvN`J+x!^g zipH&1bj}z1slVaf7`|XHz|9xa!KJgG7MtVb#%I3G7ek1}{~P$kmkYT2X&@Fe{GY(* z4ED}Vd=3e22i`#>eI7t(b&v=e<*5&$H=cdKmMHXO>UQ@~lYrqF2SIo#AO&r{j%1=UngW ztbKXmIor?btUdE(Uc(#E-RzNE8IR4w{I|r;KX+k9AI)EOMm%yf8=E{nhj%}%JsR8|X%{gEz7ECrR8tGTGaA46mf+bh*0!zDN0PhgSh^5hV z&dj)B>}dTlZtI+nd$a>TcQ@axyPNgSt3&8i&xyob**9T)oN(jdNbx(fx5dlOrH*3{ zI`*5XbC((s#m0{B?L;<9I*02YX4^A(Tkd3j-B1jO|UVO^z>| z9j}-l`9B@pD=YgXi+F~7`jzCW)v~9pT;4|wD>he)Pb%Ny0m|4rh&B-KobV7iJlKGZ zAh7}O!aD~J?l#&F;TVuDS4@8 zd!AKem+9GM^jS?TSif~&$aBD?I@RX>kCj)*okPUPt@9)PE*0s=cqf^1s}vVjytOA| zDZbfV-}G}QeYo+H^;zrW72sUoT z?yCMB{%e3gmGh^*+|R4cezc$6em+cW{VHU-NWAB=$DH`B2mY^sr?Qs?A_lhdAlv_I z*=q5KLGG*k>yUC~s8eU>B`%}hy1{MZuXVsHI>hFj=4x!0z15zd7XqJ7Tz30+*w16k z68LNNcLR|f#Cqk!UH^aZ=indx-p8|I{ge+~cF zQ{Ta_;B7BQ_2eGm>WrMm#sYLsLVE}D{{?dqG*g_{^Pp^4-qTJjO|tvPVdlL&?AIXKFl02h^bh z&i4JeU(b$*@&4c8Rq&&1Dl`004NzTd2$8F-O< zI}U-PG~`~eOW*M>EogV9udmvD)t+n}CI3e2sM=N1?p?me^X@Pi=&ikcDs&D0rS^6!-oR{>Y zC4YSb*8#I+MX*lh&WsWEy&2Qkuc*~KOzpZO_)i|lJoPI-G~JZNGiL=Hy`{dSw?q@^ z<7e`{tEbN}A~Tk-*9`xu%$b|k@mQS{7t^m|@wzkKIoIVWF(Te_@vlFscnCJtIb%B? z{Q;g@dPZ+FPxEoMDvmpWyVNLuLpnoxTx*8bVd;qx>~rWG)GBN@;s!08qcigkrI!tK zob>Vz_K)XovDa+)(UF^+1=d6jbFC9@zg+a*Wz$>u6V2ab{w3I% z;Ys4o@prikO)8q0Rjj z{PrW}Iz72d#KS)641CRH#B&rsk1bO!SR9{UW{a=d&b8Wl|BSgW9E+bBeL^i2bn_+NezJkDJ;@ysK(?h@)f$47Z`KM5*FjhrO- z-3L!=Phc6i5Ph|GvY$`=L#+4U$a<#t^KgeGaw^(SC+AMjUw+t>n?T5l$F;=|^FIKd z=79t8xbUDhs~Ect?Xe@9UvDehv9@~?bCWz5;bTLe;oR3T*@+Q~z7EZ5z}IYYQx%hH zL`LU8JMr8S4{@E*M&8hq3+gX9d2jup5k_8s{I-K%Gx82!rROE}hsNsJP4(}OG4d`s zIi>#ab$VV@f9OUdFX0jYr1!^Dcao8J=zk9l6g z|MmNfNR8JMN%4eQ-XuqB6yJhL@XSCacab;p%BiCIo_5h>* z#j^(JQ2MRVLZ^KJ?fvn!Q!kMpKu!|GtUui$)#j4@btNHx}UUm}`-ln~)U!<{ry_FT+2v z>?GNYDS`WVo)27iA&atIG`92~7k&1gLfMPtO>ICg$j;aE&sx-PX7t$@UE{QCPv6WC z%r3j!T8DfAtwYGi9`T9RxS5w!qMnIpL@L<(LulJPklV(Z3|zu4WApfL0^()i7_;5 z{zLmT>jqt>Gk>EUnjNN1EX`K@6Er*ansmY0>p zG)MM~bd31f9b;H*caz8X zHTJumyVO1#bXi3Ckcl~=+*HoL%=W~Gd8c}~!OYddPlZW9 zx|7*?rWk^r2@dDkf3e0ozm*@WF%nv*1;f|$nv|&T?8Jci?XkYg2Kpy;=XqIv_kj7G zZGU^Z2X@ofC)gnY)}W#2``NtbF87htNt~U?o72@=o5~W5yhNVO?rG%3Q)fO?Jx0w)W-PyKBRujnA~H^!^9= zZ_~0Y8m%b_<$kA|F>(WV^bZN;ra=>n7Tli*Ek0-chX#B7o_^t6Pina7Vk7sroQwEu zW+=B}km~YI_c6xNH8YIdPw@?!@OkvD=eKa*i~KQ%Rz*E|&m_DM4{ldpb6G_1dwdMq zJwCfExGBD8WfgSGIXNxp2j>BOXD0;AZ%;yCDF0Qz6uj%VKR?lY=7%o1oU13VHXs;_ zfzb`W;C%vkn=S_4i;UcBp=~90{^!1afiLjY`!Rp_oQb^!PS|t)Y^IUB*lw%&Jj*=& zo^wq5xU_IQ1%u$8!PpM&nxKzxSHWEY2Zx4oSKfMA^@r-OK*=o8R$AGlRQaYo`2@*!W58yDdbA=i%`O{}bNxb$*Am@m5J3yQgMmX!}3VPbY};){tYofH)hvJh_59fWrMk!R2#GgPgqx zuOM&aws`buKZ9pE!Bq0WQ@a^^|H`?Eii^PESmk_LXS()7$EJ(DxpNam|AO3Dnu$gZ z-9)Dx@FtpxhN4%6O|N&E>z|;}C%ysZo%p5Puf+Wty^DcsKCr9+wiCXjfZz$E&jP?U z1v_1Ez0e6<zq63{lh}7)_`GJ^-Y?pX z^`SSq)tn?YcH$mC_2Q|YK)XbI^zJp!^}D9VdAHv*!!u9ze0T2YX1#4G9$@sIMqDEA z5#OZ1FP5Zp&&%HNkNA>4ht|zEg>rN2hE|HsUqEBsi@hHDuH89c+d*>gisudN6E@<@ z;<53Ec3J*3bR9p&=Q}L=9~x$CKTPc5U_a)Rf(@NwOr8Ya^8(4e^M7zzBp#kXZpiVE z=N^{iz>j@tmA~<(Rq9zQ=Ldb91*lGZq^4@Dv3EarA#a=X)!g?Jpg%IDx_V#hyBWwa zF#^fc%KI;itU!(`XFm`O$0t^Xke>?lx*t8WT;KWe0rNZC{zlKN;JMyQTSOiG_U9*< z&!n%+|LCjeut#$@?YwQ<{fw#cw8m+z6Au<4%ax2dcg_RBviRtpkpKZC;Pb9Z<{Y8 zxc-HVpd%Ms#%2UJ&ddmInx7Heu#Ud#Dc_$FtobA(xNEm}^%mdl!K1@M+vmxbO1eF` zV$k07n!&dR8~TN|Zya%Z@Mkk`4<=q%o9@rvn|>+Z_kpJk9)Do{*xQ4fCfy#)<@pMp z|9t-K!D8W=|K08SE2z7X-0;!_A0J;?1MeHQETs(ePm)Y+ zE$|1-??Lvr*ZRiB2y|9QcWjn$ey5pwO}_L1{=>Wm&gYcE&$Hp>Iq!EuE zWup6X%0>GX)L9Sh*Xud-uhDaOAgbr9GJ-|Wt!7Qw|v{&2Ow(aGiDtG%6?1~)LzfZ9(bVnDt+}Ic%Yz!+G_1D-G?-7rA0GmSRlyt9P zg3G1|V^d6J9Y5IDvMGMRTF-f`y`1r~YzosiNipqV*<~l#zjf?M<(~Fst^WePOr-Bp z`Yxltc=~_Xwhcb_^*?PJ9Ab?`wSY>_ua}i@eXb{E`o6 z-`B=3NkEUuKMCji1Lk+O{mpu0`Yn{pH%Y`d(f_%2xz?)R&W2^?=CUsm17IM z>-Eet_`VCBcQ^X(9_c!C*+%r8)`v|=8No}@dp{eT5xfk&_wx}M!C~mVO_MU{zt<$$ z1RHi{1f^5Ak468zkP$59c^S`tHZvpm^ZBf$>*%kZvi;ZupJW8Tf-kuqx^DE{)?9^7 zs3yh&b$oqKg zg)sI4?-bu@*$a-$$zSY^_1(+<#^&L9B_GM<8e1+k zu4I#U;kJ>@-y)koWv{}KP00$j(&S;BPic}|UO6lx`TTz^o0ag0DKEq(KJg{8ZY2av zxxwD3KsHt)7mpzmzlB##8GtWycrHG?gfj8nrIgFIC$KJ>sMi0==r*g z-~>H?Ap^W2S4*)Yc3L*Y#{J0ACmF%1w(P7$A8tZ^s*#_f($e6B(z}93##r*R^1{0G zRlwYET|tfHvWT(|M_clvdMY>NB*`kfzSNPEI!jIl>-pWm8%iBHsY`#I{(d$>&+iG| zSbDE1KOfOglPy1bc2lV%Cv}#bOv*5y-CSB?%SfFiBQrCCdZs&MLwpZMevBb?>Aj8K zfnUtWZnEWPBXe9eyR>;O`zd#^uX6XPDfRc9Dy_fw)V=ldPA#Y}JylZA{F+xGKTUjI zKz{rgy++g{LpjKh^xXUCQ1OXukUNnn@rP(xca(S0upTr)Pj|gthg&Cay6Vwf@zh7R z@ID_;V)#{b@nZ*D+vs}HM|?ewKEJvP8)WI3_*(2;I@()c5%4uCq^H$Je%?^lpi(v+(r9? ze=x4Np-W=;&_9eT4nJ#L@%;UdC2iu~*O%{qJZaOd<63yv)X2-bhjM@B@kf5{=@nV) zNsau%6BoJD=n{_eb_uT<;GMMk>V!#8-PUK)55Ao~=^wqmm$cc_J@Ue>^S7<@BuD;u z>wVjv^9+c5M!jRV-oLGxy8klefo(0+{|EK&@OBN4nEK$hep450d)Y`1-#29;-znkm zO}UfrzTuaRr0|Hz`MEC}{rH{Cr(5{<3Y_dI>v&v?%>&Z;T%`R*2eo-r=IsUY`x##8z8 zjP(M~{*AJKX1wn*KW9A6OXF!?8c%c4oG!j;tUbRJbH4RF`~5#T-j|zS;d!3lwdZ+$ z~2fD?ZQj3!mrtjX%%xn{b}zcl~*t-^c+sw3(lDr*!Cj=;Zs+#}C-L zSZjs!_3P;CW9aga(ANd%#ZO#1efZS-w@HWgnmT{m>qgJ;OxBLqJr{((k4}Hx;|;&= z>CLAXA0M9!!oxy0=5F#B$(MJ(G57!PnstMX^YgW4UEc=h|NCp!g!9T%7vD7gJkKwD zp66G5p66F|p67Snd7j_6^E|(6&-45W&-47op6B@$oY(n{9FX5;e&=`13gzx)4co)| z#-!T$3>Ay>IlH zw61t?<#2Do_5!1D`*X!ZDnEK8eNr#)xa~hJzNj)AKW(OwzkO5ju*zXZ?{LHzyZs~9 z%{t>+zI%l?d9LHz7ygKK^dpZa{DG%OcvFwZlK#-;`tbXn?g@{3dWJW4=^lP8`-U+7 zY{Fbm_wa6f$h+bvgrlB>gz@;eE8-Kv6YxP-=8q4rzy~E~B|H}&b-5=#VJPLrz2n1) zLyTN^?vIssV&xUKcX#T7m$dhP#xHixu()%8QHU~ ze|0GS>Sg$=m*TJPV}4KYi37h~z-d=-+zq@I^jea13I6JkTW4(>hQE64t>4^sIsWP- z?2$Wey<^*CY?0sJdgr!V@G%SUSC<;T@N@XKtFT*Ug4@4iyUaAYhP_i~@ZAku$AyQa z=I74DZ&djV!y6vUvqI{8Q+?9ko%A)6zLxb`mUJQGjbj}7(RVVAeCeIH&fF${dKq zzs|Zb%cavdQ6?R_lILL~A^Z__!mNRbQ)lwslN`Dpe7f_wfDf_Q%PoKPlB;jb{r|gW z-Ef}Qtn1t0{C|JVns8ouYH;%S^E|)sd7fYKd7fX)qS#rOqYAmsC!tYzB2N$9LW2DZuY6+@4*WU0Fu`m7a0i2jSx?p4-ctzdg5j zXytC!%1iNA%UCOKz+Ww6%v}7{GW^yu%F0+zwFjEpV|h|SjDM-~E1z=SROhpf=^fHO z>pa80+O~eB`^>A(E+|)BxjZ^gqBCncSEbzfgxxpR+?s=E6AnVA5Sgi9a^2??46v}OjY zQm&~NCJ9hT@D{LIY9(M>13_&>trwKxVjBo5gHaT132NJ9EEX+TVr>ba7NNCRAJN)A zB|)u0s@x$#An*5g&Ya|AOoFA)^LgGs=CjY7voC9{z4qE`uf6u#(PvLrbU`bftyUd6 z8{7b`1pogwy-pBQ)S{O~pQhIT7X1$M|NoL+g(khaKChry2a0RiXwuH|CA81W$p8Iu z{M^P7m;AZNd6_hwmod*ASpI>ZbN+Lud0r-!u`q!1GH%~~&gwPYlovTKlNO%GIg-b} zAAMdXEqrHh>%7eN$l0c?iN=)kIX4$;^siVt|HA);^D?Q7j{yZv_yzB)5qQ1$xy0h* z5{G}w`8=OH``_ABt?*v>hcV~jtYqd9@UMJlv$(nCCVEJBZ_o7}$VsaNMP>ha5O zxlCti(xK77|G~2~Y2jn|MBPbTpY#&@EQrN>pO?CQ57E9&+j8RDi?-$5^Rs72o^R<- zE{r-)lZyU7;Ec}GoCR$%SY{m($%}uKVE+ao(dEn01~<<3#u59!1{he3{0}-{^;r@YTF2-WV=^k*wBvEBR$w zaw&$h>)kjbk{Y)7A*~>Fu<=&)d6)U_C!YInOYir601ti0nVygEDYDODIq`iGTvvh@ zeVQYD7f0}20>1L&F4tKe&R{Ku#!DjSueN@!*c=0Z*&9wxu*O|HzVtd%s52+lxJ#{A zTKm5-?$Q}|X$8?V5YD*~oSpa;g45;n-z0Ex;wn6aV+Hs<2yRQkZ8E%9$XUrFe>Q4P z;CFlozhsStj%a=anv2%IExpWl3++~)_eEN7G{@;c#%bbzJWk7@`H?>dh(ln}{c*&#U%{c(c+ z$fiGi^rxTxT*~k6$XG3pjMc@Fu{zf=R-@a~SY7dZYpl-JSl!Zg{<^pHMwI^2dwwPDAye>#F&UeaJQcIlUio0Fxw7Rq-&p0j!G(9vsq;;-MUM(239 z0)jWd}jrgd-?f^Q&VuDPiW%InWGD4 zmT>MVkTc?rvnNmaUfN_YKBuvFXH53S1afK?o;|vevzO+7FaICGKh^%2>~WNZAFg!B z!&hF;SenH6DI_+I<-43szsrAg0x5J%Dk0Swu5wZ{RtBkJi*F?rKR1%r+-STN2j67o zW>@67yoI_S=*aKfl~ufNxX}pVb6aW3AD*qa<4JzquO1$Jzwck=9y>gnIG4^g!RxE?2KvpAqX|BXJg& zp1U+{&3&%Py@o!RcICv`qg(j4uY+%YcFp_sReaBI_nNi8gYUhM&wKl`ZukHCYVwRB z&w&o|uucmHREN>ajI|KmexIg!Z~yto{a1nO6G*#}P9%--`KEA3+FgY_dnhx>_tlsy zef!v-T$DGZU_X144;Y@f9~F@8|eN9pQI?{mM5PU$3*Lw%*;p;I%-vf|uB@ z{6$`mg7xfKe#l=C|v-8~x)vA_9_JGtQKb#phYcMmA|A^x!VG1F!$zcjP$4d1@c zx89vn@SD7A3O4Y*+3ksY37C$#-Epa&0R=nxHXwgM!TYrPZeB{kPTKvP_S8;l;uDF@ z-@0c*|EYIw`1;g)H>78{Cl4GGH+jW%Kin|flTJ|~ZCdH_?eYKL@J!RU$Nhgqm$Con zbUB(4sBM)q?z2s~;*>RA@$UbY?0wuFi>&pUxF-R;OzG+$^`dQ@;xT7S&iK6i8>=e^}GP{G;nxt#k}44Bc87%&4{ zxR;gng)=VAABeNIXK=o64sm3(t{%b~<9yZ^HNaO5Y++#2I{Z1{)B59=z!wI-IPyFP zjA3Bhjs8uXso{3{#jJ_Vm_w}B71u`P7qebhd?~Ht?YK6wgO#&huU{3YIbjgv9on|< zx329NcdOq#UE9%}=kle`KS-Y~rtg-}Zx7LLjhD{%B_pC25P6`<#6FA3Tz&U>IIVzjUSe)=eIp_FYWi`;hCvkBs+PMApJzdil z8D*u6(~YN$vc-M4r+_%lY5Z8nZ>XIV@XaHR+ujtTW(j$Sk)Oo(C1X&WgPjY zx)x8}7?rnz^?N$;0KCM^eOkl+i}S!b zb32Oj!FTdg%%nrupPM~B{lw}%FtMj~hF|e?weMGZF74z#SW*XMgU1NtfbyDGyd z^I|XOZ0Fj22l|B+U+1%#bBV9h+lsHF^Y~|3=ku3xK40hbmu5v$mz91>n_cDEuJfj} zGl6z4qMhfr+^`{`Ut);!=LJh$aro-?j$7(Vi+hN+`^=g<`pwur6?NDopJ(jdf*taC z#-WvR9-sd=^LvnQR+ipS^h2wR_`PaaspQW?DJ@1{go4@i-+U!AZrWItpX`Tz7;Ob?@?y8|r z=)>je?}=G&tlZ=A`J?-N8|P^MWuBuYwiU8u3Gjc4oUZ`pnn+w5EA+krYST zjz9QOEPD>br&)|Gf!OWKQimlf7IxBK*$a4oYQQ(q6I;Mt=8<@D)_C7T?7m3?_JGBy@kEJdEm24BdtDQ~ewPjK}wIEtOS0y$f$y$ASs z9`y~vZu?hvVg>QT+Ql#IRoXs&q0YhU{$^+VLi?TK7wVhh7b*^qp8rIj+uvm)Qycyk zD}Lb+rQ&tcZ^G;5dyNIX&$Zs$->35ZW$MEAKII8weP?=$|Q zimS)@EA|odcqr%M4R@cyd{^JXecb}_L%Zk4@4N5p$wTiyd-A^f`Vfzhj>=>@>}sV5=)5q+G?oOc0xahchM?|kAxuK=Fhcw^lV`(3;- zVma?V!$#Y)pD|pp?~B0wLIm!MfIGo$#9tkOdmnA}9iNaMcYj>^MdOE71b{n1FrO%X zJIkE_+(uzScUpzmN{e-GB)Ux4*9j|J+Z&%k8I6)ty-@s9SR{-AapV_G(8_DYs1mP0{VVrUQT#-g*vqqFuzSJnPWA+bs) z&73{D7rJV1bXsB%<@7-mpK9b_41iFkG=x?dEv}k$^V1VD%-24K^gWF zl8l_5smg~=+XY=#bpW3oXTk@ZalqyS&LIZteh&Pqr8@+PFYt z?!}7R8z82eo?Rea!j-t^YkQZp-?|!EITm%yL2IIxAoNi~fIXI_UpLgZaLWv1h)2 z*z=-4^B)KOnO1(I^*#A7t2^kwtlny$acSoNRgV|9ZQ6Bk+ol$)e*7M+_kCX6wrkVD zZM!1%(?9b>ge z$S2W??VlLF68WNd<<7c-#G_vSQpfbNX(jn3n$XWVPP(|nFN|0D<=M2E4sB*SXwv{K zW;$pyUH=`lX@C~Q#BZhTbp3bGrU9I0I%qT9qz(J4^k4e_7=5ferMOq4L;Bn-`b5cD z;;@F}kbTmX;?58FCiN{WSc+ZAJfGONXTj1ZYKyLz7*}xf#CX&k!?>X!%=J$!0 z7ZgmKRB!<_y`25RN!MaJ0Lt1%`03_o0* zE#>T?-@rF_v+<4EXN(yC4~zu=P`BYvaJ&7xJ$?PgWeJl#UrFdU`2K`p?#mK}{h(x7 z;?;Kr6Nd)oXS;~a)s=i`UQd5I=4;#6p@cCeUO#~Ej-KuDrny)1z4M-fM%CeIi%)p; z+Boce@urW1WXo2{OTNf0$@a&`29_7_%W$1_ z+frgN7xb-I>80OFXU!V@psQ}`Qv40puon1bU-q?K-o5fuE}i8coyFLd-q3>IO9M6^ zJ%5ui@ig(BKQRC6Zn{K#&l1CVjrg|mPWQ;{S*UyG6T=56Cpc|ej^@Y1R~BNsjKo~? zSbhs@glm2quE!=D&324s%iq*(u3a@Ig`6H|YgI+sZ>7~19bnlG(^^(Fz zK5nC{K|YJ7%A-3Dl_xR$FY?%QeZ-_|QuxV8J5P`{I_TSA($|WItC)7jCgV4rZ_#*) zN#m|<$=5S?HQ@tQPAtvi5u1TxREyrfx-Q_`hHv5%vlYj(ziA8E_ng~zUYs#}+F;{= zXz%5_-_xg{6#IRm!-r9JDcR3w;%j~s-`1&vE&s)X|7uyW?>YG^$geJinD~j|UHH=- z^(6ZTU@xl1esnSA%31F|aZAJ>m^GRe7d|n(vZv*jh@H~36>RNqOzBDNvREUnVrf~< z|F}P}FM?aPiA!9of1>b{5617oN4R`~ZOMjTK5W9l_Gz1q58KW7ua)v%IOQODL;zpwen+S2c)BOXWa}D@A=_r3;{Nuvep16XU*k)`xR;gY5{`L?@I-dOxo0hBc zjRSA6_caSz3g$v=0P@r6Nh&*yY!I@0qqpQtxkMHiJ%WFxe>8NNK<QSK4e>*f6eweshZ+)ZWwK|GM*O22JFCilX*xObI&0rE*! z2f6D@dj;JGcC{ry5W-hOc?Nd3CoYbW;y=zes;mqq<v8w6}0AiHCj=WYcC)h(H>x`&!|Cx?FrTp!a%$9~;j z53twm(9hHZSf{KLT@CJ5-T`egu#-JUpA|#1QvMt4kAeX)5bge#myDqa$vj|op=C*O=7Ur8I9H$%L0ao@6@pW#{MGzZ=a?nXCby%Wy) zz^S|F7U`Z-;Jkr6^PN19*`pl~TmujEkD`_85UpP2PI=jgqw7~6kL7OA$US(i{Hb!H z(T9B7&;2{BbxhxWyI(B*=8I>x?hvi=+h}!+`x}m4>p`E3sj+PIj5GR5_jcL$`8`e< z(ahv8?xOuK{%gDyV=uzr+uWw~1^wW;4>(379KBY~J*{nrF&?&8Z_)dVIv)*EO?7Y*^&1YD8p=8t^ z#*)r-iGEK*qqpIq64u%ozr+5=93Xnwa$rzeuqb|`VbYWJZ#(|VWn2$}H@-`rAA&3P zt9JaM@8X?vxMTBHzO%Pr_MJ_?)!0gOk7j4|u;55C< z9mx~Xsvk6wToo>Tc=mEv&=GvpYq}d(FW!bd0eq(;L%4J9YV_H+uy^)Vn>H^DIy+eO zJ$OO9Bwn!Y{7edq-|9AxsAz=OH1@nn#^^_QCm&Yl_-LgM^;`&CoA~~_7vb-y^=n7- z(dx*2WMEgY=c4CTwi7ub*;s9ki;QpXe4qcyC)!NoS^4e0$TE3T zzS3VDlg@k%z@@R=QNAAuz7E!MhEZNrLR)oJ&)z1un(>paH;naF-I!|wgF_X}nb!09 zp>m#;*M>`SLSrNooSbXE(oWh^S+&7_aJzbJdOGWv+66r;yBj-%x9TdtWo&Z^@P5V` zB6v$o^J?)(Ec5reb3!w)8FYh3MAs^4J?#Z#a(AOSfZR~InR&#T2X?J{{3lnH_j{f1 zgN)`nzBA^U@u_c~VBQs<7&csEcGkxjrv3RM;2+F*dWN>lIiI$&n9DWZo~6wvp_BB; zb&>CtFSUKwocmq$gyrP1=iCMSm;CNDKfL@S@)tADJhN8wm^D{F&HM2te(mMA#RrLD zowv1l!9I5z(*<2^ng+mGG;;;mi-5;hykOn8JDvXCnB&3q%Sb|(no?4Pe}|DU%A{2+ zG0Krwf=#rdj^XC}toHA#I2Ry1%D_YT7IPn_=#$6&($YWrfscKc`3&Cm*8f3)=I-=O zE8e{K@;;Nk6U;V0X0dj&@pYaxcJ@;P@_#e)-?QBLu6Z%~+YHT%@Q>f@pY}GuOl0{w zXwjLB2!Owl6sUFTuJa>f#Fi7!s(c6I&>kD;MC(L%;g%!1qhr*+yDClJTk%95MB7=M zc;v#1lI`CG7w*P@ZmcUDp~%wSRRW5_sU$Q@~%TknP(A)h@qichqR_yUaZQTI`+r^wFLyHcR#RTQ3$E+1iJNlG zJCM7j;X`NJPX3czi2i2M0bSu7;ELWG=uGaEoBZMmd)Hh1(tv$o)hp(Gz$VXV-golM z+mBi@?RI!ZaNFZua_2E{jE2eP3*8%iI+?Os{X+kEds+8toAVhuqqENW&_0jfSk@$( zkD|Yc2KIU)`kTpztSA2NHt7>~_WSCH40O)#Gt_5Y$U(^(BNdt9po8?F=)QNt(SQsv zVLXem(g7Tjdt*=6F5{GT)_JeON6~GJlFuab+Io|A1KMckglqL_;F=%NwHLAOs01!& zS&OGLzQEIIQE*1Dxr6Yp)(F#qEfG2;B2NW#HfJim2@aUqd(pfsU08iyN1t1A3|oTa z*ty*O`CIOyj^c$)(9+~DzDJJ-eG{FZ9gLid(7D{vPxFy0hp%kEMtAm;%I}8HzIzVq zPk49NuiB4aXDkqGdTX~*H@;tf+itG$oPG1yX0Q6`TwAuNp2^*II|xq{(I-8Afuc{7JMvke>AcHa>&>8_m&QVXU9+q{WHOX`wr-be2;%*z|3H zzM9+Yb#wIHwLPd?aFuYcd1o|!lX^u{!C8-8R&7{(${G_sb^C)w72xY^mw9x`Rid{; zj@aWwd{b`H*`l%drCKu3XX!8YT&z4c9+n($&$sU#kMIcPq`x@fpN_sG9vM3%SoBlb zFC2B*<2rgAoYMikIvWkV`%5Tq^7j0ja&*3TK71DBy-{^uD7?j0$+~BMr8_$mM6bx> ze-J%dcdpNW(5PI+x<=(~Tvk&yy6tY}IP2P<`w`mEndvz%o)>Z%#xmiQl`zcQGt>Ub zCA7C3c-<@cDkP#wawW&Si6E3=SDR#$k&~ z3@--WlHR#Z%Aktt=!Y;t>x~GD)$-rRd>ltd1iiSxXjm(9Ex+@ z^kTLPUkexKr*n;v-OiuMZ|5~(dOEqa?(aJ477gYsKQC0gIk)K@$|OQJ(`Lp0cin;7 z->DvKG85vAQN%^5T>-BhTX0@zCFPF3ZPYZwyTj4n2O5itK4(8@>caCvIfbG}?{0*M; z@C5V+gEdq=&zqiiV-p-uafipK*yv8#OB{pdH;}#Ao)qpzOAe>I(zj>g`ze2_<@M~p zVPDaGbVu-49pg#ao88hfLUd}xUl`s)Cp2pB5Pdf1HHjw!7##{$9#tQn&cc z-e=7+=aH^`=C6VV(c@p^Npeo(!Q2C2zPNh6sjCkkKsy>oL3g)i^x$=dVeEj;Hb&fA|=_%5A(SQ9NeQ)Ss4h(|l6xvsrRkYtx zxngvbbm8RCXYKjWio?QP%HW0WXvQ(<$vQ^-pgt3w7oW{NW7sv~U9sT_jDbSNKtW^- zSa^?X?gb3W--urD7`WASx5ni&;BJpg!P=jE>JznR%au*0T>0X>_t~0`VYcEgIQ;vV zbLu%)Vatn8Hgyb3&;g71;}H35{x}^h+dF|p_}etBjL0|PX34iCbB!Bg_KzjsvhgV@ zN4_-zuT8t(cLMKG2fU))A0qI68QQH9ybIg>BAv0dyRs#O%yMn^_~<*UbT)^xApUIj zB^`G*vM+1#&S>md#nKxCd9~65V!IiA<8rP0At$UaPm3FySL?lbU_bU;3p4QV@&??s z8k5S$9gT?vIq{SIuDJMuUIY8-ZfEY#O`JL2T{~-Ac13K4ck-SKl7^MOnO*V51;#Kh zHvCDhaXHf@A2u1yGqa55DK2*{{>US5cY8w2^~w$1N`qZ5(=-bFadVuc5j2De?*T6!!muMin-wjPUp%Yczb^ z;8Dqjwd?$v5`CUZ}@5rnMdNcHIxz zFWl-FKUI7ihTKpY7wcP2NB$jIve8b$u7?DZu^#vRZcJ^H{4|c{9ws4@6*h!sBA?qP(5iJe=k4puDqe09m#F zm*U;ddC<9!_7t+J3S26|Q#99}Lkc<{{1~nrlo^VLE*bf*+7e=QWq6EQofAm$xNB1r zjnFRU%?x-Z1KxoKQ@oyWIn}3njJ%t?qQ&N~2a7Uq3^cppn=v;U&7VO7<3r=t;z6#H z&M|m8zIjFXIP^)|=P48Vme7yT*pFV0{+xkdOGfx3e&VAqW7GbbS$7+)PTcC|9HfVH zkTI+gy0MSez2@7DS>1D6!kE=LF2&eV%&lgRix_LxxGjK=b#7~4It3Zk3{N}`uWi+Q z{m$1yUXRiIP5$qK_fV=^-+4Vd%t8uEVARd81JYF$elvu z6FO4ato2LM3Xn~4$ejuL{{E~D@!h;5%{GuhzFcBgB3oW|$d;$a1&adrmNebXxT+q% zpmy55*-h0E*`og@oTN@TP1;1@wBcgiIOQeyOE`LIr@E;}yLL8@RXa1ArqNCfcu%|6 z*Ypbc$9TZAZ~4mSpus)8#y0(iajSRpTt>66?~=3{;NI)uK6d&?cL&#y&$lViyqG== z180FNuU2~GO!gmj1_(!)P%L!cMqf^`^G_!~yuq(|`+=5q!cQ=kAa|Dl!>9u-!-d~4 zSGSO#_uKaM7`cviZ29{%@+UYW(0mcFubN>r-$@ypuf#t?_O+}7-r67X{=jn`kChLw zOK7a@W?XCBXv{drifpg?Zu8h`bc$%Z&ikFz{So8gL&if#ZJ2APFH!fFPU_a0rmHb7 zoA&A8{$(e1JK!C44C#?WFFGXkxb^ntbpj>b}2|x^0?h-?AgQ_s1_$_f4JD z9ZeIp;pCI`U!v}-I;p!en%MiVKm8JQ=a_ZJaBjU<&B=TZ=hk~8ulpdc6Oh+^k=Old zi?uJ%f9`c}TRLW{d4{ocBlA6S+sk^%OZo(5 zs?RQ2p5w_5ReRE#GLZp&$&<;NYBf5{-X%sQvOlc%LwWy0mln>XoM>F*na27! zcJC(Bo>xR4TuonGMW0+r%z-P2IdD1mAIF&Uk>CWLwfLfh@;>Ytp-rmh(NIqlj^yyI zPWV~xl7BzCRw!?5VkCcB82my8`L(~YK5Xlh?wXVMpdCp!*k6sQVQsKOdXClh+JZD0K|{jk)5Lp3_L)^{bOtb=!yV2{~JKY0ICvb+v@t3NIze_f<6V!=aty}n(^ z`%1=N3A}ITJ;#yv)Z(_hV|jl&{iZ(csNarWE5D9B;zxGgZ~cX{Loc=MoU*lf=MN5z zF^mI=uK6oDKV#b1+?n{~0RIl;T)AVe)%xAC)!O=-VUCwmH67P4{a@v^)(|~rfQtbx zCQtHB@3ro@h4-pgda$!S&F#^4$PYScOXbu?6)`zfztaXI`GG79XHd zC4+b#@2cIZ=dbZx;HoXh4p)-L^A)bz3GqA^@mxgyo;=Us`J3d|^KCp&C4VoT7w~)o z`Fr!coaY(j@5A%cJb$13dVZ1TS>#XPc{9(qkiRd_f8qHy^7rF;H_vyHU(W}5zQ

  • 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°W%O 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∾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 FUt_Vr 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

    WxH3QJm-Wy9dr-VM?j&J*e9j5QEfV4l>|ek| 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

    Fa+N-fcHCPKa^0G5##Mc66UNy9-N_skwmmse) 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%0A8}fX+1r47AGL8$jD_(9!BH z$nYPbvw`C@*|^w|)y?J|Ilfo=+Tpb%7pNjGiWL2(`xjgwD6=_o9&odMoJAH*}UiA28|x z(wb|?3INIgf>YxKs0N@Cpkq)~ci^5!!1xkqMamW%O~u90^cx>4X9vQw5T2`QHuKNW z{J>QT)8YZ6A4F$V?;gkoE(NwJuLdjuEPn{iA<|R+kR8L2m~=Psjg_&6K)!TV>1}2fJy5pO zAayG99YZ~E6sPJ))dgbu1$EnHzz%EWbWRd* z$6sOd@MJpp0u=Q(16+%Wu>t7+B2vb-`NzN|z`DOv@!tF%d;zk(Lg?#mEDTZDKTxqg zg){#Oz4t1mFX|8vI1$jZms1@wK#vAJo6q{YHkbkB^8PF2fI%hrnS}t8N4lgIc7i@r zM6p)mC#A_eqEMQLK#u|)FG#>!dMrS#K=iQtBh*v}dNO4o)_IHK02``%*MlBO1KodL z?}8IO8*~Zu0(YADCVBzr*`R0ip>GAf4D=iiIu*78^ke%BSFVBtZbv*t-}tlu+Fmp8 zH*Uur3G5tr@)}i)I;Bq>p#Oe@cr}nU1E65PYQw5|Q2M!`?*%enSj9FT;&F5wIQ5Q`F2zr44jTZErO}sk8HFLeQ00;#i{q3jy=h0?-#lO9H(S z^mygIWS|xxECkVg$v|0eB57r}%uc}dfYGodu)?ATT>BP=SvdOW>|h(P`5+1TkLzX2 zq6-kdcMR}WA(N{NQSk^r@Giuf3Zj0fIvJqX_Mr=AQF@?fD{D?AfL(xakO-@PFL3jF z)N93kTtL$Mq;SQ(c|aLJi-bZLrt3s=G*FFcLz^K9uoMvfY`RI1LOTFQD|IdbWFNqC zRL7ud;QWtZc&J+yT7Y$p2zS>3-&EW#&`UvA{DAs!7bG1JXGpip(N>^EpJGPPXLQL0 z{rG24466Pu0rqdACKQ%s1)vQOmL>TX>j4V^+f@%!2XN9+JdL7ZGe~6AMJSzPy}O5K zanR?24%fnzH!#WrW_eGjw4Z67xos>}l=;5GG z6r-GVCt%!nRNX5didGGJA?Rt!-jw5j+rLK>Ux_6wuny3}TNOi&jzxrDf_VTOjx!ZF zY^(!3aHglixq!`pNvbdcb^-2I{GWzu;DR>M6vCU*1l$U&p3mz5wERdDPqA8NzKpg2 z3|BA9NdqqZmD)lWd%1w^fO9=cO#CVYJ-VYeohs}EJqPr1h5NOD#{iYRw1(q=Y3E?8 zLCBQX414Ljp~laP#`Svz`zQhTULb8MN|z1T1qh=ZXY)m9nTzK5kI<=a1RlQ#Wuh!` zHUTyPmM9ib7vSjMdb(`5q>*fZwd&eQ2JoRS;;DGWB2WjAl9XX9U>jfwZ2RNjKj6$u zJxMhIE&`mX-1#2KGE!@-Mi&^tiK6il2E1k5!U;r>jm;OGD{cjZ33}jbl+JH7+W6w-mi+TVm3OzCkunRETqrIqIl0dil z8Oa+#vzmFiz~TNzDcU2RXjjnVu0nT$o&>tRj}f~U^ojvgII-vq!~&=qgQzRE0p

    3Psq5i0>q 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 Hw?1i+nAQS({$y`Um_UnhcPO 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

    WH+F=}qNnik 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 E1Cmoem;e9( diff --git a/obv_messenger/app/src/main/jniLibs/armeabi-v7a/libcrypto_1_1.so b/obv_messenger/app/src/main/jniLibs/armeabi-v7a/libcrypto_1_1.so new file mode 100755 index 0000000000000000000000000000000000000000..2019ac321574b0d9e245bb295d207b0fc5d1ce3e GIT binary patch literal 2147316 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