@@ -259,132 +259,7 @@ - (NSString *)conversationSystemMessageComponentTextWithTransaction:(DBReadTrans
259259
260260- (NSString *)infoMessagePreviewTextWithTransaction : (DBReadTransaction *)transaction
261261{
262- switch (_messageType) {
263- case TSInfoMessageTypeLocalUserEndedSession:
264- case TSInfoMessageTypeRemoteUserEndedSession:
265- return OWSLocalizedString (@" SECURE_SESSION_RESET" , nil );
266- case TSInfoMessageTypeUnsupportedMessage:
267- return OWSLocalizedString (@" UNSUPPORTED_ATTACHMENT" , nil );
268- case TSInfoMessageUserNotRegistered:
269- if (self.unregisteredAddress .isValid ) {
270- NSString *recipientName =
271- [SSKEnvironment.shared.contactManagerObjcRef displayNameStringForAddress: self .unregisteredAddress
272- transaction: transaction];
273- return [NSString stringWithFormat: OWSLocalizedString (@" ERROR_UNREGISTERED_USER_FORMAT" ,
274- @" Format string for 'unregistered user' error. Embeds {{the "
275- @" unregistered user's name or signal id}}." ),
276- recipientName];
277- } else {
278- return OWSLocalizedString (@" CONTACT_DETAIL_COMM_TYPE_INSECURE" , nil );
279- }
280- case TSInfoMessageTypeGroupQuit:
281- return OWSLocalizedString (@" GROUP_YOU_LEFT" , nil );
282- case TSInfoMessageTypeGroupUpdate:
283- return [self groupUpdateDescriptionWithTransaction: transaction].string ;
284- case TSInfoMessageAddToContactsOffer:
285- return OWSLocalizedString (@" ADD_TO_CONTACTS_OFFER" ,
286- @" Message shown in conversation view that offers to add an unknown user to your phone's contacts." );
287- case TSInfoMessageVerificationStateChange:
288- return OWSLocalizedString (@" VERIFICATION_STATE_CHANGE_GENERIC" ,
289- @" Generic message indicating that verification state changed for a given user." );
290- case TSInfoMessageAddUserToProfileWhitelistOffer:
291- return OWSLocalizedString (@" ADD_USER_TO_PROFILE_WHITELIST_OFFER" ,
292- @" Message shown in conversation view that offers to share your profile with a user." );
293- case TSInfoMessageAddGroupToProfileWhitelistOffer:
294- return OWSLocalizedString (@" ADD_GROUP_TO_PROFILE_WHITELIST_OFFER" ,
295- @" Message shown in conversation view that offers to share your profile with a group." );
296- case TSInfoMessageTypeDisappearingMessagesUpdate:
297- break ;
298- case TSInfoMessageUnknownProtocolVersion:
299- break ;
300- case TSInfoMessageUserJoinedSignal: {
301- SignalServiceAddress *address = [TSContactThread contactAddressFromThreadId: self .uniqueThreadId
302- transaction: transaction];
303- NSString *recipientName =
304- [SSKEnvironment.shared.contactManagerObjcRef displayNameStringForAddress: address
305- transaction: transaction];
306- NSString *format = OWSLocalizedString (@" INFO_MESSAGE_USER_JOINED_SIGNAL_BODY_FORMAT" ,
307- @" Shown in inbox and conversation when a user joins Signal, embeds the new user's {{contact "
308- @" name}}" );
309- #pragma clang diagnostic push
310- #pragma clang diagnostic ignored "-Wformat-nonliteral"
311- return [NSString stringWithFormat: format, recipientName];
312- #pragma clang diagnostic pop
313- }
314- case TSInfoMessageSyncedThread:
315- return @" " ;
316- case TSInfoMessageProfileUpdate:
317- return [self profileChangeDescriptionWithTransaction: transaction];
318- case TSInfoMessagePhoneNumberChange: {
319- AciObjC *_Nullable aci = [self phoneNumberChangeInfoAci ];
320- if (aci == nil ) {
321- OWSFailDebug (@" Invalid info message" );
322- return @" " ;
323- }
324- SignalServiceAddress *address = [[SignalServiceAddress alloc ] initWithServiceIdObjC: aci];
325- NSString *userName = [SSKEnvironment.shared.contactManagerObjcRef displayNameStringForAddress: address
326- transaction: transaction];
327-
328- NSString *format = OWSLocalizedString (@" INFO_MESSAGE_USER_CHANGED_PHONE_NUMBER_FORMAT" ,
329- @" Indicates that another user has changed their phone number. Embeds: {{ the user's name}}" .);
330- #pragma clang diagnostic push
331- #pragma clang diagnostic ignored "-Wformat-nonliteral"
332- return [NSString stringWithFormat: format, userName];
333- #pragma clang diagnostic pop
334- }
335- case TSInfoMessageRecipientHidden: {
336- // / This does not control whether to show the info message in the chat
337- // / preview. To control that, see ``TSInteraction.shouldAppearInInbox``.
338- SignalServiceAddress *address = [TSContactThread contactAddressFromThreadId: self .uniqueThreadId
339- transaction: transaction];
340- if ([RecipientHidingManagerObjcBridge isHiddenAddress: address tx: transaction]) {
341- return OWSLocalizedString (@" INFO_MESSAGE_CONTACT_REMOVED" ,
342- @" Indicates that the recipient has been removed from the current user's contacts and that "
343- @" messaging them will re-add them." );
344- } else {
345- return OWSLocalizedString (@" INFO_MESSAGE_CONTACT_REINSTATED" ,
346- @" Indicates that a previously-removed recipient has been added back to the current user's "
347- @" contacts." );
348- }
349- }
350- case TSInfoMessagePaymentsActivationRequest:
351- return [self paymentsActivationRequestDescriptionWithTransaction: transaction];
352- case TSInfoMessagePaymentsActivated:
353- return [self paymentsActivatedDescriptionWithTransaction: transaction];
354- case TSInfoMessageThreadMerge:
355- return [self threadMergeDescriptionWithTx: transaction];
356- case TSInfoMessageSessionSwitchover:
357- return [self sessionSwitchoverDescriptionWithTx: transaction];
358- case TSInfoMessageReportedSpam:
359- return OWSLocalizedString (
360- @" INFO_MESSAGE_REPORTED_SPAM" , @" Shown when a user reports a conversation as spam." );
361- case TSInfoMessageLearnedProfileName:
362- return [self learnedProfileNameDescriptionWithTx: transaction];
363- case TSInfoMessageBlockedOtherUser:
364- return OWSLocalizedString (@" INFO_MESSAGE_BLOCKED_OTHER_USER" ,
365- @" An info message inserted into a 1:1 chat when you block another user." );
366- case TSInfoMessageBlockedGroup:
367- return OWSLocalizedString (
368- @" INFO_MESSAGE_BLOCKED_GROUP" , @" An info message inserted into a group chat when you block the group." );
369- case TSInfoMessageUnblockedOtherUser:
370- return OWSLocalizedString (@" INFO_MESSAGE_UNBLOCKED_OTHER_USER" ,
371- @" An info message inserted into a 1:1 chat when you unblock another user." );
372- case TSInfoMessageUnblockedGroup:
373- return OWSLocalizedString (@" INFO_MESSAGE_UNBLOCKED_GROUP" ,
374- @" An info message inserted into a group chat when you unblock the group." );
375- case TSInfoMessageAcceptedMessageRequest:
376- return OWSLocalizedString (@" INFO_MESSAGE_ACCEPTED_MESSAGE_REQUEST" ,
377- @" An info message inserted into the chat when you accept a message request, in a 1:1 or group "
378- @" chat." );
379- case TSInfoMessageTypeEndPoll: {
380- return [self endPollDescriptionWithTransaction: transaction];
381- }
382- case TSInfoMessageTypePinnedMessage:
383- return [self pinnedMessageDescriptionWithTransaction: transaction];
384- }
385-
386- OWSFailDebug (@" Unknown info message type" );
387- return @" " ;
262+ return [self _infoMessagePreviewTextWithTx: transaction];
388263}
389264
390265#pragma mark - OWSReadTracking
0 commit comments