Loading packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt +29 −19 Original line number Diff line number Diff line Loading @@ -103,6 +103,22 @@ class ControlsUiControllerImpl @Inject constructor ( private lateinit var dismissGlobalActions: Runnable private val popupThemedContext = ContextThemeWrapper(context, R.style.Control_ListPopupWindow) private val collator = Collator.getInstance(context.resources.configuration.locales[0]) private val localeComparator = compareBy<SelectionItem, CharSequence>(collator) { it.getTitle() } private val onSeedingComplete = Consumer<Boolean> { accepted -> if (accepted) { selectedStructure = controlsController.get().getFavorites().maxBy { it.controls.size } ?: EMPTY_STRUCTURE updatePreferences(selectedStructure) } reload(parent) } override val available: Boolean get() = controlsController.get().available Loading @@ -113,15 +129,7 @@ class ControlsUiControllerImpl @Inject constructor ( ): ControlsListingController.ControlsListingCallback { return object : ControlsListingController.ControlsListingCallback { override fun onServicesUpdated(serviceInfos: List<ControlsServiceInfo>) { bgExecutor.execute { val collator = Collator.getInstance(context.resources.configuration.locales[0]) val localeComparator = compareBy<ControlsServiceInfo, CharSequence>(collator) { it.loadLabel() } val mList = serviceInfos.toMutableList() mList.sortWith(localeComparator) lastItems = mList.map { val lastItems = serviceInfos.map { SelectionItem(it.loadLabel(), "", it.loadIcon(), it.componentName) } uiExecutor.execute { Loading @@ -133,7 +141,6 @@ class ControlsUiControllerImpl @Inject constructor ( } } } } override fun show(parent: ViewGroup, dismissGlobalActions: Runnable) { Log.d(ControlsUiController.TAG, "show()") Loading @@ -144,8 +151,7 @@ class ControlsUiControllerImpl @Inject constructor ( allStructures = controlsController.get().getFavorites() selectedStructure = loadPreference(allStructures) val cb = Consumer<Boolean> { _ -> reload(parent) } if (controlsController.get().addSeedingFavoritesCallback(cb)) { if (controlsController.get().addSeedingFavoritesCallback(onSeedingComplete)) { listingCallback = createCallback(::showSeedingView) } else if (selectedStructure.controls.isEmpty() && allStructures.size <= 1) { // only show initial view if there are really no favorites across any structure Loading Loading @@ -309,9 +315,12 @@ class ControlsUiControllerImpl @Inject constructor ( } val itemsByComponent = items.associateBy { it.componentName } val itemsWithStructure = allStructures.mapNotNull { val itemsWithStructure = mutableListOf<SelectionItem>() allStructures.mapNotNullTo(itemsWithStructure) { itemsByComponent.get(it.componentName)?.copy(structure = it.structure) } itemsWithStructure.sortWith(localeComparator) val selectionItem = findSelectionItem(selectedStructure, itemsWithStructure) ?: items[0] var adapter = ItemAdapter(context, R.layout.controls_spinner_item).apply { Loading Loading @@ -441,6 +450,7 @@ class ControlsUiControllerImpl @Inject constructor ( } private fun updatePreferences(si: StructureInfo) { if (si == EMPTY_STRUCTURE) return sharedPreferences.edit() .putString(PREF_COMPONENT, si.componentName.flattenToString()) .putString(PREF_STRUCTURE, si.structure.toString()) Loading Loading
packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt +29 −19 Original line number Diff line number Diff line Loading @@ -103,6 +103,22 @@ class ControlsUiControllerImpl @Inject constructor ( private lateinit var dismissGlobalActions: Runnable private val popupThemedContext = ContextThemeWrapper(context, R.style.Control_ListPopupWindow) private val collator = Collator.getInstance(context.resources.configuration.locales[0]) private val localeComparator = compareBy<SelectionItem, CharSequence>(collator) { it.getTitle() } private val onSeedingComplete = Consumer<Boolean> { accepted -> if (accepted) { selectedStructure = controlsController.get().getFavorites().maxBy { it.controls.size } ?: EMPTY_STRUCTURE updatePreferences(selectedStructure) } reload(parent) } override val available: Boolean get() = controlsController.get().available Loading @@ -113,15 +129,7 @@ class ControlsUiControllerImpl @Inject constructor ( ): ControlsListingController.ControlsListingCallback { return object : ControlsListingController.ControlsListingCallback { override fun onServicesUpdated(serviceInfos: List<ControlsServiceInfo>) { bgExecutor.execute { val collator = Collator.getInstance(context.resources.configuration.locales[0]) val localeComparator = compareBy<ControlsServiceInfo, CharSequence>(collator) { it.loadLabel() } val mList = serviceInfos.toMutableList() mList.sortWith(localeComparator) lastItems = mList.map { val lastItems = serviceInfos.map { SelectionItem(it.loadLabel(), "", it.loadIcon(), it.componentName) } uiExecutor.execute { Loading @@ -133,7 +141,6 @@ class ControlsUiControllerImpl @Inject constructor ( } } } } override fun show(parent: ViewGroup, dismissGlobalActions: Runnable) { Log.d(ControlsUiController.TAG, "show()") Loading @@ -144,8 +151,7 @@ class ControlsUiControllerImpl @Inject constructor ( allStructures = controlsController.get().getFavorites() selectedStructure = loadPreference(allStructures) val cb = Consumer<Boolean> { _ -> reload(parent) } if (controlsController.get().addSeedingFavoritesCallback(cb)) { if (controlsController.get().addSeedingFavoritesCallback(onSeedingComplete)) { listingCallback = createCallback(::showSeedingView) } else if (selectedStructure.controls.isEmpty() && allStructures.size <= 1) { // only show initial view if there are really no favorites across any structure Loading Loading @@ -309,9 +315,12 @@ class ControlsUiControllerImpl @Inject constructor ( } val itemsByComponent = items.associateBy { it.componentName } val itemsWithStructure = allStructures.mapNotNull { val itemsWithStructure = mutableListOf<SelectionItem>() allStructures.mapNotNullTo(itemsWithStructure) { itemsByComponent.get(it.componentName)?.copy(structure = it.structure) } itemsWithStructure.sortWith(localeComparator) val selectionItem = findSelectionItem(selectedStructure, itemsWithStructure) ?: items[0] var adapter = ItemAdapter(context, R.layout.controls_spinner_item).apply { Loading Loading @@ -441,6 +450,7 @@ class ControlsUiControllerImpl @Inject constructor ( } private fun updatePreferences(si: StructureInfo) { if (si == EMPTY_STRUCTURE) return sharedPreferences.edit() .putString(PREF_COMPONENT, si.componentName.flattenToString()) .putString(PREF_STRUCTURE, si.structure.toString()) Loading