mirror of
https://github.com/wahyd4/Yep.git
synced 2026-08-11 13:56:10 +10:00
Merge branch 'develop' of https://github.com/CatchChat/Yep into develop
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "icon_more_image.pdf"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
+1
-1
@@ -32,7 +32,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>86</string>
|
||||
<string>87</string>
|
||||
<key>Fabric</key>
|
||||
<dict>
|
||||
<key>APIKey</key>
|
||||
|
||||
@@ -757,8 +757,14 @@ func syncMessageWithMessageInfo(messageInfo: JSONDictionary, inRealm realm: Real
|
||||
newMessage.createdUnixTime = updatedUnixTime
|
||||
}
|
||||
|
||||
// TODO: 可能可以根据是否已进入Conversation界面来修改到达时间,减少聊天界面的插入切换
|
||||
// 之后消息以到达时间排序
|
||||
// 确保网络来的消息比任何已有的消息都要新,防止服务器消息延后发来导致插入到当前消息上面
|
||||
if let latestMessage = realm.objects(Message).sorted("createdUnixTime", ascending: true).last {
|
||||
if newMessage.createdUnixTime < latestMessage.createdUnixTime {
|
||||
println("before newMessage.createdUnixTime: \(newMessage.createdUnixTime)")
|
||||
newMessage.createdUnixTime = latestMessage.createdUnixTime + YepConfig.Message.localNewerTimeInterval
|
||||
println("adjust newMessage.createdUnixTime: \(newMessage.createdUnixTime)")
|
||||
}
|
||||
}
|
||||
|
||||
realm.write {
|
||||
realm.add(newMessage)
|
||||
|
||||
@@ -1502,6 +1502,9 @@ class ConversationViewController: BaseViewController {
|
||||
if newMessagesCount != messageIDs.count {
|
||||
reloadConversationCollectionView()
|
||||
println("newMessagesCount != messageIDs.count")
|
||||
//#if DEBUG
|
||||
YepAlert.alertSorry(message: "请截屏报告!\nnewMessagesCount: \(newMessagesCount)\nmessageIDs.count: \(messageIDs.count): \(messageIDs)", inViewController: self)
|
||||
//#endif
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -2077,9 +2080,6 @@ extension ConversationViewController: UICollectionViewDataSource, UICollectionVi
|
||||
if let messageTextView = self?.messageToolbar.messageTextView {
|
||||
if messageTextView.isFirstResponder() {
|
||||
self?.messageToolbar.state = .Default
|
||||
delay(YepConfig.dismissKeyboardDelayTimeInterval) {
|
||||
self?.performSegueWithIdentifier("showMessageMedia", sender: message)
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -2122,9 +2122,6 @@ extension ConversationViewController: UICollectionViewDataSource, UICollectionVi
|
||||
if let messageTextView = self?.messageToolbar.messageTextView {
|
||||
if messageTextView.isFirstResponder() {
|
||||
self?.messageToolbar.state = .Default
|
||||
delay(YepConfig.dismissKeyboardDelayTimeInterval) {
|
||||
self?.performSegueWithIdentifier("showMessageMedia", sender: message)
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -2195,9 +2192,6 @@ extension ConversationViewController: UICollectionViewDataSource, UICollectionVi
|
||||
if let messageTextView = self?.messageToolbar.messageTextView {
|
||||
if messageTextView.isFirstResponder() {
|
||||
self?.messageToolbar.state = .Default
|
||||
delay(YepConfig.dismissKeyboardDelayTimeInterval) {
|
||||
self?.performSegueWithIdentifier("showMessageMedia", sender: message)
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -2266,9 +2260,6 @@ extension ConversationViewController: UICollectionViewDataSource, UICollectionVi
|
||||
if let messageTextView = self?.messageToolbar.messageTextView {
|
||||
if messageTextView.isFirstResponder() {
|
||||
self?.messageToolbar.state = .Default
|
||||
delay(YepConfig.dismissKeyboardDelayTimeInterval) {
|
||||
self?.performSegueWithIdentifier("showMessageMedia", sender: message)
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,8 @@ class MessageMediaViewController: UIViewController {
|
||||
title = NSLocalizedString("Preview", comment: "")
|
||||
|
||||
automaticallyAdjustsScrollViewInsets = false
|
||||
|
||||
|
||||
mediaControlView.hidden = true
|
||||
|
||||
if let message = message {
|
||||
|
||||
@@ -91,6 +92,8 @@ class MessageMediaViewController: UIViewController {
|
||||
|
||||
case MessageMediaType.Video.rawValue:
|
||||
|
||||
mediaView.imageView.hidden = true
|
||||
|
||||
mediaControlView.type = .Video
|
||||
mediaControlView.playState = .Playing
|
||||
|
||||
@@ -170,6 +173,13 @@ class MessageMediaViewController: UIViewController {
|
||||
delay(0.01) {
|
||||
self.hideStatusBar = true
|
||||
}
|
||||
|
||||
mediaControlView.alpha = 0
|
||||
mediaControlView.hidden = false
|
||||
|
||||
UIView.animateWithDuration(0.2, delay: 0.0, options: .CurveEaseInOut, animations: {
|
||||
self.mediaControlView.alpha = 1
|
||||
}, completion: { _ in })
|
||||
}
|
||||
|
||||
override func viewWillDisappear(animated: Bool) {
|
||||
|
||||
@@ -23,6 +23,7 @@ class MediaControlView: UIView {
|
||||
case .Image:
|
||||
timeLabel.hidden = true
|
||||
playButton.hidden = true
|
||||
shareButton.setImage(UIImage(named: "icon_more_image"), forState: .Normal)
|
||||
|
||||
case .Video:
|
||||
timeLabel.hidden = false
|
||||
@@ -120,7 +121,7 @@ class MediaControlView: UIView {
|
||||
|
||||
let constraintsV = NSLayoutConstraint.constraintsWithVisualFormat("V:|[timeLable]|", options: NSLayoutFormatOptions(0), metrics: nil, views: viewsDictionary)
|
||||
|
||||
let constraintsH = NSLayoutConstraint.constraintsWithVisualFormat("H:|-20-[timeLable]-(>=0)-[playButton]-(>=0)-[shareButton]|", options: .AlignAllCenterY | .AlignAllTop | .AlignAllBottom, metrics: nil, views: viewsDictionary)
|
||||
let constraintsH = NSLayoutConstraint.constraintsWithVisualFormat("H:|-30-[timeLable]-(>=0)-[playButton]-(>=0)-[shareButton]|", options: .AlignAllCenterY | .AlignAllTop | .AlignAllBottom, metrics: nil, views: viewsDictionary)
|
||||
|
||||
NSLayoutConstraint.activateConstraints(constraintsV)
|
||||
NSLayoutConstraint.activateConstraints(constraintsH)
|
||||
|
||||
Reference in New Issue
Block a user