From 3eba4685a13a8148a0228bcf0bb62ffb329d6af1 Mon Sep 17 00:00:00 2001 From: Benoit Marty <benoit@matrix.org> Date: Fri, 16 Oct 2020 17:41:20 +0200 Subject: [PATCH] Import change from Element 1.0.9 --- matrix-sdk-android/build.gradle | 45 ++-- .../matrix/android/sdk/InstrumentedTest.kt | 2 +- .../android/sdk/LiveDataTestObserver.java | 2 +- .../android/sdk/MainThreadExecutor.java | 2 +- .../sdk/SingleThreadCoroutineDispatcher.kt | 2 +- .../sdk/account/AccountCreationTest.kt | 2 +- .../android/sdk/account/ChangePasswordTest.kt | 2 +- .../sdk/account/DeactivateAccountTest.kt | 2 +- .../java/org/matrix/android/sdk/api/Matrix.kt | 10 +- .../android/sdk/common/CommonTestHelper.kt | 5 +- .../android/sdk/common/CryptoTestData.kt | 2 +- .../android/sdk/common/CryptoTestHelper.kt | 2 +- .../sdk/common/MockOkHttpInterceptor.kt | 2 +- .../android/sdk/common/SessionTestParams.kt | 2 +- .../android/sdk/common/TestAssertUtil.kt | 2 +- .../android/sdk/common/TestConstants.kt | 2 +- .../android/sdk/common/TestMatrixCallback.kt | 2 +- .../android/sdk/common/TestMatrixComponent.kt | 2 +- .../matrix/android/sdk/common/TestModule.kt | 2 +- .../android/sdk/common/TestNetworkModule.kt | 2 +- .../crypto/AttachmentEncryptionTest.kt | 2 +- .../sdk/internal/crypto/CryptoStoreHelper.kt | 15 +- .../sdk/internal/crypto/CryptoStoreTest.kt | 2 +- .../internal/crypto/ExportEncryptionTest.kt | 2 +- .../sdk/internal/crypto/UnwedgingTest.kt | 6 +- .../crypto/crosssigning/ExtensionsKtTest.kt | 2 +- .../crypto/crosssigning/XSigningTest.kt | 16 ++ .../crypto/encryption/EncryptionTest.kt | 111 +++++++++ .../crypto/gossiping/KeyShareTests.kt | 2 +- .../crypto/gossiping/WithHeldTests.kt | 6 +- .../keysbackup/KeysBackupPasswordTest.kt | 2 +- .../keysbackup/KeysBackupScenarioData.kt | 2 +- .../crypto/keysbackup/KeysBackupTest.kt | 2 +- .../keysbackup/KeysBackupTestConstants.kt | 2 +- .../crypto/keysbackup/KeysBackupTestHelper.kt | 2 +- .../keysbackup/PrepareKeysBackupDataResult.kt | 2 +- .../crypto/keysbackup/StateObserver.kt | 2 +- .../sdk/internal/crypto/ssss/QuadSTests.kt | 2 +- .../internal/crypto/verification/SASTest.kt | 2 +- .../crypto/verification/qrcode/HexParser.kt | 2 +- .../crypto/verification/qrcode/QrCodeTest.kt | 55 +++-- .../verification/qrcode/SharedSecretTest.kt | 2 +- .../verification/qrcode/VerificationTest.kt | 2 +- .../session/room/send/MarkdownParserTest.kt | 2 +- .../internal/util/JsonCanonicalizerTest.kt | 2 +- .../session/room/timeline/ChunkEntityTest.kt | 36 +-- .../timeline/FakeGetContextOfEventTask.kt | 2 +- .../room/timeline/FakePaginationTask.kt | 2 +- .../room/timeline/FakeTokenChunkEvent.kt | 2 +- .../session/room/timeline/RoomDataHelper.kt | 18 +- .../TimelineBackToPreviousLastForwardTest.kt | 2 +- .../timeline/TimelineForwardPaginationTest.kt | 2 +- .../TimelinePreviousLastForwardTest.kt | 2 +- .../sdk/session/room/timeline/TimelineTest.kt | 4 +- .../sdk/session/search/SearchMessagesTest.kt | 177 +++++++++++++++ .../sdk/internal/database/RealmDebugTools.kt | 2 +- .../interceptors/CurlLoggingInterceptor.kt | 2 +- .../interceptors/FormattedJsonHttpLogger.kt | 2 +- .../src/main/AndroidManifest.xml | 12 + .../java/org/matrix/android/sdk/api/Matrix.kt | 1 - .../matrix/android/sdk/api/MatrixCallback.kt | 3 +- .../android/sdk/api/MatrixConfiguration.kt | 1 - .../matrix/android/sdk/api/MatrixPatterns.kt | 1 - .../sdk/api/auth/AuthenticationService.kt | 1 - .../matrix/android/sdk/api/auth/Constants.kt | 1 - .../android/sdk/api/auth/data/Credentials.kt | 1 - .../sdk/api/auth/data/DiscoveryInformation.kt | 1 - .../auth/data/HomeServerConnectionConfig.kt | 1 - .../sdk/api/auth/data/LoginFlowResult.kt | 7 +- .../sdk/api/auth/data/LoginFlowTypes.kt | 1 - .../sdk/api/auth/data/SessionParams.kt | 1 - .../android/sdk/api/auth/data/WellKnown.kt | 1 - .../sdk/api/auth/data/WellKnownBaseConfig.kt | 1 - .../android/sdk/api/auth/login/LoginWizard.kt | 1 - .../api/auth/registration/RegisterThreePid.kt | 1 - .../auth/registration/RegistrationResult.kt | 1 - .../auth/registration/RegistrationWizard.kt | 1 - .../sdk/api/auth/registration/Stage.kt | 1 - .../sdk/api/auth/wellknown/WellknownResult.kt | 1 - .../api/comparators/DatedObjectComparators.kt | 1 - .../matrix/android/sdk/api/crypto/Emojis.kt | 1 - .../android/sdk/api/crypto/MXCryptoConfig.kt | 1 - .../api/crypto/RoomEncryptionTrustLevel.kt | 1 - .../android/sdk/api/extensions/Booleans.kt | 1 - .../sdk/api/extensions/MatrixSdkExtensions.kt | 1 - .../android/sdk/api/extensions/Strings.kt | 1 - .../matrix/android/sdk/api/extensions/Try.kt | 3 +- .../android/sdk/api/failure/Extensions.kt | 5 +- .../matrix/android/sdk/api/failure/Failure.kt | 1 - .../android/sdk/api/failure/GlobalError.kt | 1 - .../android/sdk/api/failure/MatrixError.kt | 37 ++- .../android/sdk/api/interfaces/DatedObject.kt | 1 - .../sdk/api/legacy/LegacySessionImporter.kt | 1 - .../sdk/api/listeners/ProgressListener.kt | 1 - .../sdk/api/listeners/StepProgressListener.kt | 1 - .../android/sdk/api/pushrules/Action.kt | 15 +- .../android/sdk/api/pushrules/Condition.kt | 1 - .../sdk/api/pushrules/ConditionResolver.kt | 1 - .../pushrules/ContainsDisplayNameCondition.kt | 1 - .../sdk/api/pushrules/EventMatchCondition.kt | 1 - .../matrix/android/sdk/api/pushrules/Kind.kt | 1 - .../sdk/api/pushrules/PushRuleService.kt | 1 - .../api/pushrules/RoomMemberCountCondition.kt | 1 - .../android/sdk/api/pushrules/RuleIds.kt | 1 - .../android/sdk/api/pushrules/RuleScope.kt | 1 - .../android/sdk/api/pushrules/RuleSetKey.kt | 1 - .../SenderNotificationPermissionCondition.kt | 1 - .../pushrules/rest/GetPushRulesResponse.kt | 1 - .../sdk/api/pushrules/rest/PushCondition.kt | 1 - .../sdk/api/pushrules/rest/PushRule.kt | 1 - .../android/sdk/api/pushrules/rest/RuleSet.kt | 1 - .../android/sdk/api/query/QueryStringValue.kt | 1 - .../android/sdk/api/raw/RawCacheStrategy.kt | 7 +- .../matrix/android/sdk/api/raw/RawService.kt | 1 - .../api/session/InitialSyncProgressService.kt | 1 - .../matrix/android/sdk/api/session/Session.kt | 7 +- .../sdk/api/session/account/AccountService.kt | 1 - .../session/accountdata/AccountDataService.kt | 1 - .../accountdata/UserAccountDataEvent.kt | 1 - .../accountdata/UserAccountDataTypes.kt | 1 - .../sdk/api/session/cache/CacheService.kt | 1 - .../api/session/call/CallSignalingService.kt | 3 +- .../android/sdk/api/session/call/CallState.kt | 1 - .../sdk/api/session/call/CallsListener.kt | 1 - .../android/sdk/api/session/call/EglUtils.kt | 1 - .../android/sdk/api/session/call/MxCall.kt | 2 +- .../api/session/call/TurnServerResponse.kt | 1 - .../session/content/ContentAttachmentData.kt | 6 +- .../content/ContentUploadStateTracker.kt | 1 - .../api/session/content/ContentUrlResolver.kt | 1 - .../sdk/api/session/crypto/CryptoService.kt | 9 +- .../sdk/api/session/crypto/MXCryptoError.kt | 3 - .../crosssigning/CrossSigningService.kt | 1 - .../CrossSigningSsssSecretConstants.kt | 1 - .../crypto/crosssigning/MXCrossSigningInfo.kt | 1 - .../crypto/keysbackup/KeysBackupService.kt | 3 +- .../crypto/keysbackup/KeysBackupState.kt | 9 +- .../keysbackup/KeysBackupStateListener.kt | 1 - .../keyshare/GossipingRequestListener.kt | 3 +- .../session/crypto/verification/CancelCode.kt | 1 - .../verification/EmojiRepresentation.kt | 1 - .../IncomingSasVerificationTransaction.kt | 1 - .../OutgoingSasVerificationTransaction.kt | 1 - .../PendingVerificationRequest.kt | 1 - .../QrCodeVerificationTransaction.kt | 1 - .../session/crypto/verification/SasMode.kt | 1 - .../SasVerificationTransaction.kt | 1 - .../ValidVerificationInfoReady.kt | 1 - .../ValidVerificationInfoRequest.kt | 1 - .../crypto/verification/VerificationMethod.kt | 3 +- .../verification/VerificationService.kt | 1 - .../verification/VerificationTransaction.kt | 1 - .../verification/VerificationTxState.kt | 1 - .../events/model/AggregatedAnnotation.kt | 1 - .../events/model/AggregatedRelations.kt | 1 - .../model/DefaultUnsignedRelationInfo.kt | 1 - .../sdk/api/session/events/model/Event.kt | 2 +- .../sdk/api/session/events/model/EventType.kt | 1 - .../sdk/api/session/events/model/LocalEcho.kt | 1 - .../session/events/model/RelationChunkInfo.kt | 1 - .../api/session/events/model/RelationType.kt | 4 +- .../api/session/events/model/UnsignedData.kt | 1 - .../events/model/UnsignedRelationInfo.kt | 3 +- .../file/ContentDownloadStateTracker.kt | 1 - .../sdk/api/session/file/FileService.kt | 3 +- .../api/session/file/MatrixSDKFileProvider.kt | 1 - .../android/sdk/api/session/group/Group.kt | 1 - .../sdk/api/session/group/GroupService.kt | 1 - .../session/group/GroupSummaryQueryParams.kt | 1 - .../api/session/group/model/GroupSummary.kt | 1 - .../homeserver/HomeServerCapabilities.kt | 1 - .../HomeServerCapabilitiesService.kt | 1 - .../sdk/api/session/identity/FoundThreePid.kt | 1 - .../api/session/identity/IdentityService.kt | 1 - .../session/identity/IdentityServiceError.kt | 1 - .../identity/IdentityServiceListener.kt | 1 - .../sdk/api/session/identity/SharedState.kt | 1 - .../sdk/api/session/identity/ThreePid.kt | 1 - .../IntegrationManagerConfig.kt | 3 +- .../IntegrationManagerService.kt | 1 - .../api/session/permalinks/MatrixLinkify.kt | 1 - .../session/permalinks/MatrixPermalinkSpan.kt | 1 - .../api/session/permalinks/PermalinkData.kt | 1 - .../api/session/permalinks/PermalinkParser.kt | 1 - .../session/permalinks/PermalinkService.kt | 1 - .../sdk/api/session/profile/ProfileService.kt | 1 - .../api/session/pushers/PushGatewayFailure.kt | 23 ++ .../android/sdk/api/session/pushers/Pusher.kt | 1 - .../sdk/api/session/pushers/PushersService.kt | 16 +- .../android/sdk/api/session/room/Room.kt | 25 ++- .../api/session/room/RoomDirectoryService.kt | 1 - .../sdk/api/session/room/RoomService.kt | 1 - .../session/room/RoomSummaryQueryParams.kt | 1 - .../api/session/room/call/RoomCallService.kt | 1 - .../session/room/crypto/RoomCryptoService.kt | 1 - .../session/room/failure/CreateRoomFailure.kt | 1 - .../session/room/failure/JoinRoomFailure.kt | 1 - .../room/members/ChangeMembershipState.kt | 3 +- .../session/room/members/MembershipService.kt | 1 - .../room/members/RoomMemberQueryParams.kt | 1 - .../room/model/EditAggregatedSummary.kt | 1 - .../room/model/EventAnnotationsSummary.kt | 1 - .../sdk/api/session/room/model/Invite.kt | 1 - .../sdk/api/session/room/model/Membership.kt | 1 - .../model/PollResponseAggregatedSummary.kt | 1 - .../session/room/model/PollSummaryContent.kt | 3 +- .../session/room/model/PowerLevelsContent.kt | 1 - .../room/model/ReactionAggregatedSummary.kt | 1 - .../sdk/api/session/room/model/ReadReceipt.kt | 1 - .../room/model/ReferencesAggregatedContent.kt | 1 - .../room/model/ReferencesAggregatedSummary.kt | 1 - .../session/room/model/RoomAliasesContent.kt | 1 - .../session/room/model/RoomAvatarContent.kt | 1 - .../room/model/RoomCanonicalAliasContent.kt | 1 - .../room/model/RoomDirectoryVisibility.kt | 1 - .../room/model/RoomGuestAccessContent.kt | 2 +- .../room/model/RoomHistoryVisibility.kt | 4 +- .../model/RoomHistoryVisibilityContent.kt | 1 - .../api/session/room/model/RoomJoinRules.kt | 1 - .../room/model/RoomJoinRulesContent.kt | 1 - .../session/room/model/RoomMemberContent.kt | 1 - .../session/room/model/RoomMemberSummary.kt | 1 - .../api/session/room/model/RoomNameContent.kt | 1 - .../sdk/api/session/room/model/RoomSummary.kt | 1 - .../room/model/RoomThirdPartyInviteContent.kt | 1 - .../session/room/model/RoomTopicContent.kt | 1 - .../sdk/api/session/room/model/Signed.kt | 3 +- .../api/session/room/model/VersioningState.kt | 1 - .../room/model/call/CallAnswerContent.kt | 1 - .../room/model/call/CallCandidatesContent.kt | 1 - .../room/model/call/CallHangupContent.kt | 1 - .../room/model/call/CallInviteContent.kt | 1 - .../api/session/room/model/call/SdpType.kt | 1 - .../room/model/create/CreateRoomParams.kt | 1 - .../room/model/create/CreateRoomPreset.kt | 1 - .../session/room/model/create/Predecessor.kt | 1 - .../room/model/create/RoomCreateContent.kt | 1 - .../session/room/model/message/AudioInfo.kt | 1 - .../session/room/model/message/FileInfo.kt | 1 - .../session/room/model/message/ImageInfo.kt | 1 - .../room/model/message/LocationInfo.kt | 1 - .../room/model/message/MessageAudioContent.kt | 5 +- .../room/model/message/MessageContent.kt | 1 - .../MessageContentWithFormattedBody.kt | 1 - .../model/message/MessageDefaultContent.kt | 1 - .../room/model/message/MessageEmoteContent.kt | 1 - .../room/model/message/MessageFileContent.kt | 1 - .../room/model/message/MessageFormat.kt | 1 - .../room/model/message/MessageImageContent.kt | 5 +- .../model/message/MessageImageInfoContent.kt | 1 - .../model/message/MessageLocationContent.kt | 1 - .../model/message/MessageNoticeContent.kt | 1 - .../model/message/MessageOptionsContent.kt | 1 - .../message/MessagePollResponseContent.kt | 1 - .../model/message/MessageRelationContent.kt | 1 - .../model/message/MessageStickerContent.kt | 5 +- .../room/model/message/MessageTextContent.kt | 1 - .../session/room/model/message/MessageType.kt | 2 +- .../MessageVerificationAcceptContent.kt | 1 - .../MessageVerificationCancelContent.kt | 1 - .../message/MessageVerificationDoneContent.kt | 1 - .../message/MessageVerificationKeyContent.kt | 1 - .../message/MessageVerificationMacContent.kt | 1 - .../MessageVerificationReadyContent.kt | 1 - .../MessageVerificationRequestContent.kt | 1 - .../MessageVerificationStartContent.kt | 1 - .../room/model/message/MessageVideoContent.kt | 5 +- .../message/MessageWithAttachmentContent.kt | 1 - .../session/room/model/message/OptionItem.kt | 1 - .../room/model/message/ThumbnailInfo.kt | 1 - .../session/room/model/message/VideoInfo.kt | 1 - .../room/model/relation/ReactionContent.kt | 1 - .../room/model/relation/ReactionInfo.kt | 1 - .../room/model/relation/RelationContent.kt | 1 - .../model/relation/RelationDefaultContent.kt | 1 - .../room/model/relation/RelationService.kt | 1 - .../room/model/relation/ReplyToContent.kt | 1 - .../room/model/roomdirectory/PublicRoom.kt | 1 - .../model/roomdirectory/PublicRoomsFilter.kt | 1 - .../model/roomdirectory/PublicRoomsParams.kt | 2 - .../roomdirectory/PublicRoomsResponse.kt | 1 - .../sdk/api/session/room/model/tag/RoomTag.kt | 1 - .../session/room/model/tag/RoomTagContent.kt | 1 - .../room/model/thirdparty/FieldType.kt | 1 - .../model/thirdparty/RoomDirectoryData.kt | 1 - .../model/thirdparty/ThirdPartyProtocol.kt | 1 - .../thirdparty/ThirdPartyProtocolInstance.kt | 1 - .../model/tombstone/RoomTombstoneContent.kt | 1 - .../notification/RoomNotificationState.kt | 1 - .../room/notification/RoomPushRuleService.kt | 1 - .../room/powerlevels/PowerLevelsHelper.kt | 1 - .../sdk/api/session/room/powerlevels/Role.kt | 1 - .../sdk/api/session/room/read/ReadService.kt | 9 +- .../room/reporting/ReportingService.kt | 1 - .../sdk/api/session/room/send/DraftService.kt | 12 +- .../api/session/room/send/MatrixItemSpan.kt | 1 - .../sdk/api/session/room/send/SendService.kt | 1 - .../sdk/api/session/room/send/SendState.kt | 8 +- .../sdk/api/session/room/send/UserDraft.kt | 1 - .../sdk/api/session/room/sender/SenderInfo.kt | 1 - .../api/session/room/state/StateService.kt | 1 - .../room/summary/RoomSummaryConstants.kt | 2 +- .../sdk/api/session/room/tags/TagsService.kt | 1 - .../sdk/api/session/room/timeline/Timeline.kt | 2 +- .../session/room/timeline/TimelineEvent.kt | 1 - .../room/timeline/TimelineEventFilters.kt | 2 +- .../session/room/timeline/TimelineService.kt | 3 +- .../session/room/timeline/TimelineSettings.kt | 1 - .../api/session/room/typing/TypingService.kt | 1 - .../session/room/uploads/GetUploadsResult.kt | 1 - .../api/session/room/uploads/UploadEvent.kt | 1 - .../session/room/uploads/UploadsService.kt | 1 - .../sdk/api/session/search/SearchResult.kt | 44 ++++ .../sdk/api/session/search/SearchService.kt | 49 ++++ .../securestorage/EncryptedSecretContent.kt | 1 - .../session/securestorage/IntegrityResult.kt | 1 - .../session/securestorage/KeyInfoResult.kt | 1 - .../api/session/securestorage/KeySigner.kt | 1 - .../securestorage/SecretStorageKeyContent.kt | 1 - .../securestorage/SecureStorageService.kt | 1 - .../securestorage/SharedSecretStorageError.kt | 1 - .../SharedSecretStorageService.kt | 1 - .../securestorage/SsssKeyCreationInfo.kt | 1 - .../api/session/securestorage/SsssKeySpec.kt | 1 - .../sdk/api/session/signout/SignOutService.kt | 1 - .../sdk/api/session/sync/FilterService.kt | 2 +- .../android/sdk/api/session/sync/SyncState.kt | 1 - .../sdk/api/session/terms/GetTermsResponse.kt | 1 - .../sdk/api/session/terms/TermsService.kt | 1 - .../api/session/typing/TypingUsersTracker.kt | 1 - .../sdk/api/session/user/UserService.kt | 1 - .../sdk/api/session/user/model/User.kt | 1 - .../widgets/WidgetManagementFailure.kt | 1 - .../session/widgets/WidgetPostAPIMediator.kt | 1 - .../sdk/api/session/widgets/WidgetService.kt | 1 - .../api/session/widgets/WidgetURLFormatter.kt | 1 - .../sdk/api/session/widgets/model/Widget.kt | 1 - .../session/widgets/model/WidgetContent.kt | 1 - .../api/session/widgets/model/WidgetType.kt | 1 - .../matrix/android/sdk/api/util/Cancelable.kt | 1 - .../android/sdk/api/util/CancelableBag.kt | 1 - .../android/sdk/api/util/ContentUtils.kt | 1 - .../sdk/api/util/MatrixCallbackDelegate.kt | 1 - .../matrix/android/sdk/api/util/MatrixItem.kt | 1 - .../matrix/android/sdk/api/util/Optional.kt | 29 ++- .../org/matrix/android/sdk/api/util/Types.kt | 1 - .../android/sdk/internal/SessionManager.kt | 1 - .../android/sdk/internal/auth/AuthAPI.kt | 1 - .../android/sdk/internal/auth/AuthModule.kt | 1 - .../auth/DefaultAuthenticationService.kt | 19 +- .../sdk/internal/auth/PendingSessionStore.kt | 1 - .../sdk/internal/auth/SessionCreator.kt | 1 - .../sdk/internal/auth/SessionParamsStore.kt | 1 - .../data/InteractiveAuthenticationFlow.kt | 1 - .../internal/auth/data/LoginFlowResponse.kt | 1 - .../sdk/internal/auth/data/LoginParams.kt | 1 - .../internal/auth/data/PasswordLoginParams.kt | 1 - .../sdk/internal/auth/data/RiotConfig.kt | 1 - .../sdk/internal/auth/data/ThreePidMedium.kt | 1 - .../internal/auth/data/TokenLoginParams.kt | 1 - .../internal/auth/db/AuthRealmMigration.kt | 1 - .../sdk/internal/auth/db/AuthRealmModule.kt | 1 - .../internal/auth/db/PendingSessionData.kt | 1 - .../internal/auth/db/PendingSessionEntity.kt | 1 - .../internal/auth/db/PendingSessionMapper.kt | 1 - .../auth/db/RealmPendingSessionStore.kt | 1 - .../auth/db/RealmSessionParamsStore.kt | 1 - .../internal/auth/db/SessionParamsEntity.kt | 1 - .../internal/auth/db/SessionParamsMapper.kt | 1 - .../internal/auth/login/DefaultLoginWizard.kt | 1 - .../internal/auth/login/DirectLoginTask.kt | 1 - .../internal/auth/login/ResetPasswordData.kt | 1 - .../auth/login/ResetPasswordMailConfirmed.kt | 3 - .../AddThreePidRegistrationParams.kt | 1 - .../AddThreePidRegistrationResponse.kt | 1 - .../internal/auth/registration/AuthParams.kt | 1 - .../registration/DefaultRegistrationWizard.kt | 1 - .../LocalizedFlowDataLoginTerms.kt | 1 - .../registration/RegisterAddThreePidTask.kt | 1 - .../auth/registration/RegisterTask.kt | 1 - .../registration/RegistrationFlowResponse.kt | 1 - .../auth/registration/RegistrationParams.kt | 3 - .../auth/registration/SuccessResult.kt | 1 - .../auth/registration/ThreePidData.kt | 1 - .../auth/registration/ValidateCodeTask.kt | 1 - .../auth/registration/ValidationCodeBody.kt | 1 - .../auth/version/HomeServerVersion.kt | 1 - .../sdk/internal/auth/version/Versions.kt | 3 +- .../crypto/CancelGossipRequestWorker.kt | 48 ++-- .../sdk/internal/crypto/CryptoConstants.kt | 2 +- .../sdk/internal/crypto/CryptoModule.kt | 1 - .../internal/crypto/DefaultCryptoService.kt | 53 +++-- .../sdk/internal/crypto/DeviceListManager.kt | 3 - .../internal/crypto/GossipingRequestState.kt | 4 +- .../internal/crypto/GossipingWorkManager.kt | 1 - .../crypto/IncomingGossipingRequestManager.kt | 13 +- .../crypto/IncomingRequestCancellation.kt | 1 - .../internal/crypto/IncomingRoomKeyRequest.kt | 2 - .../crypto/IncomingSecretShareRequest.kt | 3 +- .../crypto/IncomingShareRequestCommon.kt | 1 - .../sdk/internal/crypto/MXCryptoAlgorithms.kt | 2 - .../crypto/MXEventDecryptionResult.kt | 1 - .../crypto/MXMegolmExportEncryption.kt | 2 +- .../sdk/internal/crypto/MXOlmDevice.kt | 2 - .../sdk/internal/crypto/MegolmSessionData.kt | 1 - .../sdk/internal/crypto/MyDeviceInfoHolder.kt | 1 - .../sdk/internal/crypto/NewSessionListener.kt | 1 - .../sdk/internal/crypto/ObjectSigner.kt | 1 - .../internal/crypto/OneTimeKeysUploader.kt | 1 - .../crypto/OutgoingGossipingRequest.kt | 1 - .../crypto/OutgoingGossipingRequestManager.kt | 8 +- .../internal/crypto/OutgoingRoomKeyRequest.kt | 2 - .../internal/crypto/OutgoingSecretRequest.kt | 1 - .../internal/crypto/RoomDecryptorProvider.kt | 1 - .../internal/crypto/RoomEncryptorsStore.kt | 1 - .../crypto/SendGossipRequestWorker.kt | 46 ++-- .../sdk/internal/crypto/SendGossipWorker.kt | 86 ++++--- .../EnsureOlmSessionsForDevicesAction.kt | 1 - .../EnsureOlmSessionsForUsersAction.kt | 1 - .../actions/MegolmSessionDataImporter.kt | 3 +- .../crypto/actions/MessageEncrypter.kt | 1 - .../actions/SetDeviceVerificationAction.kt | 1 - .../crypto/algorithms/IMXDecrypting.kt | 4 +- .../crypto/algorithms/IMXEncrypting.kt | 2 - .../crypto/algorithms/IMXWithHeldExtension.kt | 1 - .../algorithms/megolm/MXMegolmDecryption.kt | 4 +- .../megolm/MXMegolmDecryptionFactory.kt | 1 - .../algorithms/megolm/MXMegolmEncryption.kt | 3 - .../megolm/MXMegolmEncryptionFactory.kt | 1 - .../megolm/MXOutboundSessionInfo.kt | 2 - .../algorithms/megolm/SharedWithHelper.kt | 1 - .../crypto/algorithms/olm/MXOlmDecryption.kt | 2 - .../algorithms/olm/MXOlmDecryptionFactory.kt | 1 - .../crypto/algorithms/olm/MXOlmEncryption.kt | 3 - .../algorithms/olm/MXOlmEncryptionFactory.kt | 1 - .../algorithms/olm/OlmDecryptionResult.kt | 1 - .../sdk/internal/crypto/api/CryptoApi.kt | 2 - .../crypto/attachments/ElementToDecrypt.kt | 1 - .../crypto/attachments/EncryptionResult.kt | 1 - .../attachments/MXEncryptedAttachments.kt | 1 - .../MatrixDigestCheckInputStream.kt | 2 +- .../crypto/crosssigning/ComputeTrustTask.kt | 1 - .../DefaultCrossSigningService.kt | 1 - .../crypto/crosssigning/DeviceTrustLevel.kt | 1 - .../crypto/crosssigning/DeviceTrustResult.kt | 1 - .../crypto/crosssigning/Extensions.kt | 1 - .../SessionToCryptoRoomMembersUpdate.kt | 1 - .../crypto/crosssigning/ShieldTrustUpdater.kt | 3 +- .../crypto/crosssigning/UserTrustResult.kt | 1 - .../keysbackup/DefaultKeysBackupService.kt | 1 - .../crypto/keysbackup/KeysBackupPassword.kt | 1 - .../keysbackup/KeysBackupStateManager.kt | 1 - .../crypto/keysbackup/api/RoomKeysApi.kt | 1 - .../keysbackup/model/KeyBackupVersionTrust.kt | 1 - .../model/KeyBackupVersionTrustSignature.kt | 1 - .../model/KeysBackupVersionTrust.kt | 1 - .../model/KeysBackupVersionTrustSignature.kt | 1 - .../keysbackup/model/MegolmBackupAuthData.kt | 1 - .../model/MegolmBackupCreationInfo.kt | 1 - .../keysbackup/model/rest/BackupKeysResult.kt | 1 - .../model/rest/CreateKeysBackupVersionBody.kt | 1 - .../keysbackup/model/rest/KeyBackupData.kt | 1 - .../model/rest/KeysAlgorithmAndData.kt | 1 - .../keysbackup/model/rest/KeysBackupData.kt | 1 - .../keysbackup/model/rest/KeysVersion.kt | 8 +- .../model/rest/KeysVersionResult.kt | 1 - .../model/rest/RoomKeysBackupData.kt | 1 - .../model/rest/UpdateKeysBackupVersionBody.kt | 1 - .../tasks/CreateKeysBackupVersionTask.kt | 1 - .../keysbackup/tasks/DeleteBackupTask.kt | 1 - .../tasks/DeleteRoomSessionDataTask.kt | 1 - .../tasks/DeleteRoomSessionsDataTask.kt | 1 - .../tasks/DeleteSessionsDataTask.kt | 1 - .../tasks/GetKeysBackupLastVersionTask.kt | 1 - .../tasks/GetKeysBackupVersionTask.kt | 1 - .../tasks/GetRoomSessionDataTask.kt | 1 - .../tasks/GetRoomSessionsDataTask.kt | 1 - .../keysbackup/tasks/GetSessionsDataTask.kt | 1 - .../tasks/StoreRoomSessionDataTask.kt | 1 - .../tasks/StoreRoomSessionsDataTask.kt | 1 - .../keysbackup/tasks/StoreSessionsDataTask.kt | 1 - .../tasks/UpdateKeysBackupVersionTask.kt | 1 - .../internal/crypto/keysbackup/util/Base58.kt | 1 - .../crypto/keysbackup/util/RecoveryKey.kt | 1 - .../crypto/model/CryptoCrossSigningKey.kt | 1 - .../internal/crypto/model/CryptoDeviceInfo.kt | 1 - .../sdk/internal/crypto/model/CryptoInfo.kt | 1 - .../internal/crypto/model/CryptoInfoMapper.kt | 1 - .../crypto/model/ImportRoomKeysResult.kt | 1 - .../sdk/internal/crypto/model/MXDeviceInfo.kt | 3 - .../model/MXEncryptEventContentResult.kt | 1 - .../sdk/internal/crypto/model/MXKey.kt | 1 - .../crypto/model/MXOlmSessionResult.kt | 1 - .../crypto/model/MXQueuedEncryption.kt | 1 - .../crypto/model/MXUsersDevicesMap.kt | 1 - .../model/OlmInboundGroupSessionWrapper.kt | 2 - .../model/OlmInboundGroupSessionWrapper2.kt | 2 +- .../crypto/model/OlmSessionWrapper.kt | 1 - .../model/event/EncryptedEventContent.kt | 1 - .../model/event/EncryptionEventContent.kt | 1 - .../crypto/model/event/NewDeviceContent.kt | 1 - .../crypto/model/event/OlmEventContent.kt | 1 - .../crypto/model/event/OlmPayloadContent.kt | 1 - .../crypto/model/event/RoomKeyContent.kt | 1 - .../model/event/RoomKeyWithHeldContent.kt | 5 +- .../model/event/SecretSendEventContent.kt | 1 - .../crypto/model/rest/DeleteDeviceParams.kt | 1 - .../internal/crypto/model/rest/DeviceInfo.kt | 3 - .../internal/crypto/model/rest/DeviceKeys.kt | 1 - .../model/rest/DeviceKeysWithUnsigned.kt | 1 - .../crypto/model/rest/DevicesListResponse.kt | 1 - .../crypto/model/rest/DummyContent.kt | 1 - .../model/rest/EncryptedBodyFileInfo.kt | 1 - .../crypto/model/rest/EncryptedFileInfo.kt | 1 - .../crypto/model/rest/EncryptedFileKey.kt | 1 - .../crypto/model/rest/EncryptedMessage.kt | 1 - .../model/rest/ForwardedRoomKeyContent.kt | 1 - .../model/rest/GossipingToDeviceObject.kt | 1 - .../crypto/model/rest/KeyChangesResponse.kt | 1 - .../model/rest/KeyVerificationAccept.kt | 1 - .../model/rest/KeyVerificationCancel.kt | 1 - .../crypto/model/rest/KeyVerificationDone.kt | 1 - .../crypto/model/rest/KeyVerificationKey.kt | 1 - .../crypto/model/rest/KeyVerificationMac.kt | 1 - .../crypto/model/rest/KeyVerificationReady.kt | 1 - .../model/rest/KeyVerificationRequest.kt | 1 - .../crypto/model/rest/KeyVerificationStart.kt | 1 - .../crypto/model/rest/KeysClaimBody.kt | 1 - .../crypto/model/rest/KeysClaimResponse.kt | 1 - .../crypto/model/rest/KeysQueryBody.kt | 2 - .../crypto/model/rest/KeysUploadBody.kt | 1 - .../crypto/model/rest/KeysUploadResponse.kt | 1 - .../internal/crypto/model/rest/RestKeyInfo.kt | 1 - .../crypto/model/rest/RoomKeyRequestBody.kt | 2 - .../crypto/model/rest/RoomKeyShareRequest.kt | 2 - .../crypto/model/rest/SecretShareRequest.kt | 1 - .../crypto/model/rest/SendToDeviceBody.kt | 4 +- .../crypto/model/rest/SendToDeviceObject.kt | 1 - .../model/rest/ShareRequestCancellation.kt | 1 - .../model/rest/SignatureUploadResponse.kt | 2 - .../crypto/model/rest/UnsignedDeviceInfo.kt | 1 - .../crypto/model/rest/UpdateDeviceInfoBody.kt | 1 - .../model/rest/UploadSignatureQueryBuilder.kt | 1 - .../model/rest/UploadSigningKeysBody.kt | 1 - .../crypto/model/rest/UserPasswordAuth.kt | 2 - .../model/rest/VerificationMethodValues.kt | 1 - .../WarnOnUnknownDeviceRepository.kt | 1 - .../DefaultSharedSecretStorageService.kt | 5 +- .../internal/crypto/store/IMXCryptoStore.kt | 31 ++- .../internal/crypto/store/PrivateKeysInfo.kt | 1 - .../crypto/store/SavedKeyBackupKeyInfo.kt | 3 +- .../sdk/internal/crypto/store/db/Helper.kt | 1 - .../crypto/store/db/RealmCryptoStore.kt | 84 +++++-- .../store/db/RealmCryptoStoreMigration.kt | 5 +- .../crypto/store/db/RealmCryptoStoreModule.kt | 1 - .../crypto/store/db/SafeObjectInputStream.kt | 1 - .../store/db/mapper/CrossSigningKeysMapper.kt | 1 - .../store/db/model/CrossSigningInfoEntity.kt | 1 - .../crypto/store/db/model/CryptoMapper.kt | 1 - .../store/db/model/CryptoMetadataEntity.kt | 1 - .../crypto/store/db/model/CryptoRoomEntity.kt | 1 - .../crypto/store/db/model/DeviceInfoEntity.kt | 1 - .../store/db/model/GossipingEventEntity.kt | 1 - .../model/IncomingGossipingRequestEntity.kt | 7 +- .../crypto/store/db/model/KeyInfoEntity.kt | 1 - .../store/db/model/KeysBackupDataEntity.kt | 1 - .../db/model/MyDeviceLastSeenInfoEntity.kt | 1 - .../db/model/OlmInboundGroupSessionEntity.kt | 1 - .../crypto/store/db/model/OlmSessionEntity.kt | 9 +- .../model/OutgoingGossipingRequestEntity.kt | 7 +- .../store/db/model/SharedSessionEntity.kt | 1 - .../crypto/store/db/model/TrustLevelEntity.kt | 1 - .../crypto/store/db/model/UserEntity.kt | 1 - .../store/db/model/WithHeldSessionEntity.kt | 1 - .../db/query/CrossSigningInfoEntityQueries.kt | 1 - .../store/db/query/CryptoRoomEntityQueries.kt | 1 - .../store/db/query/DeviceInfoEntityQueries.kt | 1 - .../store/db/query/SharedSessionQueries.kt | 1 - .../store/db/query/UserEntitiesQueries.kt | 1 - .../store/db/query/WithHeldSessionQueries.kt | 1 - .../ClaimOneTimeKeysForUsersDeviceTask.kt | 1 - .../internal/crypto/tasks/DeleteDeviceTask.kt | 1 - .../tasks/DeleteDeviceWithUserPasswordTask.kt | 1 - .../crypto/tasks/DownloadKeysForUsersTask.kt | 1 - .../internal/crypto/tasks/EncryptEventTask.kt | 1 - .../crypto/tasks/GetDeviceInfoTask.kt | 1 - .../internal/crypto/tasks/GetDevicesTask.kt | 1 - .../crypto/tasks/GetKeyChangesTask.kt | 1 - .../tasks/InitializeCrossSigningTask.kt | 1 - .../internal/crypto/tasks/SendEventTask.kt | 1 - .../internal/crypto/tasks/SendToDeviceTask.kt | 1 - .../tasks/SendVerificationMessageTask.kt | 1 - .../crypto/tasks/SetDeviceNameTask.kt | 1 - .../internal/crypto/tasks/UploadKeysTask.kt | 1 - .../crypto/tasks/UploadSignaturesTask.kt | 1 - .../crypto/tasks/UploadSigningKeysTask.kt | 1 - .../sdk/internal/crypto/tools/HkdfSha256.kt | 1 - .../sdk/internal/crypto/tools/Tools.kt | 1 - ...comingSASDefaultVerificationTransaction.kt | 1 - ...tgoingSASDefaultVerificationTransaction.kt | 7 +- .../DefaultVerificationService.kt | 1 - .../DefaultVerificationTransaction.kt | 3 +- .../SASDefaultVerificationTransaction.kt | 5 +- .../SendVerificationMessageWorker.kt | 67 +++--- .../crypto/verification/VerificationEmoji.kt | 1 - .../crypto/verification/VerificationInfo.kt | 1 - .../verification/VerificationInfoAccept.kt | 1 - .../verification/VerificationInfoCancel.kt | 1 - .../verification/VerificationInfoDone.kt | 1 - .../verification/VerificationInfoKey.kt | 1 - .../verification/VerificationInfoMac.kt | 1 - .../verification/VerificationInfoReady.kt | 1 - .../verification/VerificationInfoRequest.kt | 1 - .../verification/VerificationInfoStart.kt | 1 - .../VerificationMessageProcessor.kt | 1 - .../verification/VerificationTransport.kt | 1 - .../VerificationTransportRoomMessage.kt | 52 +++-- .../VerificationTransportToDevice.kt | 1 - .../DefaultQrCodeVerificationTransaction.kt | 1 - .../crypto/verification/qrcode/Extensions.kt | 1 - .../crypto/verification/qrcode/QrCodeData.kt | 1 - .../verification/qrcode/SharedSecret.kt | 1 - .../sdk/internal/database/AsyncTransaction.kt | 80 ++++--- .../sdk/internal/database/DBConstants.kt | 1 - .../sdk/internal/database/DatabaseCleaner.kt | 1 - .../database/EventInsertLiveObserver.kt | 1 - .../internal/database/RealmInstanceWrapper.kt | 2 +- .../sdk/internal/database/RealmKeysUtils.kt | 3 +- .../database/RealmLiveEntityObserver.kt | 1 - .../sdk/internal/database/RealmQueryLatch.kt | 5 +- .../internal/database/RealmSessionProvider.kt | 2 +- .../database/RealmSessionStoreMigration.kt | 1 - .../SessionRealmConfigurationFactory.kt | 1 - .../database/helper/ChunkEntityHelper.kt | 1 - .../database/helper/RoomEntityHelper.kt | 1 - .../helper/TimelineEventEntityHelper.kt | 1 - .../database/mapper/AccountDataMapper.kt | 1 - .../internal/database/mapper/ContentMapper.kt | 22 +- .../internal/database/mapper/DraftMapper.kt | 1 - .../mapper/EventAnnotationsSummaryMapper.kt | 1 - .../internal/database/mapper/EventMapper.kt | 11 +- .../database/mapper/GroupSummaryMapper.kt | 1 - .../mapper/HomeServerCapabilitiesMapper.kt | 1 - .../database/mapper/IsUselessResolver.kt | 1 - ...llResponseAggregatedSummaryEntityMapper.kt | 1 - .../database/mapper/PushConditionMapper.kt | 1 - .../database/mapper/PushRulesMapper.kt | 1 - .../internal/database/mapper/PushersMapper.kt | 1 - .../mapper/ReadReceiptsSummaryMapper.kt | 1 - .../mapper/RoomMemberSummaryMapper.kt | 1 - .../database/mapper/RoomSummaryMapper.kt | 1 - .../database/mapper/TimelineEventMapper.kt | 1 - .../internal/database/mapper/UserMapper.kt | 1 - .../database/model/BreadcrumbsEntity.kt | 1 - .../internal/database/model/ChunkEntity.kt | 5 +- .../database/model/CurrentStateEventEntity.kt | 1 - .../internal/database/model/DraftEntity.kt | 1 - .../model/EditAggregatedSummaryEntity.kt | 1 - .../model/EventAnnotationsSummaryEntity.kt | 1 - .../internal/database/model/EventEntity.kt | 1 - .../database/model/EventInsertEntity.kt | 1 - .../database/model/EventInsertType.java | 1 - .../internal/database/model/FilterEntity.kt | 1 - .../internal/database/model/GroupEntity.kt | 1 - .../database/model/GroupSummaryEntity.kt | 1 - .../model/HomeServerCapabilitiesEntity.kt | 1 - .../database/model/IgnoredUserEntity.kt | 1 - .../database/model/PendingThreePidEntity.kt | 1 - .../PollResponseAggregatedSummaryEntity.kt | 1 - .../database/model/PushConditionEntity.kt | 1 - .../internal/database/model/PushRuleEntity.kt | 1 - .../database/model/PushRulesEntity.kt | 1 - .../database/model/PusherDataEntity.kt | 1 - .../internal/database/model/PusherEntity.kt | 1 - .../internal/database/model/RawCacheEntity.kt | 1 - .../model/ReactionAggregatedSummaryEntity.kt | 1 - .../database/model/ReadMarkerEntity.kt | 1 - .../database/model/ReadReceiptEntity.kt | 1 - .../model/ReadReceiptsSummaryEntity.kt | 1 - .../ReferencesAggregatedSummaryEntity.kt | 1 - .../sdk/internal/database/model/RoomEntity.kt | 1 - .../database/model/RoomMemberSummaryEntity.kt | 1 - .../database/model/RoomSummaryEntity.kt | 1 - .../internal/database/model/RoomTagEntity.kt | 1 - .../database/model/ScalarTokenEntity.kt | 1 - .../database/model/SessionRealmModule.kt | 1 - .../sdk/internal/database/model/SyncEntity.kt | 3 +- .../database/model/TimelineEventEntity.kt | 1 - .../database/model/UserAccountDataEntity.kt | 1 - .../database/model/UserDraftsEntity.kt | 1 - .../sdk/internal/database/model/UserEntity.kt | 1 - .../database/model/UserThreePidEntity.kt | 1 - ...WellknownIntegrationManagerConfigEntity.kt | 1 - .../database/query/BreadcrumbsEntityQuery.kt | 1 - .../database/query/ChunkEntityQueries.kt | 1 - .../query/CurrentStateEventEntityQueries.kt | 1 - .../EventAnnotationsSummaryEntityQuery.kt | 2 +- .../database/query/EventEntityQueries.kt | 1 - .../database/query/FilterEntityQueries.kt | 1 - .../database/query/GroupEntityQueries.kt | 1 - .../query/GroupSummaryEntityQueries.kt | 1 - .../query/HomeServerCapabilitiesQueries.kt | 1 - .../internal/database/query/PushersQueries.kt | 1 - .../database/query/RawCacheQueries.kt | 1 - .../database/query/ReadMarkerEntityQueries.kt | 1 - .../internal/database/query/ReadQueries.kt | 1 - .../query/ReadReceiptEntityQueries.kt | 1 - .../query/ReadReceiptsSummaryEntityQueries.kt | 1 - ...eferencesAggregatedSummaryEntityQueries.kt | 1 - .../database/query/RoomEntityQueries.kt | 1 - .../database/query/RoomMemberEntityQueries.kt | 1 - .../query/RoomSummaryEntityQueries.kt | 1 - .../database/query/ScalarTokenQuery.kt | 1 - .../query/TimelineEventEntityQueries.kt | 1 - .../database/query/TimelineEventFilter.kt | 1 - .../database/query/UserDraftsEntityQueries.kt | 1 - .../database/query/UserEntityQueries.kt | 1 - .../android/sdk/internal/di/AuthQualifiers.kt | 1 - .../android/sdk/internal/di/DbQualifiers.kt | 1 - .../android/sdk/internal/di/FileQualifiers.kt | 1 - .../sdk/internal/di/MatrixComponent.kt | 1 - .../android/sdk/internal/di/MatrixModule.kt | 1 - .../android/sdk/internal/di/MatrixScope.kt | 1 - .../android/sdk/internal/di/MoshiProvider.kt | 5 +- .../android/sdk/internal/di/NetworkModule.kt | 12 +- .../android/sdk/internal/di/NoOpTestModule.kt | 1 - .../android/sdk/internal/di/SerializeNulls.kt | 1 - .../di/SessionAssistedInjectModule.kt | 1 - .../sdk/internal/di/StringQualifiers.kt | 1 - .../sdk/internal/di/WorkManagerProvider.kt | 1 - .../internal/eventbus/EventBusTimberLogger.kt | 1 - .../sdk/internal/extensions/LiveData.kt | 1 - .../sdk/internal/extensions/Primitives.kt | 1 - .../internal/extensions/RealmExtensions.kt | 1 - .../android/sdk/internal/extensions/Result.kt | 27 +-- .../android/sdk/internal/extensions/Try.kt | 1 - .../legacy/DefaultLegacySessionImporter.kt | 1 - .../sdk/internal/legacy/riot/Credentials.java | 1 - .../sdk/internal/legacy/riot/Fingerprint.java | 1 - .../riot/HomeServerConnectionConfig.java | 3 +- .../internal/legacy/riot/LoginStorage.java | 1 - .../sdk/internal/legacy/riot/WellKnown.kt | 1 - .../legacy/riot/WellKnownBaseConfig.kt | 1 - .../legacy/riot/WellKnownManagerConfig.kt | 3 +- .../legacy/riot/WellKnownPreferredConfig.kt | 1 - .../network/AccessTokenInterceptor.kt | 1 - .../sdk/internal/network/HttpHeaders.kt | 1 - .../network/NetworkCallbackStrategy.kt | 1 - .../network/NetworkConnectivityChecker.kt | 1 - .../sdk/internal/network/NetworkConstants.kt | 7 +- .../internal/network/NetworkInfoReceiver.kt | 1 - .../internal/network/ProgressRequestBody.kt | 5 +- .../android/sdk/internal/network/Request.kt | 1 - .../internal/network/RetrofitExtensions.kt | 1 - .../sdk/internal/network/RetrofitFactory.kt | 1 - .../internal/network/TimeOutInterceptor.kt | 1 - .../internal/network/UnitConverterFactory.kt | 17 +- .../sdk/internal/network/UserAgentHolder.kt | 1 - .../internal/network/UserAgentInterceptor.kt | 1 - .../network/httpclient/OkHttpClientUtil.kt | 1 - .../network/parsing/CheckNumberType.kt | 4 +- .../parsing/CipherSuiteMoshiAdapter.kt | 34 +++ .../network/parsing/ForceToBoolean.kt | 1 - .../parsing/RuntimeJsonAdapterFactory.java | 1 - .../parsing/TlsVersionMoshiAdapter.kt} | 26 ++- .../network/parsing/UriMoshiAdapter.kt | 1 - .../sdk/internal/network/ssl/CertUtil.kt | 1 - .../sdk/internal/network/ssl/Fingerprint.kt | 1 - .../network/ssl/PinnedTrustManager.kt | 1 - .../network/ssl/PinnedTrustManagerApi24.kt | 1 - .../network/ssl/PinnedTrustManagerProvider.kt | 1 - .../internal/network/ssl/TLSSocketFactory.kt | 5 - .../ssl/UnrecognizedCertificateException.kt | 1 - .../network/token/AccessTokenProvider.kt | 1 - .../token/HomeserverAccessTokenProvider.kt | 1 - .../internal/query/QueryEnumListProcessor.kt | 1 - .../query/QueryStringValueProcessor.kt | 1 - .../internal/raw/DefaultCleanRawCacheTask.kt | 1 - .../sdk/internal/raw/DefaultGetUrlTask.kt | 5 +- .../sdk/internal/raw/DefaultRawService.kt | 2 +- .../sdk/internal/raw/GlobalRealmModule.kt | 1 - .../matrix/android/sdk/internal/raw/RawAPI.kt | 1 - .../android/sdk/internal/raw/RawModule.kt | 1 - .../internal/session/DefaultFileService.kt | 7 +- .../DefaultInitialSyncProgressService.kt | 1 - .../sdk/internal/session/DefaultSession.kt | 5 +- .../session/EventInsertLiveProcessor.kt | 1 - .../sdk/internal/session/SessionComponent.kt | 5 +- .../session/SessionLifecycleObserver.kt | 1 - .../sdk/internal/session/SessionListeners.kt | 1 - .../sdk/internal/session/SessionModule.kt | 1 - .../sdk/internal/session/SessionScope.kt | 1 - .../sdk/internal/session/TestInterceptor.kt | 1 - .../internal/session/account/AccountAPI.kt | 1 - .../internal/session/account/AccountModule.kt | 1 - .../session/account/ChangePasswordParams.kt | 1 - .../session/account/ChangePasswordTask.kt | 1 - .../account/DeactivateAccountParams.kt | 1 - .../session/account/DeactivateAccountTask.kt | 1 - .../session/account/DefaultAccountService.kt | 1 - .../sdk/internal/session/cache/CacheModule.kt | 1 - .../internal/session/cache/ClearCacheTask.kt | 1 - .../session/cache/DefaultCacheService.kt | 1 - .../session/call/ActiveCallHandler.kt | 2 +- .../session/call/CallEventProcessor.kt | 1 - .../sdk/internal/session/call/CallModule.kt | 1 - .../call/DefaultCallSignalingService.kt | 13 +- .../session/call/GetTurnServerTask.kt | 1 - .../sdk/internal/session/call/VoipApi.kt | 1 - .../internal/session/call/model/MxCallImpl.kt | 1 - .../session/cleanup/CleanupSession.kt | 1 - .../internal/session/content/ContentModule.kt | 1 - .../session/content/ContentUploadResponse.kt | 1 - .../DefaultContentUploadStateTracker.kt | 1 - .../content/DefaultContentUrlResolver.kt | 1 - .../internal/session/content/FileUploader.kt | 5 +- .../session/content/ImageCompressor.kt | 13 +- .../session/content/ThumbnailExtractor.kt | 1 - .../session/content/UploadContentWorker.kt | 171 +++++++------- .../DefaultContentDownloadStateTracker.kt | 7 +- .../download/DownloadProgressInterceptor.kt | 1 - .../session/download/ProgressResponseBody.kt | 1 - .../session/filter/DefaultFilterRepository.kt | 1 - .../session/filter/DefaultFilterService.kt | 1 - .../session/filter/DefaultSaveFilterTask.kt | 1 - .../internal/session/filter/EventFilter.kt | 1 - .../sdk/internal/session/filter/Filter.kt | 1 - .../sdk/internal/session/filter/FilterApi.kt | 1 - .../internal/session/filter/FilterFactory.kt | 1 - .../internal/session/filter/FilterModule.kt | 1 - .../session/filter/FilterRepository.kt | 1 - .../internal/session/filter/FilterResponse.kt | 1 - .../sdk/internal/session/filter/FilterUtil.kt | 1 - .../session/filter/RoomEventFilter.kt | 1 - .../sdk/internal/session/filter/RoomFilter.kt | 1 - .../session/group/DefaultGetGroupDataTask.kt | 1 - .../internal/session/group/DefaultGroup.kt | 1 - .../session/group/DefaultGroupService.kt | 1 - .../session/group/GetGroupDataWorker.kt | 24 +- .../sdk/internal/session/group/GroupAPI.kt | 1 - .../internal/session/group/GroupFactory.kt | 1 - .../sdk/internal/session/group/GroupModule.kt | 1 - .../session/group/model/GroupProfile.kt | 1 - .../internal/session/group/model/GroupRoom.kt | 1 - .../session/group/model/GroupRooms.kt | 1 - .../group/model/GroupSummaryResponse.kt | 1 - .../group/model/GroupSummaryRoomsSection.kt | 1 - .../session/group/model/GroupSummaryUser.kt | 1 - .../group/model/GroupSummaryUsersSection.kt | 1 - .../internal/session/group/model/GroupUser.kt | 1 - .../session/group/model/GroupUsers.kt | 1 - .../session/homeserver/CapabilitiesAPI.kt | 1 - .../DefaultGetHomeServerCapabilitiesTask.kt | 1 - .../DefaultHomeServerCapabilitiesService.kt | 1 - .../homeserver/GetCapabilitiesResult.kt | 1 - .../homeserver/GetUploadCapabilitiesResult.kt | 1 - .../HomeServerCapabilitiesModule.kt | 1 - .../session/homeserver/HomeServerPinger.kt | 1 - .../identity/DefaultIdentityService.kt | 7 +- .../session/identity/EnsureIdentityToken.kt | 1 - .../internal/session/identity/IdentityAPI.kt | 1 - .../identity/IdentityAccessTokenProvider.kt | 1 - .../session/identity/IdentityApiProvider.kt | 1 - .../session/identity/IdentityAuthAPI.kt | 1 - .../identity/IdentityBulkLookupTask.kt | 1 - .../identity/IdentityDisconnectTask.kt | 1 - .../session/identity/IdentityModule.kt | 1 - .../session/identity/IdentityPingTask.kt | 1 - .../session/identity/IdentityRegisterTask.kt | 1 - .../IdentityRequestTokenForBindingTask.kt | 1 - .../IdentitySubmitTokenForBindingTask.kt | 1 - .../session/identity/IdentityTaskHelper.kt | 1 - .../session/identity/data/IdentityData.kt | 1 - .../identity/data/IdentityPendingBinding.kt | 1 - .../session/identity/data/IdentityStore.kt | 1 - .../session/identity/db/IdentityDataEntity.kt | 1 - .../identity/db/IdentityDataEntityQuery.kt | 1 - .../session/identity/db/IdentityMapper.kt | 1 - .../db/IdentityPendingBindingEntity.kt | 1 - .../db/IdentityPendingBindingEntityQuery.kt | 1 - .../identity/db/IdentityRealmModule.kt | 1 - .../session/identity/db/RealmIdentityStore.kt | 1 - .../identity/model/IdentityAccountResponse.kt | 1 - .../model/IdentityHashDetailResponse.kt | 1 - .../identity/model/IdentityLookUpParams.kt | 1 - .../identity/model/IdentityLookUpResponse.kt | 1 - .../model/IdentityRegisterResponse.kt | 1 - .../model/IdentityRequestOwnershipParams.kt | 1 - .../model/IdentityRequestTokenBody.kt | 1 - .../model/IdentityRequestTokenResponse.kt | 1 - .../AllowedWidgetsContent.kt | 1 - .../DefaultIntegrationManagerService.kt | 1 - .../integrationmanager/IntegrationManager.kt | 1 - .../IntegrationManagerConfigExtractor.kt | 1 - .../IntegrationManagerModule.kt | 1 - .../IntegrationManagerWidgetData.kt | 1 - .../IntegrationProvisioningContent.kt | 1 - .../notification/DefaultPushRuleService.kt | 1 - .../notification/ProcessEventForPushTask.kt | 1 - .../session/openid/GetOpenIdTokenTask.kt | 1 - .../sdk/internal/session/openid/OpenIdAPI.kt | 1 - .../internal/session/openid/OpenIdModule.kt | 1 - .../openid/RequestOpenIdTokenResponse.kt | 1 - .../permalinks/DefaultPermalinkService.kt | 1 - .../session/permalinks/PermalinkFactory.kt | 1 - .../profile/AccountThreePidsResponse.kt | 1 - .../internal/session/profile/AddEmailBody.kt | 1 - .../session/profile/AddEmailResponse.kt | 1 - .../internal/session/profile/AddMsisdnBody.kt | 1 - .../session/profile/AddMsisdnResponse.kt | 1 - .../session/profile/AddThreePidTask.kt | 3 +- .../session/profile/BindThreePidBody.kt | 1 - .../session/profile/BindThreePidsTask.kt | 1 - .../session/profile/DefaultProfileService.kt | 1 - .../session/profile/DeleteThreePidBody.kt | 1 - .../session/profile/DeleteThreePidResponse.kt | 1 - .../session/profile/DeleteThreePidTask.kt | 1 - .../profile/FinalizeAddThreePidBody.kt | 1 - .../profile/FinalizeAddingThreePidTask.kt | 1 - .../session/profile/GetProfileInfoTask.kt | 1 - .../session/profile/PendingThreePid.kt | 2 +- .../session/profile/PendingThreePidMapper.kt | 2 +- .../internal/session/profile/ProfileAPI.kt | 1 - .../internal/session/profile/ProfileModule.kt | 1 - .../profile/RefreshUserThreePidsTask.kt | 4 +- .../session/profile/SetAvatarUrlBody.kt | 1 - .../session/profile/SetAvatarUrlTask.kt | 1 - .../session/profile/SetDisplayNameBody.kt | 1 - .../session/profile/SetDisplayNameTask.kt | 1 - .../session/profile/ThirdPartyIdentifier.kt | 1 - .../session/profile/UnbindThreePidBody.kt | 1 - .../session/profile/UnbindThreePidResponse.kt | 1 - .../session/profile/UnbindThreePidsTask.kt | 1 - .../session/profile/ValidateSmsCodeTask.kt | 1 - .../session/pushers/AddHttpPusherWorker.kt | 26 +-- .../session/pushers/AddPushRuleTask.kt | 1 - .../pushers/DefaultConditionResolver.kt | 1 - .../session/pushers/DefaultPushersService.kt | 15 +- .../session/pushers/GetPushRulesTask.kt | 1 - .../session/pushers/GetPushersResponse.kt | 1 - .../session/pushers/GetPushersTask.kt | 1 - .../internal/session/pushers/JsonPusher.kt | 1 - .../session/pushers/JsonPusherData.kt | 1 - .../internal/session/pushers/PushRulesApi.kt | 1 - .../internal/session/pushers/PushersAPI.kt | 1 - .../internal/session/pushers/PushersModule.kt | 6 +- .../session/pushers/RemovePushRuleTask.kt | 1 - .../session/pushers/RemovePusherTask.kt | 1 - .../session/pushers/SavePushRulesTask.kt | 1 - .../pushers/UpdatePushRuleActionsTask.kt | 1 - .../pushers/UpdatePushRuleEnableStatusTask.kt | 1 - .../session/pushers/gateway/PushGatewayAPI.kt | 31 +++ .../pushers/gateway/PushGatewayDevice.kt | 34 +++ .../gateway/PushGatewayNotification.kt | 32 +++ .../pushers/gateway/PushGatewayNotifyBody.kt | 29 +++ .../gateway/PushGatewayNotifyResponse.kt | 26 +++ .../pushers/gateway/PushGatewayNotifyTask.kt | 68 ++++++ .../sdk/internal/session/room/DefaultRoom.kt | 30 ++- .../room/DefaultRoomDirectoryService.kt | 1 - .../session/room/DefaultRoomService.kt | 1 - .../EventRelationsAggregationProcessor.kt | 1 - .../sdk/internal/session/room/RoomAPI.kt | 1 - .../session/room/RoomAvatarResolver.kt | 1 - .../sdk/internal/session/room/RoomFactory.kt | 8 +- .../sdk/internal/session/room/RoomGetter.kt | 1 - .../sdk/internal/session/room/RoomModule.kt | 1 - .../session/room/alias/AddRoomAliasBody.kt | 1 - .../session/room/alias/AddRoomAliasTask.kt | 1 - .../room/alias/GetRoomIdByAliasTask.kt | 1 - .../room/alias/RoomAliasDescription.kt | 1 - .../room/call/DefaultRoomCallService.kt | 1 - .../session/room/create/CreateRoomBody.kt | 1 - .../room/create/CreateRoomBodyBuilder.kt | 1 - .../session/room/create/CreateRoomResponse.kt | 1 - .../session/room/create/CreateRoomTask.kt | 1 - .../room/create/RoomCreateEventProcessor.kt | 1 - .../room/directory/GetPublicRoomTask.kt | 1 - .../directory/GetThirdPartyProtocolsTask.kt | 1 - .../session/room/draft/DefaultDraftService.kt | 8 +- .../session/room/draft/DraftRepository.kt | 118 ++++------ .../membership/DefaultMembershipService.kt | 1 - .../room/membership/LoadRoomMembersTask.kt | 1 - .../RoomChangeMembershipStateDataSource.kt | 1 - .../membership/RoomDisplayNameResolver.kt | 7 +- .../membership/RoomMemberEntityFactory.kt | 1 - .../room/membership/RoomMemberEventHandler.kt | 1 - .../room/membership/RoomMemberHelper.kt | 1 - .../room/membership/RoomMembersResponse.kt | 1 - .../membership/admin/MembershipAdminTask.kt | 1 - .../room/membership/admin/UserIdAndReason.kt | 1 - .../room/membership/joining/InviteBody.kt | 1 - .../room/membership/joining/InviteTask.kt | 1 - .../room/membership/joining/JoinRoomTask.kt | 1 - .../room/membership/leaving/LeaveRoomTask.kt | 1 - .../membership/threepid/InviteThreePidTask.kt | 1 - .../membership/threepid/ThreePidInviteBody.kt | 1 - .../DefaultRoomPushRuleService.kt | 1 - .../session/room/notification/RoomPushRule.kt | 1 - .../room/notification/RoomPushRuleMapper.kt | 1 - .../SetRoomNotificationStateTask.kt | 1 - .../room/prune/RedactionEventProcessor.kt | 1 - .../session/room/read/DefaultReadService.kt | 11 +- .../session/room/read/FullyReadContent.kt | 1 - .../session/room/read/MarkAllRoomsReadTask.kt | 1 - .../session/room/read/SetReadMarkersTask.kt | 1 - .../room/relation/DefaultRelationService.kt | 5 +- .../room/relation/FetchEditHistoryTask.kt | 1 - .../relation/FindReactionEventForUndoTask.kt | 1 - .../room/relation/RelationsResponse.kt | 1 - .../room/relation/SendRelationWorker.kt | 39 ++-- .../room/relation/UpdateQuickReactionTask.kt | 1 - .../room/reporting/DefaultReportingService.kt | 1 - .../room/reporting/ReportContentBody.kt | 1 - .../room/reporting/ReportContentTask.kt | 1 - .../session/room/send/CancelSendTracker.kt | 1 - .../session/room/send/DefaultSendService.kt | 10 +- .../session/room/send/EncryptEventWorker.kt | 61 +++-- .../room/send/LocalEchoEventFactory.kt | 3 +- .../session/room/send/LocalEchoIdentifiers.kt | 25 +++ .../session/room/send/LocalEchoRepository.kt | 50 +++-- .../session/room/send/MarkdownParser.kt | 7 +- .../MultipleEventSendingDispatcherWorker.kt | 70 +++--- .../internal/session/room/send/NoMerger.kt | 1 - .../session/room/send/RedactEventWorker.kt | 32 ++- .../session/room/send/RoomEventSender.kt | 5 +- .../session/room/send/SendEventWorker.kt | 37 ++- .../session/room/send/SendResponse.kt | 1 - .../internal/session/room/send/TextContent.kt | 1 - .../room/send/pills/MentionLinkSpec.kt | 1 - .../send/pills/MentionLinkSpecComparator.kt | 1 - .../session/room/send/pills/TextPillsUtils.kt | 1 - .../session/room/state/DefaultStateService.kt | 1 - .../session/room/state/SendStateTask.kt | 1 - .../room/state/StateEventDataSource.kt | 1 - .../room/summary/RoomSummaryDataSource.kt | 1 - .../room/summary/RoomSummaryEventsHelper.kt | 2 +- .../room/summary/RoomSummaryUpdater.kt | 2 +- .../session/room/tags/AddTagToRoomTask.kt | 1 - .../session/room/tags/DefaultTagsService.kt | 1 - .../room/tags/DeleteTagFromRoomTask.kt | 1 - .../sdk/internal/session/room/tags/TagBody.kt | 1 - .../timeline/DefaultGetContextOfEventTask.kt | 1 - .../room/timeline/DefaultPaginationTask.kt | 1 - .../session/room/timeline/DefaultTimeline.kt | 32 ++- .../room/timeline/DefaultTimelineService.kt | 1 - .../room/timeline/EventContextResponse.kt | 1 - .../timeline/FetchTokenAndPaginateTask.kt | 1 - .../session/room/timeline/GetEventTask.kt | 1 - .../room/timeline/PaginationDirection.kt | 1 - .../room/timeline/PaginationResponse.kt | 1 - .../room/timeline/TimelineEventDecryptor.kt | 2 +- .../timeline/TimelineHiddenReadReceipts.kt | 1 - .../timeline/TimelineSendEventWorkCommon.kt | 1 - .../session/room/timeline/TokenChunkEvent.kt | 1 - .../room/timeline/TokenChunkEventPersistor.kt | 1 - .../tombstone/RoomTombstoneEventProcessor.kt | 1 - .../room/typing/DefaultTypingService.kt | 2 +- .../session/room/typing/SendTypingTask.kt | 1 - .../session/room/typing/TypingBody.kt | 1 - .../session/room/typing/TypingEventContent.kt | 1 - .../room/uploads/DefaultUploadsService.kt | 1 - .../session/room/uploads/GetUploadsTask.kt | 1 - .../session/search/DefaultSearchService.kt | 55 +++++ .../sdk/internal/session/search/SearchAPI.kt | 36 +++ .../internal/session/search/SearchModule.kt | 44 ++++ .../sdk/internal/session/search/SearchTask.kt | 97 ++++++++ .../search/request/SearchRequestBody.kt | 29 +++ .../search/request/SearchRequestCategories.kt | 29 +++ .../request/SearchRequestEventContext.kt | 33 +++ .../search/request/SearchRequestFilter.kt | 30 +++ .../search/request/SearchRequestOrder.kt | 29 +++ .../search/request/SearchRequestRoomEvents.kt | 64 ++++++ .../session/search/response/SearchResponse.kt | 29 +++ .../response/SearchResponseCategories.kt | 29 +++ .../response/SearchResponseEventContext.kt | 41 ++++ .../search/response/SearchResponseItem.kt | 42 ++++ .../response/SearchResponseRoomEvents.kt | 42 ++++ .../DefaultSecureStorageService.kt | 1 - .../securestorage/SecretStoringUtils.kt | 1 - .../session/signout/DefaultSignOutService.kt | 1 - .../session/signout/SignInAgainTask.kt | 1 - .../internal/session/signout/SignOutAPI.kt | 1 - .../internal/session/signout/SignOutModule.kt | 1 - .../internal/session/signout/SignOutTask.kt | 1 - .../session/sync/CryptoSyncHandler.kt | 1 - .../internal/session/sync/GroupSyncHandler.kt | 1 - .../session/sync/ReadReceiptHandler.kt | 7 +- .../session/sync/RoomFullyReadHandler.kt | 1 - .../internal/session/sync/RoomSyncHandler.kt | 1 - .../internal/session/sync/RoomTagHandler.kt | 3 +- .../session/sync/RoomTypingUsersHandler.kt | 1 - .../sdk/internal/session/sync/SyncAPI.kt | 1 - .../sdk/internal/session/sync/SyncModule.kt | 1 - .../sdk/internal/session/sync/SyncPresence.kt | 31 +++ .../session/sync/SyncResponseHandler.kt | 3 +- .../sdk/internal/session/sync/SyncTask.kt | 9 +- .../session/sync/SyncTaskSequencer.kt | 1 - .../internal/session/sync/SyncTokenStore.kt | 1 - .../sync/UserAccountDataSyncHandler.kt | 1 - .../internal/session/sync/job/SyncService.kt | 4 +- .../internal/session/sync/job/SyncThread.kt | 4 +- .../internal/session/sync/job/SyncWorker.kt | 25 ++- .../internal/session/sync/model/DeviceInfo.kt | 1 - .../session/sync/model/DeviceListResponse.kt | 1 - .../DeviceOneTimeKeysCountSyncResponse.kt | 1 - .../session/sync/model/DevicesListResponse.kt | 1 - .../session/sync/model/GroupSyncProfile.kt | 1 - .../session/sync/model/GroupsSyncResponse.kt | 1 - .../session/sync/model/InvitedGroupSync.kt | 1 - .../session/sync/model/InvitedRoomSync.kt | 1 - .../sync/model/PresenceSyncResponse.kt | 1 - .../session/sync/model/RoomInviteState.kt | 1 - .../session/sync/model/RoomResponse.kt | 1 - .../internal/session/sync/model/RoomSync.kt | 1 - .../session/sync/model/RoomSyncAccountData.kt | 1 - .../session/sync/model/RoomSyncEphemeral.kt | 1 - .../session/sync/model/RoomSyncState.kt | 1 - .../session/sync/model/RoomSyncSummary.kt | 1 - .../session/sync/model/RoomSyncTimeline.kt | 1 - .../sync/model/RoomSyncUnreadNotifications.kt | 1 - .../session/sync/model/RoomsSyncResponse.kt | 1 - .../session/sync/model/SyncResponse.kt | 1 - .../sync/model/ToDeviceSyncResponse.kt | 1 - .../session/sync/model/TokensChunkResponse.kt | 1 - .../model/accountdata/AcceptedTermsContent.kt | 1 - .../model/accountdata/BreadcrumbsContent.kt | 1 - .../accountdata/DirectMessagesContent.kt | 1 - .../accountdata/IdentityServerContent.kt | 1 - .../model/accountdata/IgnoredUsersContent.kt | 1 - .../model/accountdata/UserAccountDataSync.kt | 1 - .../internal/session/terms/AcceptTermsBody.kt | 1 - .../session/terms/DefaultTermsService.kt | 1 - .../sdk/internal/session/terms/TermsAPI.kt | 1 - .../sdk/internal/session/terms/TermsModule.kt | 1 - .../internal/session/terms/TermsResponse.kt | 1 - .../typing/DefaultTypingUsersTracker.kt | 1 - .../session/user/DefaultUserService.kt | 1 - .../internal/session/user/SearchUserAPI.kt | 1 - .../internal/session/user/UserDataSource.kt | 1 - .../session/user/UserEntityFactory.kt | 1 - .../sdk/internal/session/user/UserModule.kt | 1 - .../sdk/internal/session/user/UserStore.kt | 1 - .../user/accountdata/AccountDataAPI.kt | 1 - .../user/accountdata/AccountDataContent.kt | 1 - .../user/accountdata/AccountDataDataSource.kt | 1 - .../user/accountdata/AccountDataModule.kt | 1 - .../accountdata/DefaultAccountDataService.kt | 1 - .../user/accountdata/DirectChatsHelper.kt | 1 - .../user/accountdata/SaveBreadcrumbsTask.kt | 1 - .../user/accountdata/SaveIgnoredUsersTask.kt | 1 - .../user/accountdata/UpdateBreadcrumbsTask.kt | 1 - .../accountdata/UpdateIgnoredUserIdsTask.kt | 1 - .../accountdata/UpdateUserAccountDataTask.kt | 1 - .../internal/session/user/model/SearchUser.kt | 1 - .../session/user/model/SearchUserTask.kt | 1 - .../session/user/model/SearchUsersParams.kt | 1 - .../session/user/model/SearchUsersResponse.kt | 1 - .../session/widgets/CreateWidgetTask.kt | 1 - .../widgets/DefaultWidgetPostAPIMediator.kt | 2 +- .../session/widgets/DefaultWidgetService.kt | 1 - .../widgets/DefaultWidgetURLFormatter.kt | 1 - .../session/widgets/RegisterWidgetResponse.kt | 1 - .../internal/session/widgets/WidgetManager.kt | 3 +- .../internal/session/widgets/WidgetModule.kt | 1 - .../widgets/WidgetPostMessageAPIProvider.kt | 1 - .../internal/session/widgets/WidgetsAPI.kt | 1 - .../session/widgets/WidgetsAPIProvider.kt | 1 - .../widgets/helper/UserAccountWidgets.kt | 1 - .../session/widgets/helper/WidgetFactory.kt | 1 - .../widgets/token/GetScalarTokenTask.kt | 1 - .../session/widgets/token/ScalarTokenStore.kt | 1 - .../sdk/internal/task/ConfigurableTask.kt | 1 - .../sdk/internal/task/CoroutineSequencer.kt | 1 - .../sdk/internal/task/CoroutineToCallback.kt | 1 - .../matrix/android/sdk/internal/task/Task.kt | 1 - .../android/sdk/internal/task/TaskExecutor.kt | 1 - .../android/sdk/internal/task/TaskThread.kt | 1 - .../util/BackgroundDetectionObserver.kt | 1 - .../android/sdk/internal/util/Base64.kt | 1 - .../sdk/internal/util/CancelableCoroutine.kt | 1 - .../sdk/internal/util/CancelableWork.kt | 1 - .../android/sdk/internal/util/CompatUtil.kt | 1 - .../android/sdk/internal/util/Debouncer.kt | 1 - .../android/sdk/internal/util/Exhaustive.kt | 1 - .../android/sdk/internal/util/FileSaver.kt | 1 - .../matrix/android/sdk/internal/util/Glob.kt | 1 - .../android/sdk/internal/util/Handler.kt | 1 - .../matrix/android/sdk/internal/util/Hash.kt | 1 - .../sdk/internal/util/JsonCanonicalizer.kt | 1 - .../sdk/internal/util/LiveDataUtils.kt | 1 - .../util/MatrixCoroutineDispatchers.kt | 1 - .../android/sdk/internal/util/Monarchy.kt | 3 +- .../sdk/internal/util/SecretKeyAndVersion.kt | 1 - .../sdk/internal/util/StringProvider.kt | 1 - .../android/sdk/internal/util/StringUtils.kt | 1 - .../internal/util/SuspendMatrixCallback.kt | 27 +-- .../android/sdk/internal/util/UrlUtils.kt | 1 - .../internal/wellknown/GetWellknownTask.kt | 1 - .../sdk/internal/wellknown/WellKnownAPI.kt | 1 - .../sdk/internal/wellknown/WellknownModule.kt | 1 - .../internal/worker/AlwaysSuccessfulWorker.kt | 1 - .../internal/worker/DelegateWorkerFactory.kt | 1 - .../android/sdk/internal/worker/Extensions.kt | 1 - .../internal/worker/MatrixWorkerFactory.kt | 1 - .../worker/SessionSafeCoroutineWorker.kt | 102 +++++++++ .../internal/worker/SessionWorkerParams.kt | 1 - .../android/sdk/internal/worker/Worker.kt | 1 - .../internal/worker/WorkerParamsFactory.kt | 19 +- .../androidsdk/crypto/data/MXDeviceInfo.java | 1 - .../data/MXOlmInboundGroupSession2.java | 1 - .../src/main/res/values-bn-rIN/strings.xml | 37 +-- .../src/main/res/values-cs/strings.xml | 212 ++++++++++++++---- .../src/main/res/values-de/strings.xml | 67 ++---- .../src/main/res/values-et/strings.xml | 70 +++--- .../src/main/res/values-fa/strings.xml | 104 ++++++++- .../src/main/res/values-it/strings.xml | 68 +++--- .../src/main/res/values-kab/strings.xml | 49 +--- .../src/main/res/values-pt-rBR/strings.xml | 80 +++---- .../main/res/values-pt-rBR/strings_sas.xml | 68 ++++++ .../src/main/res/values-ru/strings.xml | 71 ++---- .../src/main/res/values-sk/strings.xml | 48 +--- .../src/main/res/values-sq/strings.xml | 92 ++++++++ .../src/main/res/values-sv/strings.xml | 60 +++-- .../src/main/res/values-sv/strings_sas.xml | 6 +- .../src/main/res/values-zh-rCN/strings.xml | 61 ++--- .../main/res/values-zh-rCN/strings_sas.xml | 58 +++++ .../src/main/res/values-zh-rTW/strings.xml | 65 ++---- .../src/main/res/values/strings.xml | 22 ++ .../interceptors/CurlLoggingInterceptor.kt | 2 +- .../interceptors/FormattedJsonHttpLogger.kt | 2 +- .../android/sdk/test/shared/TestRules.kt | 2 +- .../java/org/matrix/android/sdk/MatrixTest.kt | 2 +- .../sdk/api/auth/data/VersionsKtTest.kt | 2 +- .../sdk/api/pushrules/PushRuleActionsTest.kt | 2 +- .../api/pushrules/PushrulesConditionTest.kt | 2 +- .../crypto/keysbackup/util/Base58Test.kt | 2 +- .../crypto/keysbackup/util/RecoveryKeyTest.kt | 2 +- .../internal/crypto/store/db/HelperTest.kt | 2 +- .../verification/qrcode/BinaryStringTest.kt | 14 +- .../internal/task/CoroutineSequencersTest.kt | 2 +- 1240 files changed, 3520 insertions(+), 2634 deletions(-) create mode 100644 matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/encryption/EncryptionTest.kt create mode 100644 matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/search/SearchMessagesTest.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/pushers/PushGatewayFailure.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/search/SearchResult.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/search/SearchService.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/CipherSuiteMoshiAdapter.kt rename matrix-sdk-android/src/{androidTest/java/org/matrix/android/sdk/OkReplayRuleChainNoActivity.kt => main/java/org/matrix/android/sdk/internal/network/parsing/TlsVersionMoshiAdapter.kt} (54%) create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayAPI.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayDevice.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayNotification.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayNotifyBody.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayNotifyResponse.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayNotifyTask.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/LocalEchoIdentifiers.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/DefaultSearchService.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/SearchAPI.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/SearchModule.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/SearchTask.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestBody.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestCategories.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestEventContext.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestFilter.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestOrder.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestRoomEvents.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponse.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponseCategories.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponseEventContext.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponseItem.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponseRoomEvents.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncPresence.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/SessionSafeCoroutineWorker.kt create mode 100644 matrix-sdk-android/src/main/res/values-pt-rBR/strings_sas.xml diff --git a/matrix-sdk-android/build.gradle b/matrix-sdk-android/build.gradle index 15a00a5d..a184aea6 100644 --- a/matrix-sdk-android/build.gradle +++ b/matrix-sdk-android/build.gradle @@ -3,7 +3,6 @@ apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-android-extensions' apply plugin: 'realm-android' -apply plugin: 'okreplay' buildscript { repositories { @@ -36,6 +35,10 @@ android { // that the app's state is completely cleared between tests. testInstrumentationRunnerArguments clearPackageData: 'true' + // Seems that the build tools 4.1.0 does not generate BuildConfig.VERSION_NAME anymore. + // Add it manually here. We may remove this trick in the future + buildConfigField "String", "VERSION_NAME", "\"0.0.1\"" + buildConfigField "String", "GIT_SDK_REVISION", "\"${gitRevision()}\"" resValue "string", "git_sdk_revision", "\"${gitRevision()}\"" resValue "string", "git_sdk_revision_unix_date", "\"${gitRevisionUnixDate()}\"" @@ -109,21 +112,21 @@ static def gitRevisionDate() { dependencies { def arrow_version = "0.8.2" - def moshi_version = '1.8.0' + def moshi_version = '1.11.0' def lifecycle_version = '2.2.0' def arch_version = '2.1.0' - def coroutines_version = "1.3.8" def markwon_version = '3.1.0' - def daggerVersion = '2.25.4' + def daggerVersion = '2.29.1' def work_version = '2.4.0' def retrofit_version = '2.6.2' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version" - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version" + implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version" + implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version" implementation "androidx.appcompat:appcompat:1.2.0" - implementation "androidx.core:core-ktx:1.3.1" + implementation "androidx.fragment:fragment:1.3.0-beta01" + implementation "androidx.core:core-ktx:1.3.2" implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version" @@ -143,7 +146,7 @@ dependencies { implementation "ru.noties.markwon:core:$markwon_version" // Image - implementation 'androidx.exifinterface:exifinterface:1.3.0-alpha01' + implementation 'androidx.exifinterface:exifinterface:1.3.0' // Database implementation 'com.github.Zhuinden:realm-monarchy:0.5.1' @@ -181,33 +184,29 @@ dependencies { // Use the same WebRTC library than the one used by Jitsi library implementation('com.facebook.react:react-native-webrtc:1.84.0-jitsi-5112273@aar') - debugImplementation 'com.airbnb.okreplay:okreplay:1.5.0' - releaseImplementation 'com.airbnb.okreplay:noop:1.5.0' - androidTestImplementation 'com.airbnb.okreplay:espresso:1.5.0' - - testImplementation 'junit:junit:4.12' + testImplementation 'junit:junit:4.13' testImplementation 'org.robolectric:robolectric:4.3' //testImplementation 'org.robolectric:shadows-support-v4:3.0' // Note: version sticks to 1.9.2 due to https://github.com/mockk/mockk/issues/281 testImplementation 'io.mockk:mockk:1.9.2.kotlin12' - testImplementation 'org.amshove.kluent:kluent-android:1.44' - testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version" + testImplementation 'org.amshove.kluent:kluent-android:1.61' + testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version" // Plant Timber tree for test testImplementation 'net.lachlanmckee:timber-junit-rule:1.0.1' kaptAndroidTest "com.google.dagger:dagger-compiler:$daggerVersion" - androidTestImplementation 'androidx.test:core:1.2.0' - androidTestImplementation 'androidx.test:runner:1.2.0' - androidTestImplementation 'androidx.test:rules:1.2.0' - androidTestImplementation 'androidx.test.ext:junit:1.1.1' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' - androidTestImplementation 'org.amshove.kluent:kluent-android:1.44' + androidTestImplementation 'androidx.test:core:1.3.0' + androidTestImplementation 'androidx.test:runner:1.3.0' + androidTestImplementation 'androidx.test:rules:1.3.0' + androidTestImplementation 'androidx.test.ext:junit:1.1.2' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' + androidTestImplementation 'org.amshove.kluent:kluent-android:1.61' // Note: version sticks to 1.9.2 due to https://github.com/mockk/mockk/issues/281 androidTestImplementation 'io.mockk:mockk-android:1.9.2.kotlin12' androidTestImplementation "androidx.arch.core:core-testing:$arch_version" - androidTestImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version" + androidTestImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version" // Plant Timber tree for test androidTestImplementation 'net.lachlanmckee:timber-junit-rule:1.0.1' - androidTestUtil 'androidx.test:orchestrator:1.2.0' + androidTestUtil 'androidx.test:orchestrator:1.3.0' } diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/InstrumentedTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/InstrumentedTest.kt index cb6e624b..b7848843 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/InstrumentedTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/InstrumentedTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/LiveDataTestObserver.java b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/LiveDataTestObserver.java index a09a6550..26920fbb 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/LiveDataTestObserver.java +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/LiveDataTestObserver.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/MainThreadExecutor.java b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/MainThreadExecutor.java index d26782d5..7ef25340 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/MainThreadExecutor.java +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/MainThreadExecutor.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/SingleThreadCoroutineDispatcher.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/SingleThreadCoroutineDispatcher.kt index 4316b09b..9942ea9d 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/SingleThreadCoroutineDispatcher.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/SingleThreadCoroutineDispatcher.kt @@ -1,5 +1,5 @@ /* - * Copyright 2019 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/account/AccountCreationTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/account/AccountCreationTest.kt index cbb5af59..5dede9dc 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/account/AccountCreationTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/account/AccountCreationTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/account/ChangePasswordTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/account/ChangePasswordTest.kt index e2140328..ec5477f9 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/account/ChangePasswordTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/account/ChangePasswordTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/account/DeactivateAccountTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/account/DeactivateAccountTest.kt index 36d09fb4..a6fbfd9b 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/account/DeactivateAccountTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/account/DeactivateAccountTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/api/Matrix.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/api/Matrix.kt index 751b2a70..0d71af86 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/api/Matrix.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/api/Matrix.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ package org.matrix.android.sdk.api import android.content.Context +import android.os.Handler +import android.os.Looper import androidx.lifecycle.ProcessLifecycleOwner import androidx.work.Configuration import androidx.work.WorkManager @@ -48,13 +50,17 @@ class Matrix private constructor(context: Context, matrixConfiguration: MatrixCo @Inject internal lateinit var olmManager: OlmManager @Inject internal lateinit var sessionManager: SessionManager + private val uiHandler = Handler(Looper.getMainLooper()) + init { Monarchy.init(context) DaggerTestMatrixComponent.factory().create(context, matrixConfiguration).inject(this) if (context.applicationContext !is Configuration.Provider) { WorkManager.initialize(context, Configuration.Builder().setExecutor(Executors.newCachedThreadPool()).build()) } - ProcessLifecycleOwner.get().lifecycle.addObserver(backgroundDetectionObserver) + uiHandler.post { + ProcessLifecycleOwner.get().lifecycle.addObserver(backgroundDetectionObserver) + } } fun getUserAgent() = userAgentHolder.userAgent diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/CommonTestHelper.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/CommonTestHelper.kt index fdbfa57b..1c912b36 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/CommonTestHelper.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/CommonTestHelper.kt @@ -1,6 +1,5 @@ /* - * Copyright 2016 OpenMarket Ltd - * Copyright 2018 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -218,7 +217,7 @@ class CommonTestHelper(context: Context) { .createAccount(userName, password, null, it) } - // Preform dummy step + // Perform dummy step val registrationResult = doSync<RegistrationResult> { matrix.authenticationService .getRegistrationWizard() diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/CryptoTestData.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/CryptoTestData.kt index 283ddd6f..76e59d9a 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/CryptoTestData.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/CryptoTestData.kt @@ -1,5 +1,5 @@ /* - * Copyright 2018 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/CryptoTestHelper.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/CryptoTestHelper.kt index 9765d35b..370b416f 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/CryptoTestHelper.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/CryptoTestHelper.kt @@ -1,5 +1,5 @@ /* - * Copyright 2018 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/MockOkHttpInterceptor.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/MockOkHttpInterceptor.kt index a9bd9403..e7978a9c 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/MockOkHttpInterceptor.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/MockOkHttpInterceptor.kt @@ -1,5 +1,5 @@ /* - * Copyright 2019 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/SessionTestParams.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/SessionTestParams.kt index 287cafcd..428d44b6 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/SessionTestParams.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/SessionTestParams.kt @@ -1,5 +1,5 @@ /* - * Copyright 2018 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestAssertUtil.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestAssertUtil.kt index d972ad62..2253360a 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestAssertUtil.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestAssertUtil.kt @@ -1,5 +1,5 @@ /* - * Copyright 2018 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestConstants.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestConstants.kt index cbfc9bbb..8eb7e251 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestConstants.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestConstants.kt @@ -1,5 +1,5 @@ /* - * Copyright 2018 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestMatrixCallback.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestMatrixCallback.kt index 800c6ae7..c2e1ec0f 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestMatrixCallback.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestMatrixCallback.kt @@ -1,5 +1,5 @@ /* - * Copyright 2018 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestMatrixComponent.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestMatrixComponent.kt index e2ab16ca..33de3456 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestMatrixComponent.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestMatrixComponent.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestModule.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestModule.kt index c3b11d65..3e4d5fe0 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestModule.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestModule.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestNetworkModule.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestNetworkModule.kt index 80467d91..4cd92ca2 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestNetworkModule.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/TestNetworkModule.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/AttachmentEncryptionTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/AttachmentEncryptionTest.kt index 1e109f11..b6cb7f9e 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/AttachmentEncryptionTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/AttachmentEncryptionTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2019 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/CryptoStoreHelper.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/CryptoStoreHelper.kt index 261c0903..75ccce0d 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/CryptoStoreHelper.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/CryptoStoreHelper.kt @@ -1,5 +1,5 @@ /* - * Copyright 2018 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,7 +16,6 @@ package org.matrix.android.sdk.internal.crypto -import org.matrix.android.sdk.api.auth.data.Credentials import org.matrix.android.sdk.internal.crypto.store.IMXCryptoStore import org.matrix.android.sdk.internal.crypto.store.db.RealmCryptoStore import org.matrix.android.sdk.internal.crypto.store.db.RealmCryptoStoreModule @@ -34,14 +33,8 @@ internal class CryptoStoreHelper { .modules(RealmCryptoStoreModule()) .build(), crossSigningKeysMapper = CrossSigningKeysMapper(MoshiProvider.providesMoshi()), - credentials = createCredential()) + userId = "userId_" + Random.nextInt(), + deviceId = "deviceId_sample" + ) } - - fun createCredential() = Credentials( - userId = "userId_" + Random.nextInt(), - homeServer = "http://matrix.org", - accessToken = "access_token", - refreshToken = null, - deviceId = "deviceId_sample" - ) } diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/CryptoStoreTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/CryptoStoreTest.kt index 79477e3a..1d838b5c 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/CryptoStoreTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/CryptoStoreTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2018 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/ExportEncryptionTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/ExportEncryptionTest.kt index 0ee79c2e..17664c78 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/ExportEncryptionTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/ExportEncryptionTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2018 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/UnwedgingTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/UnwedgingTest.kt index e5e71f39..0e3b2911 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/UnwedgingTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/UnwedgingTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,7 +18,7 @@ package org.matrix.android.sdk.internal.crypto import androidx.test.ext.junit.runners.AndroidJUnit4 import org.matrix.android.sdk.InstrumentedTest -import org.matrix.android.sdk.api.extensions.tryThis +import org.matrix.android.sdk.api.extensions.tryOrNull import org.matrix.android.sdk.api.session.crypto.MXCryptoError import org.matrix.android.sdk.api.session.events.model.EventType import org.matrix.android.sdk.api.session.events.model.toModel @@ -212,7 +212,7 @@ class UnwedgingTest : InstrumentedTest { mTestHelper.waitWithLatch { mTestHelper.retryPeriodicallyWithLatch(it) { // we should get back the key and be able to decrypt - val result = tryThis { + val result = tryOrNull { bobSession.cryptoService().decryptEvent(messagesReceivedByBob[0].root, "") } Timber.i("## CRYPTO | testUnwedging: decrypt result ${result?.clearEvent}") diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/crosssigning/ExtensionsKtTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/crosssigning/ExtensionsKtTest.kt index 9467e861..9fa7458e 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/crosssigning/ExtensionsKtTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/crosssigning/ExtensionsKtTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/crosssigning/XSigningTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/crosssigning/XSigningTest.kt index 09f14032..38c57bd2 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/crosssigning/XSigningTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/crosssigning/XSigningTest.kt @@ -1,3 +1,19 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.matrix.android.sdk.internal.crypto.crosssigning import androidx.test.ext.junit.runners.AndroidJUnit4 diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/encryption/EncryptionTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/encryption/EncryptionTest.kt new file mode 100644 index 00000000..e42059c6 --- /dev/null +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/encryption/EncryptionTest.kt @@ -0,0 +1,111 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.crypto.encryption + +import androidx.test.ext.junit.runners.AndroidJUnit4 +import org.amshove.kluent.shouldBe +import org.junit.FixMethodOrder +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.MethodSorters +import org.matrix.android.sdk.InstrumentedTest +import org.matrix.android.sdk.api.NoOpMatrixCallback +import org.matrix.android.sdk.api.session.events.model.EventType +import org.matrix.android.sdk.api.session.events.model.toContent +import org.matrix.android.sdk.api.session.room.Room +import org.matrix.android.sdk.api.session.room.send.SendState +import org.matrix.android.sdk.api.session.room.timeline.Timeline +import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent +import org.matrix.android.sdk.api.session.room.timeline.TimelineSettings +import org.matrix.android.sdk.common.CommonTestHelper +import org.matrix.android.sdk.common.CryptoTestHelper +import org.matrix.android.sdk.internal.crypto.MXCRYPTO_ALGORITHM_MEGOLM +import org.matrix.android.sdk.internal.crypto.model.event.EncryptionEventContent +import java.util.concurrent.CountDownLatch + +@RunWith(AndroidJUnit4::class) +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +class EncryptionTest : InstrumentedTest { + private val mTestHelper = CommonTestHelper(context()) + private val mCryptoTestHelper = CryptoTestHelper(mTestHelper) + + @Test + fun test_EncryptionEvent() { + performTest(roomShouldBeEncrypted = false) { room -> + // Send an encryption Event as an Event (and not as a state event) + room.sendEvent( + eventType = EventType.STATE_ROOM_ENCRYPTION, + content = EncryptionEventContent(algorithm = MXCRYPTO_ALGORITHM_MEGOLM).toContent() + ) + } + } + + @Test + fun test_EncryptionStateEvent() { + performTest(roomShouldBeEncrypted = true) { room -> + // Send an encryption Event as a State Event + room.sendStateEvent( + eventType = EventType.STATE_ROOM_ENCRYPTION, + stateKey = null, + body = EncryptionEventContent(algorithm = MXCRYPTO_ALGORITHM_MEGOLM).toContent(), + callback = NoOpMatrixCallback() + ) + } + } + + private fun performTest(roomShouldBeEncrypted: Boolean, action: (Room) -> Unit) { + val cryptoTestData = mCryptoTestHelper.doE2ETestWithAliceInARoom(encryptedRoom = false) + + val aliceSession = cryptoTestData.firstSession + val room = aliceSession.getRoom(cryptoTestData.roomId)!! + + room.isEncrypted() shouldBe false + + val timeline = room.createTimeline(null, TimelineSettings(10)) + val latch = CountDownLatch(1) + val timelineListener = object : Timeline.Listener { + override fun onTimelineFailure(throwable: Throwable) { + } + + override fun onNewTimelineEvents(eventIds: List<String>) { + // noop + } + + override fun onTimelineUpdated(snapshot: List<TimelineEvent>) { + val newMessages = snapshot + .filter { it.root.sendState == SendState.SYNCED } + .filter { it.root.getClearType() == EventType.STATE_ROOM_ENCRYPTION } + + if (newMessages.isNotEmpty()) { + timeline.removeListener(this) + latch.countDown() + } + } + } + timeline.start() + timeline.addListener(timelineListener) + + action.invoke(room) + + mTestHelper.await(latch) + timeline.dispose() + + room.isEncrypted() shouldBe roomShouldBeEncrypted + + cryptoTestData.cleanUp(mTestHelper) + } +} diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/gossiping/KeyShareTests.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/gossiping/KeyShareTests.kt index 7c1a88dc..197e36df 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/gossiping/KeyShareTests.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/gossiping/KeyShareTests.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/gossiping/WithHeldTests.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/gossiping/WithHeldTests.kt index 71544872..80cc14fc 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/gossiping/WithHeldTests.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/gossiping/WithHeldTests.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,7 +20,7 @@ import android.util.Log import androidx.test.ext.junit.runners.AndroidJUnit4 import org.matrix.android.sdk.InstrumentedTest import org.matrix.android.sdk.api.NoOpMatrixCallback -import org.matrix.android.sdk.api.extensions.tryThis +import org.matrix.android.sdk.api.extensions.tryOrNull import org.matrix.android.sdk.api.session.crypto.MXCryptoError import org.matrix.android.sdk.api.session.events.model.EventType import org.matrix.android.sdk.api.session.events.model.toModel @@ -227,7 +227,7 @@ class WithHeldTests : InstrumentedTest { mTestHelper.retryPeriodicallyWithLatch(latch) { val timeLineEvent = bobSecondSession.getRoom(testData.roomId)?.getTimeLineEvent(eventId)?.also { // try to decrypt and force key request - tryThis { bobSecondSession.cryptoService().decryptEvent(it.root, "") } + tryOrNull { bobSecondSession.cryptoService().decryptEvent(it.root, "") } } sessionId = timeLineEvent?.root?.content?.toModel<EncryptedEventContent>()?.sessionId timeLineEvent != null diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupPasswordTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupPasswordTest.kt index f38b55be..cc71f88f 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupPasswordTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupPasswordTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2019 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupScenarioData.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupScenarioData.kt index 29a0b5ff..864f3c12 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupScenarioData.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupScenarioData.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupTest.kt index aef97d56..ca8993fb 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2018 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupTestConstants.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupTestConstants.kt index f31e67b0..1248c8f0 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupTestConstants.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupTestConstants.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupTestHelper.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupTestHelper.kt index f84a9070..944d1036 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupTestHelper.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupTestHelper.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/PrepareKeysBackupDataResult.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/PrepareKeysBackupDataResult.kt index c28b7990..6aefe98f 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/PrepareKeysBackupDataResult.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/PrepareKeysBackupDataResult.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/StateObserver.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/StateObserver.kt index 90d2fd78..ff8ce43b 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/StateObserver.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/keysbackup/StateObserver.kt @@ -1,5 +1,5 @@ /* - * Copyright 2019 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/ssss/QuadSTests.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/ssss/QuadSTests.kt index 42cee743..0489ee17 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/ssss/QuadSTests.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/ssss/QuadSTests.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/SASTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/SASTest.kt index a6beeb12..75c7ad4d 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/SASTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/SASTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2019 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/HexParser.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/HexParser.kt index cd5aa32d..29d4e785 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/HexParser.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/HexParser.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/QrCodeTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/QrCodeTest.kt index 54a0f7e7..ee604fc9 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/QrCodeTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/QrCodeTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,15 +17,14 @@ package org.matrix.android.sdk.internal.crypto.verification.qrcode import androidx.test.ext.junit.runners.AndroidJUnit4 -import org.matrix.android.sdk.InstrumentedTest +import org.amshove.kluent.shouldBeEqualTo import org.amshove.kluent.shouldBeNull -import org.amshove.kluent.shouldEqual -import org.amshove.kluent.shouldEqualTo import org.amshove.kluent.shouldNotBeNull import org.junit.FixMethodOrder import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.MethodSorters +import org.matrix.android.sdk.InstrumentedTest @RunWith(AndroidJUnit4::class) @FixMethodOrder(MethodSorters.JVM) @@ -66,32 +65,32 @@ class QrCodeTest : InstrumentedTest { @Test fun testEncoding1() { - qrCode1.toEncodedString() shouldEqual value1 + qrCode1.toEncodedString() shouldBeEqualTo value1 } @Test fun testEncoding2() { - qrCode2.toEncodedString() shouldEqual value2 + qrCode2.toEncodedString() shouldBeEqualTo value2 } @Test fun testEncoding3() { - qrCode3.toEncodedString() shouldEqual value3 + qrCode3.toEncodedString() shouldBeEqualTo value3 } @Test fun testSymmetry1() { - qrCode1.toEncodedString().toQrCodeData() shouldEqual qrCode1 + qrCode1.toEncodedString().toQrCodeData() shouldBeEqualTo qrCode1 } @Test fun testSymmetry2() { - qrCode2.toEncodedString().toQrCodeData() shouldEqual qrCode2 + qrCode2.toEncodedString().toQrCodeData() shouldBeEqualTo qrCode2 } @Test fun testSymmetry3() { - qrCode3.toEncodedString().toQrCodeData() shouldEqual qrCode3 + qrCode3.toEncodedString().toQrCodeData() shouldBeEqualTo qrCode3 } @Test @@ -102,7 +101,7 @@ class QrCodeTest : InstrumentedTest { checkHeader(byteArray) // Mode - byteArray[7] shouldEqualTo 0 + byteArray[7] shouldBeEqualTo 0 checkSizeAndTransaction(byteArray) @@ -120,7 +119,7 @@ class QrCodeTest : InstrumentedTest { checkHeader(byteArray) // Mode - byteArray[7] shouldEqualTo 1 + byteArray[7] shouldBeEqualTo 1 checkSizeAndTransaction(byteArray) compareArray(byteArray.copyOfRange(23, 23 + 32), kte_byteArray) @@ -137,7 +136,7 @@ class QrCodeTest : InstrumentedTest { checkHeader(byteArray) // Mode - byteArray[7] shouldEqualTo 2 + byteArray[7] shouldBeEqualTo 2 checkSizeAndTransaction(byteArray) compareArray(byteArray.copyOfRange(23, 23 + 32), tlx_byteArray) @@ -156,10 +155,10 @@ class QrCodeTest : InstrumentedTest { val result = qrCode.toEncodedString() val expected = value1.replace("\u0000\u000DMaTransaction", "\u0007\u00D0$longTransactionId") - result shouldEqual expected + result shouldBeEqualTo expected // Reverse operation - expected.toQrCodeData() shouldEqual qrCode + expected.toQrCodeData() shouldBeEqualTo qrCode } @Test @@ -170,7 +169,7 @@ class QrCodeTest : InstrumentedTest { val qrCode = qrCode1.copy(transactionId = longTransactionId) // Symmetric operation - qrCode.toEncodedString().toQrCodeData() shouldEqual qrCode + qrCode.toEncodedString().toQrCodeData() shouldBeEqualTo qrCode } } @@ -218,32 +217,32 @@ class QrCodeTest : InstrumentedTest { } private fun compareArray(actual: ByteArray, expected: ByteArray) { - actual.size shouldEqual expected.size + actual.size shouldBeEqualTo expected.size for (i in actual.indices) { - actual[i] shouldEqualTo expected[i] + actual[i] shouldBeEqualTo expected[i] } } private fun checkHeader(byteArray: ByteArray) { // MATRIX - byteArray[0] shouldEqualTo 'M'.toByte() - byteArray[1] shouldEqualTo 'A'.toByte() - byteArray[2] shouldEqualTo 'T'.toByte() - byteArray[3] shouldEqualTo 'R'.toByte() - byteArray[4] shouldEqualTo 'I'.toByte() - byteArray[5] shouldEqualTo 'X'.toByte() + byteArray[0] shouldBeEqualTo 'M'.toByte() + byteArray[1] shouldBeEqualTo 'A'.toByte() + byteArray[2] shouldBeEqualTo 'T'.toByte() + byteArray[3] shouldBeEqualTo 'R'.toByte() + byteArray[4] shouldBeEqualTo 'I'.toByte() + byteArray[5] shouldBeEqualTo 'X'.toByte() // Version - byteArray[6] shouldEqualTo 2 + byteArray[6] shouldBeEqualTo 2 } private fun checkSizeAndTransaction(byteArray: ByteArray) { // Size - byteArray[8] shouldEqualTo 0 - byteArray[9] shouldEqualTo 13 + byteArray[8] shouldBeEqualTo 0 + byteArray[9] shouldBeEqualTo 13 // Transaction - byteArray.copyOfRange(10, 10 + "MaTransaction".length).toString(Charsets.ISO_8859_1) shouldEqual "MaTransaction" + byteArray.copyOfRange(10, 10 + "MaTransaction".length).toString(Charsets.ISO_8859_1) shouldBeEqualTo "MaTransaction" } } diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/SharedSecretTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/SharedSecretTest.kt index 40328907..97b93dcf 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/SharedSecretTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/SharedSecretTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/VerificationTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/VerificationTest.kt index 0c003215..1385dac1 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/VerificationTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/VerificationTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/session/room/send/MarkdownParserTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/session/room/send/MarkdownParserTest.kt index eebaa934..17135789 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/session/room/send/MarkdownParserTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/session/room/send/MarkdownParserTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/util/JsonCanonicalizerTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/util/JsonCanonicalizerTest.kt index 854d420a..b5ab6589 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/util/JsonCanonicalizerTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/util/JsonCanonicalizerTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2019 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/ChunkEntityTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/ChunkEntityTest.kt index a2a15868..69ae57e6 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/ChunkEntityTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/ChunkEntityTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,6 +18,14 @@ package org.matrix.android.sdk.session.room.timeline import androidx.test.ext.junit.runners.AndroidJUnit4 import com.zhuinden.monarchy.Monarchy +import io.realm.Realm +import io.realm.RealmConfiguration +import io.realm.kotlin.createObject +import org.amshove.kluent.shouldBeEqualTo +import org.amshove.kluent.shouldBeTrue +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith import org.matrix.android.sdk.InstrumentedTest import org.matrix.android.sdk.api.session.events.model.Event import org.matrix.android.sdk.api.session.room.send.SendState @@ -29,14 +37,6 @@ import org.matrix.android.sdk.internal.database.model.SessionRealmModule import org.matrix.android.sdk.internal.session.room.timeline.PaginationDirection import org.matrix.android.sdk.session.room.timeline.RoomDataHelper.createFakeListOfEvents import org.matrix.android.sdk.session.room.timeline.RoomDataHelper.createFakeMessageEvent -import io.realm.Realm -import io.realm.RealmConfiguration -import io.realm.kotlin.createObject -import org.amshove.kluent.shouldBeTrue -import org.amshove.kluent.shouldEqual -import org.junit.Before -import org.junit.Test -import org.junit.runner.RunWith @RunWith(AndroidJUnit4::class) internal class ChunkEntityTest : InstrumentedTest { @@ -60,10 +60,10 @@ internal class ChunkEntityTest : InstrumentedTest { val chunk: ChunkEntity = realm.createObject() val fakeEvent = createFakeMessageEvent().toEntity(ROOM_ID, SendState.SYNCED, System.currentTimeMillis()).let { - realm.copyToRealmOrUpdate(it) + realm.copyToRealm(it) } chunk.addTimelineEvent(ROOM_ID, fakeEvent, PaginationDirection.FORWARDS, emptyMap()) - chunk.timelineEvents.size shouldEqual 1 + chunk.timelineEvents.size shouldBeEqualTo 1 } } @@ -72,11 +72,11 @@ internal class ChunkEntityTest : InstrumentedTest { monarchy.runTransactionSync { realm -> val chunk: ChunkEntity = realm.createObject() val fakeEvent = createFakeMessageEvent().toEntity(ROOM_ID, SendState.SYNCED, System.currentTimeMillis()).let { - realm.copyToRealmOrUpdate(it) + realm.copyToRealm(it) } chunk.addTimelineEvent(ROOM_ID, fakeEvent, PaginationDirection.FORWARDS, emptyMap()) chunk.addTimelineEvent(ROOM_ID, fakeEvent, PaginationDirection.FORWARDS, emptyMap()) - chunk.timelineEvents.size shouldEqual 1 + chunk.timelineEvents.size shouldBeEqualTo 1 } } @@ -88,7 +88,7 @@ internal class ChunkEntityTest : InstrumentedTest { chunk1.addAll(ROOM_ID, createFakeListOfEvents(30), PaginationDirection.BACKWARDS) chunk2.addAll(ROOM_ID, createFakeListOfEvents(30), PaginationDirection.BACKWARDS) chunk1.merge(ROOM_ID, chunk2, PaginationDirection.BACKWARDS) - chunk1.timelineEvents.size shouldEqual 60 + chunk1.timelineEvents.size shouldBeEqualTo 60 } } @@ -104,7 +104,7 @@ internal class ChunkEntityTest : InstrumentedTest { chunk1.addAll(ROOM_ID, eventsForChunk1, PaginationDirection.FORWARDS) chunk2.addAll(ROOM_ID, eventsForChunk2, PaginationDirection.BACKWARDS) chunk1.merge(ROOM_ID, chunk2, PaginationDirection.BACKWARDS) - chunk1.timelineEvents.size shouldEqual 40 + chunk1.timelineEvents.size shouldBeEqualTo 40 chunk1.isLastForward.shouldBeTrue() } } @@ -119,7 +119,7 @@ internal class ChunkEntityTest : InstrumentedTest { chunk1.addAll(ROOM_ID, createFakeListOfEvents(30), PaginationDirection.BACKWARDS) chunk2.addAll(ROOM_ID, createFakeListOfEvents(30), PaginationDirection.BACKWARDS) chunk1.merge(ROOM_ID, chunk2, PaginationDirection.FORWARDS) - chunk1.prevToken shouldEqual prevToken + chunk1.prevToken shouldBeEqualTo prevToken } } @@ -133,7 +133,7 @@ internal class ChunkEntityTest : InstrumentedTest { chunk1.addAll(ROOM_ID, createFakeListOfEvents(30), PaginationDirection.BACKWARDS) chunk2.addAll(ROOM_ID, createFakeListOfEvents(30), PaginationDirection.BACKWARDS) chunk1.merge(ROOM_ID, chunk2, PaginationDirection.BACKWARDS) - chunk1.nextToken shouldEqual nextToken + chunk1.nextToken shouldBeEqualTo nextToken } } @@ -142,7 +142,7 @@ internal class ChunkEntityTest : InstrumentedTest { direction: PaginationDirection) { events.forEach { event -> val fakeEvent = event.toEntity(roomId, SendState.SYNCED, System.currentTimeMillis()).let { - realm.copyToRealmOrUpdate(it) + realm.copyToRealm(it) } addTimelineEvent(roomId, fakeEvent, direction, emptyMap()) } diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/FakeGetContextOfEventTask.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/FakeGetContextOfEventTask.kt index 9a133032..b86c86c0 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/FakeGetContextOfEventTask.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/FakeGetContextOfEventTask.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/FakePaginationTask.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/FakePaginationTask.kt index 06828ef3..d09bfb18 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/FakePaginationTask.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/FakePaginationTask.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/FakeTokenChunkEvent.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/FakeTokenChunkEvent.kt index 0301157d..657f622c 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/FakeTokenChunkEvent.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/FakeTokenChunkEvent.kt @@ -1,5 +1,5 @@ /* - * Copyright 2019 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/RoomDataHelper.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/RoomDataHelper.kt index a6fe6752..1adf31be 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/RoomDataHelper.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/RoomDataHelper.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,7 +21,7 @@ import org.matrix.android.sdk.api.session.events.model.Event import org.matrix.android.sdk.api.session.events.model.EventType import org.matrix.android.sdk.api.session.events.model.toContent import org.matrix.android.sdk.api.session.room.model.Membership -import org.matrix.android.sdk.api.session.room.model.RoomMemberSummary +import org.matrix.android.sdk.api.session.room.model.RoomMemberContent import org.matrix.android.sdk.api.session.room.model.message.MessageTextContent import org.matrix.android.sdk.api.session.room.model.message.MessageType import kotlin.random.Random @@ -41,11 +41,11 @@ object RoomDataHelper { } } - fun createFakeEvent(type: String, - content: Content? = null, - prevContent: Content? = null, - sender: String = FAKE_TEST_SENDER, - stateKey: String = FAKE_TEST_SENDER + private fun createFakeEvent(type: String, + content: Content? = null, + prevContent: Content? = null, + sender: String = FAKE_TEST_SENDER, + stateKey: String = FAKE_TEST_SENDER ): Event { return Event( type = type, @@ -62,8 +62,8 @@ object RoomDataHelper { return createFakeEvent(EventType.MESSAGE, message) } - fun createFakeRoomMemberEvent(): Event { - val roomMember = RoomMemberSummary(Membership.JOIN, "Fake name #${Random.nextLong()}").toContent() + private fun createFakeRoomMemberEvent(): Event { + val roomMember = RoomMemberContent(Membership.JOIN, "Fake name #${Random.nextLong()}").toContent() return createFakeEvent(EventType.STATE_ROOM_MEMBER, roomMember) } } diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/TimelineBackToPreviousLastForwardTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/TimelineBackToPreviousLastForwardTest.kt index 8c5e7f17..3774e6f5 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/TimelineBackToPreviousLastForwardTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/TimelineBackToPreviousLastForwardTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/TimelineForwardPaginationTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/TimelineForwardPaginationTest.kt index facb905b..34edf377 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/TimelineForwardPaginationTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/TimelineForwardPaginationTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/TimelinePreviousLastForwardTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/TimelinePreviousLastForwardTest.kt index 28ce75c2..9ebac876 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/TimelinePreviousLastForwardTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/TimelinePreviousLastForwardTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/TimelineTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/TimelineTest.kt index b0da49cd..9be0a5d5 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/TimelineTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/room/timeline/TimelineTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -78,7 +78,7 @@ internal class TimelineTest : InstrumentedTest { // } // } // latch.await() -// timelineEvents.size shouldEqual initialLoad + paginationCount +// timelineEvents.size shouldBeEqualTo initialLoad + paginationCount // timeline.dispose() // } } diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/search/SearchMessagesTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/search/SearchMessagesTest.kt new file mode 100644 index 00000000..7db159cd --- /dev/null +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/session/search/SearchMessagesTest.kt @@ -0,0 +1,177 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.session.search + +import org.junit.Assert.assertTrue +import org.junit.Assert.fail +import org.junit.FixMethodOrder +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.JUnit4 +import org.junit.runners.MethodSorters +import org.matrix.android.sdk.InstrumentedTest +import org.matrix.android.sdk.api.MatrixCallback +import org.matrix.android.sdk.api.extensions.orFalse +import org.matrix.android.sdk.api.session.events.model.toModel +import org.matrix.android.sdk.api.session.room.model.message.MessageContent +import org.matrix.android.sdk.api.session.room.timeline.TimelineSettings +import org.matrix.android.sdk.api.session.search.SearchResult +import org.matrix.android.sdk.common.CommonTestHelper +import org.matrix.android.sdk.common.CryptoTestHelper +import org.matrix.android.sdk.common.TestConstants +import java.util.concurrent.CountDownLatch +import java.util.concurrent.TimeUnit + +@RunWith(JUnit4::class) +@FixMethodOrder(MethodSorters.JVM) +class SearchMessagesTest : InstrumentedTest { + + private val MESSAGE = "Lorem ipsum dolor sit amet" + + private val commonTestHelper = CommonTestHelper(context()) + private val cryptoTestHelper = CryptoTestHelper(commonTestHelper) + + @Test + fun sendTextMessageAndSearchPartOfItUsingSession() { + val cryptoTestData = cryptoTestHelper.doE2ETestWithAliceAndBobInARoom(false) + val aliceSession = cryptoTestData.firstSession + val aliceRoomId = cryptoTestData.roomId + aliceSession.cryptoService().setWarnOnUnknownDevices(false) + val roomFromAlicePOV = aliceSession.getRoom(aliceRoomId)!! + val aliceTimeline = roomFromAlicePOV.createTimeline(null, TimelineSettings(10)) + aliceTimeline.start() + + commonTestHelper.sendTextMessage( + roomFromAlicePOV, + MESSAGE, + 2) + + run { + var lock = CountDownLatch(1) + + val eventListener = commonTestHelper.createEventListener(lock) { snapshot -> + snapshot.count { it.root.content.toModel<MessageContent>()?.body?.startsWith(MESSAGE).orFalse() } == 2 + } + + aliceTimeline.addListener(eventListener) + commonTestHelper.await(lock) + + lock = CountDownLatch(1) + aliceSession + .searchService() + .search( + searchTerm = "lore", + limit = 10, + includeProfile = true, + afterLimit = 0, + beforeLimit = 10, + orderByRecent = true, + nextBatch = null, + roomId = aliceRoomId, + callback = object : MatrixCallback<SearchResult> { + override fun onSuccess(data: SearchResult) { + super.onSuccess(data) + assertTrue(data.results?.size == 2) + assertTrue( + data.results + ?.all { + (it.event.content?.get("body") as? String)?.startsWith(MESSAGE).orFalse() + }.orFalse() + ) + lock.countDown() + } + + override fun onFailure(failure: Throwable) { + super.onFailure(failure) + fail(failure.localizedMessage) + lock.countDown() + } + } + ) + lock.await(TestConstants.timeOutMillis, TimeUnit.MILLISECONDS) + + aliceTimeline.removeAllListeners() + cryptoTestData.cleanUp(commonTestHelper) + } + + aliceSession.startSync(true) + } + + @Test + fun sendTextMessageAndSearchPartOfItUsingRoom() { + val cryptoTestData = cryptoTestHelper.doE2ETestWithAliceAndBobInARoom(false) + val aliceSession = cryptoTestData.firstSession + val aliceRoomId = cryptoTestData.roomId + aliceSession.cryptoService().setWarnOnUnknownDevices(false) + val roomFromAlicePOV = aliceSession.getRoom(aliceRoomId)!! + val aliceTimeline = roomFromAlicePOV.createTimeline(null, TimelineSettings(10)) + aliceTimeline.start() + + commonTestHelper.sendTextMessage( + roomFromAlicePOV, + MESSAGE, + 2) + + run { + var lock = CountDownLatch(1) + + val eventListener = commonTestHelper.createEventListener(lock) { snapshot -> + snapshot.count { it.root.content.toModel<MessageContent>()?.body?.startsWith(MESSAGE).orFalse() } == 2 + } + + aliceTimeline.addListener(eventListener) + commonTestHelper.await(lock) + + lock = CountDownLatch(1) + roomFromAlicePOV + .search( + searchTerm = "lore", + limit = 10, + includeProfile = true, + afterLimit = 0, + beforeLimit = 10, + orderByRecent = true, + nextBatch = null, + callback = object : MatrixCallback<SearchResult> { + override fun onSuccess(data: SearchResult) { + super.onSuccess(data) + assertTrue(data.results?.size == 2) + assertTrue( + data.results + ?.all { + (it.event.content?.get("body") as? String)?.startsWith(MESSAGE).orFalse() + }.orFalse() + ) + lock.countDown() + } + + override fun onFailure(failure: Throwable) { + super.onFailure(failure) + fail(failure.localizedMessage) + lock.countDown() + } + } + ) + lock.await(TestConstants.timeOutMillis, TimeUnit.MILLISECONDS) + + aliceTimeline.removeAllListeners() + cryptoTestData.cleanUp(commonTestHelper) + } + + aliceSession.startSync(true) + } +} diff --git a/matrix-sdk-android/src/debug/java/org/matrix/android/sdk/internal/database/RealmDebugTools.kt b/matrix-sdk-android/src/debug/java/org/matrix/android/sdk/internal/database/RealmDebugTools.kt index 324a3c10..e5f4af23 100644 --- a/matrix-sdk-android/src/debug/java/org/matrix/android/sdk/internal/database/RealmDebugTools.kt +++ b/matrix-sdk-android/src/debug/java/org/matrix/android/sdk/internal/database/RealmDebugTools.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/debug/java/org/matrix/android/sdk/internal/network/interceptors/CurlLoggingInterceptor.kt b/matrix-sdk-android/src/debug/java/org/matrix/android/sdk/internal/network/interceptors/CurlLoggingInterceptor.kt index ee2c6076..2103dc95 100644 --- a/matrix-sdk-android/src/debug/java/org/matrix/android/sdk/internal/network/interceptors/CurlLoggingInterceptor.kt +++ b/matrix-sdk-android/src/debug/java/org/matrix/android/sdk/internal/network/interceptors/CurlLoggingInterceptor.kt @@ -1,6 +1,6 @@ /* * Copyright (C) 2016 Jeff Gilfelt. - * Copyright 2019 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/debug/java/org/matrix/android/sdk/internal/network/interceptors/FormattedJsonHttpLogger.kt b/matrix-sdk-android/src/debug/java/org/matrix/android/sdk/internal/network/interceptors/FormattedJsonHttpLogger.kt index 349110af..5c03e8a8 100644 --- a/matrix-sdk-android/src/debug/java/org/matrix/android/sdk/internal/network/interceptors/FormattedJsonHttpLogger.kt +++ b/matrix-sdk-android/src/debug/java/org/matrix/android/sdk/internal/network/interceptors/FormattedJsonHttpLogger.kt @@ -1,5 +1,5 @@ /* - * Copyright 2019 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/main/AndroidManifest.xml b/matrix-sdk-android/src/main/AndroidManifest.xml index 52238f82..220a168f 100644 --- a/matrix-sdk-android/src/main/AndroidManifest.xml +++ b/matrix-sdk-android/src/main/AndroidManifest.xml @@ -1,12 +1,24 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" package="org.matrix.android.sdk"> + <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.VIBRATE" /> + <!-- TODO Is WRITE_EXTERNAL_STORAGE necessary? --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <application android:networkSecurityConfig="@xml/network_security_config"> + <!-- + This is mandatory to run integration tests + --> + <provider + android:name="androidx.work.impl.WorkManagerInitializer" + android:authorities="${applicationId}.workmanager-init" + android:exported="false" + tools:node="remove" /> + <!-- The SDK offers a secured File provider to access downloaded files. Access to these file will be given via the FileService, with a temporary diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/Matrix.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/Matrix.kt index e6f98268..cf6f37ce 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/Matrix.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/Matrix.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/MatrixCallback.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/MatrixCallback.kt index e20d9074..166ba8ea 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/MatrixCallback.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/MatrixCallback.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -43,4 +42,4 @@ interface MatrixCallback<in T> { /** * Basic no op implementation */ -class NoOpMatrixCallback<T>: MatrixCallback<T> +class NoOpMatrixCallback<T> : MatrixCallback<T> diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/MatrixConfiguration.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/MatrixConfiguration.kt index bfcc9105..725fd08d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/MatrixConfiguration.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/MatrixConfiguration.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/MatrixPatterns.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/MatrixPatterns.kt index f6e9a33a..d8532c77 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/MatrixPatterns.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/MatrixPatterns.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/AuthenticationService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/AuthenticationService.kt index 91e2845c..360b9558 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/AuthenticationService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/AuthenticationService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/Constants.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/Constants.kt index 590b84f3..6cacf55a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/Constants.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/Constants.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/Credentials.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/Credentials.kt index 6dfa56f1..434e4a6e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/Credentials.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/Credentials.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/DiscoveryInformation.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/DiscoveryInformation.kt index d5d732cc..384dcdce 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/DiscoveryInformation.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/DiscoveryInformation.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/HomeServerConnectionConfig.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/HomeServerConnectionConfig.kt index 02fab040..e1c5171b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/HomeServerConnectionConfig.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/HomeServerConnectionConfig.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/LoginFlowResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/LoginFlowResult.kt index c3686da7..64d3ddcc 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/LoginFlowResult.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/LoginFlowResult.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,13 +16,11 @@ package org.matrix.android.sdk.api.auth.data -// Either a list of supported login types, or an error if the homeserver is outdated sealed class LoginFlowResult { data class Success( val supportedLoginTypes: List<String>, val isLoginAndRegistrationSupported: Boolean, - val homeServerUrl: String + val homeServerUrl: String, + val isOutdatedHomeserver: Boolean ) : LoginFlowResult() - - object OutdatedHomeserver : LoginFlowResult() } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/LoginFlowTypes.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/LoginFlowTypes.kt index 64a1fd88..f2cebff1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/LoginFlowTypes.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/LoginFlowTypes.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/SessionParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/SessionParams.kt index cbeece7e..b2a57c7f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/SessionParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/SessionParams.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/WellKnown.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/WellKnown.kt index 4f7bc755..4bcef606 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/WellKnown.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/WellKnown.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/WellKnownBaseConfig.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/WellKnownBaseConfig.kt index f0b252f9..ad6b9970 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/WellKnownBaseConfig.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/data/WellKnownBaseConfig.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/login/LoginWizard.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/login/LoginWizard.kt index 25cf8209..645fb55b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/login/LoginWizard.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/login/LoginWizard.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/registration/RegisterThreePid.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/registration/RegisterThreePid.kt index 3dd2b460..8fb318d7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/registration/RegisterThreePid.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/registration/RegisterThreePid.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/registration/RegistrationResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/registration/RegistrationResult.kt index 544cbf63..439b4beb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/registration/RegistrationResult.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/registration/RegistrationResult.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/registration/RegistrationWizard.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/registration/RegistrationWizard.kt index 0629915a..ed7b249f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/registration/RegistrationWizard.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/registration/RegistrationWizard.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/registration/Stage.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/registration/Stage.kt index 2635adc7..c21b667c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/registration/Stage.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/registration/Stage.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/wellknown/WellknownResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/wellknown/WellknownResult.kt index ec2dfd21..c68a9e96 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/wellknown/WellknownResult.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/wellknown/WellknownResult.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/comparators/DatedObjectComparators.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/comparators/DatedObjectComparators.kt index 409fec44..d762b796 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/comparators/DatedObjectComparators.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/comparators/DatedObjectComparators.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/crypto/Emojis.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/crypto/Emojis.kt index 97454684..9c0eb109 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/crypto/Emojis.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/crypto/Emojis.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/crypto/MXCryptoConfig.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/crypto/MXCryptoConfig.kt index 9eae1265..9a686de2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/crypto/MXCryptoConfig.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/crypto/MXCryptoConfig.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/crypto/RoomEncryptionTrustLevel.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/crypto/RoomEncryptionTrustLevel.kt index 23f21f88..f381ae84 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/crypto/RoomEncryptionTrustLevel.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/crypto/RoomEncryptionTrustLevel.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/extensions/Booleans.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/extensions/Booleans.kt index 606f3211..6a5d9c93 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/extensions/Booleans.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/extensions/Booleans.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/extensions/MatrixSdkExtensions.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/extensions/MatrixSdkExtensions.kt index 2f3c8c13..1cdb6d49 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/extensions/MatrixSdkExtensions.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/extensions/MatrixSdkExtensions.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/extensions/Strings.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/extensions/Strings.kt index f2589807..a17e65b8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/extensions/Strings.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/extensions/Strings.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/extensions/Try.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/extensions/Try.kt index baae9b70..0e35d36d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/extensions/Try.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/extensions/Try.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -19,7 +18,7 @@ package org.matrix.android.sdk.api.extensions import timber.log.Timber -inline fun <A> tryThis(message: String? = null, operation: () -> A): A? { +inline fun <A> tryOrNull(message: String? = null, operation: () -> A): A? { return try { operation() } catch (any: Throwable) { diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/Extensions.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/Extensions.kt index 8caed519..4711f795 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/Extensions.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/Extensions.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,7 +16,7 @@ package org.matrix.android.sdk.api.failure -import org.matrix.android.sdk.api.extensions.tryThis +import org.matrix.android.sdk.api.extensions.tryOrNull import org.matrix.android.sdk.internal.auth.registration.RegistrationFlowResponse import org.matrix.android.sdk.internal.di.MoshiProvider import java.io.IOException @@ -49,7 +48,7 @@ fun Throwable.isInvalidPassword(): Boolean { */ fun Throwable.toRegistrationFlowResponse(): RegistrationFlowResponse? { return if (this is Failure.OtherServerError && this.httpCode == 401) { - tryThis { + tryOrNull { MoshiProvider.providesMoshi() .adapter(RegistrationFlowResponse::class.java) .fromJson(this.errorBody) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/Failure.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/Failure.kt index a930d7d6..de881b9e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/Failure.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/Failure.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/GlobalError.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/GlobalError.kt index 053ad670..ef770ea1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/GlobalError.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/GlobalError.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/MatrixError.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/MatrixError.kt index 77a5dc4f..895be003 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/MatrixError.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/failure/MatrixError.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -49,18 +48,25 @@ data class MatrixError( companion object { /** Forbidden access, e.g. joining a room without permission, failed login. */ const val M_FORBIDDEN = "M_FORBIDDEN" + /** An unknown error has occurred. */ const val M_UNKNOWN = "M_UNKNOWN" + /** The access token specified was not recognised. */ const val M_UNKNOWN_TOKEN = "M_UNKNOWN_TOKEN" + /** No access token was specified for the request. */ const val M_MISSING_TOKEN = "M_MISSING_TOKEN" + /** Request contained valid JSON, but it was malformed in some way, e.g. missing required keys, invalid values for keys. */ const val M_BAD_JSON = "M_BAD_JSON" + /** Request did not contain valid JSON. */ const val M_NOT_JSON = "M_NOT_JSON" + /** No resource was found for this request. */ const val M_NOT_FOUND = "M_NOT_FOUND" + /** Too many requests have been sent in a short period of time. Wait a while then try again. */ const val M_LIMIT_EXCEEDED = "M_LIMIT_EXCEEDED" @@ -70,68 +76,97 @@ data class MatrixError( /** Encountered when trying to register a user ID which has been taken. */ const val M_USER_IN_USE = "M_USER_IN_USE" + /** Sent when the room alias given to the createRoom API is already in use. */ const val M_ROOM_IN_USE = "M_ROOM_IN_USE" + /** (Not documented yet) */ const val M_BAD_PAGINATION = "M_BAD_PAGINATION" + /** The request was not correctly authorized. Usually due to login failures. */ const val M_UNAUTHORIZED = "M_UNAUTHORIZED" + /** (Not documented yet) */ const val M_OLD_VERSION = "M_OLD_VERSION" + /** The server did not understand the request. */ const val M_UNRECOGNIZED = "M_UNRECOGNIZED" + /** (Not documented yet) */ const val M_LOGIN_EMAIL_URL_NOT_YET = "M_LOGIN_EMAIL_URL_NOT_YET" + /** Authentication could not be performed on the third party identifier. */ const val M_THREEPID_AUTH_FAILED = "M_THREEPID_AUTH_FAILED" + /** Sent when a threepid given to an API cannot be used because no record matching the threepid was found. */ const val M_THREEPID_NOT_FOUND = "M_THREEPID_NOT_FOUND" + /** Sent when a threepid given to an API cannot be used because the same threepid is already in use. */ const val M_THREEPID_IN_USE = "M_THREEPID_IN_USE" + /** The client's request used a third party server, eg. identity server, that this server does not trust. */ const val M_SERVER_NOT_TRUSTED = "M_SERVER_NOT_TRUSTED" + /** The request or entity was too large. */ const val M_TOO_LARGE = "M_TOO_LARGE" + /** (Not documented yet) */ const val M_CONSENT_NOT_GIVEN = "M_CONSENT_NOT_GIVEN" + /** The request cannot be completed because the homeserver has reached a resource limit imposed on it. For example, * a homeserver held in a shared hosting environment may reach a resource limit if it starts using too much memory * or disk space. The error MUST have an admin_contact field to provide the user receiving the error a place to reach * out to. Typically, this error will appear on routes which attempt to modify state (eg: sending messages, account * data, etc) and not routes which only read state (eg: /sync, get account data, etc). */ const val M_RESOURCE_LIMIT_EXCEEDED = "M_RESOURCE_LIMIT_EXCEEDED" + /** The user ID associated with the request has been deactivated. Typically for endpoints that prove authentication, such as /login. */ const val M_USER_DEACTIVATED = "M_USER_DEACTIVATED" + /** Encountered when trying to register a user ID which is not valid. */ const val M_INVALID_USERNAME = "M_INVALID_USERNAME" + /** Sent when the initial state given to the createRoom API is invalid. */ const val M_INVALID_ROOM_STATE = "M_INVALID_ROOM_STATE" + /** The server does not permit this third party identifier. This may happen if the server only permits, * for example, email addresses from a particular domain. */ const val M_THREEPID_DENIED = "M_THREEPID_DENIED" + /** The client's request to create a room used a room version that the server does not support. */ const val M_UNSUPPORTED_ROOM_VERSION = "M_UNSUPPORTED_ROOM_VERSION" + /** The client attempted to join a room that has a version the server does not support. * Inspect the room_version property of the error response for the room's version. */ const val M_INCOMPATIBLE_ROOM_VERSION = "M_INCOMPATIBLE_ROOM_VERSION" + /** The state change requested cannot be performed, such as attempting to unban a user who is not banned. */ const val M_BAD_STATE = "M_BAD_STATE" + /** The room or resource does not permit guests to access it. */ const val M_GUEST_ACCESS_FORBIDDEN = "M_GUEST_ACCESS_FORBIDDEN" + /** A Captcha is required to complete the request. */ const val M_CAPTCHA_NEEDED = "M_CAPTCHA_NEEDED" + /** The Captcha provided did not match what was expected. */ const val M_CAPTCHA_INVALID = "M_CAPTCHA_INVALID" + /** A required parameter was missing from the request. */ const val M_MISSING_PARAM = "M_MISSING_PARAM" + /** A parameter that was specified has the wrong value. For example, the server expected an integer and instead received a string. */ const val M_INVALID_PARAM = "M_INVALID_PARAM" + /** The resource being requested is reserved by an application service, or the application service making the request has not created the resource. */ const val M_EXCLUSIVE = "M_EXCLUSIVE" + /** The user is unable to reject an invite to join the server notices room. See the Server Notices module for more information. */ const val M_CANNOT_LEAVE_SERVER_NOTICE_ROOM = "M_CANNOT_LEAVE_SERVER_NOTICE_ROOM" + /** (Not documented yet) */ const val M_WRONG_ROOM_KEYS_VERSION = "M_WRONG_ROOM_KEYS_VERSION" + /** (Not documented yet) */ const val M_WEAK_PASSWORD = "M_WEAK_PASSWORD" diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/interfaces/DatedObject.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/interfaces/DatedObject.kt index b1296c8a..0d636b58 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/interfaces/DatedObject.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/interfaces/DatedObject.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/legacy/LegacySessionImporter.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/legacy/LegacySessionImporter.kt index 05128005..57de3f5a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/legacy/LegacySessionImporter.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/legacy/LegacySessionImporter.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/listeners/ProgressListener.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/listeners/ProgressListener.kt index 9d6c9387..02ebd7f7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/listeners/ProgressListener.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/listeners/ProgressListener.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/listeners/StepProgressListener.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/listeners/StepProgressListener.kt index afe6ac51..0fabfed2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/listeners/StepProgressListener.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/listeners/StepProgressListener.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/Action.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/Action.kt index ff586507..30289531 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/Action.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/Action.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -72,15 +71,15 @@ sealed class Action { fun List<Action>.toJson(): List<Any> { return map { action -> when (action) { - is Action.Notify -> Action.ACTION_NOTIFY + is Action.Notify -> Action.ACTION_NOTIFY is Action.DoNotNotify -> Action.ACTION_DONT_NOTIFY - is Action.Sound -> { + is Action.Sound -> { mapOf( Action.ACTION_OBJECT_SET_TWEAK_KEY to Action.ACTION_OBJECT_SET_TWEAK_VALUE_SOUND, Action.ACTION_OBJECT_VALUE_KEY to action.sound ) } - is Action.Highlight -> { + is Action.Highlight -> { mapOf( Action.ACTION_OBJECT_SET_TWEAK_KEY to Action.ACTION_OBJECT_SET_TWEAK_VALUE_HIGHLIGHT, Action.ACTION_OBJECT_VALUE_KEY to action.highlight @@ -95,9 +94,9 @@ fun PushRule.getActions(): List<Action> { actions.forEach { actionStrOrObj -> when (actionStrOrObj) { - Action.ACTION_NOTIFY -> Action.Notify + Action.ACTION_NOTIFY -> Action.Notify Action.ACTION_DONT_NOTIFY -> Action.DoNotNotify - is Map<*, *> -> { + is Map<*, *> -> { when (actionStrOrObj[Action.ACTION_OBJECT_SET_TWEAK_KEY]) { Action.ACTION_OBJECT_SET_TWEAK_VALUE_SOUND -> { (actionStrOrObj[Action.ACTION_OBJECT_VALUE_KEY] as? String)?.let { stringValue -> @@ -113,13 +112,13 @@ fun PushRule.getActions(): List<Action> { // When the value is not there, default is true, says the spec ?: Action.Highlight(true) } - else -> { + else -> { Timber.w("Unsupported set_tweak value ${actionStrOrObj[Action.ACTION_OBJECT_SET_TWEAK_KEY]}") null } } } - else -> { + else -> { Timber.w("Unsupported action type $actionStrOrObj") null } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/Condition.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/Condition.kt index 3b1082ea..04cccf73 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/Condition.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/Condition.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/ConditionResolver.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/ConditionResolver.kt index dc92ce8d..0a7366e5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/ConditionResolver.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/ConditionResolver.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/ContainsDisplayNameCondition.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/ContainsDisplayNameCondition.kt index 72eda206..7f430238 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/ContainsDisplayNameCondition.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/ContainsDisplayNameCondition.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/EventMatchCondition.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/EventMatchCondition.kt index c9aa0d00..eec5b0a4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/EventMatchCondition.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/EventMatchCondition.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/Kind.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/Kind.kt index 78f3a8a1..293a06af 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/Kind.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/Kind.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/PushRuleService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/PushRuleService.kt index 64ccdcde..880a7be9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/PushRuleService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/PushRuleService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/RoomMemberCountCondition.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/RoomMemberCountCondition.kt index ba36c54f..328e6dae 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/RoomMemberCountCondition.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/RoomMemberCountCondition.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/RuleIds.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/RuleIds.kt index 2353d062..4c01588b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/RuleIds.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/RuleIds.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/RuleScope.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/RuleScope.kt index d94026f4..7c1edc1a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/RuleScope.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/RuleScope.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/RuleSetKey.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/RuleSetKey.kt index f716b33f..5b6f6713 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/RuleSetKey.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/RuleSetKey.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/SenderNotificationPermissionCondition.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/SenderNotificationPermissionCondition.kt index aeb2f01c..4f9c84a4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/SenderNotificationPermissionCondition.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/SenderNotificationPermissionCondition.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/rest/GetPushRulesResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/rest/GetPushRulesResponse.kt index f83d893c..35b4d77c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/rest/GetPushRulesResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/rest/GetPushRulesResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/rest/PushCondition.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/rest/PushCondition.kt index 29466ca3..b31a1e63 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/rest/PushCondition.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/rest/PushCondition.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/rest/PushRule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/rest/PushRule.kt index bdb4f2cf..3a9fc4fb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/rest/PushRule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/rest/PushRule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/rest/RuleSet.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/rest/RuleSet.kt index a8708819..46f51487 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/rest/RuleSet.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/pushrules/rest/RuleSet.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/query/QueryStringValue.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/query/QueryStringValue.kt index 21ff3aeb..8f83befa 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/query/QueryStringValue.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/query/QueryStringValue.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/raw/RawCacheStrategy.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/raw/RawCacheStrategy.kt index 06657a98..f4eada55 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/raw/RawCacheStrategy.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/raw/RawCacheStrategy.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -19,12 +18,12 @@ package org.matrix.android.sdk.api.raw sealed class RawCacheStrategy { // Data is always fetched from the server - object NoCache: RawCacheStrategy() + object NoCache : RawCacheStrategy() // Once data is retrieved, it is stored for the provided amount of time. // In case of error, and if strict is set to false, the cache can be returned if available - data class TtlCache(val validityDurationInMillis: Long, val strict: Boolean): RawCacheStrategy() + data class TtlCache(val validityDurationInMillis: Long, val strict: Boolean) : RawCacheStrategy() // Once retrieved, the data is stored in cache and will be always get from the cache - object InfiniteCache: RawCacheStrategy() + object InfiniteCache : RawCacheStrategy() } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/raw/RawService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/raw/RawService.kt index 5c96d175..4e24a170 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/raw/RawService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/raw/RawService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/InitialSyncProgressService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/InitialSyncProgressService.kt index 42bb29ef..09c6b8e9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/InitialSyncProgressService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/InitialSyncProgressService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/Session.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/Session.kt index 4dfc24dd..f8dc9065 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/Session.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/Session.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -41,6 +40,7 @@ import org.matrix.android.sdk.api.session.profile.ProfileService import org.matrix.android.sdk.api.session.pushers.PushersService import org.matrix.android.sdk.api.session.room.RoomDirectoryService import org.matrix.android.sdk.api.session.room.RoomService +import org.matrix.android.sdk.api.session.search.SearchService import org.matrix.android.sdk.api.session.securestorage.SecureStorageService import org.matrix.android.sdk.api.session.securestorage.SharedSecretStorageService import org.matrix.android.sdk.api.session.signout.SignOutService @@ -201,6 +201,11 @@ interface Session : */ fun permalinkService(): PermalinkService + /** + * Returns the search service associated with the session + */ + fun searchService(): SearchService + /** * Add a listener to the session. * @param listener the listener to add. diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/account/AccountService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/account/AccountService.kt index 40c37382..b05f0036 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/account/AccountService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/account/AccountService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/accountdata/AccountDataService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/accountdata/AccountDataService.kt index a90a34de..f5d2a7df 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/accountdata/AccountDataService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/accountdata/AccountDataService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/accountdata/UserAccountDataEvent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/accountdata/UserAccountDataEvent.kt index 57eda657..744e3e53 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/accountdata/UserAccountDataEvent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/accountdata/UserAccountDataEvent.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/accountdata/UserAccountDataTypes.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/accountdata/UserAccountDataTypes.kt index 2414e4a1..69b15ff7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/accountdata/UserAccountDataTypes.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/accountdata/UserAccountDataTypes.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/cache/CacheService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/cache/CacheService.kt index a36856a7..c1c56632 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/cache/CacheService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/cache/CacheService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/CallSignalingService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/CallSignalingService.kt index 382ab542..e28c1fa5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/CallSignalingService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/CallSignalingService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -33,7 +32,7 @@ interface CallSignalingService { fun removeCallListener(listener: CallsListener) - fun getCallWithId(callId: String) : MxCall? + fun getCallWithId(callId: String): MxCall? fun isThereAnyActiveCall(): Boolean } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/CallState.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/CallState.kt index 60268abf..e55546e1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/CallState.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/CallState.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/CallsListener.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/CallsListener.kt index 81430c71..37ab1984 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/CallsListener.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/CallsListener.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/EglUtils.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/EglUtils.kt index 6b70d850..131779a4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/EglUtils.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/EglUtils.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/MxCall.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/MxCall.kt index 04af588b..a1ab6878 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/MxCall.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/MxCall.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -34,6 +33,7 @@ interface MxCallDetail { interface MxCall : MxCallDetail { var state: CallState + /** * Pick Up the incoming call * It has no effect on outgoing call diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/TurnServerResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/TurnServerResponse.kt index f63a1a0d..d6e65dd6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/TurnServerResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/call/TurnServerResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentAttachmentData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentAttachmentData.kt index 045a9bc1..4677c2be 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentAttachmentData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentAttachmentData.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,9 +19,11 @@ package org.matrix.android.sdk.api.session.content import android.net.Uri import android.os.Parcelable import androidx.exifinterface.media.ExifInterface +import com.squareup.moshi.JsonClass import kotlinx.android.parcel.Parcelize @Parcelize +@JsonClass(generateAdapter = true) data class ContentAttachmentData( val size: Long = 0, val duration: Long? = 0, @@ -32,10 +33,11 @@ data class ContentAttachmentData( val exifOrientation: Int = ExifInterface.ORIENTATION_UNDEFINED, val name: String? = null, val queryUri: Uri, - private val mimeType: String?, + val mimeType: String?, val type: Type ) : Parcelable { + @JsonClass(generateAdapter = false) enum class Type { FILE, IMAGE, diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentUploadStateTracker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentUploadStateTracker.kt index a2167709..924da6c1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentUploadStateTracker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentUploadStateTracker.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentUrlResolver.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentUrlResolver.kt index 890e72ed..36c471bb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentUrlResolver.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentUrlResolver.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/CryptoService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/CryptoService.kt index 726f9b62..121d9fb4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/CryptoService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/CryptoService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -102,9 +101,9 @@ interface CryptoService { fun fetchDevicesList(callback: MatrixCallback<DevicesListResponse>) - fun getMyDevicesInfo() : List<DeviceInfo> + fun getMyDevicesInfo(): List<DeviceInfo> - fun getLiveMyDevicesInfo() : LiveData<List<DeviceInfo>> + fun getLiveMyDevicesInfo(): LiveData<List<DeviceInfo>> fun getDeviceInfo(deviceId: String, callback: MatrixCallback<DeviceInfo>) @@ -149,6 +148,6 @@ interface CryptoService { fun getGossipingEventsTrail(): List<Event> // For testing shared session - fun getSharedWithInfo(roomId: String?, sessionId: String) : MXUsersDevicesMap<Int> - fun getWithHeldMegolmSession(roomId: String, sessionId: String) : RoomKeyWithHeldContent? + fun getSharedWithInfo(roomId: String?, sessionId: String): MXUsersDevicesMap<Int> + fun getWithHeldMegolmSession(roomId: String, sessionId: String): RoomKeyWithHeldContent? } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/MXCryptoError.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/MXCryptoError.kt index 53bee09f..4956278a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/MXCryptoError.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/MXCryptoError.kt @@ -1,7 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd - * Copyright 2017 Vector Creations Ltd - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/crosssigning/CrossSigningService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/crosssigning/CrossSigningService.kt index 490b1d19..6a646cd4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/crosssigning/CrossSigningService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/crosssigning/CrossSigningService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/crosssigning/CrossSigningSsssSecretConstants.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/crosssigning/CrossSigningSsssSecretConstants.kt index bc85254f..04af85b0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/crosssigning/CrossSigningSsssSecretConstants.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/crosssigning/CrossSigningSsssSecretConstants.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/crosssigning/MXCrossSigningInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/crosssigning/MXCrossSigningInfo.kt index 0212dee3..6327dd92 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/crosssigning/MXCrossSigningInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/crosssigning/MXCrossSigningInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/keysbackup/KeysBackupService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/keysbackup/KeysBackupService.kt index ceeb87c1..465d0016 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/keysbackup/KeysBackupService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/keysbackup/KeysBackupService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -217,7 +216,7 @@ interface KeysBackupService { // For gossiping fun saveBackupRecoveryKey(recoveryKey: String?, version: String?) - fun getKeyBackupRecoveryKeyInfo() : SavedKeyBackupKeyInfo? + fun getKeyBackupRecoveryKeyInfo(): SavedKeyBackupKeyInfo? fun isValidRecoveryKeyForCurrentVersion(recoveryKey: String, callback: MatrixCallback<Boolean>) } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/keysbackup/KeysBackupState.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/keysbackup/KeysBackupState.kt index 9ab190ac..7d0f04eb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/keysbackup/KeysBackupState.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/keysbackup/KeysBackupState.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -54,23 +53,31 @@ package org.matrix.android.sdk.api.session.crypto.keysbackup enum class KeysBackupState { // Need to check the current backup version on the homeserver Unknown, + // Checking if backup is enabled on home server CheckingBackUpOnHomeserver, + // Backup has been stopped because a new backup version has been detected on the homeserver WrongBackUpVersion, + // Backup from this device is not enabled Disabled, + // There is a backup available on the homeserver but it is not trusted. // It is not trusted because the signature is invalid or the device that created it is not verified // Use [KeysBackup.getKeysBackupTrust()] to get trust details. // Consequently, the backup from this device is not enabled. NotTrusted, + // Backup is being enabled: the backup version is being created on the homeserver Enabling, + // Backup is enabled and ready to send backup to the homeserver ReadyToBackUp, + // e2e keys are going to be sent to the homeserver WillBackUp, + // e2e keys are being sent to the homeserver BackingUp } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/keysbackup/KeysBackupStateListener.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/keysbackup/KeysBackupStateListener.kt index 10cfe6ce..a6f4bd0e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/keysbackup/KeysBackupStateListener.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/keysbackup/KeysBackupStateListener.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/keyshare/GossipingRequestListener.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/keyshare/GossipingRequestListener.kt index 3daee31b..810d28dd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/keyshare/GossipingRequestListener.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/keyshare/GossipingRequestListener.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -36,7 +35,7 @@ interface GossipingRequestListener { * Returns the secret value to be shared * @return true if is handled */ - fun onSecretShareRequest(request: IncomingSecretShareRequest) : Boolean + fun onSecretShareRequest(request: IncomingSecretShareRequest): Boolean /** * A room key request cancellation has been received. diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/CancelCode.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/CancelCode.kt index acd08664..5a025f37 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/CancelCode.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/CancelCode.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/EmojiRepresentation.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/EmojiRepresentation.kt index 6b568ee1..2c1bf9ff 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/EmojiRepresentation.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/EmojiRepresentation.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/IncomingSasVerificationTransaction.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/IncomingSasVerificationTransaction.kt index 45d04e66..db2ea72e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/IncomingSasVerificationTransaction.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/IncomingSasVerificationTransaction.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/OutgoingSasVerificationTransaction.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/OutgoingSasVerificationTransaction.kt index c6be940c..38ee5dc7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/OutgoingSasVerificationTransaction.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/OutgoingSasVerificationTransaction.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/PendingVerificationRequest.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/PendingVerificationRequest.kt index 8da60976..1ee16172 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/PendingVerificationRequest.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/PendingVerificationRequest.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/QrCodeVerificationTransaction.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/QrCodeVerificationTransaction.kt index e4956aaa..37855099 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/QrCodeVerificationTransaction.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/QrCodeVerificationTransaction.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/SasMode.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/SasMode.kt index 2dc5c308..eff56f6f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/SasMode.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/SasMode.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/SasVerificationTransaction.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/SasVerificationTransaction.kt index 00da238b..da546be6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/SasVerificationTransaction.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/SasVerificationTransaction.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/ValidVerificationInfoReady.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/ValidVerificationInfoReady.kt index 68c1bb7b..46924a95 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/ValidVerificationInfoReady.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/ValidVerificationInfoReady.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/ValidVerificationInfoRequest.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/ValidVerificationInfoRequest.kt index 431c9728..9a41b35f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/ValidVerificationInfoRequest.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/ValidVerificationInfoRequest.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/VerificationMethod.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/VerificationMethod.kt index 15a728cc..4efec93a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/VerificationMethod.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/VerificationMethod.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -23,8 +22,10 @@ package org.matrix.android.sdk.api.session.crypto.verification enum class VerificationMethod { // Use it when your application supports the SAS verification method SAS, + // Use it if your application is able to display QR codes QR_CODE_SHOW, + // Use it if your application is able to scan QR codes QR_CODE_SCAN } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/VerificationService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/VerificationService.kt index 623f9e5c..65c6a1f1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/VerificationService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/VerificationService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/VerificationTransaction.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/VerificationTransaction.kt index 7e7dcb6d..4d35bc44 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/VerificationTransaction.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/VerificationTransaction.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/VerificationTxState.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/VerificationTxState.kt index a8ae81bc..39de2cc7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/VerificationTxState.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/verification/VerificationTxState.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/AggregatedAnnotation.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/AggregatedAnnotation.kt index 30a1e29d..239f7499 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/AggregatedAnnotation.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/AggregatedAnnotation.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/AggregatedRelations.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/AggregatedRelations.kt index 8bc1af25..34096d60 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/AggregatedRelations.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/AggregatedRelations.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/DefaultUnsignedRelationInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/DefaultUnsignedRelationInfo.kt index f8be9e26..242d0155 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/DefaultUnsignedRelationInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/DefaultUnsignedRelationInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/Event.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/Event.kt index 1068b920..8f9f409b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/Event.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/Event.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -254,6 +253,7 @@ fun Event.isFileMessage(): Boolean { else -> false } } + fun Event.isAttachmentMessage(): Boolean { return getClearType() == EventType.MESSAGE && when (getClearContent()?.toModel<MessageContent>()?.msgType) { diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/EventType.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/EventType.kt index f9f2e10a..82dea81a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/EventType.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/EventType.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/LocalEcho.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/LocalEcho.kt index aa3726d4..a7d7cf4e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/LocalEcho.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/LocalEcho.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/RelationChunkInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/RelationChunkInfo.kt index 72ab3e5c..a8a8d48a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/RelationChunkInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/RelationChunkInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/RelationType.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/RelationType.kt index 2c18bd6c..7d827f87 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/RelationType.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/RelationType.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -22,10 +21,13 @@ package org.matrix.android.sdk.api.session.events.model object RelationType { /** Lets you define an event which annotates an existing event.*/ const val ANNOTATION = "m.annotation" + /** Lets you define an event which replaces an existing event.*/ const val REPLACE = "m.replace" + /** Lets you define an event which references an existing event.*/ const val REFERENCE = "m.reference" + /** Lets you define an event which adds a response to an existing event.*/ const val RESPONSE = "org.matrix.response" } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/UnsignedData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/UnsignedData.kt index a16d9ec5..dfe1db7b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/UnsignedData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/UnsignedData.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/UnsignedRelationInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/UnsignedRelationInfo.kt index 04371ae5..f09041ee 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/UnsignedRelationInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/UnsignedRelationInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,6 +16,6 @@ package org.matrix.android.sdk.api.session.events.model interface UnsignedRelationInfo { - val limited : Boolean? + val limited: Boolean? val count: Int? } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/file/ContentDownloadStateTracker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/file/ContentDownloadStateTracker.kt index 52bf0ed0..169947e2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/file/ContentDownloadStateTracker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/file/ContentDownloadStateTracker.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/file/FileService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/file/FileService.kt index da42bfa4..31f016be 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/file/FileService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/file/FileService.kt @@ -1,12 +1,11 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/file/MatrixSDKFileProvider.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/file/MatrixSDKFileProvider.kt index b456626e..ee1550d1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/file/MatrixSDKFileProvider.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/file/MatrixSDKFileProvider.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/group/Group.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/group/Group.kt index 10435ee0..a4186b5a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/group/Group.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/group/Group.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/group/GroupService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/group/GroupService.kt index 6858db46..a9646660 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/group/GroupService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/group/GroupService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/group/GroupSummaryQueryParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/group/GroupSummaryQueryParams.kt index bf9535f2..0761a22c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/group/GroupSummaryQueryParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/group/GroupSummaryQueryParams.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/group/model/GroupSummary.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/group/model/GroupSummary.kt index 2633bdcd..ef50fce8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/group/model/GroupSummary.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/group/model/GroupSummary.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/homeserver/HomeServerCapabilities.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/homeserver/HomeServerCapabilities.kt index e12d99d6..da99ab8d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/homeserver/HomeServerCapabilities.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/homeserver/HomeServerCapabilities.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/homeserver/HomeServerCapabilitiesService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/homeserver/HomeServerCapabilitiesService.kt index bcf1052b..2c9121ce 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/homeserver/HomeServerCapabilitiesService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/homeserver/HomeServerCapabilitiesService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/FoundThreePid.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/FoundThreePid.kt index 2ac17204..d921072d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/FoundThreePid.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/FoundThreePid.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/IdentityService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/IdentityService.kt index 2a405411..537104a0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/IdentityService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/IdentityService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/IdentityServiceError.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/IdentityServiceError.kt index a9f8ccb9..72bb72cc 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/IdentityServiceError.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/IdentityServiceError.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/IdentityServiceListener.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/IdentityServiceListener.kt index f01d4e97..f0c00bb1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/IdentityServiceListener.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/IdentityServiceListener.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/SharedState.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/SharedState.kt index 3dae4b43..92ebdc3e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/SharedState.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/SharedState.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/ThreePid.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/ThreePid.kt index de4e0a9a..42d77784 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/ThreePid.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/ThreePid.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/integrationmanager/IntegrationManagerConfig.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/integrationmanager/IntegrationManagerConfig.kt index 0bee2455..069ed742 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/integrationmanager/IntegrationManagerConfig.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/integrationmanager/IntegrationManagerConfig.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -34,10 +33,12 @@ data class IntegrationManagerConfig( * Defined in UserAccountData */ ACCOUNT, + /** * Defined in Wellknown */ HOMESERVER, + /** * Fallback value, hardcoded by the SDK */ diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/integrationmanager/IntegrationManagerService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/integrationmanager/IntegrationManagerService.kt index 003e8bc9..e27d81ed 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/integrationmanager/IntegrationManagerService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/integrationmanager/IntegrationManagerService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/MatrixLinkify.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/MatrixLinkify.kt index 8927f06c..7f264c62 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/MatrixLinkify.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/MatrixLinkify.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/MatrixPermalinkSpan.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/MatrixPermalinkSpan.kt index a6609306..2f8f5f99 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/MatrixPermalinkSpan.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/MatrixPermalinkSpan.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/PermalinkData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/PermalinkData.kt index 1da65b30..b3fbdcf1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/PermalinkData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/PermalinkData.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/PermalinkParser.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/PermalinkParser.kt index 59e289ff..dc47c81a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/PermalinkParser.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/PermalinkParser.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/PermalinkService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/PermalinkService.kt index 804cde5b..ac1d726d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/PermalinkService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/permalinks/PermalinkService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/profile/ProfileService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/profile/ProfileService.kt index 15066cc4..1fd83602 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/profile/ProfileService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/profile/ProfileService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/pushers/PushGatewayFailure.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/pushers/PushGatewayFailure.kt new file mode 100644 index 00000000..b1514716 --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/pushers/PushGatewayFailure.kt @@ -0,0 +1,23 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.api.session.pushers + +import org.matrix.android.sdk.api.failure.Failure + +sealed class PushGatewayFailure : Failure.FeatureFailure() { + object PusherRejected : PushGatewayFailure() +} diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/pushers/Pusher.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/pushers/Pusher.kt index 6cc089e1..eed75c9d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/pushers/Pusher.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/pushers/Pusher.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/pushers/PushersService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/pushers/PushersService.kt index f42721f4..3993422b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/pushers/PushersService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/pushers/PushersService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -67,6 +66,21 @@ interface PushersService { append: Boolean, withEventIdOnly: Boolean): UUID + /** + * Directly ask the push gateway to send a push to this device + * @param url the push gateway url (full path) + * @param appId the application id + * @param pushkey the FCM token + * @param eventId the eventId which will be sent in the Push message. Use a fake eventId. + * @param callback callback to know if the push gateway has accepted the request. In this case, the app should receive a Push with the provided eventId. + * In case of error, PusherRejected failure can happen. In this case it means that the pushkey is not valid. + */ + fun testPush(url: String, + appId: String, + pushkey: String, + eventId: String, + callback: MatrixCallback<Unit>): Cancelable + /** * Remove the http pusher */ diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/Room.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/Room.kt index 3d8550ad..837bda03 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/Room.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/Room.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,6 +17,7 @@ package org.matrix.android.sdk.api.session.room import androidx.lifecycle.LiveData +import org.matrix.android.sdk.api.MatrixCallback import org.matrix.android.sdk.api.session.room.call.RoomCallService import org.matrix.android.sdk.api.session.room.crypto.RoomCryptoService import org.matrix.android.sdk.api.session.room.members.MembershipService @@ -33,6 +33,8 @@ import org.matrix.android.sdk.api.session.room.tags.TagsService import org.matrix.android.sdk.api.session.room.timeline.TimelineService import org.matrix.android.sdk.api.session.room.typing.TypingService import org.matrix.android.sdk.api.session.room.uploads.UploadsService +import org.matrix.android.sdk.api.session.search.SearchResult +import org.matrix.android.sdk.api.util.Cancelable import org.matrix.android.sdk.api.util.Optional /** @@ -69,4 +71,25 @@ interface Room : * A current snapshot of [RoomSummary] associated with the room */ fun roomSummary(): RoomSummary? + + /** + * Generic function to search a term in a room. + * Ref: https://matrix.org/docs/spec/client_server/latest#module-search + * @param searchTerm the term to search + * @param nextBatch the token that retrieved from the previous response. Should be provided to get the next batch of results + * @param orderByRecent if true, the most recent message events will return in the first places of the list + * @param limit the maximum number of events to return. + * @param beforeLimit how many events before the result are returned. + * @param afterLimit how many events after the result are returned. + * @param includeProfile requests that the server returns the historic profile information for the users that sent the events that were returned. + * @param callback Callback to get the search result + */ + fun search(searchTerm: String, + nextBatch: String?, + orderByRecent: Boolean, + limit: Int, + beforeLimit: Int, + afterLimit: Int, + includeProfile: Boolean, + callback: MatrixCallback<SearchResult>): Cancelable } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/RoomDirectoryService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/RoomDirectoryService.kt index 17d3a2a9..dc5b3d55 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/RoomDirectoryService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/RoomDirectoryService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/RoomService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/RoomService.kt index 1161dce5..965e7e23 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/RoomService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/RoomService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/RoomSummaryQueryParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/RoomSummaryQueryParams.kt index 5af23f8e..f859d74a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/RoomSummaryQueryParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/RoomSummaryQueryParams.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/call/RoomCallService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/call/RoomCallService.kt index 0ec27fdd..cac5217d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/call/RoomCallService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/call/RoomCallService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/crypto/RoomCryptoService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/crypto/RoomCryptoService.kt index b7f018bd..e7e6bacc 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/crypto/RoomCryptoService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/crypto/RoomCryptoService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/failure/CreateRoomFailure.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/failure/CreateRoomFailure.kt index 508cf5ea..b0df2963 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/failure/CreateRoomFailure.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/failure/CreateRoomFailure.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/failure/JoinRoomFailure.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/failure/JoinRoomFailure.kt index ef15fbc7..510c760f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/failure/JoinRoomFailure.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/failure/JoinRoomFailure.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/members/ChangeMembershipState.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/members/ChangeMembershipState.kt index 6d13b0bf..9cd754a0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/members/ChangeMembershipState.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/members/ChangeMembershipState.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,7 +16,7 @@ package org.matrix.android.sdk.api.session.room.members -sealed class ChangeMembershipState() { +sealed class ChangeMembershipState { object Unknown : ChangeMembershipState() object Joining : ChangeMembershipState() data class FailedJoining(val throwable: Throwable) : ChangeMembershipState() diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/members/MembershipService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/members/MembershipService.kt index 5c9a50dc..2c3ffac6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/members/MembershipService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/members/MembershipService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/members/RoomMemberQueryParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/members/RoomMemberQueryParams.kt index 39fc7598..c2c5a7f8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/members/RoomMemberQueryParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/members/RoomMemberQueryParams.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/EditAggregatedSummary.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/EditAggregatedSummary.kt index 721dcf4f..10fb81dc 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/EditAggregatedSummary.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/EditAggregatedSummary.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/EventAnnotationsSummary.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/EventAnnotationsSummary.kt index d1b0c894..3a4912e4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/EventAnnotationsSummary.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/EventAnnotationsSummary.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/Invite.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/Invite.kt index 6b3a3336..2841da35 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/Invite.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/Invite.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/Membership.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/Membership.kt index fc89ff06..5844aead 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/Membership.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/Membership.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/PollResponseAggregatedSummary.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/PollResponseAggregatedSummary.kt index 695a3353..a15d8be0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/PollResponseAggregatedSummary.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/PollResponseAggregatedSummary.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/PollSummaryContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/PollSummaryContent.kt index 07d62a17..844ef6c1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/PollSummaryContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/PollSummaryContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -36,7 +35,7 @@ data class PollSummaryContent( return votes?.size ?: 0 } - fun voteCountForOption(optionIndex: Int) : Int { + fun voteCountForOption(optionIndex: Int): Int { return votes?.filter { it.optionIndex == optionIndex }?.count() ?: 0 } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/PowerLevelsContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/PowerLevelsContent.kt index e55508c9..696b6123 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/PowerLevelsContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/PowerLevelsContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/ReactionAggregatedSummary.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/ReactionAggregatedSummary.kt index 97fd0a16..76ed6d0a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/ReactionAggregatedSummary.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/ReactionAggregatedSummary.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/ReadReceipt.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/ReadReceipt.kt index d6ced198..67cb9600 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/ReadReceipt.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/ReadReceipt.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/ReferencesAggregatedContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/ReferencesAggregatedContent.kt index 82291fa0..0947c96b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/ReferencesAggregatedContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/ReferencesAggregatedContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/ReferencesAggregatedSummary.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/ReferencesAggregatedSummary.kt index 29856726..31ac09ef 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/ReferencesAggregatedSummary.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/ReferencesAggregatedSummary.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomAliasesContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomAliasesContent.kt index 94628e69..f70e0137 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomAliasesContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomAliasesContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomAvatarContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomAvatarContent.kt index ded2e496..8c1c9e6b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomAvatarContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomAvatarContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomCanonicalAliasContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomCanonicalAliasContent.kt index d5f41b66..5487b2ff 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomCanonicalAliasContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomCanonicalAliasContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomDirectoryVisibility.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomDirectoryVisibility.kt index bd378844..a98f47f7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomDirectoryVisibility.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomDirectoryVisibility.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomGuestAccessContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomGuestAccessContent.kt index d2b944c0..99b035d3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomGuestAccessContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomGuestAccessContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -34,6 +33,7 @@ data class RoomGuestAccessContent( enum class GuestAccess(val value: String) { @Json(name = "can_join") CanJoin("can_join"), + @Json(name = "forbidden") Forbidden("forbidden") } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomHistoryVisibility.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomHistoryVisibility.kt index d6546b10..06069f26 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomHistoryVisibility.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomHistoryVisibility.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -30,16 +29,19 @@ enum class RoomHistoryVisibility { * participating homeserver with anyone, regardless of whether they have ever joined the room. */ @Json(name = "world_readable") WORLD_READABLE, + /** * Previous events are always accessible to newly joined members. All events in the * room are accessible, even those sent when the member was not a part of the room. */ @Json(name = "shared") SHARED, + /** * Events are accessible to newly joined members from the point they were invited onwards. * Events stop being accessible when the member's state changes to something other than invite or join. */ @Json(name = "invited") INVITED, + /** * Events are accessible to newly joined members from the point they joined the room onwards. * Events stop being accessible when the member's state changes to something other than join. diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomHistoryVisibilityContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomHistoryVisibilityContent.kt index 8955320d..31493be7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomHistoryVisibilityContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomHistoryVisibilityContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomJoinRules.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomJoinRules.kt index d6c947b7..09aacfab 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomJoinRules.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomJoinRules.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomJoinRulesContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomJoinRulesContent.kt index 14a88885..3be2d38b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomJoinRulesContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomJoinRulesContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomMemberContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomMemberContent.kt index 278db67a..f29dd6a3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomMemberContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomMemberContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomMemberSummary.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomMemberSummary.kt index 17b0cf30..fba3a1dd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomMemberSummary.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomMemberSummary.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomNameContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomNameContent.kt index c3d93a5a..a0b45e88 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomNameContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomNameContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomSummary.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomSummary.kt index 0df86e09..f170c098 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomSummary.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomSummary.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomThirdPartyInviteContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomThirdPartyInviteContent.kt index f8372f31..776acbd8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomThirdPartyInviteContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomThirdPartyInviteContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomTopicContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomTopicContent.kt index 38d3ca93..b97ee44d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomTopicContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomTopicContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/Signed.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/Signed.kt index 9c14275b..98101b9b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/Signed.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/Signed.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,7 +17,9 @@ package org.matrix.android.sdk.api.session.room.model import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) data class Signed( @Json(name = "token") val token: String, @Json(name = "signatures") val signatures: Any, diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/VersioningState.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/VersioningState.kt index 202d64d6..b4e7b10d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/VersioningState.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/VersioningState.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/CallAnswerContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/CallAnswerContent.kt index 2e21ebea..c4d1f648 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/CallAnswerContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/CallAnswerContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/CallCandidatesContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/CallCandidatesContent.kt index 6a6f1c82..cad2356c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/CallCandidatesContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/CallCandidatesContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/CallHangupContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/CallHangupContent.kt index aef77400..d30441df 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/CallHangupContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/CallHangupContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/CallInviteContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/CallInviteContent.kt index 6baef034..b961a6f6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/CallInviteContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/CallInviteContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/SdpType.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/SdpType.kt index a760e6ef..ff393135 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/SdpType.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/call/SdpType.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/create/CreateRoomParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/create/CreateRoomParams.kt index 2e78ae10..0860b25d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/create/CreateRoomParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/create/CreateRoomParams.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/create/CreateRoomPreset.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/create/CreateRoomPreset.kt index 7bc4f664..c9a905e0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/create/CreateRoomPreset.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/create/CreateRoomPreset.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/create/Predecessor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/create/Predecessor.kt index fb726808..f48beb29 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/create/Predecessor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/create/Predecessor.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/create/RoomCreateContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/create/RoomCreateContent.kt index 2a9b4ca9..0b595b1b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/create/RoomCreateContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/create/RoomCreateContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/AudioInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/AudioInfo.kt index 7b0097db..b72c8e5d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/AudioInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/AudioInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/FileInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/FileInfo.kt index 290909de..e85bb080 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/FileInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/FileInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/ImageInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/ImageInfo.kt index 26c196bb..048febec 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/ImageInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/ImageInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/LocationInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/LocationInfo.kt index 258fd75c..a6908dce 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/LocationInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/LocationInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageAudioContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageAudioContent.kt index 14022075..fcf3d73c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageAudioContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageAudioContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -54,6 +53,6 @@ data class MessageAudioContent( @Json(name = "file") override val encryptedFileInfo: EncryptedFileInfo? = null ) : MessageWithAttachmentContent { - override val mimeType: String? - get() = encryptedFileInfo?.mimetype ?: audioInfo?.mimeType + override val mimeType: String? + get() = encryptedFileInfo?.mimetype ?: audioInfo?.mimeType } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageContent.kt index 8b5c98d2..df5641a6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageContentWithFormattedBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageContentWithFormattedBody.kt index 15609dca..aabf6173 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageContentWithFormattedBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageContentWithFormattedBody.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageDefaultContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageDefaultContent.kt index 2b033755..65e89cdf 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageDefaultContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageDefaultContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageEmoteContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageEmoteContent.kt index 36ec85eb..77983a03 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageEmoteContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageEmoteContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageFileContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageFileContent.kt index bbdb2835..d93f1153 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageFileContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageFileContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageFormat.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageFormat.kt index c32b0586..a34b5df1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageFormat.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageFormat.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageImageContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageImageContent.kt index 48e30508..859f7fd1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageImageContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageImageContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -54,6 +53,6 @@ data class MessageImageContent( */ @Json(name = "file") override val encryptedFileInfo: EncryptedFileInfo? = null ) : MessageImageInfoContent { - override val mimeType: String? - get() = encryptedFileInfo?.mimetype ?: info?.mimeType ?: "image/*" + override val mimeType: String? + get() = encryptedFileInfo?.mimetype ?: info?.mimeType ?: "image/*" } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageImageInfoContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageImageInfoContent.kt index e14d531a..369a1a1a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageImageInfoContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageImageInfoContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageLocationContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageLocationContent.kt index 3452e291..bdb54910 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageLocationContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageLocationContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageNoticeContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageNoticeContent.kt index 7c2dd2a1..b2fd8cb0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageNoticeContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageNoticeContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageOptionsContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageOptionsContent.kt index caaf5151..79244698 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageOptionsContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageOptionsContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessagePollResponseContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessagePollResponseContent.kt index a7dd0160..d8274752 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessagePollResponseContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessagePollResponseContent.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageRelationContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageRelationContent.kt index a97c0f86..33846b47 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageRelationContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageRelationContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageStickerContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageStickerContent.kt index fad04941..00fa68c0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageStickerContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageStickerContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -54,6 +53,6 @@ data class MessageStickerContent( */ @Json(name = "file") override val encryptedFileInfo: EncryptedFileInfo? = null ) : MessageImageInfoContent { - override val mimeType: String? - get() = encryptedFileInfo?.mimetype ?: info?.mimeType + override val mimeType: String? + get() = encryptedFileInfo?.mimetype ?: info?.mimeType } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageTextContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageTextContent.kt index ea8685ae..e45245a9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageTextContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageTextContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageType.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageType.kt index 026132b7..0f133323 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageType.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageType.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -30,6 +29,7 @@ object MessageType { const val MSGTYPE_RESPONSE = "org.matrix.response" const val MSGTYPE_POLL_CLOSED = "org.matrix.poll_closed" const val MSGTYPE_VERIFICATION_REQUEST = "m.key.verification.request" + // Add, in local, a fake message type in order to StickerMessage can inherit Message class // Because sticker isn't a message type but a event type without msgtype field const val MSGTYPE_STICKER_LOCAL = "org.matrix.android.sdk.sticker" diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationAcceptContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationAcceptContent.kt index d7a8a4a6..27619cf0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationAcceptContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationAcceptContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationCancelContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationCancelContent.kt index 944599a1..687e5362 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationCancelContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationCancelContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationDoneContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationDoneContent.kt index 13593b60..a7f05009 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationDoneContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationDoneContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationKeyContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationKeyContent.kt index 00d4e2cd..1a15e056 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationKeyContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationKeyContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationMacContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationMacContent.kt index 9ac43e49..3bb33384 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationMacContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationMacContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationReadyContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationReadyContent.kt index eafdb30e..72bf6e6f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationReadyContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationReadyContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationRequestContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationRequestContent.kt index b89ff075..25b5f448 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationRequestContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationRequestContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationStartContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationStartContent.kt index c6c5cb62..8f23a9e1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationStartContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVerificationStartContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVideoContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVideoContent.kt index 02456e6b..b7581c9f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVideoContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageVideoContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -53,6 +52,6 @@ data class MessageVideoContent( */ @Json(name = "file") override val encryptedFileInfo: EncryptedFileInfo? = null ) : MessageWithAttachmentContent { - override val mimeType: String? - get() = encryptedFileInfo?.mimetype ?: videoInfo?.mimeType + override val mimeType: String? + get() = encryptedFileInfo?.mimetype ?: videoInfo?.mimeType } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageWithAttachmentContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageWithAttachmentContent.kt index af07d37e..7870db4f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageWithAttachmentContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/MessageWithAttachmentContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/OptionItem.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/OptionItem.kt index b6e79790..625043df 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/OptionItem.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/OptionItem.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/ThumbnailInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/ThumbnailInfo.kt index bedbe526..632914ae 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/ThumbnailInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/ThumbnailInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/VideoInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/VideoInfo.kt index b16c3dd8..8379ee93 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/VideoInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/message/VideoInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/ReactionContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/ReactionContent.kt index 8f2b2c7f..34fb2310 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/ReactionContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/ReactionContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/ReactionInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/ReactionInfo.kt index 97577c90..5b5c9e68 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/ReactionInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/ReactionInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/RelationContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/RelationContent.kt index a3822118..e2080bb4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/RelationContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/RelationContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/RelationDefaultContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/RelationDefaultContent.kt index eedc2351..10b071a6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/RelationDefaultContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/RelationDefaultContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/RelationService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/RelationService.kt index b3d739fc..49aa9592 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/RelationService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/RelationService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/ReplyToContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/ReplyToContent.kt index 57d8adb6..251328be 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/ReplyToContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/relation/ReplyToContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/roomdirectory/PublicRoom.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/roomdirectory/PublicRoom.kt index 0429eba1..01f5d9cd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/roomdirectory/PublicRoom.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/roomdirectory/PublicRoom.kt @@ -1,5 +1,4 @@ /* - * Copyright 2014 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/roomdirectory/PublicRoomsFilter.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/roomdirectory/PublicRoomsFilter.kt index 041b8045..66ebc594 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/roomdirectory/PublicRoomsFilter.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/roomdirectory/PublicRoomsFilter.kt @@ -1,5 +1,4 @@ /* - * Copyright 2014 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/roomdirectory/PublicRoomsParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/roomdirectory/PublicRoomsParams.kt index c69cde72..3af354a0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/roomdirectory/PublicRoomsParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/roomdirectory/PublicRoomsParams.kt @@ -1,6 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd - * Copyright 2017 Vector Creations Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/roomdirectory/PublicRoomsResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/roomdirectory/PublicRoomsResponse.kt index 39f24d65..82da8bc4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/roomdirectory/PublicRoomsResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/roomdirectory/PublicRoomsResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2014 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/tag/RoomTag.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/tag/RoomTag.kt index f5303773..a7d82eeb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/tag/RoomTag.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/tag/RoomTag.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/tag/RoomTagContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/tag/RoomTagContent.kt index 15b83a4a..d0044d44 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/tag/RoomTagContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/tag/RoomTagContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/thirdparty/FieldType.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/thirdparty/FieldType.kt index 36bc9496..5e0b7e87 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/thirdparty/FieldType.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/thirdparty/FieldType.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/thirdparty/RoomDirectoryData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/thirdparty/RoomDirectoryData.kt index e2cdd25b..91f429d7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/thirdparty/RoomDirectoryData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/thirdparty/RoomDirectoryData.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/thirdparty/ThirdPartyProtocol.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/thirdparty/ThirdPartyProtocol.kt index ebc147e6..4d9e6d9c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/thirdparty/ThirdPartyProtocol.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/thirdparty/ThirdPartyProtocol.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/thirdparty/ThirdPartyProtocolInstance.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/thirdparty/ThirdPartyProtocolInstance.kt index 04e54812..0ca04445 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/thirdparty/ThirdPartyProtocolInstance.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/thirdparty/ThirdPartyProtocolInstance.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/tombstone/RoomTombstoneContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/tombstone/RoomTombstoneContent.kt index 43b56c8b..9b607aa7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/tombstone/RoomTombstoneContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/tombstone/RoomTombstoneContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/notification/RoomNotificationState.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/notification/RoomNotificationState.kt index 42971e87..ea59ff4d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/notification/RoomNotificationState.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/notification/RoomNotificationState.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/notification/RoomPushRuleService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/notification/RoomPushRuleService.kt index 79070ade..32d60335 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/notification/RoomPushRuleService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/notification/RoomPushRuleService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/powerlevels/PowerLevelsHelper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/powerlevels/PowerLevelsHelper.kt index 34e3168c..47922f69 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/powerlevels/PowerLevelsHelper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/powerlevels/PowerLevelsHelper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/powerlevels/Role.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/powerlevels/Role.kt index 5ac47978..ecfddad0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/powerlevels/Role.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/powerlevels/Role.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/read/ReadService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/read/ReadService.kt index 3aa9d60e..4f44c9a9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/read/ReadService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/read/ReadService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -63,6 +62,14 @@ interface ReadService { */ fun getMyReadReceiptLive(): LiveData<Optional<String>> + /** + * Get the eventId where the read receipt for the provided user is + * @param userId the id of the user to look for + * + * @return the eventId where the read receipt for the provided user is attached, or null if not found + */ + fun getUserReadReceipt(userId: String): String? + /** * Returns a live list of read receipts for a given event * @param eventId: the event diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/reporting/ReportingService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/reporting/ReportingService.kt index 42a21fab..0ccdfd1d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/reporting/ReportingService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/reporting/ReportingService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/DraftService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/DraftService.kt index dc91d517..116a60e3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/DraftService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/DraftService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,6 +19,7 @@ package org.matrix.android.sdk.api.session.room.send import androidx.lifecycle.LiveData import org.matrix.android.sdk.api.MatrixCallback import org.matrix.android.sdk.api.util.Cancelable +import org.matrix.android.sdk.api.util.Optional interface DraftService { @@ -34,8 +34,12 @@ interface DraftService { fun deleteDraft(callback: MatrixCallback<Unit>): Cancelable /** - * Return the current drafts if any, as a live data - * The draft list can contain one draft for {regular, reply, quote} and an arbitrary number of {edit} drafts + * Return the current draft or null */ - fun getDraftsLive(): LiveData<List<UserDraft>> + fun getDraft(): UserDraft? + + /** + * Return the current draft if any, as a live data + */ + fun getDraftLive(): LiveData<Optional<UserDraft>> } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/MatrixItemSpan.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/MatrixItemSpan.kt index a96339a1..1810dd9f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/MatrixItemSpan.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/MatrixItemSpan.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/SendService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/SendService.kt index b8e536cb..36f6e538 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/SendService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/SendService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/SendState.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/SendState.kt index be8849b2..7c806bf3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/SendState.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/SendState.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -19,18 +18,25 @@ package org.matrix.android.sdk.api.session.room.send enum class SendState { UNKNOWN, + // the event has not been sent UNSENT, + // the event is encrypting ENCRYPTING, + // the event is currently sending SENDING, + // the event has been sent SENT, + // the event has been received from server SYNCED, + // The event failed to be sent UNDELIVERED, + // the event failed to be sent because some unknown devices have been found while encrypting it FAILED_UNKNOWN_DEVICES; diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/UserDraft.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/UserDraft.kt index b5542b7d..9471b3db 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/UserDraft.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/send/UserDraft.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/sender/SenderInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/sender/SenderInfo.kt index b2836eca..1b4368e3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/sender/SenderInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/sender/SenderInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/state/StateService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/state/StateService.kt index f887a8b8..8c087439 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/state/StateService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/state/StateService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/summary/RoomSummaryConstants.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/summary/RoomSummaryConstants.kt index 2b013281..dcaf5f32 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/summary/RoomSummaryConstants.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/summary/RoomSummaryConstants.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/tags/TagsService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/tags/TagsService.kt index 62f95603..3278c640 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/tags/TagsService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/tags/TagsService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/Timeline.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/Timeline.kt index 8920689d..8932d073 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/Timeline.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/Timeline.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -129,6 +128,7 @@ interface Timeline { * It represents future events. */ FORWARDS, + /** * It represents past events. */ diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineEvent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineEvent.kt index 1f3c85af..73cb94b4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineEvent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineEvent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineEventFilters.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineEventFilters.kt index eccc46b5..c7516322 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineEventFilters.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineEventFilters.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineService.kt index 473e5053..2876ec69 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -41,5 +40,5 @@ interface TimelineService { fun getTimeLineEventLive(eventId: String): LiveData<Optional<TimelineEvent>> - fun getAttachmentMessages() : List<TimelineEvent> + fun getAttachmentMessages(): List<TimelineEvent> } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineSettings.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineSettings.kt index ab98208e..25c63d6f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineSettings.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineSettings.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/typing/TypingService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/typing/TypingService.kt index eaa8d5c3..e69afa4f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/typing/TypingService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/typing/TypingService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/uploads/GetUploadsResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/uploads/GetUploadsResult.kt index 09b885e2..09a69ea9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/uploads/GetUploadsResult.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/uploads/GetUploadsResult.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/uploads/UploadEvent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/uploads/UploadEvent.kt index 16423cf3..d7be9f87 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/uploads/UploadEvent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/uploads/UploadEvent.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/uploads/UploadsService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/uploads/UploadsService.kt index 1cabdfc9..c3cc1eb9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/uploads/UploadsService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/uploads/UploadsService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/search/SearchResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/search/SearchResult.kt new file mode 100644 index 00000000..c46d8f9b --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/search/SearchResult.kt @@ -0,0 +1,44 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.api.session.search + +import org.matrix.android.sdk.api.session.events.model.Event +import org.matrix.android.sdk.api.util.MatrixItem + +/** + * Domain class to represent the response of a search request in a room. + */ +data class SearchResult( + /** + * Token that can be used to get the next batch of results, by passing as the next_batch parameter to the next call. + * If this field is null, there are no more results. + */ + val nextBatch: String? = null, + /** + * List of words which should be highlighted, useful for stemming which may change the query terms. + */ + val highlights: List<String>? = null, + /** + * List of results in the requested order. + */ + val results: List<EventAndSender>? = null +) + +data class EventAndSender( + val event: Event, + val sender: MatrixItem.UserItem? +) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/search/SearchService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/search/SearchService.kt new file mode 100644 index 00000000..ef2eec43 --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/search/SearchService.kt @@ -0,0 +1,49 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.api.session.search + +import org.matrix.android.sdk.api.MatrixCallback +import org.matrix.android.sdk.api.util.Cancelable + +/** + * This interface defines methods to search messages in rooms. + */ +interface SearchService { + + /** + * Generic function to search a term in a room. + * Ref: https://matrix.org/docs/spec/client_server/latest#module-search + * @param searchTerm the term to search + * @param roomId the roomId to search term inside + * @param nextBatch the token that retrieved from the previous response. Should be provided to get the next batch of results + * @param orderByRecent if true, the most recent message events will return in the first places of the list + * @param limit the maximum number of events to return. + * @param beforeLimit how many events before the result are returned. + * @param afterLimit how many events after the result are returned. + * @param includeProfile requests that the server returns the historic profile information for the users that sent the events that were returned. + * @param callback Callback to get the search result + */ + fun search(searchTerm: String, + roomId: String, + nextBatch: String?, + orderByRecent: Boolean, + limit: Int, + beforeLimit: Int, + afterLimit: Int, + includeProfile: Boolean, + callback: MatrixCallback<SearchResult>): Cancelable +} diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/EncryptedSecretContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/EncryptedSecretContent.kt index 8c062b42..42682efb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/EncryptedSecretContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/EncryptedSecretContent.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/IntegrityResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/IntegrityResult.kt index 096f9f34..1f4c0eb5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/IntegrityResult.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/IntegrityResult.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/KeyInfoResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/KeyInfoResult.kt index 287555ae..512d6f48 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/KeyInfoResult.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/KeyInfoResult.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/KeySigner.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/KeySigner.kt index 2d56fb81..c06f87a9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/KeySigner.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/KeySigner.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SecretStorageKeyContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SecretStorageKeyContent.kt index f960a436..f7725be0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SecretStorageKeyContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SecretStorageKeyContent.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SecureStorageService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SecureStorageService.kt index 89095268..6b75c94c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SecureStorageService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SecureStorageService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SharedSecretStorageError.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SharedSecretStorageError.kt index 79e7fa51..59325f99 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SharedSecretStorageError.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SharedSecretStorageError.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SharedSecretStorageService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SharedSecretStorageService.kt index ffc7e388..37ecf99f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SharedSecretStorageService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SharedSecretStorageService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SsssKeyCreationInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SsssKeyCreationInfo.kt index 17f0366d..eeb1b31f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SsssKeyCreationInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SsssKeyCreationInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SsssKeySpec.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SsssKeySpec.kt index 9ae181a4..f791ea4e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SsssKeySpec.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/securestorage/SsssKeySpec.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/signout/SignOutService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/signout/SignOutService.kt index d4061c5c..ebbbac52 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/signout/SignOutService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/signout/SignOutService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/sync/FilterService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/sync/FilterService.kt index 03899699..70de0268 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/sync/FilterService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/sync/FilterService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -21,6 +20,7 @@ interface FilterService { enum class FilterPreset { NoFilter, + /** * Filter for Riot, will include only known event type */ diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/sync/SyncState.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/sync/SyncState.kt index 08d8be69..6fb13e8b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/sync/SyncState.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/sync/SyncState.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/terms/GetTermsResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/terms/GetTermsResponse.kt index 685f4ba9..e6d33cad 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/terms/GetTermsResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/terms/GetTermsResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/terms/TermsService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/terms/TermsService.kt index 3e2201cb..2d881256 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/terms/TermsService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/terms/TermsService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/typing/TypingUsersTracker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/typing/TypingUsersTracker.kt index e51fa45d..ff1b3063 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/typing/TypingUsersTracker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/typing/TypingUsersTracker.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/user/UserService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/user/UserService.kt index b5617a20..2cfc4b73 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/user/UserService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/user/UserService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/user/model/User.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/user/model/User.kt index bf855158..7cd939a5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/user/model/User.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/user/model/User.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/WidgetManagementFailure.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/WidgetManagementFailure.kt index abbbf040..88cf7c0e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/WidgetManagementFailure.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/WidgetManagementFailure.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/WidgetPostAPIMediator.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/WidgetPostAPIMediator.kt index 4dba2a10..d8fd00d9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/WidgetPostAPIMediator.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/WidgetPostAPIMediator.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/WidgetService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/WidgetService.kt index 444708d9..037cd22b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/WidgetService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/WidgetService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/WidgetURLFormatter.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/WidgetURLFormatter.kt index ad01679e..d4720d34 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/WidgetURLFormatter.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/WidgetURLFormatter.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/model/Widget.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/model/Widget.kt index 9da2f224..c8465d4d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/model/Widget.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/model/Widget.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/model/WidgetContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/model/WidgetContent.kt index 1a3d3973..2c4c03b7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/model/WidgetContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/model/WidgetContent.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/model/WidgetType.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/model/WidgetType.kt index 278a1236..ee098f9b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/model/WidgetType.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/widgets/model/WidgetType.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/Cancelable.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/Cancelable.kt index b1976f39..cf38ff03 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/Cancelable.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/Cancelable.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/CancelableBag.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/CancelableBag.kt index bc44e08c..9111973c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/CancelableBag.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/CancelableBag.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/ContentUtils.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/ContentUtils.kt index a11be962..c82a929e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/ContentUtils.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/ContentUtils.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/MatrixCallbackDelegate.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/MatrixCallbackDelegate.kt index c72ae3d0..63d37f40 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/MatrixCallbackDelegate.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/MatrixCallbackDelegate.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/MatrixItem.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/MatrixItem.kt index 3e99ae52..db229a64 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/MatrixItem.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/MatrixItem.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/Optional.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/Optional.kt index 159f7149..42724746 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/Optional.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/Optional.kt @@ -1,20 +1,17 @@ /* - - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ package org.matrix.android.sdk.api.util @@ -49,7 +46,7 @@ data class Optional<T : Any> constructor(private val value: T?) { return Optional(value) } - fun <T: Any> empty(): Optional<T> { + fun <T : Any> empty(): Optional<T> { return Optional(null) } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/Types.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/Types.kt index 7344dab8..8d08b969 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/Types.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/Types.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/SessionManager.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/SessionManager.kt index 24f5558b..441232f5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/SessionManager.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/SessionManager.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/AuthAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/AuthAPI.kt index d0c02b60..f92ae7e0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/AuthAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/AuthAPI.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/AuthModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/AuthModule.kt index 229baac0..c6d61018 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/AuthModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/AuthModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/DefaultAuthenticationService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/DefaultAuthenticationService.kt index 02c48dab..3d5a0efc 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/DefaultAuthenticationService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/DefaultAuthenticationService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -273,16 +272,16 @@ internal class DefaultAuthenticationService @Inject constructor( } private suspend fun getLoginFlowResult(authAPI: AuthAPI, versions: Versions, homeServerUrl: String): LoginFlowResult { - return if (versions.isSupportedBySdk()) { - // Get the login flow - val loginFlowResponse = executeRequest<LoginFlowResponse>(null) { - apiCall = authAPI.getLoginFlows() - } - LoginFlowResult.Success(loginFlowResponse.flows.orEmpty().mapNotNull { it.type }, versions.isLoginAndRegistrationSupportedBySdk(), homeServerUrl) - } else { - // Not supported - LoginFlowResult.OutdatedHomeserver + // Get the login flow + val loginFlowResponse = executeRequest<LoginFlowResponse>(null) { + apiCall = authAPI.getLoginFlows() } + return LoginFlowResult.Success( + loginFlowResponse.flows.orEmpty().mapNotNull { it.type }, + versions.isLoginAndRegistrationSupportedBySdk(), + homeServerUrl, + !versions.isSupportedBySdk() + ) } override fun getRegistrationWizard(): RegistrationWizard { diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/PendingSessionStore.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/PendingSessionStore.kt index 3b1c61e2..06954fa5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/PendingSessionStore.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/PendingSessionStore.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/SessionCreator.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/SessionCreator.kt index a44cda5b..6743e733 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/SessionCreator.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/SessionCreator.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/SessionParamsStore.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/SessionParamsStore.kt index eb038ecf..0dd67ad6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/SessionParamsStore.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/SessionParamsStore.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/InteractiveAuthenticationFlow.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/InteractiveAuthenticationFlow.kt index 7a631a56..d66bcfb2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/InteractiveAuthenticationFlow.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/InteractiveAuthenticationFlow.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/LoginFlowResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/LoginFlowResponse.kt index 9fb7eb5f..8acdee36 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/LoginFlowResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/LoginFlowResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/LoginParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/LoginParams.kt index fc720677..ea8578ed 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/LoginParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/LoginParams.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/PasswordLoginParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/PasswordLoginParams.kt index 60eebea5..d4b14f1c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/PasswordLoginParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/PasswordLoginParams.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/RiotConfig.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/RiotConfig.kt index 9fb89638..e61358a6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/RiotConfig.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/RiotConfig.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/ThreePidMedium.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/ThreePidMedium.kt index d47eca8c..e67a5ffb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/ThreePidMedium.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/ThreePidMedium.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/TokenLoginParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/TokenLoginParams.kt index 3d9f58f0..0c6fb45e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/TokenLoginParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/data/TokenLoginParams.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/AuthRealmMigration.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/AuthRealmMigration.kt index 88e28047..bb266722 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/AuthRealmMigration.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/AuthRealmMigration.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/AuthRealmModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/AuthRealmModule.kt index 282d0df7..a92384b4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/AuthRealmModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/AuthRealmModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/PendingSessionData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/PendingSessionData.kt index ad51f63e..6e13e947 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/PendingSessionData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/PendingSessionData.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/PendingSessionEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/PendingSessionEntity.kt index 2ee342d0..07984115 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/PendingSessionEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/PendingSessionEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/PendingSessionMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/PendingSessionMapper.kt index d357221f..8e4043c1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/PendingSessionMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/PendingSessionMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/RealmPendingSessionStore.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/RealmPendingSessionStore.kt index 41851fc2..968ae22e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/RealmPendingSessionStore.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/RealmPendingSessionStore.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/RealmSessionParamsStore.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/RealmSessionParamsStore.kt index 57f1c23e..edd3e2be 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/RealmSessionParamsStore.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/RealmSessionParamsStore.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/SessionParamsEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/SessionParamsEntity.kt index 81202d2f..ba1ab814 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/SessionParamsEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/SessionParamsEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/SessionParamsMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/SessionParamsMapper.kt index 78324b69..147c0e8b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/SessionParamsMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/SessionParamsMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/DefaultLoginWizard.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/DefaultLoginWizard.kt index 71b8f640..108d0d4a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/DefaultLoginWizard.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/DefaultLoginWizard.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/DirectLoginTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/DirectLoginTask.kt index f759dc42..be6ff389 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/DirectLoginTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/DirectLoginTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/ResetPasswordData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/ResetPasswordData.kt index a6f621c2..06fcacd5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/ResetPasswordData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/ResetPasswordData.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/ResetPasswordMailConfirmed.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/ResetPasswordMailConfirmed.kt index c291c788..4e0c000f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/ResetPasswordMailConfirmed.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/ResetPasswordMailConfirmed.kt @@ -1,7 +1,4 @@ /* - * Copyright 2014 OpenMarket Ltd - * Copyright 2017 Vector Creations Ltd - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/AddThreePidRegistrationParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/AddThreePidRegistrationParams.kt index 3e6e3054..f8d17b40 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/AddThreePidRegistrationParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/AddThreePidRegistrationParams.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/AddThreePidRegistrationResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/AddThreePidRegistrationResponse.kt index 2d60724e..c1f9fe16 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/AddThreePidRegistrationResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/AddThreePidRegistrationResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/AuthParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/AuthParams.kt index f3136526..23fdbc61 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/AuthParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/AuthParams.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/DefaultRegistrationWizard.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/DefaultRegistrationWizard.kt index 676f40a9..9c6b942a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/DefaultRegistrationWizard.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/DefaultRegistrationWizard.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/LocalizedFlowDataLoginTerms.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/LocalizedFlowDataLoginTerms.kt index 45e2f80f..1e188870 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/LocalizedFlowDataLoginTerms.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/LocalizedFlowDataLoginTerms.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegisterAddThreePidTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegisterAddThreePidTask.kt index 3ad15822..57c4b72b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegisterAddThreePidTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegisterAddThreePidTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegisterTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegisterTask.kt index 2b392413..bf5d8992 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegisterTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegisterTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegistrationFlowResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegistrationFlowResponse.kt index 267e50ee..5b105c4d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegistrationFlowResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegistrationFlowResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegistrationParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegistrationParams.kt index ca475566..3d20b6bd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegistrationParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/RegistrationParams.kt @@ -1,7 +1,4 @@ /* - * Copyright 2014 OpenMarket Ltd - * Copyright 2017 Vector Creations Ltd - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/SuccessResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/SuccessResult.kt index bfebc578..9b158cce 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/SuccessResult.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/SuccessResult.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/ThreePidData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/ThreePidData.kt index 25a7fa3a..43167062 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/ThreePidData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/ThreePidData.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/ValidateCodeTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/ValidateCodeTask.kt index 470faae7..b297c984 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/ValidateCodeTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/ValidateCodeTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/ValidationCodeBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/ValidationCodeBody.kt index ad4a3d46..b6f3e839 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/ValidationCodeBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/ValidationCodeBody.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/version/HomeServerVersion.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/version/HomeServerVersion.kt index 9a02bc62..0a9b8b73 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/version/HomeServerVersion.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/version/HomeServerVersion.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/version/Versions.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/version/Versions.kt index 483c43f5..4e599516 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/version/Versions.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/version/Versions.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -105,6 +104,6 @@ private fun Versions.doesServerSeparatesAddAndBind(): Boolean { private fun Versions.getMaxVersion(): HomeServerVersion { return supportedVersions ?.mapNotNull { HomeServerVersion.parse(it) } - ?.max() + ?.maxOrNull() ?: HomeServerVersion.r0_0_0 } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/CancelGossipRequestWorker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/CancelGossipRequestWorker.kt index c4f55d14..c2c81894 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/CancelGossipRequestWorker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/CancelGossipRequestWorker.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,10 +17,9 @@ package org.matrix.android.sdk.internal.crypto import android.content.Context -import androidx.work.CoroutineWorker -import androidx.work.Data import androidx.work.WorkerParameters import com.squareup.moshi.JsonClass +import org.greenrobot.eventbus.EventBus import org.matrix.android.sdk.api.auth.data.Credentials import org.matrix.android.sdk.api.failure.shouldBeRetried import org.matrix.android.sdk.api.session.events.model.Event @@ -32,28 +30,29 @@ import org.matrix.android.sdk.internal.crypto.model.MXUsersDevicesMap import org.matrix.android.sdk.internal.crypto.model.rest.ShareRequestCancellation import org.matrix.android.sdk.internal.crypto.store.IMXCryptoStore import org.matrix.android.sdk.internal.crypto.tasks.SendToDeviceTask -import org.matrix.android.sdk.internal.worker.WorkerParamsFactory -import org.matrix.android.sdk.internal.worker.getSessionComponent -import org.greenrobot.eventbus.EventBus -import timber.log.Timber +import org.matrix.android.sdk.internal.session.SessionComponent +import org.matrix.android.sdk.internal.worker.SessionSafeCoroutineWorker +import org.matrix.android.sdk.internal.worker.SessionWorkerParams import javax.inject.Inject internal class CancelGossipRequestWorker(context: Context, params: WorkerParameters) - : CoroutineWorker(context, params) { + : SessionSafeCoroutineWorker<CancelGossipRequestWorker.Params>(context, params, Params::class.java) { @JsonClass(generateAdapter = true) internal data class Params( - val sessionId: String, + override val sessionId: String, val requestId: String, - val recipients: Map<String, List<String>> - ) { + val recipients: Map<String, List<String>>, + override val lastFailureMessage: String? = null + ) : SessionWorkerParams { companion object { fun fromRequest(sessionId: String, request: OutgoingGossipingRequest): Params { return Params( sessionId = sessionId, requestId = request.requestId, - recipients = request.recipients + recipients = request.recipients, + lastFailureMessage = null ) } } @@ -64,18 +63,11 @@ internal class CancelGossipRequestWorker(context: Context, @Inject lateinit var eventBus: EventBus @Inject lateinit var credentials: Credentials - override suspend fun doWork(): Result { - val errorOutputData = Data.Builder().putBoolean("failed", true).build() - val params = WorkerParamsFactory.fromData<Params>(inputData) - ?: return Result.success(errorOutputData) - - val sessionComponent = getSessionComponent(params.sessionId) - ?: return Result.success(errorOutputData).also { - // TODO, can this happen? should I update local echo? - Timber.e("Unknown Session, cannot send message, sessionId: ${params.sessionId}") - } - sessionComponent.inject(this) + override fun injectWith(injector: SessionComponent) { + injector.inject(this) + } + override suspend fun doSafeWork(params: Params): Result { val localId = LocalEcho.createLocalEchoId() val contentMap = MXUsersDevicesMap<Any>() val toDeviceContent = ShareRequestCancellation( @@ -107,13 +99,17 @@ internal class CancelGossipRequestWorker(context: Context, ) cryptoStore.updateOutgoingGossipingRequestState(params.requestId, OutgoingGossipingRequestState.CANCELLED) return Result.success() - } catch (exception: Throwable) { - return if (exception.shouldBeRetried()) { + } catch (throwable: Throwable) { + return if (throwable.shouldBeRetried()) { Result.retry() } else { cryptoStore.updateOutgoingGossipingRequestState(params.requestId, OutgoingGossipingRequestState.FAILED_TO_CANCEL) - Result.success(errorOutputData) + buildErrorResult(params, throwable.localizedMessage ?: "error") } } } + + override fun buildErrorParams(params: Params, message: String): Params { + return params.copy(lastFailureMessage = params.lastFailureMessage ?: message) + } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/CryptoConstants.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/CryptoConstants.kt index 3c8b525b..96635b33 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/CryptoConstants.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/CryptoConstants.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -36,6 +35,7 @@ const val MXCRYPTO_ALGORITHM_MEGOLM_BACKUP = "m.megolm_backup.v1.curve25519-aes- * Secured Shared Storage algorithm constant */ const val SSSS_ALGORITHM_CURVE25519_AES_SHA2 = "m.secret_storage.v1.curve25519-aes-sha2" + /* Secrets are encrypted using AES-CTR-256 and MACed using HMAC-SHA-256. **/ const val SSSS_ALGORITHM_AES_HMAC_SHA2 = "m.secret_storage.v1.aes-hmac-sha2" diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/CryptoModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/CryptoModule.kt index e5496a6f..a8580bab 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/CryptoModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/CryptoModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt index f8fb5a35..b78afe6d 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt @@ -1,7 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd - * Copyright 2017 Vector Creations Ltd - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -27,10 +24,16 @@ import androidx.lifecycle.LiveData import com.squareup.moshi.Types import com.zhuinden.monarchy.Monarchy import dagger.Lazy +import kotlinx.coroutines.CancellationException +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.cancelChildren +import kotlinx.coroutines.launch +import kotlinx.coroutines.runBlocking +import kotlinx.coroutines.withContext import org.matrix.android.sdk.api.MatrixCallback import org.matrix.android.sdk.api.NoOpMatrixCallback import org.matrix.android.sdk.api.crypto.MXCryptoConfig -import org.matrix.android.sdk.api.extensions.tryThis +import org.matrix.android.sdk.api.extensions.tryOrNull import org.matrix.android.sdk.api.failure.Failure import org.matrix.android.sdk.api.listeners.ProgressListener import org.matrix.android.sdk.api.session.crypto.CryptoService @@ -47,7 +50,7 @@ import org.matrix.android.sdk.api.session.events.model.toModel import org.matrix.android.sdk.api.session.room.model.Membership import org.matrix.android.sdk.api.session.room.model.RoomHistoryVisibility import org.matrix.android.sdk.api.session.room.model.RoomHistoryVisibilityContent -import org.matrix.android.sdk.api.session.room.model.RoomMemberSummary +import org.matrix.android.sdk.api.session.room.model.RoomMemberContent import org.matrix.android.sdk.internal.crypto.actions.EnsureOlmSessionsForDevicesAction import org.matrix.android.sdk.internal.crypto.actions.MegolmSessionDataImporter import org.matrix.android.sdk.internal.crypto.actions.MessageEncrypter @@ -102,12 +105,6 @@ import org.matrix.android.sdk.internal.task.launchToCallback import org.matrix.android.sdk.internal.util.JsonCanonicalizer import org.matrix.android.sdk.internal.util.MatrixCoroutineDispatchers import org.matrix.android.sdk.internal.util.fetchCopied -import kotlinx.coroutines.CancellationException -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.cancelChildren -import kotlinx.coroutines.launch -import kotlinx.coroutines.runBlocking -import kotlinx.coroutines.withContext import org.matrix.olm.OlmManager import timber.log.Timber import java.util.concurrent.atomic.AtomicBoolean @@ -197,18 +194,18 @@ internal class DefaultCryptoService @Inject constructor( private val lastNewSessionForcedDates = MXUsersDevicesMap<Long>() fun onStateEvent(roomId: String, event: Event) { - when { - event.getClearType() == EventType.STATE_ROOM_ENCRYPTION -> onRoomEncryptionEvent(roomId, event) - event.getClearType() == EventType.STATE_ROOM_MEMBER -> onRoomMembershipEvent(roomId, event) - event.getClearType() == EventType.STATE_ROOM_HISTORY_VISIBILITY -> onRoomHistoryVisibilityEvent(roomId, event) + when (event.getClearType()) { + EventType.STATE_ROOM_ENCRYPTION -> onRoomEncryptionEvent(roomId, event) + EventType.STATE_ROOM_MEMBER -> onRoomMembershipEvent(roomId, event) + EventType.STATE_ROOM_HISTORY_VISIBILITY -> onRoomHistoryVisibilityEvent(roomId, event) } } fun onLiveEvent(roomId: String, event: Event) { - when { - event.getClearType() == EventType.STATE_ROOM_ENCRYPTION -> onRoomEncryptionEvent(roomId, event) - event.getClearType() == EventType.STATE_ROOM_MEMBER -> onRoomMembershipEvent(roomId, event) - event.getClearType() == EventType.STATE_ROOM_HISTORY_VISIBILITY -> onRoomHistoryVisibilityEvent(roomId, event) + when (event.getClearType()) { + EventType.STATE_ROOM_ENCRYPTION -> onRoomEncryptionEvent(roomId, event) + EventType.STATE_ROOM_MEMBER -> onRoomMembershipEvent(roomId, event) + EventType.STATE_ROOM_HISTORY_VISIBILITY -> onRoomHistoryVisibilityEvent(roomId, event) } } @@ -345,13 +342,13 @@ internal class DefaultCryptoService @Inject constructor( // Open the store cryptoStore.open() // this can throw if no network - tryThis { + tryOrNull { uploadDeviceKeys() } oneTimeKeysUploader.maybeUploadOneTimeKeys() // this can throw if no backup - tryThis { + tryOrNull { keysBackupService.checkAndStartKeysBackup() } } @@ -618,6 +615,7 @@ internal class DefaultCryptoService @Inject constructor( val encryptionEvent = monarchy.fetchCopied { realm -> EventEntity.whereType(realm, roomId = roomId, type = EventType.STATE_ROOM_ENCRYPTION) .contains(EventEntityFields.CONTENT, "\"algorithm\":\"$MXCRYPTO_ALGORITHM_MEGOLM\"") + .isNotNull(EventEntityFields.STATE_KEY) .findFirst() } return encryptionEvent != null @@ -918,6 +916,11 @@ internal class DefaultCryptoService @Inject constructor( * @param event the encryption event. */ private fun onRoomEncryptionEvent(roomId: String, event: Event) { + if (!event.isStateEvent()) { + // Ignore + Timber.w("Invalid encryption event") + return + } cryptoCoroutineScope.launch(coroutineDispatchers.crypto) { val params = LoadRoomMembersTask.Params(roomId) try { @@ -956,7 +959,7 @@ internal class DefaultCryptoService @Inject constructor( roomEncryptorsStore.get(roomId) ?: /* No encrypting in this room */ return event.stateKey?.let { userId -> - val roomMember: RoomMemberSummary? = event.content.toModel() + val roomMember: RoomMemberContent? = event.content.toModel() val membership = roomMember?.membership if (membership == Membership.JOIN) { // make sure we are tracking the deviceList for this user. @@ -1072,7 +1075,11 @@ internal class DefaultCryptoService @Inject constructor( throw Exception("Error") } - megolmSessionDataImporter.handle(importedSessions, true, progressListener) + megolmSessionDataImporter.handle( + megolmSessionsData = importedSessions, + fromBackup = false, + progressListener = progressListener + ) } }.foldToCallback(callback) } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DeviceListManager.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DeviceListManager.kt index bb41edef..ab30d305 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DeviceListManager.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DeviceListManager.kt @@ -1,6 +1,4 @@ /* - * Copyright 2017 Vector Creations Ltd - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -361,7 +359,6 @@ internal class DeviceListManager @Inject constructor(private val cryptoStore: IM cryptoStore.storeUserDevices(userId, workingCopy) } - // Handle cross signing keys update val masterKey = response.masterKeys?.get(userId)?.toCryptoModel().also { Timber.v("## CRYPTO |Â CrossSigning : Got keys for $userId : MSK ${it?.unpaddedBase64PublicKey}") } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/GossipingRequestState.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/GossipingRequestState.kt index 9c2e4988..e398cbfc 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/GossipingRequestState.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/GossipingRequestState.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -29,7 +28,8 @@ enum class GossipingRequestState { ACCEPTING, ACCEPTED, FAILED_TO_ACCEPTED, - // USER_REJECTED, + + // USER_REJECTED, UNABLE_TO_PROCESS, CANCELLED_BY_REQUESTER, RE_REQUESTED diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/GossipingWorkManager.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/GossipingWorkManager.kt index 50e11e40..c9451aa0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/GossipingWorkManager.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/GossipingWorkManager.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingGossipingRequestManager.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingGossipingRequestManager.kt index da721861..8869e734 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingGossipingRequestManager.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingGossipingRequestManager.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,6 +16,8 @@ package org.matrix.android.sdk.internal.crypto +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.launch import org.matrix.android.sdk.api.auth.data.Credentials import org.matrix.android.sdk.api.crypto.MXCryptoConfig import org.matrix.android.sdk.api.session.crypto.crosssigning.KEYBACKUP_SECRET_SSSS_NAME @@ -36,8 +37,6 @@ import org.matrix.android.sdk.internal.di.SessionId import org.matrix.android.sdk.internal.session.SessionScope import org.matrix.android.sdk.internal.util.MatrixCoroutineDispatchers import org.matrix.android.sdk.internal.worker.WorkerParamsFactory -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.launch import timber.log.Timber import javax.inject.Inject @@ -327,7 +326,9 @@ internal class IncomingGossipingRequestManager @Inject constructor( val params = SendGossipWorker.Params( sessionId = sessionId, secretValue = secretValue, - request = request + requestUserId = request.userId, + requestDeviceId = request.deviceId, + requestId = request.requestId ) cryptoStore.updateGossipingRequestState(request, GossipingRequestState.ACCEPTING) @@ -351,7 +352,9 @@ internal class IncomingGossipingRequestManager @Inject constructor( val params = SendGossipWorker.Params( sessionId = userId, secretValue = secretValue, - request = request + requestUserId = request.userId, + requestDeviceId = request.deviceId, + requestId = request.requestId ) cryptoStore.updateGossipingRequestState(request, GossipingRequestState.ACCEPTING) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingRequestCancellation.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingRequestCancellation.kt index 04b78fc8..181bc0c1 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingRequestCancellation.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingRequestCancellation.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingRoomKeyRequest.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingRoomKeyRequest.kt index 04e18bf7..babc6008 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingRoomKeyRequest.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingRoomKeyRequest.kt @@ -1,6 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingSecretShareRequest.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingSecretShareRequest.kt index 4b91ed5d..d2ee6919 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingSecretShareRequest.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingSecretShareRequest.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -22,7 +21,7 @@ import org.matrix.android.sdk.api.session.events.model.toModel import org.matrix.android.sdk.internal.crypto.model.rest.SecretShareRequest /** - * IncomingRoomKeyRequest class defines the incoming room keys request. + * IncomingSecretShareRequest class defines the incoming secret keys request. */ data class IncomingSecretShareRequest( /** diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingShareRequestCommon.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingShareRequestCommon.kt index d57584f4..86e96101 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingShareRequestCommon.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/IncomingShareRequestCommon.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXCryptoAlgorithms.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXCryptoAlgorithms.kt index 90b0b318..07881c7d 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXCryptoAlgorithms.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXCryptoAlgorithms.kt @@ -1,6 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXEventDecryptionResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXEventDecryptionResult.kt index f094b5c6..c66c3757 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXEventDecryptionResult.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXEventDecryptionResult.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXMegolmExportEncryption.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXMegolmExportEncryption.kt index 85ecc540..e5ffa0ed 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXMegolmExportEncryption.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXMegolmExportEncryption.kt @@ -1,5 +1,4 @@ /* - * Copyright 2017 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -37,6 +36,7 @@ import kotlin.math.min object MXMegolmExportEncryption { private const val HEADER_LINE = "-----BEGIN MEGOLM SESSION DATA-----" private const val TRAILER_LINE = "-----END MEGOLM SESSION DATA-----" + // we split into lines before base64ing, because encodeBase64 doesn't deal // terribly well with large arrays. private const val LINE_LENGTH = 72 * 4 / 3 diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXOlmDevice.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXOlmDevice.kt index cfdd0508..7a546993 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXOlmDevice.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXOlmDevice.kt @@ -1,6 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MegolmSessionData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MegolmSessionData.kt index 9991115f..caff2d76 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MegolmSessionData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MegolmSessionData.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MyDeviceInfoHolder.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MyDeviceInfoHolder.kt index 092ab672..70846515 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MyDeviceInfoHolder.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MyDeviceInfoHolder.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/NewSessionListener.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/NewSessionListener.kt index 19a8468e..30172968 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/NewSessionListener.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/NewSessionListener.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/ObjectSigner.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/ObjectSigner.kt index e59fe10c..68dd1732 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/ObjectSigner.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/ObjectSigner.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OneTimeKeysUploader.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OneTimeKeysUploader.kt index e37c2df6..6695234d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OneTimeKeysUploader.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OneTimeKeysUploader.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OutgoingGossipingRequest.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OutgoingGossipingRequest.kt index 34661fcc..8e13daec 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OutgoingGossipingRequest.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OutgoingGossipingRequest.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OutgoingGossipingRequestManager.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OutgoingGossipingRequestManager.kt index 030560b7..efda6632 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OutgoingGossipingRequestManager.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OutgoingGossipingRequestManager.kt @@ -1,6 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -72,7 +70,9 @@ internal class OutgoingGossipingRequestManager @Inject constructor( delay(1500) cryptoStore.getOrAddOutgoingSecretShareRequest(secretName, recipients)?.let { // TODO check if there is already one that is being sent? - if (it.state == OutgoingGossipingRequestState.SENDING /**|| it.state == OutgoingGossipingRequestState.SENT*/) { + if (it.state == OutgoingGossipingRequestState.SENDING + /**|| it.state == OutgoingGossipingRequestState.SENT*/ + ) { Timber.v("## CRYPTO - GOSSIP sendSecretShareRequest() : we are already sending for that session: $it") return@launch } @@ -126,7 +126,7 @@ internal class OutgoingGossipingRequestManager @Inject constructor( * @param request the request */ private fun sendOutgoingGossipingRequest(request: OutgoingGossipingRequest) { - Timber.v("## CRYPTO - GOSSIP sendOutgoingRoomKeyRequest() : Requesting keys $request") + Timber.v("## CRYPTO - GOSSIP sendOutgoingGossipingRequest() : Requesting keys $request") val params = SendGossipRequestWorker.Params( sessionId = sessionId, diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OutgoingRoomKeyRequest.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OutgoingRoomKeyRequest.kt index f27338b7..88025952 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OutgoingRoomKeyRequest.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OutgoingRoomKeyRequest.kt @@ -1,6 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OutgoingSecretRequest.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OutgoingSecretRequest.kt index 6b51b42b..def7a156 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OutgoingSecretRequest.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/OutgoingSecretRequest.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/RoomDecryptorProvider.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/RoomDecryptorProvider.kt index e574627d..89fb43ef 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/RoomDecryptorProvider.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/RoomDecryptorProvider.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/RoomEncryptorsStore.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/RoomEncryptorsStore.kt index aabe2aed..ba97d961 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/RoomEncryptorsStore.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/RoomEncryptorsStore.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/SendGossipRequestWorker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/SendGossipRequestWorker.kt index db85f2c2..085469e9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/SendGossipRequestWorker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/SendGossipRequestWorker.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,10 +17,9 @@ package org.matrix.android.sdk.internal.crypto import android.content.Context -import androidx.work.CoroutineWorker -import androidx.work.Data import androidx.work.WorkerParameters import com.squareup.moshi.JsonClass +import org.greenrobot.eventbus.EventBus import org.matrix.android.sdk.api.auth.data.Credentials import org.matrix.android.sdk.api.failure.shouldBeRetried import org.matrix.android.sdk.api.session.events.model.Event @@ -34,40 +32,34 @@ import org.matrix.android.sdk.internal.crypto.model.rest.RoomKeyShareRequest import org.matrix.android.sdk.internal.crypto.model.rest.SecretShareRequest import org.matrix.android.sdk.internal.crypto.store.IMXCryptoStore import org.matrix.android.sdk.internal.crypto.tasks.SendToDeviceTask -import org.matrix.android.sdk.internal.worker.WorkerParamsFactory -import org.matrix.android.sdk.internal.worker.getSessionComponent -import org.greenrobot.eventbus.EventBus +import org.matrix.android.sdk.internal.session.SessionComponent +import org.matrix.android.sdk.internal.worker.SessionSafeCoroutineWorker +import org.matrix.android.sdk.internal.worker.SessionWorkerParams import timber.log.Timber import javax.inject.Inject internal class SendGossipRequestWorker(context: Context, params: WorkerParameters) - : CoroutineWorker(context, params) { + : SessionSafeCoroutineWorker<SendGossipRequestWorker.Params>(context, params, Params::class.java) { @JsonClass(generateAdapter = true) internal data class Params( - val sessionId: String, + override val sessionId: String, val keyShareRequest: OutgoingRoomKeyRequest? = null, - val secretShareRequest: OutgoingSecretRequest? = null - ) + val secretShareRequest: OutgoingSecretRequest? = null, + override val lastFailureMessage: String? = null + ) : SessionWorkerParams @Inject lateinit var sendToDeviceTask: SendToDeviceTask @Inject lateinit var cryptoStore: IMXCryptoStore @Inject lateinit var eventBus: EventBus @Inject lateinit var credentials: Credentials - override suspend fun doWork(): Result { - val errorOutputData = Data.Builder().putBoolean("failed", true).build() - val params = WorkerParamsFactory.fromData<Params>(inputData) - ?: return Result.success(errorOutputData) - - val sessionComponent = getSessionComponent(params.sessionId) - ?: return Result.success(errorOutputData).also { - // TODO, can this happen? should I update local echo? - Timber.e("Unknown Session, cannot send message, sessionId: ${params.sessionId}") - } - sessionComponent.inject(this) + override fun injectWith(injector: SessionComponent) { + injector.inject(this) + } + override suspend fun doSafeWork(params: Params): Result { val localId = LocalEcho.createLocalEchoId() val contentMap = MXUsersDevicesMap<Any>() val eventType: String @@ -121,7 +113,7 @@ internal class SendGossipRequestWorker(context: Context, } } else -> { - return Result.success(errorOutputData).also { + return buildErrorResult(params, "Unknown empty gossiping request").also { Timber.e("Unknown empty gossiping request: $params") } } @@ -137,13 +129,17 @@ internal class SendGossipRequestWorker(context: Context, ) cryptoStore.updateOutgoingGossipingRequestState(requestId, OutgoingGossipingRequestState.SENT) return Result.success() - } catch (exception: Throwable) { - return if (exception.shouldBeRetried()) { + } catch (throwable: Throwable) { + return if (throwable.shouldBeRetried()) { Result.retry() } else { cryptoStore.updateOutgoingGossipingRequestState(requestId, OutgoingGossipingRequestState.FAILED_TO_SEND) - Result.success(errorOutputData) + buildErrorResult(params, throwable.localizedMessage ?: "error") } } } + + override fun buildErrorParams(params: Params, message: String): Params { + return params.copy(lastFailureMessage = params.lastFailureMessage ?: message) + } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/SendGossipWorker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/SendGossipWorker.kt index a3eb476b..f0a34139 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/SendGossipWorker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/SendGossipWorker.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,10 +17,9 @@ package org.matrix.android.sdk.internal.crypto import android.content.Context -import androidx.work.CoroutineWorker -import androidx.work.Data import androidx.work.WorkerParameters import com.squareup.moshi.JsonClass +import org.greenrobot.eventbus.EventBus import org.matrix.android.sdk.api.auth.data.Credentials import org.matrix.android.sdk.api.failure.shouldBeRetried import org.matrix.android.sdk.api.session.events.model.Event @@ -34,22 +32,25 @@ import org.matrix.android.sdk.internal.crypto.model.MXUsersDevicesMap import org.matrix.android.sdk.internal.crypto.model.event.SecretSendEventContent import org.matrix.android.sdk.internal.crypto.store.IMXCryptoStore import org.matrix.android.sdk.internal.crypto.tasks.SendToDeviceTask -import org.matrix.android.sdk.internal.worker.WorkerParamsFactory -import org.matrix.android.sdk.internal.worker.getSessionComponent -import org.greenrobot.eventbus.EventBus +import org.matrix.android.sdk.internal.session.SessionComponent +import org.matrix.android.sdk.internal.worker.SessionSafeCoroutineWorker +import org.matrix.android.sdk.internal.worker.SessionWorkerParams import timber.log.Timber import javax.inject.Inject internal class SendGossipWorker(context: Context, params: WorkerParameters) - : CoroutineWorker(context, params) { + : SessionSafeCoroutineWorker<SendGossipWorker.Params>(context, params, Params::class.java) { @JsonClass(generateAdapter = true) internal data class Params( - val sessionId: String, + override val sessionId: String, val secretValue: String, - val request: IncomingSecretShareRequest - ) + val requestUserId: String?, + val requestDeviceId: String?, + val requestId: String?, + override val lastFailureMessage: String? = null + ) : SessionWorkerParams @Inject lateinit var sendToDeviceTask: SendToDeviceTask @Inject lateinit var cryptoStore: IMXCryptoStore @@ -58,32 +59,30 @@ internal class SendGossipWorker(context: Context, @Inject lateinit var messageEncrypter: MessageEncrypter @Inject lateinit var ensureOlmSessionsForDevicesAction: EnsureOlmSessionsForDevicesAction - override suspend fun doWork(): Result { - val errorOutputData = Data.Builder().putBoolean("failed", true).build() - val params = WorkerParamsFactory.fromData<Params>(inputData) - ?: return Result.success(errorOutputData) - - val sessionComponent = getSessionComponent(params.sessionId) - ?: return Result.success(errorOutputData).also { - // TODO, can this happen? should I update local echo? - Timber.e("Unknown Session, cannot send message, sessionId: ${params.sessionId}") - } - sessionComponent.inject(this) + override fun injectWith(injector: SessionComponent) { + injector.inject(this) + } + override suspend fun doSafeWork(params: Params): Result { val localId = LocalEcho.createLocalEchoId() val eventType: String = EventType.SEND_SECRET val toDeviceContent = SecretSendEventContent( - requestId = params.request.requestId ?: "", + requestId = params.requestId ?: "", secretValue = params.secretValue ) - val requestingUserId = params.request.userId ?: "" - val requestingDeviceId = params.request.deviceId ?: "" + val requestingUserId = params.requestUserId ?: "" + val requestingDeviceId = params.requestDeviceId ?: "" val deviceInfo = cryptoStore.getUserDevice(requestingUserId, requestingDeviceId) - ?: return Result.success(errorOutputData).also { - cryptoStore.updateGossipingRequestState(params.request, GossipingRequestState.FAILED_TO_ACCEPTED) - Timber.e("Unknown deviceInfo, cannot send message, sessionId: ${params.request.deviceId}") + ?: return buildErrorResult(params, "Unknown deviceInfo, cannot send message").also { + cryptoStore.updateGossipingRequestState( + requestUserId = params.requestUserId, + requestDeviceId = params.requestDeviceId, + requestId = params.requestId, + state = GossipingRequestState.FAILED_TO_ACCEPTED + ) + Timber.e("Unknown deviceInfo, cannot send message, sessionId: ${params.requestDeviceId}") } val sendToDeviceMap = MXUsersDevicesMap<Any>() @@ -94,8 +93,13 @@ internal class SendGossipWorker(context: Context, if (olmSessionResult?.sessionId == null) { // no session with this device, probably because there // were no one-time keys. - return Result.success(errorOutputData).also { - cryptoStore.updateGossipingRequestState(params.request, GossipingRequestState.FAILED_TO_ACCEPTED) + return buildErrorResult(params, "no session with this device").also { + cryptoStore.updateGossipingRequestState( + requestUserId = params.requestUserId, + requestDeviceId = params.requestDeviceId, + requestId = params.requestId, + state = GossipingRequestState.FAILED_TO_ACCEPTED + ) Timber.e("no session with this device, probably because there were no one-time keys.") } } @@ -128,15 +132,29 @@ internal class SendGossipWorker(context: Context, transactionId = localId ) ) - cryptoStore.updateGossipingRequestState(params.request, GossipingRequestState.ACCEPTED) + cryptoStore.updateGossipingRequestState( + requestUserId = params.requestUserId, + requestDeviceId = params.requestDeviceId, + requestId = params.requestId, + state = GossipingRequestState.ACCEPTED + ) return Result.success() - } catch (exception: Throwable) { - return if (exception.shouldBeRetried()) { + } catch (throwable: Throwable) { + return if (throwable.shouldBeRetried()) { Result.retry() } else { - cryptoStore.updateGossipingRequestState(params.request, GossipingRequestState.FAILED_TO_ACCEPTED) - Result.success(errorOutputData) + cryptoStore.updateGossipingRequestState( + requestUserId = params.requestUserId, + requestDeviceId = params.requestDeviceId, + requestId = params.requestId, + state = GossipingRequestState.FAILED_TO_ACCEPTED + ) + buildErrorResult(params, throwable.localizedMessage ?: "error") } } } + + override fun buildErrorParams(params: Params, message: String): Params { + return params.copy(lastFailureMessage = params.lastFailureMessage ?: message) + } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/EnsureOlmSessionsForDevicesAction.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/EnsureOlmSessionsForDevicesAction.kt index e69cac5a..b05f2cd5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/EnsureOlmSessionsForDevicesAction.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/EnsureOlmSessionsForDevicesAction.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/EnsureOlmSessionsForUsersAction.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/EnsureOlmSessionsForUsersAction.kt index 270240f9..a276394e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/EnsureOlmSessionsForUsersAction.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/EnsureOlmSessionsForUsersAction.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/MegolmSessionDataImporter.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/MegolmSessionDataImporter.kt index d9da459d..0d78f68e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/MegolmSessionDataImporter.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/MegolmSessionDataImporter.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -39,7 +38,7 @@ internal class MegolmSessionDataImporter @Inject constructor(private val olmDevi * Must be call on the crypto coroutine thread * * @param megolmSessionsData megolm sessions. - * @param backUpKeys true to back up them to the homeserver. + * @param fromBackup true if the imported keys are already backed up on the server. * @param progressListener the progress listener * @return import room keys result */ diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/MessageEncrypter.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/MessageEncrypter.kt index c654622f..165f200b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/MessageEncrypter.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/MessageEncrypter.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/SetDeviceVerificationAction.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/SetDeviceVerificationAction.kt index a5c00c36..40eddc82 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/SetDeviceVerificationAction.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/actions/SetDeviceVerificationAction.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/IMXDecrypting.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/IMXDecrypting.kt index 76efc4d7..79c7608c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/IMXDecrypting.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/IMXDecrypting.kt @@ -1,6 +1,4 @@ /* - * Copyright 2015 OpenMarket Ltd - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -70,7 +68,7 @@ internal interface IMXDecrypting { */ fun shareKeysWithDevice(request: IncomingRoomKeyRequest) {} - fun shareSecretWithDevice(request: IncomingSecretShareRequest, secretValue : String) {} + fun shareSecretWithDevice(request: IncomingSecretShareRequest, secretValue: String) {} fun requestKeysForEvent(event: Event, withHeld: Boolean) } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/IMXEncrypting.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/IMXEncrypting.kt index 60a5d7be..fc3ea08a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/IMXEncrypting.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/IMXEncrypting.kt @@ -1,6 +1,4 @@ /* - * Copyright 2015 OpenMarket Ltd - * Copyright 2017 Vector Creations Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/IMXWithHeldExtension.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/IMXWithHeldExtension.kt index 844cb388..91f10adf 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/IMXWithHeldExtension.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/IMXWithHeldExtension.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmDecryption.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmDecryption.kt index 423c8839..e0116fae 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmDecryption.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmDecryption.kt @@ -1,6 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -106,7 +104,7 @@ internal class MXMegolmDecryption(private val userId: String, senderCurve25519Key = olmDecryptionResult.senderKey, claimedEd25519Key = olmDecryptionResult.keysClaimed?.get("ed25519"), forwardingCurve25519KeyChain = olmDecryptionResult.forwardingCurve25519KeyChain - .orEmpty() + .orEmpty() ) } else { throw MXCryptoError.Base(MXCryptoError.ErrorType.MISSING_FIELDS, MXCryptoError.MISSING_FIELDS_REASON) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmDecryptionFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmDecryptionFactory.kt index b7b2919d..95a4342d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmDecryptionFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmDecryptionFactory.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmEncryption.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmEncryption.kt index 8c2dfc9e..1185ea79 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmEncryption.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmEncryption.kt @@ -1,7 +1,4 @@ /* - * Copyright 2015 OpenMarket Ltd - * Copyright 2017 Vector Creations Ltd - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmEncryptionFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmEncryptionFactory.kt index ca7b9657..8f651692 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmEncryptionFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmEncryptionFactory.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXOutboundSessionInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXOutboundSessionInfo.kt index 9bdebdf2..9244b4d5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXOutboundSessionInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXOutboundSessionInfo.kt @@ -1,6 +1,4 @@ /* - * Copyright 2015 OpenMarket Ltd - * Copyright 2017 Vector Creations Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/SharedWithHelper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/SharedWithHelper.kt index c018f6e2..921f9b2c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/SharedWithHelper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/SharedWithHelper.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmDecryption.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmDecryption.kt index a4e3ee95..541f62de 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmDecryption.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmDecryption.kt @@ -1,6 +1,4 @@ /* - * Copyright 2015 OpenMarket Ltd - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmDecryptionFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmDecryptionFactory.kt index 17c743fc..972176e2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmDecryptionFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmDecryptionFactory.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmEncryption.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmEncryption.kt index f253ce00..9acc9bc1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmEncryption.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmEncryption.kt @@ -1,7 +1,4 @@ /* - * Copyright 2015 OpenMarket Ltd - * Copyright 2017 Vector Creations Ltd - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmEncryptionFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmEncryptionFactory.kt index d80c3448..68a95e39 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmEncryptionFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/MXOlmEncryptionFactory.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/OlmDecryptionResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/OlmDecryptionResult.kt index ba627d4c..955f57af 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/OlmDecryptionResult.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/olm/OlmDecryptionResult.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/api/CryptoApi.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/api/CryptoApi.kt index a12b725e..5604e971 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/api/CryptoApi.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/api/CryptoApi.kt @@ -1,6 +1,4 @@ /* - * Copyright 2014 OpenMarket Ltd - * Copyright 2017 Vector Creations Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/ElementToDecrypt.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/ElementToDecrypt.kt index 21f7c209..b77006aa 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/ElementToDecrypt.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/ElementToDecrypt.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/EncryptionResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/EncryptionResult.kt index 721ee063..ba5baba6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/EncryptionResult.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/EncryptionResult.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/MXEncryptedAttachments.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/MXEncryptedAttachments.kt index 11d5b479..5a9852b6 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/MXEncryptedAttachments.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/MXEncryptedAttachments.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/MatrixDigestCheckInputStream.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/MatrixDigestCheckInputStream.kt index 7ca5158f..2cbe0e37 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/MatrixDigestCheckInputStream.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/attachments/MatrixDigestCheckInputStream.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/ComputeTrustTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/ComputeTrustTask.kt index 3bcbeefa..ee5aab97 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/ComputeTrustTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/ComputeTrustTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/DefaultCrossSigningService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/DefaultCrossSigningService.kt index 8cd4a6b8..b5056a0e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/DefaultCrossSigningService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/DefaultCrossSigningService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/DeviceTrustLevel.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/DeviceTrustLevel.kt index c371c84a..fa0098e4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/DeviceTrustLevel.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/DeviceTrustLevel.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/DeviceTrustResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/DeviceTrustResult.kt index cabfae17..6e7c620a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/DeviceTrustResult.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/DeviceTrustResult.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/Extensions.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/Extensions.kt index 8178a881..e494cb5b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/Extensions.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/Extensions.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/SessionToCryptoRoomMembersUpdate.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/SessionToCryptoRoomMembersUpdate.kt index 9b06d796..271b9e52 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/SessionToCryptoRoomMembersUpdate.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/SessionToCryptoRoomMembersUpdate.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/ShieldTrustUpdater.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/ShieldTrustUpdater.kt index e8c13176..05ceba59 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/ShieldTrustUpdater.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/ShieldTrustUpdater.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -44,7 +43,7 @@ internal class ShieldTrustUpdater @Inject constructor( private val taskExecutor: TaskExecutor, @SessionDatabase private val sessionRealmConfiguration: RealmConfiguration, private val roomSummaryUpdater: RoomSummaryUpdater -): SessionLifecycleObserver { +) : SessionLifecycleObserver { companion object { private val BACKGROUND_HANDLER = createBackgroundHandler("SHIELD_CRYPTO_DB_THREAD") diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/UserTrustResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/UserTrustResult.kt index 878cbd0b..20e7ca09 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/UserTrustResult.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/crosssigning/UserTrustResult.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/DefaultKeysBackupService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/DefaultKeysBackupService.kt index 94967718..64579c1b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/DefaultKeysBackupService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/DefaultKeysBackupService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupPassword.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupPassword.kt index e796514c..24c39420 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupPassword.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupPassword.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupStateManager.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupStateManager.kt index 19a1f081..7c0c741a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupStateManager.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/KeysBackupStateManager.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/api/RoomKeysApi.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/api/RoomKeysApi.kt index de59aa8a..ed5383d6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/api/RoomKeysApi.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/api/RoomKeysApi.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/KeyBackupVersionTrust.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/KeyBackupVersionTrust.kt index 871874bc..07ca87fe 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/KeyBackupVersionTrust.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/KeyBackupVersionTrust.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/KeyBackupVersionTrustSignature.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/KeyBackupVersionTrustSignature.kt index 955bd5e5..5256c781 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/KeyBackupVersionTrustSignature.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/KeyBackupVersionTrustSignature.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/KeysBackupVersionTrust.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/KeysBackupVersionTrust.kt index a7d23c42..497cb0eb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/KeysBackupVersionTrust.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/KeysBackupVersionTrust.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/KeysBackupVersionTrustSignature.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/KeysBackupVersionTrustSignature.kt index 8382fff6..1e3db288 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/KeysBackupVersionTrustSignature.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/KeysBackupVersionTrustSignature.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/MegolmBackupAuthData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/MegolmBackupAuthData.kt index aa5629e6..9df5f292 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/MegolmBackupAuthData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/MegolmBackupAuthData.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/MegolmBackupCreationInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/MegolmBackupCreationInfo.kt index 25b191e5..1414d0e0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/MegolmBackupCreationInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/MegolmBackupCreationInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/BackupKeysResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/BackupKeysResult.kt index 4903372a..a84ba742 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/BackupKeysResult.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/BackupKeysResult.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/CreateKeysBackupVersionBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/CreateKeysBackupVersionBody.kt index 1f493571..a7831b38 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/CreateKeysBackupVersionBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/CreateKeysBackupVersionBody.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeyBackupData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeyBackupData.kt index b03d5189..46eaa586 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeyBackupData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeyBackupData.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysAlgorithmAndData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysAlgorithmAndData.kt index 99031ca4..117d4dce 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysAlgorithmAndData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysAlgorithmAndData.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysBackupData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysBackupData.kt index 34c5d1c5..6b55f200 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysBackupData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysBackupData.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysVersion.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysVersion.kt index 3ca8df31..146c98b0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysVersion.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysVersion.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,7 +16,12 @@ package org.matrix.android.sdk.internal.crypto.keysbackup.model.rest +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) data class KeysVersion( // the keys backup version - var version: String? = null + @Json(name = "version") + val version: String? = null ) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysVersionResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysVersionResult.kt index fd5d9268..0844c58d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysVersionResult.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/KeysVersionResult.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/RoomKeysBackupData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/RoomKeysBackupData.kt index 7564e54f..ce42a3bc 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/RoomKeysBackupData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/RoomKeysBackupData.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/UpdateKeysBackupVersionBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/UpdateKeysBackupVersionBody.kt index 6de374d3..65f0c1a8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/UpdateKeysBackupVersionBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/model/rest/UpdateKeysBackupVersionBody.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/CreateKeysBackupVersionTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/CreateKeysBackupVersionTask.kt index 3b11e917..36b66791 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/CreateKeysBackupVersionTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/CreateKeysBackupVersionTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/DeleteBackupTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/DeleteBackupTask.kt index 25417ef4..d174be20 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/DeleteBackupTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/DeleteBackupTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/DeleteRoomSessionDataTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/DeleteRoomSessionDataTask.kt index 12042f64..6826596b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/DeleteRoomSessionDataTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/DeleteRoomSessionDataTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/DeleteRoomSessionsDataTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/DeleteRoomSessionsDataTask.kt index 92e5153d..5c9aacc1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/DeleteRoomSessionsDataTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/DeleteRoomSessionsDataTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/DeleteSessionsDataTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/DeleteSessionsDataTask.kt index 66e1fa02..3c9cab3f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/DeleteSessionsDataTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/DeleteSessionsDataTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetKeysBackupLastVersionTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetKeysBackupLastVersionTask.kt index afd0e85f..25f8f854 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetKeysBackupLastVersionTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetKeysBackupLastVersionTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetKeysBackupVersionTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetKeysBackupVersionTask.kt index b454a83b..dd2dd70e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetKeysBackupVersionTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetKeysBackupVersionTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetRoomSessionDataTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetRoomSessionDataTask.kt index 5c5d3c3a..8ca03491 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetRoomSessionDataTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetRoomSessionDataTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetRoomSessionsDataTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetRoomSessionsDataTask.kt index d8b49d49..d4c28418 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetRoomSessionsDataTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetRoomSessionsDataTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetSessionsDataTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetSessionsDataTask.kt index c0a05eaf..c5df82b5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetSessionsDataTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/GetSessionsDataTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/StoreRoomSessionDataTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/StoreRoomSessionDataTask.kt index 31a464dc..588a861a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/StoreRoomSessionDataTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/StoreRoomSessionDataTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/StoreRoomSessionsDataTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/StoreRoomSessionsDataTask.kt index 057198aa..b77e31e3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/StoreRoomSessionsDataTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/StoreRoomSessionsDataTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/StoreSessionsDataTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/StoreSessionsDataTask.kt index 33f6a086..3a819807 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/StoreSessionsDataTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/StoreSessionsDataTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/UpdateKeysBackupVersionTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/UpdateKeysBackupVersionTask.kt index 68725b1e..50726c66 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/UpdateKeysBackupVersionTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/tasks/UpdateKeysBackupVersionTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/util/Base58.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/util/Base58.kt index adbcd18d..def9c1b6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/util/Base58.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/util/Base58.kt @@ -1,6 +1,5 @@ /* * Copyright 2011 Google Inc. - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/util/RecoveryKey.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/util/RecoveryKey.kt index 78697ca9..44774fd5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/util/RecoveryKey.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/util/RecoveryKey.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/CryptoCrossSigningKey.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/CryptoCrossSigningKey.kt index 168258ac..202aa556 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/CryptoCrossSigningKey.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/CryptoCrossSigningKey.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/CryptoDeviceInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/CryptoDeviceInfo.kt index b4bba727..7eebbd9b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/CryptoDeviceInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/CryptoDeviceInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/CryptoInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/CryptoInfo.kt index 116205dc..39981e01 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/CryptoInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/CryptoInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/CryptoInfoMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/CryptoInfoMapper.kt index ead1dd54..6cc6f540 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/CryptoInfoMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/CryptoInfoMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/ImportRoomKeysResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/ImportRoomKeysResult.kt index 0ecda951..e9d2a1bc 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/ImportRoomKeysResult.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/ImportRoomKeysResult.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXDeviceInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXDeviceInfo.kt index 1733cc39..3c651c27 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXDeviceInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXDeviceInfo.kt @@ -1,7 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd - * Copyright 2017 Vector Creations Ltd - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXEncryptEventContentResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXEncryptEventContentResult.kt index 0f0b289b..524bc808 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXEncryptEventContentResult.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXEncryptEventContentResult.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXKey.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXKey.kt index 8808c839..f71c5079 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXKey.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXKey.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXOlmSessionResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXOlmSessionResult.kt index 30f4a6bb..b07a08c3 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXOlmSessionResult.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXOlmSessionResult.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXQueuedEncryption.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXQueuedEncryption.kt index 598f16bd..fe6b3a74 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXQueuedEncryption.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXQueuedEncryption.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXUsersDevicesMap.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXUsersDevicesMap.kt index aa0d9a2e..9d7f2d98 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXUsersDevicesMap.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/MXUsersDevicesMap.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/OlmInboundGroupSessionWrapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/OlmInboundGroupSessionWrapper.kt index 1621db38..086a236a 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/OlmInboundGroupSessionWrapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/OlmInboundGroupSessionWrapper.kt @@ -1,6 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/OlmInboundGroupSessionWrapper2.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/OlmInboundGroupSessionWrapper2.kt index 091106c1..478d55d0 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/OlmInboundGroupSessionWrapper2.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/OlmInboundGroupSessionWrapper2.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -81,6 +80,7 @@ class OlmInboundGroupSessionWrapper2 : Serializable { constructor() { // empty } + /** * Create a new instance from the provided keys map. * diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/OlmSessionWrapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/OlmSessionWrapper.kt index 44804302..15b92f10 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/OlmSessionWrapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/OlmSessionWrapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/EncryptedEventContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/EncryptedEventContent.kt index 79f86bd2..93a6377b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/EncryptedEventContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/EncryptedEventContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/EncryptionEventContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/EncryptionEventContent.kt index 255e5e8d..b64cd97f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/EncryptionEventContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/EncryptionEventContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/NewDeviceContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/NewDeviceContent.kt index 27ccc2d0..2a63b4be 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/NewDeviceContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/NewDeviceContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/OlmEventContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/OlmEventContent.kt index f9de8059..6fd06270 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/OlmEventContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/OlmEventContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/OlmPayloadContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/OlmPayloadContent.kt index bf18cad0..3ce9d36f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/OlmPayloadContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/OlmPayloadContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/RoomKeyContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/RoomKeyContent.kt index eeaf52f0..7fa0e837 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/RoomKeyContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/RoomKeyContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/RoomKeyWithHeldContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/RoomKeyWithHeldContent.kt index 5d9a1937..4c462357 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/RoomKeyWithHeldContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/RoomKeyWithHeldContent.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -67,19 +66,23 @@ enum class WithHeldCode(val value: String) { * the user/device was blacklisted */ BLACKLISTED("m.blacklisted"), + /** * the user/devices is unverified */ UNVERIFIED("m.unverified"), + /** * the user/device is not allowed have the key. For example, this would usually be sent in response * to a key request if the user was not in the room when the message was sent */ UNAUTHORISED("m.unauthorised"), + /** * Sent in reply to a key request if the device that the key is requested from does not have the requested key */ UNAVAILABLE("m.unavailable"), + /** * An olm session could not be established. * This may happen, for example, if the sender was unable to obtain a one-time key from the recipient. diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/SecretSendEventContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/SecretSendEventContent.kt index 5b7a1394..4dcca04e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/SecretSendEventContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/event/SecretSendEventContent.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeleteDeviceParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeleteDeviceParams.kt index 4b1530c9..0ce6f1f4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeleteDeviceParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeleteDeviceParams.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeviceInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeviceInfo.kt index 0c6d0361..c5cd4003 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeviceInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeviceInfo.kt @@ -1,7 +1,4 @@ /* - * Copyright 2014 OpenMarket Ltd - * Copyright 2017 Vector Creations Ltd - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeviceKeys.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeviceKeys.kt index efc036c4..3a845b1f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeviceKeys.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeviceKeys.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeviceKeysWithUnsigned.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeviceKeysWithUnsigned.kt index c0f900f6..35fce323 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeviceKeysWithUnsigned.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DeviceKeysWithUnsigned.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DevicesListResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DevicesListResponse.kt index 934a0cf4..eb325f33 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DevicesListResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DevicesListResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2014 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DummyContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DummyContent.kt index 8464566d..53d6e4a8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DummyContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/DummyContent.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedBodyFileInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedBodyFileInfo.kt index 56156cf7..90f97b65 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedBodyFileInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedBodyFileInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedFileInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedFileInfo.kt index 65455e9f..0ed6c0da 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedFileInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedFileInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedFileKey.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedFileKey.kt index 077fd445..71f266d7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedFileKey.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedFileKey.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedMessage.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedMessage.kt index d0448155..f32676a9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedMessage.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/EncryptedMessage.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/ForwardedRoomKeyContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/ForwardedRoomKeyContent.kt index 927828c4..bbc24f04 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/ForwardedRoomKeyContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/ForwardedRoomKeyContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/GossipingToDeviceObject.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/GossipingToDeviceObject.kt index c3b15608..e2ae9d1d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/GossipingToDeviceObject.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/GossipingToDeviceObject.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyChangesResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyChangesResponse.kt index 5c677c71..f0ed77a1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyChangesResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyChangesResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2017 Vector Creations Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationAccept.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationAccept.kt index c4e3dd92..f695425c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationAccept.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationAccept.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationCancel.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationCancel.kt index ea2cbf21..4dfa5984 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationCancel.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationCancel.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationDone.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationDone.kt index e4d75a0d..96afba06 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationDone.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationDone.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationKey.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationKey.kt index bf1ded00..7ded437c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationKey.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationKey.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationMac.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationMac.kt index 001cabaa..6c055aee 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationMac.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationMac.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationReady.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationReady.kt index 25d69845..3562613c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationReady.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationReady.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationRequest.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationRequest.kt index 1bf1d1a5..c30b2a30 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationRequest.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationRequest.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationStart.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationStart.kt index bc99c71f..52a66a9d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationStart.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeyVerificationStart.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysClaimBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysClaimBody.kt index f48936a8..6937d2be 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysClaimBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysClaimBody.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysClaimResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysClaimResponse.kt index a1eebcb6..22f4ce5a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysClaimResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysClaimResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysQueryBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysQueryBody.kt index 4232225c..4f98be9d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysQueryBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysQueryBody.kt @@ -1,6 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd - * Copyright 2017 Vector Creations Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysUploadBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysUploadBody.kt index 3d9652e3..69b39923 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysUploadBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysUploadBody.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysUploadResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysUploadResponse.kt index 07904969..3d0ea867 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysUploadResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/KeysUploadResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/RestKeyInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/RestKeyInfo.kt index cfdb300f..0d41e5b6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/RestKeyInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/RestKeyInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/RoomKeyRequestBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/RoomKeyRequestBody.kt index e3a65df5..3eae2585 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/RoomKeyRequestBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/RoomKeyRequestBody.kt @@ -1,6 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/RoomKeyShareRequest.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/RoomKeyShareRequest.kt index 299c0848..68fbf0b8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/RoomKeyShareRequest.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/RoomKeyShareRequest.kt @@ -1,6 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/SecretShareRequest.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/SecretShareRequest.kt index 98a586d1..a4eeb50d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/SecretShareRequest.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/SecretShareRequest.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/SendToDeviceBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/SendToDeviceBody.kt index e7df20ee..868f7aa9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/SendToDeviceBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/SendToDeviceBody.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,6 +16,9 @@ package org.matrix.android.sdk.internal.crypto.model.rest +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) internal data class SendToDeviceBody( /** * `Any` should implement [SendToDeviceObject], but we cannot use interface here because of Json serialization diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/SendToDeviceObject.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/SendToDeviceObject.kt index a018d62a..b3a76b2a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/SendToDeviceObject.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/SendToDeviceObject.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/ShareRequestCancellation.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/ShareRequestCancellation.kt index b6449fe8..820ff697 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/ShareRequestCancellation.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/ShareRequestCancellation.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/SignatureUploadResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/SignatureUploadResponse.kt index e21fd8fb..fb92b67f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/SignatureUploadResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/SignatureUploadResponse.kt @@ -1,6 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd - * Copyright 2017 Vector Creations Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UnsignedDeviceInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UnsignedDeviceInfo.kt index 1fc0d417..5f316486 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UnsignedDeviceInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UnsignedDeviceInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UpdateDeviceInfoBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UpdateDeviceInfoBody.kt index ac691e6e..7d11c573 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UpdateDeviceInfoBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UpdateDeviceInfoBody.kt @@ -1,5 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UploadSignatureQueryBuilder.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UploadSignatureQueryBuilder.kt index dbb2822c..1347c2f4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UploadSignatureQueryBuilder.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UploadSignatureQueryBuilder.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UploadSigningKeysBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UploadSigningKeysBody.kt index a7a61b28..3418bb32 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UploadSigningKeysBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UploadSigningKeysBody.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UserPasswordAuth.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UserPasswordAuth.kt index 018f7071..ba8b3409 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UserPasswordAuth.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/UserPasswordAuth.kt @@ -1,6 +1,4 @@ /* - * Copyright 2016 OpenMarket Ltd - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/VerificationMethodValues.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/VerificationMethodValues.kt index 99bbebf7..c07434f5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/VerificationMethodValues.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/model/rest/VerificationMethodValues.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/repository/WarnOnUnknownDeviceRepository.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/repository/WarnOnUnknownDeviceRepository.kt index 20b8ff18..deec8b1b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/repository/WarnOnUnknownDeviceRepository.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/repository/WarnOnUnknownDeviceRepository.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/secrets/DefaultSharedSecretStorageService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/secrets/DefaultSharedSecretStorageService.kt index 7186bc3c..82b5185f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/secrets/DefaultSharedSecretStorageService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/secrets/DefaultSharedSecretStorageService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -371,7 +370,7 @@ internal class DefaultSharedSecretStorageService @Inject constructor( callback.onFailure(SharedSecretStorageError.BadKeyFormat) } cryptoCoroutineScope.launch(coroutineDispatchers.main) { - kotlin.runCatching { + runCatching { // decrypt from recovery key withOlmDecryption { olmPkDecryption -> olmPkDecryption.setPrivateKey(keySpec.privateKey) @@ -390,7 +389,7 @@ internal class DefaultSharedSecretStorageService @Inject constructor( callback.onFailure(SharedSecretStorageError.BadKeyFormat) } cryptoCoroutineScope.launch(coroutineDispatchers.main) { - kotlin.runCatching { + runCatching { decryptAesHmacSha2(keySpec, name, secretContent) }.foldToCallback(callback) } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/IMXCryptoStore.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/IMXCryptoStore.kt index f248e464..0ae1e691 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/IMXCryptoStore.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/IMXCryptoStore.kt @@ -1,7 +1,4 @@ - /* - * Copyright 2016 OpenMarket Ltd - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -215,11 +212,12 @@ internal interface IMXCryptoStore { // TODO temp fun getLiveDeviceList(): LiveData<List<CryptoDeviceInfo>> - fun getMyDevicesInfo() : List<DeviceInfo> + fun getMyDevicesInfo(): List<DeviceInfo> - fun getLiveMyDevicesInfo() : LiveData<List<DeviceInfo>> + fun getLiveMyDevicesInfo(): LiveData<List<DeviceInfo>> fun saveMyDevicesInfo(info: List<DeviceInfo>) + /** * Store the crypto algorithm for a room. * @@ -367,7 +365,19 @@ internal interface IMXCryptoStore { fun saveGossipingEvent(event: Event) - fun updateGossipingRequestState(request: IncomingShareRequestCommon, state: GossipingRequestState) + fun updateGossipingRequestState(request: IncomingShareRequestCommon, state: GossipingRequestState) { + updateGossipingRequestState( + requestUserId = request.userId, + requestDeviceId = request.deviceId, + requestId = request.requestId, + state = state + ) + } + + fun updateGossipingRequestState(requestUserId: String?, + requestDeviceId: String?, + requestId: String?, + state: GossipingRequestState) /** * Search an IncomingRoomKeyRequest @@ -411,7 +421,7 @@ internal interface IMXCryptoStore { fun getLiveCrossSigningPrivateKeys(): LiveData<Optional<PrivateKeysInfo>> fun saveBackupRecoveryKey(recoveryKey: String?, version: String?) - fun getKeyBackupRecoveryKeyInfo() : SavedKeyBackupKeyInfo? + fun getKeyBackupRecoveryKeyInfo(): SavedKeyBackupKeyInfo? fun setUserKeysAsTrusted(userId: String, trusted: Boolean = true) fun setDeviceTrust(userId: String, deviceId: String, crossSignedVerified: Boolean, locallyVerified: Boolean?) @@ -421,12 +431,13 @@ internal interface IMXCryptoStore { fun updateUsersTrust(check: (String) -> Boolean) fun addWithHeldMegolmSession(withHeldContent: RoomKeyWithHeldContent) - fun getWithHeldMegolmSession(roomId: String, sessionId: String) : RoomKeyWithHeldContent? + fun getWithHeldMegolmSession(roomId: String, sessionId: String): RoomKeyWithHeldContent? fun markedSessionAsShared(roomId: String?, sessionId: String, userId: String, deviceId: String, chainIndex: Int) - fun wasSessionSharedWithUser(roomId: String?, sessionId: String, userId: String, deviceId: String) : SharedSessionResult + fun wasSessionSharedWithUser(roomId: String?, sessionId: String, userId: String, deviceId: String): SharedSessionResult data class SharedSessionResult(val found: Boolean, val chainIndex: Int?) - fun getSharedWithInfo(roomId: String?, sessionId: String) : MXUsersDevicesMap<Int> + + fun getSharedWithInfo(roomId: String?, sessionId: String): MXUsersDevicesMap<Int> // Dev tools fun getOutgoingRoomKeyRequests(): List<OutgoingRoomKeyRequest> diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/PrivateKeysInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/PrivateKeysInfo.kt index 5c8476ea..04793f18 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/PrivateKeysInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/PrivateKeysInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/SavedKeyBackupKeyInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/SavedKeyBackupKeyInfo.kt index 2d0c53a5..a48f4ece 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/SavedKeyBackupKeyInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/SavedKeyBackupKeyInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,6 +17,6 @@ package org.matrix.android.sdk.internal.crypto.store data class SavedKeyBackupKeyInfo( - val recoveryKey : String, + val recoveryKey: String, val version: String ) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/Helper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/Helper.kt index 67e06b54..493e7fbc 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/Helper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/Helper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStore.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStore.kt index a7b9503a..b25349cb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStore.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStore.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,7 +19,10 @@ package org.matrix.android.sdk.internal.crypto.store.db import androidx.lifecycle.LiveData import androidx.lifecycle.Transformations import com.zhuinden.monarchy.Monarchy -import org.matrix.android.sdk.api.auth.data.Credentials +import io.realm.Realm +import io.realm.RealmConfiguration +import io.realm.Sort +import io.realm.kotlin.where import org.matrix.android.sdk.api.session.crypto.crosssigning.MXCrossSigningInfo import org.matrix.android.sdk.api.session.events.model.Event import org.matrix.android.sdk.api.session.events.model.LocalEcho @@ -83,12 +85,10 @@ import org.matrix.android.sdk.internal.crypto.store.db.query.getById import org.matrix.android.sdk.internal.crypto.store.db.query.getOrCreate import org.matrix.android.sdk.internal.database.mapper.ContentMapper import org.matrix.android.sdk.internal.di.CryptoDatabase +import org.matrix.android.sdk.internal.di.DeviceId import org.matrix.android.sdk.internal.di.MoshiProvider +import org.matrix.android.sdk.internal.di.UserId import org.matrix.android.sdk.internal.session.SessionScope -import io.realm.Realm -import io.realm.RealmConfiguration -import io.realm.Sort -import io.realm.kotlin.where import org.matrix.olm.OlmAccount import org.matrix.olm.OlmException import timber.log.Timber @@ -99,7 +99,9 @@ import kotlin.collections.set internal class RealmCryptoStore @Inject constructor( @CryptoDatabase private val realmConfiguration: RealmConfiguration, private val crossSigningKeysMapper: CrossSigningKeysMapper, - private val credentials: Credentials) : IMXCryptoStore { + @UserId private val userId: String, + @DeviceId private val deviceId: String? +) : IMXCryptoStore { /* ========================================================================================== * Memory cache, to correctly release JNI objects @@ -142,8 +144,8 @@ internal class RealmCryptoStore @Inject constructor( // Check credentials // The device id may not have been provided in credentials. // Check it only if provided, else trust the stored one. - if (currentMetadata.userId != credentials.userId - || (credentials.deviceId != null && credentials.deviceId != currentMetadata.deviceId)) { + if (currentMetadata.userId != userId + || (deviceId != null && deviceId != currentMetadata.deviceId)) { Timber.w("## open() : Credentials do not match, close this store and delete data") deleteAll = true currentMetadata = null @@ -156,8 +158,8 @@ internal class RealmCryptoStore @Inject constructor( } // Metadata not found, or database cleaned, create it - realm.createObject(CryptoMetadataEntity::class.java, credentials.userId).apply { - deviceId = credentials.deviceId + realm.createObject(CryptoMetadataEntity::class.java, userId).apply { + deviceId = this@RealmCryptoStore.deviceId } } } @@ -303,22 +305,42 @@ internal class RealmCryptoStore @Inject constructor( userEntity.crossSigningInfoEntity?.deleteFromRealm() userEntity.crossSigningInfoEntity = null } else { + var shouldResetMyDevicesLocalTrust = false CrossSigningInfoEntity.getOrCreate(realm, userId).let { signingInfo -> // What should we do if we detect a change of the keys? val existingMaster = signingInfo.getMasterKey() if (existingMaster != null && existingMaster.publicKeyBase64 == masterKey.unpaddedBase64PublicKey) { crossSigningKeysMapper.update(existingMaster, masterKey) } else { + Timber.d("## CrossSigning MSK change for $userId") val keyEntity = crossSigningKeysMapper.map(masterKey) signingInfo.setMasterKey(keyEntity) + if (userId == this.userId) { + shouldResetMyDevicesLocalTrust = true + // my msk has changed! clear my private key + // Could we have some race here? e.g I am the one that did change the keys + // could i get this update to early and clear the private keys? + // -> initializeCrossSigning is guarding for that by storing all at once + realm.where<CryptoMetadataEntity>().findFirst()?.apply { + xSignMasterPrivateKey = null + } + } } val existingSelfSigned = signingInfo.getSelfSignedKey() if (existingSelfSigned != null && existingSelfSigned.publicKeyBase64 == selfSigningKey.unpaddedBase64PublicKey) { crossSigningKeysMapper.update(existingSelfSigned, selfSigningKey) } else { + Timber.d("## CrossSigning SSK change for $userId") val keyEntity = crossSigningKeysMapper.map(selfSigningKey) signingInfo.setSelfSignedKey(keyEntity) + if (userId == this.userId) { + shouldResetMyDevicesLocalTrust = true + // my ssk has changed! clear my private key + realm.where<CryptoMetadataEntity>().findFirst()?.apply { + xSignSelfSignedPrivateKey = null + } + } } // Only for me @@ -327,10 +349,29 @@ internal class RealmCryptoStore @Inject constructor( if (existingUSK != null && existingUSK.publicKeyBase64 == userSigningKey.unpaddedBase64PublicKey) { crossSigningKeysMapper.update(existingUSK, userSigningKey) } else { + Timber.d("## CrossSigning USK change for $userId") val keyEntity = crossSigningKeysMapper.map(userSigningKey) signingInfo.setUserSignedKey(keyEntity) + if (userId == this.userId) { + shouldResetMyDevicesLocalTrust = true + // my usk has changed! clear my private key + realm.where<CryptoMetadataEntity>().findFirst()?.apply { + xSignUserPrivateKey = null + } + } } } + + // When my cross signing keys are reset, we consider clearing all existing device trust + if (shouldResetMyDevicesLocalTrust) { + realm.where<UserEntity>() + .equalTo(UserEntityFields.USER_ID, this.userId) + .findFirst() + ?.devices?.forEach { + it?.trustLevelEntity?.crossSignedVerified = false + it?.trustLevelEntity?.locallyVerified = it.deviceId == deviceId + } + } userEntity.crossSigningInfoEntity = signingInfo } } @@ -372,6 +413,7 @@ internal class RealmCryptoStore @Inject constructor( } override fun storePrivateKeysInfo(msk: String?, usk: String?, ssk: String?) { + Timber.v("## CRYPTO | *** storePrivateKeysInfo ${msk != null}, ${usk != null}, ${ssk != null}") doRealmTransaction(realmConfiguration) { realm -> realm.where<CryptoMetadataEntity>().findFirst()?.apply { xSignMasterPrivateKey = msk @@ -407,6 +449,7 @@ internal class RealmCryptoStore @Inject constructor( } override fun storeMSKPrivateKey(msk: String?) { + Timber.v("## CRYPTO | *** storeMSKPrivateKey ${msk != null} ") doRealmTransaction(realmConfiguration) { realm -> realm.where<CryptoMetadataEntity>().findFirst()?.apply { xSignMasterPrivateKey = msk @@ -415,6 +458,7 @@ internal class RealmCryptoStore @Inject constructor( } override fun storeSSKPrivateKey(ssk: String?) { + Timber.v("## CRYPTO | *** storeSSKPrivateKey ${ssk != null} ") doRealmTransaction(realmConfiguration) { realm -> realm.where<CryptoMetadataEntity>().findFirst()?.apply { xSignSelfSignedPrivateKey = ssk @@ -423,6 +467,7 @@ internal class RealmCryptoStore @Inject constructor( } override fun storeUSKPrivateKey(usk: String?) { + Timber.v("## CRYPTO | *** storeUSKPrivateKey ${usk != null} ") doRealmTransaction(realmConfiguration) { realm -> realm.where<CryptoMetadataEntity>().findFirst()?.apply { xSignUserPrivateKey = usk @@ -541,7 +586,7 @@ internal class RealmCryptoStore @Inject constructor( deviceId = it.deviceId ) } - monarchy.writeAsync { realm -> + doRealmTransactionAsync(realmConfiguration) { realm -> realm.where<MyDeviceLastSeenInfoEntity>().findAll().deleteAllFromRealm() entities.forEach { realm.insertOrUpdate(it) @@ -1130,12 +1175,15 @@ internal class RealmCryptoStore @Inject constructor( // } // } - override fun updateGossipingRequestState(request: IncomingShareRequestCommon, state: GossipingRequestState) { + override fun updateGossipingRequestState(requestUserId: String?, + requestDeviceId: String?, + requestId: String?, + state: GossipingRequestState) { doRealmTransaction(realmConfiguration) { realm -> realm.where<IncomingGossipingRequestEntity>() - .equalTo(IncomingGossipingRequestEntityFields.OTHER_USER_ID, request.userId) - .equalTo(IncomingGossipingRequestEntityFields.OTHER_DEVICE_ID, request.deviceId) - .equalTo(IncomingGossipingRequestEntityFields.REQUEST_ID, request.requestId) + .equalTo(IncomingGossipingRequestEntityFields.OTHER_USER_ID, requestUserId) + .equalTo(IncomingGossipingRequestEntityFields.OTHER_DEVICE_ID, requestDeviceId) + .equalTo(IncomingGossipingRequestEntityFields.REQUEST_ID, requestId) .findAll().forEach { it.requestState = state } @@ -1310,7 +1358,7 @@ internal class RealmCryptoStore @Inject constructor( .findAll() xInfoEntities?.forEach { info -> // Need to ignore mine - if (info.userId != credentials.userId) { + if (info.userId != userId) { info.crossSigningKeys.forEach { it.trustLevelEntity = null } @@ -1325,7 +1373,7 @@ internal class RealmCryptoStore @Inject constructor( .findAll() xInfoEntities?.forEach { xInfoEntity -> // Need to ignore mine - if (xInfoEntity.userId == credentials.userId) return@forEach + if (xInfoEntity.userId == userId) return@forEach val mapped = mapCrossSigningInfoEntity(xInfoEntity) val currentTrust = mapped.isTrusted() val newTrust = check(mapped.userId) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStoreMigration.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStoreMigration.kt index fbc1eb6b..c106c825 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStoreMigration.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStoreMigration.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -19,7 +18,7 @@ package org.matrix.android.sdk.internal.crypto.store.db import com.squareup.moshi.Moshi import com.squareup.moshi.Types -import org.matrix.android.sdk.api.extensions.tryThis +import org.matrix.android.sdk.api.extensions.tryOrNull import org.matrix.android.sdk.api.util.JsonDict import org.matrix.android.sdk.internal.crypto.model.MXDeviceInfo import org.matrix.android.sdk.internal.crypto.model.OlmInboundGroupSessionWrapper @@ -398,7 +397,7 @@ internal class RealmCryptoStoreMigration @Inject constructor(private val crossSi ?.addField(DeviceInfoEntityFields.FIRST_TIME_SEEN_LOCAL_TS, Long::class.java) ?.setNullable(DeviceInfoEntityFields.FIRST_TIME_SEEN_LOCAL_TS, true) ?.transform { deviceInfoEntity -> - tryThis { + tryOrNull { deviceInfoEntity.setLong(DeviceInfoEntityFields.FIRST_TIME_SEEN_LOCAL_TS, now) } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStoreModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStoreModule.kt index 1103e69b..a453fc3e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStoreModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStoreModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/SafeObjectInputStream.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/SafeObjectInputStream.kt index 3f811ed7..5897869a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/SafeObjectInputStream.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/SafeObjectInputStream.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/CrossSigningKeysMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/CrossSigningKeysMapper.kt index 4a303de8..8e6143f3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/CrossSigningKeysMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/CrossSigningKeysMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/CrossSigningInfoEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/CrossSigningInfoEntity.kt index 94db368e..fdd3e947 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/CrossSigningInfoEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/CrossSigningInfoEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/CryptoMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/CryptoMapper.kt index 3e3c12f2..37d14416 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/CryptoMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/CryptoMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/CryptoMetadataEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/CryptoMetadataEntity.kt index eb79af47..5166f6c3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/CryptoMetadataEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/CryptoMetadataEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/CryptoRoomEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/CryptoRoomEntity.kt index e1881e91..4c19b5eb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/CryptoRoomEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/CryptoRoomEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/DeviceInfoEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/DeviceInfoEntity.kt index d0f4d495..571b9bb0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/DeviceInfoEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/DeviceInfoEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/GossipingEventEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/GossipingEventEntity.kt index c0a46258..b8675d08 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/GossipingEventEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/GossipingEventEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/IncomingGossipingRequestEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/IncomingGossipingRequestEntity.kt index c15df278..df45568d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/IncomingGossipingRequestEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/IncomingGossipingRequestEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,7 +16,7 @@ package org.matrix.android.sdk.internal.crypto.store.db.model -import org.matrix.android.sdk.api.extensions.tryThis +import org.matrix.android.sdk.api.extensions.tryOrNull import org.matrix.android.sdk.internal.crypto.GossipRequestType import org.matrix.android.sdk.internal.crypto.GossipingRequestState import org.matrix.android.sdk.internal.crypto.IncomingRoomKeyRequest @@ -45,7 +44,7 @@ internal open class IncomingGossipingRequestEntity(@Index var requestId: String? var type: GossipRequestType get() { - return tryThis { typeStr?.let { GossipRequestType.valueOf(it) } } ?: GossipRequestType.KEY + return tryOrNull { typeStr?.let { GossipRequestType.valueOf(it) } } ?: GossipRequestType.KEY } set(value) { typeStr = value.name @@ -55,7 +54,7 @@ internal open class IncomingGossipingRequestEntity(@Index var requestId: String? var requestState: GossipingRequestState get() { - return tryThis { GossipingRequestState.valueOf(requestStateStr) } + return tryOrNull { GossipingRequestState.valueOf(requestStateStr) } ?: GossipingRequestState.NONE } set(value) { diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/KeyInfoEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/KeyInfoEntity.kt index 125fbd81..8f235722 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/KeyInfoEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/KeyInfoEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/KeysBackupDataEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/KeysBackupDataEntity.kt index 0155ed9c..99b9e0cc 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/KeysBackupDataEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/KeysBackupDataEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/MyDeviceLastSeenInfoEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/MyDeviceLastSeenInfoEntity.kt index 64b04827..222711f9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/MyDeviceLastSeenInfoEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/MyDeviceLastSeenInfoEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/OlmInboundGroupSessionEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/OlmInboundGroupSessionEntity.kt index 7d20b758..d0e16bbe 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/OlmInboundGroupSessionEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/OlmInboundGroupSessionEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/OlmSessionEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/OlmSessionEntity.kt index f804a641..8f410578 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/OlmSessionEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/OlmSessionEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -27,10 +26,10 @@ internal fun OlmSessionEntity.Companion.createPrimaryKey(sessionId: String, devi // olmSessionData is a serialized OlmSession internal open class OlmSessionEntity(@PrimaryKey var primaryKey: String = "", - var sessionId: String? = null, - var deviceKey: String? = null, - var olmSessionData: String? = null, - var lastReceivedMessageTs: Long = 0) + var sessionId: String? = null, + var deviceKey: String? = null, + var olmSessionData: String? = null, + var lastReceivedMessageTs: Long = 0) : RealmObject() { fun getOlmSession(): OlmSession? { diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/OutgoingGossipingRequestEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/OutgoingGossipingRequestEntity.kt index 2880735d..442dda1d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/OutgoingGossipingRequestEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/OutgoingGossipingRequestEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -19,7 +18,7 @@ package org.matrix.android.sdk.internal.crypto.store.db.model import com.squareup.moshi.JsonAdapter import com.squareup.moshi.Types -import org.matrix.android.sdk.api.extensions.tryThis +import org.matrix.android.sdk.api.extensions.tryOrNull import org.matrix.android.sdk.internal.crypto.GossipRequestType import org.matrix.android.sdk.internal.crypto.OutgoingGossipingRequest import org.matrix.android.sdk.internal.crypto.OutgoingGossipingRequestState @@ -47,7 +46,7 @@ internal open class OutgoingGossipingRequestEntity( var type: GossipRequestType get() { - return tryThis { typeStr?.let { GossipRequestType.valueOf(it) } } ?: GossipRequestType.KEY + return tryOrNull { typeStr?.let { GossipRequestType.valueOf(it) } } ?: GossipRequestType.KEY } set(value) { typeStr = value.name @@ -57,7 +56,7 @@ internal open class OutgoingGossipingRequestEntity( var requestState: OutgoingGossipingRequestState get() { - return tryThis { OutgoingGossipingRequestState.valueOf(requestStateStr) } + return tryOrNull { OutgoingGossipingRequestState.valueOf(requestStateStr) } ?: OutgoingGossipingRequestState.UNSENT } set(value) { diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/SharedSessionEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/SharedSessionEntity.kt index aa647d02..c0ed1ac4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/SharedSessionEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/SharedSessionEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/TrustLevelEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/TrustLevelEntity.kt index cb2933e3..5647eb8a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/TrustLevelEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/TrustLevelEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/UserEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/UserEntity.kt index 2820f72e..52c30a27 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/UserEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/UserEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/WithHeldSessionEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/WithHeldSessionEntity.kt index 36ffe851..2864ab76 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/WithHeldSessionEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/model/WithHeldSessionEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/CrossSigningInfoEntityQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/CrossSigningInfoEntityQueries.kt index 58644550..eea2f6f3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/CrossSigningInfoEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/CrossSigningInfoEntityQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/CryptoRoomEntityQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/CryptoRoomEntityQueries.kt index f65b1a3c..5ebf8b1e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/CryptoRoomEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/CryptoRoomEntityQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/DeviceInfoEntityQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/DeviceInfoEntityQueries.kt index b0e677e0..1d5ca2d3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/DeviceInfoEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/DeviceInfoEntityQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/SharedSessionQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/SharedSessionQueries.kt index 885cadb5..fa37734f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/SharedSessionQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/SharedSessionQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/UserEntitiesQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/UserEntitiesQueries.kt index e64dcb81..a1f8bd72 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/UserEntitiesQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/UserEntitiesQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/WithHeldSessionQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/WithHeldSessionQueries.kt index b3a5560d..3c6c594a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/WithHeldSessionQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/query/WithHeldSessionQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/ClaimOneTimeKeysForUsersDeviceTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/ClaimOneTimeKeysForUsersDeviceTask.kt index f5ee6aa9..ae72c719 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/ClaimOneTimeKeysForUsersDeviceTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/ClaimOneTimeKeysForUsersDeviceTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/DeleteDeviceTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/DeleteDeviceTask.kt index 1f0d9eaa..e5078d5b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/DeleteDeviceTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/DeleteDeviceTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/DeleteDeviceWithUserPasswordTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/DeleteDeviceWithUserPasswordTask.kt index 0f67ec66..38eee7f9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/DeleteDeviceWithUserPasswordTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/DeleteDeviceWithUserPasswordTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/DownloadKeysForUsersTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/DownloadKeysForUsersTask.kt index f0539005..7268c481 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/DownloadKeysForUsersTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/DownloadKeysForUsersTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/EncryptEventTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/EncryptEventTask.kt index e0a85d50..75f4c173 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/EncryptEventTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/EncryptEventTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/GetDeviceInfoTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/GetDeviceInfoTask.kt index e1db5e0c..6bd69c6a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/GetDeviceInfoTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/GetDeviceInfoTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/GetDevicesTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/GetDevicesTask.kt index ea8be725..731e1ca0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/GetDevicesTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/GetDevicesTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/GetKeyChangesTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/GetKeyChangesTask.kt index 57a4881a..289a5226 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/GetKeyChangesTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/GetKeyChangesTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/InitializeCrossSigningTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/InitializeCrossSigningTask.kt index d2c7e87b..6c0a76fa 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/InitializeCrossSigningTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/InitializeCrossSigningTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SendEventTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SendEventTask.kt index 870980bd..10b0823c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SendEventTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SendEventTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SendToDeviceTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SendToDeviceTask.kt index 20153ef4..37e0bbc8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SendToDeviceTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SendToDeviceTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SendVerificationMessageTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SendVerificationMessageTask.kt index 09baf88e..b48f84ac 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SendVerificationMessageTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SendVerificationMessageTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SetDeviceNameTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SetDeviceNameTask.kt index d3900550..51b96245 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SetDeviceNameTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/SetDeviceNameTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/UploadKeysTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/UploadKeysTask.kt index b41dcf6d..6216a3a3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/UploadKeysTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/UploadKeysTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/UploadSignaturesTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/UploadSignaturesTask.kt index 255d06ea..a4e10ddb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/UploadSignaturesTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/UploadSignaturesTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/UploadSigningKeysTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/UploadSigningKeysTask.kt index c7844fbf..038ef9db 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/UploadSigningKeysTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tasks/UploadSigningKeysTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tools/HkdfSha256.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tools/HkdfSha256.kt index f93dc712..6d52e682 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tools/HkdfSha256.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tools/HkdfSha256.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * Copyright (C) 2015 Square, Inc. * diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tools/Tools.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tools/Tools.kt index 1bd9e128..4c1e896a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tools/Tools.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/tools/Tools.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/DefaultIncomingSASDefaultVerificationTransaction.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/DefaultIncomingSASDefaultVerificationTransaction.kt index 009979db..fde9f70e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/DefaultIncomingSASDefaultVerificationTransaction.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/DefaultIncomingSASDefaultVerificationTransaction.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/DefaultOutgoingSASDefaultVerificationTransaction.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/DefaultOutgoingSASDefaultVerificationTransaction.kt index 07e98f52..1a41f890 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/DefaultOutgoingSASDefaultVerificationTransaction.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/DefaultOutgoingSASDefaultVerificationTransaction.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -139,7 +138,7 @@ internal class DefaultOutgoingSASDefaultVerificationTransaction( override fun onVerificationAccept(accept: ValidVerificationInfoAccept) { Timber.v("## SAS O: onVerificationAccept id:$transactionId") - if (state != VerificationTxState.Started && state != VerificationTxState.SendingStart) { + if (state != VerificationTxState.Started && state != VerificationTxState.SendingStart) { Timber.e("## SAS O: received accept request from invalid state $state") cancel(CancelCode.UnexpectedMessage) return @@ -213,7 +212,7 @@ internal class DefaultOutgoingSASDefaultVerificationTransaction( // - the Matrix ID of the user who sent the m.key.verification.accept message, // - he device ID of the device that sent the m.key.verification.accept message // - the transaction ID. - val sasInfo = "MATRIX_KEY_VERIFICATION_SAS$userId$deviceId$otherUserId$otherDeviceId$transactionId" + val sasInfo = "MATRIX_KEY_VERIFICATION_SAS$userId$deviceId$otherUserId$otherDeviceId$transactionId" // decimal: generate five bytes by using HKDF. // emoji: generate six bytes by using HKDF. @@ -221,7 +220,7 @@ internal class DefaultOutgoingSASDefaultVerificationTransaction( } KEY_AGREEMENT_V2 -> { // Adds the SAS public key, and separate by | - val sasInfo = "MATRIX_KEY_VERIFICATION_SAS|$userId|$deviceId|${getSAS().publicKey}|$otherUserId|$otherDeviceId|$otherKey|$transactionId" + val sasInfo = "MATRIX_KEY_VERIFICATION_SAS|$userId|$deviceId|${getSAS().publicKey}|$otherUserId|$otherDeviceId|$otherKey|$transactionId" return getSAS().generateShortCode(sasInfo, 6) } else -> { diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/DefaultVerificationService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/DefaultVerificationService.kt index e61497fd..c0f46710 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/DefaultVerificationService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/DefaultVerificationService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/DefaultVerificationTransaction.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/DefaultVerificationTransaction.kt index e4f55976..6043c21b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/DefaultVerificationTransaction.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/DefaultVerificationTransaction.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -58,7 +57,7 @@ internal abstract class DefaultVerificationTransaction( protected fun trust(canTrustOtherUserMasterKey: Boolean, toVerifyDeviceIds: List<String>, - eventuallyMarkMyMasterKeyAsTrusted: Boolean, autoDone : Boolean = true) { + eventuallyMarkMyMasterKeyAsTrusted: Boolean, autoDone: Boolean = true) { Timber.d("## Verification: trust ($otherUserId,$otherDeviceId) , verifiedDevices:$toVerifyDeviceIds") Timber.d("## Verification: trust Mark myMSK trusted $eventuallyMarkMyMasterKeyAsTrusted") diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/SASDefaultVerificationTransaction.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/SASDefaultVerificationTransaction.kt index 17eb33c8..cb254eac 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/SASDefaultVerificationTransaction.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/SASDefaultVerificationTransaction.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -69,10 +68,13 @@ internal abstract class SASDefaultVerificationTransaction( // Deprecated maybe removed later, use V2 const val KEY_AGREEMENT_V1 = "curve25519" const val KEY_AGREEMENT_V2 = "curve25519-hkdf-sha256" + // ordered by preferred order val KNOWN_AGREEMENT_PROTOCOLS = listOf(KEY_AGREEMENT_V2, KEY_AGREEMENT_V1) + // ordered by preferred order val KNOWN_HASHES = listOf("sha256") + // ordered by preferred order val KNOWN_MACS = listOf(SAS_MAC_SHA256, SAS_MAC_SHA256_LONGKDF) @@ -102,6 +104,7 @@ internal abstract class SASDefaultVerificationTransaction( // Visible for test var startReq: ValidVerificationInfoStart.SasVerificationInfoStart? = null + // Visible for test var accepted: ValidVerificationInfoAccept? = null protected var otherKey: String? = null diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/SendVerificationMessageWorker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/SendVerificationMessageWorker.kt index 2b7d26e7..fa7cd2e6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/SendVerificationMessageWorker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/SendVerificationMessageWorker.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,17 +16,17 @@ package org.matrix.android.sdk.internal.crypto.verification import android.content.Context -import androidx.work.CoroutineWorker import androidx.work.Data import androidx.work.WorkerParameters import com.squareup.moshi.JsonClass import org.matrix.android.sdk.api.failure.shouldBeRetried import org.matrix.android.sdk.api.session.crypto.CryptoService -import org.matrix.android.sdk.api.session.events.model.Event import org.matrix.android.sdk.internal.crypto.tasks.SendVerificationMessageTask +import org.matrix.android.sdk.internal.session.SessionComponent +import org.matrix.android.sdk.internal.session.room.send.CancelSendTracker +import org.matrix.android.sdk.internal.session.room.send.LocalEchoRepository +import org.matrix.android.sdk.internal.worker.SessionSafeCoroutineWorker import org.matrix.android.sdk.internal.worker.SessionWorkerParams -import org.matrix.android.sdk.internal.worker.WorkerParamsFactory -import org.matrix.android.sdk.internal.worker.getSessionComponent import timber.log.Timber import javax.inject.Inject @@ -37,56 +36,56 @@ import javax.inject.Inject */ internal class SendVerificationMessageWorker(context: Context, params: WorkerParameters) - : CoroutineWorker(context, params) { + : SessionSafeCoroutineWorker<SendVerificationMessageWorker.Params>(context, params, Params::class.java) { @JsonClass(generateAdapter = true) internal data class Params( override val sessionId: String, - val event: Event, + val eventId: String, override val lastFailureMessage: String? = null ) : SessionWorkerParams - @Inject - lateinit var sendVerificationMessageTask: SendVerificationMessageTask + @Inject lateinit var sendVerificationMessageTask: SendVerificationMessageTask + @Inject lateinit var localEchoRepository: LocalEchoRepository + @Inject lateinit var cryptoService: CryptoService + @Inject lateinit var cancelSendTracker: CancelSendTracker - @Inject - lateinit var cryptoService: CryptoService + override fun injectWith(injector: SessionComponent) { + injector.inject(this) + } + + override suspend fun doSafeWork(params: Params): Result { + val localEvent = localEchoRepository.getUpToDateEcho(params.eventId) ?: return buildErrorResult(params, "Event not found") + val localEventId = localEvent.eventId ?: "" + val roomId = localEvent.roomId ?: "" - override suspend fun doWork(): Result { - val errorOutputData = Data.Builder().putBoolean(OUTPUT_KEY_FAILED, true).build() - val params = WorkerParamsFactory.fromData<Params>(inputData) - ?: return Result.success(errorOutputData) + if (cancelSendTracker.isCancelRequestedFor(localEventId, roomId)) { + return Result.success() + .also { + cancelSendTracker.markCancelled(localEventId, roomId) + Timber.e("## SendEvent: Event sending has been cancelled $localEventId") + } + } - val sessionComponent = getSessionComponent(params.sessionId) - ?: return Result.success(errorOutputData).also { - // TODO, can this happen? should I update local echo? - Timber.e("Unknown Session, cannot send message, sessionId: ${params.sessionId}") - } - sessionComponent.inject(this) - val localId = params.event.eventId ?: "" return try { - val eventId = sendVerificationMessageTask.execute( + val resultEventId = sendVerificationMessageTask.execute( SendVerificationMessageTask.Params( - event = params.event, + event = localEvent, cryptoService = cryptoService ) ) - Result.success(Data.Builder().putString(localId, eventId).build()) - } catch (exception: Throwable) { - if (exception.shouldBeRetried()) { + Result.success(Data.Builder().putString(localEventId, resultEventId).build()) + } catch (throwable: Throwable) { + if (throwable.shouldBeRetried()) { Result.retry() } else { - Result.success(errorOutputData) + buildErrorResult(params, throwable.localizedMessage ?: "error") } } } - companion object { - private const val OUTPUT_KEY_FAILED = "failed" - - fun hasFailed(outputData: Data): Boolean { - return outputData.getBoolean(OUTPUT_KEY_FAILED, false) - } + override fun buildErrorParams(params: Params, message: String): Params { + return params.copy(lastFailureMessage = params.lastFailureMessage ?: message) } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationEmoji.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationEmoji.kt index ae585245..eb1819fe 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationEmoji.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationEmoji.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfo.kt index 2f4c4e9c..368a9b6b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoAccept.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoAccept.kt index 5c6435c1..79aabba5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoAccept.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoAccept.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoCancel.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoCancel.kt index 68282cb9..35c05ac0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoCancel.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoCancel.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoDone.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoDone.kt index 7dce847e..dfbe45a6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoDone.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoDone.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoKey.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoKey.kt index 745309df..23c117d8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoKey.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoKey.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoMac.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoMac.kt index 6ffd0556..5515acc2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoMac.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoMac.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoReady.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoReady.kt index 6617b6b7..327c09da 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoReady.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoReady.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoRequest.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoRequest.kt index 43843d8e..1cf72308 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoRequest.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoRequest.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoStart.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoStart.kt index 9ac15a10..21a6ba41 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoStart.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationInfoStart.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationMessageProcessor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationMessageProcessor.kt index 0c16fd97..49943256 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationMessageProcessor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationMessageProcessor.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationTransport.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationTransport.kt index ffe07099..b0fab621 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationTransport.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationTransport.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationTransportRoomMessage.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationTransportRoomMessage.kt index 69f00ce3..a447e659 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationTransportRoomMessage.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationTransportRoomMessage.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -22,6 +21,9 @@ import androidx.work.Data import androidx.work.ExistingWorkPolicy import androidx.work.Operation import androidx.work.WorkInfo +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch import org.matrix.android.sdk.R import org.matrix.android.sdk.api.session.crypto.verification.CancelCode import org.matrix.android.sdk.api.session.crypto.verification.ValidVerificationInfoRequest @@ -51,10 +53,8 @@ import org.matrix.android.sdk.internal.di.WorkManagerProvider import org.matrix.android.sdk.internal.session.room.send.LocalEchoEventFactory import org.matrix.android.sdk.internal.task.TaskExecutor import org.matrix.android.sdk.internal.util.StringProvider +import org.matrix.android.sdk.internal.worker.SessionSafeCoroutineWorker import org.matrix.android.sdk.internal.worker.WorkerParamsFactory -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch import timber.log.Timber import java.util.UUID import java.util.concurrent.TimeUnit @@ -87,7 +87,7 @@ internal class VerificationTransportRoomMessage( val workerParams = WorkerParamsFactory.toData(SendVerificationMessageWorker.Params( sessionId = sessionId, - event = event + eventId = event.eventId ?: "" )) val enqueueInfo = enqueueSendWork(workerParams) @@ -115,20 +115,30 @@ internal class VerificationTransportRoomMessage( val observer = object : Observer<List<WorkInfo>> { override fun onChanged(workInfoList: List<WorkInfo>?) { workInfoList - ?.filter { it.state == WorkInfo.State.SUCCEEDED } ?.firstOrNull { it.id == enqueueInfo.second } ?.let { wInfo -> - if (SendVerificationMessageWorker.hasFailed(wInfo.outputData)) { - Timber.e("## SAS verification [${tx?.transactionId}] failed to send verification message in state : ${tx?.state}") - tx?.cancel(onErrorReason) - } else { - if (onDone != null) { - onDone() - } else { - tx?.state = nextState + when (wInfo.state) { + WorkInfo.State.FAILED -> { + tx?.cancel(onErrorReason) + workLiveData.removeObserver(this) + } + WorkInfo.State.SUCCEEDED -> { + if (SessionSafeCoroutineWorker.hasFailed(wInfo.outputData)) { + Timber.e("## SAS verification [${tx?.transactionId}] failed to send verification message in state : ${tx?.state}") + tx?.cancel(onErrorReason) + } else { + if (onDone != null) { + onDone() + } else { + tx?.state = nextState + } + } + workLiveData.removeObserver(this) + } + else -> { + // nop } } - workLiveData.removeObserver(this) } } } @@ -174,7 +184,7 @@ internal class VerificationTransportRoomMessage( val workerParams = WorkerParamsFactory.toData(SendVerificationMessageWorker.Params( sessionId = sessionId, - event = event + eventId = event.eventId ?: "" )) val workRequest = workManagerProvider.matrixOneTimeWorkRequestBuilder<SendVerificationMessageWorker>() @@ -184,7 +194,7 @@ internal class VerificationTransportRoomMessage( .build() workManagerProvider.workManager - .beginUniqueWork("${roomId}_VerificationWork", ExistingWorkPolicy.APPEND, workRequest) + .beginUniqueWork("${roomId}_VerificationWork", ExistingWorkPolicy.APPEND_OR_REPLACE, workRequest) .enqueue() // I cannot just listen to the given work request, because when used in a uniqueWork, @@ -199,7 +209,7 @@ internal class VerificationTransportRoomMessage( ?.filter { it.state == WorkInfo.State.SUCCEEDED } ?.firstOrNull { it.id == workRequest.id } ?.let { wInfo -> - if (SendVerificationMessageWorker.hasFailed(wInfo.outputData)) { + if (SessionSafeCoroutineWorker.hasFailed(wInfo.outputData)) { callback(null, null) } else { val eventId = wInfo.outputData.getString(localId) @@ -229,7 +239,7 @@ internal class VerificationTransportRoomMessage( ) val workerParams = WorkerParamsFactory.toData(SendVerificationMessageWorker.Params( sessionId = sessionId, - event = event + eventId = event.eventId ?: "" )) enqueueSendWork(workerParams) } @@ -249,7 +259,7 @@ internal class VerificationTransportRoomMessage( ) val workerParams = WorkerParamsFactory.toData(SendVerificationMessageWorker.Params( sessionId = sessionId, - event = event + eventId = event.eventId ?: "" )) val enqueueInfo = enqueueSendWork(workerParams) @@ -280,7 +290,7 @@ internal class VerificationTransportRoomMessage( .setBackoffCriteria(BackoffPolicy.LINEAR, 2_000L, TimeUnit.MILLISECONDS) .build() return workManagerProvider.workManager - .beginUniqueWork(uniqueQueueName(), ExistingWorkPolicy.APPEND, workRequest) + .beginUniqueWork(uniqueQueueName(), ExistingWorkPolicy.APPEND_OR_REPLACE, workRequest) .enqueue() to workRequest.id } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationTransportToDevice.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationTransportToDevice.kt index 1dbcf31c..5fd1c5d6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationTransportToDevice.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/VerificationTransportToDevice.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/DefaultQrCodeVerificationTransaction.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/DefaultQrCodeVerificationTransaction.kt index f0db2e0f..829e066b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/DefaultQrCodeVerificationTransaction.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/DefaultQrCodeVerificationTransaction.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/Extensions.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/Extensions.kt index 5e799f63..6bc3483e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/Extensions.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/Extensions.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/QrCodeData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/QrCodeData.kt index 9ae0c136..25c04efd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/QrCodeData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/QrCodeData.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/SharedSecret.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/SharedSecret.kt index edff1038..858c0ab6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/SharedSecret.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/SharedSecret.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/AsyncTransaction.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/AsyncTransaction.kt index c633dc58..d5a96f5b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/AsyncTransaction.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/AsyncTransaction.kt @@ -1,46 +1,66 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ package org.matrix.android.sdk.internal.database +import com.zhuinden.monarchy.Monarchy import io.realm.Realm import io.realm.RealmConfiguration +import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.isActive +import kotlinx.coroutines.launch +import kotlinx.coroutines.sync.Semaphore +import kotlinx.coroutines.sync.withPermit import kotlinx.coroutines.withContext import timber.log.Timber -suspend fun <T> awaitTransaction(config: RealmConfiguration, transaction: suspend (realm: Realm) -> T) = withContext(Dispatchers.Default) { - Realm.getInstance(config).use { bgRealm -> - bgRealm.beginTransaction() - val result: T - try { - val start = System.currentTimeMillis() - result = transaction(bgRealm) - if (isActive) { - bgRealm.commitTransaction() - val end = System.currentTimeMillis() - val time = end - start - Timber.v("Execute transaction in $time millis") - } - } finally { - if (bgRealm.isInTransaction) { - bgRealm.cancelTransaction() +internal fun <T> CoroutineScope.asyncTransaction(monarchy: Monarchy, transaction: suspend (realm: Realm) -> T) { + asyncTransaction(monarchy.realmConfiguration, transaction) +} + +internal fun <T> CoroutineScope.asyncTransaction(realmConfiguration: RealmConfiguration, transaction: suspend (realm: Realm) -> T) { + launch { + awaitTransaction(realmConfiguration, transaction) + } +} + +private val realmSemaphore = Semaphore(1) + +suspend fun <T> awaitTransaction(config: RealmConfiguration, transaction: suspend (realm: Realm) -> T): T { + return realmSemaphore.withPermit { + withContext(Dispatchers.IO) { + Realm.getInstance(config).use { bgRealm -> + bgRealm.beginTransaction() + val result: T + try { + val start = System.currentTimeMillis() + result = transaction(bgRealm) + if (isActive) { + bgRealm.commitTransaction() + val end = System.currentTimeMillis() + val time = end - start + Timber.v("Execute transaction in $time millis") + } + } finally { + if (bgRealm.isInTransaction) { + bgRealm.cancelTransaction() + } + } + result } } - result } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/DBConstants.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/DBConstants.kt index 0f735eb5..7bd68b60 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/DBConstants.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/DBConstants.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/DatabaseCleaner.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/DatabaseCleaner.kt index d12f8628..e305c7ea 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/DatabaseCleaner.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/DatabaseCleaner.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/EventInsertLiveObserver.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/EventInsertLiveObserver.kt index 1834961f..11a877e7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/EventInsertLiveObserver.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/EventInsertLiveObserver.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmInstanceWrapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmInstanceWrapper.kt index e2ddbcbc..097fbc94 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmInstanceWrapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmInstanceWrapper.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmKeysUtils.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmKeysUtils.kt index 453cbae3..6c430e85 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmKeysUtils.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmKeysUtils.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -94,7 +93,7 @@ internal class RealmKeysUtils @Inject constructor(context: Context, } // Expose to handle Realm migration to riotX - fun getRealmEncryptionKey(alias: String) : ByteArray { + fun getRealmEncryptionKey(alias: String): ByteArray { val key = if (hasKeyForDatabase(alias)) { Timber.i("Found key for alias:$alias") extractKeyForDatabase(alias) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmLiveEntityObserver.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmLiveEntityObserver.kt index adf77840..3e2160e6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmLiveEntityObserver.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmLiveEntityObserver.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmQueryLatch.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmQueryLatch.kt index 712b01a6..c9c79730 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmQueryLatch.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmQueryLatch.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -29,8 +28,8 @@ import kotlinx.coroutines.withContext import kotlinx.coroutines.withTimeout internal suspend fun <T> awaitNotEmptyResult(realmConfiguration: RealmConfiguration, - timeoutMillis: Long, - builder: (Realm) -> RealmQuery<T>) { + timeoutMillis: Long, + builder: (Realm) -> RealmQuery<T>) { withTimeout(timeoutMillis) { // Confine Realm interaction to a single thread with Looper. withContext(Dispatchers.Main) { diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmSessionProvider.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmSessionProvider.kt index a7f934ff..1947cc83 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmSessionProvider.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmSessionProvider.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmSessionStoreMigration.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmSessionStoreMigration.kt index 26ce38e3..973388da 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmSessionStoreMigration.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmSessionStoreMigration.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/SessionRealmConfigurationFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/SessionRealmConfigurationFactory.kt index d5c25905..3324520d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/SessionRealmConfigurationFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/SessionRealmConfigurationFactory.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/helper/ChunkEntityHelper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/helper/ChunkEntityHelper.kt index afe228a2..f764c4da 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/helper/ChunkEntityHelper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/helper/ChunkEntityHelper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/helper/RoomEntityHelper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/helper/RoomEntityHelper.kt index 4874a174..a4108f09 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/helper/RoomEntityHelper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/helper/RoomEntityHelper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/helper/TimelineEventEntityHelper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/helper/TimelineEventEntityHelper.kt index 95ae59f8..6f4dac18 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/helper/TimelineEventEntityHelper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/helper/TimelineEventEntityHelper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/AccountDataMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/AccountDataMapper.kt index 9811afab..54315a18 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/AccountDataMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/AccountDataMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/ContentMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/ContentMapper.kt index ab094e94..06658cec 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/ContentMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/ContentMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,21 +19,34 @@ package org.matrix.android.sdk.internal.database.mapper import org.matrix.android.sdk.api.session.events.model.Content import org.matrix.android.sdk.api.util.JSON_DICT_PARAMETERIZED_TYPE import org.matrix.android.sdk.internal.di.MoshiProvider +import org.matrix.android.sdk.internal.network.parsing.CheckNumberType internal object ContentMapper { private val moshi = MoshiProvider.providesMoshi() - private val adapter = moshi.adapter<Content>(JSON_DICT_PARAMETERIZED_TYPE) + private val castJsonNumberMoshi by lazy { + // We are adding the CheckNumberType as we are serializing/deserializing multiple time in a row + // and we lost typing information doing so. + // We don't want this check to be done on all adapters, so we create a new moshi just for that. + MoshiProvider.providesMoshi() + .newBuilder() + .add(CheckNumberType.JSON_ADAPTER_FACTORY) + .build() + } - fun map(content: String?): Content? { + fun map(content: String?, castJsonNumbers: Boolean = false): Content? { return content?.let { - adapter.fromJson(it) + if (castJsonNumbers) { + castJsonNumberMoshi + } else { + moshi + }.adapter<Content>(JSON_DICT_PARAMETERIZED_TYPE).fromJson(it) } } fun map(content: Content?): String? { return content?.let { - adapter.toJson(it) + moshi.adapter<Content>(JSON_DICT_PARAMETERIZED_TYPE).toJson(it) } } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/DraftMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/DraftMapper.kt index bc22c7ed..148f727b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/DraftMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/DraftMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/EventAnnotationsSummaryMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/EventAnnotationsSummaryMapper.kt index 2f697d53..9ed26640 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/EventAnnotationsSummaryMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/EventAnnotationsSummaryMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/EventMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/EventMapper.kt index 61f09dce..66eccdfb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/EventMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/EventMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -54,7 +53,7 @@ internal object EventMapper { return eventEntity } - fun map(eventEntity: EventEntity): Event { + fun map(eventEntity: EventEntity, castJsonNumbers: Boolean = false): Event { val ud = eventEntity.unsignedData ?.takeIf { it.isNotBlank() } ?.let { @@ -69,8 +68,8 @@ internal object EventMapper { return Event( type = eventEntity.type, eventId = eventEntity.eventId, - content = ContentMapper.map(eventEntity.content), - prevContent = ContentMapper.map(eventEntity.prevContent), + content = ContentMapper.map(eventEntity.content, castJsonNumbers), + prevContent = ContentMapper.map(eventEntity.prevContent, castJsonNumbers), originServerTs = eventEntity.originServerTs, senderId = eventEntity.sender, stateKey = eventEntity.stateKey, @@ -96,8 +95,8 @@ internal object EventMapper { } } -internal fun EventEntity.asDomain(): Event { - return EventMapper.map(this) +internal fun EventEntity.asDomain(castJsonNumbers: Boolean = false): Event { + return EventMapper.map(this, castJsonNumbers) } internal fun Event.toEntity(roomId: String, sendState: SendState, ageLocalTs: Long?): EventEntity { diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/GroupSummaryMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/GroupSummaryMapper.kt index 09c96215..13c3a796 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/GroupSummaryMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/GroupSummaryMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/HomeServerCapabilitiesMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/HomeServerCapabilitiesMapper.kt index 4eb9b4b4..b18c6729 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/HomeServerCapabilitiesMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/HomeServerCapabilitiesMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/IsUselessResolver.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/IsUselessResolver.kt index 5dde01e1..5d7afc50 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/IsUselessResolver.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/IsUselessResolver.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/PollResponseAggregatedSummaryEntityMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/PollResponseAggregatedSummaryEntityMapper.kt index 18c774ac..b26e7e88 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/PollResponseAggregatedSummaryEntityMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/PollResponseAggregatedSummaryEntityMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/PushConditionMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/PushConditionMapper.kt index cce780ba..5c0a2ba9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/PushConditionMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/PushConditionMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/PushRulesMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/PushRulesMapper.kt index 3bcc3d2e..12eff8ef 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/PushRulesMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/PushRulesMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/PushersMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/PushersMapper.kt index 9912bcd4..2dba2c22 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/PushersMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/PushersMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/ReadReceiptsSummaryMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/ReadReceiptsSummaryMapper.kt index 6b9c0e7a..5413dd3d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/ReadReceiptsSummaryMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/ReadReceiptsSummaryMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/RoomMemberSummaryMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/RoomMemberSummaryMapper.kt index 65ea7fa7..2365a395 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/RoomMemberSummaryMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/RoomMemberSummaryMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/RoomSummaryMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/RoomSummaryMapper.kt index bd2aba3e..2e54a4cd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/RoomSummaryMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/RoomSummaryMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/TimelineEventMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/TimelineEventMapper.kt index 71c586cf..a2b36ce5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/TimelineEventMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/TimelineEventMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/UserMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/UserMapper.kt index 5f5c5415..0c40ba85 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/UserMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/mapper/UserMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/BreadcrumbsEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/BreadcrumbsEntity.kt index 94306fad..07554d85 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/BreadcrumbsEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/BreadcrumbsEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ChunkEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ChunkEntity.kt index a1f7fda7..9770352a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ChunkEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ChunkEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -24,12 +23,12 @@ import io.realm.annotations.Index import io.realm.annotations.LinkingObjects internal open class ChunkEntity(@Index var prevToken: String? = null, - // Because of gaps we can have several chunks with nextToken == null + // Because of gaps we can have several chunks with nextToken == null @Index var nextToken: String? = null, var stateEvents: RealmList<EventEntity> = RealmList(), var timelineEvents: RealmList<TimelineEventEntity> = RealmList(), var numberOfTimelineEvents: Long = 0, - // Only one chunk will have isLastForward == true + // Only one chunk will have isLastForward == true @Index var isLastForward: Boolean = false, @Index var isLastBackward: Boolean = false ) : RealmObject() { diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/CurrentStateEventEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/CurrentStateEventEntity.kt index bdd86cec..251b0577 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/CurrentStateEventEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/CurrentStateEventEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/DraftEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/DraftEntity.kt index 7254e624..15a5d379 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/DraftEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/DraftEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EditAggregatedSummaryEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EditAggregatedSummaryEntity.kt index 5f98d221..604afc1a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EditAggregatedSummaryEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EditAggregatedSummaryEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EventAnnotationsSummaryEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EventAnnotationsSummaryEntity.kt index 140058fb..3e5e2776 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EventAnnotationsSummaryEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EventAnnotationsSummaryEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EventEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EventEntity.kt index c76e1402..fe59f4fc 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EventEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EventEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EventInsertEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EventInsertEntity.kt index 16ae0519..f4426207 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EventInsertEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EventInsertEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EventInsertType.java b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EventInsertType.java index 41ecad00..05153c57 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EventInsertType.java +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/EventInsertType.java @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/FilterEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/FilterEntity.kt index b7a2f905..96014d29 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/FilterEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/FilterEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/GroupEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/GroupEntity.kt index 76ddb316..25a041e3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/GroupEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/GroupEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/GroupSummaryEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/GroupSummaryEntity.kt index 00c39d4e..8982436c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/GroupSummaryEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/GroupSummaryEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/HomeServerCapabilitiesEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/HomeServerCapabilitiesEntity.kt index a905dc95..763dcf80 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/HomeServerCapabilitiesEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/HomeServerCapabilitiesEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/IgnoredUserEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/IgnoredUserEntity.kt index d2b7e049..d16bf89d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/IgnoredUserEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/IgnoredUserEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PendingThreePidEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PendingThreePidEntity.kt index 2f5643d7..98c38c89 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PendingThreePidEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PendingThreePidEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PollResponseAggregatedSummaryEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PollResponseAggregatedSummaryEntity.kt index 267675ef..0000a558 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PollResponseAggregatedSummaryEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PollResponseAggregatedSummaryEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PushConditionEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PushConditionEntity.kt index 2fdcaa25..7485680c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PushConditionEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PushConditionEntity.kt @@ -1,5 +1,4 @@ /* - * copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * licensed under the apache license, version 2.0 (the "license"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PushRuleEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PushRuleEntity.kt index 118d394e..85375c80 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PushRuleEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PushRuleEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PushRulesEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PushRulesEntity.kt index e4a7ef5e..21e3510c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PushRulesEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PushRulesEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PusherDataEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PusherDataEntity.kt index 9fff183b..f12cf70d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PusherDataEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PusherDataEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PusherEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PusherEntity.kt index 7b299d4f..f85c01c4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PusherEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/PusherEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RawCacheEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RawCacheEntity.kt index 3c0a2804..4f271a9a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RawCacheEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RawCacheEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReactionAggregatedSummaryEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReactionAggregatedSummaryEntity.kt index 7da933c6..ae916ae5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReactionAggregatedSummaryEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReactionAggregatedSummaryEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReadMarkerEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReadMarkerEntity.kt index 739c0b9e..965665c5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReadMarkerEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReadMarkerEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReadReceiptEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReadReceiptEntity.kt index f1e3bc4e..e01d849c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReadReceiptEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReadReceiptEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReadReceiptsSummaryEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReadReceiptsSummaryEntity.kt index 8445abdb..98b43290 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReadReceiptsSummaryEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReadReceiptsSummaryEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReferencesAggregatedSummaryEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReferencesAggregatedSummaryEntity.kt index 327648ab..979ef4d0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReferencesAggregatedSummaryEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ReferencesAggregatedSummaryEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RoomEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RoomEntity.kt index ae1e7865..9af1646a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RoomEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RoomEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RoomMemberSummaryEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RoomMemberSummaryEntity.kt index f2ea5a5f..a48b081f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RoomMemberSummaryEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RoomMemberSummaryEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RoomSummaryEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RoomSummaryEntity.kt index d6859f1d..37696c90 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RoomSummaryEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RoomSummaryEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RoomTagEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RoomTagEntity.kt index 8fdae320..a7fe71f3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RoomTagEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/RoomTagEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ScalarTokenEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ScalarTokenEntity.kt index a8fc4547..9beab4b5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ScalarTokenEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/ScalarTokenEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/SessionRealmModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/SessionRealmModule.kt index 2c45cfcd..f62312f8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/SessionRealmModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/SessionRealmModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/SyncEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/SyncEntity.kt index 5a1bcbc8..a82ec414 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/SyncEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/SyncEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -21,5 +20,5 @@ import io.realm.RealmObject import io.realm.annotations.PrimaryKey internal open class SyncEntity(var nextBatch: String? = null, - @PrimaryKey var id: Long = 0 + @PrimaryKey var id: Long = 0 ) : RealmObject() diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/TimelineEventEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/TimelineEventEntity.kt index 36f6041f..7bd0dbbb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/TimelineEventEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/TimelineEventEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/UserAccountDataEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/UserAccountDataEntity.kt index 75aacd8d..cfdb84d0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/UserAccountDataEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/UserAccountDataEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/UserDraftsEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/UserDraftsEntity.kt index f84a7b93..06a63493 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/UserDraftsEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/UserDraftsEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/UserEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/UserEntity.kt index e2150103..bd6e7358 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/UserEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/UserEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/UserThreePidEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/UserThreePidEntity.kt index c7337f6a..444ba94d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/UserThreePidEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/UserThreePidEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/WellknownIntegrationManagerConfigEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/WellknownIntegrationManagerConfigEntity.kt index fdabed3c..65d64064 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/WellknownIntegrationManagerConfigEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/model/WellknownIntegrationManagerConfigEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/BreadcrumbsEntityQuery.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/BreadcrumbsEntityQuery.kt index e711e301..0463d52f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/BreadcrumbsEntityQuery.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/BreadcrumbsEntityQuery.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ChunkEntityQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ChunkEntityQueries.kt index 79b61111..60286970 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ChunkEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ChunkEntityQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/CurrentStateEventEntityQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/CurrentStateEventEntityQueries.kt index ac00f791..9a3622e2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/CurrentStateEventEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/CurrentStateEventEntityQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/EventAnnotationsSummaryEntityQuery.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/EventAnnotationsSummaryEntityQuery.kt index 9fa710a9..9a298b7e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/EventAnnotationsSummaryEntityQuery.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/EventAnnotationsSummaryEntityQuery.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -48,6 +47,7 @@ internal fun EventAnnotationsSummaryEntity.Companion.create(realm: Realm, roomId } return obj } + internal fun EventAnnotationsSummaryEntity.Companion.getOrCreate(realm: Realm, roomId: String, eventId: String): EventAnnotationsSummaryEntity { return EventAnnotationsSummaryEntity.where(realm, eventId).findFirst() ?: EventAnnotationsSummaryEntity.create(realm, roomId, eventId).apply { this.roomId = roomId } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/EventEntityQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/EventEntityQueries.kt index ee41729e..0bf62a19 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/EventEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/EventEntityQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/FilterEntityQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/FilterEntityQueries.kt index 33a7bff6..c76e6068 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/FilterEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/FilterEntityQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/GroupEntityQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/GroupEntityQueries.kt index 1097cce4..9a1f2b37 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/GroupEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/GroupEntityQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/GroupSummaryEntityQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/GroupSummaryEntityQueries.kt index 650558ee..fbfd8bd1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/GroupSummaryEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/GroupSummaryEntityQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/HomeServerCapabilitiesQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/HomeServerCapabilitiesQueries.kt index 1ebe276f..b0b4f5a8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/HomeServerCapabilitiesQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/HomeServerCapabilitiesQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/PushersQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/PushersQueries.kt index cf34bc0c..d78bda23 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/PushersQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/PushersQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/RawCacheQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/RawCacheQueries.kt index 93753ff2..ac5e29e1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/RawCacheQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/RawCacheQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReadMarkerEntityQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReadMarkerEntityQueries.kt index 636fc9ac..35fb2b06 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReadMarkerEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReadMarkerEntityQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReadQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReadQueries.kt index 8ccc12a5..a3c741ad 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReadQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReadQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReadReceiptEntityQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReadReceiptEntityQueries.kt index 1eb43819..1a5e8fcf 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReadReceiptEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReadReceiptEntityQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReadReceiptsSummaryEntityQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReadReceiptsSummaryEntityQueries.kt index 1d384a1d..97f84184 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReadReceiptsSummaryEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReadReceiptsSummaryEntityQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReferencesAggregatedSummaryEntityQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReferencesAggregatedSummaryEntityQueries.kt index 60f665d4..8b3929cd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReferencesAggregatedSummaryEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReferencesAggregatedSummaryEntityQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/RoomEntityQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/RoomEntityQueries.kt index 35d21f8f..27e8d9d8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/RoomEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/RoomEntityQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/RoomMemberEntityQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/RoomMemberEntityQueries.kt index ae1d4277..0747b126 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/RoomMemberEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/RoomMemberEntityQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/RoomSummaryEntityQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/RoomSummaryEntityQueries.kt index 7eee63c7..7430b782 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/RoomSummaryEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/RoomSummaryEntityQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ScalarTokenQuery.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ScalarTokenQuery.kt index 24387856..53fd5250 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ScalarTokenQuery.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ScalarTokenQuery.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/TimelineEventEntityQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/TimelineEventEntityQueries.kt index d49b64c4..41a13c78 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/TimelineEventEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/TimelineEventEntityQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/TimelineEventFilter.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/TimelineEventFilter.kt index 068ec0eb..10a0d1dc 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/TimelineEventFilter.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/TimelineEventFilter.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/UserDraftsEntityQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/UserDraftsEntityQueries.kt index 6c3bc707..35f317f1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/UserDraftsEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/UserDraftsEntityQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/UserEntityQueries.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/UserEntityQueries.kt index 5566028d..6a5528e3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/UserEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/UserEntityQueries.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/AuthQualifiers.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/AuthQualifiers.kt index 237eae38..fc00d931 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/AuthQualifiers.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/AuthQualifiers.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/DbQualifiers.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/DbQualifiers.kt index 2380ea68..49e155ad 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/DbQualifiers.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/DbQualifiers.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/FileQualifiers.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/FileQualifiers.kt index 5d140232..74dbd647 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/FileQualifiers.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/FileQualifiers.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/MatrixComponent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/MatrixComponent.kt index e51d8f3a..d3f08fde 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/MatrixComponent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/MatrixComponent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/MatrixModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/MatrixModule.kt index be3175c2..71cbd8f1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/MatrixModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/MatrixModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/MatrixScope.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/MatrixScope.kt index 8cfa48f2..b027d471 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/MatrixScope.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/MatrixScope.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/MoshiProvider.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/MoshiProvider.kt index 5e16d0b4..48fa41b3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/MoshiProvider.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/MoshiProvider.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -32,8 +31,10 @@ import org.matrix.android.sdk.api.session.room.model.message.MessageTextContent import org.matrix.android.sdk.api.session.room.model.message.MessageType import org.matrix.android.sdk.api.session.room.model.message.MessageVerificationRequestContent import org.matrix.android.sdk.api.session.room.model.message.MessageVideoContent +import org.matrix.android.sdk.internal.network.parsing.CipherSuiteMoshiAdapter import org.matrix.android.sdk.internal.network.parsing.ForceToBooleanJsonAdapter import org.matrix.android.sdk.internal.network.parsing.RuntimeJsonAdapterFactory +import org.matrix.android.sdk.internal.network.parsing.TlsVersionMoshiAdapter import org.matrix.android.sdk.internal.network.parsing.UriMoshiAdapter object MoshiProvider { @@ -41,6 +42,8 @@ object MoshiProvider { private val moshi: Moshi = Moshi.Builder() .add(UriMoshiAdapter()) .add(ForceToBooleanJsonAdapter()) + .add(CipherSuiteMoshiAdapter()) + .add(TlsVersionMoshiAdapter()) .add(RuntimeJsonAdapterFactory.of(MessageContent::class.java, "msgtype", MessageDefaultContent::class.java) .registerSubtype(MessageTextContent::class.java, MessageType.MSGTYPE_TEXT) .registerSubtype(MessageNoticeContent::class.java, MessageType.MSGTYPE_NOTICE) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/NetworkModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/NetworkModule.kt index 5fff658a..f4688411 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/NetworkModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/NetworkModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -29,7 +28,6 @@ import org.matrix.android.sdk.internal.network.interceptors.CurlLoggingIntercept import org.matrix.android.sdk.internal.network.interceptors.FormattedJsonHttpLogger import okhttp3.OkHttpClient import okhttp3.logging.HttpLoggingInterceptor -import okreplay.OkReplayInterceptor import java.util.concurrent.TimeUnit @Module @@ -44,12 +42,6 @@ internal object NetworkModule { return interceptor } - @Provides - @JvmStatic - fun providesOkReplayInterceptor(): OkReplayInterceptor { - return OkReplayInterceptor() - } - @Provides @JvmStatic fun providesStethoInterceptor(): StethoInterceptor { @@ -71,8 +63,7 @@ internal object NetworkModule { timeoutInterceptor: TimeOutInterceptor, userAgentInterceptor: UserAgentInterceptor, httpLoggingInterceptor: HttpLoggingInterceptor, - curlLoggingInterceptor: CurlLoggingInterceptor, - okReplayInterceptor: OkReplayInterceptor): OkHttpClient { + curlLoggingInterceptor: CurlLoggingInterceptor): OkHttpClient { return OkHttpClient.Builder() .connectTimeout(30, TimeUnit.SECONDS) .readTimeout(60, TimeUnit.SECONDS) @@ -93,7 +84,6 @@ internal object NetworkModule { proxy(it) } } - .addInterceptor(okReplayInterceptor) .build() } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/NoOpTestModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/NoOpTestModule.kt index d74c6055..210eadef 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/NoOpTestModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/NoOpTestModule.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/SerializeNulls.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/SerializeNulls.kt index a66c7ff7..0d8fdde8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/SerializeNulls.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/SerializeNulls.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/SessionAssistedInjectModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/SessionAssistedInjectModule.kt index b9ea7a0a..da3ecfb9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/SessionAssistedInjectModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/SessionAssistedInjectModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/StringQualifiers.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/StringQualifiers.kt index 10a523bb..d74a8dce 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/StringQualifiers.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/StringQualifiers.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/WorkManagerProvider.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/WorkManagerProvider.kt index 737b5335..4c9d06f7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/WorkManagerProvider.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/WorkManagerProvider.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/eventbus/EventBusTimberLogger.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/eventbus/EventBusTimberLogger.kt index b60d60a6..2cbd7ba7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/eventbus/EventBusTimberLogger.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/eventbus/EventBusTimberLogger.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/LiveData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/LiveData.kt index 64fb72e5..718e7869 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/LiveData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/LiveData.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/Primitives.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/Primitives.kt index ab45f08e..855e7eda 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/Primitives.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/Primitives.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/RealmExtensions.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/RealmExtensions.kt index ebe9ab7e..0718096f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/RealmExtensions.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/RealmExtensions.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/Result.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/Result.kt index 0b812736..3734c5dc 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/Result.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/Result.kt @@ -1,20 +1,17 @@ /* - - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ package org.matrix.android.sdk.internal.extensions diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/Try.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/Try.kt index 1030d671..87863214 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/Try.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/extensions/Try.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/DefaultLegacySessionImporter.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/DefaultLegacySessionImporter.kt index 1741ca48..e0e2f96f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/DefaultLegacySessionImporter.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/DefaultLegacySessionImporter.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/Credentials.java b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/Credentials.java index 59ad3be4..68447440 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/Credentials.java +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/Credentials.java @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/Fingerprint.java b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/Fingerprint.java index 3975618f..74a3f1ac 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/Fingerprint.java +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/Fingerprint.java @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/HomeServerConnectionConfig.java b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/HomeServerConnectionConfig.java index 6732a2cd..21d069f2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/HomeServerConnectionConfig.java +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/HomeServerConnectionConfig.java @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -182,7 +181,7 @@ public class HomeServerConnectionConfig { if (!TextUtils.isEmpty(jitsiServerUrl)) { // add trailing "/" if (!jitsiServerUrl.endsWith("/")) { - jitsiServerUrl =jitsiServerUrl + "/"; + jitsiServerUrl = jitsiServerUrl + "/"; } Timber.d("Overriding jitsi server url to " + jitsiServerUrl); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/LoginStorage.java b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/LoginStorage.java index 672053d4..51600752 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/LoginStorage.java +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/LoginStorage.java @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/WellKnown.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/WellKnown.kt index 234cd726..56d372fa 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/WellKnown.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/WellKnown.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/WellKnownBaseConfig.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/WellKnownBaseConfig.kt index e9efccce..7bbdda5e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/WellKnownBaseConfig.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/WellKnownBaseConfig.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/WellKnownManagerConfig.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/WellKnownManagerConfig.kt index f93d90af..4efb52d6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/WellKnownManagerConfig.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/WellKnownManagerConfig.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -21,6 +20,6 @@ package org.matrix.android.sdk.internal.legacy.riot */ data class WellKnownManagerConfig( - val apiUrl : String, + val apiUrl: String, val uiUrl: String ) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/WellKnownPreferredConfig.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/WellKnownPreferredConfig.kt index 5a918d6f..feefdf92 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/WellKnownPreferredConfig.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/riot/WellKnownPreferredConfig.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/AccessTokenInterceptor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/AccessTokenInterceptor.kt index 6f5b07b2..b11fb6a5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/AccessTokenInterceptor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/AccessTokenInterceptor.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/HttpHeaders.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/HttpHeaders.kt index f15b0353..26bdd905 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/HttpHeaders.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/HttpHeaders.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/NetworkCallbackStrategy.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/NetworkCallbackStrategy.kt index caf5090a..8e18d2d8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/NetworkCallbackStrategy.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/NetworkCallbackStrategy.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/NetworkConnectivityChecker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/NetworkConnectivityChecker.kt index ae55324d..c149ed25 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/NetworkConnectivityChecker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/NetworkConnectivityChecker.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/NetworkConstants.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/NetworkConstants.kt index eb8ea2dc..a14c86ef 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/NetworkConstants.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/NetworkConstants.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,7 +17,7 @@ package org.matrix.android.sdk.internal.network internal object NetworkConstants { - + // Homeserver private const val URI_API_PREFIX_PATH = "_matrix/client" const val URI_API_PREFIX_PATH_ = "$URI_API_PREFIX_PATH/" const val URI_API_PREFIX_PATH_R0 = "$URI_API_PREFIX_PATH/r0/" @@ -32,5 +31,9 @@ internal object NetworkConstants { const val URI_IDENTITY_PREFIX_PATH = "_matrix/identity/v2" const val URI_IDENTITY_PATH_V2 = "$URI_IDENTITY_PREFIX_PATH/" + // Push Gateway + const val URI_PUSH_GATEWAY_PREFIX_PATH = "_matrix/push/v1/" + + // Integration const val URI_INTEGRATION_MANAGER_PATH = "_matrix/integrations/v1/" } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/NetworkInfoReceiver.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/NetworkInfoReceiver.kt index 85a69c85..62f4f64a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/NetworkInfoReceiver.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/NetworkInfoReceiver.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ProgressRequestBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ProgressRequestBody.kt index 98dec301..818d7d6a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ProgressRequestBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ProgressRequestBody.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -24,7 +23,7 @@ import okio.BufferedSink import okio.ForwardingSink import okio.Sink import okio.buffer -import org.matrix.android.sdk.api.extensions.tryThis +import org.matrix.android.sdk.api.extensions.tryOrNull import java.io.IOException internal class ProgressRequestBody(private val delegate: RequestBody, @@ -40,7 +39,7 @@ internal class ProgressRequestBody(private val delegate: RequestBody, override fun isDuplex() = delegate.isDuplex() - val length = tryThis { delegate.contentLength() } ?: -1 + val length = tryOrNull { delegate.contentLength() } ?: -1 override fun contentLength() = length diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/Request.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/Request.kt index 52556e4c..e6cec7f7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/Request.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/Request.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/RetrofitExtensions.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/RetrofitExtensions.kt index b7eacfb4..c54af571 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/RetrofitExtensions.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/RetrofitExtensions.kt @@ -1,6 +1,5 @@ /* * - * * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/RetrofitFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/RetrofitFactory.kt index 89a0ce59..0a797c8b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/RetrofitFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/RetrofitFactory.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/TimeOutInterceptor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/TimeOutInterceptor.kt index 4fb8f513..6c604f23 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/TimeOutInterceptor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/TimeOutInterceptor.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/UnitConverterFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/UnitConverterFactory.kt index dfcf0412..513d8c5c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/UnitConverterFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/UnitConverterFactory.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -23,14 +22,14 @@ import retrofit2.Retrofit import java.lang.reflect.Type object UnitConverterFactory : Converter.Factory() { - override fun responseBodyConverter(type: Type, annotations: Array<out Annotation>, - retrofit: Retrofit): Converter<ResponseBody, *>? { - return if (type == Unit::class.java) UnitConverter else null - } + override fun responseBodyConverter(type: Type, annotations: Array<out Annotation>, + retrofit: Retrofit): Converter<ResponseBody, *>? { + return if (type == Unit::class.java) UnitConverter else null + } - private object UnitConverter : Converter<ResponseBody, Unit> { - override fun convert(value: ResponseBody) { - value.close() + private object UnitConverter : Converter<ResponseBody, Unit> { + override fun convert(value: ResponseBody) { + value.close() + } } - } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/UserAgentHolder.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/UserAgentHolder.kt index 9a5451bd..973c120f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/UserAgentHolder.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/UserAgentHolder.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/UserAgentInterceptor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/UserAgentInterceptor.kt index 10997511..256346a7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/UserAgentInterceptor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/UserAgentInterceptor.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/httpclient/OkHttpClientUtil.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/httpclient/OkHttpClientUtil.kt index 94d1d958..b4a2d191 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/httpclient/OkHttpClientUtil.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/httpclient/OkHttpClientUtil.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/CheckNumberType.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/CheckNumberType.kt index d4ceca20..14d275e0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/CheckNumberType.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/CheckNumberType.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -49,7 +49,7 @@ interface CheckNumberType { val numberAsString = reader.nextString() val decimal = BigDecimal(numberAsString) if (decimal.scale() <= 0) { - decimal.intValueExact() + decimal.longValueExact() } else { decimal.toDouble() } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/CipherSuiteMoshiAdapter.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/CipherSuiteMoshiAdapter.kt new file mode 100644 index 00000000..3cb11dc4 --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/CipherSuiteMoshiAdapter.kt @@ -0,0 +1,34 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.network.parsing + +import com.squareup.moshi.FromJson +import com.squareup.moshi.ToJson +import okhttp3.CipherSuite + +internal class CipherSuiteMoshiAdapter { + + @ToJson + fun toJson(cipherSuite: CipherSuite): String { + return cipherSuite.javaName + } + + @FromJson + fun fromJson(cipherSuiteString: String): CipherSuite { + return CipherSuite.forJavaName(cipherSuiteString) + } +} diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/ForceToBoolean.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/ForceToBoolean.kt index 42a63e0c..f3b4cff3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/ForceToBoolean.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/ForceToBoolean.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/RuntimeJsonAdapterFactory.java b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/RuntimeJsonAdapterFactory.java index a4966052..c9bf6cc6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/RuntimeJsonAdapterFactory.java +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/RuntimeJsonAdapterFactory.java @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/OkReplayRuleChainNoActivity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/TlsVersionMoshiAdapter.kt similarity index 54% rename from matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/OkReplayRuleChainNoActivity.kt rename to matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/TlsVersionMoshiAdapter.kt index 372ef95b..771dc401 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/OkReplayRuleChainNoActivity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/TlsVersionMoshiAdapter.kt @@ -1,5 +1,5 @@ /* - * Copyright 2019 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,19 +14,21 @@ * limitations under the License. */ -package org.matrix.android.sdk +package org.matrix.android.sdk.internal.network.parsing -import okreplay.OkReplayConfig -import okreplay.PermissionRule -import okreplay.RecorderRule -import org.junit.rules.RuleChain -import org.junit.rules.TestRule +import com.squareup.moshi.FromJson +import com.squareup.moshi.ToJson +import okhttp3.TlsVersion -class OkReplayRuleChainNoActivity( - private val configuration: OkReplayConfig) { +internal class TlsVersionMoshiAdapter { - fun get(): TestRule { - return RuleChain.outerRule(PermissionRule(configuration)) - .around(RecorderRule(configuration)) + @ToJson + fun toJson(tlsVersion: TlsVersion): String { + return tlsVersion.javaName + } + + @FromJson + fun fromJson(tlsVersionString: String): TlsVersion { + return TlsVersion.forJavaName(tlsVersionString) } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/UriMoshiAdapter.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/UriMoshiAdapter.kt index f45c8930..bdfc3519 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/UriMoshiAdapter.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/parsing/UriMoshiAdapter.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/CertUtil.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/CertUtil.kt index 40a8e298..9d7263f5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/CertUtil.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/CertUtil.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/Fingerprint.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/Fingerprint.kt index f1280b87..b096bd6c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/Fingerprint.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/Fingerprint.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/PinnedTrustManager.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/PinnedTrustManager.kt index 289a4ee0..b1001bd3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/PinnedTrustManager.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/PinnedTrustManager.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/PinnedTrustManagerApi24.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/PinnedTrustManagerApi24.kt index ed5a099e..4e58a0f2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/PinnedTrustManagerApi24.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/PinnedTrustManagerApi24.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/PinnedTrustManagerProvider.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/PinnedTrustManagerProvider.kt index 7dcff029..57b97c75 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/PinnedTrustManagerProvider.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/PinnedTrustManagerProvider.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/TLSSocketFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/TLSSocketFactory.kt index 4ebeafd0..c4dbce62 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/TLSSocketFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/TLSSocketFactory.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -114,8 +113,4 @@ constructor(trustPinned: Array<TrustManager>, acceptedTlsVersions: List<TlsVersi } return socket } - - companion object { - private val LOG_TAG = TLSSocketFactory::class.java.simpleName - } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/UnrecognizedCertificateException.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/UnrecognizedCertificateException.kt index ba68a513..ca841f0f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/UnrecognizedCertificateException.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/ssl/UnrecognizedCertificateException.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/token/AccessTokenProvider.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/token/AccessTokenProvider.kt index c1e20aaa..c0e08b5a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/token/AccessTokenProvider.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/token/AccessTokenProvider.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/token/HomeserverAccessTokenProvider.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/token/HomeserverAccessTokenProvider.kt index 1bb0f342..82cde239 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/token/HomeserverAccessTokenProvider.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/token/HomeserverAccessTokenProvider.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/query/QueryEnumListProcessor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/query/QueryEnumListProcessor.kt index 6e0cb3e6..5653d717 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/query/QueryEnumListProcessor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/query/QueryEnumListProcessor.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/query/QueryStringValueProcessor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/query/QueryStringValueProcessor.kt index fadea5ad..89902445 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/query/QueryStringValueProcessor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/query/QueryStringValueProcessor.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/DefaultCleanRawCacheTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/DefaultCleanRawCacheTask.kt index 7ab66452..9d7efb7a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/DefaultCleanRawCacheTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/DefaultCleanRawCacheTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/DefaultGetUrlTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/DefaultGetUrlTask.kt index 1733abcc..1f4ca6d6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/DefaultGetUrlTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/DefaultGetUrlTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -44,8 +43,8 @@ internal class DefaultGetUrlTask @Inject constructor( override suspend fun execute(params: GetUrlTask.Params): String { return when (params.rawCacheStrategy) { - RawCacheStrategy.NoCache -> doRequest(params.url) - is RawCacheStrategy.TtlCache -> doRequestWithCache( + RawCacheStrategy.NoCache -> doRequest(params.url) + is RawCacheStrategy.TtlCache -> doRequestWithCache( params.url, params.rawCacheStrategy.validityDurationInMillis, params.rawCacheStrategy.strict diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/DefaultRawService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/DefaultRawService.kt index 792a0b3a..be01366e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/DefaultRawService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/DefaultRawService.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/GlobalRealmModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/GlobalRealmModule.kt index 4df5edae..e4e41601 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/GlobalRealmModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/GlobalRealmModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/RawAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/RawAPI.kt index f7aa738e..4b08afd7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/RawAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/RawAPI.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/RawModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/RawModule.kt index 95de057f..aee2a528 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/RawModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/raw/RawModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/DefaultFileService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/DefaultFileService.kt index a163cd48..861ae7c7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/DefaultFileService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/DefaultFileService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -23,7 +22,7 @@ import android.webkit.MimeTypeMap import androidx.core.content.FileProvider import arrow.core.Try import org.matrix.android.sdk.api.MatrixCallback -import org.matrix.android.sdk.api.extensions.tryThis +import org.matrix.android.sdk.api.extensions.tryOrNull import org.matrix.android.sdk.api.session.content.ContentUrlResolver import org.matrix.android.sdk.api.session.file.FileService import org.matrix.android.sdk.api.util.Cancelable @@ -174,7 +173,7 @@ internal class DefaultFileService @Inject constructor( } } toNotify?.forEach { otherCallbacks -> - tryThis { otherCallbacks.onFailure(it) } + tryOrNull { otherCallbacks.onFailure(it) } } }, { file -> callback.onSuccess(file) @@ -186,7 +185,7 @@ internal class DefaultFileService @Inject constructor( } Timber.v("## FileService additional to notify ${toNotify?.size ?: 0} ") toNotify?.forEach { otherCallbacks -> - tryThis { otherCallbacks.onSuccess(file) } + tryOrNull { otherCallbacks.onSuccess(file) } } }) }.toCancelable() diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/DefaultInitialSyncProgressService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/DefaultInitialSyncProgressService.kt index ff1f4434..9918e83f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/DefaultInitialSyncProgressService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/DefaultInitialSyncProgressService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/DefaultSession.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/DefaultSession.kt index 004c5afe..679a24be 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/DefaultSession.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/DefaultSession.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -49,6 +48,7 @@ import org.matrix.android.sdk.api.session.profile.ProfileService import org.matrix.android.sdk.api.session.pushers.PushersService import org.matrix.android.sdk.api.session.room.RoomDirectoryService import org.matrix.android.sdk.api.session.room.RoomService +import org.matrix.android.sdk.api.session.search.SearchService import org.matrix.android.sdk.api.session.securestorage.SecureStorageService import org.matrix.android.sdk.api.session.securestorage.SharedSecretStorageService import org.matrix.android.sdk.api.session.signout.SignOutService @@ -95,6 +95,7 @@ internal class DefaultSession @Inject constructor( private val pushRuleService: Lazy<PushRuleService>, private val pushersService: Lazy<PushersService>, private val termsService: Lazy<TermsService>, + private val searchService: Lazy<SearchService>, private val cryptoService: Lazy<DefaultCryptoService>, private val defaultFileService: Lazy<FileService>, private val permalinkService: Lazy<PermalinkService>, @@ -264,6 +265,8 @@ internal class DefaultSession @Inject constructor( override fun callSignalingService(): CallSignalingService = callSignalingService.get() + override fun searchService(): SearchService = searchService.get() + override fun getOkHttpClient(): OkHttpClient { return unauthenticatedWithCertificateOkHttpClient.get() } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/EventInsertLiveProcessor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/EventInsertLiveProcessor.kt index 85d71469..53b1a735 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/EventInsertLiveProcessor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/EventInsertLiveProcessor.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionComponent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionComponent.kt index 47545083..ffa7c841 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionComponent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionComponent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -50,6 +49,7 @@ import org.matrix.android.sdk.internal.session.room.send.EncryptEventWorker import org.matrix.android.sdk.internal.session.room.send.MultipleEventSendingDispatcherWorker import org.matrix.android.sdk.internal.session.room.send.RedactEventWorker import org.matrix.android.sdk.internal.session.room.send.SendEventWorker +import org.matrix.android.sdk.internal.session.search.SearchModule import org.matrix.android.sdk.internal.session.signout.SignOutModule import org.matrix.android.sdk.internal.session.sync.SyncModule import org.matrix.android.sdk.internal.session.sync.SyncTask @@ -86,7 +86,8 @@ import org.matrix.android.sdk.internal.util.MatrixCoroutineDispatchers ProfileModule::class, SessionAssistedInjectModule::class, AccountModule::class, - CallModule::class + CallModule::class, + SearchModule::class ] ) @SessionScope diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionLifecycleObserver.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionLifecycleObserver.kt index 3cc73599..d26e9861 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionLifecycleObserver.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionLifecycleObserver.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionListeners.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionListeners.kt index 36242616..64f2d249 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionListeners.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionListeners.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionModule.kt index 5397b8d9..355a152c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionScope.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionScope.kt index 1fb950ba..f897c967 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionScope.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionScope.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/TestInterceptor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/TestInterceptor.kt index cf8701ab..fad68afd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/TestInterceptor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/TestInterceptor.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/AccountAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/AccountAPI.kt index be25c680..1db9d121 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/AccountAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/AccountAPI.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/AccountModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/AccountModule.kt index 50469f99..7cf4f53a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/AccountModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/AccountModule.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/ChangePasswordParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/ChangePasswordParams.kt index 347e39ae..70cdbda3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/ChangePasswordParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/ChangePasswordParams.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/ChangePasswordTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/ChangePasswordTask.kt index 9338f58e..869d3f51 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/ChangePasswordTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/ChangePasswordTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/DeactivateAccountParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/DeactivateAccountParams.kt index a8fa999c..6c2e8b4a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/DeactivateAccountParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/DeactivateAccountParams.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/DeactivateAccountTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/DeactivateAccountTask.kt index b31a0a4c..ac5febcd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/DeactivateAccountTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/DeactivateAccountTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/DefaultAccountService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/DefaultAccountService.kt index 892d91fe..31a39d45 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/DefaultAccountService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/account/DefaultAccountService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/cache/CacheModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/cache/CacheModule.kt index b6e2a8d0..83c7d2b0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/cache/CacheModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/cache/CacheModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/cache/ClearCacheTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/cache/ClearCacheTask.kt index 9b968f3d..894c3a47 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/cache/ClearCacheTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/cache/ClearCacheTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/cache/DefaultCacheService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/cache/DefaultCacheService.kt index ab53e870..19365fce 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/cache/DefaultCacheService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/cache/DefaultCacheService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/ActiveCallHandler.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/ActiveCallHandler.kt index 40f5a56c..952f1156 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/ActiveCallHandler.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/ActiveCallHandler.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/CallEventProcessor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/CallEventProcessor.kt index 5d1d5808..f789a645 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/CallEventProcessor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/CallEventProcessor.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/CallModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/CallModule.kt index 60887db4..efacca22 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/CallModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/CallModule.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/DefaultCallSignalingService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/DefaultCallSignalingService.kt index d9bc66ed..519beaf2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/DefaultCallSignalingService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/DefaultCallSignalingService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -19,7 +18,7 @@ package org.matrix.android.sdk.internal.session.call import android.os.SystemClock import org.matrix.android.sdk.api.MatrixCallback -import org.matrix.android.sdk.api.extensions.tryThis +import org.matrix.android.sdk.api.extensions.tryOrNull import org.matrix.android.sdk.api.session.call.CallSignalingService import org.matrix.android.sdk.api.session.call.CallState import org.matrix.android.sdk.api.session.call.CallsListener @@ -210,7 +209,7 @@ internal class DefaultCallSignalingService @Inject constructor( private fun onCallHangup(hangup: CallHangupContent) { callListeners.toList().forEach { - tryThis { + tryOrNull { it.onCallHangupReceived(hangup) } } @@ -218,7 +217,7 @@ internal class DefaultCallSignalingService @Inject constructor( private fun onCallAnswer(answer: CallAnswerContent) { callListeners.toList().forEach { - tryThis { + tryOrNull { it.onCallAnswerReceived(answer) } } @@ -226,7 +225,7 @@ internal class DefaultCallSignalingService @Inject constructor( private fun onCallManageByOtherSession(callId: String) { callListeners.toList().forEach { - tryThis { + tryOrNull { it.onCallManagedByOtherSession(callId) } } @@ -237,7 +236,7 @@ internal class DefaultCallSignalingService @Inject constructor( if (incomingCall.otherUserId == userId) return callListeners.toList().forEach { - tryThis { + tryOrNull { it.onCallInviteReceived(incomingCall, invite) } } @@ -245,7 +244,7 @@ internal class DefaultCallSignalingService @Inject constructor( private fun onCallIceCandidate(incomingCall: MxCall, candidates: CallCandidatesContent) { callListeners.toList().forEach { - tryThis { + tryOrNull { it.onCallIceCandidateReceived(incomingCall, candidates) } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/GetTurnServerTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/GetTurnServerTask.kt index c38a00d1..1cedee33 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/GetTurnServerTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/GetTurnServerTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/VoipApi.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/VoipApi.kt index ea2f55cf..72c6c58f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/VoipApi.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/VoipApi.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/model/MxCallImpl.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/model/MxCallImpl.kt index 1e724706..7edb375d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/model/MxCallImpl.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/call/model/MxCallImpl.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/cleanup/CleanupSession.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/cleanup/CleanupSession.kt index 427fb598..b5c1e6a2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/cleanup/CleanupSession.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/cleanup/CleanupSession.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ContentModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ContentModule.kt index ba87d060..10c16140 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ContentModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ContentModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ContentUploadResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ContentUploadResponse.kt index cb0c11d1..b5de26b3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ContentUploadResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ContentUploadResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/DefaultContentUploadStateTracker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/DefaultContentUploadStateTracker.kt index 951c24cc..754f12bd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/DefaultContentUploadStateTracker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/DefaultContentUploadStateTracker.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/DefaultContentUrlResolver.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/DefaultContentUrlResolver.kt index 80f69f88..f7650564 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/DefaultContentUrlResolver.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/DefaultContentUrlResolver.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/FileUploader.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/FileUploader.kt index 4ddf394b..4fc1d67c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/FileUploader.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/FileUploader.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -32,7 +31,7 @@ import okhttp3.RequestBody.Companion.toRequestBody import okio.BufferedSink import okio.source import org.greenrobot.eventbus.EventBus -import org.matrix.android.sdk.api.extensions.tryThis +import org.matrix.android.sdk.api.extensions.tryOrNull import org.matrix.android.sdk.api.session.content.ContentUrlResolver import org.matrix.android.sdk.internal.di.Authenticated import org.matrix.android.sdk.internal.network.ProgressRequestBody @@ -96,7 +95,7 @@ internal class FileUploader @Inject constructor(@Authenticated inputStream.copyTo(it) } return uploadFile(workingFile, filename, mimeType, progressListener).also { - tryThis { workingFile.delete() } + tryOrNull { workingFile.delete() } } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ImageCompressor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ImageCompressor.kt index a125c0ae..6cf65b86 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ImageCompressor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ImageCompressor.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -66,16 +65,16 @@ internal class ImageCompressor @Inject constructor() { val orientation = exifInfo.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL) val matrix = Matrix() when (orientation) { - ExifInterface.ORIENTATION_ROTATE_270 -> matrix.postRotate(270f) - ExifInterface.ORIENTATION_ROTATE_180 -> matrix.postRotate(180f) - ExifInterface.ORIENTATION_ROTATE_90 -> matrix.postRotate(90f) + ExifInterface.ORIENTATION_ROTATE_270 -> matrix.postRotate(270f) + ExifInterface.ORIENTATION_ROTATE_180 -> matrix.postRotate(180f) + ExifInterface.ORIENTATION_ROTATE_90 -> matrix.postRotate(90f) ExifInterface.ORIENTATION_FLIP_HORIZONTAL -> matrix.preScale(-1f, 1f) - ExifInterface.ORIENTATION_FLIP_VERTICAL -> matrix.preScale(1f, -1f) - ExifInterface.ORIENTATION_TRANSPOSE -> { + ExifInterface.ORIENTATION_FLIP_VERTICAL -> matrix.preScale(1f, -1f) + ExifInterface.ORIENTATION_TRANSPOSE -> { matrix.preRotate(-90f) matrix.preScale(-1f, 1f) } - ExifInterface.ORIENTATION_TRANSVERSE -> { + ExifInterface.ORIENTATION_TRANSVERSE -> { matrix.preRotate(90f) matrix.preScale(-1f, 1f) } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ThumbnailExtractor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ThumbnailExtractor.kt index 05558fcf..8c3aad6a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ThumbnailExtractor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/ThumbnailExtractor.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/UploadContentWorker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/UploadContentWorker.kt index 6e70906d..4a30d6c1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/UploadContentWorker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/content/UploadContentWorker.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -19,12 +18,10 @@ package org.matrix.android.sdk.internal.session.content import android.content.Context import android.graphics.BitmapFactory -import androidx.work.CoroutineWorker import androidx.work.WorkerParameters import com.squareup.moshi.JsonClass -import org.matrix.android.sdk.api.extensions.tryThis +import org.matrix.android.sdk.api.extensions.tryOrNull import org.matrix.android.sdk.api.session.content.ContentAttachmentData -import org.matrix.android.sdk.api.session.events.model.Event import org.matrix.android.sdk.api.session.events.model.toContent import org.matrix.android.sdk.api.session.events.model.toModel import org.matrix.android.sdk.api.session.room.model.message.MessageAudioContent @@ -34,34 +31,40 @@ import org.matrix.android.sdk.api.session.room.model.message.MessageImageContent import org.matrix.android.sdk.api.session.room.model.message.MessageVideoContent import org.matrix.android.sdk.internal.crypto.attachments.MXEncryptedAttachments import org.matrix.android.sdk.internal.crypto.model.rest.EncryptedFileInfo +import org.matrix.android.sdk.internal.database.mapper.ContentMapper +import org.matrix.android.sdk.internal.database.mapper.asDomain import org.matrix.android.sdk.internal.network.ProgressRequestBody import org.matrix.android.sdk.internal.session.DefaultFileService +import org.matrix.android.sdk.internal.session.SessionComponent import org.matrix.android.sdk.internal.session.room.send.CancelSendTracker +import org.matrix.android.sdk.internal.session.room.send.LocalEchoIdentifiers +import org.matrix.android.sdk.internal.session.room.send.LocalEchoRepository import org.matrix.android.sdk.internal.session.room.send.MultipleEventSendingDispatcherWorker +import org.matrix.android.sdk.internal.worker.SessionSafeCoroutineWorker import org.matrix.android.sdk.internal.worker.SessionWorkerParams import org.matrix.android.sdk.internal.worker.WorkerParamsFactory -import org.matrix.android.sdk.internal.worker.getSessionComponent import timber.log.Timber import java.io.File import java.util.UUID import javax.inject.Inject -private data class NewImageAttributes( - val newWidth: Int?, - val newHeight: Int?, - val newFileSize: Int +private data class NewAttachmentAttributes( + val newWidth: Int? = null, + val newHeight: Int? = null, + val newFileSize: Long ) /** * Possible previous worker: None * Possible next worker : Always [MultipleEventSendingDispatcherWorker] */ -internal class UploadContentWorker(val context: Context, params: WorkerParameters) : CoroutineWorker(context, params) { +internal class UploadContentWorker(val context: Context, params: WorkerParameters) + : SessionSafeCoroutineWorker<UploadContentWorker.Params>(context, params, Params::class.java) { @JsonClass(generateAdapter = true) internal data class Params( override val sessionId: String, - val events: List<Event>, + val localEchoIds: List<LocalEchoIdentifiers>, val attachment: ContentAttachmentData, val isEncrypted: Boolean, val compressBeforeSending: Boolean, @@ -73,20 +76,14 @@ internal class UploadContentWorker(val context: Context, params: WorkerParameter @Inject lateinit var fileService: DefaultFileService @Inject lateinit var cancelSendTracker: CancelSendTracker @Inject lateinit var imageCompressor: ImageCompressor + @Inject lateinit var localEchoRepository: LocalEchoRepository - override suspend fun doWork(): Result { - val params = WorkerParamsFactory.fromData<Params>(inputData) - ?: return Result.success() - .also { Timber.e("Unable to parse work parameters") } + override fun injectWith(injector: SessionComponent) { + injector.inject(this) + } + override suspend fun doSafeWork(params: Params): Result { Timber.v("Starting upload media work with params $params") - - if (params.lastFailureMessage != null) { - // Transmit the error - return Result.success(inputData) - .also { Timber.e("Work cancelled due to input error from parent") } - } - // Just defensive code to ensure that we never have an uncaught exception that could break the queue return try { internalDoWork(params) @@ -96,11 +93,12 @@ internal class UploadContentWorker(val context: Context, params: WorkerParameter } } - private suspend fun internalDoWork(params: Params): Result { - val sessionComponent = getSessionComponent(params.sessionId) ?: return Result.success() - sessionComponent.inject(this) + override fun buildErrorParams(params: Params, message: String): Params { + return params.copy(lastFailureMessage = params.lastFailureMessage ?: message) + } - val allCancelled = params.events.all { cancelSendTracker.isCancelRequestedFor(it.eventId, it.roomId) } + private suspend fun internalDoWork(params: Params): Result { + val allCancelled = params.localEchoIds.all { cancelSendTracker.isCancelRequestedFor(it.eventId, it.roomId) } if (allCancelled) { // there is no point in uploading the image! return Result.success(inputData) @@ -147,7 +145,11 @@ internal class UploadContentWorker(val context: Context, params: WorkerParameter return try { val fileToUpload: File - var newImageAttributes: NewImageAttributes? = null + var newAttachmentAttributes = NewAttachmentAttributes( + params.attachment.width?.toInt(), + params.attachment.height?.toInt(), + params.attachment.size + ) if (attachment.type == ContentAttachmentData.Type.IMAGE && params.compressBeforeSending) { fileToUpload = imageCompressor.compress(context, workingFile, MAX_IMAGE_SIZE, MAX_IMAGE_SIZE) @@ -155,18 +157,21 @@ internal class UploadContentWorker(val context: Context, params: WorkerParameter // Get new Bitmap size compressedFile.inputStream().use { val options = BitmapFactory.Options().apply { inJustDecodeBounds = true } - val bitmap = BitmapFactory.decodeStream(it, null, options) - val fileSize = bitmap?.byteCount ?: 0 - newImageAttributes = NewImageAttributes( - options.outWidth, - options.outHeight, - fileSize + BitmapFactory.decodeStream(it, null, options) + newAttachmentAttributes = NewAttachmentAttributes( + newWidth = options.outWidth, + newHeight = options.outHeight, + newFileSize = compressedFile.length() ) } } .also { filesToDelete.add(it) } } else { fileToUpload = workingFile + // Fix: OpenableColumns.SIZE may return -1 or 0 + if (params.attachment.size <= 0) { + newAttachmentAttributes = newAttachmentAttributes.copy(newFileSize = fileToUpload.length()) + } } val contentUploadResponse = if (params.isEncrypted) { @@ -207,25 +212,18 @@ internal class UploadContentWorker(val context: Context, params: WorkerParameter uploadedFileEncryptedFileInfo, uploadThumbnailResult?.uploadedThumbnailUrl, uploadThumbnailResult?.uploadedThumbnailEncryptedFileInfo, - newImageAttributes) + newAttachmentAttributes) } catch (t: Throwable) { Timber.e(t, "## FileService: ERROR ${t.localizedMessage}") handleFailure(params, t) } } catch (e: Exception) { Timber.e(e, "## FileService: ERROR") - notifyTracker(params) { contentUploadStateTracker.setFailure(it, e) } - return Result.success( - WorkerParamsFactory.toData( - params.copy( - lastFailureMessage = e.localizedMessage - ) - ) - ) + return handleFailure(params, e) } finally { // Delete all temporary files filesToDelete.forEach { - tryThis { it.delete() } + tryOrNull { it.delete() } } } } @@ -289,58 +287,61 @@ internal class UploadContentWorker(val context: Context, params: WorkerParameter ) } - private fun handleSuccess(params: Params, - attachmentUrl: String, - encryptedFileInfo: EncryptedFileInfo?, - thumbnailUrl: String?, - thumbnailEncryptedFileInfo: EncryptedFileInfo?, - newImageAttributes: NewImageAttributes?): Result { + private suspend fun handleSuccess(params: Params, + attachmentUrl: String, + encryptedFileInfo: EncryptedFileInfo?, + thumbnailUrl: String?, + thumbnailEncryptedFileInfo: EncryptedFileInfo?, + newAttachmentAttributes: NewAttachmentAttributes): Result { notifyTracker(params) { contentUploadStateTracker.setSuccess(it) } + params.localEchoIds.forEach { + updateEvent(it.eventId, attachmentUrl, encryptedFileInfo, thumbnailUrl, thumbnailEncryptedFileInfo, newAttachmentAttributes) + } - val updatedEvents = params.events - .map { - updateEvent(it, attachmentUrl, encryptedFileInfo, thumbnailUrl, thumbnailEncryptedFileInfo, newImageAttributes) - } - - val sendParams = MultipleEventSendingDispatcherWorker.Params(params.sessionId, updatedEvents, params.isEncrypted) + val sendParams = MultipleEventSendingDispatcherWorker.Params( + sessionId = params.sessionId, + localEchoIds = params.localEchoIds, + isEncrypted = params.isEncrypted + ) return Result.success(WorkerParamsFactory.toData(sendParams)).also { Timber.v("## handleSuccess $attachmentUrl, work is stopped $isStopped") } } - private fun updateEvent(event: Event, - url: String, - encryptedFileInfo: EncryptedFileInfo?, - thumbnailUrl: String? = null, - thumbnailEncryptedFileInfo: EncryptedFileInfo?, - newImageAttributes: NewImageAttributes?): Event { - val messageContent: MessageContent = event.content.toModel() ?: return event - val updatedContent = when (messageContent) { - is MessageImageContent -> messageContent.update(url, encryptedFileInfo, newImageAttributes) - is MessageVideoContent -> messageContent.update(url, encryptedFileInfo, thumbnailUrl, thumbnailEncryptedFileInfo) - is MessageFileContent -> messageContent.update(url, encryptedFileInfo) - is MessageAudioContent -> messageContent.update(url, encryptedFileInfo) - else -> messageContent + private suspend fun updateEvent(eventId: String, + url: String, + encryptedFileInfo: EncryptedFileInfo?, + thumbnailUrl: String? = null, + thumbnailEncryptedFileInfo: EncryptedFileInfo?, + newAttachmentAttributes: NewAttachmentAttributes) { + localEchoRepository.updateEcho(eventId) { _, event -> + val messageContent: MessageContent? = event.asDomain().content.toModel() + val updatedContent = when (messageContent) { + is MessageImageContent -> messageContent.update(url, encryptedFileInfo, newAttachmentAttributes) + is MessageVideoContent -> messageContent.update(url, encryptedFileInfo, thumbnailUrl, thumbnailEncryptedFileInfo, + newAttachmentAttributes.newFileSize) + is MessageFileContent -> messageContent.update(url, encryptedFileInfo, newAttachmentAttributes.newFileSize) + is MessageAudioContent -> messageContent.update(url, encryptedFileInfo, newAttachmentAttributes.newFileSize) + else -> messageContent + } + event.content = ContentMapper.map(updatedContent.toContent()) } - return event.copy(content = updatedContent.toContent()) } private fun notifyTracker(params: Params, function: (String) -> Unit) { - params.events - .mapNotNull { it.eventId } - .forEach { eventId -> function.invoke(eventId) } + params.localEchoIds.forEach { function.invoke(it.eventId) } } private fun MessageImageContent.update(url: String, encryptedFileInfo: EncryptedFileInfo?, - newImageAttributes: NewImageAttributes?): MessageImageContent { + newAttachmentAttributes: NewAttachmentAttributes?): MessageImageContent { return copy( url = if (encryptedFileInfo == null) url else null, encryptedFileInfo = encryptedFileInfo?.copy(url = url), info = info?.copy( - width = newImageAttributes?.newWidth ?: info.width, - height = newImageAttributes?.newHeight ?: info.height, - size = newImageAttributes?.newFileSize ?: info.size + width = newAttachmentAttributes?.newWidth ?: info.width, + height = newAttachmentAttributes?.newHeight ?: info.height, + size = newAttachmentAttributes?.newFileSize?.toInt() ?: info.size ) ) } @@ -348,30 +349,36 @@ internal class UploadContentWorker(val context: Context, params: WorkerParameter private fun MessageVideoContent.update(url: String, encryptedFileInfo: EncryptedFileInfo?, thumbnailUrl: String?, - thumbnailEncryptedFileInfo: EncryptedFileInfo?): MessageVideoContent { + thumbnailEncryptedFileInfo: EncryptedFileInfo?, + size: Long): MessageVideoContent { return copy( url = if (encryptedFileInfo == null) url else null, encryptedFileInfo = encryptedFileInfo?.copy(url = url), videoInfo = videoInfo?.copy( thumbnailUrl = if (thumbnailEncryptedFileInfo == null) thumbnailUrl else null, - thumbnailFile = thumbnailEncryptedFileInfo?.copy(url = thumbnailUrl) + thumbnailFile = thumbnailEncryptedFileInfo?.copy(url = thumbnailUrl), + size = size ) ) } private fun MessageFileContent.update(url: String, - encryptedFileInfo: EncryptedFileInfo?): MessageFileContent { + encryptedFileInfo: EncryptedFileInfo?, + size: Long): MessageFileContent { return copy( url = if (encryptedFileInfo == null) url else null, - encryptedFileInfo = encryptedFileInfo?.copy(url = url) + encryptedFileInfo = encryptedFileInfo?.copy(url = url), + info = info?.copy(size = size) ) } private fun MessageAudioContent.update(url: String, - encryptedFileInfo: EncryptedFileInfo?): MessageAudioContent { + encryptedFileInfo: EncryptedFileInfo?, + size: Long): MessageAudioContent { return copy( url = if (encryptedFileInfo == null) url else null, - encryptedFileInfo = encryptedFileInfo?.copy(url = url) + encryptedFileInfo = encryptedFileInfo?.copy(url = url), + audioInfo = audioInfo?.copy(size = size) ) } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/download/DefaultContentDownloadStateTracker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/download/DefaultContentDownloadStateTracker.kt index c4ba95af..3a02d00a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/download/DefaultContentDownloadStateTracker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/download/DefaultContentDownloadStateTracker.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -19,7 +18,7 @@ package org.matrix.android.sdk.internal.session.download import android.os.Handler import android.os.Looper -import org.matrix.android.sdk.api.extensions.tryThis +import org.matrix.android.sdk.api.extensions.tryOrNull import org.matrix.android.sdk.api.session.file.ContentDownloadStateTracker import org.matrix.android.sdk.internal.session.SessionScope import timber.log.Timber @@ -76,7 +75,7 @@ internal class DefaultContentDownloadStateTracker @Inject constructor() : Progre Timber.v("## DL Progress Error code:$errorCode") updateState(url, ContentDownloadStateTracker.State.Failure(errorCode)) listeners[url]?.forEach { - tryThis { it.onDownloadStateUpdate(ContentDownloadStateTracker.State.Failure(errorCode)) } + tryOrNull { it.onDownloadStateUpdate(ContentDownloadStateTracker.State.Failure(errorCode)) } } } } @@ -84,7 +83,7 @@ internal class DefaultContentDownloadStateTracker @Inject constructor() : Progre private fun updateState(url: String, state: ContentDownloadStateTracker.State) { states[url] = state listeners[url]?.forEach { - tryThis { it.onDownloadStateUpdate(state) } + tryOrNull { it.onDownloadStateUpdate(state) } } } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/download/DownloadProgressInterceptor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/download/DownloadProgressInterceptor.kt index d8ef0c33..e357d443 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/download/DownloadProgressInterceptor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/download/DownloadProgressInterceptor.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/download/ProgressResponseBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/download/ProgressResponseBody.kt index 8bfe7486..f4cb1a80 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/download/ProgressResponseBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/download/ProgressResponseBody.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/DefaultFilterRepository.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/DefaultFilterRepository.kt index e07778b5..095c39a4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/DefaultFilterRepository.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/DefaultFilterRepository.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/DefaultFilterService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/DefaultFilterService.kt index d120312a..9a16b8fd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/DefaultFilterService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/DefaultFilterService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/DefaultSaveFilterTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/DefaultSaveFilterTask.kt index b5c214db..69ced92f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/DefaultSaveFilterTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/DefaultSaveFilterTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/EventFilter.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/EventFilter.kt index fdfda096..1be62304 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/EventFilter.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/EventFilter.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/Filter.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/Filter.kt index 4c4a4d61..f1414e90 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/Filter.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/Filter.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterApi.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterApi.kt index 8a45a6d6..285bd51d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterApi.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterApi.kt @@ -1,6 +1,5 @@ /* * Copyright 2018 Matthias Kesler - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterFactory.kt index 12764248..2eac0a50 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterFactory.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterModule.kt index f5052d57..8531bed1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterRepository.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterRepository.kt index b19478c4..df615395 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterRepository.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterRepository.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterResponse.kt index 951b7e8c..b2d54292 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterUtil.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterUtil.kt index 3a030cc4..bd7f0ad4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterUtil.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/FilterUtil.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/RoomEventFilter.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/RoomEventFilter.kt index cefa9e8e..d6089f9f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/RoomEventFilter.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/RoomEventFilter.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/RoomFilter.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/RoomFilter.kt index c0694aee..fbf22fde 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/RoomFilter.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/filter/RoomFilter.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/DefaultGetGroupDataTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/DefaultGetGroupDataTask.kt index c91bd381..dd703a5e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/DefaultGetGroupDataTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/DefaultGetGroupDataTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/DefaultGroup.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/DefaultGroup.kt index 3fbed5d9..01b57767 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/DefaultGroup.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/DefaultGroup.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/DefaultGroupService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/DefaultGroupService.kt index 25c9d1df..425d6a9a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/DefaultGroupService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/DefaultGroupService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/GetGroupDataWorker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/GetGroupDataWorker.kt index 7a04f076..d6b9363d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/GetGroupDataWorker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/GetGroupDataWorker.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,20 +17,19 @@ package org.matrix.android.sdk.internal.session.group import android.content.Context -import androidx.work.CoroutineWorker import androidx.work.WorkerParameters import com.squareup.moshi.JsonClass +import org.matrix.android.sdk.internal.session.SessionComponent +import org.matrix.android.sdk.internal.worker.SessionSafeCoroutineWorker import org.matrix.android.sdk.internal.worker.SessionWorkerParams -import org.matrix.android.sdk.internal.worker.WorkerParamsFactory -import org.matrix.android.sdk.internal.worker.getSessionComponent -import timber.log.Timber import javax.inject.Inject /** * Possible previous worker: None * Possible next worker : None */ -internal class GetGroupDataWorker(context: Context, params: WorkerParameters) : CoroutineWorker(context, params) { +internal class GetGroupDataWorker(context: Context, params: WorkerParameters) + : SessionSafeCoroutineWorker<GetGroupDataWorker.Params>(context, params, Params::class.java) { @JsonClass(generateAdapter = true) internal data class Params( @@ -41,13 +39,11 @@ internal class GetGroupDataWorker(context: Context, params: WorkerParameters) : @Inject lateinit var getGroupDataTask: GetGroupDataTask - override suspend fun doWork(): Result { - val params = WorkerParamsFactory.fromData<Params>(inputData) - ?: return Result.failure() - .also { Timber.e("Unable to parse work parameters") } + override fun injectWith(injector: SessionComponent) { + injector.inject(this) + } - val sessionComponent = getSessionComponent(params.sessionId) ?: return Result.success() - sessionComponent.inject(this) + override suspend fun doSafeWork(params: Params): Result { return runCatching { getGroupDataTask.execute(GetGroupDataTask.Params.FetchAllActive) }.fold( @@ -55,4 +51,8 @@ internal class GetGroupDataWorker(context: Context, params: WorkerParameters) : { Result.retry() } ) } + + override fun buildErrorParams(params: Params, message: String): Params { + return params.copy(lastFailureMessage = params.lastFailureMessage ?: message) + } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/GroupAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/GroupAPI.kt index f5156017..00411257 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/GroupAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/GroupAPI.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/GroupFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/GroupFactory.kt index d9566fe5..31450763 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/GroupFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/GroupFactory.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/GroupModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/GroupModule.kt index b47bb0a5..4dd61aa9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/GroupModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/GroupModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupProfile.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupProfile.kt index 9990e3d8..30eeb74b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupProfile.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupProfile.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupRoom.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupRoom.kt index c93878a0..86e64f67 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupRoom.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupRoom.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupRooms.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupRooms.kt index f7e36ad8..9e5d1822 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupRooms.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupRooms.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupSummaryResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupSummaryResponse.kt index a11ba1ec..bf287e98 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupSummaryResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupSummaryResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupSummaryRoomsSection.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupSummaryRoomsSection.kt index 428caaa2..8f9b29ed 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupSummaryRoomsSection.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupSummaryRoomsSection.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupSummaryUser.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupSummaryUser.kt index f61160fb..121ae6fd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupSummaryUser.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupSummaryUser.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupSummaryUsersSection.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupSummaryUsersSection.kt index a8ade1ab..799aa8a5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupSummaryUsersSection.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupSummaryUsersSection.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupUser.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupUser.kt index d9a9631e..a54c6653 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupUser.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupUser.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupUsers.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupUsers.kt index 1ce28375..9dd13391 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupUsers.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/group/model/GroupUsers.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/CapabilitiesAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/CapabilitiesAPI.kt index 33ebf3e5..39b6608d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/CapabilitiesAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/CapabilitiesAPI.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/DefaultGetHomeServerCapabilitiesTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/DefaultGetHomeServerCapabilitiesTask.kt index 7e1ad600..8d289dfd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/DefaultGetHomeServerCapabilitiesTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/DefaultGetHomeServerCapabilitiesTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/DefaultHomeServerCapabilitiesService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/DefaultHomeServerCapabilitiesService.kt index 0989d6c1..27396aac 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/DefaultHomeServerCapabilitiesService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/DefaultHomeServerCapabilitiesService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/GetCapabilitiesResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/GetCapabilitiesResult.kt index 54d8cc78..ab029a0f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/GetCapabilitiesResult.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/GetCapabilitiesResult.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/GetUploadCapabilitiesResult.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/GetUploadCapabilitiesResult.kt index 43395aae..92903bf9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/GetUploadCapabilitiesResult.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/GetUploadCapabilitiesResult.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/HomeServerCapabilitiesModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/HomeServerCapabilitiesModule.kt index 240839cf..2a1573dd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/HomeServerCapabilitiesModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/HomeServerCapabilitiesModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/HomeServerPinger.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/HomeServerPinger.kt index dee73f08..522097ac 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/HomeServerPinger.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/homeserver/HomeServerPinger.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/DefaultIdentityService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/DefaultIdentityService.kt index d3a10764..20f8b7f8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/DefaultIdentityService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/DefaultIdentityService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -23,7 +22,7 @@ import androidx.lifecycle.LifecycleRegistry import dagger.Lazy import org.matrix.android.sdk.api.MatrixCallback import org.matrix.android.sdk.api.auth.data.SessionParams -import org.matrix.android.sdk.api.extensions.tryThis +import org.matrix.android.sdk.api.extensions.tryOrNull import org.matrix.android.sdk.api.failure.Failure import org.matrix.android.sdk.api.failure.MatrixError import org.matrix.android.sdk.api.session.events.model.toModel @@ -113,7 +112,7 @@ internal class DefaultIdentityService @Inject constructor( // Url has changed, we have to reset our store, update internal configuration and notify listeners identityStore.setUrl(baseUrl) updateIdentityAPI(baseUrl) - listeners.toList().forEach { tryThis { it.onIdentityServerChange() } } + listeners.toList().forEach { tryOrNull { it.onIdentityServerChange() } } } } @@ -236,7 +235,7 @@ internal class DefaultIdentityService @Inject constructor( private suspend fun updateAccountData(url: String?) { // Also notify the listener withContext(coroutineDispatchers.main) { - listeners.toList().forEach { tryThis { it.onIdentityServerChange() } } + listeners.toList().forEach { tryOrNull { it.onIdentityServerChange() } } } updateUserAccountDataTask.execute(UpdateUserAccountDataTask.IdentityParams( diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/EnsureIdentityToken.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/EnsureIdentityToken.kt index 838b9975..5e143440 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/EnsureIdentityToken.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/EnsureIdentityToken.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityAPI.kt index f2c889f0..7e2702e7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityAPI.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityAccessTokenProvider.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityAccessTokenProvider.kt index cf9ba0ee..492c3a5d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityAccessTokenProvider.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityAccessTokenProvider.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityApiProvider.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityApiProvider.kt index 09922cb4..b2e1f2d7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityApiProvider.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityApiProvider.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityAuthAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityAuthAPI.kt index 7ebe775c..fd6e1163 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityAuthAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityAuthAPI.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityBulkLookupTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityBulkLookupTask.kt index 45d7d48a..3b0d514c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityBulkLookupTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityBulkLookupTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityDisconnectTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityDisconnectTask.kt index 0e68689c..50e24f12 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityDisconnectTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityDisconnectTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityModule.kt index 0c35eef6..1bb57b47 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityModule.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityPingTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityPingTask.kt index 6994ef1b..b0d33811 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityPingTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityPingTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityRegisterTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityRegisterTask.kt index bba6f991..19215f35 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityRegisterTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityRegisterTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityRequestTokenForBindingTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityRequestTokenForBindingTask.kt index 3155e199..bd4cd763 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityRequestTokenForBindingTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityRequestTokenForBindingTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentitySubmitTokenForBindingTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentitySubmitTokenForBindingTask.kt index 7b25986a..ebc71c71 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentitySubmitTokenForBindingTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentitySubmitTokenForBindingTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityTaskHelper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityTaskHelper.kt index 52f29c85..d3aecce3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityTaskHelper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityTaskHelper.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/data/IdentityData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/data/IdentityData.kt index 4574d9d5..0f04f2fe 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/data/IdentityData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/data/IdentityData.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/data/IdentityPendingBinding.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/data/IdentityPendingBinding.kt index 85bf65d7..41988a4e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/data/IdentityPendingBinding.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/data/IdentityPendingBinding.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/data/IdentityStore.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/data/IdentityStore.kt index 61334f18..3a905833 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/data/IdentityStore.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/data/IdentityStore.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityDataEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityDataEntity.kt index 41645bc0..cc03465c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityDataEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityDataEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityDataEntityQuery.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityDataEntityQuery.kt index 1c612d6b..062c28ea 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityDataEntityQuery.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityDataEntityQuery.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityMapper.kt index 4b99ba17..98207f1b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityPendingBindingEntity.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityPendingBindingEntity.kt index 94a359f4..be68e17a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityPendingBindingEntity.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityPendingBindingEntity.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityPendingBindingEntityQuery.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityPendingBindingEntityQuery.kt index 30de96e5..aa2f4dd5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityPendingBindingEntityQuery.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityPendingBindingEntityQuery.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityRealmModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityRealmModule.kt index 85ea903a..1f2cfad3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityRealmModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/IdentityRealmModule.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/RealmIdentityStore.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/RealmIdentityStore.kt index 244f09f0..0352e9b9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/RealmIdentityStore.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/db/RealmIdentityStore.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityAccountResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityAccountResponse.kt index f23c4932..5d01b9b7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityAccountResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityAccountResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityHashDetailResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityHashDetailResponse.kt index 04ed62bd..306e4230 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityHashDetailResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityHashDetailResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityLookUpParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityLookUpParams.kt index f737e474..9742506c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityLookUpParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityLookUpParams.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityLookUpResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityLookUpResponse.kt index 0a274ebe..19c1835d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityLookUpResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityLookUpResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityRegisterResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityRegisterResponse.kt index 1769b365..ad7b3f65 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityRegisterResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityRegisterResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityRequestOwnershipParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityRequestOwnershipParams.kt index bd263e1d..c6c55131 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityRequestOwnershipParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityRequestOwnershipParams.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityRequestTokenBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityRequestTokenBody.kt index b93a3f43..3c7e997c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityRequestTokenBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityRequestTokenBody.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityRequestTokenResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityRequestTokenResponse.kt index 5f4209ca..513c5eaa 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityRequestTokenResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/model/IdentityRequestTokenResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/AllowedWidgetsContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/AllowedWidgetsContent.kt index 5ea6e4d4..8d0e8c93 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/AllowedWidgetsContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/AllowedWidgetsContent.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/DefaultIntegrationManagerService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/DefaultIntegrationManagerService.kt index 4f118592..753e865b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/DefaultIntegrationManagerService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/DefaultIntegrationManagerService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationManager.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationManager.kt index 0f7b3f85..df4e4074 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationManager.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationManager.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationManagerConfigExtractor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationManagerConfigExtractor.kt index 78edc59f..f7a8b685 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationManagerConfigExtractor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationManagerConfigExtractor.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationManagerModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationManagerModule.kt index fb7f835d..eb841823 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationManagerModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationManagerModule.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationManagerWidgetData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationManagerWidgetData.kt index c592237a..77423d44 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationManagerWidgetData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationManagerWidgetData.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationProvisioningContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationProvisioningContent.kt index e48a6fd8..9a8b8076 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationProvisioningContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/integrationmanager/IntegrationProvisioningContent.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/notification/DefaultPushRuleService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/notification/DefaultPushRuleService.kt index ffe11ee0..217da269 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/notification/DefaultPushRuleService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/notification/DefaultPushRuleService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/notification/ProcessEventForPushTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/notification/ProcessEventForPushTask.kt index a0667cc4..7763251a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/notification/ProcessEventForPushTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/notification/ProcessEventForPushTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/openid/GetOpenIdTokenTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/openid/GetOpenIdTokenTask.kt index 3da6fdca..5d7cfd17 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/openid/GetOpenIdTokenTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/openid/GetOpenIdTokenTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/openid/OpenIdAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/openid/OpenIdAPI.kt index e56e2e63..4614d824 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/openid/OpenIdAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/openid/OpenIdAPI.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/openid/OpenIdModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/openid/OpenIdModule.kt index 60ee7fb7..a462c29f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/openid/OpenIdModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/openid/OpenIdModule.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/openid/RequestOpenIdTokenResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/openid/RequestOpenIdTokenResponse.kt index 8103efb8..3bf84bfd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/openid/RequestOpenIdTokenResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/openid/RequestOpenIdTokenResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/permalinks/DefaultPermalinkService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/permalinks/DefaultPermalinkService.kt index cef1fce0..7db9d8f6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/permalinks/DefaultPermalinkService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/permalinks/DefaultPermalinkService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/permalinks/PermalinkFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/permalinks/PermalinkFactory.kt index 3ec8fe83..71a6e224 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/permalinks/PermalinkFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/permalinks/PermalinkFactory.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AccountThreePidsResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AccountThreePidsResponse.kt index 185294fd..0a792397 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AccountThreePidsResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AccountThreePidsResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddEmailBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddEmailBody.kt index ff81ad6a..f6fa7051 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddEmailBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddEmailBody.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddEmailResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddEmailResponse.kt index 8654d7c5..81f5b7c6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddEmailResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddEmailResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddMsisdnBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddMsisdnBody.kt index 64c53f67..1695e42e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddMsisdnBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddMsisdnBody.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddMsisdnResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddMsisdnResponse.kt index b4c137b3..347522ac 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddMsisdnResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddMsisdnResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddThreePidTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddThreePidTask.kt index c844c8ca..2e8a0b38 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddThreePidTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/AddThreePidTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -42,7 +41,7 @@ internal class DefaultAddThreePidTask @Inject constructor( override suspend fun execute(params: Params) { when (params.threePid) { - is ThreePid.Email -> addEmail(params.threePid) + is ThreePid.Email -> addEmail(params.threePid) is ThreePid.Msisdn -> addMsisdn(params.threePid) } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/BindThreePidBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/BindThreePidBody.kt index dff246e6..fa45ae99 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/BindThreePidBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/BindThreePidBody.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/BindThreePidsTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/BindThreePidsTask.kt index 52fbcb51..dbe6bff5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/BindThreePidsTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/BindThreePidsTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/DefaultProfileService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/DefaultProfileService.kt index 97212a86..8d092772 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/DefaultProfileService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/DefaultProfileService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/DeleteThreePidBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/DeleteThreePidBody.kt index e7d4568f..220ef7d2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/DeleteThreePidBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/DeleteThreePidBody.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/DeleteThreePidResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/DeleteThreePidResponse.kt index 3817277a..dea3e302 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/DeleteThreePidResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/DeleteThreePidResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/DeleteThreePidTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/DeleteThreePidTask.kt index 69ff7d82..3f43cbe5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/DeleteThreePidTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/DeleteThreePidTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/FinalizeAddThreePidBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/FinalizeAddThreePidBody.kt index 73e9b39c..4e46dd09 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/FinalizeAddThreePidBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/FinalizeAddThreePidBody.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/FinalizeAddingThreePidTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/FinalizeAddingThreePidTask.kt index 3886b926..0b1bf882 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/FinalizeAddingThreePidTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/FinalizeAddingThreePidTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/GetProfileInfoTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/GetProfileInfoTask.kt index 7889dbf2..5f1f621d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/GetProfileInfoTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/GetProfileInfoTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/PendingThreePid.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/PendingThreePid.kt index af7e217d..d309930c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/PendingThreePid.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/PendingThreePid.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/PendingThreePidMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/PendingThreePidMapper.kt index b1877027..0b1ed4c2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/PendingThreePidMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/PendingThreePidMapper.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/ProfileAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/ProfileAPI.kt index 4e2f518c..7794f578 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/ProfileAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/ProfileAPI.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/ProfileModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/ProfileModule.kt index ae7ae7a6..3dec63f1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/ProfileModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/ProfileModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/RefreshUserThreePidsTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/RefreshUserThreePidsTask.kt index dcc0db8a..5dd092cc 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/RefreshUserThreePidsTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/RefreshUserThreePidsTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -23,6 +22,7 @@ import org.matrix.android.sdk.internal.di.SessionDatabase import org.matrix.android.sdk.internal.network.executeRequest import org.matrix.android.sdk.internal.task.Task import org.greenrobot.eventbus.EventBus +import org.matrix.android.sdk.internal.util.awaitTransaction import timber.log.Timber import javax.inject.Inject @@ -39,7 +39,7 @@ internal class DefaultRefreshUserThreePidsTask @Inject constructor(private val p Timber.d("Get ${accountThreePidsResponse.threePids?.size} threePids") // Store the list in DB - monarchy.writeAsync { realm -> + monarchy.awaitTransaction { realm -> realm.where(UserThreePidEntity::class.java).findAll().deleteAllFromRealm() accountThreePidsResponse.threePids?.forEach { val entity = UserThreePidEntity( diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/SetAvatarUrlBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/SetAvatarUrlBody.kt index 25d995fb..57d6c722 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/SetAvatarUrlBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/SetAvatarUrlBody.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/SetAvatarUrlTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/SetAvatarUrlTask.kt index 1eaedb02..4b863c20 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/SetAvatarUrlTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/SetAvatarUrlTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/SetDisplayNameBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/SetDisplayNameBody.kt index 306aca6f..47b8f23f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/SetDisplayNameBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/SetDisplayNameBody.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/SetDisplayNameTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/SetDisplayNameTask.kt index 66406a48..1fa84f98 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/SetDisplayNameTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/SetDisplayNameTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/ThirdPartyIdentifier.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/ThirdPartyIdentifier.kt index b7c756cb..80c41d1a 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/ThirdPartyIdentifier.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/ThirdPartyIdentifier.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/UnbindThreePidBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/UnbindThreePidBody.kt index 1a912458..f91eb412 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/UnbindThreePidBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/UnbindThreePidBody.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/UnbindThreePidResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/UnbindThreePidResponse.kt index df31efdb..1ebaf783 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/UnbindThreePidResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/UnbindThreePidResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/UnbindThreePidsTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/UnbindThreePidsTask.kt index b08c2837..96b0717e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/UnbindThreePidsTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/UnbindThreePidsTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/ValidateSmsCodeTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/ValidateSmsCodeTask.kt index b11955b9..36804e06 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/ValidateSmsCodeTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/profile/ValidateSmsCodeTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/AddHttpPusherWorker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/AddHttpPusherWorker.kt index b7f1fb2b..31c5cda5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/AddHttpPusherWorker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/AddHttpPusherWorker.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,10 +16,10 @@ package org.matrix.android.sdk.internal.session.pushers import android.content.Context -import androidx.work.CoroutineWorker import androidx.work.WorkerParameters import com.squareup.moshi.JsonClass import com.zhuinden.monarchy.Monarchy +import org.greenrobot.eventbus.EventBus import org.matrix.android.sdk.api.failure.Failure import org.matrix.android.sdk.api.session.pushers.PusherState import org.matrix.android.sdk.internal.database.mapper.toEntity @@ -28,16 +27,14 @@ import org.matrix.android.sdk.internal.database.model.PusherEntity import org.matrix.android.sdk.internal.database.query.where import org.matrix.android.sdk.internal.di.SessionDatabase import org.matrix.android.sdk.internal.network.executeRequest +import org.matrix.android.sdk.internal.session.SessionComponent import org.matrix.android.sdk.internal.util.awaitTransaction +import org.matrix.android.sdk.internal.worker.SessionSafeCoroutineWorker import org.matrix.android.sdk.internal.worker.SessionWorkerParams -import org.matrix.android.sdk.internal.worker.WorkerParamsFactory -import org.matrix.android.sdk.internal.worker.getSessionComponent -import org.greenrobot.eventbus.EventBus -import timber.log.Timber import javax.inject.Inject internal class AddHttpPusherWorker(context: Context, params: WorkerParameters) - : CoroutineWorker(context, params) { + : SessionSafeCoroutineWorker<AddHttpPusherWorker.Params>(context, params, Params::class.java) { @JsonClass(generateAdapter = true) internal data class Params( @@ -50,14 +47,11 @@ internal class AddHttpPusherWorker(context: Context, params: WorkerParameters) @Inject @SessionDatabase lateinit var monarchy: Monarchy @Inject lateinit var eventBus: EventBus - override suspend fun doWork(): Result { - val params = WorkerParamsFactory.fromData<Params>(inputData) - ?: return Result.failure() - .also { Timber.e("Unable to parse work parameters") } - - val sessionComponent = getSessionComponent(params.sessionId) ?: return Result.success() - sessionComponent.inject(this) + override fun injectWith(injector: SessionComponent) { + injector.inject(this) + } + override suspend fun doSafeWork(params: Params): Result { val pusher = params.pusher if (pusher.pushKey.isBlank()) { @@ -82,6 +76,10 @@ internal class AddHttpPusherWorker(context: Context, params: WorkerParameters) } } + override fun buildErrorParams(params: Params, message: String): Params { + return params.copy(lastFailureMessage = params.lastFailureMessage ?: message) + } + private suspend fun setPusher(pusher: JsonPusher) { executeRequest<Unit>(eventBus) { apiCall = pushersAPI.setPusher(pusher) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/AddPushRuleTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/AddPushRuleTask.kt index 1c8f11a1..28ac5db5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/AddPushRuleTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/AddPushRuleTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/DefaultConditionResolver.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/DefaultConditionResolver.kt index 0d3ad340..84a05067 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/DefaultConditionResolver.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/DefaultConditionResolver.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/DefaultPushersService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/DefaultPushersService.kt index 3ef46785..e239182b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/DefaultPushersService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/DefaultPushersService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -29,6 +28,7 @@ import org.matrix.android.sdk.internal.database.query.where import org.matrix.android.sdk.internal.di.SessionDatabase import org.matrix.android.sdk.internal.di.SessionId import org.matrix.android.sdk.internal.di.WorkManagerProvider +import org.matrix.android.sdk.internal.session.pushers.gateway.PushGatewayNotifyTask import org.matrix.android.sdk.internal.task.TaskExecutor import org.matrix.android.sdk.internal.task.configureWith import org.matrix.android.sdk.internal.worker.WorkerParamsFactory @@ -42,10 +42,23 @@ internal class DefaultPushersService @Inject constructor( @SessionDatabase private val monarchy: Monarchy, @SessionId private val sessionId: String, private val getPusherTask: GetPushersTask, + private val pushGatewayNotifyTask: PushGatewayNotifyTask, private val removePusherTask: RemovePusherTask, private val taskExecutor: TaskExecutor ) : PushersService { + override fun testPush(url: String, + appId: String, + pushkey: String, + eventId: String, + callback: MatrixCallback<Unit>): Cancelable { + return pushGatewayNotifyTask + .configureWith(PushGatewayNotifyTask.Params(url, appId, pushkey, eventId)) { + this.callback = callback + } + .executeBy(taskExecutor) + } + override fun refreshPushers() { getPusherTask .configureWith() diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/GetPushRulesTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/GetPushRulesTask.kt index de96db01..0c532ced 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/GetPushRulesTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/GetPushRulesTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/GetPushersResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/GetPushersResponse.kt index a36705cc..d8f0ce12 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/GetPushersResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/GetPushersResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/GetPushersTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/GetPushersTask.kt index bad50755..39e970f4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/GetPushersTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/GetPushersTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/JsonPusher.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/JsonPusher.kt index 89dae0c7..a594675e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/JsonPusher.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/JsonPusher.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/JsonPusherData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/JsonPusherData.kt index d2520a91..c8d4d77f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/JsonPusherData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/JsonPusherData.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/PushRulesApi.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/PushRulesApi.kt index 166e8ac3..cbcb7d2b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/PushRulesApi.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/PushRulesApi.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/PushersAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/PushersAPI.kt index 6ad70db5..ed4fb73e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/PushersAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/PushersAPI.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/PushersModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/PushersModule.kt index 9569574f..4030c635 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/PushersModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/PushersModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -26,6 +25,8 @@ import org.matrix.android.sdk.api.session.pushers.PushersService import org.matrix.android.sdk.internal.session.notification.DefaultProcessEventForPushTask import org.matrix.android.sdk.internal.session.notification.DefaultPushRuleService import org.matrix.android.sdk.internal.session.notification.ProcessEventForPushTask +import org.matrix.android.sdk.internal.session.pushers.gateway.DefaultPushGatewayNotifyTask +import org.matrix.android.sdk.internal.session.pushers.gateway.PushGatewayNotifyTask import org.matrix.android.sdk.internal.session.room.notification.DefaultSetRoomNotificationStateTask import org.matrix.android.sdk.internal.session.room.notification.SetRoomNotificationStateTask import retrofit2.Retrofit @@ -87,4 +88,7 @@ internal abstract class PushersModule { @Binds abstract fun bindProcessEventForPushTask(task: DefaultProcessEventForPushTask): ProcessEventForPushTask + + @Binds + abstract fun bindPushGatewayNotifyTask(task: DefaultPushGatewayNotifyTask): PushGatewayNotifyTask } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/RemovePushRuleTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/RemovePushRuleTask.kt index cb46c134..2fc97cf0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/RemovePushRuleTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/RemovePushRuleTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/RemovePusherTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/RemovePusherTask.kt index cf8cd1e1..1f108637 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/RemovePusherTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/RemovePusherTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/SavePushRulesTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/SavePushRulesTask.kt index 7761544d..6ba769a3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/SavePushRulesTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/SavePushRulesTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/UpdatePushRuleActionsTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/UpdatePushRuleActionsTask.kt index d68888a3..c2dca8a9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/UpdatePushRuleActionsTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/UpdatePushRuleActionsTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/UpdatePushRuleEnableStatusTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/UpdatePushRuleEnableStatusTask.kt index 2f9ac3ed..4100071c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/UpdatePushRuleEnableStatusTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/UpdatePushRuleEnableStatusTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayAPI.kt new file mode 100644 index 00000000..d95587fc --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayAPI.kt @@ -0,0 +1,31 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.matrix.android.sdk.internal.session.pushers.gateway + +import org.matrix.android.sdk.internal.network.NetworkConstants +import retrofit2.Call +import retrofit2.http.Body +import retrofit2.http.POST + +internal interface PushGatewayAPI { + /** + * Ask the Push Gateway to send a push to the current device. + * + * Ref: https://matrix.org/docs/spec/push_gateway/r0.1.1#post-matrix-push-v1-notify + */ + @POST(NetworkConstants.URI_PUSH_GATEWAY_PREFIX_PATH + "notify") + fun notify(@Body body: PushGatewayNotifyBody): Call<PushGatewayNotifyResponse> +} diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayDevice.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayDevice.kt new file mode 100644 index 00000000..5490fed7 --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayDevice.kt @@ -0,0 +1,34 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.pushers.gateway + +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) +internal data class PushGatewayDevice( + /** + * Required. The app_id given when the pusher was created. + */ + @Json(name = "app_id") + val appId: String, + /** + * Required. The pushkey given when the pusher was created. + */ + @Json(name = "pushkey") + val pushKey: String +) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayNotification.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayNotification.kt new file mode 100644 index 00000000..b9c8a35a --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayNotification.kt @@ -0,0 +1,32 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.pushers.gateway + +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) +internal data class PushGatewayNotification( + @Json(name = "event_id") + val eventId: String, + + /** + * Required. This is an array of devices that the notification should be sent to. + */ + @Json(name = "devices") + val devices: List<PushGatewayDevice> +) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayNotifyBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayNotifyBody.kt new file mode 100644 index 00000000..751414d2 --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayNotifyBody.kt @@ -0,0 +1,29 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.pushers.gateway + +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) +internal data class PushGatewayNotifyBody( + /** + * Required. Information about the push notification + */ + @Json(name = "notification") + val notification: PushGatewayNotification +) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayNotifyResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayNotifyResponse.kt new file mode 100644 index 00000000..50401ef6 --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayNotifyResponse.kt @@ -0,0 +1,26 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.pushers.gateway + +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) +internal data class PushGatewayNotifyResponse( + @Json(name = "rejected") + val rejectedPushKeys: List<String> +) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayNotifyTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayNotifyTask.kt new file mode 100644 index 00000000..df6f46fa --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/pushers/gateway/PushGatewayNotifyTask.kt @@ -0,0 +1,68 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.matrix.android.sdk.internal.session.pushers.gateway + +import okhttp3.OkHttpClient +import org.matrix.android.sdk.api.session.pushers.PushGatewayFailure +import org.matrix.android.sdk.internal.di.Unauthenticated +import org.matrix.android.sdk.internal.network.NetworkConstants +import org.matrix.android.sdk.internal.network.RetrofitFactory +import org.matrix.android.sdk.internal.network.executeRequest +import org.matrix.android.sdk.internal.task.Task +import javax.inject.Inject + +internal interface PushGatewayNotifyTask : Task<PushGatewayNotifyTask.Params, Unit> { + data class Params( + val url: String, + val appId: String, + val pushKey: String, + val eventId: String + ) +} + +internal class DefaultPushGatewayNotifyTask @Inject constructor( + private val retrofitFactory: RetrofitFactory, + @Unauthenticated private val unauthenticatedOkHttpClient: OkHttpClient +) : PushGatewayNotifyTask { + + override suspend fun execute(params: PushGatewayNotifyTask.Params) { + val sygnalApi = retrofitFactory.create( + unauthenticatedOkHttpClient, + params.url.substringBefore(NetworkConstants.URI_PUSH_GATEWAY_PREFIX_PATH) + ) + .create(PushGatewayAPI::class.java) + + val response = executeRequest<PushGatewayNotifyResponse>(null) { + apiCall = sygnalApi.notify( + PushGatewayNotifyBody( + PushGatewayNotification( + eventId = params.eventId, + devices = listOf( + PushGatewayDevice( + params.appId, + params.pushKey + ) + ) + ) + ) + ) + } + + if (response.rejectedPushKeys.contains(params.pushKey)) { + throw PushGatewayFailure.PusherRejected + } + } +} diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/DefaultRoom.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/DefaultRoom.kt index 27a51594..1338df68 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/DefaultRoom.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/DefaultRoom.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -36,10 +35,13 @@ import org.matrix.android.sdk.api.session.room.tags.TagsService import org.matrix.android.sdk.api.session.room.timeline.TimelineService import org.matrix.android.sdk.api.session.room.typing.TypingService import org.matrix.android.sdk.api.session.room.uploads.UploadsService +import org.matrix.android.sdk.api.session.search.SearchResult +import org.matrix.android.sdk.api.util.Cancelable import org.matrix.android.sdk.api.util.Optional import org.matrix.android.sdk.internal.crypto.MXCRYPTO_ALGORITHM_MEGOLM import org.matrix.android.sdk.internal.session.room.state.SendStateTask import org.matrix.android.sdk.internal.session.room.summary.RoomSummaryDataSource +import org.matrix.android.sdk.internal.session.search.SearchTask import org.matrix.android.sdk.internal.task.TaskExecutor import org.matrix.android.sdk.internal.task.configureWith import java.security.InvalidParameterException @@ -62,7 +64,8 @@ internal class DefaultRoom @Inject constructor(override val roomId: String, private val roomMembersService: MembershipService, private val roomPushRuleService: RoomPushRuleService, private val taskExecutor: TaskExecutor, - private val sendStateTask: SendStateTask) : + private val sendStateTask: SendStateTask, + private val searchTask: SearchTask) : Room, TimelineService by timelineService, SendService by sendService, @@ -123,4 +126,27 @@ internal class DefaultRoom @Inject constructor(override val roomId: String, } } } + + override fun search(searchTerm: String, + nextBatch: String?, + orderByRecent: Boolean, + limit: Int, + beforeLimit: Int, + afterLimit: Int, + includeProfile: Boolean, + callback: MatrixCallback<SearchResult>): Cancelable { + return searchTask + .configureWith(SearchTask.Params( + searchTerm = searchTerm, + roomId = roomId, + nextBatch = nextBatch, + orderByRecent = orderByRecent, + limit = limit, + beforeLimit = beforeLimit, + afterLimit = afterLimit, + includeProfile = includeProfile + )) { + this.callback = callback + }.executeBy(taskExecutor) + } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/DefaultRoomDirectoryService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/DefaultRoomDirectoryService.kt index 12d9d5bc..a091b5f8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/DefaultRoomDirectoryService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/DefaultRoomDirectoryService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/DefaultRoomService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/DefaultRoomService.kt index 17c72436..171e9070 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/DefaultRoomService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/DefaultRoomService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/EventRelationsAggregationProcessor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/EventRelationsAggregationProcessor.kt index 4a196193..9ff0deec 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/EventRelationsAggregationProcessor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/EventRelationsAggregationProcessor.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAPI.kt index 35c20cf5..fc80842f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAPI.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAvatarResolver.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAvatarResolver.kt index 6851780a..90ee99a9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAvatarResolver.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAvatarResolver.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomFactory.kt index ac8bdb39..d4fa040d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomFactory.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -35,6 +34,7 @@ import org.matrix.android.sdk.internal.session.room.tags.DefaultTagsService import org.matrix.android.sdk.internal.session.room.timeline.DefaultTimelineService import org.matrix.android.sdk.internal.session.room.typing.DefaultTypingService import org.matrix.android.sdk.internal.session.room.uploads.DefaultUploadsService +import org.matrix.android.sdk.internal.session.search.SearchTask import org.matrix.android.sdk.internal.task.TaskExecutor import javax.inject.Inject @@ -59,7 +59,8 @@ internal class DefaultRoomFactory @Inject constructor(private val cryptoService: private val membershipServiceFactory: DefaultMembershipService.Factory, private val roomPushRuleServiceFactory: DefaultRoomPushRuleService.Factory, private val taskExecutor: TaskExecutor, - private val sendStateTask: SendStateTask) : + private val sendStateTask: SendStateTask, + private val searchTask: SearchTask) : RoomFactory { override fun create(roomId: String): Room { @@ -81,7 +82,8 @@ internal class DefaultRoomFactory @Inject constructor(private val cryptoService: roomMembersService = membershipServiceFactory.create(roomId), roomPushRuleService = roomPushRuleServiceFactory.create(roomId), taskExecutor = taskExecutor, - sendStateTask = sendStateTask + sendStateTask = sendStateTask, + searchTask = searchTask ) } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomGetter.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomGetter.kt index 985cf80e..29475186 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomGetter.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomGetter.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomModule.kt index 70050773..30e3337a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/alias/AddRoomAliasBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/alias/AddRoomAliasBody.kt index b5938d59..1cea75f0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/alias/AddRoomAliasBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/alias/AddRoomAliasBody.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/alias/AddRoomAliasTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/alias/AddRoomAliasTask.kt index 510bd25d..695be3f6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/alias/AddRoomAliasTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/alias/AddRoomAliasTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/alias/GetRoomIdByAliasTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/alias/GetRoomIdByAliasTask.kt index e1d119c4..8b011980 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/alias/GetRoomIdByAliasTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/alias/GetRoomIdByAliasTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/alias/RoomAliasDescription.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/alias/RoomAliasDescription.kt index ac0b59c9..ada3839f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/alias/RoomAliasDescription.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/alias/RoomAliasDescription.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/call/DefaultRoomCallService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/call/DefaultRoomCallService.kt index 3d764e00..205a085d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/call/DefaultRoomCallService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/call/DefaultRoomCallService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomBody.kt index e9ae5e7a..c30f11b9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomBody.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomBodyBuilder.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomBodyBuilder.kt index 0a814a4c..7e28200c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomBodyBuilder.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomBodyBuilder.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomResponse.kt index cfc63bcb..a29e29dc 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomTask.kt index 6738c7d8..4f0aaf08 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/CreateRoomTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/RoomCreateEventProcessor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/RoomCreateEventProcessor.kt index e6de3fbd..95572c20 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/RoomCreateEventProcessor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/create/RoomCreateEventProcessor.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/directory/GetPublicRoomTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/directory/GetPublicRoomTask.kt index 4d760d1b..f2bd0c5f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/directory/GetPublicRoomTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/directory/GetPublicRoomTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/directory/GetThirdPartyProtocolsTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/directory/GetThirdPartyProtocolsTask.kt index 39f1c608..5e082847 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/directory/GetThirdPartyProtocolsTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/directory/GetThirdPartyProtocolsTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/draft/DefaultDraftService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/draft/DefaultDraftService.kt index dafa7df0..92e16a35 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/draft/DefaultDraftService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/draft/DefaultDraftService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -24,6 +23,7 @@ import org.matrix.android.sdk.api.MatrixCallback import org.matrix.android.sdk.api.session.room.send.DraftService import org.matrix.android.sdk.api.session.room.send.UserDraft import org.matrix.android.sdk.api.util.Cancelable +import org.matrix.android.sdk.api.util.Optional import org.matrix.android.sdk.internal.task.TaskExecutor import org.matrix.android.sdk.internal.task.launchToCallback import org.matrix.android.sdk.internal.util.MatrixCoroutineDispatchers @@ -55,7 +55,11 @@ internal class DefaultDraftService @AssistedInject constructor(@Assisted private } } - override fun getDraftsLive(): LiveData<List<UserDraft>> { + override fun getDraft(): UserDraft? { + return draftRepository.getDraft(roomId) + } + + override fun getDraftLive(): LiveData<Optional<UserDraft>> { return draftRepository.getDraftsLive(roomId) } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/draft/DraftRepository.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/draft/DraftRepository.kt index bc50b2d9..c8c52c4b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/draft/DraftRepository.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/draft/DraftRepository.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,43 +19,67 @@ package org.matrix.android.sdk.internal.session.room.draft import androidx.lifecycle.LiveData import androidx.lifecycle.Transformations import com.zhuinden.monarchy.Monarchy +import io.realm.Realm +import io.realm.kotlin.createObject import org.matrix.android.sdk.BuildConfig import org.matrix.android.sdk.api.session.room.send.UserDraft +import org.matrix.android.sdk.api.util.Optional +import org.matrix.android.sdk.api.util.toOptional +import org.matrix.android.sdk.internal.database.RealmSessionProvider import org.matrix.android.sdk.internal.database.mapper.DraftMapper -import org.matrix.android.sdk.internal.database.model.DraftEntity import org.matrix.android.sdk.internal.database.model.RoomSummaryEntity import org.matrix.android.sdk.internal.database.model.UserDraftsEntity import org.matrix.android.sdk.internal.database.query.where import org.matrix.android.sdk.internal.di.SessionDatabase import org.matrix.android.sdk.internal.util.awaitTransaction -import io.realm.Realm -import io.realm.kotlin.createObject import timber.log.Timber import javax.inject.Inject -class DraftRepository @Inject constructor(@SessionDatabase private val monarchy: Monarchy) { +internal class DraftRepository @Inject constructor(@SessionDatabase private val monarchy: Monarchy, + private val realmSessionProvider: RealmSessionProvider) { suspend fun saveDraft(roomId: String, userDraft: UserDraft) { monarchy.awaitTransaction { - saveDraft(it, userDraft, roomId) + saveDraftInDb(it, userDraft, roomId) } } suspend fun deleteDraft(roomId: String) { monarchy.awaitTransaction { - deleteDraft(it, roomId) + deleteDraftFromDb(it, roomId) } } - private fun deleteDraft(realm: Realm, roomId: String) { - UserDraftsEntity.where(realm, roomId).findFirst()?.let { userDraftsEntity -> - if (userDraftsEntity.userDrafts.isNotEmpty()) { - userDraftsEntity.userDrafts.removeAt(userDraftsEntity.userDrafts.size - 1) - } + fun getDraft(roomId: String): UserDraft? { + return realmSessionProvider.withRealm { realm -> + UserDraftsEntity.where(realm, roomId).findFirst() + ?.userDrafts + ?.firstOrNull() + ?.let { + DraftMapper.map(it) + } + } + } + + fun getDraftsLive(roomId: String): LiveData<Optional<UserDraft>> { + val liveData = monarchy.findAllMappedWithChanges( + { UserDraftsEntity.where(it, roomId) }, + { + it.userDrafts.map { draft -> + DraftMapper.map(draft) + } + } + ) + return Transformations.map(liveData) { + it.firstOrNull()?.firstOrNull().toOptional() } } - private fun saveDraft(realm: Realm, draft: UserDraft, roomId: String) { + private fun deleteDraftFromDb(realm: Realm, roomId: String) { + UserDraftsEntity.where(realm, roomId).findFirst()?.userDrafts?.clear() + } + + private fun saveDraftInDb(realm: Realm, draft: UserDraft, roomId: String) { val roomSummaryEntity = RoomSummaryEntity.where(realm, roomId).findFirst() ?: realm.createObject(roomId) @@ -68,62 +91,15 @@ class DraftRepository @Inject constructor(@SessionDatabase private val monarchy: userDraftsEntity.let { userDraftEntity -> // Save only valid draft if (draft.isValid()) { - // Add a new draft or update the current one? + // Replace the current draft val newDraft = DraftMapper.map(draft) - - // Is it an update of the top draft? - val topDraft = userDraftEntity.userDrafts.lastOrNull() - - if (topDraft == null) { - Timber.d("Draft: create a new draft ${privacySafe(draft)}") - userDraftEntity.userDrafts.add(newDraft) - } else if (topDraft.draftMode == DraftEntity.MODE_EDIT) { - // top draft is an edit - if (newDraft.draftMode == DraftEntity.MODE_EDIT) { - if (topDraft.linkedEventId == newDraft.linkedEventId) { - // Update the top draft - Timber.d("Draft: update the top edit draft ${privacySafe(draft)}") - topDraft.content = newDraft.content - } else { - // Check a previously EDIT draft with the same id - val existingEditDraftOfSameEvent = userDraftEntity.userDrafts.find { - it.draftMode == DraftEntity.MODE_EDIT && it.linkedEventId == newDraft.linkedEventId - } - - if (existingEditDraftOfSameEvent != null) { - // Ignore the new text, restore what was typed before, by putting the draft to the top - Timber.d("Draft: restore a previously edit draft ${privacySafe(draft)}") - userDraftEntity.userDrafts.remove(existingEditDraftOfSameEvent) - userDraftEntity.userDrafts.add(existingEditDraftOfSameEvent) - } else { - Timber.d("Draft: add a new edit draft ${privacySafe(draft)}") - userDraftEntity.userDrafts.add(newDraft) - } - } - } else { - // Add a new regular draft to the top - Timber.d("Draft: add a new draft ${privacySafe(draft)}") - userDraftEntity.userDrafts.add(newDraft) - } - } else { - // Top draft is not an edit - if (newDraft.draftMode == DraftEntity.MODE_EDIT) { - Timber.d("Draft: create a new edit draft ${privacySafe(draft)}") - userDraftEntity.userDrafts.add(newDraft) - } else { - // Update the top draft - Timber.d("Draft: update the top draft ${privacySafe(draft)}") - topDraft.draftMode = newDraft.draftMode - topDraft.content = newDraft.content - topDraft.linkedEventId = newDraft.linkedEventId - } - } + Timber.d("Draft: create a new draft ${privacySafe(draft)}") + userDraftEntity.userDrafts.clear() + userDraftEntity.userDrafts.add(newDraft) } else { // There is no draft to save, so the composer was clear Timber.d("Draft: delete a draft") - val topDraft = userDraftEntity.userDrafts.lastOrNull() - if (topDraft == null) { Timber.d("Draft: nothing to do") } else { @@ -135,20 +111,6 @@ class DraftRepository @Inject constructor(@SessionDatabase private val monarchy: } } - fun getDraftsLive(roomId: String): LiveData<List<UserDraft>> { - val liveData = monarchy.findAllMappedWithChanges( - { UserDraftsEntity.where(it, roomId) }, - { - it.userDrafts.map { draft -> - DraftMapper.map(draft) - } - } - ) - return Transformations.map(liveData) { - it.firstOrNull().orEmpty() - } - } - private fun privacySafe(o: Any): Any { if (BuildConfig.LOG_PRIVATE_DATA) { return o diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/DefaultMembershipService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/DefaultMembershipService.kt index 91039f4c..4fc86530 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/DefaultMembershipService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/DefaultMembershipService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/LoadRoomMembersTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/LoadRoomMembersTask.kt index e51a4605..627f927a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/LoadRoomMembersTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/LoadRoomMembersTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomChangeMembershipStateDataSource.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomChangeMembershipStateDataSource.kt index 00d54a62..b9c547d4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomChangeMembershipStateDataSource.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomChangeMembershipStateDataSource.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomDisplayNameResolver.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomDisplayNameResolver.kt index 942da999..7f3796c1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomDisplayNameResolver.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomDisplayNameResolver.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -109,9 +108,9 @@ internal class RoomDisplayNameResolver @Inject constructor( } val otherMembersCount = otherMembersSubset.count() name = when (otherMembersCount) { - 0 -> stringProvider.getString(R.string.room_displayname_empty_room) - 1 -> resolveRoomMemberName(otherMembersSubset[0], roomMembers) - 2 -> stringProvider.getString(R.string.room_displayname_two_members, + 0 -> stringProvider.getString(R.string.room_displayname_empty_room) + 1 -> resolveRoomMemberName(otherMembersSubset[0], roomMembers) + 2 -> stringProvider.getString(R.string.room_displayname_two_members, resolveRoomMemberName(otherMembersSubset[0], roomMembers), resolveRoomMemberName(otherMembersSubset[1], roomMembers) ) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomMemberEntityFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomMemberEntityFactory.kt index f5265509..f78b5d79 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomMemberEntityFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomMemberEntityFactory.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomMemberEventHandler.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomMemberEventHandler.kt index 2821eb2f..89fe2901 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomMemberEventHandler.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomMemberEventHandler.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomMemberHelper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomMemberHelper.kt index 4ef2d973..7105a2cc 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomMemberHelper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomMemberHelper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomMembersResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomMembersResponse.kt index d8ac0983..018d8192 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomMembersResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/RoomMembersResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/admin/MembershipAdminTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/admin/MembershipAdminTask.kt index 948bab39..4654a285 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/admin/MembershipAdminTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/admin/MembershipAdminTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/admin/UserIdAndReason.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/admin/UserIdAndReason.kt index 4589b5e4..fe363763 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/admin/UserIdAndReason.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/admin/UserIdAndReason.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/joining/InviteBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/joining/InviteBody.kt index 6fad0b10..06b75709 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/joining/InviteBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/joining/InviteBody.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/joining/InviteTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/joining/InviteTask.kt index 4b9935d2..854a3326 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/joining/InviteTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/joining/InviteTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/joining/JoinRoomTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/joining/JoinRoomTask.kt index f3e2efcd..dd1dc5fa 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/joining/JoinRoomTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/joining/JoinRoomTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/leaving/LeaveRoomTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/leaving/LeaveRoomTask.kt index 2a3e6c0a..58e34a15 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/leaving/LeaveRoomTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/leaving/LeaveRoomTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/threepid/InviteThreePidTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/threepid/InviteThreePidTask.kt index 88809fec..80af00fc 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/threepid/InviteThreePidTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/threepid/InviteThreePidTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/threepid/ThreePidInviteBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/threepid/ThreePidInviteBody.kt index 5b0098dc..3141c052 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/threepid/ThreePidInviteBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/threepid/ThreePidInviteBody.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/notification/DefaultRoomPushRuleService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/notification/DefaultRoomPushRuleService.kt index 93e2881c..8797b0c7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/notification/DefaultRoomPushRuleService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/notification/DefaultRoomPushRuleService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/notification/RoomPushRule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/notification/RoomPushRule.kt index a7c77193..d2c0d13b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/notification/RoomPushRule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/notification/RoomPushRule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/notification/RoomPushRuleMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/notification/RoomPushRuleMapper.kt index 86a95003..86d2e6c6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/notification/RoomPushRuleMapper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/notification/RoomPushRuleMapper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/notification/SetRoomNotificationStateTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/notification/SetRoomNotificationStateTask.kt index 5a1b8d2a..de049d75 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/notification/SetRoomNotificationStateTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/notification/SetRoomNotificationStateTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/prune/RedactionEventProcessor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/prune/RedactionEventProcessor.kt index 5ff7ae69..95fb6b14 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/prune/RedactionEventProcessor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/prune/RedactionEventProcessor.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/DefaultReadService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/DefaultReadService.kt index a5520972..025bea09 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/DefaultReadService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/DefaultReadService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -107,6 +106,16 @@ internal class DefaultReadService @AssistedInject constructor( } } + override fun getUserReadReceipt(userId: String): String? { + var eventId: String? = null + monarchy.doWithRealm { + eventId = ReadReceiptEntity.where(it, roomId = roomId, userId = userId) + .findFirst() + ?.eventId + } + return eventId + } + override fun getEventReadReceiptsLive(eventId: String): LiveData<List<ReadReceipt>> { val liveRealmData = monarchy.findAllMappedWithChanges( { ReadReceiptsSummaryEntity.where(it, eventId) }, diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/FullyReadContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/FullyReadContent.kt index d2b216d6..9b4db795 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/FullyReadContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/FullyReadContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/MarkAllRoomsReadTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/MarkAllRoomsReadTask.kt index b06b83aa..ebf034a7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/MarkAllRoomsReadTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/MarkAllRoomsReadTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/SetReadMarkersTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/SetReadMarkersTask.kt index f750735b..a98bb02c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/SetReadMarkersTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/read/SetReadMarkersTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/DefaultRelationService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/DefaultRelationService.kt index 111551d6..a151a163 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/DefaultRelationService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/DefaultRelationService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -202,13 +201,13 @@ internal class DefaultRelationService @AssistedInject constructor( private fun createEncryptEventWork(event: Event, keepKeys: List<String>?): OneTimeWorkRequest { // Same parameter - val params = EncryptEventWorker.Params(sessionId, event, keepKeys) + val params = EncryptEventWorker.Params(sessionId, event.eventId!!, keepKeys) val sendWorkData = WorkerParamsFactory.toData(params) return timeLineSendEventWorkCommon.createWork<EncryptEventWorker>(sendWorkData, true) } private fun createSendEventWork(event: Event, startChain: Boolean): OneTimeWorkRequest { - val sendContentWorkerParams = SendEventWorker.Params(sessionId = sessionId, event = event) + val sendContentWorkerParams = SendEventWorker.Params(sessionId = sessionId, eventId = event.eventId!!) val sendWorkData = WorkerParamsFactory.toData(sendContentWorkerParams) return timeLineSendEventWorkCommon.createWork<SendEventWorker>(sendWorkData, startChain) } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/FetchEditHistoryTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/FetchEditHistoryTask.kt index 28cdd9a7..51eecb8c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/FetchEditHistoryTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/FetchEditHistoryTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/FindReactionEventForUndoTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/FindReactionEventForUndoTask.kt index 86fe75d9..fa6db2ee 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/FindReactionEventForUndoTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/FindReactionEventForUndoTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/RelationsResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/RelationsResponse.kt index 24fcf89b..a65165d4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/RelationsResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/RelationsResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/SendRelationWorker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/SendRelationWorker.kt index fc7f7126..25dfe32c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/SendRelationWorker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/SendRelationWorker.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,7 +16,6 @@ package org.matrix.android.sdk.internal.session.room.relation import android.content.Context -import androidx.work.CoroutineWorker import androidx.work.WorkerParameters import com.squareup.moshi.JsonClass import org.greenrobot.eventbus.EventBus @@ -27,45 +25,38 @@ import org.matrix.android.sdk.api.session.events.model.toModel import org.matrix.android.sdk.api.session.room.model.relation.ReactionContent import org.matrix.android.sdk.api.session.room.model.relation.ReactionInfo import org.matrix.android.sdk.internal.network.executeRequest +import org.matrix.android.sdk.internal.session.SessionComponent import org.matrix.android.sdk.internal.session.room.RoomAPI +import org.matrix.android.sdk.internal.session.room.send.LocalEchoRepository import org.matrix.android.sdk.internal.session.room.send.SendResponse +import org.matrix.android.sdk.internal.worker.SessionSafeCoroutineWorker import org.matrix.android.sdk.internal.worker.SessionWorkerParams -import org.matrix.android.sdk.internal.worker.WorkerParamsFactory -import org.matrix.android.sdk.internal.worker.getSessionComponent -import timber.log.Timber import javax.inject.Inject // TODO This is not used. Delete? -internal class SendRelationWorker(context: Context, params: WorkerParameters) : CoroutineWorker(context, params) { +internal class SendRelationWorker(context: Context, params: WorkerParameters) + : SessionSafeCoroutineWorker<SendRelationWorker.Params>(context, params, Params::class.java) { @JsonClass(generateAdapter = true) internal data class Params( override val sessionId: String, val roomId: String, - val event: Event, + val eventId: String, val relationType: String? = null, override val lastFailureMessage: String? = null ) : SessionWorkerParams @Inject lateinit var roomAPI: RoomAPI @Inject lateinit var eventBus: EventBus + @Inject lateinit var localEchoRepository: LocalEchoRepository - override suspend fun doWork(): Result { - val params = WorkerParamsFactory.fromData<Params>(inputData) - ?: return Result.failure() - .also { Timber.e("Unable to parse work parameters") } - - if (params.lastFailureMessage != null) { - // Transmit the error - return Result.success(inputData) - .also { Timber.e("Work cancelled due to input error from parent") } - } - - val sessionComponent = getSessionComponent(params.sessionId) ?: return Result.success() - sessionComponent.inject(this) + override fun injectWith(injector: SessionComponent) { + injector.inject(this) + } - val localEvent = params.event - if (localEvent.eventId == null) { + override suspend fun doSafeWork(params: Params): Result { + val localEvent = localEchoRepository.getUpToDateEcho(params.eventId) + if (localEvent?.eventId == null) { return Result.failure() } val relationContent = localEvent.content.toModel<ReactionContent>() @@ -88,6 +79,10 @@ internal class SendRelationWorker(context: Context, params: WorkerParameters) : } } + override fun buildErrorParams(params: Params, message: String): Params { + return params.copy(lastFailureMessage = params.lastFailureMessage ?: message) + } + private suspend fun sendRelation(roomId: String, relationType: String, relatedEventId: String, localEvent: Event) { executeRequest<SendResponse>(eventBus) { apiCall = roomAPI.sendRelation( diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/UpdateQuickReactionTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/UpdateQuickReactionTask.kt index d235cdba..1f68a700 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/UpdateQuickReactionTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/UpdateQuickReactionTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/DefaultReportingService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/DefaultReportingService.kt index 1117ed1c..384c544e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/DefaultReportingService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/DefaultReportingService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/ReportContentBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/ReportContentBody.kt index bd9f09f4..4c40376a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/ReportContentBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/ReportContentBody.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/ReportContentTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/ReportContentTask.kt index b13c21fa..bd119376 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/ReportContentTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/ReportContentTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/CancelSendTracker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/CancelSendTracker.kt index 0b79b93c..5f6ebc68 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/CancelSendTracker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/CancelSendTracker.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/DefaultSendService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/DefaultSendService.kt index 95cd1c69..ec366cb6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/DefaultSendService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/DefaultSendService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -188,7 +187,7 @@ internal class DefaultSendService @AssistedInject constructor( localEchoRepository.updateSendState(localEcho.eventId, SendState.UNSENT) internalSendMedia(listOf(localEcho.root), attachmentData, true) } - is MessageFileContent -> { + is MessageFileContent -> { val attachmentData = ContentAttachmentData( size = messageContent.info!!.size, mimeType = messageContent.info.mimeType!!, @@ -336,7 +335,7 @@ internal class DefaultSendService @AssistedInject constructor( private fun createEncryptEventWork(event: Event, startChain: Boolean): OneTimeWorkRequest { // Same parameter - return EncryptEventWorker.Params(sessionId, event) + return EncryptEventWorker.Params(sessionId, event.eventId ?: "") .let { WorkerParamsFactory.toData(it) } .let { workManagerProvider.matrixOneTimeWorkRequestBuilder<EncryptEventWorker>() @@ -360,7 +359,10 @@ internal class DefaultSendService @AssistedInject constructor( attachment: ContentAttachmentData, isRoomEncrypted: Boolean, compressBeforeSending: Boolean): OneTimeWorkRequest { - val uploadMediaWorkerParams = UploadContentWorker.Params(sessionId, allLocalEchos, attachment, isRoomEncrypted, compressBeforeSending) + val localEchoIds = allLocalEchos.map { + LocalEchoIdentifiers(it.roomId!!, it.eventId!!) + } + val uploadMediaWorkerParams = UploadContentWorker.Params(sessionId, localEchoIds, attachment, isRoomEncrypted, compressBeforeSending) val uploadWorkData = WorkerParamsFactory.toData(uploadMediaWorkerParams) return workManagerProvider.matrixOneTimeWorkRequestBuilder<UploadContentWorker>() diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/EncryptEventWorker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/EncryptEventWorker.kt index 6b2a2ab1..73b4c48e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/EncryptEventWorker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/EncryptEventWorker.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,21 +17,23 @@ package org.matrix.android.sdk.internal.session.room.send import android.content.Context -import androidx.work.CoroutineWorker import androidx.work.WorkerParameters import com.squareup.moshi.JsonClass import org.matrix.android.sdk.api.failure.Failure import org.matrix.android.sdk.api.session.crypto.CryptoService import org.matrix.android.sdk.api.session.events.model.Event +import org.matrix.android.sdk.api.session.events.model.EventType import org.matrix.android.sdk.api.session.events.model.toContent import org.matrix.android.sdk.api.session.room.send.SendState import org.matrix.android.sdk.internal.crypto.MXCRYPTO_ALGORITHM_MEGOLM import org.matrix.android.sdk.internal.crypto.MXEventDecryptionResult import org.matrix.android.sdk.internal.crypto.model.MXEncryptEventContentResult +import org.matrix.android.sdk.internal.database.mapper.ContentMapper +import org.matrix.android.sdk.internal.session.SessionComponent import org.matrix.android.sdk.internal.util.awaitCallback +import org.matrix.android.sdk.internal.worker.SessionSafeCoroutineWorker import org.matrix.android.sdk.internal.worker.SessionWorkerParams import org.matrix.android.sdk.internal.worker.WorkerParamsFactory -import org.matrix.android.sdk.internal.worker.getSessionComponent import timber.log.Timber import javax.inject.Inject @@ -41,12 +42,12 @@ import javax.inject.Inject * Possible next worker : Always [SendEventWorker] */ internal class EncryptEventWorker(context: Context, params: WorkerParameters) - : CoroutineWorker(context, params) { + : SessionSafeCoroutineWorker<EncryptEventWorker.Params>(context, params, Params::class.java) { @JsonClass(generateAdapter = true) internal data class Params( override val sessionId: String, - val event: Event, + val eventId: String, /** Do not encrypt these keys, keep them as is in encrypted content (e.g. m.relates_to) */ val keepKeys: List<String>? = null, override val lastFailureMessage: String? = null @@ -56,24 +57,15 @@ internal class EncryptEventWorker(context: Context, params: WorkerParameters) @Inject lateinit var localEchoRepository: LocalEchoRepository @Inject lateinit var cancelSendTracker: CancelSendTracker - override suspend fun doWork(): Result { - Timber.v("Start Encrypt work") - val params = WorkerParamsFactory.fromData<Params>(inputData) - ?: return Result.success() - .also { Timber.e("Unable to parse work parameters") } - - Timber.v("## SendEvent: Start Encrypt work for event ${params.event.eventId}") - if (params.lastFailureMessage != null) { - // Transmit the error - return Result.success(inputData) - .also { Timber.e("Work cancelled due to input error from parent") } - } + override fun injectWith(injector: SessionComponent) { + injector.inject(this) + } - val sessionComponent = getSessionComponent(params.sessionId) ?: return Result.success() - sessionComponent.inject(this) + override suspend fun doSafeWork(params: Params): Result { + Timber.v("## SendEvent: Start Encrypt work for event ${params.eventId}") - val localEvent = params.event - if (localEvent.eventId == null) { + val localEvent = localEchoRepository.getUpToDateEcho(params.eventId) + if (localEvent?.eventId == null) { return Result.success() } @@ -106,15 +98,10 @@ internal class EncryptEventWorker(context: Context, params: WorkerParameters) modifiedContent[toKeep] = it } } - val safeResult = result.copy(eventContent = modifiedContent) - val encryptedEvent = localEvent.copy( - type = safeResult.eventType, - content = safeResult.eventContent - ) // Better handling of local echo, to avoid decrypting transition on remote echo // Should I only do it for text messages? - if (result.eventContent["algorithm"] == MXCRYPTO_ALGORITHM_MEGOLM) { - val decryptionLocalEcho = MXEventDecryptionResult( + val decryptionLocalEcho = if (result.eventContent["algorithm"] == MXCRYPTO_ALGORITHM_MEGOLM) { + MXEventDecryptionResult( clearEvent = Event( type = localEvent.type, content = localEvent.content, @@ -124,10 +111,18 @@ internal class EncryptEventWorker(context: Context, params: WorkerParameters) senderCurve25519Key = result.eventContent["sender_key"] as? String, claimedEd25519Key = crypto.getMyDevice().fingerprint() ) - localEchoRepository.updateEncryptedEcho(localEvent.eventId, safeResult.eventContent, decryptionLocalEcho) + } else { + null + } + localEchoRepository.updateEcho(localEvent.eventId) { _, localEcho -> + localEcho.type = EventType.ENCRYPTED + localEcho.content = ContentMapper.map(modifiedContent) + decryptionLocalEcho?.also { + localEcho.setDecryptionResult(it) + } } - val nextWorkerParams = SendEventWorker.Params(sessionId = params.sessionId, event = encryptedEvent) + val nextWorkerParams = SendEventWorker.Params(sessionId = params.sessionId, eventId = params.eventId) return Result.success(WorkerParamsFactory.toData(nextWorkerParams)) } else { val sendState = when (error) { @@ -138,10 +133,14 @@ internal class EncryptEventWorker(context: Context, params: WorkerParameters) // always return success, or the chain will be stuck for ever! val nextWorkerParams = SendEventWorker.Params( sessionId = params.sessionId, - event = localEvent, + eventId = localEvent.eventId, lastFailureMessage = error?.localizedMessage ?: "Error" ) return Result.success(WorkerParamsFactory.toData(nextWorkerParams)) } } + + override fun buildErrorParams(params: Params, message: String): Params { + return params.copy(lastFailureMessage = params.lastFailureMessage ?: message) + } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/LocalEchoEventFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/LocalEchoEventFactory.kt index ac92e526..da3e0429 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/LocalEchoEventFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/LocalEchoEventFactory.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -205,7 +204,7 @@ internal class LocalEchoEventFactory @Inject constructor( ContentAttachmentData.Type.IMAGE -> createImageEvent(roomId, attachment) ContentAttachmentData.Type.VIDEO -> createVideoEvent(roomId, attachment) ContentAttachmentData.Type.AUDIO -> createAudioEvent(roomId, attachment) - ContentAttachmentData.Type.FILE -> createFileEvent(roomId, attachment) + ContentAttachmentData.Type.FILE -> createFileEvent(roomId, attachment) } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/LocalEchoIdentifiers.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/LocalEchoIdentifiers.kt new file mode 100644 index 00000000..88dfbb90 --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/LocalEchoIdentifiers.kt @@ -0,0 +1,25 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.room.send + +import com.squareup.moshi.JsonClass + +/** + * This is used as a holder to pass necessary data to some workers params. + */ +@JsonClass(generateAdapter = true) +internal data class LocalEchoIdentifiers(val roomId: String, val eventId: String) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/LocalEchoRepository.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/LocalEchoRepository.kt index 00c624a2..9e1de291 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/LocalEchoRepository.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/LocalEchoRepository.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,8 +17,8 @@ package org.matrix.android.sdk.internal.session.room.send import com.zhuinden.monarchy.Monarchy +import io.realm.Realm import org.greenrobot.eventbus.EventBus -import org.matrix.android.sdk.api.session.events.model.Content import org.matrix.android.sdk.api.session.events.model.Event import org.matrix.android.sdk.api.session.events.model.EventType import org.matrix.android.sdk.api.session.events.model.toModel @@ -27,11 +26,11 @@ import org.matrix.android.sdk.api.session.room.model.message.MessageContent import org.matrix.android.sdk.api.session.room.model.message.MessageType import org.matrix.android.sdk.api.session.room.send.SendState import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent -import org.matrix.android.sdk.internal.crypto.MXEventDecryptionResult import org.matrix.android.sdk.internal.database.RealmSessionProvider +import org.matrix.android.sdk.internal.database.asyncTransaction import org.matrix.android.sdk.internal.database.helper.nextId -import org.matrix.android.sdk.internal.database.mapper.ContentMapper import org.matrix.android.sdk.internal.database.mapper.TimelineEventMapper +import org.matrix.android.sdk.internal.database.mapper.asDomain import org.matrix.android.sdk.internal.database.mapper.toEntity import org.matrix.android.sdk.internal.database.model.EventEntity import org.matrix.android.sdk.internal.database.model.EventInsertEntity @@ -44,11 +43,13 @@ import org.matrix.android.sdk.internal.di.SessionDatabase import org.matrix.android.sdk.internal.session.room.membership.RoomMemberHelper import org.matrix.android.sdk.internal.session.room.summary.RoomSummaryUpdater import org.matrix.android.sdk.internal.session.room.timeline.DefaultTimeline +import org.matrix.android.sdk.internal.task.TaskExecutor import org.matrix.android.sdk.internal.util.awaitTransaction import timber.log.Timber import javax.inject.Inject internal class LocalEchoRepository @Inject constructor(@SessionDatabase private val monarchy: Monarchy, + private val taskExecutor: TaskExecutor, private val realmSessionProvider: RealmSessionProvider, private val roomSummaryUpdater: RoomSummaryUpdater, private val eventBus: EventBus, @@ -76,12 +77,12 @@ internal class LocalEchoRepository @Inject constructor(@SessionDatabase private } val timelineEvent = timelineEventMapper.map(timelineEventEntity) eventBus.post(DefaultTimeline.OnLocalEchoCreated(roomId = roomId, timelineEvent = timelineEvent)) - monarchy.writeAsync { realm -> + taskExecutor.executorScope.asyncTransaction(monarchy) { realm -> val eventInsertEntity = EventInsertEntity(event.eventId, event.type).apply { this.insertType = EventInsertType.LOCAL_ECHO } realm.insert(eventInsertEntity) - val roomEntity = RoomEntity.where(realm, roomId = roomId).findFirst() ?: return@writeAsync + val roomEntity = RoomEntity.where(realm, roomId = roomId).findFirst() ?: return@asyncTransaction roomEntity.sendingTimelineEvents.add(0, timelineEventEntity) roomSummaryUpdater.updateSendingInformation(realm, roomId) } @@ -89,30 +90,41 @@ internal class LocalEchoRepository @Inject constructor(@SessionDatabase private fun updateSendState(eventId: String, sendState: SendState) { Timber.v("## SendEvent: [${System.currentTimeMillis()}] Update local state of $eventId to ${sendState.name}") - monarchy.writeAsync { realm -> + updateEchoAsync(eventId) { realm, sendingEventEntity -> + if (sendState == SendState.SENT && sendingEventEntity.sendState == SendState.SYNCED) { + // If already synced, do not put as sent + } else { + sendingEventEntity.sendState = sendState + } + roomSummaryUpdater.updateSendingInformation(realm, sendingEventEntity.roomId) + } + } + + suspend fun updateEcho(eventId: String, block: (realm: Realm, eventEntity: EventEntity) -> Unit) { + monarchy.awaitTransaction { realm -> val sendingEventEntity = EventEntity.where(realm, eventId).findFirst() if (sendingEventEntity != null) { - if (sendState == SendState.SENT && sendingEventEntity.sendState == SendState.SYNCED) { - // If already synced, do not put as sent - } else { - sendingEventEntity.sendState = sendState - } - roomSummaryUpdater.updateSendingInformation(realm, sendingEventEntity.roomId) + block(realm, sendingEventEntity) } } } - fun updateEncryptedEcho(eventId: String, encryptedContent: Content, mxEventDecryptionResult: MXEventDecryptionResult) { - monarchy.writeAsync { realm -> + fun updateEchoAsync(eventId: String, block: (realm: Realm, eventEntity: EventEntity) -> Unit) { + taskExecutor.executorScope.asyncTransaction(monarchy) { realm -> val sendingEventEntity = EventEntity.where(realm, eventId).findFirst() if (sendingEventEntity != null) { - sendingEventEntity.type = EventType.ENCRYPTED - sendingEventEntity.content = ContentMapper.map(encryptedContent) - sendingEventEntity.setDecryptionResult(mxEventDecryptionResult) + block(realm, sendingEventEntity) } } } + suspend fun getUpToDateEcho(eventId: String): Event? { + // We are using awaitTransaction here to make sure this executes after other transactions + return monarchy.awaitTransaction { realm -> + EventEntity.where(realm, eventId).findFirst()?.asDomain(castJsonNumbers = true) + } + } + suspend fun deleteFailedEcho(roomId: String, localEcho: TimelineEvent) { deleteFailedEcho(roomId, localEcho.eventId) } @@ -150,7 +162,7 @@ internal class LocalEchoRepository @Inject constructor(@SessionDatabase private return getAllEventsWithStates(roomId, SendState.HAS_FAILED_STATES) } - fun getAllEventsWithStates(roomId: String, states : List<SendState>): List<TimelineEvent> { + fun getAllEventsWithStates(roomId: String, states: List<SendState>): List<TimelineEvent> { return realmSessionProvider.withRealm { realm -> TimelineEventEntity .findAllInRoomWithSendStates(realm, roomId, states) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/MarkdownParser.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/MarkdownParser.kt index f8028557..030c9deb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/MarkdownParser.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/MarkdownParser.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -69,8 +68,8 @@ internal class MarkdownParser @Inject constructor( return this // Remove extra space before and after the content .trim() - // There is no need to include new line in an html-like source - // But new line can be in embedded code block, so do not remove them - // .replace("\n", "") + // There is no need to include new line in an html-like source + // But new line can be in embedded code block, so do not remove them + // .replace("\n", "") } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/MultipleEventSendingDispatcherWorker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/MultipleEventSendingDispatcherWorker.kt index 8e8d24c2..ba69a875 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/MultipleEventSendingDispatcherWorker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/MultipleEventSendingDispatcherWorker.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -19,18 +18,17 @@ package org.matrix.android.sdk.internal.session.room.send import android.content.Context import androidx.work.BackoffPolicy -import androidx.work.CoroutineWorker import androidx.work.OneTimeWorkRequest import androidx.work.WorkerParameters import com.squareup.moshi.JsonClass -import org.matrix.android.sdk.api.session.events.model.Event import org.matrix.android.sdk.api.session.room.send.SendState import org.matrix.android.sdk.internal.di.WorkManagerProvider +import org.matrix.android.sdk.internal.session.SessionComponent import org.matrix.android.sdk.internal.session.content.UploadContentWorker import org.matrix.android.sdk.internal.session.room.timeline.TimelineSendEventWorkCommon +import org.matrix.android.sdk.internal.worker.SessionSafeCoroutineWorker import org.matrix.android.sdk.internal.worker.SessionWorkerParams import org.matrix.android.sdk.internal.worker.WorkerParamsFactory -import org.matrix.android.sdk.internal.worker.getSessionComponent import org.matrix.android.sdk.internal.worker.startChain import timber.log.Timber import java.util.concurrent.TimeUnit @@ -43,12 +41,12 @@ import javax.inject.Inject * Possible next worker : None, but it will post new work to send events, encrypted or not */ internal class MultipleEventSendingDispatcherWorker(context: Context, params: WorkerParameters) - : CoroutineWorker(context, params) { + : SessionSafeCoroutineWorker<MultipleEventSendingDispatcherWorker.Params>(context, params, Params::class.java) { @JsonClass(generateAdapter = true) internal data class Params( override val sessionId: String, - val events: List<Event>, + val localEchoIds: List<LocalEchoIdentifiers>, val isEncrypted: Boolean, override val lastFailureMessage: String? = null ) : SessionWorkerParams @@ -57,46 +55,48 @@ internal class MultipleEventSendingDispatcherWorker(context: Context, params: Wo @Inject lateinit var timelineSendEventWorkCommon: TimelineSendEventWorkCommon @Inject lateinit var localEchoRepository: LocalEchoRepository - override suspend fun doWork(): Result { - Timber.v("## SendEvent: Start dispatch sending multiple event work") - val params = WorkerParamsFactory.fromData<Params>(inputData) - ?: return Result.success() - .also { Timber.e("Unable to parse work parameters") } + override fun doOnError(params: Params): Result { + params.localEchoIds.forEach { localEchoIds -> + localEchoRepository.updateSendState(localEchoIds.eventId, SendState.UNDELIVERED) + } - val sessionComponent = getSessionComponent(params.sessionId) ?: return Result.success() - sessionComponent.inject(this) + return super.doOnError(params) + } - if (params.lastFailureMessage != null) { - params.events.forEach { event -> - event.eventId?.let { localEchoRepository.updateSendState(it, SendState.UNDELIVERED) } - } - // Transmit the error if needed? - return Result.success(inputData) - .also { Timber.e("## SendEvent: Work cancelled due to input error from parent ${params.lastFailureMessage}") } - } + override fun injectWith(injector: SessionComponent) { + injector.inject(this) + } + override suspend fun doSafeWork(params: Params): Result { + Timber.v("## SendEvent: Start dispatch sending multiple event work") // Create a work for every event - params.events.forEach { event -> + params.localEchoIds.forEach { localEchoIds -> + val roomId = localEchoIds.roomId + val eventId = localEchoIds.eventId if (params.isEncrypted) { - localEchoRepository.updateSendState(event.eventId ?: "", SendState.ENCRYPTING) - Timber.v("## SendEvent: [${System.currentTimeMillis()}] Schedule encrypt and send event ${event.eventId}") - val encryptWork = createEncryptEventWork(params.sessionId, event, true) + localEchoRepository.updateSendState(eventId, SendState.ENCRYPTING) + Timber.v("## SendEvent: [${System.currentTimeMillis()}] Schedule encrypt and send event $eventId") + val encryptWork = createEncryptEventWork(params.sessionId, eventId, true) // Note that event will be replaced by the result of the previous work - val sendWork = createSendEventWork(params.sessionId, event, false) - timelineSendEventWorkCommon.postSequentialWorks(event.roomId!!, encryptWork, sendWork) + val sendWork = createSendEventWork(params.sessionId, eventId, false) + timelineSendEventWorkCommon.postSequentialWorks(roomId, encryptWork, sendWork) } else { - localEchoRepository.updateSendState(event.eventId ?: "", SendState.SENDING) - Timber.v("## SendEvent: [${System.currentTimeMillis()}] Schedule send event ${event.eventId}") - val sendWork = createSendEventWork(params.sessionId, event, true) - timelineSendEventWorkCommon.postWork(event.roomId!!, sendWork) + localEchoRepository.updateSendState(eventId, SendState.SENDING) + Timber.v("## SendEvent: [${System.currentTimeMillis()}] Schedule send event $eventId") + val sendWork = createSendEventWork(params.sessionId, eventId, true) + timelineSendEventWorkCommon.postWork(roomId, sendWork) } } return Result.success() } - private fun createEncryptEventWork(sessionId: String, event: Event, startChain: Boolean): OneTimeWorkRequest { - val params = EncryptEventWorker.Params(sessionId, event) + override fun buildErrorParams(params: Params, message: String): Params { + return params.copy(lastFailureMessage = params.lastFailureMessage ?: message) + } + + private fun createEncryptEventWork(sessionId: String, eventId: String, startChain: Boolean): OneTimeWorkRequest { + val params = EncryptEventWorker.Params(sessionId, eventId) val sendWorkData = WorkerParamsFactory.toData(params) return workManagerProvider.matrixOneTimeWorkRequestBuilder<EncryptEventWorker>() @@ -107,8 +107,8 @@ internal class MultipleEventSendingDispatcherWorker(context: Context, params: Wo .build() } - private fun createSendEventWork(sessionId: String, event: Event, startChain: Boolean): OneTimeWorkRequest { - val sendContentWorkerParams = SendEventWorker.Params(sessionId = sessionId, event = event) + private fun createSendEventWork(sessionId: String, eventId: String, startChain: Boolean): OneTimeWorkRequest { + val sendContentWorkerParams = SendEventWorker.Params(sessionId = sessionId, eventId = eventId) val sendWorkData = WorkerParamsFactory.toData(sendContentWorkerParams) return timelineSendEventWorkCommon.createWork<SendEventWorker>(sendWorkData, startChain) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/NoMerger.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/NoMerger.kt index 7b9e1ec9..b56b2831 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/NoMerger.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/NoMerger.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/RedactEventWorker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/RedactEventWorker.kt index e1e780c3..682865ea 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/RedactEventWorker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/RedactEventWorker.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,24 +16,24 @@ package org.matrix.android.sdk.internal.session.room.send import android.content.Context -import androidx.work.CoroutineWorker import androidx.work.WorkerParameters import com.squareup.moshi.JsonClass +import org.greenrobot.eventbus.EventBus import org.matrix.android.sdk.api.failure.Failure import org.matrix.android.sdk.internal.network.executeRequest +import org.matrix.android.sdk.internal.session.SessionComponent import org.matrix.android.sdk.internal.session.room.RoomAPI +import org.matrix.android.sdk.internal.worker.SessionSafeCoroutineWorker import org.matrix.android.sdk.internal.worker.SessionWorkerParams import org.matrix.android.sdk.internal.worker.WorkerParamsFactory -import org.matrix.android.sdk.internal.worker.getSessionComponent -import org.greenrobot.eventbus.EventBus -import timber.log.Timber import javax.inject.Inject /** * Possible previous worker: None * Possible next worker : None */ -internal class RedactEventWorker(context: Context, params: WorkerParameters) : CoroutineWorker(context, params) { +internal class RedactEventWorker(context: Context, params: WorkerParameters) + : SessionSafeCoroutineWorker<RedactEventWorker.Params>(context, params, Params::class.java) { @JsonClass(generateAdapter = true) internal data class Params( @@ -49,20 +48,11 @@ internal class RedactEventWorker(context: Context, params: WorkerParameters) : C @Inject lateinit var roomAPI: RoomAPI @Inject lateinit var eventBus: EventBus - override suspend fun doWork(): Result { - val params = WorkerParamsFactory.fromData<Params>(inputData) - ?: return Result.failure() - .also { Timber.e("Unable to parse work parameters") } - - if (params.lastFailureMessage != null) { - // Transmit the error - return Result.success(inputData) - .also { Timber.e("Work cancelled due to input error from parent") } - } - - val sessionComponent = getSessionComponent(params.sessionId) ?: return Result.success() - sessionComponent.inject(this) + override fun injectWith(injector: SessionComponent) { + injector.inject(this) + } + override suspend fun doSafeWork(params: Params): Result { val eventId = params.eventId return runCatching { executeRequest<SendResponse>(eventBus) { @@ -91,4 +81,8 @@ internal class RedactEventWorker(context: Context, params: WorkerParameters) : C } ) } + + override fun buildErrorParams(params: Params, message: String): Params { + return params.copy(lastFailureMessage = params.lastFailureMessage ?: message) + } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/RoomEventSender.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/RoomEventSender.kt index 6085459a..8f783d74 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/RoomEventSender.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/RoomEventSender.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -56,7 +55,7 @@ internal class RoomEventSender @Inject constructor( private fun createEncryptEventWork(event: Event, startChain: Boolean): OneTimeWorkRequest { // Same parameter - val params = EncryptEventWorker.Params(sessionId, event) + val params = EncryptEventWorker.Params(sessionId, event.eventId!!) val sendWorkData = WorkerParamsFactory.toData(params) return workManagerProvider.matrixOneTimeWorkRequestBuilder<EncryptEventWorker>() @@ -68,7 +67,7 @@ internal class RoomEventSender @Inject constructor( } private fun createSendEventWork(event: Event, startChain: Boolean): OneTimeWorkRequest { - val sendContentWorkerParams = SendEventWorker.Params(sessionId = sessionId, event = event) + val sendContentWorkerParams = SendEventWorker.Params(sessionId = sessionId, eventId = event.eventId!!) val sendWorkData = WorkerParamsFactory.toData(sendContentWorkerParams) return timelineSendEventWorkCommon.createWork<SendEventWorker>(sendWorkData, startChain) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/SendEventWorker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/SendEventWorker.kt index 16acde7d..0014213b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/SendEventWorker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/SendEventWorker.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,19 +17,19 @@ package org.matrix.android.sdk.internal.session.room.send import android.content.Context -import androidx.work.CoroutineWorker import androidx.work.WorkerParameters import com.squareup.moshi.JsonClass +import io.realm.RealmConfiguration import org.greenrobot.eventbus.EventBus import org.matrix.android.sdk.api.failure.shouldBeRetried import org.matrix.android.sdk.api.session.events.model.Content -import org.matrix.android.sdk.api.session.events.model.Event import org.matrix.android.sdk.api.session.room.send.SendState +import org.matrix.android.sdk.internal.di.SessionDatabase import org.matrix.android.sdk.internal.network.executeRequest +import org.matrix.android.sdk.internal.session.SessionComponent import org.matrix.android.sdk.internal.session.room.RoomAPI +import org.matrix.android.sdk.internal.worker.SessionSafeCoroutineWorker import org.matrix.android.sdk.internal.worker.SessionWorkerParams -import org.matrix.android.sdk.internal.worker.WorkerParamsFactory -import org.matrix.android.sdk.internal.worker.getSessionComponent import timber.log.Timber import javax.inject.Inject @@ -42,35 +41,29 @@ import javax.inject.Inject */ internal class SendEventWorker(context: Context, params: WorkerParameters) - : CoroutineWorker(context, params) { + : SessionSafeCoroutineWorker<SendEventWorker.Params>(context, params, Params::class.java) { @JsonClass(generateAdapter = true) internal data class Params( override val sessionId: String, override val lastFailureMessage: String? = null, - val event: Event? = null, - // Keep for compat at the moment, will be removed later - val eventId: String? = null + val eventId: String ) : SessionWorkerParams @Inject lateinit var localEchoRepository: LocalEchoRepository @Inject lateinit var roomAPI: RoomAPI @Inject lateinit var eventBus: EventBus @Inject lateinit var cancelSendTracker: CancelSendTracker + @SessionDatabase @Inject lateinit var realmConfiguration: RealmConfiguration - override suspend fun doWork(): Result { - val params = WorkerParamsFactory.fromData<Params>(inputData) - ?: return Result.success() - .also { Timber.e("## SendEvent: Unable to parse work parameters") } - val sessionComponent = getSessionComponent(params.sessionId) ?: return Result.success() - sessionComponent.inject(this) + override fun injectWith(injector: SessionComponent) { + injector.inject(this) + } - val event = params.event + override suspend fun doSafeWork(params: Params): Result { + val event = localEchoRepository.getUpToDateEcho(params.eventId) if (event?.eventId == null || event.roomId == null) { - // Old way of sending - if (params.eventId != null) { - localEchoRepository.updateSendState(params.eventId, SendState.UNDELIVERED) - } + localEchoRepository.updateSendState(params.eventId, SendState.UNDELIVERED) return Result.success() .also { Timber.e("Work cancelled due to bad input data") } } @@ -106,6 +99,10 @@ internal class SendEventWorker(context: Context, } } + override fun buildErrorParams(params: Params, message: String): Params { + return params.copy(lastFailureMessage = params.lastFailureMessage ?: message) + } + private suspend fun sendEvent(eventId: String, roomId: String, type: String, content: Content?) { localEchoRepository.updateSendState(eventId, SendState.SENDING) executeRequest<SendResponse>(eventBus) { diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/SendResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/SendResponse.kt index d9ba553c..13f0f3c1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/SendResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/SendResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/TextContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/TextContent.kt index 33490a4a..efc0b55a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/TextContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/TextContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/pills/MentionLinkSpec.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/pills/MentionLinkSpec.kt index 18063bbc..57c3eacb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/pills/MentionLinkSpec.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/pills/MentionLinkSpec.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/pills/MentionLinkSpecComparator.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/pills/MentionLinkSpecComparator.kt index e6bc19f3..3d235ec4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/pills/MentionLinkSpecComparator.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/pills/MentionLinkSpecComparator.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/pills/TextPillsUtils.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/pills/TextPillsUtils.kt index e0fe580c..faf966ed 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/pills/TextPillsUtils.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/pills/TextPillsUtils.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/state/DefaultStateService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/state/DefaultStateService.kt index 0150acd1..d21805f4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/state/DefaultStateService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/state/DefaultStateService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/state/SendStateTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/state/SendStateTask.kt index 52e865c4..642f68c1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/state/SendStateTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/state/SendStateTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/state/StateEventDataSource.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/state/StateEventDataSource.kt index 65d30868..d0f6f805 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/state/StateEventDataSource.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/state/StateEventDataSource.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryDataSource.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryDataSource.kt index a43241a6..107055b8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryDataSource.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryDataSource.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryEventsHelper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryEventsHelper.kt index dd71bff4..a3862b00 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryEventsHelper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryEventsHelper.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryUpdater.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryUpdater.kt index 0aac3065..f9a27c36 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryUpdater.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryUpdater.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -95,6 +94,7 @@ internal class RoomSummaryUpdater @Inject constructor( // Don't use current state for this one as we are only interested in having MXCRYPTO_ALGORITHM_MEGOLM event in the room val encryptionEvent = EventEntity.whereType(realm, roomId = roomId, type = EventType.STATE_ROOM_ENCRYPTION) .contains(EventEntityFields.CONTENT, "\"algorithm\":\"$MXCRYPTO_ALGORITHM_MEGOLM\"") + .isNotNull(EventEntityFields.STATE_KEY) .findFirst() val latestPreviewableEvent = RoomSummaryEventsHelper.getLatestPreviewableEvent(realm, roomId) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tags/AddTagToRoomTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tags/AddTagToRoomTask.kt index d78a7f33..013fc86d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tags/AddTagToRoomTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tags/AddTagToRoomTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tags/DefaultTagsService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tags/DefaultTagsService.kt index 141adad6..932cb5d6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tags/DefaultTagsService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tags/DefaultTagsService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tags/DeleteTagFromRoomTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tags/DeleteTagFromRoomTask.kt index 90173385..b22355d4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tags/DeleteTagFromRoomTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tags/DeleteTagFromRoomTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tags/TagBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tags/TagBody.kt index 33d39ba4..c30ef8e3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tags/TagBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tags/TagBody.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/DefaultGetContextOfEventTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/DefaultGetContextOfEventTask.kt index 9d880c04..7a611dd3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/DefaultGetContextOfEventTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/DefaultGetContextOfEventTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/DefaultPaginationTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/DefaultPaginationTask.kt index 55b8fb6f..b663d03b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/DefaultPaginationTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/DefaultPaginationTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/DefaultTimeline.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/DefaultTimeline.kt index 2dead1d9..9178759b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/DefaultTimeline.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/DefaultTimeline.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -29,6 +28,7 @@ import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode import org.matrix.android.sdk.api.MatrixCallback import org.matrix.android.sdk.api.extensions.orFalse +import org.matrix.android.sdk.api.extensions.tryOrNull import org.matrix.android.sdk.api.session.events.model.EventType import org.matrix.android.sdk.api.session.events.model.RelationType import org.matrix.android.sdk.api.session.events.model.toModel @@ -333,12 +333,22 @@ internal class DefaultTimeline( // Private methods ***************************************************************************** - private fun rebuildEvent(eventId: String, builder: (TimelineEvent) -> TimelineEvent): Boolean { - return builtEventsIdMap[eventId]?.let { builtIndex -> - // Update the relation of existing event - builtEvents[builtIndex]?.let { te -> - builtEvents[builtIndex] = builder(te) - true + private fun rebuildEvent(eventId: String, builder: (TimelineEvent) -> TimelineEvent?): Boolean { + return tryOrNull { + builtEventsIdMap[eventId]?.let { builtIndex -> + // Update the relation of existing event + builtEvents[builtIndex]?.let { te -> + val rebuiltEvent = builder(te) + // If rebuilt event is filtered its returned as null and should be removed. + if (rebuiltEvent == null) { + builtEventsIdMap.remove(eventId) + builtEventsIdMap.entries.filter { it.value > builtIndex }.forEach { it.setValue(it.value - 1) } + builtEvents.removeAt(builtIndex) + } else { + builtEvents[builtIndex] = rebuiltEvent + } + true + } } } ?: false } @@ -489,7 +499,8 @@ internal class DefaultTimeline( val eventEntity = results[index] eventEntity?.eventId?.let { eventId -> postSnapshot = rebuildEvent(eventId) { - buildTimelineEvent(eventEntity) + val builtEvent = buildTimelineEvent(eventEntity) + listOf(builtEvent).filterEventsWithSettings().firstOrNull() } || postSnapshot } } @@ -775,9 +786,8 @@ internal class DefaultTimeline( } if (!filterEdits) return@filter false - val filterRedacted = !settings.filters.filterRedacted || it.root.isRedacted() - - filterRedacted + val filterRedacted = settings.filters.filterRedacted && it.root.isRedacted() + !filterRedacted } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/DefaultTimelineService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/DefaultTimelineService.kt index c60a9444..df2d238c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/DefaultTimelineService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/DefaultTimelineService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/EventContextResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/EventContextResponse.kt index 27006c81..bce03354 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/EventContextResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/EventContextResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/FetchTokenAndPaginateTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/FetchTokenAndPaginateTask.kt index 23a32996..d1bfa1ad 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/FetchTokenAndPaginateTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/FetchTokenAndPaginateTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/GetEventTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/GetEventTask.kt index 531fac4a..acac3929 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/GetEventTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/GetEventTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/PaginationDirection.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/PaginationDirection.kt index 581f23c4..930d0175 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/PaginationDirection.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/PaginationDirection.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/PaginationResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/PaginationResponse.kt index b0f2e693..ed384d3b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/PaginationResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/PaginationResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TimelineEventDecryptor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TimelineEventDecryptor.kt index 0ca0d19b..e91487ea 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TimelineEventDecryptor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TimelineEventDecryptor.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -59,6 +58,7 @@ internal class TimelineEventDecryptor @Inject constructor( // Set of eventIds which are currently decrypting private val existingRequests = mutableSetOf<DecryptionRequest>() + // sessionId -> list of eventIds private val unknownSessionsFailure = mutableMapOf<String, MutableSet<DecryptionRequest>>() diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TimelineHiddenReadReceipts.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TimelineHiddenReadReceipts.kt index f2c520a5..3dcc5e21 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TimelineHiddenReadReceipts.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TimelineHiddenReadReceipts.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TimelineSendEventWorkCommon.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TimelineSendEventWorkCommon.kt index 3bc6a85c..e30d1b5b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TimelineSendEventWorkCommon.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TimelineSendEventWorkCommon.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TokenChunkEvent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TokenChunkEvent.kt index 655af7c4..08b20f17 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TokenChunkEvent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TokenChunkEvent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TokenChunkEventPersistor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TokenChunkEventPersistor.kt index 1fefdf9b..2a532c6b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TokenChunkEventPersistor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TokenChunkEventPersistor.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tombstone/RoomTombstoneEventProcessor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tombstone/RoomTombstoneEventProcessor.kt index 8707eb24..8022d989 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tombstone/RoomTombstoneEventProcessor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/tombstone/RoomTombstoneEventProcessor.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/typing/DefaultTypingService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/typing/DefaultTypingService.kt index b8db9ce6..5dcf3fcd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/typing/DefaultTypingService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/typing/DefaultTypingService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -49,6 +48,7 @@ internal class DefaultTypingService @AssistedInject constructor( // What the homeserver knows private var userIsTyping = false + // Last time the user is typing event has been sent private var lastRequestTimestamp: Long = 0 diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/typing/SendTypingTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/typing/SendTypingTask.kt index 719fffbb..c8cbb08e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/typing/SendTypingTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/typing/SendTypingTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/typing/TypingBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/typing/TypingBody.kt index 8ed77a48..973870bb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/typing/TypingBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/typing/TypingBody.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/typing/TypingEventContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/typing/TypingEventContent.kt index f616bfef..488d38d7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/typing/TypingEventContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/typing/TypingEventContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/uploads/DefaultUploadsService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/uploads/DefaultUploadsService.kt index 76fb18b1..824bd23c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/uploads/DefaultUploadsService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/uploads/DefaultUploadsService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/uploads/GetUploadsTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/uploads/GetUploadsTask.kt index be53b8af..d0439ce7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/uploads/GetUploadsTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/uploads/GetUploadsTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/DefaultSearchService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/DefaultSearchService.kt new file mode 100644 index 00000000..2ba1eebe --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/DefaultSearchService.kt @@ -0,0 +1,55 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.search + +import org.matrix.android.sdk.api.MatrixCallback +import org.matrix.android.sdk.api.session.search.SearchResult +import org.matrix.android.sdk.api.session.search.SearchService +import org.matrix.android.sdk.api.util.Cancelable +import javax.inject.Inject +import org.matrix.android.sdk.internal.task.TaskExecutor +import org.matrix.android.sdk.internal.task.configureWith + +internal class DefaultSearchService @Inject constructor( + private val taskExecutor: TaskExecutor, + private val searchTask: SearchTask +) : SearchService { + + override fun search(searchTerm: String, + roomId: String, + nextBatch: String?, + orderByRecent: Boolean, + limit: Int, + beforeLimit: Int, + afterLimit: Int, + includeProfile: Boolean, + callback: MatrixCallback<SearchResult>): Cancelable { + return searchTask + .configureWith(SearchTask.Params( + searchTerm = searchTerm, + roomId = roomId, + nextBatch = nextBatch, + orderByRecent = orderByRecent, + limit = limit, + beforeLimit = beforeLimit, + afterLimit = afterLimit, + includeProfile = includeProfile + )) { + this.callback = callback + }.executeBy(taskExecutor) + } +} diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/SearchAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/SearchAPI.kt new file mode 100644 index 00000000..4a74b0a0 --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/SearchAPI.kt @@ -0,0 +1,36 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.search + +import org.matrix.android.sdk.internal.network.NetworkConstants +import org.matrix.android.sdk.internal.session.search.request.SearchRequestBody +import org.matrix.android.sdk.internal.session.search.response.SearchResponse +import retrofit2.Call +import retrofit2.http.Body +import retrofit2.http.POST +import retrofit2.http.Query + +internal interface SearchAPI { + + /** + * Performs a full text search across different categories. + * Ref: https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-search + */ + @POST(NetworkConstants.URI_API_PREFIX_PATH_R0 + "search") + fun search(@Query("next_batch") nextBatch: String?, + @Body body: SearchRequestBody): Call<SearchResponse> +} diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/SearchModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/SearchModule.kt new file mode 100644 index 00000000..ae808107 --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/SearchModule.kt @@ -0,0 +1,44 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.search + +import dagger.Binds +import dagger.Module +import dagger.Provides +import org.matrix.android.sdk.api.session.search.SearchService +import org.matrix.android.sdk.internal.session.SessionScope +import retrofit2.Retrofit + +@Module +internal abstract class SearchModule { + + @Module + companion object { + @Provides + @JvmStatic + @SessionScope + fun providesSearchAPI(retrofit: Retrofit): SearchAPI { + return retrofit.create(SearchAPI::class.java) + } + } + + @Binds + abstract fun bindSearchService(service: DefaultSearchService): SearchService + + @Binds + abstract fun bindSearchTask(task: DefaultSearchTask): SearchTask +} diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/SearchTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/SearchTask.kt new file mode 100644 index 00000000..4f574e5e --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/SearchTask.kt @@ -0,0 +1,97 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.search + +import org.greenrobot.eventbus.EventBus +import org.matrix.android.sdk.api.session.search.EventAndSender +import org.matrix.android.sdk.api.session.search.SearchResult +import org.matrix.android.sdk.api.util.MatrixItem +import org.matrix.android.sdk.internal.network.executeRequest +import org.matrix.android.sdk.internal.session.search.request.SearchRequestBody +import org.matrix.android.sdk.internal.session.search.request.SearchRequestCategories +import org.matrix.android.sdk.internal.session.search.request.SearchRequestEventContext +import org.matrix.android.sdk.internal.session.search.request.SearchRequestFilter +import org.matrix.android.sdk.internal.session.search.request.SearchRequestOrder +import org.matrix.android.sdk.internal.session.search.request.SearchRequestRoomEvents +import org.matrix.android.sdk.internal.session.search.response.SearchResponse +import org.matrix.android.sdk.internal.task.Task +import javax.inject.Inject + +internal interface SearchTask : Task<SearchTask.Params, SearchResult> { + + data class Params( + val searchTerm: String, + val roomId: String, + val nextBatch: String? = null, + val orderByRecent: Boolean, + val limit: Int, + val beforeLimit: Int, + val afterLimit: Int, + val includeProfile: Boolean + ) +} + +internal class DefaultSearchTask @Inject constructor( + private val searchAPI: SearchAPI, + private val eventBus: EventBus +) : SearchTask { + + override suspend fun execute(params: SearchTask.Params): SearchResult { + return executeRequest<SearchResponse>(eventBus) { + val searchRequestBody = SearchRequestBody( + searchCategories = SearchRequestCategories( + roomEvents = SearchRequestRoomEvents( + searchTerm = params.searchTerm, + orderBy = if (params.orderByRecent) SearchRequestOrder.RECENT else SearchRequestOrder.RANK, + filter = SearchRequestFilter( + limit = params.limit, + rooms = listOf(params.roomId) + ), + eventContext = SearchRequestEventContext( + beforeLimit = params.beforeLimit, + afterLimit = params.afterLimit, + includeProfile = params.includeProfile + ) + ) + ) + ) + apiCall = searchAPI.search(params.nextBatch, searchRequestBody) + }.toDomain() + } + + private fun SearchResponse.toDomain(): SearchResult { + return SearchResult( + nextBatch = searchCategories.roomEvents?.nextBatch, + highlights = searchCategories.roomEvents?.highlights, + results = searchCategories.roomEvents?.results?.map { searchResponseItem -> + EventAndSender( + searchResponseItem.event, + searchResponseItem.event.senderId?.let { senderId -> + searchResponseItem.context?.profileInfo?.get(senderId) + ?.let { + MatrixItem.UserItem( + senderId, + it["displayname"] as? String, + it["avatar_url"] as? String + ) + } + } + ) + }?.reversed() + ) + } +} diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestBody.kt new file mode 100644 index 00000000..c8d21dba --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestBody.kt @@ -0,0 +1,29 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.search.request + +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) +internal data class SearchRequestBody( + /** + * Required. Describes which categories to search in and their criteria. + */ + @Json(name = "search_categories") + val searchCategories: SearchRequestCategories +) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestCategories.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestCategories.kt new file mode 100644 index 00000000..452cf5ae --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestCategories.kt @@ -0,0 +1,29 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.search.request + +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) +internal data class SearchRequestCategories( + /** + * Mapping of category name to search criteria. + */ + @Json(name = "room_events") + val roomEvents: SearchRequestRoomEvents? = null +) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestEventContext.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestEventContext.kt new file mode 100644 index 00000000..5c5c335c --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestEventContext.kt @@ -0,0 +1,33 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.search.request + +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) +internal data class SearchRequestEventContext( + // How many events before the result are returned. + @Json(name = "before_limit") + val beforeLimit: Int? = null, + // How many events after the result are returned. + @Json(name = "after_limit") + val afterLimit: Int? = null, + // Requests that the server returns the historic profile information + @Json(name = "include_profile") + val includeProfile: Boolean? = null +) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestFilter.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestFilter.kt new file mode 100644 index 00000000..8d733968 --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestFilter.kt @@ -0,0 +1,30 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.search.request + +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) +internal data class SearchRequestFilter( + // The maximum number of events to return. + @Json(name = "limit") + val limit: Int? = null, + // A list of room IDs to include. If this list is absent then all rooms are included. + @Json(name = "rooms") + val rooms: List<String>? = null +) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestOrder.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestOrder.kt new file mode 100644 index 00000000..1cbcdb78 --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestOrder.kt @@ -0,0 +1,29 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.search.request + +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +/** + * Represents the order in which to search for results. + */ +@JsonClass(generateAdapter = false) +internal enum class SearchRequestOrder { + @Json(name = "rank") RANK, + @Json(name = "recent") RECENT +} diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestRoomEvents.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestRoomEvents.kt new file mode 100644 index 00000000..60643818 --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/request/SearchRequestRoomEvents.kt @@ -0,0 +1,64 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.search.request + +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) +internal data class SearchRequestRoomEvents( + /** + * Required. The string to search events for. + */ + @Json(name = "search_term") + val searchTerm: String, + + /** + * The keys to search. Defaults to all. One of: ["content.body", "content.name", "content.topic"] + */ + @Json(name = "keys") + val keys: Any? = null, + + /** + * This takes a filter. + */ + @Json(name = "filter") + val filter: SearchRequestFilter? = null, + + /** + * The order in which to search for results. By default, this is "rank". One of: ["recent", "rank"] + */ + @Json(name = "order_by") + val orderBy: SearchRequestOrder? = null, + + /** + * Configures whether any context for the events returned are included in the response. + */ + @Json(name = "event_context") + val eventContext: SearchRequestEventContext? = null, + + /** + * Requests the server return the current state for each room returned. + */ + @Json(name = "include_state") + val include_state: Boolean? = null + + /** + * Requests that the server partitions the result set based on the provided list of keys. + */ + // val groupings: SearchRequestGroupings? = null +) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponse.kt new file mode 100644 index 00000000..1afb985f --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponse.kt @@ -0,0 +1,29 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.search.response + +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) +internal data class SearchResponse( + /** + * Required. Describes which categories to search in and their criteria. + */ + @Json(name = "search_categories") + val searchCategories: SearchResponseCategories +) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponseCategories.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponseCategories.kt new file mode 100644 index 00000000..03a41c0e --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponseCategories.kt @@ -0,0 +1,29 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.search.response + +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) +internal data class SearchResponseCategories( + /** + * Mapping of category name to search criteria. + */ + @Json(name = "room_events") + val roomEvents: SearchResponseRoomEvents? = null +) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponseEventContext.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponseEventContext.kt new file mode 100644 index 00000000..aeeb6026 --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponseEventContext.kt @@ -0,0 +1,41 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.search.response + +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +import org.matrix.android.sdk.api.session.events.model.Event +import org.matrix.android.sdk.api.util.JsonDict + +@JsonClass(generateAdapter = true) +internal data class SearchResponseEventContext( + // Events just before the result. + @Json(name = "events_before") + val eventsBefore: List<Event>, + // Events just after the result. + @Json(name = "events_after") + val eventsAfter: List<Event>, + // Pagination token for the start of the chunk + @Json(name = "start") + val start: String? = null, + // Pagination token for the end of the chunk + @Json(name = "end") + val end: String? = null, + // The historic profile information of the users that sent the events returned. The string key is the user ID for which the profile belongs to. + @Json(name = "profile_info") + val profileInfo: Map<String, JsonDict>? = null +) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponseItem.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponseItem.kt new file mode 100644 index 00000000..2c5f842f --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponseItem.kt @@ -0,0 +1,42 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.search.response + +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +import org.matrix.android.sdk.api.session.events.model.Event + +@JsonClass(generateAdapter = true) +internal data class SearchResponseItem( + /** + * A number that describes how closely this result matches the search. Higher is closer. + */ + @Json(name = "rank") + val rank: Double? = null, + + /** + * The event that matched. + */ + @Json(name = "result") + val event: Event, + + /** + * Context for result, if requested. + */ + @Json(name = "context") + val context: SearchResponseEventContext? = null +) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponseRoomEvents.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponseRoomEvents.kt new file mode 100644 index 00000000..56e3738a --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/search/response/SearchResponseRoomEvents.kt @@ -0,0 +1,42 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.search.response + +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) +internal data class SearchResponseRoomEvents( + /** + * List of results in the requested order. + */ + @Json(name = "results") + val results: List<SearchResponseItem>? = null, + @Json(name = "count") + val count: Int? = null, + /** + * List of words which should be highlighted, useful for stemming which may change the query terms. + */ + @Json(name = "highlights") + val highlights: List<String>? = null, + /** + * Token that can be used to get the next batch of results, by passing as the next_batch parameter to the next call. + * If this field is absent, there are no more results. + */ + @Json(name = "next_batch") + val nextBatch: String? = null +) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/securestorage/DefaultSecureStorageService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/securestorage/DefaultSecureStorageService.kt index 4ac79679..ef8133dd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/securestorage/DefaultSecureStorageService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/securestorage/DefaultSecureStorageService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/securestorage/SecretStoringUtils.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/securestorage/SecretStoringUtils.kt index 8eab4436..c3b2d7f1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/securestorage/SecretStoringUtils.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/securestorage/SecretStoringUtils.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/DefaultSignOutService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/DefaultSignOutService.kt index 0fdecc8d..ea3730b1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/DefaultSignOutService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/DefaultSignOutService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/SignInAgainTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/SignInAgainTask.kt index 6f26fb25..3bed0bdb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/SignInAgainTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/SignInAgainTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/SignOutAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/SignOutAPI.kt index e4b05bfc..4c92938b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/SignOutAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/SignOutAPI.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/SignOutModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/SignOutModule.kt index c4822000..cdf13329 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/SignOutModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/SignOutModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/SignOutTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/SignOutTask.kt index ef507477..153ea5a6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/SignOutTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/signout/SignOutTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/CryptoSyncHandler.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/CryptoSyncHandler.kt index 5c855e19..da28199f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/CryptoSyncHandler.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/CryptoSyncHandler.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/GroupSyncHandler.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/GroupSyncHandler.kt index c3dd9fd5..135f711a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/GroupSyncHandler.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/GroupSyncHandler.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/ReadReceiptHandler.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/ReadReceiptHandler.kt index 5fe23e1b..a3c5891f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/ReadReceiptHandler.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/ReadReceiptHandler.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -92,9 +91,9 @@ internal class ReadReceiptHandler @Inject constructor() { for ((eventId, receiptDict) in content) { val userIdsDict = receiptDict[READ_KEY] ?: continue val readReceiptsSummary = ReadReceiptsSummaryEntity.where(realm, eventId).findFirst() - ?: realm.createObject(ReadReceiptsSummaryEntity::class.java, eventId).apply { - this.roomId = roomId - } + ?: realm.createObject(ReadReceiptsSummaryEntity::class.java, eventId).apply { + this.roomId = roomId + } for ((userId, paramsDict) in userIdsDict) { val ts = paramsDict[TIMESTAMP_KEY] ?: 0.0 diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/RoomFullyReadHandler.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/RoomFullyReadHandler.kt index b0c44ef4..e8934fdf 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/RoomFullyReadHandler.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/RoomFullyReadHandler.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/RoomSyncHandler.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/RoomSyncHandler.kt index 64c30825..8589889b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/RoomSyncHandler.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/RoomSyncHandler.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/RoomTagHandler.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/RoomTagHandler.kt index 8dbd77f3..f9ae41bc 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/RoomTagHandler.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/RoomTagHandler.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -34,7 +33,7 @@ internal class RoomTagHandler @Inject constructor() { RoomTagEntity(tagName, params["order"] as? Double) } val roomSummaryEntity = RoomSummaryEntity.where(realm, roomId).findFirst() - ?: RoomSummaryEntity(roomId) + ?: RoomSummaryEntity(roomId) roomSummaryEntity.tags.clear() roomSummaryEntity.tags.addAll(tags) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/RoomTypingUsersHandler.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/RoomTypingUsersHandler.kt index 71a4d33d..1655e551 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/RoomTypingUsersHandler.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/RoomTypingUsersHandler.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncAPI.kt index db14c534..427a8896 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncAPI.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncModule.kt index 87afe78e..010c029c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncPresence.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncPresence.kt new file mode 100644 index 00000000..18e17c7d --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncPresence.kt @@ -0,0 +1,31 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.sync + +/** + * For `set_presence` parameter in the /sync request + * + * Controls whether the client is automatically marked as online by polling this API. If this parameter + * is omitted then the client is automatically marked as online when it uses this API. Otherwise if the + * parameter is set to "offline" then the client is not marked as being online when it uses this API. + * When set to "unavailable", the client is marked as being idle. One of: ["offline", "online", "unavailable"] + */ +enum class SyncPresence(val value: String) { + Offline("offline"), + Online("online"), + Unavailable("unavailable") +} diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncResponseHandler.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncResponseHandler.kt index b58727cb..a80b0624 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncResponseHandler.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncResponseHandler.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -131,7 +130,7 @@ internal class SyncResponseHandler @Inject constructor(@SessionDatabase private /** * At the moment we don't get any group data through the sync, so we poll where every hour. - You can also force to refetch group data using [Group] API. + * You can also force to refetch group data using [Group] API. */ private fun scheduleGroupDataFetchingIfNeeded(groupsSyncResponse: GroupsSyncResponse) { val groupIds = ArrayList<String>() diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncTask.kt index 9924d447..303bb454 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,6 +16,7 @@ package org.matrix.android.sdk.internal.session.sync +import org.greenrobot.eventbus.EventBus import org.matrix.android.sdk.R import org.matrix.android.sdk.internal.di.UserId import org.matrix.android.sdk.internal.network.executeRequest @@ -26,13 +26,15 @@ import org.matrix.android.sdk.internal.session.homeserver.GetHomeServerCapabilit import org.matrix.android.sdk.internal.session.sync.model.SyncResponse import org.matrix.android.sdk.internal.session.user.UserStore import org.matrix.android.sdk.internal.task.Task -import org.greenrobot.eventbus.EventBus import timber.log.Timber import javax.inject.Inject internal interface SyncTask : Task<SyncTask.Params, Unit> { - data class Params(var timeout: Long = 6_000L) + data class Params( + val timeout: Long, + val presence: SyncPresence? + ) } internal class DefaultSyncTask @Inject constructor( @@ -64,6 +66,7 @@ internal class DefaultSyncTask @Inject constructor( } requestParams["timeout"] = timeout.toString() requestParams["filter"] = filterRepository.getFilter() + params.presence?.let { requestParams["set_presence"] = it.value } val isInitialSync = token == null if (isInitialSync) { diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncTaskSequencer.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncTaskSequencer.kt index 4b29a82a..17d46511 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncTaskSequencer.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncTaskSequencer.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncTokenStore.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncTokenStore.kt index e001e611..cf061586 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncTokenStore.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncTokenStore.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/UserAccountDataSyncHandler.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/UserAccountDataSyncHandler.kt index 4ef6a5a3..0e549172 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/UserAccountDataSyncHandler.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/UserAccountDataSyncHandler.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/job/SyncService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/job/SyncService.kt index 485eca6f..6d100a71 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/job/SyncService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/job/SyncService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -31,6 +30,7 @@ import org.matrix.android.sdk.api.failure.isTokenError import org.matrix.android.sdk.api.session.Session import org.matrix.android.sdk.api.session.sync.SyncState import org.matrix.android.sdk.internal.network.NetworkConnectivityChecker +import org.matrix.android.sdk.internal.session.sync.SyncPresence import org.matrix.android.sdk.internal.session.sync.SyncTask import org.matrix.android.sdk.internal.task.TaskExecutor import org.matrix.android.sdk.internal.util.BackgroundDetectionObserver @@ -148,7 +148,7 @@ abstract class SyncService : Service() { private suspend fun doSync() { Timber.v("## Sync: Execute sync request with timeout $syncTimeoutSeconds seconds") - val params = SyncTask.Params(syncTimeoutSeconds * 1000L) + val params = SyncTask.Params(syncTimeoutSeconds * 1000L, SyncPresence.Offline) try { // never do that in foreground, let the syncThread work syncTask.execute(params) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/job/SyncThread.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/job/SyncThread.kt index 9fd9c313..cfd78652 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/job/SyncThread.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/job/SyncThread.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -39,6 +38,7 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking import org.matrix.android.sdk.api.session.call.MxCall import org.matrix.android.sdk.internal.session.call.ActiveCallHandler +import org.matrix.android.sdk.internal.session.sync.SyncPresence import timber.log.Timber import java.net.SocketTimeoutException import java.util.Timer @@ -162,7 +162,7 @@ internal class SyncThread @Inject constructor(private val syncTask: SyncTask, // No timeout after a pause val timeout = state.let { if (it is SyncState.Running && it.afterPause) 0 else DEFAULT_LONG_POOL_TIMEOUT } Timber.v("Execute sync request with timeout $timeout") - val params = SyncTask.Params(timeout) + val params = SyncTask.Params(timeout, SyncPresence.Online) val sync = syncScope.launch { doSync(params) } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/job/SyncWorker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/job/SyncWorker.kt index 3e0a29ba..211b6435 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/job/SyncWorker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/job/SyncWorker.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,18 +17,19 @@ package org.matrix.android.sdk.internal.session.sync.job import android.content.Context import androidx.work.BackoffPolicy -import androidx.work.CoroutineWorker import androidx.work.ExistingWorkPolicy import androidx.work.WorkerParameters import com.squareup.moshi.JsonClass import org.matrix.android.sdk.api.failure.isTokenError import org.matrix.android.sdk.internal.di.WorkManagerProvider import org.matrix.android.sdk.internal.network.NetworkConnectivityChecker +import org.matrix.android.sdk.internal.session.SessionComponent +import org.matrix.android.sdk.internal.session.sync.SyncPresence import org.matrix.android.sdk.internal.session.sync.SyncTask import org.matrix.android.sdk.internal.task.TaskExecutor +import org.matrix.android.sdk.internal.worker.SessionSafeCoroutineWorker import org.matrix.android.sdk.internal.worker.SessionWorkerParams import org.matrix.android.sdk.internal.worker.WorkerParamsFactory -import org.matrix.android.sdk.internal.worker.getSessionComponent import timber.log.Timber import java.util.concurrent.TimeUnit import javax.inject.Inject @@ -43,7 +43,7 @@ private const val DEFAULT_DELAY_TIMEOUT = 30_000L */ internal class SyncWorker(context: Context, workerParameters: WorkerParameters -) : CoroutineWorker(context, workerParameters) { +) : SessionSafeCoroutineWorker<SyncWorker.Params>(context, workerParameters, Params::class.java) { @JsonClass(generateAdapter = true) internal data class Params( @@ -59,14 +59,13 @@ internal class SyncWorker(context: Context, @Inject lateinit var networkConnectivityChecker: NetworkConnectivityChecker @Inject lateinit var workManagerProvider: WorkManagerProvider - override suspend fun doWork(): Result { + override fun injectWith(injector: SessionComponent) { + injector.inject(this) + } + + override suspend fun doSafeWork(params: Params): Result { Timber.i("Sync work starting") - val params = WorkerParamsFactory.fromData<Params>(inputData) - ?: return Result.success() - .also { Timber.e("Unable to parse work parameters") } - val sessionComponent = getSessionComponent(params.sessionId) ?: return Result.success() - sessionComponent.inject(this) return runCatching { doSync(params.timeout) }.fold( @@ -91,8 +90,12 @@ internal class SyncWorker(context: Context, ) } + override fun buildErrorParams(params: Params, message: String): Params { + return params.copy(lastFailureMessage = params.lastFailureMessage ?: message) + } + private suspend fun doSync(timeout: Long) { - val taskParams = SyncTask.Params(timeout * 1000) + val taskParams = SyncTask.Params(timeout * 1000, SyncPresence.Offline) syncTask.execute(taskParams) } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DeviceInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DeviceInfo.kt index 0e7fbf49..fdb99161 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DeviceInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DeviceInfo.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DeviceListResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DeviceListResponse.kt index df790601..bfa8c342 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DeviceListResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DeviceListResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DeviceOneTimeKeysCountSyncResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DeviceOneTimeKeysCountSyncResponse.kt index 36fe4acf..d5b435ac 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DeviceOneTimeKeysCountSyncResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DeviceOneTimeKeysCountSyncResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DevicesListResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DevicesListResponse.kt index ec59e8f2..3dc71a35 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DevicesListResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/DevicesListResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/GroupSyncProfile.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/GroupSyncProfile.kt index 5a7ed53c..ee6aabb0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/GroupSyncProfile.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/GroupSyncProfile.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/GroupsSyncResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/GroupsSyncResponse.kt index 68557d1d..4c2dce3b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/GroupsSyncResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/GroupsSyncResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/InvitedGroupSync.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/InvitedGroupSync.kt index cae6bc36..148c2aea 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/InvitedGroupSync.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/InvitedGroupSync.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/InvitedRoomSync.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/InvitedRoomSync.kt index efd1b50b..c21a73ab 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/InvitedRoomSync.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/InvitedRoomSync.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/PresenceSyncResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/PresenceSyncResponse.kt index 2c6057d1..92d09aa4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/PresenceSyncResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/PresenceSyncResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomInviteState.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomInviteState.kt index e37d4f58..ded9e2a3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomInviteState.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomInviteState.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomResponse.kt index df53eabd..4b578511 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSync.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSync.kt index 08556e80..212d3191 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSync.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSync.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncAccountData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncAccountData.kt index 13ea47a5..1c35d812 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncAccountData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncAccountData.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncEphemeral.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncEphemeral.kt index 6d0e9e82..d59dddb3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncEphemeral.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncEphemeral.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncState.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncState.kt index f30e5a08..5355b7ee 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncState.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncState.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncSummary.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncSummary.kt index a2dddb9e..228a71ec 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncSummary.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncSummary.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncTimeline.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncTimeline.kt index 29e5d208..ddf43009 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncTimeline.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncTimeline.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncUnreadNotifications.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncUnreadNotifications.kt index bbcec474..f01534b8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncUnreadNotifications.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomSyncUnreadNotifications.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomsSyncResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomsSyncResponse.kt index 79000edf..dd2f96c9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomsSyncResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/RoomsSyncResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/SyncResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/SyncResponse.kt index e57c6cd1..f2b2fb7e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/SyncResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/SyncResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/ToDeviceSyncResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/ToDeviceSyncResponse.kt index 1bc9f0a3..8f3af56c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/ToDeviceSyncResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/ToDeviceSyncResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/TokensChunkResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/TokensChunkResponse.kt index 813c300e..533ba70b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/TokensChunkResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/TokensChunkResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/AcceptedTermsContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/AcceptedTermsContent.kt index 57cd3872..0fd20354 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/AcceptedTermsContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/AcceptedTermsContent.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/BreadcrumbsContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/BreadcrumbsContent.kt index 54aa5cb0..caba9674 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/BreadcrumbsContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/BreadcrumbsContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/DirectMessagesContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/DirectMessagesContent.kt index fbaccf08..c406f3ac 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/DirectMessagesContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/DirectMessagesContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/IdentityServerContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/IdentityServerContent.kt index 5328525c..ddda82fb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/IdentityServerContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/IdentityServerContent.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/IgnoredUsersContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/IgnoredUsersContent.kt index 1095d2e7..c660d8f3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/IgnoredUsersContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/IgnoredUsersContent.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/UserAccountDataSync.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/UserAccountDataSync.kt index 358f090b..05b50ab2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/UserAccountDataSync.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/model/accountdata/UserAccountDataSync.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/AcceptTermsBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/AcceptTermsBody.kt index 497d30fd..ee23c9e6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/AcceptTermsBody.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/AcceptTermsBody.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/DefaultTermsService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/DefaultTermsService.kt index f887754b..5eb97cee 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/DefaultTermsService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/DefaultTermsService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/TermsAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/TermsAPI.kt index 950c0a15..4c97f462 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/TermsAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/TermsAPI.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/TermsModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/TermsModule.kt index 7aa97cd1..b7cd7a4a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/TermsModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/TermsModule.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/TermsResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/TermsResponse.kt index 240291c0..a185e0b8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/TermsResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/terms/TermsResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/typing/DefaultTypingUsersTracker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/typing/DefaultTypingUsersTracker.kt index 0fa55746..2b7ff262 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/typing/DefaultTypingUsersTracker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/typing/DefaultTypingUsersTracker.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/DefaultUserService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/DefaultUserService.kt index e79893e7..d2eb7a14 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/DefaultUserService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/DefaultUserService.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/SearchUserAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/SearchUserAPI.kt index 2b9a5f4a..c5c546bb 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/SearchUserAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/SearchUserAPI.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/UserDataSource.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/UserDataSource.kt index f6cb86c0..e83725b1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/UserDataSource.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/UserDataSource.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/UserEntityFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/UserEntityFactory.kt index 6333a87a..9a9458e8 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/UserEntityFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/UserEntityFactory.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/UserModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/UserModule.kt index 51e43390..4dfc7586 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/UserModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/UserModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/UserStore.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/UserStore.kt index ea64cb9a..5c8cbd08 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/UserStore.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/UserStore.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/AccountDataAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/AccountDataAPI.kt index 25336cac..3de484fa 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/AccountDataAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/AccountDataAPI.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/AccountDataContent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/AccountDataContent.kt index 5384a1ba..5f9f0777 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/AccountDataContent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/AccountDataContent.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/AccountDataDataSource.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/AccountDataDataSource.kt index a9261edd..d145c008 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/AccountDataDataSource.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/AccountDataDataSource.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/AccountDataModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/AccountDataModule.kt index 291d0bfa..3173686a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/AccountDataModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/AccountDataModule.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/DefaultAccountDataService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/DefaultAccountDataService.kt index 2bf17058..1f1e987e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/DefaultAccountDataService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/DefaultAccountDataService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/DirectChatsHelper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/DirectChatsHelper.kt index 8bec45a2..e297f59b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/DirectChatsHelper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/DirectChatsHelper.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/SaveBreadcrumbsTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/SaveBreadcrumbsTask.kt index 6ef28954..d6c95d6b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/SaveBreadcrumbsTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/SaveBreadcrumbsTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/SaveIgnoredUsersTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/SaveIgnoredUsersTask.kt index 9141aabc..63c0ce64 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/SaveIgnoredUsersTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/SaveIgnoredUsersTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/UpdateBreadcrumbsTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/UpdateBreadcrumbsTask.kt index ab602dd6..874c2741 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/UpdateBreadcrumbsTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/UpdateBreadcrumbsTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/UpdateIgnoredUserIdsTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/UpdateIgnoredUserIdsTask.kt index b47a2518..d1393c8b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/UpdateIgnoredUserIdsTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/UpdateIgnoredUserIdsTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/UpdateUserAccountDataTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/UpdateUserAccountDataTask.kt index a68d76f2..80ab79b2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/UpdateUserAccountDataTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/accountdata/UpdateUserAccountDataTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/model/SearchUser.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/model/SearchUser.kt index 4299794c..78981c53 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/model/SearchUser.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/model/SearchUser.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/model/SearchUserTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/model/SearchUserTask.kt index 5f587d7f..cd9be0e7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/model/SearchUserTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/model/SearchUserTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/model/SearchUsersParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/model/SearchUsersParams.kt index b8e855a0..46285965 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/model/SearchUsersParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/model/SearchUsersParams.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/model/SearchUsersResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/model/SearchUsersResponse.kt index 646d8e63..e2a93abd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/model/SearchUsersResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/user/model/SearchUsersResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/CreateWidgetTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/CreateWidgetTask.kt index 9f7981a9..422615af 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/CreateWidgetTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/CreateWidgetTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/DefaultWidgetPostAPIMediator.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/DefaultWidgetPostAPIMediator.kt index 39548443..ba7a2be2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/DefaultWidgetPostAPIMediator.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/DefaultWidgetPostAPIMediator.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -68,6 +67,7 @@ internal class DefaultWidgetPostAPIMediator @Inject constructor(private val mosh Timber.d("BRIDGE onWidgetEvent : $jsonEventData") try { val dataAsDict = jsonAdapter.fromJson(jsonEventData) + @Suppress("UNCHECKED_CAST") val eventData = (dataAsDict?.get("event.data") as? JsonDict) ?: return onWidgetMessage(eventData) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/DefaultWidgetService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/DefaultWidgetService.kt index 049b368f..3e4e430e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/DefaultWidgetService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/DefaultWidgetService.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/DefaultWidgetURLFormatter.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/DefaultWidgetURLFormatter.kt index 28bcf002..94dba752 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/DefaultWidgetURLFormatter.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/DefaultWidgetURLFormatter.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/RegisterWidgetResponse.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/RegisterWidgetResponse.kt index b1d08ab2..9654215f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/RegisterWidgetResponse.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/RegisterWidgetResponse.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetManager.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetManager.kt index cb9059b0..22bdd2c6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetManager.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetManager.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -202,6 +201,6 @@ internal class WidgetManager @Inject constructor(private val integrationManager: stateKey = QueryStringValue.NoCondition ) val powerLevelsContent = powerLevelsEvent?.content?.toModel<PowerLevelsContent>() ?: return false - return PowerLevelsHelper(powerLevelsContent).isUserAllowedToSend(userId, true, null) + return PowerLevelsHelper(powerLevelsContent).isUserAllowedToSend(userId, true, EventType.STATE_ROOM_WIDGET_LEGACY) } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetModule.kt index 56b2d947..98bcd0c0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetModule.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetPostMessageAPIProvider.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetPostMessageAPIProvider.kt index 5b26415c..3a47c7bd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetPostMessageAPIProvider.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetPostMessageAPIProvider.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetsAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetsAPI.kt index bfcd27b2..1fece8b5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetsAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetsAPI.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetsAPIProvider.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetsAPIProvider.kt index cbbc11bb..7f79f447 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetsAPIProvider.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/WidgetsAPIProvider.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/helper/UserAccountWidgets.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/helper/UserAccountWidgets.kt index f6dafd05..6f423b38 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/helper/UserAccountWidgets.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/helper/UserAccountWidgets.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/helper/WidgetFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/helper/WidgetFactory.kt index 992dbf16..c41f1df0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/helper/WidgetFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/helper/WidgetFactory.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/token/GetScalarTokenTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/token/GetScalarTokenTask.kt index 58b0c610..6db79da3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/token/GetScalarTokenTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/token/GetScalarTokenTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/token/ScalarTokenStore.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/token/ScalarTokenStore.kt index a6f8b3c8..896fb44c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/token/ScalarTokenStore.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/widgets/token/ScalarTokenStore.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/ConfigurableTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/ConfigurableTask.kt index 050f0ba2..97f9a0dd 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/ConfigurableTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/ConfigurableTask.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/CoroutineSequencer.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/CoroutineSequencer.kt index 2fde8478..80081e31 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/CoroutineSequencer.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/CoroutineSequencer.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/CoroutineToCallback.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/CoroutineToCallback.kt index 233d50c6..ca4b092e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/CoroutineToCallback.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/CoroutineToCallback.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/Task.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/Task.kt index a9e7ab2d..a6c80a0b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/Task.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/Task.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/TaskExecutor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/TaskExecutor.kt index a3c815bb..478a3564 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/TaskExecutor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/TaskExecutor.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/TaskThread.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/TaskThread.kt index 3b9c69bc..2ad01add 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/TaskThread.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/task/TaskThread.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/BackgroundDetectionObserver.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/BackgroundDetectionObserver.kt index 0a15f097..7cc00d02 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/BackgroundDetectionObserver.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/BackgroundDetectionObserver.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Base64.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Base64.kt index 76e24c4e..aae8bf19 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Base64.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Base64.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/CancelableCoroutine.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/CancelableCoroutine.kt index beede697..860cf66c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/CancelableCoroutine.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/CancelableCoroutine.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/CancelableWork.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/CancelableWork.kt index fccfda15..6b04cea9 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/CancelableWork.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/CancelableWork.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/CompatUtil.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/CompatUtil.kt index 6a5cfec0..81d601f6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/CompatUtil.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/CompatUtil.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Debouncer.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Debouncer.kt index 46ba7596..1732ed18 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Debouncer.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Debouncer.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Exhaustive.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Exhaustive.kt index eaf17b9a..097bdaf1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Exhaustive.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Exhaustive.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/FileSaver.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/FileSaver.kt index da524cc1..4dc54d3b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/FileSaver.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/FileSaver.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Glob.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Glob.kt index 129bf0de..60f96095 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Glob.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Glob.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Handler.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Handler.kt index 7d103e10..6529742c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Handler.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Handler.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Hash.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Hash.kt index f8c22afb..3d80ad01 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Hash.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Hash.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/JsonCanonicalizer.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/JsonCanonicalizer.kt index 4a15f2ff..7b45bab3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/JsonCanonicalizer.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/JsonCanonicalizer.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/LiveDataUtils.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/LiveDataUtils.kt index 9c38729f..80c3b832 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/LiveDataUtils.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/LiveDataUtils.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/MatrixCoroutineDispatchers.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/MatrixCoroutineDispatchers.kt index d66a38d3..b44a543c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/MatrixCoroutineDispatchers.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/MatrixCoroutineDispatchers.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Monarchy.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Monarchy.kt index 81f5af9a..afe77d76 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Monarchy.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/Monarchy.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,9 +17,9 @@ package org.matrix.android.sdk.internal.util import com.zhuinden.monarchy.Monarchy -import org.matrix.android.sdk.internal.database.awaitTransaction import io.realm.Realm import io.realm.RealmModel +import org.matrix.android.sdk.internal.database.awaitTransaction import java.util.concurrent.atomic.AtomicReference internal suspend fun <T> Monarchy.awaitTransaction(transaction: suspend (realm: Realm) -> T): T { diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/SecretKeyAndVersion.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/SecretKeyAndVersion.kt index d96be916..40aead5d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/SecretKeyAndVersion.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/SecretKeyAndVersion.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/StringProvider.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/StringProvider.kt index 9233b2b8..69d50680 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/StringProvider.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/StringProvider.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/StringUtils.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/StringUtils.kt index 681e7e5f..32997e20 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/StringUtils.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/StringUtils.kt @@ -1,5 +1,4 @@ /* - * Copyright 2018 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/SuspendMatrixCallback.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/SuspendMatrixCallback.kt index 0595d68c..145fc92f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/SuspendMatrixCallback.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/SuspendMatrixCallback.kt @@ -1,20 +1,17 @@ /* - - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ package org.matrix.android.sdk.internal.util diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/UrlUtils.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/UrlUtils.kt index da155c8b..d13753b5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/UrlUtils.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/util/UrlUtils.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/wellknown/GetWellknownTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/wellknown/GetWellknownTask.kt index 80ede5e8..3f0e27f4 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/wellknown/GetWellknownTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/wellknown/GetWellknownTask.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/wellknown/WellKnownAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/wellknown/WellKnownAPI.kt index 7d886148..981d013f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/wellknown/WellKnownAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/wellknown/WellKnownAPI.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/wellknown/WellknownModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/wellknown/WellknownModule.kt index ab422237..2eaf1ac7 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/wellknown/WellknownModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/wellknown/WellknownModule.kt @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/AlwaysSuccessfulWorker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/AlwaysSuccessfulWorker.kt index d0fc7df0..3506a76f 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/AlwaysSuccessfulWorker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/AlwaysSuccessfulWorker.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/DelegateWorkerFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/DelegateWorkerFactory.kt index e711b0d6..68e1953e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/DelegateWorkerFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/DelegateWorkerFactory.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/Extensions.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/Extensions.kt index 8f824a76..d36e1647 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/Extensions.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/Extensions.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/MatrixWorkerFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/MatrixWorkerFactory.kt index 509cecf0..c6647f75 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/MatrixWorkerFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/MatrixWorkerFactory.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/SessionSafeCoroutineWorker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/SessionSafeCoroutineWorker.kt new file mode 100644 index 00000000..d4179e22 --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/SessionSafeCoroutineWorker.kt @@ -0,0 +1,102 @@ +/* + * Copyright 2020 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.worker + +import android.content.Context +import androidx.annotation.CallSuper +import androidx.work.CoroutineWorker +import androidx.work.Data +import androidx.work.WorkerParameters +import com.squareup.moshi.JsonClass +import org.matrix.android.sdk.internal.session.SessionComponent +import timber.log.Timber + +/** + * This worker should only sends Result.Success when added to a unique queue to avoid breaking the unique queue. + * This abstract class handle the cases of problem when parsing parameter, and forward the error if any to + * the next workers. + */ +internal abstract class SessionSafeCoroutineWorker<PARAM : SessionWorkerParams>( + context: Context, + workerParameters: WorkerParameters, + private val paramClass: Class<PARAM> +) : CoroutineWorker(context, workerParameters) { + + @JsonClass(generateAdapter = true) + internal data class ErrorData( + override val sessionId: String, + override val lastFailureMessage: String? = null + ) : SessionWorkerParams + + final override suspend fun doWork(): Result { + val params = WorkerParamsFactory.fromData(paramClass, inputData) + ?: return buildErrorResult(null, "Unable to parse work parameters") + .also { Timber.e("Unable to parse work parameters") } + + return try { + val sessionComponent = getSessionComponent(params.sessionId) + ?: return buildErrorResult(params, "No session") + + // Make sure to inject before handling error as you may need some dependencies to process them. + injectWith(sessionComponent) + if (params.lastFailureMessage != null) { + // Forward error to the next workers + doOnError(params) + } else { + doSafeWork(params) + } + } catch (throwable: Throwable) { + buildErrorResult(params, throwable.localizedMessage ?: "error") + } + } + + abstract fun injectWith(injector: SessionComponent) + + /** + * Should only return Result.Success for workers added to a unique queue + */ + abstract suspend fun doSafeWork(params: PARAM): Result + + protected fun buildErrorResult(params: PARAM?, message: String): Result { + return Result.success( + if (params != null) { + WorkerParamsFactory.toData(paramClass, buildErrorParams(params, message)) + } else { + WorkerParamsFactory.toData(ErrorData::class.java, ErrorData(sessionId = "", lastFailureMessage = message)) + } + ) + } + + abstract fun buildErrorParams(params: PARAM, message: String): PARAM + + /** + * This is called when the input parameters are correct, but contain an error from the previous worker. + */ + @CallSuper + open fun doOnError(params: PARAM): Result { + // Forward the error + return Result.success(inputData) + .also { Timber.e("Work cancelled due to input error from parent") } + } + + companion object { + fun hasFailed(outputData: Data): Boolean { + return WorkerParamsFactory.fromData(ErrorData::class.java, outputData) + .let { it?.lastFailureMessage != null } + } + } +} diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/SessionWorkerParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/SessionWorkerParams.kt index 840cda3d..c6c038d2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/SessionWorkerParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/SessionWorkerParams.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/Worker.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/Worker.kt index 9f40d6aa..24035355 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/Worker.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/Worker.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/WorkerParamsFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/WorkerParamsFactory.kt index b1625664..7aed74d2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/WorkerParamsFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/worker/WorkerParamsFactory.kt @@ -1,5 +1,4 @@ /* - * Copyright 2019 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,12 +17,14 @@ package org.matrix.android.sdk.internal.worker import androidx.work.Data +import com.squareup.moshi.Moshi +import org.matrix.android.sdk.api.extensions.tryOrNull import org.matrix.android.sdk.internal.di.MoshiProvider import org.matrix.android.sdk.internal.network.parsing.CheckNumberType internal object WorkerParamsFactory { - val moshi by lazy { + private val moshi: Moshi by lazy { // We are adding the CheckNumberType as we are serializing/deserializing multiple time in a row // and we lost typing information doing so. // We don't want this check to be done on all adapters, so we just add it here. @@ -33,20 +34,24 @@ internal object WorkerParamsFactory { .build() } - const val KEY = "WORKER_PARAMS_JSON" + private const val KEY = "WORKER_PARAMS_JSON" - inline fun <reified T> toData(params: T): Data { - val adapter = moshi.adapter(T::class.java) + inline fun <reified T> toData(params: T) = toData(T::class.java, params) + + fun <T> toData(clazz: Class<T>, params: T): Data { + val adapter = moshi.adapter(clazz) val json = adapter.toJson(params) return Data.Builder().putString(KEY, json).build() } - inline fun <reified T> fromData(data: Data): T? { + inline fun <reified T> fromData(data: Data) = fromData(T::class.java, data) + + fun <T> fromData(clazz: Class<T>, data: Data): T? = tryOrNull("Unable to parse work parameters") { val json = data.getString(KEY) return if (json == null) { null } else { - val adapter = moshi.adapter(T::class.java) + val adapter = moshi.adapter(clazz) adapter.fromJson(json) } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/androidsdk/crypto/data/MXDeviceInfo.java b/matrix-sdk-android/src/main/java/org/matrix/androidsdk/crypto/data/MXDeviceInfo.java index 3811cf65..393c633c 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/androidsdk/crypto/data/MXDeviceInfo.java +++ b/matrix-sdk-android/src/main/java/org/matrix/androidsdk/crypto/data/MXDeviceInfo.java @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/java/org/matrix/androidsdk/crypto/data/MXOlmInboundGroupSession2.java b/matrix-sdk-android/src/main/java/org/matrix/androidsdk/crypto/data/MXOlmInboundGroupSession2.java index 51c1fe2f..7277a86e 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/androidsdk/crypto/data/MXOlmInboundGroupSession2.java +++ b/matrix-sdk-android/src/main/java/org/matrix/androidsdk/crypto/data/MXOlmInboundGroupSession2.java @@ -1,5 +1,4 @@ /* - * Copyright (c) 2020 New Vector Ltd * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/matrix-sdk-android/src/main/res/values-bn-rIN/strings.xml b/matrix-sdk-android/src/main/res/values-bn-rIN/strings.xml index 5d38f0b3..8d314882 100644 --- a/matrix-sdk-android/src/main/res/values-bn-rIN/strings.xml +++ b/matrix-sdk-android/src/main/res/values-bn-rIN/strings.xml @@ -1,8 +1,7 @@ -<?xml version='1.0' encoding='UTF-8'?> +<?xml version="1.0" encoding="utf-8"?> <resources> <string name="summary_user_sent_image">%1$s à¦à¦•à¦Ÿà¦¿ ফটো পাঠিয়েছে।</string> <string name="summary_user_sent_sticker">%1$s à¦à¦•à¦Ÿà¦¿ সà§à¦¤à¦¿à¦•à¦¾à¦° পাঠিয়েছে।</string> - <string name="notice_room_invite_no_invitee">%s à¦à¦° আমনà§à¦¤à§à¦°à¦£</string> <string name="notice_room_invite">%1$s %2$s কে আমনà§à¦¤à§à¦°à¦£ করেছে</string> <string name="notice_room_invite_you">%1$s আপনাকে আমনà§à¦¤à§à¦°à¦£ করেছে</string> @@ -24,7 +23,6 @@ <string name="summary_message">%1$s: %2$s</string> <string name="summary_you_sent_image">আপনি à¦à¦•à¦Ÿà¦¿ ছবি পà§à¦°à§‡à¦°à¦£ করেছেন।</string> <string name="summary_you_sent_sticker">আপনি à¦à¦•à¦Ÿà¦¿ সà§à¦¤à¦¿à¦•à¦¾à¦° পাঠিয়েছেন।</string> - <string name="notice_room_invite_no_invitee_by_you">আপনার আমনà§à¦¤à§à¦°à¦£</string> <string name="notice_room_created">%1$s ককà§à¦·à¦Ÿà¦¿ তৈরি করেছেন</string> <string name="notice_room_created_by_you">আপনি ককà§à¦·à¦Ÿà¦¿ তৈরি করেছেন</string> @@ -63,12 +61,10 @@ <string name="notice_end_to_end_by_you">আপনি শেষ-থেকে-শেষ à¦à¦¨à¦•à§à¦°à¦¿à¦ªà¦¶à¦¨ চালৠকরেছেন (%1$s)</string> <string name="notice_room_update">%s à¦à¦‡ ককà§à¦·à¦Ÿà¦¿à¦•à§‡ আপগà§à¦°à§‡à¦¡ করেছে।</string> <string name="notice_room_update_by_you">আপনি à¦à¦‡ ককà§à¦·à¦Ÿà¦¿ আপগà§à¦°à§‡à¦¡ করেছেন।</string> - <string name="notice_requested_voip_conference">%1$s à¦à¦•à¦Ÿà¦¿ à¦à¦¿à¦“আইপি সমà§à¦®à§‡à¦²à¦¨à§‡à¦° জনà§à¦¯ অনà§à¦°à§‹à¦§ করেছে</string> <string name="notice_requested_voip_conference_by_you">আপনি à¦à¦•à¦Ÿà¦¿ à¦à¦¿à¦“আইপি সমà§à¦®à§‡à¦²à¦¨à§‡à¦° অনà§à¦°à§‹à¦§ করেছেন</string> <string name="notice_voip_started">à¦à¦¿à¦“আইপি সমà§à¦®à§‡à¦²à¦¨ শà§à¦°à§ হয়েছে</string> <string name="notice_voip_finished">à¦à¦¿à¦“আইপি সমà§à¦®à§‡à¦²à¦¨ শেষ হয়েছে</string> - <string name="notice_avatar_changed_too">(আবতারটিও পরিবরà§à¦¤à¦¨ করা হয়েছিল)</string> <string name="notice_room_name_removed">%1$s ককà§à¦·à§‡à¦° নাম সরিয়েছে</string> <string name="notice_room_name_removed_by_you">আপনি ককà§à¦·à§‡à¦° নাম সরিয়েছেন</string> @@ -88,54 +84,39 @@ <string name="notice_room_third_party_revoked_invite_by_you">আপনি %1$s à¦à¦° ককà§à¦·à§‡ যোগদানের জনà§à¦¯ আমনà§à¦¤à§à¦°à¦£à¦Ÿà¦¿ বাতিল করেছেন</string> <string name="notice_room_third_party_registered_invite">%1$s %2$s à¦à¦° জনà§à¦¯ আমনà§à¦¤à§à¦°à¦£à¦Ÿà¦¿ গà§à¦°à¦¹à¦£ করেছে</string> <string name="notice_room_third_party_registered_invite_by_you">আপনি %1$s à¦à¦° জনà§à¦¯ আমনà§à¦¤à§à¦°à¦£à¦Ÿà¦¿ গà§à¦°à¦¹à¦£ করেছেন</string> - <string name="notice_widget_added">%1$s %2$s উইজেট যà§à¦•à§à¦¤ করেছে</string> <string name="notice_widget_added_by_you">আপনি %1$s উইজেট যà§à¦•à§à¦¤ করেছেন</string> <string name="notice_widget_removed">%1$s %2$s উইজেট সরিয়ে দিয়েছেন</string> <string name="notice_widget_removed_by_you">আপনি %1$s উইজেট সরিয়েছেন</string> <string name="notice_widget_modified">%1$s %2$s উইজেট পরিবরà§à¦¤à¦¨ করেছেন</string> <string name="notice_widget_modified_by_you">আপনি %1$s উইজেট পরিবরà§à¦¤à¦¨ করেছেন</string> - <string name="power_level_admin">অà§à¦¯à¦¾à¦¡à¦®à¦¿à¦¨</string> <string name="power_level_moderator">নিয়ামক</string> <string name="power_level_default">ডিফলà§à¦Ÿ</string> <string name="power_level_custom">কাসà§à¦Ÿà¦® (%1$d)</string> <string name="power_level_custom_no_value">কাসà§à¦Ÿà¦®</string> - <string name="notice_power_level_changed_by_you">আপনি %1$s à¦à¦° পাওয়ার সà§à¦¤à¦° পরিবরà§à¦¤à¦¨ করেছেন।</string> <string name="notice_power_level_changed">%1$s %2$s à¦à¦° পাওয়ার সà§à¦¤à¦° পরিবরà§à¦¤à¦¨ করেছে।</string> <string name="notice_power_level_diff">%1$s %2$s থেকে %3$s পরà§à¦¯à¦¨à§à¦¤</string> - <string name="notice_crypto_unable_to_decrypt">** ডিকà§à¦°à¦¿à¦ªà§à¦Ÿ করতে অকà§à¦·à¦®: %s **</string> <string name="notice_crypto_error_unkwown_inbound_session_id">পà§à¦°à§‡à¦°à¦•à§‡à¦° ডিà¦à¦¾à¦‡à¦¸ আমাদের à¦à¦‡ বারà§à¦¤à¦¾à¦° জনà§à¦¯ কীগà§à¦²à¦¿ পà§à¦°à§‡à¦°à¦£ করেনি।</string> - <string name="could_not_redact">পà§à¦¨à¦°à¦¾à¦¯à¦¼ পà§à¦°à¦¤à¦¿à¦•à§à¦°à¦¿à¦¯à¦¼à¦¾ করতে পারেনি</string> <string name="unable_to_send_message">বারà§à¦¤à¦¾ পাঠাতে অকà§à¦·à¦®</string> - <string name="message_failed_to_upload">চিতà§à¦° আপলোড করতে বà§à¦¯à¦°à§à¦¥</string> - <string name="network_error">নেটওয়ারà§à¦• তà§à¦°à§à¦Ÿà¦¿</string> <string name="matrix_error">মà§à¦¯à¦¾à¦Ÿà§à¦°à¦¿à¦•à§à¦¸ তà§à¦°à§à¦Ÿà¦¿</string> - <string name="room_error_join_failed_empty_room">খালি ককà§à¦·à§‡ পà§à¦¨à¦°à¦¾à¦¯à¦¼ যোগদান করা বরà§à¦¤à¦®à¦¾à¦¨à§‡ সমà§à¦à¦¬ নয়।</string> - <string name="encrypted_message">à¦à¦¨à¦•à§à¦°à¦¿à¦ªà§à¦Ÿ করা বারà§à¦¤à¦¾</string> - <string name="medium_email">ইমেল ঠিকানা</string> <string name="medium_phone_number">ফোন নমà§à¦¬à¦°</string> - <string name="room_displayname_invite_from">%s থেকে আমনà§à¦¤à§à¦°à¦£ করà§à¦¨</string> <string name="room_displayname_room_invite">ককà§à¦· আমনà§à¦¤à§à¦°à¦£</string> - <string name="room_displayname_two_members">%1$s à¦à¦¬à¦‚ %2$s</string> - <plurals name="room_displayname_three_and_more_members"> <item quantity="one">%1$s à¦à¦¬à¦‚ অনà§à¦¯ ১ জন</item> <item quantity="other">%1$s à¦à¦¬à¦‚ অনà§à¦¯à¦¾à¦¨à§à¦¯ %2$d জন</item> </plurals> - <string name="room_displayname_empty_room">খালি ককà§à¦·</string> - <string name="initial_sync_start_importing_account">পà§à¦°à¦¾à¦¥à¦®à¦¿à¦• সিঙà§à¦•: \nঅà§à¦¯à¦¾à¦•à¦¾à¦‰à¦¨à§à¦Ÿ আমদানি করা হচà§à¦›à§‡â€¦</string> <string name="initial_sync_start_importing_account_crypto">পà§à¦°à¦¾à¦¥à¦®à¦¿à¦• সিঙà§à¦•: @@ -152,10 +133,8 @@ \nসমà§à¦ªà§à¦°à¦¦à¦¾à¦¯à¦¼à¦—à§à¦²à¦¿ আমদানি করা হচà§à¦›à§‡</string> <string name="initial_sync_start_importing_account_data">পà§à¦°à¦¾à¦¥à¦®à¦¿à¦• সিঙà§à¦•: \nঅà§à¦¯à¦¾à¦•à¦¾à¦‰à¦¨à§à¦Ÿ ডেটা আমদানি করা হচà§à¦›à§‡</string> - <string name="event_status_sending_message">বারà§à¦¤à¦¾ পà§à¦°à§‡à¦°à¦£ করা হচà§à¦›à§‡ …</string> <string name="clear_timeline_send_queue">পà§à¦°à§‡à¦°à¦£ সারি পরিষà§à¦•à¦¾à¦° করà§à¦¨</string> - <string name="notice_room_invite_no_invitee_with_reason">%1$s à¦à¦° আমনà§à¦¤à§à¦°à¦£à¥¤ কারণ: %2$s</string> <string name="notice_room_invite_no_invitee_with_reason_by_you">আপনার আমনà§à¦¤à§à¦°à¦£à¥¤ কারণ: %1$s</string> <string name="notice_room_invite_with_reason">%1$s আমনà§à¦¤à§à¦°à¦¿à¦¤ করেছেন %2$s কে। কারণ: %3$s</string> @@ -167,7 +146,7 @@ <string name="notice_room_leave_with_reason_by_you">আপনি ককà§à¦· ছেড়ে দিয়েছেন। কারণ: %1$s</string> <string name="notice_room_reject_with_reason">%1$s আমনà§à¦¤à§à¦°à¦£ বাতিল করেছেন। কারণ: %2$s</string> <string name="notice_room_reject_with_reason_by_you">আপনি আমনà§à¦¤à§à¦°à¦£à¦Ÿà¦¿ বাতিল করেছেন। কারণ: %1$s</string> - <string name="notice_room_kick_with_reason">%1$s %2$s কে কিক করেছে। কারণ: %2$s</string> + <string name="notice_room_kick_with_reason">%1$s %2$s কে কিক করেছে। কারণ: %3$s</string> <string name="notice_room_kick_with_reason_by_you">আপনি %1$s কে কীক করেছেন। কারণ: %2$s</string> <string name="notice_room_unban_with_reason">%1$s %2$s কে নিষিদà§à¦§ তালিকা থেকে মà§à¦•à§à¦¤ করেছে। কারণ: %3$s</string> <string name="notice_room_unban_with_reason_by_you">আপনি %1$s কে নিষিদà§à¦§ মà§à¦•à§à¦¤ করেছেন। কারণ: %2$s</string> @@ -181,45 +160,35 @@ <string name="notice_room_third_party_registered_invite_with_reason_by_you">আপনি %1$s à¦à¦° জনà§à¦¯ আমনà§à¦¤à§à¦°à¦£à¦Ÿà¦¿ গà§à¦°à¦¹à¦£ করেছেন। কারণ: %2$s</string> <string name="notice_room_withdraw_with_reason">%1$s %2$s à¦à¦° আমনà§à¦¤à§à¦°à¦£ ফেরত নিয়েছে। কারণ: %3$s</string> <string name="notice_room_withdraw_with_reason_by_you">আপনি %1$s à¦à¦° আমনà§à¦¤à§à¦°à¦£ পà§à¦°à¦¤à§à¦¯à¦¾à¦¹à¦¾à¦° করেছেন। কারণ: %2$s</string> - <plurals name="notice_room_aliases_added"> <item quantity="one">%1$s à¦à¦‡ ঘরের ঠিকানা হিসাবে %2$s যà§à¦•à§à¦¤ করেছে।</item> <item quantity="other">%1$s à¦à¦‡ ঘরের ঠিকানাগà§à¦²à¦¿ হিসাবে %2$s যà§à¦•à§à¦¤ করেছে।</item> </plurals> - <plurals name="notice_room_aliases_added_by_you"> <item quantity="one">আপনি à¦à¦‡ ককà§à¦·à§‡à¦° জনà§à¦¯ ঠিকানা হিসাবে %1$s যà§à¦•à§à¦¤ করেছেন।</item> <item quantity="other">আপনি à¦à¦‡ ককà§à¦·à§‡à¦° ঠিকানা হিসাবে %1$s যà§à¦•à§à¦¤ করেছেন।</item> </plurals> - <plurals name="notice_room_aliases_removed"> <item quantity="one">%1$s à¦à¦‡ ঘরের ঠিকানা হিসাবে %2$s সরানো হয়েছে।</item> <item quantity="other">%1$s %3$s কে à¦à¦‡ ঘরের ঠিকানা হিসাবে সরানো হয়েছে।</item> </plurals> - <plurals name="notice_room_aliases_removed_by_you"> <item quantity="one">আপনি à¦à¦‡ ঘরের ঠিকানা হিসাবে %1$s সরিয়েছেন।</item> <item quantity="other">আপনি à¦à¦‡ ঘরের ঠিকানা হিসাবে %2$s গà§à¦²à¦¿ সরিয়েছেন।</item> </plurals> - <string name="notice_room_aliases_added_and_removed">%1$s %2$s যোগ করেছে à¦à¦¬à¦‚ %3$s গà§à¦²à¦¿ à¦à¦‡ ঘরের ঠিকানা হিসাবে সরানো হয়েছে।</string> <string name="notice_room_aliases_added_and_removed_by_you">আপনি %1$s যোগ করেছেন à¦à¦¬à¦‚ %2$s কে à¦à¦‡ ঘরের ঠিকানা হিসাবে সরিয়ে দিয়েছেন।</string> - <string name="notice_room_canonical_alias_set">%1$s à¦à¦‡ ঘরের মূল ঠিকানাটি %2$s তে সেট করে।</string> <string name="notice_room_canonical_alias_set_by_you">আপনি à¦à¦‡ ঘরের মূল ঠিকানাটি %1$s তে সেট করেছেন।</string> <string name="notice_room_canonical_alias_unset">%1$s à¦à¦‡ ঘরের মূল ঠিকানা সরিয়ে নিয়েছে।</string> <string name="notice_room_canonical_alias_unset_by_you">আপনি à¦à¦‡ ঘরের মূল ঠিকানা সরিয়েছেন।</string> - <string name="notice_room_guest_access_can_join">%1$s অতিথিদের ঘরে যোগদানের অনà§à¦®à¦¤à¦¿ দিয়েছে।</string> <string name="notice_room_guest_access_can_join_by_you">আপনি অতিথিদের ঘরে যোগদানের অনà§à¦®à¦¤à¦¿ দিয়েছেন।</string> <string name="notice_room_guest_access_forbidden">%1$s অতিথিদের ঘরে যোগদান করতে বাধা দিয়েছে।</string> <string name="notice_room_guest_access_forbidden_by_you">আপনি অতিথিদের ঘরে যোগদান করতে বাধা দিয়েছেন।</string> - <string name="notice_end_to_end_ok">%1$s à¦à¦¨à§à¦¡-টà§-à¦à¦¨à§à¦¡ à¦à¦¨à¦•à§à¦°à¦¿à¦ªà¦¶à¦¨ চালৠকরেছে।</string> <string name="notice_end_to_end_ok_by_you">আপনি শেষ থেকে শেষ à¦à¦¨à¦•à§à¦°à¦¿à¦ªà¦¶à¦¨ চালৠকরেছেন।</string> <string name="notice_end_to_end_unknown_algorithm">%1$s à¦à¦¨à§à¦¡-টà§-à¦à¦¨à§à¦¡ à¦à¦¨à¦•à§à¦°à¦¿à¦ªà¦¶à¦¨ চালৠকরেছে (অজানা অà§à¦¯à¦¾à¦²à¦—রিদম %2$s)।</string> <string name="notice_end_to_end_unknown_algorithm_by_you">আপনি শেষ-থেকে-শেষ à¦à¦¨à¦•à§à¦°à¦¿à¦ªà¦¶à¦¨ চালৠকরেছেন (অজানা অà§à¦¯à¦¾à¦²à¦—রিদম %1$s )।</string> - <string name="key_verification_request_fallback_message">%s আপনার কীটি যাচাই করার জনà§à¦¯ অনà§à¦°à§‹à¦§ করছে, তবে আপনার কà§à¦²à¦¾à¦¯à¦¼à§‡à¦¨à§à¦Ÿ ইন-চà§à¦¯à¦¾à¦Ÿ কী যাচাইকরণ সমরà§à¦¥à¦¨ করে না। কীগà§à¦²à¦¿ যাচাই করতে আপনাকে লিগà§à¦¯à¦¾à¦¸à¦¿ কী যাচাইকরণ বà§à¦¯à¦¬à¦¹à¦¾à¦° করতে হবে।</string> - -</resources> +</resources> \ No newline at end of file diff --git a/matrix-sdk-android/src/main/res/values-cs/strings.xml b/matrix-sdk-android/src/main/res/values-cs/strings.xml index 9e208f81..2ea2112b 100644 --- a/matrix-sdk-android/src/main/res/values-cs/strings.xml +++ b/matrix-sdk-android/src/main/res/values-cs/strings.xml @@ -4,47 +4,47 @@ <string name="summary_user_sent_image">Uživatel %1$s poslal obrázek.</string> <string name="summary_user_sent_sticker">Uživatel %1$s poslal nálepku.</string> - <string name="notice_room_invite_no_invitee">Pozvánka od uživatele %s</string> + <string name="notice_room_invite_no_invitee">Pozvánà od uživatele %s</string> <string name="notice_room_invite">Uživatel %1$s pozval uživatele %2$s</string> <string name="notice_room_invite_you">Uživatel %1$s vás pozval</string> - <string name="notice_room_join">Uživatel %1$s se pÅ™ipojil</string> + <string name="notice_room_join">%1$s vstoupil do mÃstnosti</string> <string name="notice_room_leave">Uživatel %1$s odeÅ¡el</string> - <string name="notice_room_reject">Uživatel %1$s odmÃtl pozvánÃ</string> - <string name="notice_room_kick">Uživatel %1$s vykopl uživatele %2$s</string> - <string name="notice_room_unban">Uživatel %1$s znovu povolil vstup uživateli %2$s</string> - <string name="notice_room_ban">Uživatel %1$s vykázal uživatele %2$s</string> - <string name="notice_room_withdraw">Uživatel %1$s zruÅ¡il pozvánà pro uživatele %2$s</string> - <string name="notice_avatar_url_changed">Uživatel %1$s zmÄ›nil svůj profilový obrázek</string> - <string name="notice_display_name_set">Uživatel %1$s nastavil své zobrazované jméno na %2$s</string> - <string name="notice_display_name_changed_from">Uživatel %1$s zmÄ›nil své zobrazované jméno z %2$s na %3$s</string> - <string name="notice_display_name_removed">Uživatel %1$s odstranil své zobrazované jméno (%2$s)</string> - <string name="notice_room_topic_changed">Uživatel %1$s zmÄ›nil téma na: %2$s</string> - <string name="notice_room_name_changed">Uživatel %1$s zmÄ›nil název mÃstnosti na: %2$s</string> - <string name="notice_placed_video_call">Uživatel %s uskuteÄnil videohovor.</string> - <string name="notice_placed_voice_call">Uživatel %s uskuteÄnil hlasový hovor.</string> - <string name="notice_answered_call">Uživatel %s pÅ™ijal hovor.</string> - <string name="notice_ended_call">Uživatel %s ukonÄil hovor.</string> - <string name="notice_made_future_room_visibility">Uživatel %1$s nastavit viditelnost budoucÃch zpráv v mÃstnosti pro %2$s</string> + <string name="notice_room_reject">%1$s odmÃtli pozvánÃ</string> + <string name="notice_room_kick">%1$s vykopli %2$s</string> + <string name="notice_room_unban">%1$s zruÅ¡il vykázánà %2$s</string> + <string name="notice_room_ban">%1$s vykázali %2$s</string> + <string name="notice_room_withdraw">%1$s zruÅ¡ili pozvánà pro %2$s</string> + <string name="notice_avatar_url_changed">%1$s zmÄ›nili svůj profilový obrázek</string> + <string name="notice_display_name_set">%1$s nastavili své veÅ™ejné jméno na %2$s</string> + <string name="notice_display_name_changed_from">%1$s zmÄ›nili své veÅ™ejné jméno z %2$s na %3$s</string> + <string name="notice_display_name_removed">%1$s odstranili své veÅ™ejné jméno (%2$s)</string> + <string name="notice_room_topic_changed">%1$s zmÄ›nili téma na: %2$s</string> + <string name="notice_room_name_changed">%1$s zmÄ›nili název mÃstnosti na: %2$s</string> + <string name="notice_placed_video_call">%s uskuteÄnili videohovor.</string> + <string name="notice_placed_voice_call">%s uskuteÄnili hlasový hovor.</string> + <string name="notice_answered_call">%s pÅ™ijali hovor.</string> + <string name="notice_ended_call">%s ukonÄili hovor.</string> + <string name="notice_made_future_room_visibility">%1$s nastavili viditelnost budoucà historie mÃstnosti pro %2$s</string> <string name="notice_room_visibility_invited">vÅ¡echny Äleny mÃstnosti od chvÃle, kdy budou pozváni.</string> <string name="notice_room_visibility_joined">vÅ¡echny Äleny mÃstnosti od chvÃle, kdy se pÅ™ipojÃ.</string> <string name="notice_room_visibility_shared">vÅ¡echny Äleny mÃstnosti.</string> <string name="notice_room_visibility_world_readable">kohokoliv.</string> <string name="notice_room_visibility_unknown">neznámým (%s).</string> - <string name="notice_end_to_end">Uživatel %1$s zapnul end-to-end Å¡ifrovánà (%2$s)</string> + <string name="notice_end_to_end">%1$s zapnuli end-to-end Å¡ifrovánà (%2$s)</string> - <string name="notice_requested_voip_conference">Uživatel %1$s požádal o VoIP konferenci</string> + <string name="notice_requested_voip_conference">%1$s požádali o VoIP konferenci</string> <string name="notice_voip_started">ZaÄala VoIP konference</string> <string name="notice_voip_finished">VoIP konference skonÄila</string> <string name="notice_avatar_changed_too">(profilový obrázek byl také zmÄ›nÄ›n)</string> - <string name="notice_room_name_removed">Uživatel %1$s odstranil název mÃstnosti</string> - <string name="notice_room_topic_removed">Uživatel %1$s odstranil téma mÃstnosti</string> - <string name="notice_profile_change_redacted">Uživatel %1$s aktualizoval svůj profil %2$s</string> - <string name="notice_room_third_party_invite">Uživatel %1$s do této mÃstnosti pozval uživatele %2$s</string> - <string name="notice_room_third_party_registered_invite">Uživatel %1$s pÅ™ijal pozvánà pro %2$s</string> + <string name="notice_room_name_removed">%1$s odstranili název mÃstnosti</string> + <string name="notice_room_topic_removed">%1$s odstranili téma mÃstnosti</string> + <string name="notice_profile_change_redacted">%1$s aktualizovali svůj profil %2$s</string> + <string name="notice_room_third_party_invite">%1$s do této mÃstnosti pozvali %2$s</string> + <string name="notice_room_third_party_registered_invite">%1$s pÅ™ijali pozvánà pro %2$s</string> <string name="notice_crypto_unable_to_decrypt">** Nelze deÅ¡ifrovat: %s **</string> - <string name="notice_crypto_error_unkwown_inbound_session_id">OdesÃlatelovo zaÅ™Ãzenà neposlalo klÃÄe pro tuto zprávu.</string> + <string name="notice_crypto_error_unkwown_inbound_session_id">OdesÃlatelovo zaÅ™Ãzenà nám neposlalo klÃÄe pro tuto zprávu.</string> <string name="could_not_redact">Nelze vymazat</string> <string name="unable_to_send_message">Zprávu nelze odeslat</string> @@ -54,7 +54,7 @@ <string name="network_error">Chyba sÃtÄ›</string> <string name="matrix_error">Chyba v Matrixu</string> - <string name="room_error_join_failed_empty_room">V souÄasnosti nenà možné se znovu pÅ™ipojit do prázdné mÃstnosti.</string> + <string name="room_error_join_failed_empty_room">V souÄasnosti nenà možné znovu vstoupit do prázdné mÃstnosti.</string> <string name="encrypted_message">Å ifrovaná zpráva</string> @@ -74,35 +74,161 @@ <string name="room_displayname_empty_room">Prázdná mÃstnost</string> - <string name="notice_room_update">Uživatel %s upgradoval tuto mÃstnost.</string> + <string name="notice_room_update">%s povýšili tuto mÃstnost.</string> <string name="notice_event_redacted_with_reason">Zpráva byla smazána [důvod: %1$s]</string> <string name="notice_event_redacted_by_with_reason">Zpráva smazána uživatelem %1$s [důvod: %2$s]</string> - <string name="notice_room_third_party_revoked_invite">Uživatel %1$s obnovil pozvánku do mÃstnosti pro uživatele %2$s</string> - <string name="initial_sync_start_importing_account">Úvodnà synchronizace: -\nImport úÄtu…</string> + <string name="notice_room_third_party_revoked_invite">%1$s zruÅ¡ili pozvánku do mÃstnosti pro %2$s</string> + <string name="initial_sync_start_importing_account">Úvodnà synchronizace: +\nImportuji úÄet…</string> <string name="initial_sync_start_importing_account_crypto">Úvodnà synchronizace: -\nImport klÃÄů</string> +\nImportuji klÃÄe</string> <string name="initial_sync_start_importing_account_rooms">Úvodnà synchronizace: -\nImport mÃstnostÃ</string> +\nImportuji mÃstnosti</string> <string name="initial_sync_start_importing_account_joined_rooms">Úvodnà synchronizace: -\nImport mÃstnostÃ, kterými jste Äleny</string> +\nImportuji mÃstnostÃ, jichž jste Äleny</string> <string name="initial_sync_start_importing_account_left_rooms">Úvodnà synchronizace: -\nImport opuÅ¡tÄ›ných mÃstnostÃ</string> +\nImportuji mÃstnost, jež jste opustili</string> <string name="initial_sync_start_importing_account_groups">Úvodnà synchronizace: -\nImport skupin</string> +\nImportuji komunity</string> <string name="initial_sync_start_importing_account_data">Úvodnà synchronizace: -\nImport dat úÄtu</string> +\nImportuji data úÄtu</string> - <string name="event_status_sending_message">OdesÃlánà zprávy…</string> + <string name="event_status_sending_message">OdesÃlám zprávu…</string> - <string name="initial_sync_start_importing_account_invited_rooms">Úvodnà synchronizace: -\nImport pozvánek</string> + <string name="initial_sync_start_importing_account_invited_rooms">Úvodnà synchronizace: +\nImportuji pozvánÃ</string> <string name="clear_timeline_send_queue">Vymazat frontu neodeslaných zpráv</string> - <string name="notice_room_invite_with_reason">Uživatel %1$s pozval uživatele %2$s. Důvod: %3$s</string> - <string name="notice_room_invite_you_with_reason">Uživatel %1$s váš pozval. Důvod: %2$s</string> - <string name="notice_room_leave_with_reason">Uživatel %1$s odeÅ¡el. Důvod: %2$s</string> + <string name="notice_room_invite_with_reason">%1$s pozvali %2$s. Důvod: %3$s</string> + <string name="notice_room_invite_you_with_reason">%1$s vás pozvali. Důvod: %2$s</string> + <string name="notice_room_leave_with_reason">%1$s opustil mÃstnost. Důvod: %2$s</string> <string name="notice_event_redacted">Zpráva odstranÄ›na</string> <string name="notice_event_redacted_by">Zprávu odstranil/a %1$s</string> + <string name="summary_you_sent_image">Poslali jste obrázek.</string> + <string name="summary_you_sent_sticker">Poslali jste nálepku.</string> + + <string name="notice_room_invite_no_invitee_by_you">VaÅ¡e pozvánÃ</string> + <string name="notice_room_created">%1$s založil mÃstnost</string> + <string name="notice_room_created_by_you">Vy jste založili mÃstnost</string> + <string name="notice_room_invite_by_you">Pozvali jste %1$s</string> + <string name="notice_room_join_by_you">Vstoupili jste do mÃstnosti</string> + <string name="notice_room_leave_by_you">Opustili jste mÃstnost</string> + <string name="notice_room_reject_by_you">OdmÃtli jste pozvánÃ</string> + <string name="notice_room_kick_by_you">Vykopli jste %1$s</string> + <string name="notice_room_unban_by_you">ZruÅ¡ili jste vykázánà pro %1$s</string> + <string name="notice_room_ban_by_you">Vykázali jste %1$s</string> + <string name="notice_room_withdraw_by_you">Stáhli jste pozvánku od %1$s zpÄ›t</string> + <string name="notice_avatar_url_changed_by_you">ZmÄ›nili jste svůj profilový obrázek</string> + <string name="notice_display_name_set_by_you">ZmÄ›nili jste své veÅ™ejné jméno na %1$s</string> + <string name="notice_display_name_changed_from_by_you">ZmÄ›nili jste své veÅ™ejné jméno z %1$s na %2$s</string> + <string name="notice_display_name_removed_by_you">Odstranili jste své veÅ™ejné jméno (%1$s)</string> + <string name="notice_room_topic_changed_by_you">ZmÄ›nili jste téma na: %1$s</string> + <string name="notice_room_avatar_changed">%1$s zmÄ›nili obrázek mÃstnosti</string> + <string name="notice_room_avatar_changed_by_you">ZmÄ›nili jste obrázek mÃstnosti</string> + <string name="notice_room_name_changed_by_you">ZmÄ›nili jste jméno mÃstnosti na: %1$s</string> + <string name="notice_placed_video_call_by_you">Zahájili jste video hovor.</string> + <string name="notice_placed_voice_call_by_you">Zahájili jste hlasový hovor.</string> + <string name="notice_call_candidates">%s poslali data, aby mohli zahájit hovor.</string> + <string name="notice_call_candidates_by_you">Poslali jste data, abyste mohli zahájit hovor.</string> + <string name="notice_answered_call_by_you">PÅ™ijali jste hovor.</string> + <string name="notice_ended_call_by_you">UkonÄili jste hovor.</string> + <string name="notice_made_future_room_visibility_by_you">UÄinili jste budoucà historii mÃstnosti viditelnou pro %1$s</string> + <string name="notice_end_to_end_by_you">Zapnuli jste end-to-end Å¡ifrovánà (%1$s)</string> + <string name="notice_room_update_by_you">Povýšili jste tuto mÃstnost.</string> + + <string name="notice_requested_voip_conference_by_you">Požádali jste o VoIP konferenci</string> + <string name="notice_room_name_removed_by_you">Odstranili jste jméno mÃstnosti</string> + <string name="notice_room_topic_removed_by_you">Odstranili jste téma mÃstnosti</string> + <string name="notice_room_avatar_removed">%1$s odstranili obrázek mÃstnosti</string> + <string name="notice_room_avatar_removed_by_you">Odstranili jste obrázek mÃstnosti</string> + <string name="notice_profile_change_redacted_by_you">Aktualizovali jste svů profil %1$s</string> + <string name="notice_room_third_party_invite_by_you">Poslali jste %1$s pozvánà ke vstupu do mÃstnosti</string> + <string name="notice_room_third_party_revoked_invite_by_you">ZruÅ¡ili jste pozvánku ke vstupu do mÃstnosti pro %1$s</string> + <string name="notice_room_third_party_registered_invite_by_you">PÅ™ijali jste pozvánà pro %1$s</string> + + <string name="notice_widget_added">%1$s pÅ™idali widget %2$s</string> + <string name="notice_widget_added_by_you">PÅ™idali jste widget %1$s</string> + <string name="notice_widget_removed">%1$s odstranili widget %2$s</string> + <string name="notice_widget_removed_by_you">Odstranili jste widget %1$s</string> + <string name="notice_widget_modified">%1$s zmÄ›nil widget %2$s</string> + <string name="notice_widget_modified_by_you">ZmÄ›nili jste widget %1$s</string> + + <string name="power_level_admin">Správce</string> + <string name="power_level_moderator">Moderátor</string> + <string name="power_level_default">VýchozÃ</string> + <string name="power_level_custom">Vlastnà (%1$d)</string> + <string name="power_level_custom_no_value">VlastnÃ</string> + + <string name="notice_power_level_changed_by_you">ZmÄ›nili jste %1$s stupeň oprávnÄ›nÃ.</string> + <string name="notice_power_level_changed">%1$s zmÄ›nili %2$s stupeň oprávnÄ›nÃ.</string> + <string name="notice_power_level_diff">%1$s z %2$s na %3$s</string> + + <string name="notice_room_invite_no_invitee_with_reason">Pozvánà od %1$s. Důvod: %2$s</string> + <string name="notice_room_invite_no_invitee_with_reason_by_you">VaÅ¡e pozvánÃ. Důvod: %1$s</string> + <string name="notice_room_invite_with_reason_by_you">Pozvali jste %1$s. Důvod: %2$s</string> + <string name="notice_room_join_with_reason">%1$s vstoupili do mÃstnosti. Důvod: %2$s</string> + <string name="notice_room_join_with_reason_by_you">Vstoupili jste do mÃstnosti. Důvod: %1$s</string> + <string name="notice_room_leave_with_reason_by_you">Opustili jste mÃstnost. Důvod: %1$s</string> + <string name="notice_room_reject_with_reason">%1$s pozvánà odmÃtli. Důvod: %2$s</string> + <string name="notice_room_reject_with_reason_by_you">OdmÃtli jste pozvánÃ. Důvod: %1$s</string> + <string name="notice_room_kick_with_reason">%1$s vykopnuli %2$s. Důvod: %3$s</string> + <string name="notice_room_kick_with_reason_by_you">Vykopnuli jste %1$s. Důvod: %2$s</string> + <string name="notice_room_unban_with_reason">%1$s zruÅ¡ili %2$s vykázánÃ. Důvod: %3$s</string> + <string name="notice_room_unban_with_reason_by_you">ZruÅ¡ili jste %1$s vykázánÃ. Důvod: %2$s</string> + <string name="notice_room_ban_with_reason">%1$s vykázali %2$s. Důvod: %3$s</string> + <string name="notice_room_ban_with_reason_by_you">Vykázali jste %1$s. Důvod: %2$s</string> + <string name="notice_room_third_party_invite_with_reason">%1$s poslali %2$s pozvánÃ, aby vstoupili do mÃstnosti. Důvod: %3$s</string> + <string name="notice_room_third_party_invite_with_reason_by_you">"Poslali jste %1$s pozvánÃ, aby vstoupili do mÃstnosti. Důvod: %2$s"</string> + <string name="notice_room_third_party_revoked_invite_with_reason">%1$s zruÅ¡ili pozvánà do mÃstnosti pro %2$s. Důvod: %3$s</string> + <string name="notice_room_third_party_revoked_invite_with_reason_by_you">ZruÅ¡ili jste pozvánà do mÃstnosti pro %1$s. Důvod: %2$s</string> + <string name="notice_room_third_party_registered_invite_with_reason">%1$s pÅ™ijali pozvánà pro %2$s. Důvod: %3$s</string> + <string name="notice_room_third_party_registered_invite_with_reason_by_you">PÅ™ijali jste pozvánà pro %1$s. Důvod: %2$s</string> + <string name="notice_room_withdraw_with_reason">%1$s zruÅ¡ili pozvánà pro %2$s. Důvod: %3$s</string> + <string name="notice_room_withdraw_with_reason_by_you">ZruÅ¡ili jste pozvánà od %1$s. Důvod: %2$s</string> + + <plurals name="notice_room_aliases_added"> + <item quantity="one">%1$s pÅ™idali %2$s jako adresu pro tuto mÃstnost.</item> + <item quantity="few">%1$s pÅ™idali %2$s jako adresy pro tuto mÃstnost.</item> + <item quantity="other">%1$s pÅ™idali %2$s jako adresy pro tuto mÃstnost.</item> + </plurals> + + <plurals name="notice_room_aliases_added_by_you"> + <item quantity="one">PÅ™idali jste %1$s jako adresu pro tuto mÃstnost.</item> + <item quantity="few">PÅ™idali jste %1$s jako adresy pro tuto mÃstnost.</item> + <item quantity="other">PÅ™idali jste %1$s jako adresy pro tuto mÃstnost.</item> + </plurals> + + <plurals name="notice_room_aliases_removed"> + <item quantity="one">%1$s odstranili %2$s jako adresu pro tuto mÃstnost.</item> + <item quantity="few">%1$s odstranili %2$s jako adresy pro tuto mÃstnost.</item> + <item quantity="other">%1$s odstranili %2$s jako adresy pro tuto mÃstnost.</item> + </plurals> + + <plurals name="notice_room_aliases_removed_by_you"> + <item quantity="one">Odstranili jste %2$s jako adresu pro tuto mÃstnost.</item> + <item quantity="few">Odstranili jste %2$s jako adresuy pro tuto mÃstnost.</item> + <item quantity="other">Odstranili jste %2$s jako adresy pro tuto mÃstnost.</item> + </plurals> + + <string name="notice_room_aliases_added_and_removed">%1$s pÅ™idali %2$ a odstranili %3$s jako adresy pro tuto mÃstnost.</string> + <string name="notice_room_aliases_added_and_removed_by_you">PÅ™idali jste %1$s a odstranili %2$s jako adresy pro tuto mÃstnost.</string> + + <string name="notice_room_canonical_alias_set">%1$s nastavili hlavnà adresu této mÃstnosti na %2$s.</string> + <string name="notice_room_canonical_alias_set_by_you">Nastavili jste %1$s na hlavnà adresu této mÃstnosti.</string> + <string name="notice_room_canonical_alias_unset">%1$s odstranili hlavnà adresu této mÃstnosti.</string> + <string name="notice_room_canonical_alias_unset_by_you">Odstranili jste hlavnà adresu této mÃstnosti.</string> + + <string name="notice_room_guest_access_can_join">"%1$s povolili hostům vstoupit do mÃstnosti."</string> + <string name="notice_room_guest_access_can_join_by_you">Povolili jste hostům vstoupit do mÃstnosti.</string> + <string name="notice_room_guest_access_forbidden">%1$s zamezili hostům vstoupit do mÃstnosti.</string> + <string name="notice_room_guest_access_forbidden_by_you">Zamezili jste hostům vstoupit do mÃstnosti.</string> + + <string name="notice_end_to_end_ok">%1$s zapnuli end-to-end Å¡ifrovánÃ.</string> + <string name="notice_end_to_end_ok_by_you">Zapnuli jste end-to-end Å¡ifrovánÃ.</string> + <string name="notice_end_to_end_unknown_algorithm">%1$s zapnuli end-to-end Å¡ifrovánà (neznámý algoritmus %2$s).</string> + <string name="notice_end_to_end_unknown_algorithm_by_you">Zapnuli jste end-to-end Å¡ifrovánà (neznámý algoritmus %2$s).</string> + + <string name="key_verification_request_fallback_message">%s žádá ověřenà VaÅ¡eho klÃÄe, ale Váš klient nepodporuje ověřenà klÃÄe v chatu. Budete muset k ověřenà klÃÄů použÃt zastaralý způsob ověřenÃ.</string> + </resources> diff --git a/matrix-sdk-android/src/main/res/values-de/strings.xml b/matrix-sdk-android/src/main/res/values-de/strings.xml index ae80edb4..9b10aae1 100644 --- a/matrix-sdk-android/src/main/res/values-de/strings.xml +++ b/matrix-sdk-android/src/main/res/values-de/strings.xml @@ -1,9 +1,7 @@ -<?xml version='1.0' encoding='UTF-8'?> +<?xml version="1.0" encoding="utf-8"?> <resources> - <string name="summary_message">%1$s: %2$s</string> <string name="summary_user_sent_image">%1$s hat ein Bild gesendet.</string> - <string name="notice_room_invite_no_invitee">Einladung von %s</string> <string name="notice_room_invite">%1$s hat %2$s eingeladen</string> <string name="notice_room_invite_you">%1$s hat dich eingeladen</string> @@ -31,69 +29,50 @@ <string name="notice_room_visibility_world_readable">Jeder.</string> <string name="notice_room_visibility_unknown">Unbekannt (%s).</string> <string name="notice_end_to_end">%1$s hat die Ende-zu-Ende-Verschlüsselung aktiviert (%2$s)</string> - <string name="notice_requested_voip_conference">%1$s möchte eine VoIP-Konferenz beginnen</string> <string name="notice_voip_started">VoIP-Konferenz gestartet</string> <string name="notice_voip_finished">VoIP-Konferenz beendet</string> - <string name="notice_avatar_changed_too">(Profilbild wurde ebenfalls geändert)</string> <string name="notice_room_name_removed">%1$s hat den Raumnamen entfernt</string> <string name="notice_room_topic_removed">%1$s hat das Raum-Thema entfernt</string> <string name="notice_profile_change_redacted">%1$s hat das Benutzerprofil aktualisiert %2$s</string> <string name="notice_room_third_party_invite">%1$s hat eine Einladung an %2$s gesendet</string> <string name="notice_room_third_party_registered_invite">%1$s hat die Einladung in %2$s akzeptiert</string> - <string name="notice_crypto_unable_to_decrypt">** Nicht entschlüsselbar: %s **</string> <string name="notice_crypto_error_unkwown_inbound_session_id">Das absendende Gerät hat uns keine Schlüssel für diese Nachricht übermittelt.</string> - <!-- Room Screen --> <string name="could_not_redact">Entfernen nicht möglich</string> <string name="unable_to_send_message">Nachricht kann nicht gesendet werden</string> - <string name="message_failed_to_upload">Bild konnte nicht hochgeladen werden</string> - <!-- general errors --> <string name="network_error">Netzwerk-Fehler</string> <string name="matrix_error">Matrix-Fehler</string> - <!-- Home Screen --> - <!-- Last seen time --> - <!-- call events --> - <!-- room error messages --> <string name="room_error_join_failed_empty_room">Es ist aktuell nicht möglich, einen leeren Raum erneut zu betreten.</string> - <string name="encrypted_message">Verschlüsselte Nachricht</string> - <!-- medium friendly name --> <string name="medium_email">E-Mail-Adresse</string> <string name="medium_phone_number">Telefonnummer</string> - <string name="summary_user_sent_sticker">%1$s sandte einen Sticker.</string> - <!-- Room display name --> <string name="room_displayname_invite_from">Einladung von %s</string> <string name="room_displayname_room_invite">Raumeinladung</string> <string name="room_displayname_two_members">%1$s und %2$s</string> <string name="room_displayname_empty_room">Leerer Raum</string> - <plurals name="room_displayname_three_and_more_members"> <item quantity="one">%1$s und 1 andere(r)</item> <item quantity="other">%1$s und %2$d andere</item> </plurals> - - <string name="notice_event_redacted">Nachricht entfernt</string> <string name="notice_event_redacted_by">Nachricht entfernt von %1$s</string> <string name="notice_event_redacted_with_reason">Nachricht entfernt [Grund: %1$s]</string> <string name="notice_event_redacted_by_with_reason">Nachricht entfernt von %1$s [Grund: %2$s]</string> <string name="notice_room_update">%s hat diesen Raum aufgewertet.</string> - <string name="event_status_sending_message">Sende eine Nachricht…</string> <string name="clear_timeline_send_queue">Sendewarteschlange leeren</string> - <string name="initial_sync_start_importing_account">Erste Synchronisation: Importiere Benutzerkonto…</string> <string name="initial_sync_start_importing_account_crypto">Erste Synchronisation: Importiere Cryptoschlüssel</string> <string name="initial_sync_start_importing_account_rooms">Erste Synchronisation: Importiere Räume</string> @@ -102,7 +81,6 @@ <string name="initial_sync_start_importing_account_left_rooms">Erste Synchronisation: Importiere verlassene Räume</string> <string name="initial_sync_start_importing_account_groups">Erste Synchronisation: Importiere Gemeinschaften</string> <string name="initial_sync_start_importing_account_data">Erste Synchronisation: Importiere Benutzerdaten</string> - <string name="notice_room_third_party_revoked_invite">%1$s hat die Einladung an %2$s, den Raum zu betreten, zurückgezogen</string> <string name="notice_room_invite_no_invitee_with_reason">%1$s\'s Einladung. Grund: %2$s</string> <string name="notice_room_invite_with_reason">%1$s hat %2$s eingeladen. Grund: %3$s</string> @@ -117,33 +95,24 @@ <string name="notice_room_third_party_revoked_invite_with_reason">%1$s hat Einladung an %2$s zu Betreten dieses Raumes zurückgezogen. Grund: %3$s</string> <string name="notice_room_third_party_registered_invite_with_reason">%1$s hat die Einladung für %2$s angenommen. Grund: %3$s</string> <string name="notice_room_withdraw_with_reason">%1$s hat Einladung für %2$s verworfen. Grund: %3$s</string> - <plurals name="notice_room_aliases_added"> <item quantity="one">%1$s fügt %2$s als eine Adresse für diesen Raum hinzu.</item> <item quantity="other">%1$s fügt %2$s als Adressen für diesen Raum hinzu.</item> </plurals> - <plurals name="notice_room_aliases_removed"> <item quantity="one">%1$s entfernt %2$s als eine Adresse für diesen Raum.</item> <item quantity="other">%1$s entfernt %2$s als Adressen für diesen Raum.</item> </plurals> - <string name="notice_room_aliases_added_and_removed">%1$s fügt %2$s als Adresse für diesen Raum hinzu und entfernt %3$s.</string> - <string name="notice_room_canonical_alias_set">%1$s legt die Hauptadresse fest für diesen Raum als %2$s fest.</string> <string name="notice_room_canonical_alias_unset">%1$s entfernt die Hauptadresse für diesen Raum.</string> - <string name="notice_room_guest_access_can_join">%1$s hat Gästen erlaubt den Raum zu betreten.</string> <string name="notice_room_guest_access_forbidden">%1$s hat Gäste unterbunden den Raum zu betreten.</string> - <string name="notice_end_to_end_ok">%1$s aktivierte Ende-zu-Ende-Verschlüsselung.</string> <string name="notice_end_to_end_unknown_algorithm">%1$s aktivierte Ende-zu-Ende-Verschlüsselung (unbekannter Algorithmus %2$s).</string> - <string name="key_verification_request_fallback_message">%s fordert zur Ãœberprüfung deines Schlüssels auf, jedoch unterstützt dein Client nicht die Schlüsselüberprüfung im Chat. Du musst die herkömmliche Schlüsselüberprüfung verwenden, um die Schlüssel zu überprüfen.</string> - <string name="summary_you_sent_image">Du hast ein Bild gesendet.</string> <string name="summary_you_sent_sticker">Du hast einen Sticker gesendet.</string> - <string name="notice_room_invite_no_invitee_by_you">Deine Einladung</string> <string name="notice_room_created">%1$s hat den Raum erstellt</string> <string name="notice_room_created_by_you">Du hast den Raum erstellt</string> @@ -170,7 +139,6 @@ <string name="notice_made_future_room_visibility_by_you">Du hast den zukünftigen Nachrichtenverlauf für %1$s sichtbar gemacht</string> <string name="notice_end_to_end_by_you">Du hast Ende-zu-Ende-Verschlüsselung aktiviert (%1$s)</string> <string name="notice_room_update_by_you">Du hast den Raum aufgwertet.</string> - <string name="notice_requested_voip_conference_by_you">Du hast eine VoIP-Konferenz angefordert</string> <string name="notice_room_name_removed_by_you">Du hast den Raumnamen entfernt</string> <string name="notice_room_topic_removed_by_you">Du hast das Raumthema entfernt</string> @@ -180,24 +148,20 @@ <string name="notice_room_third_party_invite_by_you">Du hast %1$s in den Raum eingeladen</string> <string name="notice_room_third_party_revoked_invite_by_you">Du hast die Einladung für %1$s zurückgenommen</string> <string name="notice_room_third_party_registered_invite_by_you">Du hast die Einladung für %1$s akzeptiert</string> - <string name="notice_widget_added">%1$s hat das %2$s Widget hinzugefügt</string> <string name="notice_widget_added_by_you">Du hast das %1$s Widget hinzugefügt</string> <string name="notice_widget_removed">%1$s hat das %2$s Widget entfernt</string> <string name="notice_widget_removed_by_you">Du hast das %1$s Widget entfernt</string> <string name="notice_widget_modified">%1$s hat das %2$s Widget modifiziert</string> <string name="notice_widget_modified_by_you">Du hast das %1$s Widget modifiziert</string> - <string name="power_level_admin">Administrator</string> <string name="power_level_moderator">Moderator</string> <string name="power_level_default">Standard</string> <string name="power_level_custom">Benutzerdefiniert (%1$d)</string> <string name="power_level_custom_no_value">Benutzerdefiniert</string> - <string name="notice_power_level_changed_by_you">Du hast die Berechtigungsstufe von %1$s geändert.</string> <string name="notice_power_level_changed">%1$s hat die Berechtigungsstufe von %2$s geändert.</string> <string name="notice_power_level_diff">%1$s von %2$s zu %3$s</string> - <string name="notice_room_invite_no_invitee_with_reason_by_you">Deine Einladung. Grund: %1$s</string> <string name="notice_room_invite_with_reason_by_you">Du hast %1$s eingeladen. Grund: %2$s</string> <string name="notice_room_join_with_reason_by_you">Du bist dem Raum beigetreten. Grund: %1$s</string> @@ -210,28 +174,37 @@ <string name="notice_room_third_party_revoked_invite_with_reason_by_you">Du hast die Einladung für %1$s zurückgenommen. Grund: %2$s</string> <string name="notice_room_third_party_registered_invite_with_reason_by_you">Du hast die Einladung von %1$s angenommen. Grund: %2$s</string> <string name="notice_room_withdraw_with_reason_by_you">Du hast die Einladung von %1$s abgelehnt. Grund: %2$s</string> - <plurals name="notice_room_aliases_added_by_you"> <item quantity="one">Du hast die Raumaddresse %1$s hinzugefügt.</item> <item quantity="other">Du hast die Raumaddressen %1$s hinzugefügt.</item> </plurals> - <plurals name="notice_room_aliases_removed_by_you"> - <item quantity="one">Du hast die Raumaddresse %1$s vom Raum entfernt.</item> - <item quantity="other">Du hast die Raumaddressen %1$s vom Raum entfernt.</item> + <item quantity="one">Du hast die Raum-Adresse %1$s vom Raum entfernt.</item> + <item quantity="other">Du hast die Raum-Adressen %1$s vom Raum entfernt.</item> </plurals> - <string name="notice_room_aliases_added_and_removed_by_you">Du hast den Raumaddressen %1$s hinzugefügt und %2$s entfernt.</string> - <string name="notice_room_canonical_alias_set_by_you">Du hast die Hauptaddresse für diesen Raum auf %1$s gesetzt.</string> <string name="notice_room_canonical_alias_unset_by_you">Du hast die Hauptaddresse des Raums entfernt.</string> - <string name="notice_room_guest_access_can_join_by_you">Du hast Gästen erlaubt dem Raum beizutreten.</string> <string name="notice_room_guest_access_forbidden_by_you">Du hast Gästen untersagt dem Raum beizutreten.</string> - <string name="notice_end_to_end_ok_by_you">Du hast Ende-zu-Ende-Verschlüsselung aktiviert.</string> <string name="notice_end_to_end_unknown_algorithm_by_you">Du hast Ende-zu-Ende-Verschlüsselung aktiviert (unbekannter Algorithmus %1$s).</string> - <string name="notice_call_candidates">%s hat Daten gesendet, um einen Anruf zu starten.</string> <string name="notice_call_candidates_by_you">Du hast Daten geschickt, um eine Anruf zu starten.</string> -</resources> + <string name="notice_direct_room_guest_access_can_join_by_you">Du hast Gästen erlaubt hier beizutreten.</string> + <string name="notice_direct_room_guest_access_can_join">%1$s hat Gästen erlaubt hier beizutreten.</string> + <string name="notice_direct_room_join_with_reason_by_you">Du bist beigetreten. Grund: %1$s</string> + <string name="notice_direct_room_join_with_reason">%1$s ist beigetreten. Grund: %2$s</string> + <string name="notice_direct_room_third_party_revoked_invite_by_you">Du hast die Einladung für %1$s zurückgezogen</string> + <string name="notice_direct_room_third_party_revoked_invite">%1$s hat die Einladung für %2$s zurückgezogen</string> + <string name="notice_direct_room_third_party_invite_by_you">Du hast %1$s eingeladen</string> + <string name="notice_direct_room_third_party_invite">%1$s hat %2$s eingeladen</string> + <string name="notice_made_future_direct_room_visibility_by_you">Du hast zukünftige Nachrichten für %2$s sichtbar gemacht</string> + <string name="notice_made_future_direct_room_visibility">%1$s hat zukünftige Nachrichten für %2$s sichtbar gemacht</string> + <string name="notice_direct_room_leave_by_you">Du hast den Raum verlassen</string> + <string name="notice_direct_room_leave">%1$s hat den Raum verlassen</string> + <string name="notice_direct_room_join_by_you">Du bist beigetreten</string> + <string name="notice_direct_room_join">%1$s ist beigetreten</string> + <string name="notice_direct_room_created_by_you">Du hast eine Diskussion erstellt</string> + <string name="notice_direct_room_created">%1$s hat eine Diskussion erstellt</string> +</resources> \ No newline at end of file diff --git a/matrix-sdk-android/src/main/res/values-et/strings.xml b/matrix-sdk-android/src/main/res/values-et/strings.xml index 2fbe2634..71ee50f0 100644 --- a/matrix-sdk-android/src/main/res/values-et/strings.xml +++ b/matrix-sdk-android/src/main/res/values-et/strings.xml @@ -1,9 +1,8 @@ -<?xml version='1.0' encoding='UTF-8'?> +<?xml version="1.0" encoding="utf-8"?> <resources> <string name="summary_message">%1$s: %2$s</string> <string name="summary_user_sent_image">%1$s saatis pildi.</string> <string name="summary_user_sent_sticker">%1$s saatis kleepsu.</string> - <string name="notice_room_invite_no_invitee">Kasutaja %s kutse</string> <string name="notice_room_invite">%1$s kutsus kasutajat %2$s</string> <string name="notice_room_invite_you">%1$s kutsus sind</string> @@ -30,11 +29,9 @@ <string name="notice_room_visibility_unknown">teadmata (%s).</string> <string name="notice_end_to_end">%1$s lülitas sisse läbiva krüptimise (%2$s)</string> <string name="notice_room_update">%s uuendas seda jututuba.</string> - <string name="notice_requested_voip_conference">%1$s saatis VoIP konverentsi kutse</string> <string name="notice_voip_started">VoIP-konverents algas</string> <string name="notice_voip_finished">VoIP-konverents lõppes</string> - <string name="notice_avatar_changed_too">(samuti sai avatar muudetud)</string> <string name="notice_room_name_removed">%1$s eemaldas jututoa nime</string> <string name="notice_room_topic_removed">%1$s eemaldas jututoa teema</string> @@ -46,37 +43,25 @@ <string name="notice_room_third_party_invite">%1$s saatis jututoaga liitumiseks kutse kasutajale %2$s</string> <string name="notice_room_third_party_revoked_invite">%1$s võttis tagasi jututoaga liitumise kutse kasutajalt %2$s</string> <string name="notice_room_third_party_registered_invite">%1$s võttis vastu kutse %2$s nimel</string> - <string name="notice_crypto_unable_to_decrypt">** Ei õnnestu dekrüptida: %s **</string> <string name="notice_crypto_error_unkwown_inbound_session_id">Sõnumi saatja seade ei ole selle sõnumi jaoks saatnud dekrüptimisvõtmeid.</string> - <string name="could_not_redact">Ei saanud muuta sõnumit</string> <string name="unable_to_send_message">Sõnumi saatmine ei õnnestunud</string> - <string name="message_failed_to_upload">Faili üles laadimine ei õnnestunud</string> - <string name="network_error">Võrguühenduse viga</string> <string name="matrix_error">Matrix\'i viga</string> - <string name="room_error_join_failed_empty_room">Hetkel ei ole võimalik uuesti liituda tühja jututoaga.</string> - <string name="encrypted_message">Krüptitud sõnum</string> - <string name="medium_email">E-posti aadress</string> <string name="medium_phone_number">Telefoninumber</string> - <string name="room_displayname_invite_from">Kutse kasutajalt %s</string> <string name="room_displayname_room_invite">Kutse jututuppa</string> - <string name="room_displayname_two_members">%1$s ja %2$s</string> - <plurals name="room_displayname_three_and_more_members"> <item quantity="one">%1$s ja üks muu</item> <item quantity="other">%1$s ja %2$d muud</item> </plurals> - <string name="room_displayname_empty_room">Tühi jututuba</string> - <string name="initial_sync_start_importing_account">Alglaadimine: \nImpordin kontot…</string> <string name="initial_sync_start_importing_account_crypto">Alglaadimine: @@ -93,10 +78,8 @@ \nImpordin kogukondi</string> <string name="initial_sync_start_importing_account_data">Alglaadimine: \nImpordin kontoandmeid</string> - <string name="event_status_sending_message">Saadan sõnumit…</string> <string name="clear_timeline_send_queue">Tühjenda saatmisjärjekord</string> - <string name="notice_room_invite_no_invitee_with_reason">Kasutaja %1$s kutse. Põhjus: %2$s</string> <string name="notice_room_invite_with_reason">%1$s kutsus kasutajat %2$s. Põhjus: %3$s</string> <string name="notice_room_invite_you_with_reason">%1$s kutsus sind. Põhjus: %2$s</string> @@ -108,34 +91,25 @@ <string name="notice_room_third_party_revoked_invite_with_reason">%1$s tühistas kasutajale %2$s saadetud kutse jututoaga liitumiseks. Põhjus: %3$s</string> <string name="notice_room_third_party_registered_invite_with_reason">%1$s võttis vastu kutse %2$s jututoaga liitumiseks. Põhjus: %3$s</string> <string name="notice_room_withdraw_with_reason">%1$s võttis tagasi kasutajale %2$s saadetud kutse. Põhjus: %3$s</string> - <string name="notice_end_to_end_ok">%1$s lülitas sisse läbiva krüptimise.</string> <string name="notice_end_to_end_unknown_algorithm">%1$s lülitas sisse läbiva krüptimise (tundmatu algoritm %2$s).</string> - <plurals name="notice_room_aliases_added"> <item quantity="one">%1$s lisas %2$s selle jututoa aadressiks.</item> <item quantity="other">%1$s lisas %2$s selle jututoa aadressideks.</item> </plurals> - <plurals name="notice_room_aliases_removed"> <item quantity="one">%1$s eemaldas %2$s kui selle jututoa aadressi.</item> <item quantity="other">%1$s eemaldas %2$s selle jututoa aadresside hulgast.</item> </plurals> - <string name="notice_room_aliases_added_and_removed">%1$s lisas %2$s ja eemaldas %3$s selle jututoa aadresside loendist.</string> - <string name="notice_room_canonical_alias_set">%1$s seadistas selle jututoa põhiaadressiks %2$s.</string> <string name="notice_room_canonical_alias_unset">%1$s eemaldas selle jututoa põhiaadressi.</string> - <string name="notice_room_guest_access_can_join">%1$s lubas külalistel selle jututoaga liituda.</string> <string name="notice_room_guest_access_forbidden">%1$s seadistas, et külalised ei või selle jututoaga liituda.</string> - <string name="key_verification_request_fallback_message">%s soovib verifitseerida sinu võtmeid, kuid sinu kasutatav klient ei oska vestluse-sisest verifitseerimist teha. Sa pead kasutama traditsioonilist verifitseerimislahendust.</string> - <string name="notice_room_created">Kasutaja %1$s lõi jututoa</string> <string name="summary_you_sent_image">Sina saatsid pildi.</string> <string name="summary_you_sent_sticker">Sina saatsid kleepsu.</string> - <string name="notice_room_invite_no_invitee_by_you">Sinu kutse</string> <string name="notice_room_created_by_you">Sa lõid jututoa</string> <string name="notice_room_invite_by_you">Sina kutsusid kasutajat %1$s</string> @@ -145,7 +119,7 @@ <string name="notice_room_kick_by_you">Sina müksasid %1$s välja</string> <string name="notice_room_unban">%1$s taastas %2$s ligipääsu</string> <string name="notice_room_unban_by_you">Sina taastasid %1$s ligipääsu</string> - <string name="notice_room_ban">%1$s keelas %1$s ligipääsu</string> + <string name="notice_room_ban">%1$s keelas %2$s ligipääsu</string> <string name="notice_room_ban_by_you">Sina keelasid %1$s ligipääsu</string> <string name="notice_room_withdraw_by_you">Sina võtsid tagasi %1$s kutse</string> <string name="notice_avatar_url_changed_by_you">Sina muutsid oma tunnuspilti</string> @@ -165,7 +139,6 @@ <string name="notice_made_future_room_visibility_by_you">Sa seadistasid, et tulevane jututoa ajalugu on nähtav kasutajale %1$s</string> <string name="notice_end_to_end_by_you">Sa lülitasid sisse läbiva krüptimise (%1$s)</string> <string name="notice_room_update_by_you">Sa uuendasid seda jututuba.</string> - <string name="notice_requested_voip_conference_by_you">Sa algatasid VoIP rühmakõne</string> <string name="notice_room_name_removed_by_you">Sa eemaldasid jututoa nime</string> <string name="notice_room_topic_removed_by_you">Sa eemaldasid jututoa teema</string> @@ -175,26 +148,22 @@ <string name="notice_room_third_party_invite_by_you">Sina saatsid kasutajale %1$s kutse jututoaga liitumiseks</string> <string name="notice_room_third_party_revoked_invite_by_you">Sina võtsid tagasi jututoaga liitumise kutse kasutajalt %1$s</string> <string name="notice_room_third_party_registered_invite_by_you">Sina võtsid vastu kutse %1$s nimel</string> - <string name="notice_widget_added">%1$s lisas %2$s vidina</string> <string name="notice_widget_added_by_you">Sina lisasid %1$s vidina</string> <string name="notice_widget_removed">%1$s eemaldas %2$s vidina</string> <string name="notice_widget_removed_by_you">Sina eemdaldasid %1$s vidina</string> <string name="notice_widget_modified">%1$s muutis %2$s vidinat</string> <string name="notice_widget_modified_by_you">Sa muutsid %1$s vidinat</string> - <string name="power_level_admin">Peakasutaja</string> <string name="power_level_moderator">Moderaator</string> <string name="power_level_default">Tavakasutaja</string> - <string name="power_level_custom">Kohandatud kasutajaõigused (%1$s)</string> + <string name="power_level_custom">Kohandatud kasutajaõigused (%1$d)</string> <string name="power_level_custom_no_value">Kohandatud õigused</string> - <string name="notice_power_level_changed_by_you">Sina muutsid kasutaja %1$s õigusi.</string> <string name="notice_power_level_changed">%1$s muutis kasutaja %2$s õigusi.</string> <string name="notice_power_level_diff">%1$s õiguste muutus %2$s -> %3$s</string> - <string name="notice_room_invite_no_invitee_with_reason_by_you">Sinu kutse. Põhjus %1$s</string> - <string name="notice_room_invite_with_reason_by_you">Sina kutsusid kasutajat %1$s. Põhjus: %1$s</string> + <string name="notice_room_invite_with_reason_by_you">Sina kutsusid kasutajat %1$s. Põhjus: %2$s</string> <string name="notice_room_join_with_reason_by_you">Sina liitusid jututoaga. Põhjus: %1$s</string> <string name="notice_room_leave_with_reason_by_you">Sina lahkusid jututoast. Põhjus: %1$s</string> <string name="notice_room_reject_with_reason_by_you">Sina lükkasid kutse tagasi. Põhjus: %1$s</string> @@ -207,26 +176,41 @@ <string name="notice_room_third_party_revoked_invite_with_reason_by_you">Sina võtsid tagasi jututoaga liitumise kutse kasutajalt %1$s. Põhjus: %2$s</string> <string name="notice_room_third_party_registered_invite_with_reason_by_you">Sina võtsid vastu kutse %1$s nimel. Põhjus: %2$s</string> <string name="notice_room_withdraw_with_reason_by_you">Sina võtsid tagasi kasutaja %1$s kutse. Põhjus: %2$s</string> - <plurals name="notice_room_aliases_added_by_you"> <item quantity="one">Sina lisasid %1$s selle jututoa aadressiks.</item> <item quantity="other">Sina lisasid %1$s selle jututoa aadressideks.</item> </plurals> - <plurals name="notice_room_aliases_removed_by_you"> <item quantity="one">Sina eemaldasid %1$s, kui selle jututoa aadressi.</item> <item quantity="other">Sina eemaldasid %1$s selle jututoa aadresside hulgast.</item> </plurals> - <string name="notice_room_aliases_added_and_removed_by_you">Sina lisasid %1$s selle jututoa aadressiks ning eemaldasid %2$s aadresside hulgast.</string> - <string name="notice_room_canonical_alias_set_by_you">Sina seadistasid selle jututoa põhiaadressiks %1$s.</string> <string name="notice_room_canonical_alias_unset_by_you">Sina eemaldasid selle jututoa põhiaadressi.</string> - <string name="notice_room_guest_access_can_join_by_you">Sina lubasid külalistel selle jututoaga liituda.</string> <string name="notice_room_guest_access_forbidden_by_you">Sina seadistasid, et külalised ei või selle jututoaga liituda.</string> - <string name="notice_end_to_end_ok_by_you">Sa lülitasid sisse läbiva krüptimise.</string> <string name="notice_end_to_end_unknown_algorithm_by_you">Sa lülitasid sisse läbiva krüptimise (kasutusel on tundmatu algoritm %1$s).</string> - -</resources> + <string name="notice_direct_room_guest_access_forbidden_by_you">Sina seadistasid, et külalised ei või selle jututoaga liituda.</string> + <string name="notice_direct_room_guest_access_forbidden">%1$s seadistas, et külalised ei või selle jututoaga liituda.</string> + <string name="notice_direct_room_guest_access_can_join_by_you">Sina lubasid külalistel selle jututoaga liituda.</string> + <string name="notice_direct_room_guest_access_can_join">%1$s lubas külalistel selle jututoaga liituda.</string> + <string name="notice_direct_room_leave_with_reason_by_you">Sina lahkusid jututoast. Põhjus: %1$s</string> + <string name="notice_direct_room_leave_with_reason">%1$s lahkus jututoast. Põhjus: %2$s</string> + <string name="notice_direct_room_join_with_reason_by_you">Sina liitusid jututoaga. Põhjus: %1$s</string> + <string name="notice_direct_room_join_with_reason">%1$s liitus jututoaga. Põhjus: %2$s</string> + <string name="notice_direct_room_third_party_revoked_invite_by_you">Sina võtsid tagasi jututoaga liitumise kutse kasutajalt %1$s</string> + <string name="notice_direct_room_third_party_revoked_invite">%1$s võttis tagasi jututoaga liitumise kutse kasutajalt %2$s</string> + <string name="notice_direct_room_third_party_invite_by_you">Sina kutsusid kasutajat %1$s</string> + <string name="notice_direct_room_third_party_invite">%1$s kutsus kasutajat %2$s</string> + <string name="notice_direct_room_update_by_you">Sa uuendasid seda jututuba.</string> + <string name="notice_direct_room_update">%s uuendas seda jututuba.</string> + <string name="notice_made_future_direct_room_visibility_by_you">Sina seadistasid, et tulevased jututoa sõnumid on nähtavad kasutajale %1$s</string> + <string name="notice_made_future_direct_room_visibility">%1$s seadistas, et tulevased jututoa sõnumid on nähtavad kasutajale %2$s</string> + <string name="notice_direct_room_leave_by_you">Sina lahkusid jututoast</string> + <string name="notice_direct_room_leave">%1$s lahkus jututoast</string> + <string name="notice_direct_room_join_by_you">Sina liitusid</string> + <string name="notice_direct_room_join">%1$s liitus</string> + <string name="notice_direct_room_created_by_you">Sina alustasid vestlust</string> + <string name="notice_direct_room_created">%1$s alustas vestlust</string> +</resources> \ No newline at end of file diff --git a/matrix-sdk-android/src/main/res/values-fa/strings.xml b/matrix-sdk-android/src/main/res/values-fa/strings.xml index b88a9845..25d92b4a 100644 --- a/matrix-sdk-android/src/main/res/values-fa/strings.xml +++ b/matrix-sdk-android/src/main/res/values-fa/strings.xml @@ -40,10 +40,10 @@ <string name="notice_avatar_changed_too">(تصویر هم عوض شد)</string> <string name="notice_room_name_removed">%1$s نام اتاق را پاک کرد</string> <string name="notice_room_topic_removed">%1$s موضوع اتاق را پاک کرد</string> - <string name="notice_event_redacted">پیام پاک شد</string> - <string name="notice_event_redacted_by">پیام به دست %1$s پاک شد</string> - <string name="notice_event_redacted_with_reason">پیام پاک شد [دلیل: %1$s]</string> - <string name="notice_event_redacted_by_with_reason">پیام به دست %1$s پاک شد [دلیل: %2$s]</string> + <string name="notice_event_redacted">پیام برداشته شد</string> + <string name="notice_event_redacted_by">پیام به دست %1$s برداشته شد</string> + <string name="notice_event_redacted_with_reason">پیام برداشته شد [دلیل: %1$s]</string> + <string name="notice_event_redacted_by_with_reason">پیام به دست %1$s برداشته شد [دلیل: %2$s]</string> <string name="notice_room_third_party_invite">%1$s دعوتی برای پیوستن %2$s به اتاق Ùرستاد</string> <string name="notice_room_third_party_revoked_invite">%1$s دعوت پیوستن به اتاق %2$s را باطل کرد</string> <string name="notice_room_third_party_registered_invite">%1$s دعوت برای %2$s را پذیرÙت</string> @@ -56,7 +56,7 @@ <string name="message_failed_to_upload">شکست در بارگذاری تصویر</string> <string name="network_error">خطای شبکه</string> - <string name="matrix_error">خطای ماتریس</string> + <string name="matrix_error">خطای ماتریکس</string> <string name="room_error_join_failed_empty_room">در Øال Øاضر امکان بازپیوست به اتاقی خالی وجود ندارد‌‌.</string> @@ -135,6 +135,98 @@ <string name="key_verification_request_fallback_message">%s درخواست تأیید کلیدتان را دارد، ولی کارخواهتان تأیید کلید درون Ú¯Ù¾ را پشتیبانی نمی‌کند. برای تأیید کلیدها لازم است از تأییدیهٔ کلید قدیمی استÙاده کنید.</string> <string name="notice_room_created">%1$s اتاق را ایجاد کرد</string> - <string name="notice_profile_change_redacted">%1$s نمایه خود را به‌روز کرد %2$s</string> + <string name="notice_profile_change_redacted">%1$s نمایه‌اش را به‌روز کرد %2$s</string> <string name="could_not_redact">نمی‌توان ویرایش کرد</string> + <string name="summary_you_sent_image">تصویری Ùرستادید.</string> + <string name="summary_you_sent_sticker">برچسبی Ùرستادید.</string> + + <string name="notice_room_invite_no_invitee_by_you">دعوتتان</string> + <string name="notice_room_created_by_you">اتاق را ایجاد کردید</string> + <string name="notice_room_invite_by_you">از %1$s دعوت کردید</string> + <string name="notice_room_join_by_you">به اتاق پیوستید</string> + <string name="notice_room_leave_by_you">اتاق را ترک کردید</string> + <string name="notice_room_reject_by_you">دعوت را رد کردید</string> + <string name="notice_room_kick_by_you">%1$s را اخراج کردید</string> + <string name="notice_room_unban_by_you">تØریم %1$s را برداشتید</string> + <string name="notice_room_ban_by_you">%1$s را تØریم کردید</string> + <string name="notice_room_withdraw_by_you">دعوت %1$s را پس‌گرÙتید</string> + <string name="notice_avatar_url_changed_by_you">آواتارتان را عوض کردید</string> + <string name="notice_display_name_set_by_you">نام نمایشیتان را به %1$s تغییر دادید</string> + <string name="notice_display_name_changed_from_by_you">نام نمایشیتان را از %1$s به %2$s تغییر دادید</string> + <string name="notice_display_name_removed_by_you">نام نمایشیتان را برداشتید (%1$s بود)</string> + <string name="notice_room_topic_changed_by_you">موضوع را به %1$s تغییر دادید</string> + <string name="notice_room_avatar_changed">%1$s آواتار اتاق را تغییر داد</string> + <string name="notice_room_avatar_changed_by_you">آواتار اتاق را تغییر دادید</string> + <string name="notice_room_name_changed_by_you">نام اتاق را به %1$s تغییر دادید</string> + <string name="notice_placed_video_call_by_you">تماس تصویری گرÙتید.</string> + <string name="notice_placed_voice_call_by_you">تماس صوتی گرÙتید.</string> + <string name="notice_call_candidates">%s برای برپایی تماس، داده Ùرستاد.</string> + <string name="notice_call_candidates_by_you">برای برپایی تماس، داده Ùرستادید.</string> + <string name="notice_answered_call_by_you">تماس را پاسخ دادید.</string> + <string name="notice_ended_call_by_you">به تماس پایان دادید.</string> + <string name="notice_made_future_room_visibility_by_you">تاریخچهٔ آتی اتاق را برای %1$s نمایان کردید</string> + <string name="notice_end_to_end_by_you">رمزنگاری سرتاسری را روشن کردید (%1$s)</string> + <string name="notice_room_update_by_you">این اتاق را ارتقا دادید.</string> + + <string name="notice_requested_voip_conference_by_you">دارخواست Ú©Ù†Ùرانس ویپ دادید</string> + <string name="notice_room_name_removed_by_you">نام اتاق را برداشتید</string> + <string name="notice_room_topic_removed_by_you">موضوع اتاق را برداشتید</string> + <string name="notice_room_avatar_removed">%1$s آواتار اتاق را برداشت</string> + <string name="notice_room_avatar_removed_by_you">آواتار اتاق را برداشتید</string> + <string name="notice_profile_change_redacted_by_you">نمایه‌تان را به‌روز کردید %1$s</string> + <string name="notice_room_third_party_invite_by_you">برای %1$s دعوت پیوستن به اتاق Ùرستادید</string> + <string name="notice_room_third_party_revoked_invite_by_you">دعوت پیوستن %1$s به اتاق را پس گرÙتید</string> + <string name="notice_room_third_party_registered_invite_by_you">دعوت برای %1$s را پذیرÙتید</string> + + <string name="notice_widget_added">%1$s ابزارک %2$s را اÙزود</string> + <string name="notice_widget_added_by_you">ابزارک %1$s را اÙزودید</string> + <string name="notice_widget_removed">%1$s ابزارک %2$s را برداشت</string> + <string name="notice_widget_removed_by_you">ابزارک %1$s را برداشتید</string> + <string name="notice_widget_modified">%1$s ابزارک %2$s را دستکاری کرد</string> + <string name="notice_widget_modified_by_you">ابزارک %1$s را دستکاری کردید</string> + + <string name="power_level_admin">مدیر</string> + <string name="power_level_moderator">ناظم</string> + <string name="power_level_default">پیش‌گزیده</string> + <string name="power_level_custom">سÙارشی (%1$d)</string> + <string name="power_level_custom_no_value">سÙارشی</string> + + <string name="notice_power_level_changed_by_you">Ø³Ø·Ø Ù‚Ø¯Ø±Øª %1$s را تغییر دادید.</string> + <string name="notice_power_level_changed">%1$s Ø³Ø·Ø Ù‚Ø¯Ø±Øª %2$s را تغییر داد.</string> + <string name="notice_power_level_diff">%1$s از %2$s به %3$s</string> + + <string name="notice_room_invite_no_invitee_with_reason_by_you">دعوتتان. دلیل: %1$s</string> + <string name="notice_room_invite_with_reason_by_you">%1$s را دعوت کردید. دلیل: %2$s</string> + <string name="notice_room_join_with_reason_by_you">به اتاق پیوستید. دلیل: %1$s</string> + <string name="notice_room_leave_with_reason_by_you">اتاق را ترک کردید. دلیل: %1$s</string> + <string name="notice_room_reject_with_reason_by_you">دعوت را رد کردید. دلیل: %1$s</string> + <string name="notice_room_kick_with_reason_by_you">%1$s را اخراج کردید. دلیل: %2$s</string> + <string name="notice_room_unban_with_reason_by_you">تØریم %1$s را برداشتید. دلیل: %2$s</string> + <string name="notice_room_ban_with_reason_by_you">%1$s را تØریم کردید. دلیل: %2$s</string> + <string name="notice_room_third_party_invite_with_reason_by_you">دعوتی به %1$s برای پیوستن به اتاق Ùرستادید. دلیل: %2$s</string> + <string name="notice_room_third_party_revoked_invite_with_reason_by_you">دعوت %1$s برای پیوستن به اتاق را پس گرÙتید. دلیل: %2$s</string> + <string name="notice_room_third_party_registered_invite_with_reason_by_you">دعوت برای %1$s را پذیرÙتید. دلیل: %2$s</string> + <string name="notice_room_withdraw_with_reason_by_you">دعوت %1$s را رد کردید. دلیل: %2$s</string> + + <plurals name="notice_room_aliases_added_by_you"> + <item quantity="one">نشانی %1$s را به این اتاق اÙزودید.</item> + <item quantity="other">نشانی‌های %1$s را به این اتاق اÙزودید.</item> + </plurals> + + <plurals name="notice_room_aliases_removed_by_you"> + <item quantity="one">نشانی %1$s ار از این اتاق برداشتید.</item> + <item quantity="other">نشانی‌های %1$s ار از این اتاق برداشتید.</item> + </plurals> + + <string name="notice_room_aliases_added_and_removed_by_you">نشانی %1$s ار اÙزوده Ùˆ %2$s را از این اتاق برداشتید.</string> + + <string name="notice_room_canonical_alias_set_by_you">نشانی اصلی این اتاق را به %1$s تنظیم کردید.</string> + <string name="notice_room_canonical_alias_unset_by_you">نشانی اصلی این اتاق را برداشتید.</string> + + <string name="notice_room_guest_access_can_join_by_you">به میهمانان اجازهٔ پیوستن به گروه دادید.</string> + <string name="notice_room_guest_access_forbidden_by_you">میمهانان را از پیوستن به گروه بازداشتید.</string> + + <string name="notice_end_to_end_ok_by_you">رمزنگاری سرتاسری را روشن کردید.</string> + <string name="notice_end_to_end_unknown_algorithm_by_you">رمزنگاری سرتاسری را روشن کردید (الگوریتم ناشناخته %1$s).</string> + </resources> diff --git a/matrix-sdk-android/src/main/res/values-it/strings.xml b/matrix-sdk-android/src/main/res/values-it/strings.xml index cf081752..d4479be6 100644 --- a/matrix-sdk-android/src/main/res/values-it/strings.xml +++ b/matrix-sdk-android/src/main/res/values-it/strings.xml @@ -1,8 +1,7 @@ -<?xml version='1.0' encoding='UTF-8'?> +<?xml version="1.0" encoding="utf-8"?> <resources> <string name="summary_message">%1$s: %2$s</string> <string name="summary_user_sent_image">%1$s ha inviato un\'immagine.</string> - <string name="notice_room_invite_no_invitee">Invito di %s</string> <string name="notice_room_invite">%1$s ha invitato %2$s</string> <string name="notice_room_invite_you">%1$s ti ha invitato</string> @@ -30,55 +29,40 @@ <string name="notice_room_visibility_world_readable">chiunque.</string> <string name="notice_room_visibility_unknown">sconosciuto (%s).</string> <string name="notice_end_to_end">%1$s ha attivato la crittografia end-to-end (%2$s)</string> - <string name="notice_requested_voip_conference">%1$s ha richiesto una conferenza VoIP</string> <string name="notice_voip_started">Conferenza VoIP iniziata</string> <string name="notice_voip_finished">Conferenza VoIP terminata</string> - <string name="notice_avatar_changed_too">(anche l\'avatar è cambiato)</string> <string name="notice_room_name_removed">%1$s ha rimosso il nome della stanza</string> <string name="notice_room_topic_removed">%1$s ha rimosso l\'argomento della stanza</string> <string name="notice_profile_change_redacted">%1$s ha aggiornato il profilo %2$s</string> <string name="notice_room_third_party_invite">%1$s ha mandato un invito a %2$s per unirsi alla stanza</string> <string name="notice_room_third_party_registered_invite">%1$s ha accettato l\'invito per %2$s</string> - <string name="notice_crypto_unable_to_decrypt">** Impossibile decriptare: %s **</string> <string name="notice_crypto_error_unkwown_inbound_session_id">Il dispositivo del mittente non ci ha inviato le chiavi per questo messaggio.</string> - <string name="could_not_redact">Impossibile revisionare</string> <string name="unable_to_send_message">Impossibile inviare il messaggio</string> - <string name="message_failed_to_upload">Invio dell\'immagine fallito</string> - <string name="network_error">Errore di rete</string> <string name="matrix_error">Errore di Matrix</string> - <string name="room_error_join_failed_empty_room">Al momento non è possibile rientrare in una stanza vuota.</string> - <string name="encrypted_message">Messaggio criptato</string> - <string name="medium_email">Indirizzo email</string> <string name="medium_phone_number">Numero di telefono</string> - <string name="summary_user_sent_sticker">%1$s ha inviato un adesivo.</string> - <!-- Room display name --> <string name="room_displayname_invite_from">Invito da %s</string> <string name="room_displayname_room_invite">Invito nella stanza</string> <string name="room_displayname_two_members">%1$s e %2$s</string> <string name="room_displayname_empty_room">Stanza vuota</string> - <plurals name="room_displayname_three_and_more_members"> <item quantity="one">%1$s e 1 altro</item> <item quantity="other">%1$s e %2$d altri</item> </plurals> - - <string name="notice_event_redacted">Messaggio rimosso</string> <string name="notice_event_redacted_by">Messaggio rimosso da %1$s</string> <string name="notice_event_redacted_with_reason">Messaggio rimosso [motivo: %1$s]</string> <string name="notice_event_redacted_by_with_reason">Messaggio rimosso da %1$s [motivo: %2$s]</string> - <string name="initial_sync_start_importing_account">Sync iniziale: \nImportazione account…</string> <string name="initial_sync_start_importing_account_crypto">Sync iniziale: @@ -95,12 +79,9 @@ \nImportazione comunità </string> <string name="initial_sync_start_importing_account_data">Sync iniziale: \nImportazione dati account</string> - <string name="notice_room_update">%s ha aggiornato questa stanza.</string> - <string name="event_status_sending_message">Invio messaggio in corso …</string> <string name="clear_timeline_send_queue">Cancella la coda di invio</string> - <string name="notice_room_third_party_revoked_invite">%1$s ha revocato l\'invito a %2$s di unirsi alla stanza</string> <string name="notice_room_invite_no_invitee_with_reason">Invito di %1$s. Motivo: %2$s</string> <string name="notice_room_invite_with_reason">%1$s ha invitato %2$s. Motivo: %3$s</string> @@ -115,34 +96,25 @@ <string name="notice_room_third_party_revoked_invite_with_reason">%1$s ha revocato l\'invito a %2$s di unirsi alla stanza. Motivo: %3$s</string> <string name="notice_room_third_party_registered_invite_with_reason">%1$s ha accettato l\'invito per %2$s. Motivo: %3$s</string> <string name="notice_room_withdraw_with_reason">%1$s ha rifiutato l\'invito di %2$s. Motivo: %3$s</string> - <plurals name="notice_room_aliases_added"> <item quantity="one">%1$s ha aggiunto %2$s come indirizzo per questa stanza.</item> <item quantity="other">%1$s ha aggiunto %2$s come indirizzi per questa stanza.</item> </plurals> - <plurals name="notice_room_aliases_removed"> <item quantity="one">%1$s ha rimosso %2$s come indirizzo per questa stanza.</item> <item quantity="other">%1$s ha rimosso %3$s come indirizzi per questa stanza.</item> </plurals> - <string name="notice_room_aliases_added_and_removed">%1$s ha aggiunto %2$s e rimosso %3$s come indirizzi per questa stanza.</string> - <string name="notice_room_canonical_alias_set">%1$s ha impostato l\'indirizzo principale per questa stanza a %2$s.</string> <string name="notice_room_canonical_alias_unset">%1$s ha rimosso l\'indirizzo principale per questa stanza.</string> - <string name="notice_room_guest_access_can_join">%1$s ha permesso l\'accesso alla stanza per gli ospiti.</string> <string name="notice_room_guest_access_forbidden">%1$s ha impedito l\'accesso alla stanza per gli ospiti.</string> - <string name="notice_end_to_end_ok">%1$s ha attivato la cifratura end-to-end.</string> <string name="notice_end_to_end_unknown_algorithm">%1$s ha attivato la cifratura end-to-end (algoritmo %2$s non riconosciuto).</string> - <string name="key_verification_request_fallback_message">%s sta chiedendo di verificare la tua chiave, ma il tuo client non supporta la verifica in-chat. Dovrai usare il metodo di verifica obsoleto per verificare le chiavi.</string> - <string name="notice_room_created">%1$s ha creato la stanza</string> <string name="summary_you_sent_image">Hai inviato un\'immagine.</string> <string name="summary_you_sent_sticker">Hai inviato un adesivo.</string> - <string name="notice_room_invite_no_invitee_by_you">Il tuo invito</string> <string name="notice_room_created_by_you">Hai creato la stanza</string> <string name="notice_room_invite_by_you">Hai invitato %1$s</string> @@ -170,7 +142,6 @@ <string name="notice_made_future_room_visibility_by_you">Hai reso visibile la futura cronologia della stanza a %1$s</string> <string name="notice_end_to_end_by_you">Hai attivato la crittografia end-to-end (%1$s)</string> <string name="notice_room_update_by_you">Hai aggiornato questa stanza.</string> - <string name="notice_requested_voip_conference_by_you">Hai richiesto una conferenza VoIP</string> <string name="notice_room_name_removed_by_you">Hai rimosso il nome della stanza</string> <string name="notice_room_topic_removed_by_you">Hai rimosso l\'argomento della stanza</string> @@ -180,24 +151,20 @@ <string name="notice_room_third_party_invite_by_you">Hai mandato un invito a %1$s a unirsi alla stanza</string> <string name="notice_room_third_party_revoked_invite_by_you">Hai revocato l\'invito per %1$s a unirsi alla stanza</string> <string name="notice_room_third_party_registered_invite_by_you">Hai accettato l\'invito per %1$s</string> - <string name="notice_widget_added">%1$s ha aggiunto il widget %2$s</string> <string name="notice_widget_added_by_you">Hai aggiunto il widget %1$s</string> <string name="notice_widget_removed">%1$s ha rimosso il widget %2$s</string> <string name="notice_widget_removed_by_you">Hai rimosso il widget %1$s</string> <string name="notice_widget_modified">%1$s ha modificato il widget %2$s</string> <string name="notice_widget_modified_by_you">Hai modificato il widget %1$s</string> - <string name="power_level_admin">Amministratore</string> <string name="power_level_moderator">Moderatore</string> <string name="power_level_default">Predefinito</string> <string name="power_level_custom">Personalizzato (%1$d)</string> <string name="power_level_custom_no_value">Personalizzato</string> - <string name="notice_power_level_changed_by_you">Hai cambiato il livello di potere di %1$s.</string> <string name="notice_power_level_changed">%1$s ha cambiato il livello di potere di %2$s.</string> <string name="notice_power_level_diff">%1$s da %2$s a %3$s</string> - <string name="notice_room_invite_no_invitee_with_reason_by_you">Il tuo invito. Motivo: %1$s</string> <string name="notice_room_invite_with_reason_by_you">Hai invitato %1$s. Motivo: %2$s</string> <string name="notice_room_join_with_reason_by_you">Sei entrato nella stanza. Motivo: %1$s</string> @@ -209,27 +176,42 @@ <string name="notice_room_third_party_invite_with_reason_by_you">Hai mandato un invito a %1$s a unirsi alla stanza. Motivo: %2$s</string> <string name="notice_room_third_party_revoked_invite_with_reason_by_you">Hai revocato l\'invito a %1$s a unirsi alla stanza. Motivo: %2$s</string> <string name="notice_room_third_party_registered_invite_with_reason_by_you">Hai accettato l\'invito per %1$s. Motivo: %2$s</string> - <string name="notice_room_withdraw_with_reason_by_you">Hai ritirato l\'invito di %2$s. Motivo: %2$s</string> - + <string name="notice_room_withdraw_with_reason_by_you">Hai ritirato l\'invito di %1$s. Motivo: %2$s</string> <plurals name="notice_room_aliases_added_by_you"> <item quantity="one">Hai aggiunto %1$s come indirizzo per questa stanza.</item> <item quantity="other">Hai aggiunto %1$s come indirizzi per questa stanza.</item> </plurals> - <plurals name="notice_room_aliases_removed_by_you"> <item quantity="one">Hai rimosso %1$s come indirizzo per questa stanza.</item> <item quantity="other">Hai rimosso %2$s come indirizzi per questa stanza.</item> </plurals> - <string name="notice_room_aliases_added_and_removed_by_you">Hai aggiunto %1$s e rimosso %2$s come indirizzi per questa stanza.</string> - <string name="notice_room_canonical_alias_set_by_you">Hai impostato l\'indirizzo principale per questa stanza a %1$s.</string> <string name="notice_room_canonical_alias_unset_by_you">Hai rimosso l\'indirizzo principale per questa stanza.</string> - <string name="notice_room_guest_access_can_join_by_you">Hai permesso l\'accesso alla stanza per gli ospiti.</string> <string name="notice_room_guest_access_forbidden_by_you">Hai impedito l\'accesso alla stanza per gli ospiti.</string> - <string name="notice_end_to_end_ok_by_you">Hai attivato la crittografia end-to-end.</string> <string name="notice_end_to_end_unknown_algorithm_by_you">Hai attivato la crittografia end-to-end (algoritmo %1$s sconosciuto).</string> - -</resources> + <string name="notice_direct_room_guest_access_forbidden_by_you">Hai impedito l\'accesso alla stanza agli ospiti.</string> + <string name="notice_direct_room_guest_access_forbidden">%1$s ha impedito l\'accesso alla stanza agli ospiti.</string> + <string name="notice_direct_room_guest_access_can_join_by_you">Hai permesso l\'accesso agli ospiti.</string> + <string name="notice_direct_room_guest_access_can_join">%1$s ha permesso l\'accesso agli ospiti.</string> + <string name="notice_direct_room_join_with_reason_by_you">Sei entrato. Motivo: %1$s</string> + <string name="notice_direct_room_leave_with_reason_by_you">Sei uscito. Motivo: %1$s</string> + <string name="notice_direct_room_leave_with_reason">%1$s è uscito. Motivo: %2$s</string> + <string name="notice_direct_room_join_with_reason">%1$s è entrato. Motivo: %2$s</string> + <string name="notice_direct_room_third_party_revoked_invite_by_you">Hai revocato l\'invito per %1$s</string> + <string name="notice_direct_room_third_party_revoked_invite">%1$s ha revocato l\'invito per %2$s</string> + <string name="notice_direct_room_third_party_invite_by_you">Hai invitato %1$s</string> + <string name="notice_direct_room_third_party_invite">%1$s ha invitato %2$s</string> + <string name="notice_direct_room_update_by_you">Hai aggiornato la stanza.</string> + <string name="notice_direct_room_update">%s ha aggiornato la stanza.</string> + <string name="notice_made_future_direct_room_visibility_by_you">Hai reso visibili i messaggi futuri a %1$s</string> + <string name="notice_made_future_direct_room_visibility">%1$s ha reso visibili i messaggi futuri a %2$s</string> + <string name="notice_direct_room_leave_by_you">Sei uscito dalla stanza</string> + <string name="notice_direct_room_leave">%1$s è uscito dalla stanza</string> + <string name="notice_direct_room_join_by_you">Sei entrato</string> + <string name="notice_direct_room_join">%1$s è entrato</string> + <string name="notice_direct_room_created_by_you">Hai creato la discussione</string> + <string name="notice_direct_room_created">%1$s ha creato la discussione</string> +</resources> \ No newline at end of file diff --git a/matrix-sdk-android/src/main/res/values-kab/strings.xml b/matrix-sdk-android/src/main/res/values-kab/strings.xml index 0d1cad65..e557a7c8 100644 --- a/matrix-sdk-android/src/main/res/values-kab/strings.xml +++ b/matrix-sdk-android/src/main/res/values-kab/strings.xml @@ -1,4 +1,4 @@ -<?xml version='1.0' encoding='UTF-8'?> +<?xml version="1.0" encoding="utf-8"?> <resources> <string name="summary_message">%1$s: %2$s</string> <string name="summary_user_sent_image">%1$s t.yuzen tugna.</string> @@ -23,16 +23,11 @@ <string name="power_level_moderator">AseÉ£yad</string> <string name="power_level_default">Amezwer</string> <string name="power_level_custom_no_value">Sagen</string> - <string name="notice_power_level_diff">%1$s seg %2$s É£er %3$s</string> - <string name="message_failed_to_upload">Tegguma ad d-tali tugna</string> - <string name="medium_email">Tansa n yimayl</string> - <string name="summary_user_sent_sticker">%1$s azen astiker.</string> <string name="summary_you_sent_sticker">TuzneḠamená¹aá¸.</string> - <string name="notice_room_unban">%1$s yekkes agdal i %2$s</string> <string name="notice_room_unban_by_you">TekkseḠagdal i %1$s</string> <string name="notice_room_ban">%1$s igdel %2$s</string> @@ -46,12 +41,12 @@ <string name="notice_display_name_changed_from_by_you">TbeddleḠisem-ik•im i d-ittuseknen seg %1$s É£er %2$s</string> <string name="notice_display_name_removed">%1$s yekkes isem-is i d-ittuseknen (yella %2$s)</string> <string name="notice_display_name_removed_by_you">TekkseḠisem-ik·im yettwaskanen (d %1$s)</string> - <string name="notice_room_topic_changed">%1$S isnifel asentel s: %2$S</string> - <string name="notice_room_topic_changed_by_you">TesnifleḠasentel s: %2$S</string> + <string name="notice_room_topic_changed">%1$s isnifel asentel s: %2$s</string> + <string name="notice_room_topic_changed_by_you">TesnifleḠasentel s: %1$s</string> <string name="notice_room_avatar_changed">%1$s ibeddel avaá¹ar n texxamt</string> <string name="notice_room_avatar_changed_by_you">TbeddleḠavaá¹ar n texxamt</string> <string name="notice_room_name_changed">%1$s ibeddel isem n texxamt s: %2$s</string> - <string name="notice_room_name_changed_by_you">TbeddleḠisem n texxamt s: %2$s</string> + <string name="notice_room_name_changed_by_you">TbeddleḠisem n texxamt s: %1$s</string> <string name="notice_placed_video_call">%s isÉ›edda siwel s tvidyut.</string> <string name="notice_placed_video_call_by_you">TesÉ›eddaḠsiwel s tvidyut.</string> <string name="notice_placed_voice_call">%s isÉ›edda asiwel s taÉ£ect.</string> @@ -68,15 +63,13 @@ <string name="notice_room_visibility_world_readable">yal yiwen.</string> <string name="notice_room_visibility_unknown">arussin (%s).</string> <string name="notice_end_to_end">%1$s isermed awgelhen seg yixef É£er yixef (%2$s)</string> - <string name="notice_end_to_end_by_you">TesremdeḠawgelhen seg yixef É£er yixef (%2$s)</string> + <string name="notice_end_to_end_by_you">TesremdeḠawgelhen seg yixef É£er yixef (%1$s)</string> <string name="notice_room_update">%s ileqqem taxxamt-a.</string> <string name="notice_room_update_by_you">TleqqmeḠtaxxamt-a.</string> - <string name="notice_requested_voip_conference">%1$s isuter-d asarag VoIP</string> <string name="notice_requested_voip_conference_by_you">Tsutreá¸-d asarag VoIP</string> <string name="notice_voip_started">Asarag VoIP yebda</string> <string name="notice_voip_finished">Asarag VoIP yekfa</string> - <string name="notice_avatar_changed_too">(avatar daÉ£en ibeddel)</string> <string name="notice_room_name_removed">%1$s yekkes isem n texxamt</string> <string name="notice_room_name_removed_by_you">TekkseḠisem n texxamt</string> @@ -94,51 +87,37 @@ <string name="notice_room_third_party_invite_by_you">TuzneḠtinubga i %1$s akken ad yeddu É£er texxamt</string> <string name="notice_room_third_party_registered_invite">%1$s iqbel tinubga i %2$s</string> <string name="notice_room_third_party_registered_invite_by_you">TqebleḠtinubga i %1$s</string> - <string name="notice_widget_added">%1$s yerna awiǧit %2$s</string> <string name="notice_widget_added_by_you">TerniḠawiǧit %1$s</string> <string name="notice_widget_removed">%1$s yekkes awiǧit %2$s</string> <string name="notice_widget_removed_by_you">TekkseḠawiǧit %1$s</string> <string name="notice_widget_modified">%1$s ibeddel awiǧit %2$s</string> <string name="notice_widget_modified_by_you">TbeddleḠawiǧit %1$s</string> - - <string name="power_level_custom">Sagen (%1$)</string> + <string name="power_level_custom">Sagen (%1$d)</string> <string name="notice_power_level_changed_by_you">TbeddleḠaswir n tezmert n %1$s.</string> <string name="notice_power_level_changed">%1$s ibeddel aswir n tezmert n %2$s.</string> <string name="notice_crypto_unable_to_decrypt">** Awgelhen d awezÉ£i: %s **</string> <string name="notice_crypto_error_unkwown_inbound_session_id">Ibenk n umazan ur aÉ£-d-yuzin ara tisura i yizen-a.</string> - <string name="unable_to_send_message">Tuzna n yizen d tawezÉ£it</string> - <string name="network_error">Tuccá¸a deg uẓeá¹á¹a</string> <string name="matrix_error">Tuccá¸a deg Matrix</string> - <string name="notice_made_future_room_visibility">%1$s iga amazray n texxamyt i d-iteddun yettban i %2$s</string> <string name="notice_made_future_room_visibility_by_you">TgiḠamazray n texxamyt i d-iteddun yettban i %1$s</string> <string name="notice_room_third_party_revoked_invite">%1$s issefsax tinubga i %2$s i wakken ad d-yekcem É£er texxamt</string> <string name="notice_room_third_party_revoked_invite_by_you">TesfesxeḠtinubga i %1$s i wakken ad d-yernu É£er texxamt</string> <string name="room_error_join_failed_empty_room">D awezÉ£i tura ad nales ad nuÉ£al É£er texxamt tilemt.</string> - <string name="encrypted_message">Izen yettwawgelhen</string> - <string name="medium_phone_number">Uá¹á¹un n tiliÉ£ri</string> - <string name="room_displayname_invite_from">Tinubga sÉ£ur %s</string> <string name="room_displayname_room_invite">Tinubga É£er texxamt</string> - <string name="room_displayname_two_members">%1$s d %2$s</string> - <plurals name="room_displayname_three_and_more_members"> <item quantity="one">%1$s d 1 wayeá¸</item> <item quantity="other">%1$s d %2$d wiyaá¸</item> </plurals> - <string name="notice_end_to_end_unknown_algorithm_by_you">TremdeḠawgelhen seg yixef É£er yixef (alguritm %1$s ur yettwassen ara).</string> - <string name="key_verification_request_fallback_message">%s isuter-d ad isenqed tasarut-ik·im, maca amsaÉ£-ik·im ur issefrak ara asenqed n tsura deg yidiwenniyen. Ilaq-ak·am useqdec asenqed iqdim n tsura i usenqed n tsura.</string> - <string name="room_displayname_empty_room">Taxxamt tilemt</string> - <string name="initial_sync_start_importing_account">Amtawi n tazwara: \nAktar n umiá¸an…</string> <string name="initial_sync_start_importing_account_crypto">Amtawi n tazwara: @@ -155,7 +134,6 @@ \nAktar n tmezdagnutin</string> <string name="initial_sync_start_importing_account_data">Amtawi n tazwara: \nAktar n yisefka n umiá¸an</string> - <string name="event_status_sending_message">Tuzzna n yizen…</string> <string name="notice_room_invite_no_invitee_with_reason">Tinubga n %1$s. Tamentilt: %2$s</string> <string name="notice_room_invite_no_invitee_with_reason_by_you">Tinubga-k•m. Tamentilt: %1$s</string> @@ -180,46 +158,37 @@ <string name="notice_room_third_party_registered_invite_with_reason_by_you">TqebleḠtinubga i %1$s. Tamentilt: %2$s</string> <string name="notice_room_withdraw_with_reason">%1$s issefsex tinubga n %2$s. Tamentilt: %3$s</string> <string name="notice_room_withdraw_with_reason_by_you">TesfesxeḠtinubga n %1$s. Tamentilt: %2$s</string> - <plurals name="notice_room_aliases_added"> <item quantity="one">%1$s yerna %2$s d tansa i texxamt-a.</item> <item quantity="other">%1$s yerna %2$s d tansiwin i texxamt-a.</item> </plurals> - <plurals name="notice_room_aliases_added_by_you"> <item quantity="one">TerniḠ%1$s d tansa i texxamt-a.</item> <item quantity="other">TerniḠ%1$s d tansiwin i texxamt-a.</item> </plurals> - <plurals name="notice_room_aliases_removed"> <item quantity="one">%1$s yekkes %2$s am tansa i texxamt-a.</item> <item quantity="other">%1$s yekkes %3$s am tansiwin i texxamt-a.</item> </plurals> - <plurals name="notice_room_aliases_removed_by_you"> <item quantity="one">TekkseḠ%1$s am tansa i texxamt-a.</item> <item quantity="other">TekkseḠ%2$s am tansiwin i texxamt-a.</item> </plurals> - - <string name="notice_room_aliases_added_and_removed">%1$s yerna %2$s terniḠtekkseḠ%3s am tansiwin i texxamt-a.</string> + <string name="notice_room_aliases_added_and_removed">%1$s yerna %2$s terniḠtekkseḠ%3$s am tansiwin i texxamt-a.</string> <string name="notice_room_aliases_added_and_removed_by_you">TerniḠ%1$s terniḠtekkseḠ%2$s am tansiwin i texxamt-a.</string> - <string name="notice_room_canonical_alias_set">%1$s isbadu %2$s am tansa tagejdant i texxamt-a.</string> <string name="notice_room_canonical_alias_set_by_you">TesbaduḠ%1$s am tansa tagejdant i texxamt-a.</string> <string name="notice_room_canonical_alias_unset">%1$s yekkes tansa tagejdant i texxamt-a.</string> <string name="notice_room_canonical_alias_unset_by_you">TekkseḠtansa tagejdant i texxamt-a.</string> - <string name="notice_room_guest_access_can_join">%1$s isireg inebgawen ad ddun É£er texxamt.</string> <string name="notice_room_guest_access_can_join_by_you">TsirgeḠinebgawen ad ddun É£er texxamt.</string> <string name="notice_room_guest_access_forbidden">%1$s issewḥel inebgawen iwakken ur tteddun ara É£er texxamt.</string> <string name="notice_room_guest_access_forbidden_by_you">TesweḥleḠinebgawen iwakken ur tteddun ara É£er texxamt.</string> - <string name="notice_end_to_end_ok">%1$s yermed awgelhen seg yixef É£er yixef.</string> <string name="notice_end_to_end_ok_by_you">TremdeḠawgelhen seg yixef É£er yixef.</string> <string name="notice_end_to_end_unknown_algorithm">%1$s yermed awgelhen seg yixef É£er yixef (alguritm %2$s ur yettwassen ara).</string> <string name="clear_timeline_send_queue">SfeḠtabdart n uraǧu n tuzzna</string> - - <string name="notice_room_third_party_revoked_invite_with_reason">%1$s issefsex tinubga n %2$s i tmerniwt É£er texxamt. Tamentilt: %2$s</string> + <string name="notice_room_third_party_revoked_invite_with_reason">%1$s issefsex tinubga n %2$s i tmerniwt É£er texxamt. Tamentilt: %3$s</string> <string name="notice_room_third_party_revoked_invite_with_reason_by_you">TesfesxeḠtinubga n %1$s i tmerna É£er texxamt. Tamentilt: %2$s</string> <string name="could_not_redact">Yegguma ad yaru</string> -</resources> +</resources> \ No newline at end of file diff --git a/matrix-sdk-android/src/main/res/values-pt-rBR/strings.xml b/matrix-sdk-android/src/main/res/values-pt-rBR/strings.xml index 2ba369b9..4e62a21c 100644 --- a/matrix-sdk-android/src/main/res/values-pt-rBR/strings.xml +++ b/matrix-sdk-android/src/main/res/values-pt-rBR/strings.xml @@ -1,9 +1,7 @@ -<?xml version='1.0' encoding='UTF-8'?> +<?xml version="1.0" encoding="utf-8"?> <resources> - <string name="summary_message">%1$s: %2$s</string> <string name="summary_user_sent_image">%1$s enviou uma foto.</string> - <string name="notice_room_invite_no_invitee">convite de %s</string> <string name="notice_room_invite">%1$s convidou %2$s</string> <string name="notice_room_invite_you">%1$s convidou você</string> @@ -31,64 +29,45 @@ <string name="notice_room_visibility_world_readable">qualquer pessoa.</string> <string name="notice_room_visibility_unknown">desconhecido (%s).</string> <string name="notice_end_to_end">%1$s ativou a criptografia de ponta a ponta (%2$s)</string> - <string name="notice_requested_voip_conference">%1$s deseja iniciar uma chamada em grupo</string> <string name="notice_voip_started">Chamada em grupo iniciada</string> <string name="notice_voip_finished">Chamada em grupo encerrada</string> - <string name="notice_avatar_changed_too">(a foto de perfil também foi alterada)</string> <string name="notice_room_name_removed">%1$s removeu o nome da sala</string> <string name="notice_room_topic_removed">%1$s removeu a descrição da sala</string> <string name="notice_profile_change_redacted">%1$s atualizou o perfil %2$s</string> <string name="notice_room_third_party_invite">%1$s enviou um convite para %2$s entrar na sala</string> <string name="notice_room_third_party_registered_invite">%1$s aceitou o convite para %2$s</string> - <string name="notice_crypto_unable_to_decrypt">** Não foi possÃvel descriptografar: %s **</string> <string name="notice_crypto_error_unkwown_inbound_session_id">O aparelho do remetente não nos enviou as chaves para esta mensagem.</string> - <!-- Room Screen --> <string name="could_not_redact">Não foi possÃvel redigir</string> <string name="unable_to_send_message">Não foi possÃvel enviar a mensagem</string> - <string name="message_failed_to_upload">O envio da imagem falhou</string> - <!-- general errors --> <string name="network_error">Erro de conexão à internet</string> <string name="matrix_error">Erro no servidor Matrix</string> - <!-- Home Screen --> - <!-- Last seen time --> - <!-- call events --> - <!-- room error messages --> <string name="room_error_join_failed_empty_room">Atualmente, não é possÃvel entrar novamente em uma sala vazia.</string> - <string name="encrypted_message">Mensagem criptografada</string> - <!-- medium friendly name --> <string name="medium_email">Endereço de e-mail</string> <string name="medium_phone_number">Número de telefone</string> - - <string name="summary_user_sent_sticker">%1$s enviou uma figurinha.</string> - <!-- Room display name --> <string name="room_displayname_invite_from">Convite de %s</string> <string name="room_displayname_room_invite">Convite para sala</string> <string name="room_displayname_two_members">%1$s e %2$s</string> <string name="room_displayname_empty_room">Sala vazia</string> - <plurals name="room_displayname_three_and_more_members"> <item quantity="one">%1$s e 1 outro</item> <item quantity="other">%1$s e %2$d outros</item> </plurals> - - <string name="summary_you_sent_image">Você enviou uma foto.</string> <string name="summary_you_sent_sticker">Você enviou uma figurinha.</string> - <string name="notice_room_invite_no_invitee_by_you">Seu convite</string> <string name="notice_room_created">%1$s criou a sala</string> <string name="notice_room_created_by_you">Você criou a sala</string> @@ -118,7 +97,6 @@ <string name="notice_end_to_end_by_you">Você ativou a criptografia de ponta a ponta (%1$s)</string> <string name="notice_room_update">%s atualizou esta sala.</string> <string name="notice_room_update_by_you">Você atualizou esta sala.</string> - <string name="notice_requested_voip_conference_by_you">Você solicitou uma chamada em grupo</string> <string name="notice_room_name_removed_by_you">Você removeu o nome da sala</string> <string name="notice_room_topic_removed_by_you">Você removeu a descrição da sala</string> @@ -133,44 +111,38 @@ <string name="notice_room_third_party_revoked_invite">%1$s cancelou o convite a %2$s para entrar na sala</string> <string name="notice_room_third_party_revoked_invite_by_you">Você cancelou o convite a %1$s para entrar na sala</string> <string name="notice_room_third_party_registered_invite_by_you">Você aceitou o convite para %1$s</string> - <string name="notice_widget_added">%1$s adicionou o widget %2$s</string> <string name="notice_widget_added_by_you">Você adicionou o widget %1$s</string> <string name="notice_widget_removed">%1$s removeu o widget %2$s</string> <string name="notice_widget_removed_by_you">Você removeu o widget %1$s</string> <string name="notice_widget_modified">%1$s editou o widget %2$s</string> <string name="notice_widget_modified_by_you">Você editou o widget %1$s</string> - <string name="power_level_admin">Administrador</string> <string name="power_level_moderator">Moderador</string> <string name="power_level_default">Padrão</string> <string name="power_level_custom">Personalizado (%1$d)</string> <string name="power_level_custom_no_value">Personalizado</string> - <string name="notice_power_level_changed_by_you">Você alterou o nÃvel de permissão de %1$s.</string> <string name="notice_power_level_changed">%1$s alterou o nÃvel de permissão de %2$s.</string> <string name="notice_power_level_diff">%1$s de %2$s para %3$s</string> - - <string name="initial_sync_start_importing_account">Primeira sincronização:↵ + <string name="initial_sync_start_importing_account">Primeira sincronização: \nImportando a conta…</string> - <string name="initial_sync_start_importing_account_crypto">Primeira sincronização:↵ + <string name="initial_sync_start_importing_account_crypto">Primeira sincronização: \nImportando as chaves de criptografia</string> - <string name="initial_sync_start_importing_account_rooms">Primeira sincronização:↵ + <string name="initial_sync_start_importing_account_rooms">Primeira sincronização: \nImportando as salas</string> - <string name="initial_sync_start_importing_account_joined_rooms">Primeira sincronização:↵ + <string name="initial_sync_start_importing_account_joined_rooms">Primeira sincronização: \nImportando as salas em que você entrou</string> - <string name="initial_sync_start_importing_account_invited_rooms">Primeira sincronização:↵ + <string name="initial_sync_start_importing_account_invited_rooms">Primeira sincronização: \nImportando as salas em que você foi convidado</string> - <string name="initial_sync_start_importing_account_left_rooms">Primeira sincronização:↵ + <string name="initial_sync_start_importing_account_left_rooms">Primeira sincronização: \nImportando as salas em que você saiu</string> - <string name="initial_sync_start_importing_account_groups">Primeira sincronização:↵ + <string name="initial_sync_start_importing_account_groups">Primeira sincronização: \nImportando as comunidades</string> - <string name="initial_sync_start_importing_account_data">Primeira sincronização:↵ + <string name="initial_sync_start_importing_account_data">Primeira sincronização: \nImportando os dados da conta</string> - <string name="event_status_sending_message">Enviando mensagem…</string> <string name="clear_timeline_send_queue">Limpar a fila de envio</string> - <string name="notice_room_invite_no_invitee_with_reason">Convite de %1$s. Motivo: %2$s</string> <string name="notice_room_invite_no_invitee_with_reason_by_you">O seu convite. Motivo: %1$s</string> <string name="notice_room_invite_with_reason">%1$s convidou %2$s. Motivo: %3$s</string> @@ -196,45 +168,57 @@ <string name="notice_room_third_party_registered_invite_with_reason_by_you">Você aceitou o convite para %1$s. Motivo: %2$s</string> <string name="notice_room_withdraw_with_reason">%1$s desfez o convite de %2$s. Motivo: %3$s</string> <string name="notice_room_withdraw_with_reason_by_you">Você desfez o convite de %1$s. Motivo: %2$s</string> - <plurals name="notice_room_aliases_added"> <item quantity="one">%1$s adicionou %2$s como um endereço desta sala.</item> <item quantity="other">%1$s adicionou %2$s como endereços desta sala.</item> </plurals> - <plurals name="notice_room_aliases_added_by_you"> <item quantity="one">Você adicionou %1$s como um endereço desta sala.</item> <item quantity="other">Você adicionou %1$s como endereços desta sala.</item> </plurals> - <plurals name="notice_room_aliases_removed"> <item quantity="one">%1$s removeu %2$s como um endereço desta sala.</item> <item quantity="other">%1$s removeu %3$s como endereços desta sala.</item> </plurals> - <plurals name="notice_room_aliases_removed_by_you"> <item quantity="one">Você removeu %1$s como um endereço desta sala.</item> <item quantity="other">Você removeu %2$s como endereços desta sala.</item> </plurals> - <string name="notice_room_aliases_added_and_removed">%1$s adicionou %2$s e removeu %3$s como endereços desta sala.</string> <string name="notice_room_aliases_added_and_removed_by_you">Você adicionou %1$s e removeu %2$s como endereços desta sala.</string> - <string name="notice_room_canonical_alias_set">%1$s definiu o endereço principal desta sala como %2$s.</string> <string name="notice_room_canonical_alias_set_by_you">Você definiu o endereço principal desta sala como %1$s.</string> <string name="notice_room_canonical_alias_unset">%1$s removeu o endereço principal desta sala.</string> <string name="notice_room_canonical_alias_unset_by_you">Você removeu o endereço principal desta sala.</string> - <string name="notice_room_guest_access_can_join">%1$s permitiu que convidados entrem na sala.</string> <string name="notice_room_guest_access_can_join_by_you">Você permitiu que convidados entrem na sala.</string> <string name="notice_room_guest_access_forbidden">%1$s impediu que convidados entrassem na sala.</string> <string name="notice_room_guest_access_forbidden_by_you">Você impediu que convidados entrassem na sala.</string> - <string name="notice_end_to_end_ok">%1$s ativou a criptografia de ponta a ponta.</string> <string name="notice_end_to_end_ok_by_you">Você ativou a criptografia de ponta a ponta.</string> <string name="notice_end_to_end_unknown_algorithm">%1$s ativou a criptografia de ponta a ponta (algoritmo não reconhecido %2$s).</string> <string name="notice_end_to_end_unknown_algorithm_by_you">Você ativou a criptografia de ponta a ponta (algoritmo não reconhecido %1$s).</string> - <string name="key_verification_request_fallback_message">%s deseja confirmar a sua chave, mas o seu aplicativo não suporta a confirmação da chave da conversa. Você precisará usar a confirmação tradicional de chaves para confirmar chaves.</string> - -</resources> + <string name="notice_direct_room_guest_access_forbidden_by_you">Você impediu que desconhecidos entrem na sala.</string> + <string name="notice_direct_room_guest_access_forbidden">%1$s impediu que desconhecidos entrem na sala.</string> + <string name="notice_direct_room_guest_access_can_join_by_you">Você permitiu que desconhecidos entrem aqui.</string> + <string name="notice_direct_room_guest_access_can_join">%1$s permitiu que desconhecidos entrem aqui.</string> + <string name="notice_direct_room_leave_with_reason_by_you">Você saiu. Motivo: %1$s</string> + <string name="notice_direct_room_leave_with_reason">%1$s saiu. Motivo: %2$s</string> + <string name="notice_direct_room_join_with_reason_by_you">Você entrou. Motivo: %1$s</string> + <string name="notice_direct_room_join_with_reason">%1$s entrou. Motivo: %2$s</string> + <string name="notice_direct_room_third_party_revoked_invite_by_you">Você cancelou o convite para %1$s</string> + <string name="notice_direct_room_third_party_revoked_invite">%1$s cancelou o convite para %2$s</string> + <string name="notice_direct_room_third_party_invite_by_you">Você convidou %1$s</string> + <string name="notice_direct_room_third_party_invite">%1$s convidou %2$s</string> + <string name="notice_direct_room_update_by_you">Você atualizou esta sala.</string> + <string name="notice_direct_room_update">%s atualizou esta sala.</string> + <string name="notice_made_future_direct_room_visibility_by_you">Você definiu que as mensagens enviadas a partir do presente momento estarão disponÃveis para %1$s</string> + <string name="notice_made_future_direct_room_visibility">%1$s definiu que as mensagens enviadas a partir do presente momento estarão disponÃveis para %2$s</string> + <string name="notice_direct_room_leave_by_you">Você saiu da sala</string> + <string name="notice_direct_room_leave">%1$s saiu da sala</string> + <string name="notice_direct_room_join_by_you">Você entrou</string> + <string name="notice_direct_room_join">%1$s entrou</string> + <string name="notice_direct_room_created_by_you">Você criou a sala</string> + <string name="notice_direct_room_created">%1$s criou a sala</string> +</resources> \ No newline at end of file diff --git a/matrix-sdk-android/src/main/res/values-pt-rBR/strings_sas.xml b/matrix-sdk-android/src/main/res/values-pt-rBR/strings_sas.xml new file mode 100644 index 00000000..ed621e54 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-pt-rBR/strings_sas.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <!-- Generated file, do not edit --> + <string name="verification_emoji_dog">Cachorro</string> + <string name="verification_emoji_cat">Gato</string> + <string name="verification_emoji_lion">Leão</string> + <string name="verification_emoji_horse">Cavalo</string> + <string name="verification_emoji_unicorn">Unicórnio</string> + <string name="verification_emoji_pig">Porco</string> + <string name="verification_emoji_elephant">Elefante</string> + <string name="verification_emoji_rabbit">Coelho</string> + <string name="verification_emoji_panda">Panda</string> + <string name="verification_emoji_rooster">Galo</string> + <string name="verification_emoji_penguin">Pinguim</string> + <string name="verification_emoji_turtle">Tartaruga</string> + <string name="verification_emoji_fish">Peixe</string> + <string name="verification_emoji_octopus">Polvo</string> + <string name="verification_emoji_butterfly">Borboleta</string> + <string name="verification_emoji_flower">Flor</string> + <string name="verification_emoji_tree">Ãrvore</string> + <string name="verification_emoji_cactus">Cacto</string> + <string name="verification_emoji_mushroom">Cogumelo</string> + <string name="verification_emoji_globe">Globo</string> + <string name="verification_emoji_moon">Lua</string> + <string name="verification_emoji_cloud">Nuvem</string> + <string name="verification_emoji_fire">Fogo</string> + <string name="verification_emoji_banana">Banana</string> + <string name="verification_emoji_apple">Maçã</string> + <string name="verification_emoji_strawberry">Morango</string> + <string name="verification_emoji_corn">Milho</string> + <string name="verification_emoji_pizza">Pizza</string> + <string name="verification_emoji_cake">Bolo</string> + <string name="verification_emoji_heart">Coração</string> + <string name="verification_emoji_smiley">Sorriso</string> + <string name="verification_emoji_robot">Robô</string> + <string name="verification_emoji_hat">Chapéu</string> + <string name="verification_emoji_glasses">Óculos</string> + <string name="verification_emoji_spanner">Chave inglesa</string> + <string name="verification_emoji_santa">Papai-noel</string> + <string name="verification_emoji_thumbs_up">Joinha</string> + <string name="verification_emoji_umbrella">Guarda-chuva</string> + <string name="verification_emoji_hourglass">Ampulheta</string> + <string name="verification_emoji_clock">Relógio</string> + <string name="verification_emoji_gift">Presente</string> + <string name="verification_emoji_light_bulb">Lâmpada</string> + <string name="verification_emoji_book">Livro</string> + <string name="verification_emoji_pencil">Lápis</string> + <string name="verification_emoji_paperclip">Clipe de papel</string> + <string name="verification_emoji_scissors">Tesoura</string> + <string name="verification_emoji_lock">Cadeado</string> + <string name="verification_emoji_key">Chave</string> + <string name="verification_emoji_hammer">Martelo</string> + <string name="verification_emoji_telephone">Telefone</string> + <string name="verification_emoji_flag">Bandeira</string> + <string name="verification_emoji_train">Trem</string> + <string name="verification_emoji_bicycle">Bicicleta</string> + <string name="verification_emoji_aeroplane">Avião</string> + <string name="verification_emoji_rocket">Foguete</string> + <string name="verification_emoji_trophy">Troféu</string> + <string name="verification_emoji_ball">Bola</string> + <string name="verification_emoji_guitar">Guitarra</string> + <string name="verification_emoji_trumpet">Trombeta</string> + <string name="verification_emoji_bell">Sino</string> + <string name="verification_emoji_anchor">Âncora</string> + <string name="verification_emoji_headphones">Fones de ouvido</string> + <string name="verification_emoji_folder">Pasta</string> + <string name="verification_emoji_pin">Alfinete</string> +</resources> diff --git a/matrix-sdk-android/src/main/res/values-ru/strings.xml b/matrix-sdk-android/src/main/res/values-ru/strings.xml index a4d75278..97643a34 100644 --- a/matrix-sdk-android/src/main/res/values-ru/strings.xml +++ b/matrix-sdk-android/src/main/res/values-ru/strings.xml @@ -1,9 +1,7 @@ -<?xml version='1.0' encoding='UTF-8'?> +<?xml version="1.0" encoding="utf-8"?> <resources> - <string name="summary_message">%1$s: %2$s</string> <string name="summary_user_sent_image">%1$s отправил(а) изображение.</string> - <string name="notice_room_invite_no_invitee">%s приглашение</string> <string name="notice_room_invite">%1$s приглаÑил(а) %2$s</string> <string name="notice_room_invite_you">%1$s приглаÑил(а) ваÑ</string> @@ -31,67 +29,49 @@ <string name="notice_room_visibility_world_readable">вÑем.</string> <string name="notice_room_visibility_unknown">неизвеÑтно (%s).</string> <string name="notice_end_to_end">%1$s включил(а) Ñквозное шифрование (%2$s)</string> - <string name="notice_requested_voip_conference">%1$s запроÑил(а) VoIP конференцию</string> <string name="notice_voip_started">VoIP-ÐºÐ¾Ð½Ñ„ÐµÑ€ÐµÐ½Ñ†Ð¸Ñ Ð½Ð°Ñ‡Ð°Ñ‚Ð°</string> <string name="notice_voip_finished">VoIP-ÐºÐ¾Ð½Ñ„ÐµÑ€ÐµÐ½Ñ†Ð¸Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð°</string> - <string name="notice_avatar_changed_too">(аватар также был изменен)</string> <string name="notice_room_name_removed">%1$s удалил(а) название комнаты</string> <string name="notice_room_topic_removed">%1$s удалил(а) тему комнаты</string> <string name="notice_profile_change_redacted">%1$s обновил(а) Ñвой профиль %2$s</string> <string name="notice_room_third_party_invite">%1$s отправил(а) приглашение %2$s приÑоединитьÑÑ Ðº комнате</string> <string name="notice_room_third_party_registered_invite">%1$s принÑл(а) приглашение от %2$s</string> - <string name="notice_crypto_unable_to_decrypt">** Ðевозможно раÑшифровать: %s **</string> <string name="notice_crypto_error_unkwown_inbound_session_id">УÑтройÑтво Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÐµÐ»Ñ Ð½Ðµ предоÑтавило нам ключ Ð´Ð»Ñ Ñ€Ð°Ñшифровки Ñтого ÑообщениÑ.</string> - <!-- Room Screen --> <string name="could_not_redact">Ðе удалоÑÑŒ изменить</string> <string name="unable_to_send_message">Ðе удалоÑÑŒ отправить Ñообщение</string> - <string name="message_failed_to_upload">Ðе удалоÑÑŒ загрузить изображение</string> - <!-- general errors --> <string name="network_error">Ð¡ÐµÑ‚ÐµÐ²Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°</string> <string name="matrix_error">Ошибка Matrix</string> - <!-- Home Screen --> - <!-- Last seen time --> - <!-- call events --> - <!-- room error messages --> <string name="room_error_join_failed_empty_room">Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ вновь приÑоединитьÑÑ Ðº пуÑтой комнате.</string> - <string name="encrypted_message">Зашифрованное Ñообщение</string> - <!-- medium friendly name --> <string name="medium_email">ÐÐ´Ñ€ÐµÑ Ñлектронной почты</string> <string name="medium_phone_number">Ðомер телефона</string> - <string name="summary_user_sent_sticker">%1$s отправил Ñтикер.</string> - <!-- Room display name --> <string name="room_displayname_invite_from">Приглашение от %s</string> <string name="room_displayname_room_invite">Приглашение в комнату</string> <string name="room_displayname_two_members">%1$s и %2$s</string> <string name="room_displayname_empty_room">ПуÑÑ‚Ð°Ñ ÐºÐ¾Ð¼Ð½Ð°Ñ‚Ð°</string> - <plurals name="room_displayname_three_and_more_members"> <item quantity="one">%1$s и 1 другой</item> <item quantity="few">%1$s и %2$d другие</item> <item quantity="many">%1$s и %2$d других</item> - <item quantity="other" /> + <item quantity="other"/> </plurals> - - <string name="notice_event_redacted">Сообщение удалено</string> <string name="notice_event_redacted_by">%1$s удалил(а) Ñообщение</string> <string name="notice_event_redacted_with_reason">Сообщение удалено [причина: %1$s]</string> <string name="notice_event_redacted_by_with_reason">%1$s удалил(а) Ñообщение [причина: %2$s]</string> - <string name="initial_sync_start_importing_account">ÐÐ°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ ÑинхронизациÑ: \nИмпорт учетной запиÑи…</string> <string name="initial_sync_start_importing_account_crypto">ÐÐ°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ ÑинхронизациÑ: @@ -108,12 +88,9 @@ \nИмпорт ÑообщеÑтв</string> <string name="initial_sync_start_importing_account_data">ÐÐ°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ ÑинхронизациÑ: \nИмпорт данных учетной запиÑи</string> - <string name="notice_room_update">%s обновил Ñту комнату.</string> - <string name="event_status_sending_message">Отправка ÑообщениÑ…</string> <string name="clear_timeline_send_queue">ОчиÑтить очередь отправки</string> - <string name="notice_room_third_party_revoked_invite">%1$s отозвал приглашение %2$s приÑоединитьÑÑ Ðº комнате</string> <string name="notice_room_invite_no_invitee_with_reason">Приглашение %1$s. Причина: %2$s</string> <string name="notice_room_invite_with_reason">%1$s приглашен %2$s. Причина: %3$s</string> @@ -128,36 +105,27 @@ <string name="notice_room_third_party_revoked_invite_with_reason">%1$s отозвал приглашение %2$s приÑоединитьÑÑ Ðº комнате. Причина: %3$s</string> <string name="notice_room_third_party_registered_invite_with_reason">%1$s принÑл приглашение Ð´Ð»Ñ %2$s. Причина: %3$s</string> <string name="notice_room_withdraw_with_reason">%1$s отозвал приглашение %2$s. Причина: %3$s</string> - <string name="notice_room_created">%1$s Ñоздал(а) комнату</string> <plurals name="notice_room_aliases_added"> <item quantity="one">%1$s добавил(а) %2$s в качеÑтве адреÑа Ð´Ð»Ñ Ñтой комнаты.</item> <item quantity="few">%1$s добавил(а) %2$s в качеÑтве адреÑов Ð´Ð»Ñ Ñтой комнаты.</item> <item quantity="many">%1$s добавил(а) %2$s в качеÑтве адреÑов Ð´Ð»Ñ Ñтой комнаты.</item> </plurals> - <plurals name="notice_room_aliases_removed"> <item quantity="one">%1$s удалил(а) Ð°Ð´Ñ€ÐµÑ %2$s Ð´Ð»Ñ ÐºÐ¾Ð¼Ð½Ð°Ñ‚Ñ‹.</item> <item quantity="few">%1$s удалил(а) адреÑа %2$s Ð´Ð»Ñ ÐºÐ¾Ð¼Ð½Ð°Ñ‚Ñ‹.</item> <item quantity="many">%1$s удалил(а) адреÑа %2$s Ð´Ð»Ñ ÐºÐ¾Ð¼Ð½Ð°Ñ‚Ñ‹.</item> </plurals> - <string name="notice_room_aliases_added_and_removed">%1$s добавил(а) адреÑа %2$s и удалил(а) %3$s Ð´Ð»Ñ ÐºÐ¾Ð¼Ð½Ð°Ñ‚Ñ‹.</string> - <string name="notice_room_canonical_alias_set">%1$s Ñделал(а) %2$s главным адреÑом комнаты.</string> <string name="notice_room_canonical_alias_unset">%1$s удалил(а) главный Ð°Ð´Ñ€ÐµÑ ÐºÐ¾Ð¼Ð½Ð°Ñ‚Ñ‹.</string> - <string name="notice_room_guest_access_can_join">%1$s разрешил(а) гоÑÑ‚Ñм входить в комнату.</string> <string name="notice_room_guest_access_forbidden">%1$s запретил(а) гоÑÑ‚Ñм входить в комнату.</string> - <string name="notice_end_to_end_ok">%1$s включил(а) Ñквозное шифрование.</string> <string name="notice_end_to_end_unknown_algorithm">%1$s включил(а) Ñквозное шифрование (неизвеÑтный алгоритм %2$s).</string> - <string name="key_verification_request_fallback_message">%s запрашивает подтверждение вашего ключа, но ваш клиент не поддерживает подтверждение в чате. ИÑпользуйте уÑтаревшую проверку Ð´Ð»Ñ Ñверки ключей.</string> - <string name="summary_you_sent_image">Ð’Ñ‹ отправили изображение.</string> <string name="summary_you_sent_sticker">Ð’Ñ‹ отправили Ñтикер.</string> - <string name="notice_room_invite_no_invitee_by_you">Ваше приглашение</string> <string name="notice_room_created_by_you">Ð’Ñ‹ Ñоздали комнату</string> <string name="notice_room_invite_by_you">Ð’Ñ‹ приглаÑили %1$s</string> @@ -181,7 +149,6 @@ <string name="notice_made_future_room_visibility_by_you">Ð’Ñ‹ Ñделали будущую иÑторию комнаты видимой Ð´Ð»Ñ %1$s</string> <string name="notice_end_to_end_by_you">Ð’Ñ‹ включили Ñквозное шифрование (%1$s)</string> <string name="notice_room_update_by_you">Ð’Ñ‹ обновили Ñту комнату.</string> - <string name="notice_requested_voip_conference_by_you">Ð’Ñ‹ начали групповой звонок</string> <string name="notice_room_name_removed_by_you">Ð’Ñ‹ удалили название комнаты</string> <string name="notice_room_topic_removed_by_you">Ð’Ñ‹ удалили тему комнаты</string> @@ -189,24 +156,20 @@ <string name="notice_room_third_party_invite_by_you">Ð’Ñ‹ отправили %1$s приглашение в Ñту комнату</string> <string name="notice_room_third_party_revoked_invite_by_you">Ð’Ñ‹ отозвали у %1$s приглашение в Ñту комнату</string> <string name="notice_room_third_party_registered_invite_by_you">Ð’Ñ‹ принÑли приглашение Ð´Ð»Ñ %1$s</string> - <string name="notice_widget_added">%1$s добавил(а) виджет %2$s</string> <string name="notice_widget_added_by_you">Ð’Ñ‹ добавили виджет %1$s</string> <string name="notice_widget_removed">%1$s удалил(а) виджет %2$s</string> <string name="notice_widget_removed_by_you">Ð’Ñ‹ удалили виджет %1$s</string> <string name="notice_widget_modified">%1$s изменил(а) виджет %2$s</string> <string name="notice_widget_modified_by_you">Ð’Ñ‹ изменили виджет %1$s</string> - <string name="power_level_admin">ÐдминиÑтратор</string> <string name="power_level_moderator">Модератор</string> <string name="power_level_default">По умолчанию</string> <string name="power_level_custom">ПользовательÑкий (%1$d)</string> <string name="power_level_custom_no_value">ПользовательÑкий</string> - <string name="notice_power_level_changed_by_you">Ð’Ñ‹ изменили уровни доÑтупа %1$s.</string> <string name="notice_power_level_changed">%1$s изменил(а) уровни доÑтупа %2$s.</string> <string name="notice_power_level_diff">%1$s Ñ %2$s на %3$s</string> - <string name="notice_room_invite_no_invitee_with_reason_by_you">Ваше приглашение. Причина: %1$s</string> <string name="notice_room_invite_with_reason_by_you">Ð’Ñ‹ приглаÑили %1$s. Причина: %2$s</string> <string name="notice_room_join_with_reason_by_you">Ð’Ñ‹ вошли в комнату. Причина: %1$s</string> @@ -219,35 +182,47 @@ <string name="notice_room_third_party_revoked_invite_with_reason_by_you">Ð’Ñ‹ отозвали у %1$s приглашение в Ñту комнату. Причина: %2$s</string> <string name="notice_room_third_party_registered_invite_with_reason_by_you">Ð’Ñ‹ принÑли приглашение Ð´Ð»Ñ %1$s. Причина: %2$s</string> <string name="notice_room_withdraw_with_reason_by_you">Ð’Ñ‹ отозвали приглашение %1$s. Причина: %2$s</string> - <plurals name="notice_room_aliases_added_by_you"> <item quantity="one">Ð’Ñ‹ добавили Ð°Ð´Ñ€ÐµÑ %1$s Ð´Ð»Ñ Ñтой комнаты.</item> <item quantity="few">Ð’Ñ‹ добавили %1$s в качеÑтве адреÑов Ð´Ð»Ñ Ñтой комнаты.</item> <item quantity="many">Ð’Ñ‹ добавили %1$s в качеÑтве адреÑов Ð´Ð»Ñ Ñтой комнаты.</item> </plurals> - <plurals name="notice_room_aliases_removed_by_you"> <item quantity="one">Ð’Ñ‹ удалили Ð°Ð´Ñ€ÐµÑ Ñтой комнаты: %1$s.</item> <item quantity="few">Ð’Ñ‹ удалили адреÑа Ñтой комнаты: %1$s.</item> <item quantity="many">Ð’Ñ‹ удалили адреÑа Ñтой комнаты: %1$s.</item> </plurals> - <string name="notice_room_aliases_added_and_removed_by_you">Ð’Ñ‹ добавили адреÑа %1$s и удалили %2$s Ð´Ð»Ñ Ñтой комнаты.</string> - <string name="notice_room_canonical_alias_set_by_you">Ð’Ñ‹ задали главный Ð°Ð´Ñ€ÐµÑ Ñтой комнаты %1$s.</string> <string name="notice_room_canonical_alias_unset_by_you">Ð’Ñ‹ удалили главный Ð°Ð´Ñ€ÐµÑ Ñтой комнаты.</string> - <string name="notice_room_guest_access_can_join_by_you">Ð’Ñ‹ разрешили гоÑÑ‚Ñм входить в комнату.</string> <string name="notice_room_guest_access_forbidden_by_you">Ð’Ñ‹ запретили гоÑÑ‚Ñм входить в комнату.</string> - <string name="notice_end_to_end_ok_by_you">Ð’Ñ‹ включили Ñквозное шифрование.</string> <string name="notice_end_to_end_unknown_algorithm_by_you">Ð’Ñ‹ включили Ñквозное шифрование (неизвеÑтный алгоритм %1$s).</string> - <string name="notice_room_avatar_changed">%1$s изменил(а) аватар комнаты</string> <string name="notice_room_avatar_changed_by_you">Ð’Ñ‹ изменили аватар комнаты</string> <string name="notice_call_candidates">%s отправил(а) данные Ð´Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° звонка.</string> <string name="notice_call_candidates_by_you">Ð’Ñ‹ отправили данные Ð´Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° звонка.</string> <string name="notice_room_avatar_removed">%1$s удалил(а) аватар комнаты</string> <string name="notice_room_avatar_removed_by_you">Ð’Ñ‹ удалили аватар комнаты</string> - -</resources> + <string name="notice_direct_room_guest_access_forbidden_by_you">Ð’Ñ‹ запретили гоÑÑ‚Ñм входить в комнату.</string> + <string name="notice_direct_room_guest_access_forbidden">%1$s запретил(а) гоÑÑ‚Ñм входить в комнату.</string> + <string name="notice_direct_room_guest_access_can_join_by_you">Ð’Ñ‹ разрешили гоÑÑ‚Ñм приÑоединÑÑ‚ÑŒÑÑ Ñюда.</string> + <string name="notice_direct_room_guest_access_can_join">%1$s разрешил(а) гоÑÑ‚Ñм приÑоединитьÑÑ Ñюда.</string> + <string name="notice_direct_room_leave_with_reason_by_you">Ð’Ñ‹ вышли. Причина: %1$s</string> + <string name="notice_direct_room_leave_with_reason">%1$s вышел(-ла). Причина: %2$s</string> + <string name="notice_direct_room_join_with_reason_by_you">Ð’Ñ‹ вошли. Причина: %1$s</string> + <string name="notice_direct_room_join_with_reason">%1$s вошел(-ла). Причина: %2$s</string> + <string name="notice_direct_room_third_party_revoked_invite_by_you">Ð’Ñ‹ отозвали приглашение %1$s</string> + <string name="notice_direct_room_third_party_revoked_invite">%1$s отозвал(а) приглашение %2$s</string> + <string name="notice_direct_room_third_party_invite_by_you">Ð’Ñ‹ приглаÑили %1$s</string> + <string name="notice_direct_room_third_party_invite">%1$s приглаÑил(а) %2$s</string> + <string name="notice_made_future_direct_room_visibility_by_you">Ð’Ñ‹ Ñделали будущие ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´Ð¸Ð¼Ñ‹Ð¼Ð¸ Ð´Ð»Ñ %1$s</string> + <string name="notice_made_future_direct_room_visibility">%1$s Ñделал(а) будущие ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´Ð¸Ð¼Ñ‹Ð¼Ð¸ Ð´Ð»Ñ %2$s</string> + <string name="notice_direct_room_leave_by_you">Ð’Ñ‹ покинули комнату</string> + <string name="notice_direct_room_leave">%1$s покинул(а) комнату</string> + <string name="notice_direct_room_join_by_you">Ð’Ñ‹ вошли</string> + <string name="notice_direct_room_join">%1$s вошел(ла)</string> + <string name="notice_direct_room_created_by_you">Ð’Ñ‹ Ñоздали обÑуждение</string> + <string name="notice_direct_room_created">%1$s Ñоздал(а) обÑуждение</string> +</resources> \ No newline at end of file diff --git a/matrix-sdk-android/src/main/res/values-sk/strings.xml b/matrix-sdk-android/src/main/res/values-sk/strings.xml index da869eac..c75c8b48 100644 --- a/matrix-sdk-android/src/main/res/values-sk/strings.xml +++ b/matrix-sdk-android/src/main/res/values-sk/strings.xml @@ -1,8 +1,7 @@ -<?xml version='1.0' encoding='UTF-8'?> +<?xml version="1.0" encoding="utf-8"?> <resources> <string name="summary_message">%1$s: %2$s</string> <string name="summary_user_sent_image">%1$s poslal/a obrázok.</string> - <string name="notice_room_invite_no_invitee">Pozvanie od %s</string> <string name="notice_room_invite">%1$s pozval/a %2$s</string> <string name="notice_room_invite_you">%1$s vás pozval/a</string> @@ -30,58 +29,42 @@ <string name="notice_room_visibility_world_readable">pre každého.</string> <string name="notice_room_visibility_unknown">neznámym (%s).</string> <string name="notice_end_to_end">%1$s povolil/a E2E Å¡ifrovanie (%2$s)</string> - <string name="notice_requested_voip_conference">%1$s požiadal/a o VoIP konferenciu</string> <string name="notice_voip_started">ZaÄala sa VoIP konferencia</string> <string name="notice_voip_finished">SkonÄila sa VoIP konferencia</string> - <string name="notice_avatar_changed_too">(aj obrázok v profile)</string> <string name="notice_room_name_removed">%1$s odstránil/a názov miestnosti</string> <string name="notice_room_topic_removed">%1$s odstránil/a tému miestnosti</string> <string name="notice_profile_change_redacted">%1$s aktualizoval/a svoj profil %2$s</string> <string name="notice_room_third_party_invite">%1$s pozval/a %2$s vstúpiÅ¥ do miestnosti</string> <string name="notice_room_third_party_registered_invite">%1$s prijal/a pozvanie pre %2$s</string> - <string name="notice_crypto_unable_to_decrypt">** Nie je možné deÅ¡ifrovaÅ¥: %s **</string> <string name="notice_crypto_error_unkwown_inbound_session_id">Zo zariadenia odosieľateľa nebolo možné zÃskaÅ¥ kľúÄe potrebné na deÅ¡ifrovanie tejto správy.</string> - <string name="could_not_redact">Nie je možné vymazaÅ¥</string> <string name="unable_to_send_message">Nie je možné odoslaÅ¥ správu</string> - <string name="message_failed_to_upload">Nepodarilo sa nahraÅ¥ obrázok</string> - <string name="network_error">Chyba siete</string> <string name="matrix_error">Chyba Matrix</string> - <string name="room_error_join_failed_empty_room">V súÄasnosti nie je možné znovu vstúpiÅ¥ do prázdnej miestnosti.</string> - <string name="encrypted_message">Å ifrovaná správa</string> - <string name="medium_email">Emailová adresa</string> <string name="medium_phone_number">Telefónne ÄÃslo</string> - <string name="summary_user_sent_sticker">%1$s poslal/a nálepku.</string> - <string name="room_displayname_invite_from">Pozvanie od %s</string> <string name="room_displayname_room_invite">Pozvanie do miestnosti</string> <string name="room_displayname_two_members">%1$s a %2$s</string> <string name="room_displayname_empty_room">Prázdna miestnosÅ¥</string> - <plurals name="room_displayname_three_and_more_members"> <item quantity="one">%1$s a 1 ÄalÅ¡Ã</item> <item quantity="few">%1$s a %2$d ÄalÅ¡Ã</item> <item quantity="many">%1$s a %2$d ÄalÅ¡Ãch</item> - <item quantity="other" /> + <item quantity="other"/> </plurals> - - <string name="notice_room_update">%s aktualizoval/a túto miestnosÅ¥.</string> - <string name="notice_event_redacted">Odstránená správa</string> <string name="notice_event_redacted_by">Odstránená správa použÃvateľom %1$s</string> <string name="notice_event_redacted_with_reason">Odstránená správa [dôvod: %1$s]</string> <string name="notice_event_redacted_by_with_reason">Odstránená správa použÃvateľom %1$s [dôvod: %2$s]</string> - <string name="initial_sync_start_importing_account">Úvodná synchronizácia: \nPrebieha import úÄtu…</string> <string name="initial_sync_start_importing_account_crypto">Úvodná synchronizácia: @@ -98,10 +81,8 @@ \nPrebieha import komunÃt</string> <string name="initial_sync_start_importing_account_data">Úvodná synchronizácia: \nPrebieha import údajov úÄtu</string> - <string name="event_status_sending_message">Odosielanie správy…</string> <string name="clear_timeline_send_queue">VymazaÅ¥ správy na odoslanie</string> - <string name="notice_room_third_party_revoked_invite">%1$s zamietol/a pozvanie použÃvateľa %2$s vstúpiÅ¥ do miestnosti</string> <string name="notice_room_invite_no_invitee_with_reason">Pozvanie od %1$s. Dôvod: %2$s</string> <string name="notice_room_invite_with_reason">%1$s pozval/a %2$s. Dôvod: %3$s</string> @@ -116,28 +97,22 @@ <string name="notice_room_third_party_revoked_invite_with_reason">%1$s zamietol/a pozvanie použÃvateľa %2$s vstúpiÅ¥ do miestnosti. Dôvod: %3$s</string> <string name="notice_room_third_party_registered_invite_with_reason">%1$s prijal/a pozvanie pre %2$s. Dôvod: %3$s</string> <string name="notice_room_withdraw_with_reason">%1$s vzal/a späť pozvanie %2$s. Dôvod: %3$s</string> - <plurals name="notice_room_aliases_added"> <item quantity="one">%1$s pridal/a adresu %2$s pre túto miestnosÅ¥.</item> <item quantity="few">%1$s pridal/a adresy %2$s pre túto miestnosÅ¥.</item> <item quantity="other">%1$s pridal/a adresy %2$s pre túto miestnosÅ¥.</item> </plurals> - <plurals name="notice_room_aliases_removed"> <item quantity="one">%1$s odstránil/a adresu %2$s pre túto miestnosÅ¥.</item> <item quantity="few">%1$s odstránil/a adresy %3$s pre túto miestnosÅ¥.</item> <item quantity="other">%1$s odstránil/a adresy %3$s pre túto miestnosÅ¥.</item> </plurals> - <string name="notice_room_aliases_added_and_removed">%1$s pridal/a adresy %2$s a odstránil/a adresy %3$s pre túto miestnosÅ¥.</string> - <string name="notice_room_canonical_alias_set">%1$s nastavil/a hlavnú adresu tejto miestnosti %2$s.</string> <string name="notice_room_canonical_alias_unset">%1$s odstránil/a hlavnú adresu tejto miestnosti.</string> - <string name="notice_room_guest_access_can_join">%1$s povolil/a hosÅ¥om///návÅ¡tevnÃkom prÃstup do tejto miestnosti.</string> <string name="summary_you_sent_image">Poslali ste obrázok.</string> <string name="summary_you_sent_sticker">Poslali ste nálepku.</string> - <string name="notice_room_invite_no_invitee_by_you">Pozvanie od vás</string> <string name="notice_room_created">%1$s vytvoril/a miestnosÅ¥</string> <string name="notice_room_created_by_you">Vytvorili ste miestnosÅ¥</string> @@ -166,7 +141,6 @@ <string name="notice_made_future_room_visibility_by_you">SprÃstupnili ste budúcu históriu miestnosti %1$s</string> <string name="notice_end_to_end_by_you">Povolili ste E2E Å¡ifrovanie (%1$s)</string> <string name="notice_room_update_by_you">Aktualizovali ste túto miestnosÅ¥.</string> - <string name="notice_requested_voip_conference_by_you">Požiadali ste o VoIP konferenciu</string> <string name="notice_room_name_removed_by_you">Odstránili ste názov miestnosti</string> <string name="notice_room_topic_removed_by_you">Odstránili ste tému miestnosti</string> @@ -174,26 +148,22 @@ <string name="notice_room_avatar_removed_by_you">Odstránili ste obrázok miestnosti</string> <string name="notice_profile_change_redacted_by_you">Aktualizovali ste svoj profil %1$s</string> <string name="notice_room_third_party_invite_by_you">Pozvali ste %1$s vstúpiÅ¥ do miestnosti</string> - <string name="notice_room_third_party_revoked_invite_by_you">Zamietli ste pozvanie použÃvateľa %2$s vstúpiÅ¥ do miestnosti</string> + <string name="notice_room_third_party_revoked_invite_by_you">Zamietli ste pozvanie použÃvateľa %1$s vstúpiÅ¥ do miestnosti</string> <string name="notice_room_third_party_registered_invite_by_you">Prijali ste pozvanie pre %1$s</string> - <string name="notice_widget_added">%1$s pridal/a widget %2$s</string> <string name="notice_widget_added_by_you">Pridali ste widget %1$s</string> <string name="notice_widget_removed">%1$s odstránil/a widget %2$s</string> <string name="notice_widget_removed_by_you">Odstránili ste widget %1$s</string> <string name="notice_widget_modified">%1$s upravil/a widget %2$s</string> <string name="notice_widget_modified_by_you">Upravili ste widget %1$s</string> - <string name="power_level_admin">Správca</string> <string name="power_level_moderator">Moderátor</string> <string name="power_level_default">Predvolený</string> <string name="power_level_custom">Vlastná úroveň (%1$d)</string> <string name="power_level_custom_no_value">Vlastná úroveň</string> - <string name="notice_power_level_changed_by_you">Zmenili ste úroveň moci použÃvateľa %1$s.</string> <string name="notice_power_level_changed">%1$s zmenil úroveň moci použÃvateľa %2$s.</string> <string name="notice_power_level_diff">%1$s z %2$s na %3$s</string> - <string name="notice_room_invite_no_invitee_with_reason_by_you">Pozvanie od vás. Dôvod: %1$s</string> <string name="notice_room_invite_with_reason_by_you">Pozvali ste %1$s. Dôvod: %2$s</string> <string name="notice_room_join_with_reason_by_you">Vstúpili ste do miestnosti. Dôvod: %1$s</string> @@ -206,33 +176,25 @@ <string name="notice_room_third_party_revoked_invite_with_reason_by_you">Zamietli ste pozvanie použÃvateľa %1$s vstúpiÅ¥ do miestnosti. Dôvod: %2$s</string> <string name="notice_room_third_party_registered_invite_with_reason_by_you">Prijali ste pozvanie pre %1$s. Dôvod: %2$s</string> <string name="notice_room_withdraw_with_reason_by_you">Vzali ste späť pozvanie %1$s. Dôvod: %2$s</string> - <plurals name="notice_room_aliases_added_by_you"> <item quantity="one">Pridali ste adresu %1$s pre túto miestnosÅ¥.</item> <item quantity="few">Pridali ste adresy %1$s pre túto miestnosÅ¥.</item> <item quantity="other">Pridali ste adresy %1$s pre túto miestnosÅ¥.</item> </plurals> - <plurals name="notice_room_aliases_removed_by_you"> <item quantity="one">Odstránili ste adresu %1$s pre túto miestnosÅ¥.</item> <item quantity="few">Odstránili ste adresy %2$s pre túto miestnosÅ¥.</item> <item quantity="other">Odstránili ste adresy %2$s pre túto miestnosÅ¥.</item> </plurals> - <string name="notice_room_aliases_added_and_removed_by_you">Pridali ste %1$s a odstránili adresy %2$s pre túto miestnosÅ¥.</string> - - <string name="notice_room_canonical_alias_set_by_you">Nastavili ste hlavnú adresu tejto miestnosti %2$s.</string> + <string name="notice_room_canonical_alias_set_by_you">Nastavili ste hlavnú adresu tejto miestnosti %1$s.</string> <string name="notice_room_canonical_alias_unset_by_you">Odstránili ste hlavnú adresu tejto miestnosti.</string> - <string name="notice_room_guest_access_can_join_by_you">Povolili ste hosÅ¥om///návÅ¡tevnÃkom prÃstup do tejto miestnosti.</string> <string name="notice_room_guest_access_forbidden">%1$s zakázal/a hosÅ¥om///návÅ¡tevnÃkom prÃstup do tejto miestnosti.</string> <string name="notice_room_guest_access_forbidden_by_you">Zakázali ste hosÅ¥om///návÅ¡tevnÃkom prÃstup do tejto miestnosti.</string> - <string name="notice_end_to_end_ok">%1$s povolil/a E2E Å¡ifrovanie.</string> <string name="notice_end_to_end_ok_by_you">Povolili ste E2E Å¡ifrovanie.</string> <string name="notice_end_to_end_unknown_algorithm">%1$s povolil/a E2E Å¡ifrovanie (Nerozpoznaný algorytmus %2$s).</string> <string name="notice_end_to_end_unknown_algorithm_by_you">Povolili ste E2E Å¡ifrovanie (Nerozpoznaný algorytmus %1$s).</string> - <string name="key_verification_request_fallback_message">%s požaduje overenie vaÅ¡ich Å¡ifrovacÃch kľúÄov, ale váš klient nepodporuje overenie kľúÄov v konverzácii. Budete musieÅ¥ použiÅ¥ zastaralú metódu overenia.</string> - -</resources> +</resources> \ No newline at end of file diff --git a/matrix-sdk-android/src/main/res/values-sq/strings.xml b/matrix-sdk-android/src/main/res/values-sq/strings.xml index 14a7c61b..9756a117 100644 --- a/matrix-sdk-android/src/main/res/values-sq/strings.xml +++ b/matrix-sdk-android/src/main/res/values-sq/strings.xml @@ -138,4 +138,96 @@ <string name="key_verification_request_fallback_message">%s po kërkon të verifikojë kyçin tuaj, por klienti juaj nuk mbulon verifikim kyçesh brenda fjalosjeje. Që të verifikoni kyça, do t’ju duhet të përdorni verifikim të dikurshëm kyçesh.</string> <string name="notice_room_created">%1$s krijo dhomën</string> + <string name="summary_you_sent_image">Dërguat një figurë.</string> + <string name="summary_you_sent_sticker">Dërguat një ngjitës.</string> + + <string name="notice_room_invite_no_invitee_by_you">Ftesa juaj</string> + <string name="notice_room_created_by_you">Krijuat dhomën</string> + <string name="notice_room_invite_by_you">Ftuat %1$s</string> + <string name="notice_room_join_by_you">Hytë në dhomë</string> + <string name="notice_room_leave_by_you">Dolët nga dhoma</string> + <string name="notice_room_reject_by_you">Hodhët poshtë ftesën</string> + <string name="notice_room_kick_by_you">Përzutë %1$s</string> + <string name="notice_room_unban_by_you">Hoqët dëbimin për %1$s</string> + <string name="notice_room_ban_by_you">Dëbuat %1$s</string> + <string name="notice_room_withdraw_by_you">Tërhoqët mbrapsht ftesën për %1$s</string> + <string name="notice_avatar_url_changed_by_you">Ndryshuat avatarin tuaj</string> + <string name="notice_display_name_set_by_you">Caktuat si emrin tuaj në ekran %1$s</string> + <string name="notice_display_name_changed_from_by_you">E ndryshuat emrin tuaj në ekran nga %1$s në %2$s</string> + <string name="notice_display_name_removed_by_you">Hoqët emrin tuaj në ekran (qe %1$s)</string> + <string name="notice_room_topic_changed_by_you">E ndryshuat temën në: %1$s</string> + <string name="notice_room_avatar_changed">%1$s ndryshoi avatarin e dhomës</string> + <string name="notice_room_avatar_changed_by_you">Ndryshuat avatarin e dhomës</string> + <string name="notice_room_name_changed_by_you">Ndryshuat emrin e dhomës në: %1$s</string> + <string name="notice_placed_video_call_by_you">Filluat një thirrje video.</string> + <string name="notice_placed_voice_call_by_you">Filluat një thirrje zanore.</string> + <string name="notice_call_candidates">%s dërgoi të dhëna për ujdisjen e thirrjes.</string> + <string name="notice_call_candidates_by_you">Dërguat të dhëna për ujdisjen e thirrjes.</string> + <string name="notice_answered_call_by_you">Iu përgjigjët thirrjes.</string> + <string name="notice_ended_call_by_you">E përfunduat thirrjen.</string> + <string name="notice_made_future_room_visibility_by_you">E bëtë historikun e ardhshëm të dhomë të dukshëm për %1$s</string> + <string name="notice_end_to_end_by_you">Aktivizuat fshehtëzim skaj-më-skaj (%1$s)</string> + <string name="notice_room_update_by_you">Përmirësuat këtë dhomë.</string> + + <string name="notice_requested_voip_conference_by_you">Kërkuat një konferencë VoIP</string> + <string name="notice_room_name_removed_by_you">Hoqët emrin e dhomës</string> + <string name="notice_room_topic_removed_by_you">Hoqët temën e dhomës</string> + <string name="notice_room_avatar_removed">%1$s hoqi avatarin e dhomës</string> + <string name="notice_room_avatar_removed_by_you">Hoqët avatarin e dhomës</string> + <string name="notice_profile_change_redacted_by_you">Përditësuat profilin tuaj %1$s</string> + <string name="notice_room_third_party_invite_by_you">Dërguat një ftesë te %1$s për të ardhur te dhoma</string> + <string name="notice_room_third_party_revoked_invite_by_you">Shfuqizuat ftesën për ardhjen në dhomë të %1$s</string> + <string name="notice_room_third_party_registered_invite_by_you">Pranuat ftesën për %1$s</string> + + <string name="notice_widget_added">%1$s shtoi widget-in %2$s</string> + <string name="notice_widget_added_by_you">Shtuat widget-in %1$s</string> + <string name="notice_widget_removed">%1$s hoqi widget-in %2$s</string> + <string name="notice_widget_removed_by_you">Hoqët widget-in %1$s</string> + <string name="notice_widget_modified">%1$s ndryshoi widget-in %2$s</string> + <string name="notice_widget_modified_by_you">Ndryshuat widget-in %1$s</string> + + <string name="power_level_admin">Përgjegjës</string> + <string name="power_level_moderator">Moderator</string> + <string name="power_level_default">Parazgjedhje</string> + <string name="power_level_custom">Vetjake (%1$d)</string> + <string name="power_level_custom_no_value">Vetjake</string> + + <string name="notice_power_level_changed_by_you">Ndryshuat shkallën e pushtetit për %1$s.</string> + <string name="notice_power_level_changed">%1$s ndryshoi shkallën e pushtetit për %2$s.</string> + <string name="notice_power_level_diff">%1$s nga %2$s në %3$s</string> + + <string name="notice_room_invite_no_invitee_with_reason_by_you">Ftesa juaj. Arsye: %1$s</string> + <string name="notice_room_invite_with_reason_by_you">Ftuat %1$s. Arsye: %2$s</string> + <string name="notice_room_join_with_reason_by_you">Erdhët në dhomë, Arsye: %1$s</string> + <string name="notice_room_leave_with_reason_by_you">Ikët nga dhoma. Arsye: %1$s</string> + <string name="notice_room_reject_with_reason_by_you">Hodhët poshtë ftesën. Arsye: %1$s</string> + <string name="notice_room_kick_with_reason_by_you">Përzutë %1$s. Arsye: %2$s</string> + <string name="notice_room_unban_with_reason_by_you">Hoqët dëbimin për %1$s. Arsye: %2$s</string> + <string name="notice_room_ban_with_reason_by_you">Dëbuat %1$s. Arsye: %2$s</string> + <string name="notice_room_third_party_invite_with_reason_by_you">Dërguat një ftesë për %1$s të vijë në dhomë. Arsye: %2$s</string> + <string name="notice_room_third_party_revoked_invite_with_reason_by_you">Shfuqizuat ftesën për ardhjen në dhomë të %1$s. Arsye: %2$s</string> + <string name="notice_room_third_party_registered_invite_with_reason_by_you">Pranuat ftesën për %1$s. Arsye: %2$s</string> + <string name="notice_room_withdraw_with_reason_by_you">Tërhoqët mbrapsht ftesën për %1$s. Arsye: %2$s</string> + + <plurals name="notice_room_aliases_added_by_you"> + <item quantity="one">Shtuat %1$s si një adresë për këtë dhomë.</item> + <item quantity="other">Shtuat %1$s si adresa për këtë dhomë.</item> + </plurals> + + <plurals name="notice_room_aliases_removed_by_you"> + <item quantity="one">Hoqët %1$s si një adresë për këtë dhomë.</item> + <item quantity="other">Hoqët %1$s si adresa për këtë dhomë.</item> + </plurals> + + <string name="notice_room_aliases_added_and_removed_by_you">Shtuat %1$s dhe hoqët %2$s si adresa për këtë dhomë.</string> + + <string name="notice_room_canonical_alias_set_by_you">Caktuat si adresë kryesore për këtë dhomë %1$s.</string> + <string name="notice_room_canonical_alias_unset_by_you">Hoqët adresën kryesore për këtë dhomë.</string> + + <string name="notice_room_guest_access_can_join_by_you">Keni lejuar të vijnë mysafirë në dhomë.</string> + <string name="notice_room_guest_access_forbidden_by_you">U keni penguar mysafirëve të vijnë në dhomë.</string> + + <string name="notice_end_to_end_ok_by_you">Aktivizuat fshehtëzimin skaj-më-skaj.</string> + <string name="notice_end_to_end_unknown_algorithm_by_you">Aktivizuat fshehtëzimin skaj-më-skaj (algoritëm %1$s i panjohur).</string> + </resources> diff --git a/matrix-sdk-android/src/main/res/values-sv/strings.xml b/matrix-sdk-android/src/main/res/values-sv/strings.xml index 491eb0bc..25e51b69 100644 --- a/matrix-sdk-android/src/main/res/values-sv/strings.xml +++ b/matrix-sdk-android/src/main/res/values-sv/strings.xml @@ -1,11 +1,10 @@ -<?xml version='1.0' encoding='UTF-8'?> +<?xml version="1.0" encoding="utf-8"?> <resources> <string name="summary_message">%1$s: %2$s</string> <string name="summary_user_sent_image">%1$s skickade en bild.</string> <string name="summary_you_sent_image">Du skickade en bild.</string> <string name="summary_user_sent_sticker">%1$s skickade en dekal.</string> <string name="summary_you_sent_sticker">Du skickade en dekal.</string> - <string name="notice_room_invite_no_invitee">Inbjudan frÃ¥n %s</string> <string name="notice_room_invite_no_invitee_by_you">Inbjudan frÃ¥n dig</string> <string name="notice_room_created">%1$s skapade rummet</string> @@ -27,8 +26,8 @@ <string name="notice_room_ban_by_you">Du bannade %1$s</string> <string name="notice_room_withdraw">%1$s drog tillbaka inbjudan för %2$s</string> <string name="notice_room_withdraw_by_you">Du drog tillbaka inbjudan för %1$s</string> - <string name="notice_avatar_url_changed">%1$s ändrade sin avatar</string> - <string name="notice_avatar_url_changed_by_you">Du ändrade din avatar</string> + <string name="notice_avatar_url_changed">%1$s bytte sin avatar</string> + <string name="notice_avatar_url_changed_by_you">Du bytte din avatar</string> <string name="notice_display_name_set">%1$s satte sitt visningsnamn till %2$s</string> <string name="notice_display_name_set_by_you">Du satte ditt visningsnamn till %1$s</string> <string name="notice_display_name_changed_from">%1$s bytte sitt visningsnamn frÃ¥n %2$s till %3$s</string> @@ -62,12 +61,10 @@ <string name="notice_end_to_end_by_you">Du aktiverade totalsträckskryptering (%1$s)</string> <string name="notice_room_update">%s uppgraderade det här rummet.</string> <string name="notice_room_update_by_you">Du uppgraderade det här rummet.</string> - <string name="notice_requested_voip_conference">%1$s begärde ett VoIP-gruppsamtal</string> <string name="notice_requested_voip_conference_by_you">Du begärde ett VoIP-gruppsamtal</string> <string name="notice_voip_started">VoIP-gruppsamtal startat</string> <string name="notice_voip_finished">VoIP-gruppsamtal avslutat</string> - <string name="notice_avatar_changed_too">(avataren blev även bytt)</string> <string name="notice_room_name_removed">%1$s tog bort rummets namn</string> <string name="notice_room_name_removed_by_you">Du tog bort rummets namn</string> @@ -87,54 +84,39 @@ <string name="notice_room_third_party_revoked_invite_by_you">Du drog tillbaka inbjudan för %1$s att gÃ¥ med i rummet</string> <string name="notice_room_third_party_registered_invite">%1$s accepterade inbjudan för %2$s</string> <string name="notice_room_third_party_registered_invite_by_you">Du accepterade inbjudan för %1$s</string> - <string name="notice_widget_added">%1$s lade till %2$s-widget</string> <string name="notice_widget_added_by_you">Du lade till %1$s-widget</string> <string name="notice_widget_removed">%1$s tog bort %2$s-widget</string> <string name="notice_widget_removed_by_you">Du tog bort %1$s-widget</string> <string name="notice_widget_modified">%1$s modifierade %2$s-widget</string> <string name="notice_widget_modified_by_you">Du modifierade %1$s-widget</string> - <string name="power_level_admin">Admin</string> <string name="power_level_moderator">Moderator</string> <string name="power_level_default">Standard</string> <string name="power_level_custom">Anpassad (%1$d)</string> <string name="power_level_custom_no_value">Anpassad</string> - <string name="notice_power_level_changed_by_you">Du ändrade behörighetsnivÃ¥ för %1$s.</string> <string name="notice_power_level_changed">%1$s ändrade behörighetsnivÃ¥ för %2$s.</string> <string name="notice_power_level_diff">%1$s frÃ¥n %2$s till %3$s</string> - <string name="notice_crypto_unable_to_decrypt">** Kan inte avkryptera: %s **</string> <string name="notice_crypto_error_unkwown_inbound_session_id">Avsändarens enhet har inte gett oss nycklarna för det här meddelandet.</string> - <string name="could_not_redact">Kunde inte dölja</string> <string name="unable_to_send_message">Kunde inte skicka meddelandet</string> - <string name="message_failed_to_upload">Misslyckades att ladda upp bilden</string> - <string name="network_error">Nätverksfel</string> <string name="matrix_error">Matrixfel</string> - <string name="room_error_join_failed_empty_room">Det gÃ¥r för närvarande inte att gÃ¥ med i ett tomt rum igen.</string> - <string name="encrypted_message">Krypterat meddelande</string> - <string name="medium_email">E-postadress</string> <string name="medium_phone_number">Telefonnummer</string> - <string name="room_displayname_invite_from">Inbjudan frÃ¥n %s</string> <string name="room_displayname_room_invite">Rumsinbjudan</string> - <string name="room_displayname_two_members">%1$s och %2$s</string> - <plurals name="room_displayname_three_and_more_members"> <item quantity="one">%1$s och en till</item> <item quantity="other">%1$s och %2$d till</item> </plurals> - <string name="room_displayname_empty_room">Tomt rum</string> - <string name="initial_sync_start_importing_account">Inledande synk: \nImporterar konto…</string> <string name="initial_sync_start_importing_account_crypto">Inledande synk: @@ -151,10 +133,8 @@ \nImporterar gemenskaper</string> <string name="initial_sync_start_importing_account_data">Inledande synk: \nImporterar kontodata</string> - <string name="event_status_sending_message">Skickar meddelande…</string> <string name="clear_timeline_send_queue">Rensa sändningskö</string> - <string name="notice_room_invite_no_invitee_with_reason">Inbjudan frÃ¥n %1$s. Anledning: %2$s</string> <string name="notice_room_invite_no_invitee_with_reason_by_you">Inbjudan frÃ¥n dig. Anledning: %1$s</string> <string name="notice_room_invite_with_reason">%1$s bjöd in %2$s. Anledning: %3$s</string> @@ -180,45 +160,57 @@ <string name="notice_room_third_party_registered_invite_with_reason_by_you">Du accepterade inbjudan för %1$s. Anledning: %2$s</string> <string name="notice_room_withdraw_with_reason">%1$s drog tillbaka inbjudan för %2$s. Anledning: %3$s</string> <string name="notice_room_withdraw_with_reason_by_you">Du drog tillbaka inbjudan för %1$s. Anledning: %2$s</string> - <plurals name="notice_room_aliases_added"> <item quantity="one">%1$s lade till %2$s som en adress för det här rummet.</item> <item quantity="other">%1$s lade till %2$s som adresser för det här rummet.</item> </plurals> - <plurals name="notice_room_aliases_added_by_you"> <item quantity="one">Du lade till %1$s som en adress för det här rummet.</item> <item quantity="other">Du lade till %1$s som adresser för det här rummet.</item> </plurals> - <plurals name="notice_room_aliases_removed"> <item quantity="one">%1$s tog bort %2$s som en adress för det här rummet.</item> <item quantity="other">%1$s tog bort %2$s som adresser för det här rummet.</item> </plurals> - <plurals name="notice_room_aliases_removed_by_you"> <item quantity="one">Du tog bort %1$s som en adress för det här rummet.</item> <item quantity="other">Du tog bort %2$s som adresser för det här rummet.</item> </plurals> - <string name="notice_room_aliases_added_and_removed">%1$s lade till %2$s och tog bort %3$s som adresser för det här rummet.</string> <string name="notice_room_aliases_added_and_removed_by_you">Du lade till %1$s och tog bort %2$s som adresser för det här rummet.</string> - <string name="notice_room_canonical_alias_set">%1$s satta huvudadressen för det här rummet till %2$s.</string> <string name="notice_room_canonical_alias_set_by_you">Du satta huvudadressen för det här rummet till %1$s.</string> <string name="notice_room_canonical_alias_unset">%1$s tog bort huvudadressen för det här rummet.</string> <string name="notice_room_canonical_alias_unset_by_you">Du tog bort huvudadressen för det här rummet.</string> - <string name="notice_room_guest_access_can_join">%1$s tillät gäster att gÃ¥ med i rummet.</string> <string name="notice_room_guest_access_can_join_by_you">Du tillät gäster att gÃ¥ med i rummet.</string> <string name="notice_room_guest_access_forbidden">%1$s hindrade gäster frÃ¥n att gÃ¥ med i rummet.</string> <string name="notice_room_guest_access_forbidden_by_you">Du hindrade gäster frÃ¥n att gÃ¥ med i rummet.</string> - <string name="notice_end_to_end_ok">%1$s aktiverade totalsträckskryptering.</string> <string name="notice_end_to_end_ok_by_you">Du aktiverade totalsträckskryptering.</string> <string name="notice_end_to_end_unknown_algorithm">%1$s aktiverade totalsträckskryptering (okänd algoritm %2$s).</string> <string name="notice_end_to_end_unknown_algorithm_by_you">Du aktiverade totalsträckskryptering (okänd algoritm %1$s).</string> - <string name="key_verification_request_fallback_message">%s begär att verifiera din nyckel, men din klient stöder inte nyckelverifiering i chatten. Du behöver använda legacynyckelverifiering för att verifiera nycklar.</string> - -</resources> + <string name="notice_direct_room_guest_access_forbidden_by_you">Du hindrade gäster frÃ¥n att gÃ¥ med i rummet.</string> + <string name="notice_direct_room_guest_access_forbidden">%1$s hindrade gäster frÃ¥n att gÃ¥ med i rummet.</string> + <string name="notice_direct_room_guest_access_can_join_by_you">Du tillät gäster att gÃ¥ med här.</string> + <string name="notice_direct_room_guest_access_can_join">%1$s tillät gäster att gÃ¥ med här.</string> + <string name="notice_direct_room_leave_with_reason_by_you">Du lämnade. Anledning: %1$s</string> + <string name="notice_direct_room_leave_with_reason">%1$s Lämnade. Anledning: %2$s</string> + <string name="notice_direct_room_join_with_reason_by_you">Du gick med. Anledning: %1$s</string> + <string name="notice_direct_room_join_with_reason">%1$s gick med. Anledning: %2$s</string> + <string name="notice_direct_room_third_party_revoked_invite_by_you">Du drog tillbaka inbjudan för %1$s</string> + <string name="notice_direct_room_third_party_revoked_invite">%1$s drog tillbaka inbjudan för %2$s</string> + <string name="notice_direct_room_third_party_invite_by_you">Du bjöd in %1$s</string> + <string name="notice_direct_room_third_party_invite">%1$s bjöd in %2$s</string> + <string name="notice_direct_room_update_by_you">Du uppgraderade här.</string> + <string name="notice_direct_room_update">%s uppgraderade här.</string> + <string name="notice_made_future_direct_room_visibility_by_you">Du gjorde framtida meddelanden synliga för %1$s</string> + <string name="notice_made_future_direct_room_visibility">%1$s gjorde framtida meddelanden synliga för %2$s</string> + <string name="notice_direct_room_leave_by_you">Du lämnade rummet</string> + <string name="notice_direct_room_leave">%1$s lämnade rummet</string> + <string name="notice_direct_room_join_by_you">Du gick med</string> + <string name="notice_direct_room_join">%1$s gick med</string> + <string name="notice_direct_room_created_by_you">Du skapade diskussionen</string> + <string name="notice_direct_room_created">%1$s skapade diskussionen</string> +</resources> \ No newline at end of file diff --git a/matrix-sdk-android/src/main/res/values-sv/strings_sas.xml b/matrix-sdk-android/src/main/res/values-sv/strings_sas.xml index 1e06452b..2d6e2f40 100644 --- a/matrix-sdk-android/src/main/res/values-sv/strings_sas.xml +++ b/matrix-sdk-android/src/main/res/values-sv/strings_sas.xml @@ -27,7 +27,7 @@ <string name="verification_emoji_banana">Banan</string> <string name="verification_emoji_apple">Äpple</string> <string name="verification_emoji_strawberry">Jordgubbe</string> - <string name="verification_emoji_corn">Majskolv</string> + <string name="verification_emoji_corn">Majs</string> <string name="verification_emoji_pizza">Pizza</string> <string name="verification_emoji_cake">TÃ¥rta</string> <string name="verification_emoji_heart">Hjärta</string> @@ -41,7 +41,7 @@ <string name="verification_emoji_umbrella">Paraply</string> <string name="verification_emoji_hourglass">Timglas</string> <string name="verification_emoji_clock">Klocka</string> - <string name="verification_emoji_gift">Paket</string> + <string name="verification_emoji_gift">Present</string> <string name="verification_emoji_light_bulb">Lampa</string> <string name="verification_emoji_book">Bok</string> <string name="verification_emoji_pencil">Penna</string> @@ -52,7 +52,7 @@ <string name="verification_emoji_hammer">Hammare</string> <string name="verification_emoji_telephone">Telefon</string> <string name="verification_emoji_flag">Flagga</string> - <string name="verification_emoji_train">Ã…nglok</string> + <string name="verification_emoji_train">TÃ¥g</string> <string name="verification_emoji_bicycle">Cykel</string> <string name="verification_emoji_aeroplane">Flygplan</string> <string name="verification_emoji_rocket">Raket</string> diff --git a/matrix-sdk-android/src/main/res/values-zh-rCN/strings.xml b/matrix-sdk-android/src/main/res/values-zh-rCN/strings.xml index 60322821..496bbe6b 100644 --- a/matrix-sdk-android/src/main/res/values-zh-rCN/strings.xml +++ b/matrix-sdk-android/src/main/res/values-zh-rCN/strings.xml @@ -1,7 +1,6 @@ -<?xml version='1.0' encoding='UTF-8'?> +<?xml version="1.0" encoding="utf-8"?> <resources> <string name="summary_user_sent_image">%1$s å‘é€äº†ä¸€å¼ 图片。</string> - <string name="notice_room_invite_no_invitee">%s 的邀请</string> <string name="notice_room_invite">%1$s 邀请了 %2$s</string> <string name="notice_room_invite_you">%1$s 邀请了您</string> @@ -27,42 +26,30 @@ <string name="notice_room_visibility_world_readable">任何人。</string> <string name="notice_room_visibility_unknown">未知(%s)。</string> <string name="notice_end_to_end">%1$s å¼€å¯äº†ç«¯åˆ°ç«¯åŠ 密(%2$s)</string> - <string name="notice_requested_voip_conference">%1$s 请求了一次 VoIP 会议</string> <string name="notice_voip_started">VoIP 会议已开始</string> <string name="notice_voip_finished">VoIP 会议已结æŸ</string> - <string name="notice_avatar_changed_too">(头åƒä¹Ÿè¢«æ›´æ”¹ï¼‰</string> <string name="notice_room_name_removed">%1$s 移除了èŠå¤©å®¤å称</string> <string name="notice_room_topic_removed">%1$s 移除了èŠå¤©å®¤ä¸»é¢˜</string> <string name="notice_crypto_unable_to_decrypt">** æ— æ³•è§£å¯†ï¼š%s **</string> <string name="notice_crypto_error_unkwown_inbound_session_id">å‘é€è€…的设备没有å‘我们å‘é€æ¤æ¶ˆæ¯çš„密钥。</string> - <string name="unable_to_send_message">æ— æ³•å‘é€æ¶ˆæ¯</string> - <string name="message_failed_to_upload">ä¸Šä¼ å›¾åƒå¤±è´¥</string> - <string name="network_error">网络错误</string> <string name="matrix_error">Matrix 错误</string> - <string name="room_error_join_failed_empty_room">ç›®å‰æ— 法é‡æ–°åŠ 入一个空的èŠå¤©å®¤ã€‚</string> - <string name="encrypted_message">å·²åŠ å¯†æ¶ˆæ¯</string> - <string name="medium_email">电å邮箱地å€</string> <string name="medium_phone_number">手机å·ç </string> - <string name="notice_room_withdraw">%1$s 撤回了对 %2$s 的邀请</string> <string name="notice_made_future_room_visibility">%1$s 让未æ¥çš„èŠå¤©å®¤åŽ†å²è®°å½•å¯¹ %2$s å¯è§</string> <string name="notice_profile_change_redacted">%1$s 更新了他的个人档案 %2$s</string> <string name="notice_room_third_party_invite">%1$s å‘ %2$s å‘é€äº†åŠ å…¥èŠå¤©å®¤çš„邀请</string> <string name="notice_room_third_party_registered_invite">%1$s 接å—了 %2$s 的邀请</string> - <string name="could_not_redact">æ— æ³•æ’¤å›ž</string> - <string name="summary_message">%1$s:%2$s</string> <string name="summary_user_sent_sticker">%1$s å‘é€äº†ä¸€å¼ 贴纸。</string> - <string name="room_displayname_empty_room">空èŠå¤©å®¤</string> <string name="room_displayname_invite_from">æ¥è‡ª %s 的邀请</string> <string name="room_displayname_room_invite">èŠå¤©å®¤é‚€è¯·</string> @@ -70,7 +57,6 @@ <plurals name="room_displayname_three_and_more_members"> <item quantity="other">%1$s 与其他 %2$d ä½</item> </plurals> - <string name="notice_event_redacted">消æ¯å·²è¢«ç§»é™¤</string> <string name="notice_event_redacted_by">消æ¯å·²è¢« %1$s 移除</string> <string name="notice_event_redacted_with_reason">消æ¯å·²è¢«ç§»é™¤ [åŽŸå› : %1$s]</string> @@ -91,14 +77,10 @@ \næ£åœ¨å¯¼å…¥ç¤¾åŒº</string> <string name="initial_sync_start_importing_account_data">åˆå§‹åŒ–åŒæ¥ï¼š \næ£åœ¨å¯¼å…¥è´¦å·æ•°æ®</string> - <string name="notice_room_update">%s å‡çº§äº†æ¤èŠå¤©å®¤ã€‚</string> - <string name="event_status_sending_message">æ£åœ¨å‘é€æ¶ˆæ¯â€¦</string> <string name="clear_timeline_send_queue">清除æ£åœ¨å‘é€é˜Ÿåˆ—</string> - <string name="notice_room_third_party_revoked_invite">%1$s 撤回了对 %2$s åŠ å…¥èŠå¤©å®¤çš„邀请</string> - <string name="notice_room_invite_no_invitee_with_reason">%1$s 的邀请。ç†ç”±ï¼š%2$s</string> <string name="notice_room_invite_with_reason">%1$s 邀请了 %2$s。ç†ç”±ï¼š%3$s</string> <string name="notice_room_invite_you_with_reason">%1$s 邀请了您。ç†ç”±ï¼š%2$s</string> @@ -112,32 +94,23 @@ <string name="notice_room_third_party_revoked_invite_with_reason">%1$s 撤销了 %2$s åŠ å…¥èŠå¤©å®¤çš„邀請。ç†ç”±ï¼š%3$s</string> <string name="notice_room_third_party_registered_invite_with_reason">%1$s æŽ¥å— %2$s 的邀請。ç†ç”±ï¼š%3$s</string> <string name="notice_room_withdraw_with_reason">%1$s 撤回了对 %2$s 的邀请。ç†ç”±ï¼š%3$s</string> - <plurals name="notice_room_aliases_added"> <item quantity="other">%1$s 新增了 %2$s 为æ¤èŠå¤©å®¤çš„地å€ã€‚</item> </plurals> - <plurals name="notice_room_aliases_removed"> <item quantity="other">%1$s 移除了æ¤èŠå¤©å®¤çš„ %3$s 地å€ã€‚</item> </plurals> - <string name="notice_room_aliases_added_and_removed">%1$s 为æ¤èŠå¤©å®¤æ–°å¢žäº† %2$s 并移除 %3$s 地å€ã€‚</string> - <string name="notice_room_canonical_alias_set">%1$s å°†æ¤èŠå¤©å®¤çš„主地å€è®¾ä¸ºäº† %2$s。</string> <string name="notice_room_canonical_alias_unset">%1$s 为æ¤èŠå¤©å®¤ç§»é™¤äº†ä¸»åœ°å€ã€‚</string> - <string name="notice_room_guest_access_can_join">%1$s å·²å…è®¸è®¿å®¢åŠ å…¥èŠå¤©å®¤ã€‚</string> <string name="notice_room_guest_access_forbidden">%1$s å·²ç¦æ¢è®¿å®¢åŠ å…¥èŠå¤©å®¤ã€‚</string> - <string name="notice_end_to_end_ok">%1$s 已开å¯ç«¯åˆ°ç«¯åŠ 密。</string> <string name="notice_end_to_end_unknown_algorithm">%1$s 已开å¯ç«¯åˆ°ç«¯åŠ å¯†ï¼ˆæ— æ³•è¯†åˆ«çš„æ¼”ç®—æ³• %2$s)。</string> - <string name="key_verification_request_fallback_message">%s æ£åœ¨è¯·æ±‚验è¯æ‚¨çš„密钥,但您的客户端ä¸æ”¯æ´èŠå¤©ä¸å¯†é’¥éªŒè¯ã€‚ 您将必须使用旧版的密钥验è¯æ¥éªŒè¯é‡‘钥。</string> - <string name="notice_room_created">%1$s 创建了这个èŠå¤©å®¤</string> <string name="summary_you_sent_image">您å‘é€äº†ä¸€å¼ 图片。</string> <string name="summary_you_sent_sticker">您å‘é€äº†ä¸€å¼ 贴纸。</string> - <string name="notice_room_invite_no_invitee_by_you">您的邀请</string> <string name="notice_room_created_by_you">您创建了这个èŠå¤©å®¤</string> <string name="notice_room_invite_by_you">您邀请了 %1$s</string> @@ -165,7 +138,6 @@ <string name="notice_made_future_room_visibility_by_you">您已让未æ¥çš„èŠå¤©å®¤è®°å½•å¯¹ %1$s å¯è§</string> <string name="notice_end_to_end_by_you">您开å¯äº†ç«¯åˆ°ç«¯åŠ 密(%1$s)</string> <string name="notice_room_update_by_you">您å‡çº§äº†æ¤èŠå¤©å®¤ã€‚</string> - <string name="notice_requested_voip_conference_by_you">您请求了 VoIP 会议</string> <string name="notice_room_name_removed_by_you">您移除了èŠå¤©å®¤å称</string> <string name="notice_room_topic_removed_by_you">您移除了èŠå¤©å®¤ä¸»é¢˜</string> @@ -175,24 +147,20 @@ <string name="notice_room_third_party_invite_by_you">æ‚¨å‘ %1$s å‘é€äº†åŠ å…¥èŠå¤©å®¤çš„邀请</string> <string name="notice_room_third_party_revoked_invite_by_you">您已撤回了对 %1$s åŠ å…¥èŠå¤©å®¤çš„邀请</string> <string name="notice_room_third_party_registered_invite_by_you">您接å—了 %1$s 的邀请</string> - <string name="notice_widget_added">%1$s æ·»åŠ äº† %2$s å°éƒ¨ä»¶</string> <string name="notice_widget_added_by_you">æ‚¨æ·»åŠ äº† %1$s å°éƒ¨ä»¶</string> <string name="notice_widget_removed">%1$s 移除了 %2$s å°éƒ¨ä»¶</string> <string name="notice_widget_removed_by_you">您移除了 %1$s å°éƒ¨ä»¶</string> <string name="notice_widget_modified">%1$s 修改了 %2$s å°éƒ¨ä»¶</string> <string name="notice_widget_modified_by_you">您修改了 %1$s å°éƒ¨ä»¶</string> - <string name="power_level_admin">管ç†å‘˜</string> <string name="power_level_moderator">å®¡æ ¸å‘˜</string> <string name="power_level_default">默认</string> <string name="power_level_custom">自定义(%1$d)</string> <string name="power_level_custom_no_value">自定义</string> - <string name="notice_power_level_changed_by_you">您更改了%1$s çš„æƒåŠ›ç‰çº§ã€‚</string> <string name="notice_power_level_changed">%1$s 更改了 %2$s çš„æƒåŠ›ç‰çº§ã€‚</string> <string name="notice_power_level_diff">%1$s 从 %2$s 到 %3$s</string> - <string name="notice_room_invite_no_invitee_with_reason_by_you">您的邀请。ç†ç”±ï¼š%1$s</string> <string name="notice_room_invite_with_reason_by_you">您邀请了 %1$s。ç†ç”±ï¼š%2$s</string> <string name="notice_room_join_with_reason_by_you">æ‚¨åŠ å…¥äº†èŠå¤©å®¤ã€‚ç†ç”±ï¼š%1$s</string> @@ -205,24 +173,35 @@ <string name="notice_room_third_party_revoked_invite_with_reason_by_you">您撤销了 %1$s åŠ å…¥èŠå¤©å®¤çš„邀请。ç†ç”±ï¼š%2$s</string> <string name="notice_room_third_party_registered_invite_with_reason_by_you">您接å—了 %1$s 的邀请。ç†ç”±ï¼š%2$s</string> <string name="notice_room_withdraw_with_reason_by_you">您撤回了 %1$s 的邀请。ç†ç”±ï¼š%2$s</string> - <plurals name="notice_room_aliases_added_by_you"> <item quantity="other">您新增了 %1$s 为æ¤èŠå¤©å®¤çš„地å€ã€‚</item> </plurals> - <plurals name="notice_room_aliases_removed_by_you"> <item quantity="other">您移除了æ¤èŠå¤©å®¤çš„ %2$s 地å€ã€‚</item> </plurals> - <string name="notice_room_aliases_added_and_removed_by_you">您为æ¤èŠå¤©å®¤æ–°å¢žäº† %1$s 并移除了 %2$s 地å€ã€‚</string> - <string name="notice_room_canonical_alias_set_by_you">您将æ¤èŠå¤©å®¤çš„主地å€è®¾ä¸ºäº† %1$s。</string> <string name="notice_room_canonical_alias_unset_by_you">您移除了æ¤èŠå¤©å®¤çš„主地å€ã€‚</string> - <string name="notice_room_guest_access_can_join_by_you">您已å…è®¸è®¿å®¢åŠ å…¥èŠå¤©å®¤ã€‚</string> <string name="notice_room_guest_access_forbidden_by_you">您已ç¦æ¢è®¿å®¢åŠ å…¥èŠå¤©å®¤ã€‚</string> - <string name="notice_end_to_end_ok_by_you">您已开å¯ç«¯åˆ°ç«¯åŠ 密。</string> <string name="notice_end_to_end_unknown_algorithm_by_you">您已开å¯ç«¯åˆ°ç«¯åŠ å¯†ï¼ˆæ— æ³•è¯†åˆ«çš„ç®—æ³• %1$s)。</string> - -</resources> + <string name="notice_direct_room_leave_with_reason_by_you">您已离开。ç†ç”±ï¼š%1$s</string> + <string name="notice_direct_room_leave_with_reason">%1$s 已离开。ç†ç”±ï¼š%2$s</string> + <string name="notice_direct_room_join_with_reason_by_you">æ‚¨å·²åŠ å…¥ã€‚ç†ç”±ï¼š%1$s</string> + <string name="notice_direct_room_join_with_reason">%1$s å·²åŠ å…¥ã€‚ç†ç”±ï¼š%2$s</string> + <string name="notice_direct_room_third_party_revoked_invite_by_you">您撤回了对 %1$s 的邀请</string> + <string name="notice_direct_room_third_party_revoked_invite">%1$s 撤回了对 %2$s 的邀请</string> + <string name="notice_direct_room_third_party_invite_by_you">您邀请了 %1$s</string> + <string name="notice_direct_room_third_party_invite">%1$s 邀请了 %2$s</string> + <string name="notice_direct_room_update_by_you">您在æ¤å¤„å‡çº§ã€‚</string> + <string name="notice_direct_room_update">%s 在æ¤å¤„å‡çº§ã€‚</string> + <string name="notice_made_future_direct_room_visibility_by_you">您使未æ¥çš„消æ¯å¯¹ %2$s å¯è§</string> + <string name="notice_made_future_direct_room_visibility">%1$s 使未æ¥çš„消æ¯å¯¹ %2$s å¯è§</string> + <string name="notice_direct_room_leave_by_you">您离开了èŠå¤©å®¤</string> + <string name="notice_direct_room_leave">%1$s 离开了èŠå¤©å®¤</string> + <string name="notice_direct_room_join_by_you">æ‚¨å·²åŠ å…¥</string> + <string name="notice_direct_room_join">%1$s å·²åŠ å…¥</string> + <string name="notice_direct_room_created_by_you">您创建了讨论</string> + <string name="notice_direct_room_created">%1$s 创建了讨论</string> +</resources> \ No newline at end of file diff --git a/matrix-sdk-android/src/main/res/values-zh-rCN/strings_sas.xml b/matrix-sdk-android/src/main/res/values-zh-rCN/strings_sas.xml index 43961573..8d509918 100644 --- a/matrix-sdk-android/src/main/res/values-zh-rCN/strings_sas.xml +++ b/matrix-sdk-android/src/main/res/values-zh-rCN/strings_sas.xml @@ -7,4 +7,62 @@ <string name="verification_emoji_horse">马</string> <string name="verification_emoji_unicorn">独角兽</string> <string name="verification_emoji_pig">猪</string> + <string name="verification_emoji_elephant">大象</string> + <string name="verification_emoji_rabbit">å…”å</string> + <string name="verification_emoji_panda">熊猫</string> + <string name="verification_emoji_rooster">公鸡</string> + <string name="verification_emoji_penguin">ä¼é¹…</string> + <string name="verification_emoji_turtle">乌龟</string> + <string name="verification_emoji_fish">é±¼</string> + <string name="verification_emoji_octopus">ç« é±¼</string> + <string name="verification_emoji_butterfly">è´è¶</string> + <string name="verification_emoji_flower">花</string> + <string name="verification_emoji_tree">æ ‘</string> + <string name="verification_emoji_cactus">仙人掌</string> + <string name="verification_emoji_mushroom">蘑è‡</string> + <string name="verification_emoji_globe">地çƒ</string> + <string name="verification_emoji_moon">月亮</string> + <string name="verification_emoji_cloud">云</string> + <string name="verification_emoji_fire">ç«</string> + <string name="verification_emoji_banana">香蕉</string> + <string name="verification_emoji_apple">苹果</string> + <string name="verification_emoji_strawberry">è‰èŽ“</string> + <string name="verification_emoji_corn">玉米</string> + <string name="verification_emoji_pizza">披è¨</string> + <string name="verification_emoji_cake">蛋糕</string> + <string name="verification_emoji_heart">心</string> + <string name="verification_emoji_smiley">笑脸</string> + <string name="verification_emoji_robot">机器人</string> + <string name="verification_emoji_hat">帽å</string> + <string name="verification_emoji_glasses">眼镜</string> + <string name="verification_emoji_spanner">扳手</string> + <string name="verification_emoji_santa">圣诞è€äºº</string> + <string name="verification_emoji_thumbs_up">赞</string> + <string name="verification_emoji_umbrella">伞</string> + <string name="verification_emoji_hourglass">æ²™æ¼</string> + <string name="verification_emoji_clock">时钟</string> + <string name="verification_emoji_gift">礼物</string> + <string name="verification_emoji_light_bulb">ç¯æ³¡</string> + <string name="verification_emoji_book">书</string> + <string name="verification_emoji_pencil">铅笔</string> + <string name="verification_emoji_paperclip">回形针</string> + <string name="verification_emoji_scissors">剪刀</string> + <string name="verification_emoji_lock">é”</string> + <string name="verification_emoji_key">钥匙</string> + <string name="verification_emoji_hammer">锤å</string> + <string name="verification_emoji_telephone">电è¯</string> + <string name="verification_emoji_flag">旗帜</string> + <string name="verification_emoji_train">ç«è½¦</string> + <string name="verification_emoji_bicycle">自行车</string> + <string name="verification_emoji_aeroplane">飞机</string> + <string name="verification_emoji_rocket">ç«ç®</string> + <string name="verification_emoji_trophy">奖æ¯</string> + <string name="verification_emoji_ball">çƒ</string> + <string name="verification_emoji_guitar">å‰ä»–</string> + <string name="verification_emoji_trumpet">å–‡å</string> + <string name="verification_emoji_bell">铃铛</string> + <string name="verification_emoji_anchor">锚</string> + <string name="verification_emoji_headphones">耳机</string> + <string name="verification_emoji_folder">文件夹</string> + <string name="verification_emoji_pin">图钉</string> </resources> diff --git a/matrix-sdk-android/src/main/res/values-zh-rTW/strings.xml b/matrix-sdk-android/src/main/res/values-zh-rTW/strings.xml index 35589092..4a3293b1 100644 --- a/matrix-sdk-android/src/main/res/values-zh-rTW/strings.xml +++ b/matrix-sdk-android/src/main/res/values-zh-rTW/strings.xml @@ -1,8 +1,7 @@ -<?xml version='1.0' encoding='UTF-8'?> +<?xml version="1.0" encoding="utf-8"?> <resources> <string name="summary_message">%1$s:%2$s</string> <string name="summary_user_sent_image">%1$s 傳é€äº†ä¸€å¼µåœ–片。</string> - <string name="notice_room_invite_no_invitee">%s 的邀請</string> <string name="notice_room_invite">%1$s 邀請了 %2$s</string> <string name="notice_room_invite_you">%1$s 邀請您</string> @@ -30,52 +29,38 @@ <string name="notice_room_visibility_world_readable">任何人。</string> <string name="notice_room_visibility_unknown">未知 (%s)。</string> <string name="notice_end_to_end">%1$s 開啟了端å°ç«¯åŠ 密 (%2$s)</string> - <string name="notice_requested_voip_conference">%1$s 請求了 VoIP 會è°é€šè©±</string> <string name="notice_voip_started">VoIP 會è°é€šè©±å·²é–‹å§‹</string> <string name="notice_voip_finished">VoIP 會è°é€šè©±å·²çµæŸ</string> - <string name="notice_avatar_changed_too">(大é 貼也變更了)</string> <string name="notice_room_name_removed">%1$s 移除了房間å稱</string> <string name="notice_room_topic_removed">%1$s 移除了房間主題</string> <string name="notice_profile_change_redacted">%1$s 更新了他們的基本資料 %2$s</string> <string name="notice_room_third_party_invite">%1$s 傳é€åŠ 入房間的邀請給 %2$s</string> <string name="notice_room_third_party_registered_invite">%1$s æŽ¥å— %2$s 的邀請</string> - <string name="notice_crypto_unable_to_decrypt">** 無法解密:%s **</string> <string name="notice_crypto_error_unkwown_inbound_session_id">傳é€è€…çš„è£ç½®ä¸¦æœªåœ¨æ¤è¨Šæ¯å‚³é€ä»–們的金鑰。</string> - <string name="could_not_redact">無法編輯</string> <string name="unable_to_send_message">無法傳é€è¨Šæ¯</string> - <string name="message_failed_to_upload">上傳圖片失敗</string> - <string name="network_error">網路錯誤</string> <string name="matrix_error">Matrix 錯誤</string> - <string name="room_error_join_failed_empty_room">ç›®å‰ç„¡æ³•é‡æ–°åŠ 入空房間。</string> - <string name="encrypted_message">å·²åŠ å¯†çš„è¨Šæ¯</string> - <string name="medium_email">é›»å郵件</string> <string name="medium_phone_number">電話號碼</string> - <string name="summary_user_sent_sticker">%1$s 傳é€äº†ä¸€å¼µè²¼åœ–。</string> - <string name="room_displayname_invite_from">來自%s 的邀請</string> <string name="room_displayname_room_invite">èŠå¤©å®¤é‚€è«‹</string> <string name="room_displayname_two_members">%1$s å’Œ %2$s</string> - <string name="room_displayname_empty_room">空èŠå¤©å®¤</string> <plurals name="room_displayname_three_and_more_members"> <item quantity="other">%1$s å’Œ 和其他 %2$d 個人</item> </plurals> - <string name="notice_event_redacted">訊æ¯å·²ç§»é™¤</string> <string name="notice_event_redacted_by">訊æ¯å·²è¢« %1$s 移除</string> <string name="notice_event_redacted_with_reason">訊æ¯å·²ç§»é™¤ [ç†ç”±ï¼š%1$s]</string> <string name="notice_event_redacted_by_with_reason">訊æ¯å·²è¢« %1$s 移除 [ç†ç”±ï¼š%2$s]</string> - <string name="initial_sync_start_importing_account">åˆå§‹åŒ–åŒæ¥ï¼š \næ£åœ¨åŒ¯å…¥å¸³è™Ÿâ€¦â€¦</string> <string name="initial_sync_start_importing_account_crypto">åˆå§‹åŒ–åŒæ¥ï¼š @@ -92,12 +77,9 @@ \næ£åœ¨åŒ¯å…¥ç¤¾ç¾¤</string> <string name="initial_sync_start_importing_account_data">åˆå§‹åŒ–åŒæ¥ï¼š \næ£åœ¨åŒ¯å…¥å¸³è™Ÿè³‡æ–™</string> - <string name="notice_room_update">%s å·²å‡ç´šæ¤èŠå¤©å®¤ã€‚</string> - <string name="event_status_sending_message">æ£åœ¨å‚³é€è¨Šæ¯â€¦â€¦</string> <string name="clear_timeline_send_queue">清除傳é€ä½‡åˆ—</string> - <string name="notice_room_third_party_revoked_invite">%1$s 撤銷了 %2$s åŠ å…¥èŠå¤©å®¤çš„邀請</string> <string name="notice_room_invite_no_invitee_with_reason">%1$s 的邀請。ç†ç”±ï¼š%2$s</string> <string name="notice_room_invite_with_reason">%1$s 邀請了 %2$s。ç†ç”±ï¼š%3$s</string> @@ -112,32 +94,23 @@ <string name="notice_room_third_party_revoked_invite_with_reason">%1$s 撤銷了 %2$s åŠ å…¥èŠå¤©å®¤çš„邀請。ç†ç”±ï¼š%3$s</string> <string name="notice_room_third_party_registered_invite_with_reason">%1$s æŽ¥å— %2$s 的邀請。ç†ç”±ï¼š%3$s</string> <string name="notice_room_withdraw_with_reason">%1$s æ’¤å›žäº†å° %2$s 的邀請。ç†ç”±ï¼š%3$s</string> - <plurals name="notice_room_aliases_added"> <item quantity="other">%1$s 新增了 %2$s 為æ¤èŠå¤©å®¤çš„地å€ã€‚</item> </plurals> - <plurals name="notice_room_aliases_removed"> <item quantity="other">%1$s 移除了æ¤èŠå¤©å®¤çš„ %3$s 地å€ã€‚</item> </plurals> - <string name="notice_room_aliases_added_and_removed">%1$s 為æ¤èŠå¤©å®¤æ–°å¢ž %2$s 並移除 %3$s 地å€ã€‚</string> - <string name="notice_room_canonical_alias_set">%1$s 為æ¤èŠå¤©å®¤è¨å®šäº† %2$s 為主地å€ã€‚</string> <string name="notice_room_canonical_alias_unset">%1$s 為æ¤èŠå¤©å®¤ç§»é™¤äº†ä¸»è¦åœ°å€ã€‚</string> - <string name="notice_room_guest_access_can_join">%1$s å·²å…è¨±è¨ªå®¢åŠ å…¥èŠå¤©å®¤ã€‚</string> <string name="notice_room_guest_access_forbidden">%1$s å·²ç¦æ¢è¨ªå®¢åŠ å…¥èŠå¤©å®¤ã€‚</string> - <string name="notice_end_to_end_ok">%1$s å·²é–‹å•Ÿç«¯åˆ°ç«¯åŠ å¯†ã€‚</string> <string name="notice_end_to_end_unknown_algorithm">%1$s å·²é–‹å•Ÿç«¯åˆ°ç«¯åŠ å¯†ï¼ˆç„¡æ³•è˜åˆ¥çš„演算法 %2$s)。</string> - <string name="key_verification_request_fallback_message">%s æ£åœ¨è«‹æ±‚é©—è‰æ‚¨çš„金鑰,但您的客戶端ä¸æ”¯æ´èŠå¤©ä¸é‡‘é‘°é©—è‰ã€‚æ‚¨å°‡å¿…é ˆä½¿ç”¨èˆŠç‰ˆçš„é‡‘é‘°é©—è‰ä¾†é©—è‰é‡‘鑰。</string> - <string name="notice_room_created">%1$s 建立了èŠå¤©å®¤</string> <string name="summary_you_sent_image">您傳é€äº†åœ–片。</string> <string name="summary_you_sent_sticker">您傳é€äº†è²¼åœ–。</string> - <string name="notice_room_invite_no_invitee_by_you">您的邀請</string> <string name="notice_room_created_by_you">您建立了èŠå¤©å®¤</string> <string name="notice_room_invite_by_you">您邀請了 %1$s</string> @@ -165,7 +138,6 @@ <string name="notice_made_future_room_visibility_by_you">您已將未來的èŠå¤©å®¤æ·å²è¨å®šç‚ºå° %1$s å¯è¦‹</string> <string name="notice_end_to_end_by_you">æ‚¨é–‹å•Ÿäº†ç«¯åˆ°ç«¯åŠ å¯† (%1$s)</string> <string name="notice_room_update_by_you">您å‡ç´šäº†æ¤èŠå¤©å®¤ã€‚</string> - <string name="notice_requested_voip_conference_by_you">您請求了 VoIP 會è°</string> <string name="notice_room_name_removed_by_you">您移除了èŠå¤©å®¤å稱</string> <string name="notice_room_topic_removed_by_you">您移除了èŠå¤©å®¤ä¸»é¡Œ</string> @@ -175,24 +147,20 @@ <string name="notice_room_third_party_invite_by_you">您傳é€äº†é‚€è«‹çµ¦ %1$s ä»¥åŠ å…¥èŠå¤©å®¤</string> <string name="notice_room_third_party_revoked_invite_by_you">æ‚¨å·²æ’¤éŠ·å° %1$s åŠ å…¥èŠå¤©å®¤çš„邀請</string> <string name="notice_room_third_party_registered_invite_by_you">您接å—了 %1$s 的邀請</string> - <string name="notice_widget_added">%1$s 新增了 %2$s å°å·¥å…·</string> <string name="notice_widget_added_by_you">您新增了 %1$s å°å·¥å…·</string> <string name="notice_widget_removed">%1$s 移除了 %2$s å°å·¥å…·</string> <string name="notice_widget_removed_by_you">您移除了 %1$s å°å·¥å…·</string> <string name="notice_widget_modified">%1$s 修改了 %2$s å°å·¥å…·</string> <string name="notice_widget_modified_by_you">您修改了 %1$s å°å·¥å…·</string> - <string name="power_level_admin">管ç†å“¡</string> <string name="power_level_moderator">æ¿ä¸»</string> <string name="power_level_default">é è¨</string> <string name="power_level_custom">自訂 (%1$d)</string> <string name="power_level_custom_no_value">自訂</string> - <string name="notice_power_level_changed_by_you">您變更了 %1$s 的權力ç‰ç´šã€‚</string> <string name="notice_power_level_changed">%1$s 變更了 %2$s 的權力ç‰ç´šã€‚</string> <string name="notice_power_level_diff">%1$s 從 %2$s 到 %3$s</string> - <string name="notice_room_invite_no_invitee_with_reason_by_you">您的邀請。ç†ç”±ï¼š%1$s</string> <string name="notice_room_invite_with_reason_by_you">您邀請了 %1$s。ç†ç”±ï¼š%2$s</string> <string name="notice_room_join_with_reason_by_you">æ‚¨åŠ å…¥äº†èŠå¤©å®¤ã€‚ç†ç”±ï¼š%1$s</string> @@ -205,24 +173,39 @@ <string name="notice_room_third_party_revoked_invite_with_reason_by_you">您撤銷了 %1$s åŠ å…¥èŠå¤©å®¤çš„邀請。ç†ç”±ï¼š%2$s</string> <string name="notice_room_third_party_registered_invite_with_reason_by_you">您接å—了 %1$s 的邀請。ç†ç”±ï¼š%2$s</string> <string name="notice_room_withdraw_with_reason_by_you">您撤回了 %1$s 的邀請。ç†ç”±ï¼š%2$s</string> - <plurals name="notice_room_aliases_added_by_you"> <item quantity="other">您為æ¤èŠå¤©å®¤æ–°å¢žäº† %1$s 作為地å€ã€‚</item> </plurals> - <plurals name="notice_room_aliases_removed_by_you"> <item quantity="other">您為æ¤èŠå¤©å®¤ç§»é™¤äº† %2$s 作為地å€ã€‚</item> </plurals> - <string name="notice_room_aliases_added_and_removed_by_you">您為æ¤èŠå¤©å®¤æ–°å¢žäº† %1$s 並移除了 %2$s 作為地å€ã€‚</string> - <string name="notice_room_canonical_alias_set_by_you">您將æ¤èŠå¤©å®¤çš„主è¦åœ°å€è¨å®šç‚º %1$s。</string> <string name="notice_room_canonical_alias_unset_by_you">您將æ¤èŠå¤©å®¤çš„主è¦åœ°å€ç§»é™¤ã€‚</string> - <string name="notice_room_guest_access_can_join_by_you">您已å…è¨±è¨ªå®¢åŠ å…¥èŠå¤©å®¤ã€‚</string> <string name="notice_room_guest_access_forbidden_by_you">您已阻æ¢è¨ªå®¢åŠ å…¥èŠå¤©å®¤ã€‚</string> - <string name="notice_end_to_end_ok_by_you">æ‚¨é–‹å•Ÿäº†ç«¯åˆ°ç«¯åŠ å¯†ã€‚</string> <string name="notice_end_to_end_unknown_algorithm_by_you">æ‚¨é–‹å•Ÿäº†ç«¯åˆ°ç«¯åŠ å¯†ï¼ˆç„¡æ³•è˜åˆ¥çš„演算法 %1$s)。</string> - -</resources> + <string name="notice_direct_room_guest_access_forbidden_by_you">您已é¿å…è¨ªå®¢åŠ å…¥æ¤èŠå¤©å®¤ã€‚</string> + <string name="notice_direct_room_guest_access_forbidden">%1$s å·²é¿å…è¨ªå®¢åŠ å…¥æ¤èŠå¤©å®¤ã€‚</string> + <string name="notice_direct_room_guest_access_can_join_by_you">您已å…è¨±è¨ªå®¢åŠ å…¥é€™è£¡ã€‚</string> + <string name="notice_direct_room_guest_access_can_join">%1$s å·²å…è¨±è¨ªå®¢åŠ å…¥é€™è£¡ã€‚</string> + <string name="notice_direct_room_leave_with_reason_by_you">您已離開。ç†ç”±ï¼š%1$s</string> + <string name="notice_direct_room_leave_with_reason">%1$s 已離開。ç†ç”±ï¼š%2$s</string> + <string name="notice_direct_room_join_with_reason_by_you">æ‚¨å·²åŠ å…¥ã€‚ç†ç”±ï¼š%1$s</string> + <string name="notice_direct_room_join_with_reason">%1$s å·²åŠ å…¥ã€‚ç†ç”±ï¼š%2$s</string> + <string name="notice_direct_room_third_party_revoked_invite_by_you">æ‚¨å·²æ’¤éŠ·å° %1$s 的邀請</string> + <string name="notice_direct_room_third_party_revoked_invite">%1$s å·²æ’¤éŠ·å° %2$s 的邀請</string> + <string name="notice_direct_room_third_party_invite_by_you">您已邀請了 %1$s</string> + <string name="notice_direct_room_third_party_invite">%1$s 邀請了 %2$s</string> + <string name="notice_direct_room_update_by_you">您已在æ¤å‡ç´šã€‚</string> + <string name="notice_direct_room_update">%s 已在æ¤å‡ç´šã€‚</string> + <string name="notice_made_future_direct_room_visibility_by_you">您讓未來的訊æ¯å° %1$s å¯è¦‹</string> + <string name="notice_made_future_direct_room_visibility">%1$s 已讓未來的訊æ¯å° %2$s å¯è¦‹</string> + <string name="notice_direct_room_leave_by_you">您已離開èŠå¤©å®¤</string> + <string name="notice_direct_room_leave">%1$s 已離開èŠå¤©å®¤</string> + <string name="notice_direct_room_join_by_you">æ‚¨å·²åŠ å…¥</string> + <string name="notice_direct_room_join">%1$s å·²åŠ å…¥</string> + <string name="notice_direct_room_created_by_you">您已建立æ¤è¨Žè«–</string> + <string name="notice_direct_room_created">%1$s 已建立æ¤è¨Žè«–</string> +</resources> \ No newline at end of file diff --git a/matrix-sdk-android/src/main/res/values/strings.xml b/matrix-sdk-android/src/main/res/values/strings.xml index f64ec992..3f75b715 100644 --- a/matrix-sdk-android/src/main/res/values/strings.xml +++ b/matrix-sdk-android/src/main/res/values/strings.xml @@ -10,13 +10,19 @@ <string name="notice_room_invite_no_invitee_by_you">Your invitation</string> <string name="notice_room_created">%1$s created the room</string> <string name="notice_room_created_by_you">You created the room</string> + <string name="notice_direct_room_created">%1$s created the discussion</string> + <string name="notice_direct_room_created_by_you">You created the discussion</string> <string name="notice_room_invite">%1$s invited %2$s</string> <string name="notice_room_invite_by_you">You invited %1$s</string> <string name="notice_room_invite_you">%1$s invited you</string> <string name="notice_room_join">%1$s joined the room</string> <string name="notice_room_join_by_you">You joined the room</string> + <string name="notice_direct_room_join">%1$s joined</string> + <string name="notice_direct_room_join_by_you">You joined</string> <string name="notice_room_leave">%1$s left the room</string> <string name="notice_room_leave_by_you">You left the room</string> + <string name="notice_direct_room_leave">%1$s left the room</string> + <string name="notice_direct_room_leave_by_you">You left the room</string> <string name="notice_room_reject">%1$s rejected the invitation</string> <string name="notice_room_reject_by_you">You rejected the invitation</string> <string name="notice_room_kick">%1$s kicked %2$s</string> @@ -53,6 +59,8 @@ <string name="notice_ended_call_by_you">You ended the call.</string> <string name="notice_made_future_room_visibility">%1$s made future room history visible to %2$s</string> <string name="notice_made_future_room_visibility_by_you">You made future room history visible to %1$s</string> + <string name="notice_made_future_direct_room_visibility">%1$s made future messages visible to %2$s</string> + <string name="notice_made_future_direct_room_visibility_by_you">You made future messages visible to %1$s</string> <string name="notice_room_visibility_invited">all room members, from the point they are invited.</string> <string name="notice_room_visibility_joined">all room members, from the point they joined.</string> <string name="notice_room_visibility_shared">all room members.</string> @@ -62,6 +70,8 @@ <string name="notice_end_to_end_by_you">You turned on end-to-end encryption (%1$s)</string> <string name="notice_room_update">%s upgraded this room.</string> <string name="notice_room_update_by_you">You upgraded this room.</string> + <string name="notice_direct_room_update">%s upgraded here.</string> + <string name="notice_direct_room_update_by_you">You upgraded here.</string> <string name="notice_requested_voip_conference">%1$s requested a VoIP conference</string> <string name="notice_requested_voip_conference_by_you">You requested a VoIP conference</string> @@ -83,8 +93,12 @@ <string name="notice_profile_change_redacted_by_you">You updated your profile %1$s</string> <string name="notice_room_third_party_invite">%1$s sent an invitation to %2$s to join the room</string> <string name="notice_room_third_party_invite_by_you">You sent an invitation to %1$s to join the room</string> + <string name="notice_direct_room_third_party_invite">%1$s invited %2$s</string> + <string name="notice_direct_room_third_party_invite_by_you">You invited %1$s</string> <string name="notice_room_third_party_revoked_invite">%1$s revoked the invitation for %2$s to join the room</string> <string name="notice_room_third_party_revoked_invite_by_you">You revoked the invitation for %1$s to join the room</string> + <string name="notice_direct_room_third_party_revoked_invite">%1$s revoked the invitation for %2$s</string> + <string name="notice_direct_room_third_party_revoked_invite_by_you">You revoked the invitation for %1$s</string> <string name="notice_room_third_party_registered_invite">%1$s accepted the invitation for %2$s</string> <string name="notice_room_third_party_registered_invite_by_you">You accepted the invitation for %1$s</string> @@ -171,8 +185,12 @@ <string name="notice_room_invite_you_with_reason">%1$s invited you. Reason: %2$s</string> <string name="notice_room_join_with_reason">%1$s joined the room. Reason: %2$s</string> <string name="notice_room_join_with_reason_by_you">You joined the room. Reason: %1$s</string> + <string name="notice_direct_room_join_with_reason">%1$s joined. Reason: %2$s</string> + <string name="notice_direct_room_join_with_reason_by_you">You joined. Reason: %1$s</string> <string name="notice_room_leave_with_reason">%1$s left the room. Reason: %2$s</string> <string name="notice_room_leave_with_reason_by_you">You left the room. Reason: %1$s</string> + <string name="notice_direct_room_leave_with_reason">%1$s left. Reason: %2$s</string> + <string name="notice_direct_room_leave_with_reason_by_you">You left. Reason: %1$s</string> <string name="notice_room_reject_with_reason">%1$s rejected the invitation. Reason: %2$s</string> <string name="notice_room_reject_with_reason_by_you">You rejected the invitation. Reason: %1$s</string> <string name="notice_room_kick_with_reason">%1$s kicked %2$s. Reason: %3$s</string> @@ -220,8 +238,12 @@ <string name="notice_room_guest_access_can_join">"%1$s has allowed guests to join the room."</string> <string name="notice_room_guest_access_can_join_by_you">"You have allowed guests to join the room."</string> + <string name="notice_direct_room_guest_access_can_join">"%1$s has allowed guests to join here."</string> + <string name="notice_direct_room_guest_access_can_join_by_you">"You have allowed guests to join here."</string> <string name="notice_room_guest_access_forbidden">"%1$s has prevented guests from joining the room."</string> <string name="notice_room_guest_access_forbidden_by_you">"You have prevented guests from joining the room."</string> + <string name="notice_direct_room_guest_access_forbidden">"%1$s has prevented guests from joining the room."</string> + <string name="notice_direct_room_guest_access_forbidden_by_you">"You have prevented guests from joining the room."</string> <string name="notice_end_to_end_ok">%1$s turned on end-to-end encryption.</string> <string name="notice_end_to_end_ok_by_you">You turned on end-to-end encryption.</string> diff --git a/matrix-sdk-android/src/release/java/org/matrix/android/sdk/internal/network/interceptors/CurlLoggingInterceptor.kt b/matrix-sdk-android/src/release/java/org/matrix/android/sdk/internal/network/interceptors/CurlLoggingInterceptor.kt index c4fed362..f46e2ca3 100644 --- a/matrix-sdk-android/src/release/java/org/matrix/android/sdk/internal/network/interceptors/CurlLoggingInterceptor.kt +++ b/matrix-sdk-android/src/release/java/org/matrix/android/sdk/internal/network/interceptors/CurlLoggingInterceptor.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/release/java/org/matrix/android/sdk/internal/network/interceptors/FormattedJsonHttpLogger.kt b/matrix-sdk-android/src/release/java/org/matrix/android/sdk/internal/network/interceptors/FormattedJsonHttpLogger.kt index 69b15a1f..a815cec3 100644 --- a/matrix-sdk-android/src/release/java/org/matrix/android/sdk/internal/network/interceptors/FormattedJsonHttpLogger.kt +++ b/matrix-sdk-android/src/release/java/org/matrix/android/sdk/internal/network/interceptors/FormattedJsonHttpLogger.kt @@ -1,5 +1,5 @@ /* - * Copyright 2019 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/sharedTest/java/org/matrix/android/sdk/test/shared/TestRules.kt b/matrix-sdk-android/src/sharedTest/java/org/matrix/android/sdk/test/shared/TestRules.kt index 52aa7ea0..662656ae 100644 --- a/matrix-sdk-android/src/sharedTest/java/org/matrix/android/sdk/test/shared/TestRules.kt +++ b/matrix-sdk-android/src/sharedTest/java/org/matrix/android/sdk/test/shared/TestRules.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/MatrixTest.kt b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/MatrixTest.kt index b0933c71..f6a7f525 100644 --- a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/MatrixTest.kt +++ b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/MatrixTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/api/auth/data/VersionsKtTest.kt b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/api/auth/data/VersionsKtTest.kt index 69e2f12e..c413d9cc 100644 --- a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/api/auth/data/VersionsKtTest.kt +++ b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/api/auth/data/VersionsKtTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/api/pushrules/PushRuleActionsTest.kt b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/api/pushrules/PushRuleActionsTest.kt index f213e1b1..b7344449 100644 --- a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/api/pushrules/PushRuleActionsTest.kt +++ b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/api/pushrules/PushRuleActionsTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2019 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/api/pushrules/PushrulesConditionTest.kt b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/api/pushrules/PushrulesConditionTest.kt index b2c8d3bd..c0b869a9 100644 --- a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/api/pushrules/PushrulesConditionTest.kt +++ b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/api/pushrules/PushrulesConditionTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2019 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/keysbackup/util/Base58Test.kt b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/keysbackup/util/Base58Test.kt index b2d10968..2f01a43a 100644 --- a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/keysbackup/util/Base58Test.kt +++ b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/keysbackup/util/Base58Test.kt @@ -1,5 +1,5 @@ /* - * Copyright 2018 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/keysbackup/util/RecoveryKeyTest.kt b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/keysbackup/util/RecoveryKeyTest.kt index 6b9d3886..64ffe52a 100644 --- a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/keysbackup/util/RecoveryKeyTest.kt +++ b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/keysbackup/util/RecoveryKeyTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2018 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/store/db/HelperTest.kt b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/store/db/HelperTest.kt index cac2d1cb..0bcc7983 100644 --- a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/store/db/HelperTest.kt +++ b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/store/db/HelperTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2018 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/BinaryStringTest.kt b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/BinaryStringTest.kt index 0f8fe58b..b04834f9 100644 --- a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/BinaryStringTest.kt +++ b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/BinaryStringTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,13 +17,13 @@ package org.matrix.android.sdk.internal.crypto.verification.qrcode import org.matrix.android.sdk.MatrixTest -import org.amshove.kluent.shouldEqualTo +import org.amshove.kluent.shouldBeEqualTo import org.junit.FixMethodOrder import org.junit.Test import org.junit.runners.MethodSorters @FixMethodOrder(MethodSorters.JVM) -class BinaryStringTest: MatrixTest { +class BinaryStringTest : MatrixTest { /** * I want to put bytes to a String, and vice versa @@ -37,17 +37,17 @@ class BinaryStringTest: MatrixTest { val str = byteArray.toString(Charsets.ISO_8859_1) - str.length shouldEqualTo 256 + str.length shouldBeEqualTo 256 // Ok convert back to bytearray val result = str.toByteArray(Charsets.ISO_8859_1) - result.size shouldEqualTo 256 + result.size shouldBeEqualTo 256 for (i in 0..255) { - result[i] shouldEqualTo i.toByte() - result[i] shouldEqualTo byteArray[i] + result[i] shouldBeEqualTo i.toByte() + result[i] shouldBeEqualTo byteArray[i] } } } diff --git a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/task/CoroutineSequencersTest.kt b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/task/CoroutineSequencersTest.kt index 7bef4394..667e0b24 100644 --- a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/task/CoroutineSequencersTest.kt +++ b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/task/CoroutineSequencersTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2019 New Vector Ltd + * Copyright 2020 The Matrix.org Foundation C.I.C. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. -- GitLab