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
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
)
}