Fix #3620 - Fix frequently used emojis, stop relying on Apple's keyboard values and store everything app side instead.

This commit is contained in:
Stefan Ceriu
2024-12-16 12:09:06 +02:00
committed by Stefan Ceriu
parent f9be39eb4f
commit e04c87445e
2 changed files with 8 additions and 17 deletions
@@ -61,14 +61,7 @@ class EmojiProvider: EmojiProviderProtocol {
return []
}
guard let preferences = UserDefaults(suiteName: "com.apple.EmojiPreferences"),
let defaults = preferences.dictionary(forKey: "EMFDefaultsKey"),
let recents = defaults["EMFRecentsKey"] as? [String]
else {
return []
}
return recents
return appSettings.frequentlyUsedSystemEmojis
}
func markEmojiAsFrequentlyUsed(_ emoji: String) {
@@ -76,16 +69,10 @@ class EmojiProvider: EmojiProviderProtocol {
return
}
guard let preferences = UserDefaults(suiteName: "com.apple.EmojiPreferences"),
let defaults = preferences.dictionary(forKey: "EMFDefaultsKey"),
let recents = defaults["EMFRecentsKey"] as? [String] else {
return
}
var uniqueOrderedRecents = OrderedSet(recents)
var uniqueOrderedRecents = OrderedSet(appSettings.frequentlyUsedSystemEmojis)
uniqueOrderedRecents.insert(emoji, at: 0)
preferences.setValue(["EMFRecentsKey": Array(uniqueOrderedRecents)], forKey: "EMFDefaultsKey")
appSettings.frequentlyUsedSystemEmojis = Array(uniqueOrderedRecents)
}
// MARK: - Private