Skip to main content

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
3 files, 8 additions, 5 deletions

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