Skip to content

Commit

Permalink
Render sticker events in the timeline
Browse files Browse the repository at this point in the history
- Add the new event type: `m.sticker`

element-hq/element-ios#1819
  • Loading branch information
giomfo committed Mar 29, 2018
1 parent caf09a3 commit 672a370
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 4 deletions.
4 changes: 3 additions & 1 deletion MatrixSDK/JSONModels/MXEvent.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ typedef enum : NSUInteger
MXEventTypeCallCandidates,
MXEventTypeCallAnswer,
MXEventTypeCallHangup,
MXEventTypeSticker,

// The event is a custom event. Refer to its `MXEventTypeString` version
MXEventTypeCustom = 1000
Expand Down Expand Up @@ -106,6 +107,7 @@ FOUNDATION_EXPORT NSString *const kMXEventTypeStringCallInvite;
FOUNDATION_EXPORT NSString *const kMXEventTypeStringCallCandidates;
FOUNDATION_EXPORT NSString *const kMXEventTypeStringCallAnswer;
FOUNDATION_EXPORT NSString *const kMXEventTypeStringCallHangup;
FOUNDATION_EXPORT NSString *const kMXEventTypeStringSticker;

/**
Types of room messages
Expand Down Expand Up @@ -359,7 +361,7 @@ extern NSString *const kMXEventIdentifierKey;
- (BOOL)isUserProfileChange;

/**
Return YES if the event contains a media: image, audio, video or file.
Return YES if the event contains a media: image, audio, video, file or sticker.
*/
- (BOOL)isMediaAttachment;

Expand Down
5 changes: 5 additions & 0 deletions MatrixSDK/JSONModels/MXEvent.m
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
NSString *const kMXEventTypeStringCallCandidates = @"m.call.candidates";
NSString *const kMXEventTypeStringCallAnswer = @"m.call.answer";
NSString *const kMXEventTypeStringCallHangup = @"m.call.hangup";
NSString *const kMXEventTypeStringSticker = @"m.sticker";

NSString *const kMXMessageTypeText = @"m.text";
NSString *const kMXMessageTypeEmote = @"m.emote";
Expand Down Expand Up @@ -350,6 +351,10 @@ - (BOOL)isMediaAttachment
return YES;
}
}
else if (self.eventType == MXEventTypeSticker)
{
return YES;
}
return NO;
}

Expand Down
2 changes: 1 addition & 1 deletion MatrixSDK/MXSession.h
Original file line number Diff line number Diff line change
Expand Up @@ -536,7 +536,7 @@ typedef void (^MXOnBackgroundSyncFail)(NSError *error);

/**
The list of event types considered for counting unread messages returned by MXRoom.localUnreadEventCount.
By default [m.room.name, m.room.topic, m.room.message, m.call.invite, m.room.encrypted].
By default [m.room.name, m.room.topic, m.room.message, m.call.invite, m.room.encrypted, m.sticker].
*/
@property (nonatomic) NSArray<MXEventTypeString> *unreadEventTypes;

Expand Down
6 changes: 4 additions & 2 deletions MatrixSDK/MXSession.m
Original file line number Diff line number Diff line change
Expand Up @@ -229,14 +229,16 @@ - (id)initWithMatrixRestClient:(MXRestClient*)mxRestClient
kMXEventTypeStringCallInvite,
kMXEventTypeStringCallCandidates,
kMXEventTypeStringCallAnswer,
kMXEventTypeStringCallHangup
kMXEventTypeStringCallHangup,
kMXEventTypeStringSticker
];

_unreadEventTypes = @[kMXEventTypeStringRoomName,
kMXEventTypeStringRoomTopic,
kMXEventTypeStringRoomMessage,
kMXEventTypeStringCallInvite,
kMXEventTypeStringRoomEncrypted
kMXEventTypeStringRoomEncrypted,
kMXEventTypeStringSticker
];

_catchingUp = NO;
Expand Down
1 change: 1 addition & 0 deletions MatrixSDK/Utils/MXTools.m
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ + (void)initialize
kMXEventTypeStringCallCandidates,
kMXEventTypeStringCallAnswer,
kMXEventTypeStringCallHangup,
kMXEventTypeStringSticker
];

NSMutableDictionary *map = [NSMutableDictionary dictionaryWithCapacity:eventTypeMapEnumToString.count];
Expand Down

0 comments on commit 672a370

Please sign in to comment.