From 996b4e7a4573e36a5a8580e25cc599020eb00907 Mon Sep 17 00:00:00 2001 From: David Teresi Date: Mon, 5 Jul 2021 14:13:32 -0400 Subject: [PATCH] Remove dead shortcuts --- .../java/im/vector/app/features/home/ShortcutsHandler.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/vector/src/main/java/im/vector/app/features/home/ShortcutsHandler.kt b/vector/src/main/java/im/vector/app/features/home/ShortcutsHandler.kt index 62595389eb..aa10c7d45c 100644 --- a/vector/src/main/java/im/vector/app/features/home/ShortcutsHandler.kt +++ b/vector/src/main/java/im/vector/app/features/home/ShortcutsHandler.kt @@ -49,6 +49,13 @@ class ShortcutsHandler @Inject constructor( ) ?.asObservable() ?.subscribe { rooms -> + // Remove dead shortcuts (i.e. deleted rooms) + val roomIds = rooms.map { it.roomId } + val deadShortcutIds = ShortcutManagerCompat.getShortcuts(context, ShortcutManagerCompat.FLAG_MATCH_DYNAMIC) + .map { it.id } + .filter { !roomIds.contains(it) } + ShortcutManagerCompat.removeLongLivedShortcuts(context, deadShortcutIds) + val shortcuts = rooms .sortedBy { room -> // pushDynamicShortcut adds each shortcut to the top of the shortcut ranking,