Для упорядочивания списка установленных пакетов, аналогично тому, как это делает лаунчер, можно использовать стандартное сравнение по имени пакета или по названию приложения. Ниже я приведу пример кода, который выводит список установленных пакетов, доступных пользователю, и сортирует его по имени приложения.
Используйте следующий код:
```kotlin
val packages = packageManager.getInstalledPackages(PackageManager.GET_META_DATA)
// Фильтруем и сортируем пакеты
val sortedPackages = packages.filter { it.applicationInfo.enabled }
.sortedBy { it.applicationInfo.loadLabel(packageManager).toString() }
// Выводим отсортированный список в лог
for (pack in sortedPackages) {
Log.d("InstalledPackage", "${pack.applicationInfo.loadLabel(packageManager)} (${pack.packageName})")
}
```
### Пояснения к коду:
1. **Фильтрация Пакетов**: Мы фильтруем только включенные (доступные) приложения с помощью `filter { it.applicationInfo.enabled }`.
2. **Сортировка**: Мы сортируем полученный список по названию приложения, используя `sortedBy { it.applicationInfo.loadLabel(packageManager).toString() }`.
3. **Вывод в Лог**: Мы выводим название приложения вместе с его именем пакета.
Таким образом, с помощью этого кода вы получите отсортированный список доступных пользовательских пакетов.