Pass along the deliveryMode
- ID
fa2167f- date
2023-06-09 16:23:57+00:00- author
Alex Chan <alex@alexwlchan.net>- parent
7701214- message
Pass along the deliveryMode- changed files
Changed files
BlinkReviewer/BlinkReviewer/Views/PHAssetImage.swift (3245) → BlinkReviewer/BlinkReviewer/Views/PHAssetImage.swift (3463)
diff --git a/BlinkReviewer/BlinkReviewer/Views/PHAssetImage.swift b/BlinkReviewer/BlinkReviewer/Views/PHAssetImage.swift
index 82fd5e8..ddf6e54 100644
--- a/BlinkReviewer/BlinkReviewer/Views/PHAssetImage.swift
+++ b/BlinkReviewer/BlinkReviewer/Views/PHAssetImage.swift
@@ -24,16 +24,18 @@ class PHAssetImage: NSObject, ObservableObject {
@Published var image = NSImage()
@Published var isDegraded = false
- init(_ asset: PHAsset?, size: CGSize) {
+ init(_ asset: PHAsset?, size: CGSize, deliveryMode: PHImageRequestOptionsDeliveryMode) {
self.size = size
+ self.deliveryMode = deliveryMode
super.init()
self.asset = asset
}
- var _asset: PHAsset?
- var size: CGSize
+ private var _asset: PHAsset?
+ private var size: CGSize
+ private var deliveryMode: PHImageRequestOptionsDeliveryMode
var asset: PHAsset? {
get {
@@ -54,6 +56,7 @@ class PHAssetImage: NSObject, ObservableObject {
let options = PHImageRequestOptions()
options.isSynchronous = false
+ options.deliveryMode = deliveryMode
// If i don't set this value, then sometimes I get an error like
// this in the `info` variable:
BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift (5660) → BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift (5694)
diff --git a/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift b/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift
index 0fe1897..7058682 100644
--- a/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift
+++ b/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift
@@ -10,7 +10,7 @@ import Photos
struct PhotoReviewer: View {
@EnvironmentObject var photosLibrary: PhotosLibrary
- @ObservedObject var fullSizeImage: PHAssetImage = PHAssetImage(nil, size: PHImageManagerMaximumSize)
+ @ObservedObject var fullSizeImage: PHAssetImage = PHAssetImage(nil, size: PHImageManagerMaximumSize, deliveryMode: .highQualityFormat)
@State var selectedAssetIndex: Int
BlinkReviewer/BlinkReviewer/Views/ThumbnailList.swift (3046) → BlinkReviewer/BlinkReviewer/Views/ThumbnailList.swift (3076)
diff --git a/BlinkReviewer/BlinkReviewer/Views/ThumbnailList.swift b/BlinkReviewer/BlinkReviewer/Views/ThumbnailList.swift
index 90ebe4e..4bf01aa 100644
--- a/BlinkReviewer/BlinkReviewer/Views/ThumbnailList.swift
+++ b/BlinkReviewer/BlinkReviewer/Views/ThumbnailList.swift
@@ -33,7 +33,7 @@ struct ThumbnailList: View {
// the thumbnails every time you change position.
ForEach(Array(displayAssets().enumerated()), id: \.element.localIdentifier) { index, asset in
ThumbnailImage(
- thumbnail: PHAssetImage(asset, size: CGSize(width: 70, height: 70)),
+ thumbnail: PHAssetImage(asset, size: CGSize(width: 70, height: 70), deliveryMode: .opportunistic),
state: asset.state(),
isFavorite: asset.isFavorite,
isSelected: displayAssets()[displaySelectedAssetIndex()].localIdentifier == asset.localIdentifier