* 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’