Add more asserts around thread safety.
This commit is contained in:
parent
648ff09546
commit
aece6832f4
@ -166,6 +166,7 @@ class GifPickerCell: UICollectionViewCell {
|
||||
assetDescription: previewAssetDescription,
|
||||
priority: .low,
|
||||
success: { [weak self] assetRequest, asset in
|
||||
AssertIsOnMainThread()
|
||||
guard let self = self else { return }
|
||||
guard assetRequest == self.previewAssetRequest else {
|
||||
owsFailDebug("Obsolete request callback.")
|
||||
@ -176,6 +177,7 @@ class GifPickerCell: UICollectionViewCell {
|
||||
self.ensureViewState()
|
||||
},
|
||||
failure: { [weak self] assetRequest in
|
||||
AssertIsOnMainThread()
|
||||
guard let self = self else { return }
|
||||
guard assetRequest == self.previewAssetRequest else {
|
||||
owsFailDebug("Obsolete request callback.")
|
||||
@ -187,6 +189,8 @@ class GifPickerCell: UICollectionViewCell {
|
||||
}
|
||||
|
||||
private func ensureViewState() {
|
||||
AssertIsOnMainThread()
|
||||
|
||||
guard isCellVisible, let asset = previewAsset else {
|
||||
// Nothing to show,
|
||||
clearViewState()
|
||||
@ -216,6 +220,8 @@ class GifPickerCell: UICollectionViewCell {
|
||||
}
|
||||
|
||||
private func clearViewState() {
|
||||
AssertIsOnMainThread()
|
||||
|
||||
imageView.image = nil
|
||||
imageView.isHidden = true
|
||||
mp4View.video = nil
|
||||
|
||||
@ -113,6 +113,8 @@ open class ManualLayoutView: UIView {
|
||||
}
|
||||
|
||||
func viewSizeDidChange() {
|
||||
AssertIsOnMainThread()
|
||||
|
||||
layoutSubviews()
|
||||
}
|
||||
|
||||
@ -151,6 +153,8 @@ open class ManualLayoutView: UIView {
|
||||
// MARK: - Reset
|
||||
|
||||
open func reset() {
|
||||
AssertIsOnMainThread()
|
||||
|
||||
removeAllSubviews()
|
||||
layoutBlocks.removeAll()
|
||||
|
||||
|
||||
@ -98,8 +98,10 @@ open class ManualStackView: ManualLayoutView {
|
||||
// We cache the resolved layout of the subviews.
|
||||
private var arrangement: Arrangement? {
|
||||
didSet {
|
||||
invalidateIntrinsicContentSize()
|
||||
setNeedsLayout()
|
||||
if arrangement != nil {
|
||||
invalidateIntrinsicContentSize()
|
||||
setNeedsLayout()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -111,8 +113,6 @@ open class ManualStackView: ManualLayoutView {
|
||||
|
||||
public func invalidateArrangement() {
|
||||
arrangement = nil
|
||||
invalidateIntrinsicContentSize()
|
||||
setNeedsLayout()
|
||||
}
|
||||
|
||||
public override func sizeThatFits(_ size: CGSize) -> CGSize {
|
||||
@ -587,6 +587,8 @@ open class ManualStackView: ManualLayoutView {
|
||||
}
|
||||
|
||||
open override func reset() {
|
||||
AssertIsOnMainThread()
|
||||
|
||||
super.reset()
|
||||
|
||||
alignment = .fill
|
||||
|
||||
Loading…
Reference in New Issue
Block a user