diff --git a/Signal/Images.xcassets/ic_timer_disabled.imageset/Contents.json b/Signal/Images.xcassets/ic_timer_disabled.imageset/Contents.json new file mode 100644 index 000000000..ac744fcc8 --- /dev/null +++ b/Signal/Images.xcassets/ic_timer_disabled.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "timer-disabled-48@1x.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "timer-disabled-48@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "timer-disabled-48@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Signal/Images.xcassets/ic_timer_disabled.imageset/timer-disabled-48@1x.png b/Signal/Images.xcassets/ic_timer_disabled.imageset/timer-disabled-48@1x.png new file mode 100644 index 000000000..4df12ac01 Binary files /dev/null and b/Signal/Images.xcassets/ic_timer_disabled.imageset/timer-disabled-48@1x.png differ diff --git a/Signal/Images.xcassets/ic_timer_disabled.imageset/timer-disabled-48@2x.png b/Signal/Images.xcassets/ic_timer_disabled.imageset/timer-disabled-48@2x.png new file mode 100644 index 000000000..c54dc599d Binary files /dev/null and b/Signal/Images.xcassets/ic_timer_disabled.imageset/timer-disabled-48@2x.png differ diff --git a/Signal/Images.xcassets/ic_timer_disabled.imageset/timer-disabled-48@3x.png b/Signal/Images.xcassets/ic_timer_disabled.imageset/timer-disabled-48@3x.png new file mode 100644 index 000000000..b6de4adc2 Binary files /dev/null and b/Signal/Images.xcassets/ic_timer_disabled.imageset/timer-disabled-48@3x.png differ diff --git a/Signal/Images.xcassets/system_message_disappearing_messages.imageset/Contents.json b/Signal/Images.xcassets/system_message_disappearing_messages.imageset/Contents.json new file mode 100644 index 000000000..cf2e86377 --- /dev/null +++ b/Signal/Images.xcassets/system_message_disappearing_messages.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "timer-20@1x.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "timer-20@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "timer-20@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Signal/Images.xcassets/system_message_disappearing_messages.imageset/timer-20@1x.png b/Signal/Images.xcassets/system_message_disappearing_messages.imageset/timer-20@1x.png new file mode 100644 index 000000000..51390431d Binary files /dev/null and b/Signal/Images.xcassets/system_message_disappearing_messages.imageset/timer-20@1x.png differ diff --git a/Signal/Images.xcassets/system_message_disappearing_messages.imageset/timer-20@2x.png b/Signal/Images.xcassets/system_message_disappearing_messages.imageset/timer-20@2x.png new file mode 100644 index 000000000..0f77e7eeb Binary files /dev/null and b/Signal/Images.xcassets/system_message_disappearing_messages.imageset/timer-20@2x.png differ diff --git a/Signal/Images.xcassets/system_message_disappearing_messages.imageset/timer-20@3x.png b/Signal/Images.xcassets/system_message_disappearing_messages.imageset/timer-20@3x.png new file mode 100644 index 000000000..e0091c6f6 Binary files /dev/null and b/Signal/Images.xcassets/system_message_disappearing_messages.imageset/timer-20@3x.png differ diff --git a/Signal/Images.xcassets/system_message_disappearing_messages_disabled.imageset/Contents.json b/Signal/Images.xcassets/system_message_disappearing_messages_disabled.imageset/Contents.json new file mode 100644 index 000000000..31bf40a72 --- /dev/null +++ b/Signal/Images.xcassets/system_message_disappearing_messages_disabled.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "timer-disabled-20@1x.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "timer-disabled-20@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "timer-disabled-20@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Signal/Images.xcassets/system_message_disappearing_messages_disabled.imageset/timer-disabled-20@1x.png b/Signal/Images.xcassets/system_message_disappearing_messages_disabled.imageset/timer-disabled-20@1x.png new file mode 100644 index 000000000..9f71d7c96 Binary files /dev/null and b/Signal/Images.xcassets/system_message_disappearing_messages_disabled.imageset/timer-disabled-20@1x.png differ diff --git a/Signal/Images.xcassets/system_message_disappearing_messages_disabled.imageset/timer-disabled-20@2x.png b/Signal/Images.xcassets/system_message_disappearing_messages_disabled.imageset/timer-disabled-20@2x.png new file mode 100644 index 000000000..bed94e482 Binary files /dev/null and b/Signal/Images.xcassets/system_message_disappearing_messages_disabled.imageset/timer-disabled-20@2x.png differ diff --git a/Signal/Images.xcassets/system_message_disappearing_messages_disabled.imageset/timer-disabled-20@3x.png b/Signal/Images.xcassets/system_message_disappearing_messages_disabled.imageset/timer-disabled-20@3x.png new file mode 100644 index 000000000..dc0f5fe9e Binary files /dev/null and b/Signal/Images.xcassets/system_message_disappearing_messages_disabled.imageset/timer-disabled-20@3x.png differ diff --git a/Signal/src/ViewControllers/ConversationView/Cells/OWSSystemMessageCell.m b/Signal/src/ViewControllers/ConversationView/Cells/OWSSystemMessageCell.m index b26aa48cc..87f46700d 100644 --- a/Signal/src/ViewControllers/ConversationView/Cells/OWSSystemMessageCell.m +++ b/Signal/src/ViewControllers/ConversationView/Cells/OWSSystemMessageCell.m @@ -237,8 +237,20 @@ typedef void (^SystemMessageActionBlock)(void); case TSInfoMessageAddGroupToProfileWhitelistOffer: case TSInfoMessageTypeGroupUpdate: case TSInfoMessageTypeGroupQuit: - case TSInfoMessageTypeDisappearingMessagesUpdate: return nil; + case TSInfoMessageTypeDisappearingMessagesUpdate: { + BOOL areDisappearingMessagesEnabled = YES; + if ([interaction isKindOfClass:[OWSDisappearingConfigurationUpdateInfoMessage class]]) { + areDisappearingMessagesEnabled + = ((OWSDisappearingConfigurationUpdateInfoMessage *)interaction).configurationIsEnabled; + } else { + OWSFail(@"%@ unexpected interaction type: %@", self.logTag, interaction.class); + } + result = (areDisappearingMessagesEnabled + ? [UIImage imageNamed:@"system_message_disappearing_messages"] + : [UIImage imageNamed:@"system_message_disappearing_messages_disabled"]); + break; + } case TSInfoMessageVerificationStateChange: OWSAssert([interaction isKindOfClass:[OWSVerificationStateChangeMessage class]]); if ([interaction isKindOfClass:[OWSVerificationStateChangeMessage class]]) { diff --git a/Signal/src/ViewControllers/ThreadSettings/OWSConversationSettingsViewController.m b/Signal/src/ViewControllers/ThreadSettings/OWSConversationSettingsViewController.m index 6ffd09191..f5f109360 100644 --- a/Signal/src/ViewControllers/ThreadSettings/OWSConversationSettingsViewController.m +++ b/Signal/src/ViewControllers/ThreadSettings/OWSConversationSettingsViewController.m @@ -378,7 +378,10 @@ const CGFloat kIconViewLength = 24; [topView autoPinEdgeToSuperviewEdge:ALEdgeTop]; [topView autoSetDimension:ALDimensionHeight toSize:kOWSTable_DefaultCellHeight]; - UIImageView *iconView = [strongSelf viewForIconWithName:@"ic_timer"]; + NSString *iconName + = (strongSelf.disappearingMessagesConfiguration.isEnabled ? @"ic_timer" + : @"ic_timer_disabled"); + UIImageView *iconView = [strongSelf viewForIconWithName:iconName]; [topView addSubview:iconView]; [iconView autoVCenterInSuperview]; [iconView autoPinLeadingToSuperviewMargin]; diff --git a/SignalServiceKit/src/Messages/Interactions/OWSDisappearingConfigurationUpdateInfoMessage.h b/SignalServiceKit/src/Messages/Interactions/OWSDisappearingConfigurationUpdateInfoMessage.h index 852fa1496..52b2bb373 100644 --- a/SignalServiceKit/src/Messages/Interactions/OWSDisappearingConfigurationUpdateInfoMessage.h +++ b/SignalServiceKit/src/Messages/Interactions/OWSDisappearingConfigurationUpdateInfoMessage.h @@ -11,6 +11,8 @@ NS_ASSUME_NONNULL_BEGIN @interface OWSDisappearingConfigurationUpdateInfoMessage : TSInfoMessage +@property (nonatomic, readonly) BOOL configurationIsEnabled; + /** * @param remoteName is nil when created by the local user */ diff --git a/SignalServiceKit/src/Messages/Interactions/OWSDisappearingConfigurationUpdateInfoMessage.m b/SignalServiceKit/src/Messages/Interactions/OWSDisappearingConfigurationUpdateInfoMessage.m index bcb58ce73..13561f40c 100644 --- a/SignalServiceKit/src/Messages/Interactions/OWSDisappearingConfigurationUpdateInfoMessage.m +++ b/SignalServiceKit/src/Messages/Interactions/OWSDisappearingConfigurationUpdateInfoMessage.m @@ -12,7 +12,6 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, readonly, nullable) NSString *createdByRemoteName; @property (nonatomic, readonly) BOOL createdInExistingGroup; -@property (nonatomic, readonly) BOOL configurationIsEnabled; @property (nonatomic, readonly) uint32_t configurationDurationSeconds; @end