From 07d36c133c754984d974f1be4f3d8813b9f2af48 Mon Sep 17 00:00:00 2001 From: otsmr Date: Tue, 4 Nov 2025 23:25:17 +0100 Subject: [PATCH] fix #214 --- lib/src/database/daos/groups.dao.dart | 7 +- lib/src/database/daos/messages.dao.dart | 3 +- lib/src/localization/app_de.arb | 2 +- lib/src/localization/app_en.arb | 2 +- .../generated/app_localizations.dart | 2 +- .../generated/app_localizations_de.dart | 2 +- .../generated/app_localizations_en.dart | 3 +- .../api/websocket/client_to_server.pb.dart | 532 ++++++++++-------- .../websocket/client_to_server.pbjson.dart | 162 +++--- .../client/generated/messages.pb.dart | 24 +- .../client/generated/messages.pbjson.dart | 37 +- lib/src/model/protobuf/client/messages.proto | 3 +- lib/src/services/api.service.dart | 48 +- .../api/client2client/contact.c2c.dart | 10 +- .../mediafiles/media_background.service.dart | 2 +- .../api/mediafiles/upload.service.dart | 2 +- lib/src/services/api/messages.dart | 3 +- lib/src/services/flame.service.dart | 2 +- lib/src/services/group.services.dart | 4 +- lib/src/views/chats/chat_messages.view.dart | 3 +- .../views/settings/profile/profile.view.dart | 102 +++- 21 files changed, 565 insertions(+), 390 deletions(-) diff --git a/lib/src/database/daos/groups.dao.dart b/lib/src/database/daos/groups.dao.dart index a84e62f..c3920b5 100644 --- a/lib/src/database/daos/groups.dao.dart +++ b/lib/src/database/daos/groups.dao.dart @@ -37,7 +37,7 @@ class GroupsDao extends DatabaseAccessor with _$GroupsDaoMixin { .write(updates); } - Future> getGroupMembers(String groupId) async { + Future> getGroupNonLeftMembers(String groupId) async { return (select(groupMembers) ..where( (t) => @@ -47,6 +47,11 @@ class GroupsDao extends DatabaseAccessor with _$GroupsDaoMixin { .get(); } + Future> getAllGroupMembers(String groupId) async { + return (select(groupMembers)..where((t) => t.groupId.equals(groupId))) + .get(); + } + Future getGroupMemberByPublicKey(Uint8List publicKey) async { return (select(groupMembers) ..where((t) => t.groupPublicKey.equals(publicKey))) diff --git a/lib/src/database/daos/messages.dao.dart b/lib/src/database/daos/messages.dao.dart index 7c7fa35..993ea08 100644 --- a/lib/src/database/daos/messages.dao.dart +++ b/lib/src/database/daos/messages.dao.dart @@ -310,7 +310,8 @@ class MessagesDao extends DatabaseAccessor with _$MessagesDaoMixin { final message = await twonlyDB.messagesDao.getMessageById(messageId).getSingleOrNull(); if (message == null) return true; - final members = await twonlyDB.groupsDao.getGroupMembers(message.groupId); + final members = + await twonlyDB.groupsDao.getGroupNonLeftMembers(message.groupId); final actions = await (select(messageActions) ..where( diff --git a/lib/src/localization/app_de.arb b/lib/src/localization/app_de.arb index 7a5b7cc..279201e 100644 --- a/lib/src/localization/app_de.arb +++ b/lib/src/localization/app_de.arb @@ -375,7 +375,7 @@ "@errorInternalError": {}, "errorInvalidInvitationCode": "Der von dir angegebene Einladungscode ist ungültig. Bitte überprüfe den Code und versuche es erneut.", "@errorInvalidInvitationCode": {}, - "errorUsernameAlreadyTaken": "Der Benutzername, den du verwenden möchtest, ist bereits vergeben. Bitte wähle einen anderen Benutzernamen.", + "errorUsernameAlreadyTaken": "Der Benutzername ist bereits vergeben.", "@errorUsernameAlreadyTaken": {}, "errorSignatureNotValid": "Die bereitgestellte Signatur ist nicht gültig. Bitte überprüfe deine Anmeldeinformationen und versuche es erneut.", "@errorSignatureNotValid": {}, diff --git a/lib/src/localization/app_en.arb b/lib/src/localization/app_en.arb index 1ea6317..909fa8a 100644 --- a/lib/src/localization/app_en.arb +++ b/lib/src/localization/app_en.arb @@ -346,7 +346,7 @@ "@errorInternalError": {}, "errorInvalidInvitationCode": "The invitation code you provided is invalid. Please check the code and try again.", "@errorInvalidInvitationCode": {}, - "errorUsernameAlreadyTaken": "The username you want to use is already taken. Please choose a different username.", + "errorUsernameAlreadyTaken": "The username is already taken.", "@errorUsernameAlreadyTaken": {}, "errorSignatureNotValid": "The provided signature is not valid. Please check your credentials and try again.", "@errorSignatureNotValid": {}, diff --git a/lib/src/localization/generated/app_localizations.dart b/lib/src/localization/generated/app_localizations.dart index 2184042..d238c71 100644 --- a/lib/src/localization/generated/app_localizations.dart +++ b/lib/src/localization/generated/app_localizations.dart @@ -1229,7 +1229,7 @@ abstract class AppLocalizations { /// No description provided for @errorUsernameAlreadyTaken. /// /// In en, this message translates to: - /// **'The username you want to use is already taken. Please choose a different username.'** + /// **'The username is already taken.'** String get errorUsernameAlreadyTaken; /// No description provided for @errorSignatureNotValid. diff --git a/lib/src/localization/generated/app_localizations_de.dart b/lib/src/localization/generated/app_localizations_de.dart index 01d99e2..37b0129 100644 --- a/lib/src/localization/generated/app_localizations_de.dart +++ b/lib/src/localization/generated/app_localizations_de.dart @@ -630,7 +630,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get errorUsernameAlreadyTaken => - 'Der Benutzername, den du verwenden möchtest, ist bereits vergeben. Bitte wähle einen anderen Benutzernamen.'; + 'Der Benutzername ist bereits vergeben.'; @override String get errorSignatureNotValid => diff --git a/lib/src/localization/generated/app_localizations_en.dart b/lib/src/localization/generated/app_localizations_en.dart index ddbfafa..913445b 100644 --- a/lib/src/localization/generated/app_localizations_en.dart +++ b/lib/src/localization/generated/app_localizations_en.dart @@ -624,8 +624,7 @@ class AppLocalizationsEn extends AppLocalizations { 'The invitation code you provided is invalid. Please check the code and try again.'; @override - String get errorUsernameAlreadyTaken => - 'The username you want to use is already taken. Please choose a different username.'; + String get errorUsernameAlreadyTaken => 'The username is already taken.'; @override String get errorSignatureNotValid => diff --git a/lib/src/model/protobuf/api/websocket/client_to_server.pb.dart b/lib/src/model/protobuf/api/websocket/client_to_server.pb.dart index 2535881..c986530 100644 --- a/lib/src/model/protobuf/api/websocket/client_to_server.pb.dart +++ b/lib/src/model/protobuf/api/websocket/client_to_server.pb.dart @@ -793,6 +793,56 @@ class ApplicationData_GetUserByUsername extends $pb.GeneratedMessage { void clearUsername() => clearField(1); } +class ApplicationData_ChangeUsername extends $pb.GeneratedMessage { + factory ApplicationData_ChangeUsername({ + $core.String? username, + }) { + final $result = create(); + if (username != null) { + $result.username = username; + } + return $result; + } + ApplicationData_ChangeUsername._() : super(); + factory ApplicationData_ChangeUsername.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ApplicationData_ChangeUsername.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ApplicationData.ChangeUsername', package: const $pb.PackageName(_omitMessageNames ? '' : 'client_to_server'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'username') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ApplicationData_ChangeUsername clone() => ApplicationData_ChangeUsername()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ApplicationData_ChangeUsername copyWith(void Function(ApplicationData_ChangeUsername) updates) => super.copyWith((message) => updates(message as ApplicationData_ChangeUsername)) as ApplicationData_ChangeUsername; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ApplicationData_ChangeUsername create() => ApplicationData_ChangeUsername._(); + ApplicationData_ChangeUsername createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ApplicationData_ChangeUsername getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ApplicationData_ChangeUsername? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get username => $_getSZ(0); + @$pb.TagNumber(1) + set username($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasUsername() => $_has(0); + @$pb.TagNumber(1) + void clearUsername() => clearField(1); +} + class ApplicationData_UpdateGoogleFcmToken extends $pb.GeneratedMessage { factory ApplicationData_UpdateGoogleFcmToken({ $core.String? googleFcm, @@ -1706,117 +1756,122 @@ class ApplicationData_DeleteAccount extends $pb.GeneratedMessage { } enum ApplicationData_ApplicationData { - textmessage, - getuserbyusername, - getprekeysbyuserid, - getuserbyid, - updategooglefcmtoken, - getlocation, - getcurrentplaninfos, - redeemvoucher, - getavailableplans, - createvoucher, - getvouchers, - switchtopayedplan, - getaddaccountsinvites, - redeemadditionalcode, - removeadditionaluser, - updateplanoptions, - downloaddone, - getsignedprekeybyuserid, - updatesignedprekey, - deleteaccount, - reportuser, + textMessage, + getUserByUsername, + getPrekeysByUserId, + getUserById, + updateGoogleFcmToken, + getLocation, + getCurrentPlanInfos, + redeemVoucher, + getAvailablePlans, + createVoucher, + getVouchers, + switchtoPayedPlan, + getAddaccountsInvites, + redeemAdditionalCode, + removeAdditionalUser, + updatePlanOptions, + downloadDone, + getSignedPrekeyByUserid, + updateSignedPrekey, + deleteAccount, + reportUser, + changeUsername, notSet } class ApplicationData extends $pb.GeneratedMessage { factory ApplicationData({ - ApplicationData_TextMessage? textmessage, - ApplicationData_GetUserByUsername? getuserbyusername, - ApplicationData_GetPrekeysByUserId? getprekeysbyuserid, - ApplicationData_GetUserById? getuserbyid, - ApplicationData_UpdateGoogleFcmToken? updategooglefcmtoken, - ApplicationData_GetLocation? getlocation, - ApplicationData_GetCurrentPlanInfos? getcurrentplaninfos, - ApplicationData_RedeemVoucher? redeemvoucher, - ApplicationData_GetAvailablePlans? getavailableplans, - ApplicationData_CreateVoucher? createvoucher, - ApplicationData_GetVouchers? getvouchers, - ApplicationData_SwitchToPayedPlan? switchtopayedplan, - ApplicationData_GetAddAccountsInvites? getaddaccountsinvites, - ApplicationData_RedeemAdditionalCode? redeemadditionalcode, - ApplicationData_RemoveAdditionalUser? removeadditionaluser, - ApplicationData_UpdatePlanOptions? updateplanoptions, - ApplicationData_DownloadDone? downloaddone, - ApplicationData_GetSignedPreKeyByUserId? getsignedprekeybyuserid, - ApplicationData_UpdateSignedPreKey? updatesignedprekey, - ApplicationData_DeleteAccount? deleteaccount, - ApplicationData_ReportUser? reportuser, + ApplicationData_TextMessage? textMessage, + ApplicationData_GetUserByUsername? getUserByUsername, + ApplicationData_GetPrekeysByUserId? getPrekeysByUserId, + ApplicationData_GetUserById? getUserById, + ApplicationData_UpdateGoogleFcmToken? updateGoogleFcmToken, + ApplicationData_GetLocation? getLocation, + ApplicationData_GetCurrentPlanInfos? getCurrentPlanInfos, + ApplicationData_RedeemVoucher? redeemVoucher, + ApplicationData_GetAvailablePlans? getAvailablePlans, + ApplicationData_CreateVoucher? createVoucher, + ApplicationData_GetVouchers? getVouchers, + ApplicationData_SwitchToPayedPlan? switchtoPayedPlan, + ApplicationData_GetAddAccountsInvites? getAddaccountsInvites, + ApplicationData_RedeemAdditionalCode? redeemAdditionalCode, + ApplicationData_RemoveAdditionalUser? removeAdditionalUser, + ApplicationData_UpdatePlanOptions? updatePlanOptions, + ApplicationData_DownloadDone? downloadDone, + ApplicationData_GetSignedPreKeyByUserId? getSignedPrekeyByUserid, + ApplicationData_UpdateSignedPreKey? updateSignedPrekey, + ApplicationData_DeleteAccount? deleteAccount, + ApplicationData_ReportUser? reportUser, + ApplicationData_ChangeUsername? changeUsername, }) { final $result = create(); - if (textmessage != null) { - $result.textmessage = textmessage; + if (textMessage != null) { + $result.textMessage = textMessage; } - if (getuserbyusername != null) { - $result.getuserbyusername = getuserbyusername; + if (getUserByUsername != null) { + $result.getUserByUsername = getUserByUsername; } - if (getprekeysbyuserid != null) { - $result.getprekeysbyuserid = getprekeysbyuserid; + if (getPrekeysByUserId != null) { + $result.getPrekeysByUserId = getPrekeysByUserId; } - if (getuserbyid != null) { - $result.getuserbyid = getuserbyid; + if (getUserById != null) { + $result.getUserById = getUserById; } - if (updategooglefcmtoken != null) { - $result.updategooglefcmtoken = updategooglefcmtoken; + if (updateGoogleFcmToken != null) { + $result.updateGoogleFcmToken = updateGoogleFcmToken; } - if (getlocation != null) { - $result.getlocation = getlocation; + if (getLocation != null) { + $result.getLocation = getLocation; } - if (getcurrentplaninfos != null) { - $result.getcurrentplaninfos = getcurrentplaninfos; + if (getCurrentPlanInfos != null) { + $result.getCurrentPlanInfos = getCurrentPlanInfos; } - if (redeemvoucher != null) { - $result.redeemvoucher = redeemvoucher; + if (redeemVoucher != null) { + $result.redeemVoucher = redeemVoucher; } - if (getavailableplans != null) { - $result.getavailableplans = getavailableplans; + if (getAvailablePlans != null) { + $result.getAvailablePlans = getAvailablePlans; } - if (createvoucher != null) { - $result.createvoucher = createvoucher; + if (createVoucher != null) { + $result.createVoucher = createVoucher; } - if (getvouchers != null) { - $result.getvouchers = getvouchers; + if (getVouchers != null) { + $result.getVouchers = getVouchers; } - if (switchtopayedplan != null) { - $result.switchtopayedplan = switchtopayedplan; + if (switchtoPayedPlan != null) { + $result.switchtoPayedPlan = switchtoPayedPlan; } - if (getaddaccountsinvites != null) { - $result.getaddaccountsinvites = getaddaccountsinvites; + if (getAddaccountsInvites != null) { + $result.getAddaccountsInvites = getAddaccountsInvites; } - if (redeemadditionalcode != null) { - $result.redeemadditionalcode = redeemadditionalcode; + if (redeemAdditionalCode != null) { + $result.redeemAdditionalCode = redeemAdditionalCode; } - if (removeadditionaluser != null) { - $result.removeadditionaluser = removeadditionaluser; + if (removeAdditionalUser != null) { + $result.removeAdditionalUser = removeAdditionalUser; } - if (updateplanoptions != null) { - $result.updateplanoptions = updateplanoptions; + if (updatePlanOptions != null) { + $result.updatePlanOptions = updatePlanOptions; } - if (downloaddone != null) { - $result.downloaddone = downloaddone; + if (downloadDone != null) { + $result.downloadDone = downloadDone; } - if (getsignedprekeybyuserid != null) { - $result.getsignedprekeybyuserid = getsignedprekeybyuserid; + if (getSignedPrekeyByUserid != null) { + $result.getSignedPrekeyByUserid = getSignedPrekeyByUserid; } - if (updatesignedprekey != null) { - $result.updatesignedprekey = updatesignedprekey; + if (updateSignedPrekey != null) { + $result.updateSignedPrekey = updateSignedPrekey; } - if (deleteaccount != null) { - $result.deleteaccount = deleteaccount; + if (deleteAccount != null) { + $result.deleteAccount = deleteAccount; } - if (reportuser != null) { - $result.reportuser = reportuser; + if (reportUser != null) { + $result.reportUser = reportUser; + } + if (changeUsername != null) { + $result.changeUsername = changeUsername; } return $result; } @@ -1825,52 +1880,54 @@ class ApplicationData extends $pb.GeneratedMessage { factory ApplicationData.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static const $core.Map<$core.int, ApplicationData_ApplicationData> _ApplicationData_ApplicationDataByTag = { - 1 : ApplicationData_ApplicationData.textmessage, - 2 : ApplicationData_ApplicationData.getuserbyusername, - 3 : ApplicationData_ApplicationData.getprekeysbyuserid, - 6 : ApplicationData_ApplicationData.getuserbyid, - 8 : ApplicationData_ApplicationData.updategooglefcmtoken, - 9 : ApplicationData_ApplicationData.getlocation, - 10 : ApplicationData_ApplicationData.getcurrentplaninfos, - 11 : ApplicationData_ApplicationData.redeemvoucher, - 12 : ApplicationData_ApplicationData.getavailableplans, - 13 : ApplicationData_ApplicationData.createvoucher, - 14 : ApplicationData_ApplicationData.getvouchers, - 15 : ApplicationData_ApplicationData.switchtopayedplan, - 16 : ApplicationData_ApplicationData.getaddaccountsinvites, - 17 : ApplicationData_ApplicationData.redeemadditionalcode, - 18 : ApplicationData_ApplicationData.removeadditionaluser, - 19 : ApplicationData_ApplicationData.updateplanoptions, - 20 : ApplicationData_ApplicationData.downloaddone, - 22 : ApplicationData_ApplicationData.getsignedprekeybyuserid, - 23 : ApplicationData_ApplicationData.updatesignedprekey, - 24 : ApplicationData_ApplicationData.deleteaccount, - 25 : ApplicationData_ApplicationData.reportuser, + 1 : ApplicationData_ApplicationData.textMessage, + 2 : ApplicationData_ApplicationData.getUserByUsername, + 3 : ApplicationData_ApplicationData.getPrekeysByUserId, + 6 : ApplicationData_ApplicationData.getUserById, + 8 : ApplicationData_ApplicationData.updateGoogleFcmToken, + 9 : ApplicationData_ApplicationData.getLocation, + 10 : ApplicationData_ApplicationData.getCurrentPlanInfos, + 11 : ApplicationData_ApplicationData.redeemVoucher, + 12 : ApplicationData_ApplicationData.getAvailablePlans, + 13 : ApplicationData_ApplicationData.createVoucher, + 14 : ApplicationData_ApplicationData.getVouchers, + 15 : ApplicationData_ApplicationData.switchtoPayedPlan, + 16 : ApplicationData_ApplicationData.getAddaccountsInvites, + 17 : ApplicationData_ApplicationData.redeemAdditionalCode, + 18 : ApplicationData_ApplicationData.removeAdditionalUser, + 19 : ApplicationData_ApplicationData.updatePlanOptions, + 20 : ApplicationData_ApplicationData.downloadDone, + 22 : ApplicationData_ApplicationData.getSignedPrekeyByUserid, + 23 : ApplicationData_ApplicationData.updateSignedPrekey, + 24 : ApplicationData_ApplicationData.deleteAccount, + 25 : ApplicationData_ApplicationData.reportUser, + 26 : ApplicationData_ApplicationData.changeUsername, 0 : ApplicationData_ApplicationData.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ApplicationData', package: const $pb.PackageName(_omitMessageNames ? '' : 'client_to_server'), createEmptyInstance: create) - ..oo(0, [1, 2, 3, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25]) - ..aOM(1, _omitFieldNames ? '' : 'textmessage', subBuilder: ApplicationData_TextMessage.create) - ..aOM(2, _omitFieldNames ? '' : 'getuserbyusername', subBuilder: ApplicationData_GetUserByUsername.create) - ..aOM(3, _omitFieldNames ? '' : 'getprekeysbyuserid', subBuilder: ApplicationData_GetPrekeysByUserId.create) - ..aOM(6, _omitFieldNames ? '' : 'getuserbyid', subBuilder: ApplicationData_GetUserById.create) - ..aOM(8, _omitFieldNames ? '' : 'updategooglefcmtoken', subBuilder: ApplicationData_UpdateGoogleFcmToken.create) - ..aOM(9, _omitFieldNames ? '' : 'getlocation', subBuilder: ApplicationData_GetLocation.create) - ..aOM(10, _omitFieldNames ? '' : 'getcurrentplaninfos', subBuilder: ApplicationData_GetCurrentPlanInfos.create) - ..aOM(11, _omitFieldNames ? '' : 'redeemvoucher', subBuilder: ApplicationData_RedeemVoucher.create) - ..aOM(12, _omitFieldNames ? '' : 'getavailableplans', subBuilder: ApplicationData_GetAvailablePlans.create) - ..aOM(13, _omitFieldNames ? '' : 'createvoucher', subBuilder: ApplicationData_CreateVoucher.create) - ..aOM(14, _omitFieldNames ? '' : 'getvouchers', subBuilder: ApplicationData_GetVouchers.create) - ..aOM(15, _omitFieldNames ? '' : 'Switchtopayedplan', protoName: 'Switchtopayedplan', subBuilder: ApplicationData_SwitchToPayedPlan.create) - ..aOM(16, _omitFieldNames ? '' : 'getaddaccountsinvites', subBuilder: ApplicationData_GetAddAccountsInvites.create) - ..aOM(17, _omitFieldNames ? '' : 'redeemadditionalcode', subBuilder: ApplicationData_RedeemAdditionalCode.create) - ..aOM(18, _omitFieldNames ? '' : 'removeadditionaluser', subBuilder: ApplicationData_RemoveAdditionalUser.create) - ..aOM(19, _omitFieldNames ? '' : 'updateplanoptions', subBuilder: ApplicationData_UpdatePlanOptions.create) - ..aOM(20, _omitFieldNames ? '' : 'downloaddone', subBuilder: ApplicationData_DownloadDone.create) - ..aOM(22, _omitFieldNames ? '' : 'getsignedprekeybyuserid', subBuilder: ApplicationData_GetSignedPreKeyByUserId.create) - ..aOM(23, _omitFieldNames ? '' : 'updatesignedprekey', subBuilder: ApplicationData_UpdateSignedPreKey.create) - ..aOM(24, _omitFieldNames ? '' : 'deleteaccount', subBuilder: ApplicationData_DeleteAccount.create) - ..aOM(25, _omitFieldNames ? '' : 'reportuser', subBuilder: ApplicationData_ReportUser.create) + ..oo(0, [1, 2, 3, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26]) + ..aOM(1, _omitFieldNames ? '' : 'textMessage', protoName: 'textMessage', subBuilder: ApplicationData_TextMessage.create) + ..aOM(2, _omitFieldNames ? '' : 'getUserByUsername', protoName: 'getUserByUsername', subBuilder: ApplicationData_GetUserByUsername.create) + ..aOM(3, _omitFieldNames ? '' : 'getPrekeysByUserId', protoName: 'getPrekeysByUserId', subBuilder: ApplicationData_GetPrekeysByUserId.create) + ..aOM(6, _omitFieldNames ? '' : 'getUserById', protoName: 'getUserById', subBuilder: ApplicationData_GetUserById.create) + ..aOM(8, _omitFieldNames ? '' : 'updateGoogleFcmToken', protoName: 'updateGoogleFcmToken', subBuilder: ApplicationData_UpdateGoogleFcmToken.create) + ..aOM(9, _omitFieldNames ? '' : 'getLocation', protoName: 'getLocation', subBuilder: ApplicationData_GetLocation.create) + ..aOM(10, _omitFieldNames ? '' : 'getCurrentPlanInfos', protoName: 'getCurrentPlanInfos', subBuilder: ApplicationData_GetCurrentPlanInfos.create) + ..aOM(11, _omitFieldNames ? '' : 'redeemVoucher', protoName: 'redeemVoucher', subBuilder: ApplicationData_RedeemVoucher.create) + ..aOM(12, _omitFieldNames ? '' : 'getAvailablePlans', protoName: 'getAvailablePlans', subBuilder: ApplicationData_GetAvailablePlans.create) + ..aOM(13, _omitFieldNames ? '' : 'createVoucher', protoName: 'createVoucher', subBuilder: ApplicationData_CreateVoucher.create) + ..aOM(14, _omitFieldNames ? '' : 'getVouchers', protoName: 'getVouchers', subBuilder: ApplicationData_GetVouchers.create) + ..aOM(15, _omitFieldNames ? '' : 'switchtoPayedPlan', protoName: 'switchtoPayedPlan', subBuilder: ApplicationData_SwitchToPayedPlan.create) + ..aOM(16, _omitFieldNames ? '' : 'getAddaccountsInvites', protoName: 'getAddaccountsInvites', subBuilder: ApplicationData_GetAddAccountsInvites.create) + ..aOM(17, _omitFieldNames ? '' : 'redeemAdditionalCode', protoName: 'redeemAdditionalCode', subBuilder: ApplicationData_RedeemAdditionalCode.create) + ..aOM(18, _omitFieldNames ? '' : 'removeAdditionalUser', protoName: 'removeAdditionalUser', subBuilder: ApplicationData_RemoveAdditionalUser.create) + ..aOM(19, _omitFieldNames ? '' : 'updatePlanOptions', protoName: 'updatePlanOptions', subBuilder: ApplicationData_UpdatePlanOptions.create) + ..aOM(20, _omitFieldNames ? '' : 'downloadDone', protoName: 'downloadDone', subBuilder: ApplicationData_DownloadDone.create) + ..aOM(22, _omitFieldNames ? '' : 'getSignedPrekeyByUserid', protoName: 'getSignedPrekeyByUserid', subBuilder: ApplicationData_GetSignedPreKeyByUserId.create) + ..aOM(23, _omitFieldNames ? '' : 'updateSignedPrekey', protoName: 'updateSignedPrekey', subBuilder: ApplicationData_UpdateSignedPreKey.create) + ..aOM(24, _omitFieldNames ? '' : 'deleteAccount', protoName: 'deleteAccount', subBuilder: ApplicationData_DeleteAccount.create) + ..aOM(25, _omitFieldNames ? '' : 'reportUser', protoName: 'reportUser', subBuilder: ApplicationData_ReportUser.create) + ..aOM(26, _omitFieldNames ? '' : 'changeUsername', protoName: 'changeUsername', subBuilder: ApplicationData_ChangeUsername.create) ..hasRequiredFields = false ; @@ -1899,235 +1956,246 @@ class ApplicationData extends $pb.GeneratedMessage { void clearApplicationData() => clearField($_whichOneof(0)); @$pb.TagNumber(1) - ApplicationData_TextMessage get textmessage => $_getN(0); + ApplicationData_TextMessage get textMessage => $_getN(0); @$pb.TagNumber(1) - set textmessage(ApplicationData_TextMessage v) { setField(1, v); } + set textMessage(ApplicationData_TextMessage v) { setField(1, v); } @$pb.TagNumber(1) - $core.bool hasTextmessage() => $_has(0); + $core.bool hasTextMessage() => $_has(0); @$pb.TagNumber(1) - void clearTextmessage() => clearField(1); + void clearTextMessage() => clearField(1); @$pb.TagNumber(1) - ApplicationData_TextMessage ensureTextmessage() => $_ensure(0); + ApplicationData_TextMessage ensureTextMessage() => $_ensure(0); @$pb.TagNumber(2) - ApplicationData_GetUserByUsername get getuserbyusername => $_getN(1); + ApplicationData_GetUserByUsername get getUserByUsername => $_getN(1); @$pb.TagNumber(2) - set getuserbyusername(ApplicationData_GetUserByUsername v) { setField(2, v); } + set getUserByUsername(ApplicationData_GetUserByUsername v) { setField(2, v); } @$pb.TagNumber(2) - $core.bool hasGetuserbyusername() => $_has(1); + $core.bool hasGetUserByUsername() => $_has(1); @$pb.TagNumber(2) - void clearGetuserbyusername() => clearField(2); + void clearGetUserByUsername() => clearField(2); @$pb.TagNumber(2) - ApplicationData_GetUserByUsername ensureGetuserbyusername() => $_ensure(1); + ApplicationData_GetUserByUsername ensureGetUserByUsername() => $_ensure(1); @$pb.TagNumber(3) - ApplicationData_GetPrekeysByUserId get getprekeysbyuserid => $_getN(2); + ApplicationData_GetPrekeysByUserId get getPrekeysByUserId => $_getN(2); @$pb.TagNumber(3) - set getprekeysbyuserid(ApplicationData_GetPrekeysByUserId v) { setField(3, v); } + set getPrekeysByUserId(ApplicationData_GetPrekeysByUserId v) { setField(3, v); } @$pb.TagNumber(3) - $core.bool hasGetprekeysbyuserid() => $_has(2); + $core.bool hasGetPrekeysByUserId() => $_has(2); @$pb.TagNumber(3) - void clearGetprekeysbyuserid() => clearField(3); + void clearGetPrekeysByUserId() => clearField(3); @$pb.TagNumber(3) - ApplicationData_GetPrekeysByUserId ensureGetprekeysbyuserid() => $_ensure(2); + ApplicationData_GetPrekeysByUserId ensureGetPrekeysByUserId() => $_ensure(2); @$pb.TagNumber(6) - ApplicationData_GetUserById get getuserbyid => $_getN(3); + ApplicationData_GetUserById get getUserById => $_getN(3); @$pb.TagNumber(6) - set getuserbyid(ApplicationData_GetUserById v) { setField(6, v); } + set getUserById(ApplicationData_GetUserById v) { setField(6, v); } @$pb.TagNumber(6) - $core.bool hasGetuserbyid() => $_has(3); + $core.bool hasGetUserById() => $_has(3); @$pb.TagNumber(6) - void clearGetuserbyid() => clearField(6); + void clearGetUserById() => clearField(6); @$pb.TagNumber(6) - ApplicationData_GetUserById ensureGetuserbyid() => $_ensure(3); + ApplicationData_GetUserById ensureGetUserById() => $_ensure(3); @$pb.TagNumber(8) - ApplicationData_UpdateGoogleFcmToken get updategooglefcmtoken => $_getN(4); + ApplicationData_UpdateGoogleFcmToken get updateGoogleFcmToken => $_getN(4); @$pb.TagNumber(8) - set updategooglefcmtoken(ApplicationData_UpdateGoogleFcmToken v) { setField(8, v); } + set updateGoogleFcmToken(ApplicationData_UpdateGoogleFcmToken v) { setField(8, v); } @$pb.TagNumber(8) - $core.bool hasUpdategooglefcmtoken() => $_has(4); + $core.bool hasUpdateGoogleFcmToken() => $_has(4); @$pb.TagNumber(8) - void clearUpdategooglefcmtoken() => clearField(8); + void clearUpdateGoogleFcmToken() => clearField(8); @$pb.TagNumber(8) - ApplicationData_UpdateGoogleFcmToken ensureUpdategooglefcmtoken() => $_ensure(4); + ApplicationData_UpdateGoogleFcmToken ensureUpdateGoogleFcmToken() => $_ensure(4); @$pb.TagNumber(9) - ApplicationData_GetLocation get getlocation => $_getN(5); + ApplicationData_GetLocation get getLocation => $_getN(5); @$pb.TagNumber(9) - set getlocation(ApplicationData_GetLocation v) { setField(9, v); } + set getLocation(ApplicationData_GetLocation v) { setField(9, v); } @$pb.TagNumber(9) - $core.bool hasGetlocation() => $_has(5); + $core.bool hasGetLocation() => $_has(5); @$pb.TagNumber(9) - void clearGetlocation() => clearField(9); + void clearGetLocation() => clearField(9); @$pb.TagNumber(9) - ApplicationData_GetLocation ensureGetlocation() => $_ensure(5); + ApplicationData_GetLocation ensureGetLocation() => $_ensure(5); @$pb.TagNumber(10) - ApplicationData_GetCurrentPlanInfos get getcurrentplaninfos => $_getN(6); + ApplicationData_GetCurrentPlanInfos get getCurrentPlanInfos => $_getN(6); @$pb.TagNumber(10) - set getcurrentplaninfos(ApplicationData_GetCurrentPlanInfos v) { setField(10, v); } + set getCurrentPlanInfos(ApplicationData_GetCurrentPlanInfos v) { setField(10, v); } @$pb.TagNumber(10) - $core.bool hasGetcurrentplaninfos() => $_has(6); + $core.bool hasGetCurrentPlanInfos() => $_has(6); @$pb.TagNumber(10) - void clearGetcurrentplaninfos() => clearField(10); + void clearGetCurrentPlanInfos() => clearField(10); @$pb.TagNumber(10) - ApplicationData_GetCurrentPlanInfos ensureGetcurrentplaninfos() => $_ensure(6); + ApplicationData_GetCurrentPlanInfos ensureGetCurrentPlanInfos() => $_ensure(6); @$pb.TagNumber(11) - ApplicationData_RedeemVoucher get redeemvoucher => $_getN(7); + ApplicationData_RedeemVoucher get redeemVoucher => $_getN(7); @$pb.TagNumber(11) - set redeemvoucher(ApplicationData_RedeemVoucher v) { setField(11, v); } + set redeemVoucher(ApplicationData_RedeemVoucher v) { setField(11, v); } @$pb.TagNumber(11) - $core.bool hasRedeemvoucher() => $_has(7); + $core.bool hasRedeemVoucher() => $_has(7); @$pb.TagNumber(11) - void clearRedeemvoucher() => clearField(11); + void clearRedeemVoucher() => clearField(11); @$pb.TagNumber(11) - ApplicationData_RedeemVoucher ensureRedeemvoucher() => $_ensure(7); + ApplicationData_RedeemVoucher ensureRedeemVoucher() => $_ensure(7); @$pb.TagNumber(12) - ApplicationData_GetAvailablePlans get getavailableplans => $_getN(8); + ApplicationData_GetAvailablePlans get getAvailablePlans => $_getN(8); @$pb.TagNumber(12) - set getavailableplans(ApplicationData_GetAvailablePlans v) { setField(12, v); } + set getAvailablePlans(ApplicationData_GetAvailablePlans v) { setField(12, v); } @$pb.TagNumber(12) - $core.bool hasGetavailableplans() => $_has(8); + $core.bool hasGetAvailablePlans() => $_has(8); @$pb.TagNumber(12) - void clearGetavailableplans() => clearField(12); + void clearGetAvailablePlans() => clearField(12); @$pb.TagNumber(12) - ApplicationData_GetAvailablePlans ensureGetavailableplans() => $_ensure(8); + ApplicationData_GetAvailablePlans ensureGetAvailablePlans() => $_ensure(8); @$pb.TagNumber(13) - ApplicationData_CreateVoucher get createvoucher => $_getN(9); + ApplicationData_CreateVoucher get createVoucher => $_getN(9); @$pb.TagNumber(13) - set createvoucher(ApplicationData_CreateVoucher v) { setField(13, v); } + set createVoucher(ApplicationData_CreateVoucher v) { setField(13, v); } @$pb.TagNumber(13) - $core.bool hasCreatevoucher() => $_has(9); + $core.bool hasCreateVoucher() => $_has(9); @$pb.TagNumber(13) - void clearCreatevoucher() => clearField(13); + void clearCreateVoucher() => clearField(13); @$pb.TagNumber(13) - ApplicationData_CreateVoucher ensureCreatevoucher() => $_ensure(9); + ApplicationData_CreateVoucher ensureCreateVoucher() => $_ensure(9); @$pb.TagNumber(14) - ApplicationData_GetVouchers get getvouchers => $_getN(10); + ApplicationData_GetVouchers get getVouchers => $_getN(10); @$pb.TagNumber(14) - set getvouchers(ApplicationData_GetVouchers v) { setField(14, v); } + set getVouchers(ApplicationData_GetVouchers v) { setField(14, v); } @$pb.TagNumber(14) - $core.bool hasGetvouchers() => $_has(10); + $core.bool hasGetVouchers() => $_has(10); @$pb.TagNumber(14) - void clearGetvouchers() => clearField(14); + void clearGetVouchers() => clearField(14); @$pb.TagNumber(14) - ApplicationData_GetVouchers ensureGetvouchers() => $_ensure(10); + ApplicationData_GetVouchers ensureGetVouchers() => $_ensure(10); @$pb.TagNumber(15) - ApplicationData_SwitchToPayedPlan get switchtopayedplan => $_getN(11); + ApplicationData_SwitchToPayedPlan get switchtoPayedPlan => $_getN(11); @$pb.TagNumber(15) - set switchtopayedplan(ApplicationData_SwitchToPayedPlan v) { setField(15, v); } + set switchtoPayedPlan(ApplicationData_SwitchToPayedPlan v) { setField(15, v); } @$pb.TagNumber(15) - $core.bool hasSwitchtopayedplan() => $_has(11); + $core.bool hasSwitchtoPayedPlan() => $_has(11); @$pb.TagNumber(15) - void clearSwitchtopayedplan() => clearField(15); + void clearSwitchtoPayedPlan() => clearField(15); @$pb.TagNumber(15) - ApplicationData_SwitchToPayedPlan ensureSwitchtopayedplan() => $_ensure(11); + ApplicationData_SwitchToPayedPlan ensureSwitchtoPayedPlan() => $_ensure(11); @$pb.TagNumber(16) - ApplicationData_GetAddAccountsInvites get getaddaccountsinvites => $_getN(12); + ApplicationData_GetAddAccountsInvites get getAddaccountsInvites => $_getN(12); @$pb.TagNumber(16) - set getaddaccountsinvites(ApplicationData_GetAddAccountsInvites v) { setField(16, v); } + set getAddaccountsInvites(ApplicationData_GetAddAccountsInvites v) { setField(16, v); } @$pb.TagNumber(16) - $core.bool hasGetaddaccountsinvites() => $_has(12); + $core.bool hasGetAddaccountsInvites() => $_has(12); @$pb.TagNumber(16) - void clearGetaddaccountsinvites() => clearField(16); + void clearGetAddaccountsInvites() => clearField(16); @$pb.TagNumber(16) - ApplicationData_GetAddAccountsInvites ensureGetaddaccountsinvites() => $_ensure(12); + ApplicationData_GetAddAccountsInvites ensureGetAddaccountsInvites() => $_ensure(12); @$pb.TagNumber(17) - ApplicationData_RedeemAdditionalCode get redeemadditionalcode => $_getN(13); + ApplicationData_RedeemAdditionalCode get redeemAdditionalCode => $_getN(13); @$pb.TagNumber(17) - set redeemadditionalcode(ApplicationData_RedeemAdditionalCode v) { setField(17, v); } + set redeemAdditionalCode(ApplicationData_RedeemAdditionalCode v) { setField(17, v); } @$pb.TagNumber(17) - $core.bool hasRedeemadditionalcode() => $_has(13); + $core.bool hasRedeemAdditionalCode() => $_has(13); @$pb.TagNumber(17) - void clearRedeemadditionalcode() => clearField(17); + void clearRedeemAdditionalCode() => clearField(17); @$pb.TagNumber(17) - ApplicationData_RedeemAdditionalCode ensureRedeemadditionalcode() => $_ensure(13); + ApplicationData_RedeemAdditionalCode ensureRedeemAdditionalCode() => $_ensure(13); @$pb.TagNumber(18) - ApplicationData_RemoveAdditionalUser get removeadditionaluser => $_getN(14); + ApplicationData_RemoveAdditionalUser get removeAdditionalUser => $_getN(14); @$pb.TagNumber(18) - set removeadditionaluser(ApplicationData_RemoveAdditionalUser v) { setField(18, v); } + set removeAdditionalUser(ApplicationData_RemoveAdditionalUser v) { setField(18, v); } @$pb.TagNumber(18) - $core.bool hasRemoveadditionaluser() => $_has(14); + $core.bool hasRemoveAdditionalUser() => $_has(14); @$pb.TagNumber(18) - void clearRemoveadditionaluser() => clearField(18); + void clearRemoveAdditionalUser() => clearField(18); @$pb.TagNumber(18) - ApplicationData_RemoveAdditionalUser ensureRemoveadditionaluser() => $_ensure(14); + ApplicationData_RemoveAdditionalUser ensureRemoveAdditionalUser() => $_ensure(14); @$pb.TagNumber(19) - ApplicationData_UpdatePlanOptions get updateplanoptions => $_getN(15); + ApplicationData_UpdatePlanOptions get updatePlanOptions => $_getN(15); @$pb.TagNumber(19) - set updateplanoptions(ApplicationData_UpdatePlanOptions v) { setField(19, v); } + set updatePlanOptions(ApplicationData_UpdatePlanOptions v) { setField(19, v); } @$pb.TagNumber(19) - $core.bool hasUpdateplanoptions() => $_has(15); + $core.bool hasUpdatePlanOptions() => $_has(15); @$pb.TagNumber(19) - void clearUpdateplanoptions() => clearField(19); + void clearUpdatePlanOptions() => clearField(19); @$pb.TagNumber(19) - ApplicationData_UpdatePlanOptions ensureUpdateplanoptions() => $_ensure(15); + ApplicationData_UpdatePlanOptions ensureUpdatePlanOptions() => $_ensure(15); @$pb.TagNumber(20) - ApplicationData_DownloadDone get downloaddone => $_getN(16); + ApplicationData_DownloadDone get downloadDone => $_getN(16); @$pb.TagNumber(20) - set downloaddone(ApplicationData_DownloadDone v) { setField(20, v); } + set downloadDone(ApplicationData_DownloadDone v) { setField(20, v); } @$pb.TagNumber(20) - $core.bool hasDownloaddone() => $_has(16); + $core.bool hasDownloadDone() => $_has(16); @$pb.TagNumber(20) - void clearDownloaddone() => clearField(20); + void clearDownloadDone() => clearField(20); @$pb.TagNumber(20) - ApplicationData_DownloadDone ensureDownloaddone() => $_ensure(16); + ApplicationData_DownloadDone ensureDownloadDone() => $_ensure(16); @$pb.TagNumber(22) - ApplicationData_GetSignedPreKeyByUserId get getsignedprekeybyuserid => $_getN(17); + ApplicationData_GetSignedPreKeyByUserId get getSignedPrekeyByUserid => $_getN(17); @$pb.TagNumber(22) - set getsignedprekeybyuserid(ApplicationData_GetSignedPreKeyByUserId v) { setField(22, v); } + set getSignedPrekeyByUserid(ApplicationData_GetSignedPreKeyByUserId v) { setField(22, v); } @$pb.TagNumber(22) - $core.bool hasGetsignedprekeybyuserid() => $_has(17); + $core.bool hasGetSignedPrekeyByUserid() => $_has(17); @$pb.TagNumber(22) - void clearGetsignedprekeybyuserid() => clearField(22); + void clearGetSignedPrekeyByUserid() => clearField(22); @$pb.TagNumber(22) - ApplicationData_GetSignedPreKeyByUserId ensureGetsignedprekeybyuserid() => $_ensure(17); + ApplicationData_GetSignedPreKeyByUserId ensureGetSignedPrekeyByUserid() => $_ensure(17); @$pb.TagNumber(23) - ApplicationData_UpdateSignedPreKey get updatesignedprekey => $_getN(18); + ApplicationData_UpdateSignedPreKey get updateSignedPrekey => $_getN(18); @$pb.TagNumber(23) - set updatesignedprekey(ApplicationData_UpdateSignedPreKey v) { setField(23, v); } + set updateSignedPrekey(ApplicationData_UpdateSignedPreKey v) { setField(23, v); } @$pb.TagNumber(23) - $core.bool hasUpdatesignedprekey() => $_has(18); + $core.bool hasUpdateSignedPrekey() => $_has(18); @$pb.TagNumber(23) - void clearUpdatesignedprekey() => clearField(23); + void clearUpdateSignedPrekey() => clearField(23); @$pb.TagNumber(23) - ApplicationData_UpdateSignedPreKey ensureUpdatesignedprekey() => $_ensure(18); + ApplicationData_UpdateSignedPreKey ensureUpdateSignedPrekey() => $_ensure(18); @$pb.TagNumber(24) - ApplicationData_DeleteAccount get deleteaccount => $_getN(19); + ApplicationData_DeleteAccount get deleteAccount => $_getN(19); @$pb.TagNumber(24) - set deleteaccount(ApplicationData_DeleteAccount v) { setField(24, v); } + set deleteAccount(ApplicationData_DeleteAccount v) { setField(24, v); } @$pb.TagNumber(24) - $core.bool hasDeleteaccount() => $_has(19); + $core.bool hasDeleteAccount() => $_has(19); @$pb.TagNumber(24) - void clearDeleteaccount() => clearField(24); + void clearDeleteAccount() => clearField(24); @$pb.TagNumber(24) - ApplicationData_DeleteAccount ensureDeleteaccount() => $_ensure(19); + ApplicationData_DeleteAccount ensureDeleteAccount() => $_ensure(19); @$pb.TagNumber(25) - ApplicationData_ReportUser get reportuser => $_getN(20); + ApplicationData_ReportUser get reportUser => $_getN(20); @$pb.TagNumber(25) - set reportuser(ApplicationData_ReportUser v) { setField(25, v); } + set reportUser(ApplicationData_ReportUser v) { setField(25, v); } @$pb.TagNumber(25) - $core.bool hasReportuser() => $_has(20); + $core.bool hasReportUser() => $_has(20); @$pb.TagNumber(25) - void clearReportuser() => clearField(25); + void clearReportUser() => clearField(25); @$pb.TagNumber(25) - ApplicationData_ReportUser ensureReportuser() => $_ensure(20); + ApplicationData_ReportUser ensureReportUser() => $_ensure(20); + + @$pb.TagNumber(26) + ApplicationData_ChangeUsername get changeUsername => $_getN(21); + @$pb.TagNumber(26) + set changeUsername(ApplicationData_ChangeUsername v) { setField(26, v); } + @$pb.TagNumber(26) + $core.bool hasChangeUsername() => $_has(21); + @$pb.TagNumber(26) + void clearChangeUsername() => clearField(26); + @$pb.TagNumber(26) + ApplicationData_ChangeUsername ensureChangeUsername() => $_ensure(21); } class Response_PreKey extends $pb.GeneratedMessage { diff --git a/lib/src/model/protobuf/api/websocket/client_to_server.pbjson.dart b/lib/src/model/protobuf/api/websocket/client_to_server.pbjson.dart index edb5470..c95798c 100644 --- a/lib/src/model/protobuf/api/websocket/client_to_server.pbjson.dart +++ b/lib/src/model/protobuf/api/websocket/client_to_server.pbjson.dart @@ -139,29 +139,30 @@ final $typed_data.Uint8List handshakeDescriptor = $convert.base64Decode( const ApplicationData$json = { '1': 'ApplicationData', '2': [ - {'1': 'textmessage', '3': 1, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.TextMessage', '9': 0, '10': 'textmessage'}, - {'1': 'getuserbyusername', '3': 2, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.GetUserByUsername', '9': 0, '10': 'getuserbyusername'}, - {'1': 'getprekeysbyuserid', '3': 3, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.GetPrekeysByUserId', '9': 0, '10': 'getprekeysbyuserid'}, - {'1': 'getuserbyid', '3': 6, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.GetUserById', '9': 0, '10': 'getuserbyid'}, - {'1': 'updategooglefcmtoken', '3': 8, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.UpdateGoogleFcmToken', '9': 0, '10': 'updategooglefcmtoken'}, - {'1': 'getlocation', '3': 9, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.GetLocation', '9': 0, '10': 'getlocation'}, - {'1': 'getcurrentplaninfos', '3': 10, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.GetCurrentPlanInfos', '9': 0, '10': 'getcurrentplaninfos'}, - {'1': 'redeemvoucher', '3': 11, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.RedeemVoucher', '9': 0, '10': 'redeemvoucher'}, - {'1': 'getavailableplans', '3': 12, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.GetAvailablePlans', '9': 0, '10': 'getavailableplans'}, - {'1': 'createvoucher', '3': 13, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.CreateVoucher', '9': 0, '10': 'createvoucher'}, - {'1': 'getvouchers', '3': 14, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.GetVouchers', '9': 0, '10': 'getvouchers'}, - {'1': 'Switchtopayedplan', '3': 15, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.SwitchToPayedPlan', '9': 0, '10': 'Switchtopayedplan'}, - {'1': 'getaddaccountsinvites', '3': 16, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.GetAddAccountsInvites', '9': 0, '10': 'getaddaccountsinvites'}, - {'1': 'redeemadditionalcode', '3': 17, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.RedeemAdditionalCode', '9': 0, '10': 'redeemadditionalcode'}, - {'1': 'removeadditionaluser', '3': 18, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.RemoveAdditionalUser', '9': 0, '10': 'removeadditionaluser'}, - {'1': 'updateplanoptions', '3': 19, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.UpdatePlanOptions', '9': 0, '10': 'updateplanoptions'}, - {'1': 'downloaddone', '3': 20, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.DownloadDone', '9': 0, '10': 'downloaddone'}, - {'1': 'getsignedprekeybyuserid', '3': 22, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.GetSignedPreKeyByUserId', '9': 0, '10': 'getsignedprekeybyuserid'}, - {'1': 'updatesignedprekey', '3': 23, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.UpdateSignedPreKey', '9': 0, '10': 'updatesignedprekey'}, - {'1': 'deleteaccount', '3': 24, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.DeleteAccount', '9': 0, '10': 'deleteaccount'}, - {'1': 'reportuser', '3': 25, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.ReportUser', '9': 0, '10': 'reportuser'}, + {'1': 'textMessage', '3': 1, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.TextMessage', '9': 0, '10': 'textMessage'}, + {'1': 'getUserByUsername', '3': 2, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.GetUserByUsername', '9': 0, '10': 'getUserByUsername'}, + {'1': 'getPrekeysByUserId', '3': 3, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.GetPrekeysByUserId', '9': 0, '10': 'getPrekeysByUserId'}, + {'1': 'getUserById', '3': 6, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.GetUserById', '9': 0, '10': 'getUserById'}, + {'1': 'updateGoogleFcmToken', '3': 8, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.UpdateGoogleFcmToken', '9': 0, '10': 'updateGoogleFcmToken'}, + {'1': 'getLocation', '3': 9, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.GetLocation', '9': 0, '10': 'getLocation'}, + {'1': 'getCurrentPlanInfos', '3': 10, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.GetCurrentPlanInfos', '9': 0, '10': 'getCurrentPlanInfos'}, + {'1': 'redeemVoucher', '3': 11, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.RedeemVoucher', '9': 0, '10': 'redeemVoucher'}, + {'1': 'getAvailablePlans', '3': 12, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.GetAvailablePlans', '9': 0, '10': 'getAvailablePlans'}, + {'1': 'createVoucher', '3': 13, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.CreateVoucher', '9': 0, '10': 'createVoucher'}, + {'1': 'getVouchers', '3': 14, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.GetVouchers', '9': 0, '10': 'getVouchers'}, + {'1': 'switchtoPayedPlan', '3': 15, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.SwitchToPayedPlan', '9': 0, '10': 'switchtoPayedPlan'}, + {'1': 'getAddaccountsInvites', '3': 16, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.GetAddAccountsInvites', '9': 0, '10': 'getAddaccountsInvites'}, + {'1': 'redeemAdditionalCode', '3': 17, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.RedeemAdditionalCode', '9': 0, '10': 'redeemAdditionalCode'}, + {'1': 'removeAdditionalUser', '3': 18, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.RemoveAdditionalUser', '9': 0, '10': 'removeAdditionalUser'}, + {'1': 'updatePlanOptions', '3': 19, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.UpdatePlanOptions', '9': 0, '10': 'updatePlanOptions'}, + {'1': 'downloadDone', '3': 20, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.DownloadDone', '9': 0, '10': 'downloadDone'}, + {'1': 'getSignedPrekeyByUserid', '3': 22, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.GetSignedPreKeyByUserId', '9': 0, '10': 'getSignedPrekeyByUserid'}, + {'1': 'updateSignedPrekey', '3': 23, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.UpdateSignedPreKey', '9': 0, '10': 'updateSignedPrekey'}, + {'1': 'deleteAccount', '3': 24, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.DeleteAccount', '9': 0, '10': 'deleteAccount'}, + {'1': 'reportUser', '3': 25, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.ReportUser', '9': 0, '10': 'reportUser'}, + {'1': 'changeUsername', '3': 26, '4': 1, '5': 11, '6': '.client_to_server.ApplicationData.ChangeUsername', '9': 0, '10': 'changeUsername'}, ], - '3': [ApplicationData_TextMessage$json, ApplicationData_GetUserByUsername$json, ApplicationData_UpdateGoogleFcmToken$json, ApplicationData_GetUserById$json, ApplicationData_RedeemVoucher$json, ApplicationData_SwitchToPayedPlan$json, ApplicationData_UpdatePlanOptions$json, ApplicationData_CreateVoucher$json, ApplicationData_GetLocation$json, ApplicationData_GetVouchers$json, ApplicationData_GetAvailablePlans$json, ApplicationData_GetAddAccountsInvites$json, ApplicationData_GetCurrentPlanInfos$json, ApplicationData_RedeemAdditionalCode$json, ApplicationData_RemoveAdditionalUser$json, ApplicationData_GetPrekeysByUserId$json, ApplicationData_GetSignedPreKeyByUserId$json, ApplicationData_UpdateSignedPreKey$json, ApplicationData_DownloadDone$json, ApplicationData_ReportUser$json, ApplicationData_DeleteAccount$json], + '3': [ApplicationData_TextMessage$json, ApplicationData_GetUserByUsername$json, ApplicationData_ChangeUsername$json, ApplicationData_UpdateGoogleFcmToken$json, ApplicationData_GetUserById$json, ApplicationData_RedeemVoucher$json, ApplicationData_SwitchToPayedPlan$json, ApplicationData_UpdatePlanOptions$json, ApplicationData_CreateVoucher$json, ApplicationData_GetLocation$json, ApplicationData_GetVouchers$json, ApplicationData_GetAvailablePlans$json, ApplicationData_GetAddAccountsInvites$json, ApplicationData_GetCurrentPlanInfos$json, ApplicationData_RedeemAdditionalCode$json, ApplicationData_RemoveAdditionalUser$json, ApplicationData_GetPrekeysByUserId$json, ApplicationData_GetSignedPreKeyByUserId$json, ApplicationData_UpdateSignedPreKey$json, ApplicationData_DownloadDone$json, ApplicationData_ReportUser$json, ApplicationData_DeleteAccount$json], '8': [ {'1': 'ApplicationData'}, ], @@ -188,6 +189,14 @@ const ApplicationData_GetUserByUsername$json = { ], }; +@$core.Deprecated('Use applicationDataDescriptor instead') +const ApplicationData_ChangeUsername$json = { + '1': 'ChangeUsername', + '2': [ + {'1': 'username', '3': 1, '4': 1, '5': 9, '10': 'username'}, + ], +}; + @$core.Deprecated('Use applicationDataDescriptor instead') const ApplicationData_UpdateGoogleFcmToken$json = { '1': 'UpdateGoogleFcmToken', @@ -329,64 +338,67 @@ const ApplicationData_DeleteAccount$json = { /// Descriptor for `ApplicationData`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List applicationDataDescriptor = $convert.base64Decode( - 'Cg9BcHBsaWNhdGlvbkRhdGESUQoLdGV4dG1lc3NhZ2UYASABKAsyLS5jbGllbnRfdG9fc2Vydm' - 'VyLkFwcGxpY2F0aW9uRGF0YS5UZXh0TWVzc2FnZUgAUgt0ZXh0bWVzc2FnZRJjChFnZXR1c2Vy' - 'Ynl1c2VybmFtZRgCIAEoCzIzLmNsaWVudF90b19zZXJ2ZXIuQXBwbGljYXRpb25EYXRhLkdldF' - 'VzZXJCeVVzZXJuYW1lSABSEWdldHVzZXJieXVzZXJuYW1lEmYKEmdldHByZWtleXNieXVzZXJp' + 'Cg9BcHBsaWNhdGlvbkRhdGESUQoLdGV4dE1lc3NhZ2UYASABKAsyLS5jbGllbnRfdG9fc2Vydm' + 'VyLkFwcGxpY2F0aW9uRGF0YS5UZXh0TWVzc2FnZUgAUgt0ZXh0TWVzc2FnZRJjChFnZXRVc2Vy' + 'QnlVc2VybmFtZRgCIAEoCzIzLmNsaWVudF90b19zZXJ2ZXIuQXBwbGljYXRpb25EYXRhLkdldF' + 'VzZXJCeVVzZXJuYW1lSABSEWdldFVzZXJCeVVzZXJuYW1lEmYKEmdldFByZWtleXNCeVVzZXJJ' 'ZBgDIAEoCzI0LmNsaWVudF90b19zZXJ2ZXIuQXBwbGljYXRpb25EYXRhLkdldFByZWtleXNCeV' - 'VzZXJJZEgAUhJnZXRwcmVrZXlzYnl1c2VyaWQSUQoLZ2V0dXNlcmJ5aWQYBiABKAsyLS5jbGll' - 'bnRfdG9fc2VydmVyLkFwcGxpY2F0aW9uRGF0YS5HZXRVc2VyQnlJZEgAUgtnZXR1c2VyYnlpZB' - 'JsChR1cGRhdGVnb29nbGVmY210b2tlbhgIIAEoCzI2LmNsaWVudF90b19zZXJ2ZXIuQXBwbGlj' - 'YXRpb25EYXRhLlVwZGF0ZUdvb2dsZUZjbVRva2VuSABSFHVwZGF0ZWdvb2dsZWZjbXRva2VuEl' - 'EKC2dldGxvY2F0aW9uGAkgASgLMi0uY2xpZW50X3RvX3NlcnZlci5BcHBsaWNhdGlvbkRhdGEu' - 'R2V0TG9jYXRpb25IAFILZ2V0bG9jYXRpb24SaQoTZ2V0Y3VycmVudHBsYW5pbmZvcxgKIAEoCz' + 'VzZXJJZEgAUhJnZXRQcmVrZXlzQnlVc2VySWQSUQoLZ2V0VXNlckJ5SWQYBiABKAsyLS5jbGll' + 'bnRfdG9fc2VydmVyLkFwcGxpY2F0aW9uRGF0YS5HZXRVc2VyQnlJZEgAUgtnZXRVc2VyQnlJZB' + 'JsChR1cGRhdGVHb29nbGVGY21Ub2tlbhgIIAEoCzI2LmNsaWVudF90b19zZXJ2ZXIuQXBwbGlj' + 'YXRpb25EYXRhLlVwZGF0ZUdvb2dsZUZjbVRva2VuSABSFHVwZGF0ZUdvb2dsZUZjbVRva2VuEl' + 'EKC2dldExvY2F0aW9uGAkgASgLMi0uY2xpZW50X3RvX3NlcnZlci5BcHBsaWNhdGlvbkRhdGEu' + 'R2V0TG9jYXRpb25IAFILZ2V0TG9jYXRpb24SaQoTZ2V0Q3VycmVudFBsYW5JbmZvcxgKIAEoCz' 'I1LmNsaWVudF90b19zZXJ2ZXIuQXBwbGljYXRpb25EYXRhLkdldEN1cnJlbnRQbGFuSW5mb3NI' - 'AFITZ2V0Y3VycmVudHBsYW5pbmZvcxJXCg1yZWRlZW12b3VjaGVyGAsgASgLMi8uY2xpZW50X3' - 'RvX3NlcnZlci5BcHBsaWNhdGlvbkRhdGEuUmVkZWVtVm91Y2hlckgAUg1yZWRlZW12b3VjaGVy' - 'EmMKEWdldGF2YWlsYWJsZXBsYW5zGAwgASgLMjMuY2xpZW50X3RvX3NlcnZlci5BcHBsaWNhdG' - 'lvbkRhdGEuR2V0QXZhaWxhYmxlUGxhbnNIAFIRZ2V0YXZhaWxhYmxlcGxhbnMSVwoNY3JlYXRl' - 'dm91Y2hlchgNIAEoCzIvLmNsaWVudF90b19zZXJ2ZXIuQXBwbGljYXRpb25EYXRhLkNyZWF0ZV' - 'ZvdWNoZXJIAFINY3JlYXRldm91Y2hlchJRCgtnZXR2b3VjaGVycxgOIAEoCzItLmNsaWVudF90' - 'b19zZXJ2ZXIuQXBwbGljYXRpb25EYXRhLkdldFZvdWNoZXJzSABSC2dldHZvdWNoZXJzEmMKEV' - 'N3aXRjaHRvcGF5ZWRwbGFuGA8gASgLMjMuY2xpZW50X3RvX3NlcnZlci5BcHBsaWNhdGlvbkRh' - 'dGEuU3dpdGNoVG9QYXllZFBsYW5IAFIRU3dpdGNodG9wYXllZHBsYW4SbwoVZ2V0YWRkYWNjb3' - 'VudHNpbnZpdGVzGBAgASgLMjcuY2xpZW50X3RvX3NlcnZlci5BcHBsaWNhdGlvbkRhdGEuR2V0' - 'QWRkQWNjb3VudHNJbnZpdGVzSABSFWdldGFkZGFjY291bnRzaW52aXRlcxJsChRyZWRlZW1hZG' - 'RpdGlvbmFsY29kZRgRIAEoCzI2LmNsaWVudF90b19zZXJ2ZXIuQXBwbGljYXRpb25EYXRhLlJl' - 'ZGVlbUFkZGl0aW9uYWxDb2RlSABSFHJlZGVlbWFkZGl0aW9uYWxjb2RlEmwKFHJlbW92ZWFkZG' - 'l0aW9uYWx1c2VyGBIgASgLMjYuY2xpZW50X3RvX3NlcnZlci5BcHBsaWNhdGlvbkRhdGEuUmVt' - 'b3ZlQWRkaXRpb25hbFVzZXJIAFIUcmVtb3ZlYWRkaXRpb25hbHVzZXISYwoRdXBkYXRlcGxhbm' + 'AFITZ2V0Q3VycmVudFBsYW5JbmZvcxJXCg1yZWRlZW1Wb3VjaGVyGAsgASgLMi8uY2xpZW50X3' + 'RvX3NlcnZlci5BcHBsaWNhdGlvbkRhdGEuUmVkZWVtVm91Y2hlckgAUg1yZWRlZW1Wb3VjaGVy' + 'EmMKEWdldEF2YWlsYWJsZVBsYW5zGAwgASgLMjMuY2xpZW50X3RvX3NlcnZlci5BcHBsaWNhdG' + 'lvbkRhdGEuR2V0QXZhaWxhYmxlUGxhbnNIAFIRZ2V0QXZhaWxhYmxlUGxhbnMSVwoNY3JlYXRl' + 'Vm91Y2hlchgNIAEoCzIvLmNsaWVudF90b19zZXJ2ZXIuQXBwbGljYXRpb25EYXRhLkNyZWF0ZV' + 'ZvdWNoZXJIAFINY3JlYXRlVm91Y2hlchJRCgtnZXRWb3VjaGVycxgOIAEoCzItLmNsaWVudF90' + 'b19zZXJ2ZXIuQXBwbGljYXRpb25EYXRhLkdldFZvdWNoZXJzSABSC2dldFZvdWNoZXJzEmMKEX' + 'N3aXRjaHRvUGF5ZWRQbGFuGA8gASgLMjMuY2xpZW50X3RvX3NlcnZlci5BcHBsaWNhdGlvbkRh' + 'dGEuU3dpdGNoVG9QYXllZFBsYW5IAFIRc3dpdGNodG9QYXllZFBsYW4SbwoVZ2V0QWRkYWNjb3' + 'VudHNJbnZpdGVzGBAgASgLMjcuY2xpZW50X3RvX3NlcnZlci5BcHBsaWNhdGlvbkRhdGEuR2V0' + 'QWRkQWNjb3VudHNJbnZpdGVzSABSFWdldEFkZGFjY291bnRzSW52aXRlcxJsChRyZWRlZW1BZG' + 'RpdGlvbmFsQ29kZRgRIAEoCzI2LmNsaWVudF90b19zZXJ2ZXIuQXBwbGljYXRpb25EYXRhLlJl' + 'ZGVlbUFkZGl0aW9uYWxDb2RlSABSFHJlZGVlbUFkZGl0aW9uYWxDb2RlEmwKFHJlbW92ZUFkZG' + 'l0aW9uYWxVc2VyGBIgASgLMjYuY2xpZW50X3RvX3NlcnZlci5BcHBsaWNhdGlvbkRhdGEuUmVt' + 'b3ZlQWRkaXRpb25hbFVzZXJIAFIUcmVtb3ZlQWRkaXRpb25hbFVzZXISYwoRdXBkYXRlUGxhbk' '9wdGlvbnMYEyABKAsyMy5jbGllbnRfdG9fc2VydmVyLkFwcGxpY2F0aW9uRGF0YS5VcGRhdGVQ' - 'bGFuT3B0aW9uc0gAUhF1cGRhdGVwbGFub3B0aW9ucxJUCgxkb3dubG9hZGRvbmUYFCABKAsyLi' + 'bGFuT3B0aW9uc0gAUhF1cGRhdGVQbGFuT3B0aW9ucxJUCgxkb3dubG9hZERvbmUYFCABKAsyLi' '5jbGllbnRfdG9fc2VydmVyLkFwcGxpY2F0aW9uRGF0YS5Eb3dubG9hZERvbmVIAFIMZG93bmxv' - 'YWRkb25lEnUKF2dldHNpZ25lZHByZWtleWJ5dXNlcmlkGBYgASgLMjkuY2xpZW50X3RvX3Nlcn' - 'Zlci5BcHBsaWNhdGlvbkRhdGEuR2V0U2lnbmVkUHJlS2V5QnlVc2VySWRIAFIXZ2V0c2lnbmVk' - 'cHJla2V5Ynl1c2VyaWQSZgoSdXBkYXRlc2lnbmVkcHJla2V5GBcgASgLMjQuY2xpZW50X3RvX3' - 'NlcnZlci5BcHBsaWNhdGlvbkRhdGEuVXBkYXRlU2lnbmVkUHJlS2V5SABSEnVwZGF0ZXNpZ25l' - 'ZHByZWtleRJXCg1kZWxldGVhY2NvdW50GBggASgLMi8uY2xpZW50X3RvX3NlcnZlci5BcHBsaW' - 'NhdGlvbkRhdGEuRGVsZXRlQWNjb3VudEgAUg1kZWxldGVhY2NvdW50Ek4KCnJlcG9ydHVzZXIY' + 'YWREb25lEnUKF2dldFNpZ25lZFByZWtleUJ5VXNlcmlkGBYgASgLMjkuY2xpZW50X3RvX3Nlcn' + 'Zlci5BcHBsaWNhdGlvbkRhdGEuR2V0U2lnbmVkUHJlS2V5QnlVc2VySWRIAFIXZ2V0U2lnbmVk' + 'UHJla2V5QnlVc2VyaWQSZgoSdXBkYXRlU2lnbmVkUHJla2V5GBcgASgLMjQuY2xpZW50X3RvX3' + 'NlcnZlci5BcHBsaWNhdGlvbkRhdGEuVXBkYXRlU2lnbmVkUHJlS2V5SABSEnVwZGF0ZVNpZ25l' + 'ZFByZWtleRJXCg1kZWxldGVBY2NvdW50GBggASgLMi8uY2xpZW50X3RvX3NlcnZlci5BcHBsaW' + 'NhdGlvbkRhdGEuRGVsZXRlQWNjb3VudEgAUg1kZWxldGVBY2NvdW50Ek4KCnJlcG9ydFVzZXIY' 'GSABKAsyLC5jbGllbnRfdG9fc2VydmVyLkFwcGxpY2F0aW9uRGF0YS5SZXBvcnRVc2VySABSCn' - 'JlcG9ydHVzZXIaagoLVGV4dE1lc3NhZ2USFwoHdXNlcl9pZBgBIAEoA1IGdXNlcklkEhIKBGJv' - 'ZHkYAyABKAxSBGJvZHkSIAoJcHVzaF9kYXRhGAQgASgMSABSCHB1c2hEYXRhiAEBQgwKCl9wdX' - 'NoX2RhdGEaLwoRR2V0VXNlckJ5VXNlcm5hbWUSGgoIdXNlcm5hbWUYASABKAlSCHVzZXJuYW1l' - 'GjUKFFVwZGF0ZUdvb2dsZUZjbVRva2VuEh0KCmdvb2dsZV9mY20YASABKAlSCWdvb2dsZUZjbR' - 'omCgtHZXRVc2VyQnlJZBIXCgd1c2VyX2lkGAEgASgDUgZ1c2VySWQaKQoNUmVkZWVtVm91Y2hl' - 'chIYCgd2b3VjaGVyGAEgASgJUgd2b3VjaGVyGnAKEVN3aXRjaFRvUGF5ZWRQbGFuEhcKB3BsYW' - '5faWQYASABKAlSBnBsYW5JZBIfCgtwYXlfbW9udGhseRgCIAEoCFIKcGF5TW9udGhseRIhCgxh' - 'dXRvX3JlbmV3YWwYAyABKAhSC2F1dG9SZW5ld2FsGjYKEVVwZGF0ZVBsYW5PcHRpb25zEiEKDG' - 'F1dG9fcmVuZXdhbBgBIAEoCFILYXV0b1JlbmV3YWwaMAoNQ3JlYXRlVm91Y2hlchIfCgt2YWx1' - 'ZV9jZW50cxgBIAEoDVIKdmFsdWVDZW50cxoNCgtHZXRMb2NhdGlvbhoNCgtHZXRWb3VjaGVycx' - 'oTChFHZXRBdmFpbGFibGVQbGFucxoXChVHZXRBZGRBY2NvdW50c0ludml0ZXMaFQoTR2V0Q3Vy' - 'cmVudFBsYW5JbmZvcxo3ChRSZWRlZW1BZGRpdGlvbmFsQ29kZRIfCgtpbnZpdGVfY29kZRgCIA' - 'EoCVIKaW52aXRlQ29kZRovChRSZW1vdmVBZGRpdGlvbmFsVXNlchIXCgd1c2VyX2lkGAEgASgD' - 'UgZ1c2VySWQaLQoSR2V0UHJla2V5c0J5VXNlcklkEhcKB3VzZXJfaWQYASABKANSBnVzZXJJZB' - 'oyChdHZXRTaWduZWRQcmVLZXlCeVVzZXJJZBIXCgd1c2VyX2lkGAEgASgDUgZ1c2VySWQamwEK' - 'ElVwZGF0ZVNpZ25lZFByZUtleRIoChBzaWduZWRfcHJla2V5X2lkGAEgASgDUg5zaWduZWRQcm' - 'VrZXlJZBIjCg1zaWduZWRfcHJla2V5GAIgASgMUgxzaWduZWRQcmVrZXkSNgoXc2lnbmVkX3By' - 'ZWtleV9zaWduYXR1cmUYAyABKAxSFXNpZ25lZFByZWtleVNpZ25hdHVyZRo1CgxEb3dubG9hZE' - 'RvbmUSJQoOZG93bmxvYWRfdG9rZW4YASABKAxSDWRvd25sb2FkVG9rZW4aTgoKUmVwb3J0VXNl' - 'chIoChByZXBvcnRlZF91c2VyX2lkGAEgASgDUg5yZXBvcnRlZFVzZXJJZBIWCgZyZWFzb24YAi' - 'ABKAlSBnJlYXNvbhoPCg1EZWxldGVBY2NvdW50QhEKD0FwcGxpY2F0aW9uRGF0YQ=='); + 'JlcG9ydFVzZXISWgoOY2hhbmdlVXNlcm5hbWUYGiABKAsyMC5jbGllbnRfdG9fc2VydmVyLkFw' + 'cGxpY2F0aW9uRGF0YS5DaGFuZ2VVc2VybmFtZUgAUg5jaGFuZ2VVc2VybmFtZRpqCgtUZXh0TW' + 'Vzc2FnZRIXCgd1c2VyX2lkGAEgASgDUgZ1c2VySWQSEgoEYm9keRgDIAEoDFIEYm9keRIgCglw' + 'dXNoX2RhdGEYBCABKAxIAFIIcHVzaERhdGGIAQFCDAoKX3B1c2hfZGF0YRovChFHZXRVc2VyQn' + 'lVc2VybmFtZRIaCgh1c2VybmFtZRgBIAEoCVIIdXNlcm5hbWUaLAoOQ2hhbmdlVXNlcm5hbWUS' + 'GgoIdXNlcm5hbWUYASABKAlSCHVzZXJuYW1lGjUKFFVwZGF0ZUdvb2dsZUZjbVRva2VuEh0KCm' + 'dvb2dsZV9mY20YASABKAlSCWdvb2dsZUZjbRomCgtHZXRVc2VyQnlJZBIXCgd1c2VyX2lkGAEg' + 'ASgDUgZ1c2VySWQaKQoNUmVkZWVtVm91Y2hlchIYCgd2b3VjaGVyGAEgASgJUgd2b3VjaGVyGn' + 'AKEVN3aXRjaFRvUGF5ZWRQbGFuEhcKB3BsYW5faWQYASABKAlSBnBsYW5JZBIfCgtwYXlfbW9u' + 'dGhseRgCIAEoCFIKcGF5TW9udGhseRIhCgxhdXRvX3JlbmV3YWwYAyABKAhSC2F1dG9SZW5ld2' + 'FsGjYKEVVwZGF0ZVBsYW5PcHRpb25zEiEKDGF1dG9fcmVuZXdhbBgBIAEoCFILYXV0b1JlbmV3' + 'YWwaMAoNQ3JlYXRlVm91Y2hlchIfCgt2YWx1ZV9jZW50cxgBIAEoDVIKdmFsdWVDZW50cxoNCg' + 'tHZXRMb2NhdGlvbhoNCgtHZXRWb3VjaGVycxoTChFHZXRBdmFpbGFibGVQbGFucxoXChVHZXRB' + 'ZGRBY2NvdW50c0ludml0ZXMaFQoTR2V0Q3VycmVudFBsYW5JbmZvcxo3ChRSZWRlZW1BZGRpdG' + 'lvbmFsQ29kZRIfCgtpbnZpdGVfY29kZRgCIAEoCVIKaW52aXRlQ29kZRovChRSZW1vdmVBZGRp' + 'dGlvbmFsVXNlchIXCgd1c2VyX2lkGAEgASgDUgZ1c2VySWQaLQoSR2V0UHJla2V5c0J5VXNlck' + 'lkEhcKB3VzZXJfaWQYASABKANSBnVzZXJJZBoyChdHZXRTaWduZWRQcmVLZXlCeVVzZXJJZBIX' + 'Cgd1c2VyX2lkGAEgASgDUgZ1c2VySWQamwEKElVwZGF0ZVNpZ25lZFByZUtleRIoChBzaWduZW' + 'RfcHJla2V5X2lkGAEgASgDUg5zaWduZWRQcmVrZXlJZBIjCg1zaWduZWRfcHJla2V5GAIgASgM' + 'UgxzaWduZWRQcmVrZXkSNgoXc2lnbmVkX3ByZWtleV9zaWduYXR1cmUYAyABKAxSFXNpZ25lZF' + 'ByZWtleVNpZ25hdHVyZRo1CgxEb3dubG9hZERvbmUSJQoOZG93bmxvYWRfdG9rZW4YASABKAxS' + 'DWRvd25sb2FkVG9rZW4aTgoKUmVwb3J0VXNlchIoChByZXBvcnRlZF91c2VyX2lkGAEgASgDUg' + '5yZXBvcnRlZFVzZXJJZBIWCgZyZWFzb24YAiABKAlSBnJlYXNvbhoPCg1EZWxldGVBY2NvdW50' + 'QhEKD0FwcGxpY2F0aW9uRGF0YQ=='); @$core.Deprecated('Use responseDescriptor instead') const Response$json = { diff --git a/lib/src/model/protobuf/client/generated/messages.pb.dart b/lib/src/model/protobuf/client/generated/messages.pb.dart index 4763a2f..baefcd7 100644 --- a/lib/src/model/protobuf/client/generated/messages.pb.dart +++ b/lib/src/model/protobuf/client/generated/messages.pb.dart @@ -1052,6 +1052,7 @@ class EncryptedContent_ContactUpdate extends $pb.GeneratedMessage { factory EncryptedContent_ContactUpdate({ EncryptedContent_ContactUpdate_Type? type, $core.List<$core.int>? avatarSvgCompressed, + $core.String? username, $core.String? displayName, }) { final $result = create(); @@ -1061,6 +1062,9 @@ class EncryptedContent_ContactUpdate extends $pb.GeneratedMessage { if (avatarSvgCompressed != null) { $result.avatarSvgCompressed = avatarSvgCompressed; } + if (username != null) { + $result.username = username; + } if (displayName != null) { $result.displayName = displayName; } @@ -1073,7 +1077,8 @@ class EncryptedContent_ContactUpdate extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'EncryptedContent.ContactUpdate', createEmptyInstance: create) ..e(1, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE, defaultOrMaker: EncryptedContent_ContactUpdate_Type.REQUEST, valueOf: EncryptedContent_ContactUpdate_Type.valueOf, enumValues: EncryptedContent_ContactUpdate_Type.values) ..a<$core.List<$core.int>>(2, _omitFieldNames ? '' : 'avatarSvgCompressed', $pb.PbFieldType.OY, protoName: 'avatarSvgCompressed') - ..aOS(3, _omitFieldNames ? '' : 'displayName', protoName: 'displayName') + ..aOS(3, _omitFieldNames ? '' : 'username') + ..aOS(4, _omitFieldNames ? '' : 'displayName', protoName: 'displayName') ..hasRequiredFields = false ; @@ -1117,13 +1122,22 @@ class EncryptedContent_ContactUpdate extends $pb.GeneratedMessage { void clearAvatarSvgCompressed() => clearField(2); @$pb.TagNumber(3) - $core.String get displayName => $_getSZ(2); + $core.String get username => $_getSZ(2); @$pb.TagNumber(3) - set displayName($core.String v) { $_setString(2, v); } + set username($core.String v) { $_setString(2, v); } @$pb.TagNumber(3) - $core.bool hasDisplayName() => $_has(2); + $core.bool hasUsername() => $_has(2); @$pb.TagNumber(3) - void clearDisplayName() => clearField(3); + void clearUsername() => clearField(3); + + @$pb.TagNumber(4) + $core.String get displayName => $_getSZ(3); + @$pb.TagNumber(4) + set displayName($core.String v) { $_setString(3, v); } + @$pb.TagNumber(4) + $core.bool hasDisplayName() => $_has(3); + @$pb.TagNumber(4) + void clearDisplayName() => clearField(4); } class EncryptedContent_PushKeys extends $pb.GeneratedMessage { diff --git a/lib/src/model/protobuf/client/generated/messages.pbjson.dart b/lib/src/model/protobuf/client/generated/messages.pbjson.dart index f07d909..fc171fe 100644 --- a/lib/src/model/protobuf/client/generated/messages.pbjson.dart +++ b/lib/src/model/protobuf/client/generated/messages.pbjson.dart @@ -310,11 +310,13 @@ const EncryptedContent_ContactUpdate$json = { '2': [ {'1': 'type', '3': 1, '4': 1, '5': 14, '6': '.EncryptedContent.ContactUpdate.Type', '10': 'type'}, {'1': 'avatarSvgCompressed', '3': 2, '4': 1, '5': 12, '9': 0, '10': 'avatarSvgCompressed', '17': true}, - {'1': 'displayName', '3': 3, '4': 1, '5': 9, '9': 1, '10': 'displayName', '17': true}, + {'1': 'username', '3': 3, '4': 1, '5': 9, '9': 1, '10': 'username', '17': true}, + {'1': 'displayName', '3': 4, '4': 1, '5': 9, '9': 2, '10': 'displayName', '17': true}, ], '4': [EncryptedContent_ContactUpdate_Type$json], '8': [ {'1': '_avatarSvgCompressed'}, + {'1': '_username'}, {'1': '_displayName'}, ], }; @@ -418,21 +420,22 @@ final $typed_data.Uint8List encryptedContentDescriptor = $convert.base64Decode( 'IoCg90YXJnZXRNZXNzYWdlSWQYAiABKAlSD3RhcmdldE1lc3NhZ2VJZCI2CgRUeXBlEgwKCFJF' 'T1BFTkVEEAASCgoGU1RPUkVEEAESFAoQREVDUllQVElPTl9FUlJPUhACGngKDkNvbnRhY3RSZX' 'F1ZXN0EjkKBHR5cGUYASABKA4yJS5FbmNyeXB0ZWRDb250ZW50LkNvbnRhY3RSZXF1ZXN0LlR5' - 'cGVSBHR5cGUiKwoEVHlwZRILCgdSRVFVRVNUEAASCgoGUkVKRUNUEAESCgoGQUNDRVBUEAIa8A' - 'EKDUNvbnRhY3RVcGRhdGUSOAoEdHlwZRgBIAEoDjIkLkVuY3J5cHRlZENvbnRlbnQuQ29udGFj' + 'cGVSBHR5cGUiKwoEVHlwZRILCgdSRVFVRVNUEAASCgoGUkVKRUNUEAESCgoGQUNDRVBUEAIang' + 'IKDUNvbnRhY3RVcGRhdGUSOAoEdHlwZRgBIAEoDjIkLkVuY3J5cHRlZENvbnRlbnQuQ29udGFj' 'dFVwZGF0ZS5UeXBlUgR0eXBlEjUKE2F2YXRhclN2Z0NvbXByZXNzZWQYAiABKAxIAFITYXZhdG' - 'FyU3ZnQ29tcHJlc3NlZIgBARIlCgtkaXNwbGF5TmFtZRgDIAEoCUgBUgtkaXNwbGF5TmFtZYgB' - 'ASIfCgRUeXBlEgsKB1JFUVVFU1QQABIKCgZVUERBVEUQAUIWChRfYXZhdGFyU3ZnQ29tcHJlc3' - 'NlZEIOCgxfZGlzcGxheU5hbWUa1QEKCFB1c2hLZXlzEjMKBHR5cGUYASABKA4yHy5FbmNyeXB0' - 'ZWRDb250ZW50LlB1c2hLZXlzLlR5cGVSBHR5cGUSGQoFa2V5SWQYAiABKANIAFIFa2V5SWSIAQ' - 'ESFQoDa2V5GAMgASgMSAFSA2tleYgBARIhCgljcmVhdGVkQXQYBCABKANIAlIJY3JlYXRlZEF0' - 'iAEBIh8KBFR5cGUSCwoHUkVRVUVTVBAAEgoKBlVQREFURRABQggKBl9rZXlJZEIGCgRfa2V5Qg' - 'wKCl9jcmVhdGVkQXQahwEKCUZsYW1lU3luYxIiCgxmbGFtZUNvdW50ZXIYASABKANSDGZsYW1l' - 'Q291bnRlchI2ChZsYXN0RmxhbWVDb3VudGVyQ2hhbmdlGAIgASgDUhZsYXN0RmxhbWVDb3VudG' - 'VyQ2hhbmdlEh4KCmJlc3RGcmllbmQYAyABKAhSCmJlc3RGcmllbmRCCgoIX2dyb3VwSWRCDwoN' - 'X2lzRGlyZWN0Q2hhdEIXChVfc2VuZGVyUHJvZmlsZUNvdW50ZXJCEAoOX21lc3NhZ2VVcGRhdG' - 'VCCAoGX21lZGlhQg4KDF9tZWRpYVVwZGF0ZUIQCg5fY29udGFjdFVwZGF0ZUIRCg9fY29udGFj' - 'dFJlcXVlc3RCDAoKX2ZsYW1lU3luY0ILCglfcHVzaEtleXNCCwoJX3JlYWN0aW9uQg4KDF90ZX' - 'h0TWVzc2FnZUIOCgxfZ3JvdXBDcmVhdGVCDAoKX2dyb3VwSm9pbkIOCgxfZ3JvdXBVcGRhdGVC' - 'FwoVX3Jlc2VuZEdyb3VwUHVibGljS2V5'); + 'FyU3ZnQ29tcHJlc3NlZIgBARIfCgh1c2VybmFtZRgDIAEoCUgBUgh1c2VybmFtZYgBARIlCgtk' + 'aXNwbGF5TmFtZRgEIAEoCUgCUgtkaXNwbGF5TmFtZYgBASIfCgRUeXBlEgsKB1JFUVVFU1QQAB' + 'IKCgZVUERBVEUQAUIWChRfYXZhdGFyU3ZnQ29tcHJlc3NlZEILCglfdXNlcm5hbWVCDgoMX2Rp' + 'c3BsYXlOYW1lGtUBCghQdXNoS2V5cxIzCgR0eXBlGAEgASgOMh8uRW5jcnlwdGVkQ29udGVudC' + '5QdXNoS2V5cy5UeXBlUgR0eXBlEhkKBWtleUlkGAIgASgDSABSBWtleUlkiAEBEhUKA2tleRgD' + 'IAEoDEgBUgNrZXmIAQESIQoJY3JlYXRlZEF0GAQgASgDSAJSCWNyZWF0ZWRBdIgBASIfCgRUeX' + 'BlEgsKB1JFUVVFU1QQABIKCgZVUERBVEUQAUIICgZfa2V5SWRCBgoEX2tleUIMCgpfY3JlYXRl' + 'ZEF0GocBCglGbGFtZVN5bmMSIgoMZmxhbWVDb3VudGVyGAEgASgDUgxmbGFtZUNvdW50ZXISNg' + 'oWbGFzdEZsYW1lQ291bnRlckNoYW5nZRgCIAEoA1IWbGFzdEZsYW1lQ291bnRlckNoYW5nZRIe' + 'CgpiZXN0RnJpZW5kGAMgASgIUgpiZXN0RnJpZW5kQgoKCF9ncm91cElkQg8KDV9pc0RpcmVjdE' + 'NoYXRCFwoVX3NlbmRlclByb2ZpbGVDb3VudGVyQhAKDl9tZXNzYWdlVXBkYXRlQggKBl9tZWRp' + 'YUIOCgxfbWVkaWFVcGRhdGVCEAoOX2NvbnRhY3RVcGRhdGVCEQoPX2NvbnRhY3RSZXF1ZXN0Qg' + 'wKCl9mbGFtZVN5bmNCCwoJX3B1c2hLZXlzQgsKCV9yZWFjdGlvbkIOCgxfdGV4dE1lc3NhZ2VC' + 'DgoMX2dyb3VwQ3JlYXRlQgwKCl9ncm91cEpvaW5CDgoMX2dyb3VwVXBkYXRlQhcKFV9yZXNlbm' + 'RHcm91cFB1YmxpY0tleQ=='); diff --git a/lib/src/model/protobuf/client/messages.proto b/lib/src/model/protobuf/client/messages.proto index dc21e61..96264fc 100644 --- a/lib/src/model/protobuf/client/messages.proto +++ b/lib/src/model/protobuf/client/messages.proto @@ -148,7 +148,8 @@ message EncryptedContent { Type type = 1; optional bytes avatarSvgCompressed = 2; - optional string displayName = 3; + optional string username = 3; + optional string displayName = 4; } message PushKeys { diff --git a/lib/src/services/api.service.dart b/lib/src/services/api.service.dart index ae7ff3b..41d7498 100644 --- a/lib/src/services/api.service.dart +++ b/lib/src/services/api.service.dart @@ -490,7 +490,7 @@ class ApiService { Future getUserById(int userId) async { final get = ApplicationData_GetUserById()..userId = Int64(userId); - final appData = ApplicationData()..getuserbyid = get; + final appData = ApplicationData()..getUserById = get; final req = createClientToServerFromApplicationData(appData); final res = await sendRequestSync(req); if (res.isSuccess) { @@ -504,21 +504,21 @@ class ApiService { Future downloadDone(List token) async { final get = ApplicationData_DownloadDone()..downloadToken = token; - final appData = ApplicationData()..downloaddone = get; + final appData = ApplicationData()..downloadDone = get; final req = createClientToServerFromApplicationData(appData); return sendRequestSync(req, ensureRetransmission: true); } Future getCurrentLocation() async { final get = ApplicationData_GetLocation(); - final appData = ApplicationData()..getlocation = get; + final appData = ApplicationData()..getLocation = get; final req = createClientToServerFromApplicationData(appData); return sendRequestSync(req); } Future getUserData(String username) async { final get = ApplicationData_GetUserByUsername()..username = username; - final appData = ApplicationData()..getuserbyusername = get; + final appData = ApplicationData()..getUserByUsername = get; final req = createClientToServerFromApplicationData(appData); final res = await sendRequestSync(req); if (res.isSuccess) { @@ -532,7 +532,7 @@ class ApiService { Future getPlanBallance() async { final get = ApplicationData_GetCurrentPlanInfos(); - final appData = ApplicationData()..getcurrentplaninfos = get; + final appData = ApplicationData()..getCurrentPlanInfos = get; final req = createClientToServerFromApplicationData(appData); final res = await sendRequestSync(req); if (res.isSuccess) { @@ -546,7 +546,7 @@ class ApiService { Future getVoucherList() async { final get = ApplicationData_GetVouchers(); - final appData = ApplicationData()..getvouchers = get; + final appData = ApplicationData()..getVouchers = get; final req = createClientToServerFromApplicationData(appData); final res = await sendRequestSync(req); if (res.isSuccess) { @@ -560,7 +560,7 @@ class ApiService { Future?> getAdditionalUserInvites() async { final get = ApplicationData_GetAddAccountsInvites(); - final appData = ApplicationData()..getaddaccountsinvites = get; + final appData = ApplicationData()..getAddaccountsInvites = get; final req = createClientToServerFromApplicationData(appData); final res = await sendRequestSync(req); if (res.isSuccess) { @@ -574,21 +574,21 @@ class ApiService { Future updatePlanOptions(bool autoRenewal) async { final get = ApplicationData_UpdatePlanOptions()..autoRenewal = autoRenewal; - final appData = ApplicationData()..updateplanoptions = get; + final appData = ApplicationData()..updatePlanOptions = get; final req = createClientToServerFromApplicationData(appData); return sendRequestSync(req); } Future removeAdditionalUser(Int64 userId) async { final get = ApplicationData_RemoveAdditionalUser()..userId = userId; - final appData = ApplicationData()..removeadditionaluser = get; + final appData = ApplicationData()..removeAdditionalUser = get; final req = createClientToServerFromApplicationData(appData); return sendRequestSync(req, contactId: userId.toInt()); } Future buyVoucher(int valueInCents) async { final get = ApplicationData_CreateVoucher()..valueCents = valueInCents; - final appData = ApplicationData()..createvoucher = get; + final appData = ApplicationData()..createVoucher = get; final req = createClientToServerFromApplicationData(appData); return sendRequestSync(req); } @@ -602,14 +602,14 @@ class ApiService { ..planId = planId ..payMonthly = payMonthly ..autoRenewal = autoRenewal; - final appData = ApplicationData()..switchtopayedplan = get; + final appData = ApplicationData()..switchtoPayedPlan = get; final req = createClientToServerFromApplicationData(appData); return sendRequestSync(req); } Future redeemVoucher(String voucher) async { final get = ApplicationData_RedeemVoucher()..voucher = voucher; - final appData = ApplicationData()..redeemvoucher = get; + final appData = ApplicationData()..redeemVoucher = get; final req = createClientToServerFromApplicationData(appData); return sendRequestSync(req); } @@ -618,28 +618,35 @@ class ApiService { final get = ApplicationData_ReportUser() ..reportedUserId = Int64(userId) ..reason = reason; - final appData = ApplicationData()..reportuser = get; + final appData = ApplicationData()..reportUser = get; final req = createClientToServerFromApplicationData(appData); return sendRequestSync(req); } Future deleteAccount() async { final get = ApplicationData_DeleteAccount(); - final appData = ApplicationData()..deleteaccount = get; + final appData = ApplicationData()..deleteAccount = get; final req = createClientToServerFromApplicationData(appData); return sendRequestSync(req); } Future redeemUserInviteCode(String inviteCode) async { final get = ApplicationData_RedeemAdditionalCode()..inviteCode = inviteCode; - final appData = ApplicationData()..redeemadditionalcode = get; + final appData = ApplicationData()..redeemAdditionalCode = get; final req = createClientToServerFromApplicationData(appData); return sendRequestSync(req); } Future updateFCMToken(String googleFcm) async { final get = ApplicationData_UpdateGoogleFcmToken()..googleFcm = googleFcm; - final appData = ApplicationData()..updategooglefcmtoken = get; + final appData = ApplicationData()..updateGoogleFcmToken = get; + final req = createClientToServerFromApplicationData(appData); + return sendRequestSync(req); + } + + Future changeUsername(String username) async { + final get = ApplicationData_ChangeUsername()..username = username; + final appData = ApplicationData()..changeUsername = get; final req = createClientToServerFromApplicationData(appData); return sendRequestSync(req); } @@ -653,7 +660,7 @@ class ApiService { ..signedPrekeyId = Int64(signedPreKeyId) ..signedPrekey = signedPreKey ..signedPrekeySignature = signedPreKeySignature; - final appData = ApplicationData()..updatesignedprekey = get; + final appData = ApplicationData()..updateSignedPrekey = get; final req = createClientToServerFromApplicationData(appData); return sendRequestSync(req); } @@ -661,7 +668,7 @@ class ApiService { Future getSignedKeyByUserId(int userId) async { final get = ApplicationData_GetSignedPreKeyByUserId() ..userId = Int64(userId); - final appData = ApplicationData()..getsignedprekeybyuserid = get; + final appData = ApplicationData()..getSignedPrekeyByUserid = get; final req = createClientToServerFromApplicationData(appData); final res = await sendRequestSync(req, contactId: userId); if (res.isSuccess) { @@ -675,7 +682,7 @@ class ApiService { Future getPreKeysByUserId(int userId) async { final get = ApplicationData_GetPrekeysByUserId()..userId = Int64(userId); - final appData = ApplicationData()..getprekeysbyuserid = get; + final appData = ApplicationData()..getPrekeysByUserId = get; final req = createClientToServerFromApplicationData(appData); final res = await sendRequestSync(req, contactId: userId); if (res.isSuccess) { @@ -709,8 +716,7 @@ class ApiService { if (pushData != null) { testMessage.pushData = pushData; } - - final appData = ApplicationData()..textmessage = testMessage; + final appData = ApplicationData()..textMessage = testMessage; final req = createClientToServerFromApplicationData(appData); return sendRequestSync(req, contactId: target); } diff --git a/lib/src/services/api/client2client/contact.c2c.dart b/lib/src/services/api/client2client/contact.c2c.dart index 61376c4..607c872 100644 --- a/lib/src/services/api/client2client/contact.c2c.dart +++ b/lib/src/services/api/client2client/contact.c2c.dart @@ -99,6 +99,7 @@ Future handleContactUpdate( Log.info('Got a contact update $fromUserId'); if (contactUpdate.hasAvatarSvgCompressed() && contactUpdate.hasDisplayName() && + contactUpdate.hasUsername() && senderProfileCounter != null) { await twonlyDB.contactsDao.updateContact( fromUserId, @@ -106,6 +107,7 @@ Future handleContactUpdate( avatarSvgCompressed: Value(Uint8List.fromList(contactUpdate.avatarSvgCompressed)), displayName: Value(contactUpdate.displayName), + username: Value(contactUpdate.username), senderProfileCounter: Value(senderProfileCounter), ), ); @@ -153,9 +155,11 @@ Future checkForProfileUpdate( if (contact.senderProfileCounter < senderProfileCounter) { await sendCipherText( fromUserId, - EncryptedContent() - ..contactUpdate = (EncryptedContent_ContactUpdate() - ..type = EncryptedContent_ContactUpdate_Type.REQUEST), + EncryptedContent( + contactUpdate: EncryptedContent_ContactUpdate( + type: EncryptedContent_ContactUpdate_Type.REQUEST, + ), + ), ); } } diff --git a/lib/src/services/api/mediafiles/media_background.service.dart b/lib/src/services/api/mediafiles/media_background.service.dart index 39f5eb7..d4fc7c1 100644 --- a/lib/src/services/api/mediafiles/media_background.service.dart +++ b/lib/src/services/api/mediafiles/media_background.service.dart @@ -88,7 +88,7 @@ Future handleUploadStatusUpdate(TaskStatusUpdate update) async { await twonlyDB.messagesDao.getMessagesByMediaId(media.mediaId); for (final message in messages) { final contacts = - await twonlyDB.groupsDao.getGroupMembers(message.groupId); + await twonlyDB.groupsDao.getGroupNonLeftMembers(message.groupId); for (final contact in contacts) { await twonlyDB.messagesDao.handleMessageAckByServer( contact.contactId, diff --git a/lib/src/services/api/mediafiles/upload.service.dart b/lib/src/services/api/mediafiles/upload.service.dart index 8b5aea9..52b3f53 100644 --- a/lib/src/services/api/mediafiles/upload.service.dart +++ b/lib/src/services/api/mediafiles/upload.service.dart @@ -159,7 +159,7 @@ Future _createUploadRequest(MediaFileService media) async { for (final message in messages) { final groupMembers = - await twonlyDB.groupsDao.getGroupMembers(message.groupId); + await twonlyDB.groupsDao.getGroupNonLeftMembers(message.groupId); if (media.mediaFile.reuploadRequestedBy == null) { await twonlyDB.groupsDao.incFlameCounter( diff --git a/lib/src/services/api/messages.dart b/lib/src/services/api/messages.dart index 8a7497e..b2503fc 100644 --- a/lib/src/services/api/messages.dart +++ b/lib/src/services/api/messages.dart @@ -199,7 +199,7 @@ Future sendCipherTextToGroup( pb.EncryptedContent encryptedContent, { String? messageId, }) async { - final groupMembers = await twonlyDB.groupsDao.getGroupMembers(groupId); + final groupMembers = await twonlyDB.groupsDao.getGroupNonLeftMembers(groupId); await twonlyDB.groupsDao.increaseLastMessageExchange(groupId, DateTime.now()); @@ -291,6 +291,7 @@ Future notifyContactsAboutProfileChange({int? onlyToContact}) async { type: pb.EncryptedContent_ContactUpdate_Type.UPDATE, avatarSvgCompressed: gzip.encode(utf8.encode(gUser.avatarSvg!)), displayName: gUser.displayName, + username: gUser.username, ), ); diff --git a/lib/src/services/flame.service.dart b/lib/src/services/flame.service.dart index c28d59e..9f05b1c 100644 --- a/lib/src/services/flame.service.dart +++ b/lib/src/services/flame.service.dart @@ -36,7 +36,7 @@ Future syncFlameCounters() async { if (flameCounter < 1 && bestFriend.groupId != group.groupId) continue; final groupMembers = - await twonlyDB.groupsDao.getGroupMembers(group.groupId); + await twonlyDB.groupsDao.getGroupNonLeftMembers(group.groupId); if (groupMembers.length != 1) { continue; // flame sync is only done for groups of two } diff --git a/lib/src/services/group.services.dart b/lib/src/services/group.services.dart index 3c3f5de..a80d22b 100644 --- a/lib/src/services/group.services.dart +++ b/lib/src/services/group.services.dart @@ -353,7 +353,7 @@ Future<(int, EncryptedGroupState)?> fetchGroupState(Group group) async { ); var currentGroupMembers = - await twonlyDB.groupsDao.getGroupMembers(group.groupId); + await twonlyDB.groupsDao.getGroupNonLeftMembers(group.groupId); // First find and insert NEW members for (final memberId in memberIds) { @@ -407,7 +407,7 @@ Future<(int, EncryptedGroupState)?> fetchGroupState(Group group) async { // update the current members list currentGroupMembers = - await twonlyDB.groupsDao.getGroupMembers(group.groupId); + await twonlyDB.groupsDao.getGroupNonLeftMembers(group.groupId); for (final member in currentGroupMembers) { // Member is not any more in the members list diff --git a/lib/src/views/chats/chat_messages.view.dart b/lib/src/views/chats/chat_messages.view.dart index 5b48640..cbeffcc 100644 --- a/lib/src/views/chats/chat_messages.view.dart +++ b/lib/src/views/chats/chat_messages.view.dart @@ -295,8 +295,9 @@ class _ChatMessagesViewState extends State { onTap: () async { if (group.isDirectChat) { final member = - await twonlyDB.groupsDao.getGroupMembers(group.groupId); + await twonlyDB.groupsDao.getAllGroupMembers(group.groupId); if (!context.mounted) return; + if (member.isEmpty) return; await Navigator.push( context, MaterialPageRoute( diff --git a/lib/src/views/settings/profile/profile.view.dart b/lib/src/views/settings/profile/profile.view.dart index 8659f75..56eefe5 100644 --- a/lib/src/views/settings/profile/profile.view.dart +++ b/lib/src/views/settings/profile/profile.view.dart @@ -1,13 +1,15 @@ import 'dart:async'; - import 'package:avatar_maker/avatar_maker.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; -import 'package:twonly/src/model/json/userdata.dart'; +import 'package:twonly/globals.dart'; +import 'package:twonly/src/model/protobuf/api/websocket/error.pb.dart'; import 'package:twonly/src/services/api/messages.dart'; import 'package:twonly/src/utils/misc.dart'; import 'package:twonly/src/utils/storage.dart'; import 'package:twonly/src/views/components/better_list_title.dart'; +import 'package:twonly/src/views/groups/group.view.dart'; import 'package:twonly/src/views/settings/profile/modify_avatar.view.dart'; class ProfileView extends StatefulWidget { @@ -18,19 +20,12 @@ class ProfileView extends StatefulWidget { } class _ProfileViewState extends State { - UserData? user; final AvatarMakerController _avatarMakerController = PersistentAvatarMakerController(customizedPropertyCategories: []); @override void initState() { super.initState(); - unawaited(initAsync()); - } - - Future initAsync() async { - user = await getUser(); - setState(() {}); } Future updateUserDisplayName(String displayName) async { @@ -40,9 +35,38 @@ class _ProfileViewState extends State { ..avatarCounter = user.avatarCounter + 1; return user; }); - await notifyContactsAboutProfileChange(); - await initAsync(); + setState(() {}); // gUser has updated + } + + Future _updateUsername(String username) async { + final result = await apiService.changeUsername(username); + if (result.isError) { + if (!mounted) return; + + if (result.error == ErrorCode.UsernameAlreadyTaken) { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text(context.lang.errorUsernameAlreadyTaken), + duration: const Duration(seconds: 3), + ), + ); + return; + } + + showNetworkIssue(context); + + return; + } + + await updateUserdata((user) { + user + ..username = username + ..avatarCounter = user.avatarCounter + 1; + return user; + }); + await notifyContactsAboutProfileChange(); + setState(() {}); // gUser has updated } @override @@ -82,13 +106,45 @@ class _ProfileViewState extends State { ), const SizedBox(height: 20), const Divider(), + BetterListTile( + leading: const Padding( + padding: EdgeInsets.only(right: 5, left: 1), + child: FaIcon( + FontAwesomeIcons.at, + size: 20, + ), + ), + text: context.lang.registerUsernameDecoration, + subtitle: Text(gUser.username), + onTap: () async { + final username = await showDisplayNameChangeDialog( + context, + gUser.username, + context.lang.registerUsernameDecoration, + context.lang.registerUsernameDecoration, + maxLength: 12, + inputFormatters: [ + LengthLimitingTextInputFormatter(12), + FilteringTextInputFormatter.allow(RegExp('[a-z0-9A-Z]')), + ], + ); + if (context.mounted && username != null && username != '') { + await _updateUsername(username); + } + }, + ), BetterListTile( icon: FontAwesomeIcons.userPen, text: context.lang.settingsProfileEditDisplayName, - subtitle: (user == null) ? null : Text(user!.displayName), + subtitle: Text(gUser.displayName), onTap: () async { - final displayName = - await showDisplayNameChangeDialog(context, user!.displayName); + final displayName = await showDisplayNameChangeDialog( + context, + gUser.displayName, + context.lang.settingsProfileEditDisplayName, + context.lang.settingsProfileEditDisplayNameNew, + maxLength: 30, + ); if (context.mounted && displayName != null && displayName != '') { await updateUserDisplayName(displayName); } @@ -103,34 +159,38 @@ class _ProfileViewState extends State { Future showDisplayNameChangeDialog( BuildContext context, String currentName, -) { + String title, + String hintText, { + List? inputFormatters, + int? maxLength, +}) { final controller = TextEditingController(text: currentName); return showDialog( context: context, builder: (BuildContext context) { return AlertDialog( - title: Text(context.lang.settingsProfileEditDisplayName), + title: Text(title), content: TextField( controller: controller, autofocus: true, - maxLength: 30, + inputFormatters: inputFormatters, + maxLength: maxLength, decoration: InputDecoration( - hintText: context.lang.settingsProfileEditDisplayNameNew, + hintText: hintText, ), ), actions: [ TextButton( child: Text(context.lang.cancel), onPressed: () { - Navigator.of(context).pop(); // Close the dialog + Navigator.of(context).pop(); }, ), TextButton( child: Text(context.lang.ok), onPressed: () { - Navigator.of(context) - .pop(controller.text); // Return the input text + Navigator.of(context).pop(controller.text); }, ), ],