diff --git a/Riot/Assets/Images.xcassets/Room/VoiceMessages/voice_message_cancel_fade.imageset/Contents.json b/Riot/Assets/Images.xcassets/Room/VoiceMessages/voice_message_cancel_gradient.imageset/Contents.json similarity index 60% rename from Riot/Assets/Images.xcassets/Room/VoiceMessages/voice_message_cancel_fade.imageset/Contents.json rename to Riot/Assets/Images.xcassets/Room/VoiceMessages/voice_message_cancel_gradient.imageset/Contents.json index a9f8f0bba..1d88a1deb 100644 --- a/Riot/Assets/Images.xcassets/Room/VoiceMessages/voice_message_cancel_fade.imageset/Contents.json +++ b/Riot/Assets/Images.xcassets/Room/VoiceMessages/voice_message_cancel_gradient.imageset/Contents.json @@ -1,17 +1,17 @@ { "images" : [ { - "filename" : "voice_message_cancel_fade.png", + "filename" : "voice_message_cancel_gradient.png", "idiom" : "universal", "scale" : "1x" }, { - "filename" : "voice_message_cancel_fade@2x.png", + "filename" : "voice_message_cancel_gradient@2x.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "voice_message_cancel_fade@3x.png", + "filename" : "voice_message_cancel_gradient@3x.png", "idiom" : "universal", "scale" : "3x" } diff --git a/Riot/Assets/Images.xcassets/Room/VoiceMessages/voice_message_cancel_fade.imageset/voice_message_cancel_fade.png b/Riot/Assets/Images.xcassets/Room/VoiceMessages/voice_message_cancel_gradient.imageset/voice_message_cancel_gradient.png similarity index 100% rename from Riot/Assets/Images.xcassets/Room/VoiceMessages/voice_message_cancel_fade.imageset/voice_message_cancel_fade.png rename to Riot/Assets/Images.xcassets/Room/VoiceMessages/voice_message_cancel_gradient.imageset/voice_message_cancel_gradient.png diff --git a/Riot/Assets/Images.xcassets/Room/VoiceMessages/voice_message_cancel_fade.imageset/voice_message_cancel_fade@2x.png b/Riot/Assets/Images.xcassets/Room/VoiceMessages/voice_message_cancel_gradient.imageset/voice_message_cancel_gradient@2x.png similarity index 100% rename from Riot/Assets/Images.xcassets/Room/VoiceMessages/voice_message_cancel_fade.imageset/voice_message_cancel_fade@2x.png rename to Riot/Assets/Images.xcassets/Room/VoiceMessages/voice_message_cancel_gradient.imageset/voice_message_cancel_gradient@2x.png diff --git a/Riot/Assets/Images.xcassets/Room/VoiceMessages/voice_message_cancel_fade.imageset/voice_message_cancel_fade@3x.png b/Riot/Assets/Images.xcassets/Room/VoiceMessages/voice_message_cancel_gradient.imageset/voice_message_cancel_gradient@3x.png similarity index 100% rename from Riot/Assets/Images.xcassets/Room/VoiceMessages/voice_message_cancel_fade.imageset/voice_message_cancel_fade@3x.png rename to Riot/Assets/Images.xcassets/Room/VoiceMessages/voice_message_cancel_gradient.imageset/voice_message_cancel_gradient@3x.png diff --git a/Riot/Generated/Images.swift b/Riot/Generated/Images.swift index 7588bee9c..4888dcb5d 100644 --- a/Riot/Generated/Images.swift +++ b/Riot/Generated/Images.swift @@ -130,7 +130,7 @@ internal enum Asset { internal static let videoCall = ImageAsset(name: "video_call") internal static let voiceCallHangonIcon = ImageAsset(name: "voice_call_hangon_icon") internal static let voiceCallHangupIcon = ImageAsset(name: "voice_call_hangup_icon") - internal static let voiceMessageCancelFade = ImageAsset(name: "voice_message_cancel_fade") + internal static let voiceMessageCancelGradient = ImageAsset(name: "voice_message_cancel_gradient") internal static let voiceMessageRecordButtonDefault = ImageAsset(name: "voice_message_record_button_default") internal static let voiceMessageRecordButtonRecording = ImageAsset(name: "voice_message_record_button_recording") internal static let addMemberFloatingAction = ImageAsset(name: "add_member_floating_action") diff --git a/Riot/Modules/Room/Views/InputToolbar/RoomInputToolbarView.m b/Riot/Modules/Room/Views/InputToolbar/RoomInputToolbarView.m index d6a8d9e1e..fe573c6b1 100644 --- a/Riot/Modules/Room/Views/InputToolbar/RoomInputToolbarView.m +++ b/Riot/Modules/Room/Views/InputToolbar/RoomInputToolbarView.m @@ -41,7 +41,6 @@ const NSTimeInterval kActionMenuComposerHeightAnimationDuration = .3; UIAlertController *actionSheet; } -@property (nonatomic, weak) IBOutlet UIView *voiceMessageToolbarContainerView; @property (nonatomic, strong) VoiceMessageToolbarView *voiceMessageToolbarView; @end @@ -80,9 +79,13 @@ const NSTimeInterval kActionMenuComposerHeightAnimationDuration = .3; self.isEncryptionEnabled = _isEncryptionEnabled; self.voiceMessageToolbarView = [VoiceMessageToolbarView instanceFromNib]; - self.voiceMessageToolbarView.frame = self.voiceMessageToolbarContainerView.bounds; - self.voiceMessageToolbarView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; - [self.voiceMessageToolbarContainerView addSubview:self.voiceMessageToolbarView]; + self.voiceMessageToolbarView.translatesAutoresizingMaskIntoConstraints = NO; + [self addSubview:self.voiceMessageToolbarView]; + + [NSLayoutConstraint activateConstraints:@[[self.mainToolbarView.topAnchor constraintEqualToAnchor:self.voiceMessageToolbarView.topAnchor], + [self.mainToolbarView.leftAnchor constraintEqualToAnchor:self.voiceMessageToolbarView.leftAnchor], + [self.mainToolbarView.bottomAnchor constraintEqualToAnchor:self.voiceMessageToolbarView.bottomAnchor], + [self.mainToolbarView.rightAnchor constraintEqualToAnchor:self.voiceMessageToolbarView.rightAnchor]]]; [self _updateUIWithTextMessage:nil animated:NO]; } @@ -434,7 +437,7 @@ const NSTimeInterval kActionMenuComposerHeightAnimationDuration = .3; [UIView animateWithDuration:(animated ? 0.15f : 0.0f) animations:^{ self.rightInputToolbarButton.alpha = textMessage.length ? 1.0f : 0.0f; - self.voiceMessageToolbarContainerView.alpha = textMessage.length ? 0.0f : 1.0; + self.voiceMessageToolbarView.alpha = textMessage.length ? 0.0f : 1.0; }]; } diff --git a/Riot/Modules/Room/Views/InputToolbar/RoomInputToolbarView.xib b/Riot/Modules/Room/Views/InputToolbar/RoomInputToolbarView.xib index a170d73e0..1056cd289 100644 --- a/Riot/Modules/Room/Views/InputToolbar/RoomInputToolbarView.xib +++ b/Riot/Modules/Room/Views/InputToolbar/RoomInputToolbarView.xib @@ -106,17 +106,12 @@ - - - - - @@ -124,11 +119,8 @@ - - - @@ -159,7 +151,6 @@ - diff --git a/Riot/Modules/Room/Views/InputToolbar/VoiceMessageToolbarView.swift b/Riot/Modules/Room/Views/InputToolbar/VoiceMessageToolbarView.swift index 5b56b653e..959b63a74 100644 --- a/Riot/Modules/Room/Views/InputToolbar/VoiceMessageToolbarView.swift +++ b/Riot/Modules/Room/Views/InputToolbar/VoiceMessageToolbarView.swift @@ -32,7 +32,7 @@ class VoiceMessageToolbarView: PassthroughView, Themable, UIGestureRecognizerDel @IBOutlet private var slideToCancelContainerView: UIView! @IBOutlet private var slideToCancelLabel: UILabel! @IBOutlet private var slideToCancelChevron: UIImageView! - @IBOutlet private var slideToCancelFade: UIImageView! + @IBOutlet private var slideToCancelGradient: UIImageView! private var cancelLabelToRecordButtonDistance: CGFloat = 0.0 @@ -59,6 +59,8 @@ class VoiceMessageToolbarView: PassthroughView, Themable, UIGestureRecognizerDel override func awakeFromNib() { super.awakeFromNib() + slideToCancelGradient.image = Asset.Images.voiceMessageCancelGradient.image.withRenderingMode(.alwaysTemplate) + let longPressGesture = UILongPressGestureRecognizer(target: self, action: #selector(handleLongPress)) longPressGesture.delegate = self longPressGesture.minimumPressDuration = 0.1 @@ -117,7 +119,7 @@ class VoiceMessageToolbarView: PassthroughView, Themable, UIGestureRecognizerDel case .idle: self.slideToCancelContainerView.alpha = 0.0 self.backgroundView.alpha = 0.0 - self.slideToCancelFade.alpha = 0.0 + self.slideToCancelGradient.alpha = 0.0 self.recordButtonsContainerView.transform = .identity self.slideToCancelContainerView.transform = .identity self.primaryRecordButton.alpha = 1.0 @@ -125,7 +127,7 @@ class VoiceMessageToolbarView: PassthroughView, Themable, UIGestureRecognizerDel case .recording: self.slideToCancelContainerView.alpha = 1.0 self.backgroundView.alpha = 1.0 - self.slideToCancelFade.alpha = 1.0 + self.slideToCancelGradient.alpha = 1.0 self.primaryRecordButton.alpha = 0.0 self.secondaryRecordButton.alpha = 1.0 } @@ -138,6 +140,7 @@ class VoiceMessageToolbarView: PassthroughView, Themable, UIGestureRecognizerDel self.primaryRecordButton.tintColor = theme.textSecondaryColor self.slideToCancelLabel.textColor = theme.textSecondaryColor self.slideToCancelChevron.tintColor = theme.textSecondaryColor + self.slideToCancelGradient.tintColor = theme.backgroundColor } } } diff --git a/Riot/Modules/Room/Views/InputToolbar/VoiceMessageToolbarView.xib b/Riot/Modules/Room/Views/InputToolbar/VoiceMessageToolbarView.xib index 2b7d80a62..e74a79442 100644 --- a/Riot/Modules/Room/Views/InputToolbar/VoiceMessageToolbarView.xib +++ b/Riot/Modules/Room/Views/InputToolbar/VoiceMessageToolbarView.xib @@ -36,7 +36,7 @@ - + @@ -98,7 +98,7 @@ - + @@ -106,7 +106,7 @@ - +