- WidgetsAndShortcutNameComparator was using the actual widget and shortcut resolve
infos as the key to the label cache. Neither of these classes override hashCode()
and we were retrieving a new set of widgets and shortcuts whenever packages changed
so we would end up creating more and more entries in the cache. This isn't a huge
leak, but could lead to problems if Launcher is used for long periods without being
killed.
- Now, we use a ComponentKey as the key, so that we don't keep a reference to the
widget/shortcut infos and also ensures that they should hash to the same labels.
Change-Id: I91347ee72363adbc2b075b67dba331e35ab1fe34
- selected locale names are shown before latin
- case independent sorting
- main app > enterprise app
Future possible refactoring:
- Move all the *ItemInfo data structures to model package
- Rename the comparator based on NOT what data structure it supports
but what functionality it supports (locale? case independent?
main app > enterprise app?)
b/21271658
b/20339403
Change-Id: I8a776467392e21d5014e85cd3f51931a3ef89724