mirror of
https://github.com/danog/Telegram.git
synced 2024-12-12 09:29:55 +01:00
78 lines
2.3 KiB
Objective-C
78 lines
2.3 KiB
Objective-C
#import "TGChangeNotificationSettingsFutureAction.h"
|
|
|
|
@implementation TGChangeNotificationSettingsFutureAction
|
|
|
|
- (id)initWithPeerId:(int64_t)peerId muteUntil:(int)muteUntil soundId:(int)soundId previewText:(bool)previewText photoNotificationsEnabled:(bool)photoNotificationsEnabled messagesMuted:(bool)messagesMuted
|
|
{
|
|
self = [super initWithType:TGChangeNotificationSettingsFutureActionType];
|
|
if (self != nil)
|
|
{
|
|
self.uniqueId = peerId;
|
|
|
|
_muteUntil = muteUntil;
|
|
_soundId = soundId;
|
|
_previewText = previewText;
|
|
_photoNotificationsEnabled = photoNotificationsEnabled;
|
|
_messagesMuted = messagesMuted;
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (NSData *)serialize
|
|
{
|
|
NSMutableData *data = [[NSMutableData alloc] init];
|
|
|
|
[data appendBytes:&_muteUntil length:4];
|
|
[data appendBytes:&_soundId length:4];
|
|
|
|
int previewText = _previewText ? 1 : 0;
|
|
[data appendBytes:&previewText length:4];
|
|
|
|
uint8_t valuePhotoNotificationsEnabled = _photoNotificationsEnabled ? 1 : 0;
|
|
[data appendBytes:&valuePhotoNotificationsEnabled length:1];
|
|
|
|
uint8_t valueMessagesMuted = _messagesMuted ? 1 : 0;
|
|
[data appendBytes:&valueMessagesMuted length:1];
|
|
|
|
return data;
|
|
}
|
|
|
|
- (TGFutureAction *)deserialize:(NSData *)data
|
|
{
|
|
TGChangeNotificationSettingsFutureAction *action = nil;
|
|
|
|
int ptr = 0;
|
|
|
|
int muteUntil = 0;
|
|
[data getBytes:&muteUntil range:NSMakeRange(ptr, 4)];
|
|
ptr += 4;
|
|
|
|
int soundId = 0;
|
|
[data getBytes:&soundId range:NSMakeRange(ptr, 4)];
|
|
ptr += 4;
|
|
|
|
int previewText = 0;
|
|
[data getBytes:&previewText range:NSMakeRange(ptr, 4)];
|
|
ptr += 4;
|
|
|
|
uint8_t valuePhotoNotificationsEnabled = 1;
|
|
if ((int)data.length >= ptr)
|
|
{
|
|
[data getBytes:&valuePhotoNotificationsEnabled range:NSMakeRange(ptr, 1)];
|
|
ptr += 1;
|
|
}
|
|
|
|
uint8_t valueMessagesMuted = 0;
|
|
if ((int)data.length >= ptr)
|
|
{
|
|
[data getBytes:&valueMessagesMuted range:NSMakeRange(ptr, 1)];
|
|
ptr += 1;
|
|
}
|
|
|
|
action = [[TGChangeNotificationSettingsFutureAction alloc] initWithPeerId:0 muteUntil:muteUntil soundId:soundId previewText:previewText != 0 photoNotificationsEnabled:valuePhotoNotificationsEnabled != 0 messagesMuted:valueMessagesMuted != 0];
|
|
|
|
return action;
|
|
}
|
|
|
|
@end
|