Procházet zdrojové kódy

Avoid duplicate hidden-app restore entries for the same link.

Deduplicate hidden apps by URL before building the restore menu so repeated links appear only once.

Made-with: Cursor
huzaifahayat12 před 3 měsíci
rodič
revize
d0100af483
1 změnil soubory, kde provedl 10 přidání a 1 odebrání
  1. 10 1
      google_apps/LauncherRootView.swift

+ 10 - 1
google_apps/LauncherRootView.swift

@@ -81,9 +81,18 @@ struct LauncherRootView: View {
         let hiddenIDs = decodeUUIDSet(from: hiddenLauncherAppIDsData)
         guard !hiddenIDs.isEmpty else { return [] }
         let allApps = LauncherApp.sampleApps + customApps
-        return allApps
+        let sortedHiddenApps = allApps
             .filter { hiddenIDs.contains($0.id) }
             .sorted { $0.name.localizedCaseInsensitiveCompare($1.name) == .orderedAscending }
+
+        var seenLinkKeys = Set<String>()
+        return sortedHiddenApps.filter { app in
+            guard let webURL = app.webURL else { return true }
+            let linkKey = webURL.absoluteString.lowercased()
+            guard !seenLinkKeys.contains(linkKey) else { return false }
+            seenLinkKeys.insert(linkKey)
+            return true
+        }
     }
 
     var body: some View {