瀏覽代碼

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 3 月之前
父節點
當前提交
d0100af483
共有 1 個文件被更改,包括 10 次插入1 次删除
  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 {