mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
Rather than verifying eachothers keys separately, you now verify the privacy with your recipient by sharing a single composite number or QRCode. This is a breaking change, in coordination with Desktop and Android. UX -- Fingeprint is no longer in line with identity key error. Instead you have the option of going to the full-screen safety number verification experience. Overhauled fingerprint design ----------------------------- * use same modal dismiss button as elsewhere * remove fingerprint from settings. * quick slide in animation vs slow fade * existing was painfully slow * blur effect is better metaphor for something slide over top * anyway there was a rendering glitch in the end of fade where underlying navbar would "snap" out Also Fixed ---------- Always provide a name string for contact * Centralize all the nil-checking * Fall back to "unknown contact" allow multi-line error messages // FREEBIE
37 lines
1.5 KiB
Objective-C
37 lines
1.5 KiB
Objective-C
// Copyright (c) 2016 Open Whisper Systems. All rights reserved.
|
|
|
|
#import "OWSMessagesBubblesSizeCalculator.h"
|
|
#import "OWSDisplayedMessageCollectionViewCell.h"
|
|
#import "TSMessageAdapter.h"
|
|
|
|
@implementation OWSMessagesBubblesSizeCalculator
|
|
|
|
/**
|
|
* Computes and returns the size of the `messageBubbleImageView` property
|
|
* of a `JSQMessagesCollectionViewCell` for the specified messageData at indexPath.
|
|
*
|
|
* @param messageData A message data object.
|
|
* @param indexPath The index path at which messageData is located.
|
|
* @param layout The layout object asking for this information.
|
|
*
|
|
* @return A sizes that specifies the required dimensions to display the entire message contents.
|
|
* Note, this is *not* the entire cell, but only its message bubble.
|
|
*/
|
|
- (CGSize)messageBubbleSizeForMessageData:(id<JSQMessageData>)messageData
|
|
atIndexPath:(NSIndexPath *)indexPath
|
|
withLayout:(JSQMessagesCollectionViewFlowLayout *)layout
|
|
{
|
|
CGSize superSize = [super messageBubbleSizeForMessageData:messageData atIndexPath:indexPath withLayout:layout];
|
|
|
|
TSMessageAdapter *message = (TSMessageAdapter *)messageData;
|
|
if (message.messageType == TSInfoMessageAdapter || message.messageType == TSErrorMessageAdapter) {
|
|
// Prevent cropping message text by accounting for message container/icon
|
|
// But also allow for multi-line error messages.
|
|
superSize.height = fmax(superSize.height, OWSDisplayedMessageCellHeight);
|
|
}
|
|
|
|
return superSize;
|
|
}
|
|
|
|
@end
|