* Updates swiftlint config
* Fixes swiftlint erros and warnings
* Makes ChattoApp compatible with Xcode 8 b2
* Carthage compatibility with Xcode 8 b2
* Updates .travis.yml to use stable image with Xcode 8.1
* Runs the Swift 3 migrator in ChattoApp.
Affects ChattoApp, ChattoAppTests, Chatto and ChattoAdditions. Does not migrate ChattoTests or ChattoAdditionsTests
* Configures Chatto And ChattoAdditions projects to use Swift 3
* Updates .travis.yml to use Xcode 8 and iPhone 7
* Uses flatMap instead of filter and force cast
* Fixes createCollectionViewLayout not being a function
* Removes useless init overrides
* Fix for new implicit unwrapping optional non-propagation rule
* Removes useless casting
* Audits accessor levels in Observable
* Fixes UIControlState.Normal replaced by UIControlState()
* Favours private over fileprivate where possible
* Audits open/public access level
* Removes conditional if for Swift 2
* Removes label from simulateTapOnTextViewForDelegate
* Audits open/public access levels
* Minor performance improvements:
- Avoids updating font and color in TextBubble if it's not needed: would make attributed text to update
- Avoids updating views in selected setter if value didn't change (setter is called by the collection view as part of dequeuing)
- Avoids creating dictionary of attributes all the time for date attributed string (for some reason this was appearing in profiling with some swift-to-objc conversions)
Uses enum as image key in text style for greater safety.
* Removes linter warnings
* Fixes diacritic marks being clipped.
This changes how text insetting is performed. By using non-zero textInsets, UITextView size is now bigger and diacritic marks can be seen.
* Fixes size of text not matching UITextView.sizeThatFits(_:) for some strings - which was leading to incorrect size of text bubbles -
Also allow user to override layoutConstants in
BaseMessageCollectionViewCell and allow user to specify
VerticalAlignment of avatar: Top, Bottom or Center
-This commit exposes messageViewModel, createBubbleView() and init
functions of BaseMessageCollectionViewCell class to other modules by
changing their access modifiers to ‘public’.
-This also requires to change the access level of createBubbleView()
function of TextMessageCollectionViewCell and
PhotoMessageCollectionViewCell to be made ‘public’
MessageModelProtocol should not require setter for status property.
MessageViewModelProtocol should not require messageModel property.
Both are convenience shortcuts for DemoChatApp and should be removed since they are not used by ChattoAdditions framework.