Skip to main content

mark images as degraded when we switch

ID
049ab13
date
2023-06-10 21:53:09+00:00
author
Alex Chan <alex@alexwlchan.net>
parent
9942539
message
mark images as degraded when we switch
changed files
3 files, 6 additions, 4 deletions

Changed files

BlinkReviewer/BlinkReviewer/Views/FocusedImage/LoadingIndicatorOverlay.swift (1731) → BlinkReviewer/BlinkReviewer/Views/FocusedImage/LoadingIndicatorOverlay.swift (1735)

diff --git a/BlinkReviewer/BlinkReviewer/Views/FocusedImage/LoadingIndicatorOverlay.swift b/BlinkReviewer/BlinkReviewer/Views/FocusedImage/LoadingIndicatorOverlay.swift
index 5f30374..9f0d078 100644
--- a/BlinkReviewer/BlinkReviewer/Views/FocusedImage/LoadingIndicatorOverlay.swift
+++ b/BlinkReviewer/BlinkReviewer/Views/FocusedImage/LoadingIndicatorOverlay.swift
@@ -26,8 +26,8 @@ struct LoadingIndicatorOverlay: ViewModifier {
                         // a second or two.  This causes the progress indicator to
                         // "flash" -- it appears then almost instantly disappears.
                         //
-                        // Deferring the rendering by a second avoids this "flash".
-                        for: .seconds(1)
+                        // Deferring the rendering slightly avoids this "flash".
+                        for: .milliseconds(100)
                     )
             }
         } else {

BlinkReviewer/BlinkReviewer/Views/PHAssetImage.swift (4603) → BlinkReviewer/BlinkReviewer/Views/PHAssetImage.swift (4728)

diff --git a/BlinkReviewer/BlinkReviewer/Views/PHAssetImage.swift b/BlinkReviewer/BlinkReviewer/Views/PHAssetImage.swift
index 1b8bf23..a5ab19a 100644
--- a/BlinkReviewer/BlinkReviewer/Views/PHAssetImage.swift
+++ b/BlinkReviewer/BlinkReviewer/Views/PHAssetImage.swift
@@ -57,6 +57,7 @@ class PHAssetImage: NSObject, ObservableObject {
         
         set {
             self._asset = newValue
+            self.isDegraded = true
             regenerateImage()
         }
     }
@@ -65,11 +66,11 @@ class PHAssetImage: NSObject, ObservableObject {
         if let thisAsset = asset {
             if let nsImage = imageCache[thisAsset] {
                 self.image = nsImage
+                self.isDegraded = false
                 return
             }
 
             print("regenerating image for \(thisAsset.localIdentifier)")
-
             
             // This implementation is based on code in a Stack Overflow answer
             // by Francois Nadeau: https://stackoverflow.com/a/48755517/1558022
@@ -110,6 +111,7 @@ class PHAssetImage: NSObject, ObservableObject {
                                 self.imageCache[thisAsset] = imageResult
                             }
                         } else {
+                            self.isDegraded = true
                             print("Error getting image: \(String(describing: info))")
                         }
                     }

BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift (10749) → BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift (10787)

diff --git a/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift b/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift
index cdfb2d3..e4f01e2 100644
--- a/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift
+++ b/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift
@@ -58,7 +58,7 @@ struct PhotoReviewer: View {
                         Spacer()
                         
                         if showDebug {
-                            Debug(asset: focusedAsset)
+                            Debug(asset: focusedAsset, focusedAssetIndex: focusedAssetIndex)
                         }
                         
                         if showStatistics {