Skip to main content

Add some syntactic sugar for looking up assets by index

ID
bea0037
date
2023-06-11 19:58:01+00:00
author
Alex Chan <alex@alexwlchan.net>
parent
a25e625
message
Add some syntactic sugar for looking up assets by index
changed files
3 files, 9 additions, 5 deletions

Changed files

BlinkReviewer/Blink/Photos/PhotosLibrary.swift (6986) → BlinkReviewer/Blink/Photos/PhotosLibrary.swift (7073)

diff --git a/BlinkReviewer/Blink/Photos/PhotosLibrary.swift b/BlinkReviewer/Blink/Photos/PhotosLibrary.swift
index 1060b72..249d841 100644
--- a/BlinkReviewer/Blink/Photos/PhotosLibrary.swift
+++ b/BlinkReviewer/Blink/Photos/PhotosLibrary.swift
@@ -125,6 +125,10 @@ class PhotosLibrary: NSObject, ObservableObject, PHPhotoLibraryChangeObserver {
         }
     }
     
+    func asset(at index: Int) -> PHAsset {
+        assets.object(at: index)
+    }
+    
     func state(of asset: PHAsset) -> ReviewState? {
         if self.rejectedAssets.contains(asset) {
             return .Rejected

BlinkReviewer/Blink/Views/PhotoReviewer.swift (15003) → BlinkReviewer/Blink/Views/PhotoReviewer.swift (14971)

diff --git a/BlinkReviewer/Blink/Views/PhotoReviewer.swift b/BlinkReviewer/Blink/Views/PhotoReviewer.swift
index 4af0801..04b49dd 100644
--- a/BlinkReviewer/Blink/Views/PhotoReviewer.swift
+++ b/BlinkReviewer/Blink/Views/PhotoReviewer.swift
@@ -26,7 +26,7 @@ struct PhotoReviewer: View {
     @State var _focusedAsset: PHAsset? = nil
     
     var focusedAsset: PHAsset {
-        return photosLibrary.assets.object(at: focusedAssetIndex)
+        return photosLibrary.asset(at: focusedAssetIndex)
     }
     
     @State var showStatistics: Bool = false
@@ -126,7 +126,7 @@ struct PhotoReviewer: View {
         //
         // e.g. the change is about album data, or all the changes are further
         // along than the focused asset.
-        if photosLibrary.assets.object(at: focusedAssetIndex) == self._focusedAsset {
+        if photosLibrary.asset(at: focusedAssetIndex) == self._focusedAsset {
             logger.debug("Focused asset is in the same place as before, nothing to do [\(changeId, privacy: .public)]")
             return
         }
@@ -175,7 +175,7 @@ struct PhotoReviewer: View {
         // If we've got a delta, check to see if it points us to the right asset.
         //
         // If it does, we're done!
-        if photosLibrary.assets.object(at: focusedAssetIndex + (delta ?? 0)) == self._focusedAsset {
+        if photosLibrary.asset(at: focusedAssetIndex + (delta ?? 0)) == self._focusedAsset {
             logger.debug("Incremental changes found the new position of the asset [\(changeId, privacy: .public)]")
             focusedAssetIndex += delta ?? 0
             return
@@ -196,7 +196,7 @@ struct PhotoReviewer: View {
         let matchingAssetInUpdatedLibrary =
             (0..<photosLibrary.assets.count)
                 .first(where: {
-                    photosLibrary.assets.object(at: $0).localIdentifier ==
+                    photosLibrary.asset(at: $0).localIdentifier ==
                         self._focusedAsset?.localIdentifier
                 })
         

BlinkReviewer/Blink/Views/Thumbnails/ThumbnailList.swift (1083) → BlinkReviewer/Blink/Views/Thumbnails/ThumbnailList.swift (1075)

diff --git a/BlinkReviewer/Blink/Views/Thumbnails/ThumbnailList.swift b/BlinkReviewer/Blink/Views/Thumbnails/ThumbnailList.swift
index 29c228c..efcc95b 100644
--- a/BlinkReviewer/Blink/Views/Thumbnails/ThumbnailList.swift
+++ b/BlinkReviewer/Blink/Views/Thumbnails/ThumbnailList.swift
@@ -26,7 +26,7 @@ struct ThumbnailList: View {
             .onChange(of: focusedAssetIndex, perform: { newIndex in
                 withAnimation {
                     proxy.scrollTo(
-                        photosLibrary.assets.object(at: newIndex).localIdentifier,
+                        photosLibrary.asset(at: newIndex).localIdentifier,
                         anchor: .center
                     )
                 }