mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-17 15:09:31 +02:00
Device Verification: Incoming screen: UI: Use a rounded MXKImageView
This commit is contained in:
@@ -36,7 +36,7 @@
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="favourite" translatesAutoresizingMaskIntoConstraints="NO" id="4aN-Cq-vqG">
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="favourite" translatesAutoresizingMaskIntoConstraints="NO" id="4aN-Cq-vqG" customClass="MXKImageView">
|
||||
<rect key="frame" x="155.5" y="86" width="64" height="64"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="64" id="BSb-a6-GeY"/>
|
||||
|
||||
@@ -34,7 +34,7 @@ final class DeviceVerificationIncomingViewController: UIViewController {
|
||||
|
||||
@IBOutlet weak var titleLabel: UILabel!
|
||||
|
||||
@IBOutlet weak var avatarImageView: UIImageView!
|
||||
@IBOutlet weak var avatarImageView: MXKImageView!
|
||||
@IBOutlet weak var userDisplaynameLabel: UILabel!
|
||||
@IBOutlet weak var deviceIdLabel: UILabel!
|
||||
|
||||
@@ -146,10 +146,15 @@ final class DeviceVerificationIncomingViewController: UIViewController {
|
||||
self.description2Label.text = VectorL10n.deviceVerificationIncomingDescription2
|
||||
self.continueButton.setTitle(VectorL10n.continue, for: .normal)
|
||||
|
||||
// TODO: Use MXKImageView
|
||||
let url = URL(string: self.viewModel.avatarUrl)
|
||||
let data = try? Data(contentsOf: url!)
|
||||
self.avatarImageView.image = UIImage(data: data!)
|
||||
if let avatarImageView = self.avatarImageView {
|
||||
let defaultavatarImage = AvatarGenerator.generateAvatar(forMatrixItem: self.viewModel.userId, withDisplayName: self.viewModel.userDisplayName)
|
||||
|
||||
avatarImageView.enableInMemoryCache = true
|
||||
avatarImageView.setImageURI(self.viewModel.avatarUrl, withType: nil, andImageOrientation: .up, previewImage: defaultavatarImage, mediaManager: self.viewModel.mediaManager)
|
||||
|
||||
avatarImageView.layer.cornerRadius = avatarImageView.frame.size.width / 2
|
||||
avatarImageView.clipsToBounds = true
|
||||
}
|
||||
|
||||
self.userDisplaynameLabel.text = self.viewModel.userDisplayName
|
||||
self.deviceIdLabel.text = self.viewModel.deviceId
|
||||
|
||||
@@ -29,10 +29,13 @@ final class DeviceVerificationIncomingViewModel: DeviceVerificationIncomingViewM
|
||||
|
||||
// MARK: Public
|
||||
|
||||
var userId: String
|
||||
var userDisplayName: String
|
||||
var avatarUrl: String
|
||||
var deviceId: String
|
||||
|
||||
var mediaManager: MXMediaManager
|
||||
|
||||
weak var viewDelegate: DeviceVerificationIncomingViewModelViewDelegate?
|
||||
weak var coordinatorDelegate: DeviceVerificationIncomingViewModelCoordinatorDelegate?
|
||||
|
||||
@@ -41,10 +44,13 @@ final class DeviceVerificationIncomingViewModel: DeviceVerificationIncomingViewM
|
||||
init(session: MXSession, otherUser: MXUser, transaction: MXIncomingSASTransaction) {
|
||||
self.session = session
|
||||
self.transaction = transaction
|
||||
self.userId = otherUser.userId
|
||||
self.userDisplayName = otherUser.displayname
|
||||
self.avatarUrl = self.session.mediaManager.url(ofContent: otherUser.avatarUrl)
|
||||
self.avatarUrl = otherUser.avatarUrl
|
||||
self.deviceId = transaction.otherDeviceId
|
||||
|
||||
self.mediaManager = session.mediaManager
|
||||
|
||||
self.registerTransactionDidStateChangeNotification(transaction: transaction)
|
||||
}
|
||||
|
||||
|
||||
@@ -30,9 +30,12 @@ protocol DeviceVerificationIncomingViewModelCoordinatorDelegate: class {
|
||||
/// Protocol describing the view model used by `DeviceVerificationIncomingViewController`
|
||||
protocol DeviceVerificationIncomingViewModelType {
|
||||
|
||||
var userId: String { get }
|
||||
var userDisplayName: String { get }
|
||||
var avatarUrl: String { get }
|
||||
var deviceId: String { get }
|
||||
|
||||
var mediaManager: MXMediaManager { get }
|
||||
|
||||
var viewDelegate: DeviceVerificationIncomingViewModelViewDelegate? { get set }
|
||||
var coordinatorDelegate: DeviceVerificationIncomingViewModelCoordinatorDelegate? { get set }
|
||||
|
||||
@@ -10,3 +10,4 @@
|
||||
#import "ThemeService.h"
|
||||
#import "TableViewCellWithCheckBoxAndLabel.h"
|
||||
#import "RecentsDataSource.h"
|
||||
#import "AvatarGenerator.h"
|
||||
|
||||
Reference in New Issue
Block a user