Skip to content

Commit

Permalink
* Modify - File message information in channel preview
Browse files Browse the repository at this point in the history
* Modify - Access control for channel objects
* Add - Required initializers
  • Loading branch information
tezpark committed May 28, 2020
1 parent 40db54e commit e43a173
Show file tree
Hide file tree
Showing 63 changed files with 1,066 additions and 566 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Change Log

### v1.0.8 (May 28, 2020)
* Modified - File message information in channel preview
* Modified - Access control for channel objects
* Added - Required initializers

### v1.0.7 (May 21, 2020)
* Fixed - placeholder not appearing normally when loading image.

Expand Down
2 changes: 1 addition & 1 deletion SendBirdUIKit.framework.dSYM/Contents/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleShortVersionString</key>
<string>1.0.7</string>
<string>1.0.8</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
Expand Down
Binary file not shown.
Binary file modified SendBirdUIKit.framework/Assets.car
Binary file not shown.
12 changes: 6 additions & 6 deletions SendBirdUIKit.framework/Headers/SBUBaseMessageCell.swift
Original file line number Diff line number Diff line change
Expand Up @@ -188,15 +188,15 @@ public class MessageProfileView: UIView {
private let leftSpace: CGFloat = 12
private let rightSpace: CGFloat = 12

init(urlString: String) {
public init(urlString: String) {
self.urlString = urlString
super.init(frame: .init(x: 0, y: 0, width: 26, height: 26))
self.setupViews()
self.setupAutolayout()
self.configure(urlString: urlString)
}

override init(frame: CGRect) {
override public init(frame: CGRect) {
super.init(frame: frame)
self.setupViews()
self.setupAutolayout()
Expand Down Expand Up @@ -254,15 +254,15 @@ public class UserNameView: UIView {

var username: String = ""

init(username: String) {
public init(username: String) {
self.username = username
super.init(frame: .zero)
self.setupViews()
self.setupAutolayout()
self.configure(username: self.username)
}

override init(frame: CGRect) {
override public init(frame: CGRect) {
super.init(frame: frame)
self.setupViews()
self.setupAutolayout()
Expand Down Expand Up @@ -330,7 +330,7 @@ public class MessageStateView: UIView {
var receiptState: SBUMessageReceiptState = .none
var position: MessagePosition = .center

init(sendingState: SBDMessageSendingStatus, receiptState: SBUMessageReceiptState) {
public init(sendingState: SBDMessageSendingStatus, receiptState: SBUMessageReceiptState) {
self.receiptState = receiptState
super.init(frame: .zero)
self.setupViews()
Expand All @@ -339,7 +339,7 @@ public class MessageStateView: UIView {
receiptState: self.receiptState, position: .center)
}

override init(frame: CGRect) {
override public init(frame: CGRect) {
super.init(frame: frame)
self.setupViews()
self.setupAutolayout()
Expand Down
14 changes: 14 additions & 0 deletions SendBirdUIKit.framework/Headers/SBUChannelListViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,20 @@ open class SBUChannelListViewController: UIViewController, UITableViewDelegate,
var customCell: SBUBaseChannelCell? = nil

// MARK: - Lifecycle
@available(*, unavailable, renamed: "SBUChannelListViewController()")
required public init?(coder: NSCoder) {
super.init(coder: coder)
SBULog.info("")
}

/// If you have channel object, use this initialize function.
/// - Parameter channel: Channel object
public init() {
super.init(nibName: nil, bundle: nil)
SBULog.info("")
}


open override func loadView() {
super.loadView()
SBULog.info("")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ open class SBUChannelSettingsViewController: UIViewController, UITableViewDelega
private let actionSheetIdPicker = 2

/// One of two must be set.
private var channel: SBDGroupChannel?
public private(set) var channel: SBDGroupChannel?
private var channelUrl: String?


Expand Down Expand Up @@ -102,7 +102,7 @@ open class SBUChannelSettingsViewController: UIViewController, UITableViewDelega
self.tableView.bounces = false
self.tableView.alwaysBounceVertical = false
self.tableView.separatorStyle = .none
self.tableView.register(SBUChannelSettingCell.loadNib(), forCellReuseIdentifier: SBUChannelSettingCell.className)
self.tableView.register(SBUChannelSettingCell.loadNibForSB(), forCellReuseIdentifier: SBUChannelSettingCell.className)
self.tableView.tableHeaderView = self.userInfoView
self.tableView.rowHeight = UITableView.automaticDimension
self.tableView.estimatedRowHeight = 44.0
Expand Down
48 changes: 29 additions & 19 deletions SendBirdUIKit.framework/Headers/SBUChannelViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ open class SBUChannelViewController: UIViewController, UITableViewDelegate, UITa
}()

private lazy var _messageInputView: SBUMessageInputView = {
return SBUMessageInputView.loadViewFromNib() as! SBUMessageInputView
return SBUMessageInputView.loadViewFromNibForSB() as! SBUMessageInputView
}()

private lazy var _newMessageInfoView: SBUNewMessageInfo = {
Expand All @@ -76,7 +76,7 @@ open class SBUChannelViewController: UIViewController, UITableViewDelegate, UITa
// for Logic

/// One of two must be set.
private var channel: SBDGroupChannel?
public private(set) var channel: SBDGroupChannel?
private var channelUrl: String?

@SBUAtomic var fullMessageList: [SBDBaseMessage] = []
Expand Down Expand Up @@ -436,14 +436,16 @@ open class SBUChannelViewController: UIViewController, UITableViewDelegate, UITa
}
}

private func sendUserMessage(text: String) {
public func sendUserMessage(text: String) {
let text = text.trimmingCharacters(in: .whitespacesAndNewlines)
var preSendMessage: SBDUserMessage?
guard let messageParam = SBDUserMessageParams(message: text) else { return }

self.sendUserMessage(messageParams: messageParam)
}

public func sendUserMessage(messageParams: SBDUserMessageParams) {
SBULog.info("[Request] Send user message")

preSendMessage = self.channel?.sendUserMessage(with: messageParam) { [weak self] userMessage, error in
let preSendMessage = self.channel?.sendUserMessage(with: messageParams) { [weak self] userMessage, error in
guard let self = self else { return }
if let error = error {
guard let requestId = userMessage?.requestId else { return }
Expand All @@ -454,12 +456,12 @@ open class SBUChannelViewController: UIViewController, UITableViewDelegate, UITa
SBULog.error("[Failed] Send user message request: \(error.localizedDescription)")
return
}

guard let message = userMessage else { return }
guard let requestId = userMessage?.requestId else { return }

SBULog.info("[Succeed] Send user message: \(message.description)")

self.preSendMessages.removeValue(forKey: requestId)
self.resendableMessages.removeValue(forKey: requestId)
self.upsertMessages(messages: [message], needReload: true)
Expand All @@ -476,27 +478,31 @@ open class SBUChannelViewController: UIViewController, UITableViewDelegate, UITa
self.scrollToBottom()
}

private func sendFileMessage(fileData: Data, fileName: String, mimeType: String) {
public func sendFileMessage(fileData: Data, fileName: String, mimeType: String) {
let messageParams = SBDFileMessageParams(file: fileData)!
messageParams.fileName = fileName
messageParams.mimeType = mimeType
messageParams.fileSize = UInt(fileData.count)

self.sendFileMessage(messageParams: messageParams)
}

public func sendFileMessage(messageParams: SBDFileMessageParams) {
/*********************************
Thumbnail is a premium feature.
***********************************/

var preSendMessage: SBDFileMessage?

let fileMessageParams = SBDFileMessageParams(file: fileData)!
fileMessageParams.fileName = fileName
fileMessageParams.mimeType = mimeType
fileMessageParams.fileSize = UInt(fileData.count)
guard let channel = self.channel else { return }

SBULog.info("[Request] Send file message")
preSendMessage = channel.sendFileMessage(with: fileMessageParams,
var preSendMessage: SBDFileMessage?
preSendMessage = channel.sendFileMessage(with: messageParams,
progressHandler: {
// [weak self]
bytesSent, totalBytesSent, totalBytesExpectedToSend in

//// If need reload cell for progress, call reload action in here.
guard let requestId = preSendMessage?.requestId else { return }
guard let requestId = preSendMessage?.requestId else { return }
let fileTransferProgress = CGFloat(totalBytesSent) / CGFloat(totalBytesExpectedToSend)
SBULog.info("File message transfer progress: \(requestId) - \(fileTransferProgress)")

Expand All @@ -516,7 +522,9 @@ open class SBUChannelViewController: UIViewController, UITableViewDelegate, UITa
if let error = error {
guard let requestId = fileMessage?.requestId else { return }
self?.resendableMessages[requestId] = fileMessage
self?.resendableFileData[requestId] = ["data": fileData, "type": mimeType, "filename": fileName] as [String : AnyObject]
if let fileData = messageParams.file, let mimeType = messageParams.mimeType, let fileName = messageParams.fileName {
self?.resendableFileData[requestId] = ["data": fileData, "type": mimeType, "filename": fileName] as [String : AnyObject]
}
self?.preSendMessages.removeValue(forKey: requestId)
self?.preSendFileData.removeValue(forKey: requestId)
self?.sortAllMessageList(needReload: true)
Expand Down Expand Up @@ -544,7 +552,9 @@ open class SBUChannelViewController: UIViewController, UITableViewDelegate, UITa
guard let unwrappedPreSendMessage = preSendMessage, let requestId = unwrappedPreSendMessage.requestId else { return }
SBULog.info("Presend file message: \(unwrappedPreSendMessage.description)")
self.preSendMessages[requestId] = unwrappedPreSendMessage
self.preSendFileData[requestId] = ["data": fileData, "type": mimeType, "filename": fileName] as [String : AnyObject]
if let fileData = messageParams.file, let mimeType = messageParams.mimeType, let fileName = messageParams.fileName {
self.preSendFileData[requestId] = ["data": fileData, "type": mimeType, "filename": fileName] as [String : AnyObject]
}
self.fileTransferProgress[requestId] = 0
self.sortAllMessageList(needReload: true)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ open class SBUCreateChannelViewController: UIViewController, UITableViewDelegate
self.tableView.delegate = self
self.tableView.dataSource = self
self.tableView.separatorStyle = .none
self.tableView.register(SBUUserCell.loadNib(), forCellReuseIdentifier: SBUUserCell.className) // for xib
self.tableView.register(SBUUserCell.loadNibForSB(), forCellReuseIdentifier: SBUUserCell.className) // for xib
self.tableView.rowHeight = UITableView.automaticDimension
self.tableView.estimatedRowHeight = 44.0
self.view.addSubview(self.tableView)
Expand Down Expand Up @@ -180,7 +180,7 @@ open class SBUCreateChannelViewController: UIViewController, UITableViewDelegate

if let users = users {
// for using customized user list
if let customizedUsers = self.customizedUsers {
if self.customizedUsers != nil {
self.customizedUsers! += users
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ open class SBUInviteUserViewController: UIViewController, UITableViewDelegate, U
}()

// for logic
private var channel: SBDGroupChannel?
public private(set) var channel: SBDGroupChannel?
private var channelUrl: String?

@SBUAtomic private var customizedUsers: [SBUUser]?
Expand Down Expand Up @@ -125,7 +125,7 @@ open class SBUInviteUserViewController: UIViewController, UITableViewDelegate, U
self.tableView.delegate = self
self.tableView.dataSource = self
self.tableView.separatorStyle = .none
self.tableView.register(SBUUserCell.loadNib(), forCellReuseIdentifier: SBUUserCell.className) // for xib
self.tableView.register(SBUUserCell.loadNibForSB(), forCellReuseIdentifier: SBUUserCell.className) // for xib
self.tableView.rowHeight = UITableView.automaticDimension
self.tableView.estimatedRowHeight = 44.0
self.view.addSubview(self.tableView)
Expand Down Expand Up @@ -239,7 +239,7 @@ open class SBUInviteUserViewController: UIViewController, UITableViewDelegate, U

if let users = users {
// Customized user list
if let customizedUsers = self.customizedUsers {
if self.customizedUsers != nil {
self.customizedUsers! += users
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ open class SBUMemberListViewController: UIViewController, UITableViewDelegate, U
}()

// for logic
private var channel: SBDGroupChannel?
public private(set) var channel: SBDGroupChannel?
private var channelUrl: String?

private var memberList: [SBDMember] = []
Expand Down Expand Up @@ -92,7 +92,7 @@ open class SBUMemberListViewController: UIViewController, UITableViewDelegate, U
self.tableView.delegate = self
self.tableView.dataSource = self
self.tableView.separatorStyle = .none
self.tableView.register(SBUUserCell.loadNib(), forCellReuseIdentifier: SBUUserCell.className) // for xib
self.tableView.register(SBUUserCell.loadNibForSB(), forCellReuseIdentifier: SBUUserCell.className) // for xib
self.tableView.rowHeight = UITableView.automaticDimension
self.tableView.estimatedRowHeight = 44.0
self.view.addSubview(self.tableView)
Expand Down
6 changes: 3 additions & 3 deletions SendBirdUIKit.framework/Headers/SBUMessageInputView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,13 @@ open class SBUMessageInputView: UIView, SBUActionSheetDelegate, UITextViewDelega
super.init(coder: aDecoder)
}

@available(*, unavailable, renamed: "SBUMessageInputView.loadViewFromNib()")
@available(*, unavailable, renamed: "SBUMessageInputView.loadViewFromNibForSB()")
public override init(frame: CGRect) {
super.init(frame: frame)
}

@available(*, unavailable, renamed: "SBUMessageInputView.loadViewFromNib()")
init() {
@available(*, unavailable, renamed: "SBUMessageInputView.loadViewFromNibForSB()")
public init() {
super.init(frame: .zero)
}

Expand Down
6 changes: 5 additions & 1 deletion SendBirdUIKit.framework/Headers/SBUNewMessageInfo.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,11 @@ open class SBUNewMessageInfo: UIView {
self.setupAutolayout()
}

@available(*, unavailable, renamed: "SBUChannelTitleView.init(frame:)")
public init() {
super.init(frame: .zero)
}

@available(*, unavailable, renamed: "SBUNewMessageInfo.init(frame:)")
required public init?(coder: NSCoder) {
super.init(coder: coder)
}
Expand Down
Loading

0 comments on commit e43a173

Please sign in to comment.