apply the selected column count at the app picker too

This commit is contained in:
tibbi 2020-11-07 22:03:30 +01:00
parent 4765b23831
commit 5c609d6acb
4 changed files with 18 additions and 13 deletions

View File

@ -5,9 +5,11 @@ import android.view.ViewGroup
import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.applauncher.R
import com.simplemobiletools.applauncher.adapters.LaunchersDialogAdapter
import com.simplemobiletools.applauncher.extensions.config
import com.simplemobiletools.applauncher.extensions.dbHelper
import com.simplemobiletools.applauncher.models.AppLauncher
import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.views.MyGridLayoutManager
import kotlinx.android.synthetic.main.dialog_pick_launchers.view.*
class AddAppLauncherDialog(val activity: Activity, val notDisplayedLaunchers: ArrayList<AppLauncher>, val callback: () -> Unit) {
@ -15,15 +17,17 @@ class AddAppLauncherDialog(val activity: Activity, val notDisplayedLaunchers: Ar
private var adapter: LaunchersDialogAdapter? = null
init {
(view.pick_launchers_holder.layoutManager as MyGridLayoutManager).spanCount = activity.config.columnCnt
AlertDialog.Builder(activity)
.setPositiveButton(R.string.ok) { dialogInterface, i -> confirmSelection() }
.setNegativeButton(R.string.cancel, null)
.create().apply {
activity.setupDialogStuff(view, this) {
adapter = LaunchersDialogAdapter(activity, notDisplayedLaunchers)
view.pick_launchers_holder.adapter = adapter
}
.setPositiveButton(R.string.ok) { dialogInterface, i -> confirmSelection() }
.setNegativeButton(R.string.cancel, null)
.create().apply {
activity.setupDialogStuff(view, this) {
adapter = LaunchersDialogAdapter(activity, notDisplayedLaunchers)
view.pick_launchers_holder.adapter = adapter
}
}
}
private fun confirmSelection() {

View File

@ -47,7 +47,9 @@ fun Context.getNotDisplayedLaunchers(displayedLaunchers: ArrayList<AppLauncher>)
allApps.add(AppLauncher(0, label, packageName, drawable))
}
val sorted = allApps.sortedWith(compareBy { it.title.toLowerCase() })
val unique = sorted.distinctBy { it.packageName }
AppLauncher.sorting = config.sorting
allApps.sort()
val unique = allApps.distinctBy { it.packageName }
return unique.filter { !displayedLaunchers.contains(it) && it.packageName != "com.simplemobiletools.applauncher" } as ArrayList<AppLauncher>
}

View File

@ -15,7 +15,7 @@ data class AppLauncher(val id: Int, var title: String, val packageName: String,
override fun compareTo(other: AppLauncher): Int {
var result = when {
sorting and SORT_BY_TITLE != 0 -> title.compareTo(other.title)
sorting and SORT_BY_TITLE != 0 -> title.toLowerCase().compareTo(other.title.toLowerCase())
else -> 1
}

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<com.simplemobiletools.commons.views.MyRecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
<com.simplemobiletools.commons.views.MyRecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/pick_launchers_holder"
android:layout_width="match_parent"
@ -8,4 +7,4 @@
android:padding="@dimen/small_margin"
android:scrollbars="vertical"
app:layoutManager="com.simplemobiletools.commons.views.MyGridLayoutManager"
app:spanCount="@integer/column_count"/>
app:spanCount="@integer/column_count" />