mirror of
https://github.com/element-hq/element-x-ios.git
synced 2025-03-10 13:37:11 +00:00
Fix #3620 - Fix frequently used emojis, stop relying on Apple's keyboard values and store everything app side instead.
This commit is contained in:
parent
f9be39eb4f
commit
e04c87445e
@ -28,6 +28,8 @@ final class AppSettings {
|
||||
case hasRunNotificationPermissionsOnboarding
|
||||
case hasRunIdentityConfirmationOnboarding
|
||||
|
||||
case frequentlyUsedSystemEmojis
|
||||
|
||||
case enableNotifications
|
||||
case enableInAppNotifications
|
||||
case pusherProfileTag
|
||||
@ -40,7 +42,6 @@ final class AppSettings {
|
||||
case hideTimelineMedia
|
||||
|
||||
case elementCallBaseURLOverride
|
||||
case elementCallEncryptionEnabled
|
||||
|
||||
// Feature flags
|
||||
case slidingSyncDiscovery
|
||||
@ -231,6 +232,9 @@ final class AppSettings {
|
||||
@UserPreference(key: UserDefaultsKeys.hasRunIdentityConfirmationOnboarding, defaultValue: false, storageType: .userDefaults(store))
|
||||
var hasRunIdentityConfirmationOnboarding
|
||||
|
||||
@UserPreference(key: UserDefaultsKeys.frequentlyUsedSystemEmojis, defaultValue: [String](), storageType: .userDefaults(store))
|
||||
var frequentlyUsedSystemEmojis
|
||||
|
||||
// MARK: - Home Screen
|
||||
|
||||
@UserPreference(key: UserDefaultsKeys.hideUnreadMessagesBadge, defaultValue: false, storageType: .userDefaults(store))
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user