Added search back as it was

This commit is contained in:
ottoptj 2024-05-20 14:16:44 +03:00
commit 7d540aa76d
2 changed files with 16 additions and 24 deletions

View file

@ -160,7 +160,7 @@ class AppMenuActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener,
if (cleanQuery.isNullOrEmpty()) {
filteredApps.addAll(installedApps)
} else {
installedApps.forEach {
installedApps.forEachIndexed {index, it ->
val cleanItemText = sharedPreferenceManager.getAppName(this@AppMenuActivity, it.first.applicationInfo.packageName, it.second.second, it.first.applicationInfo.loadLabel(packageManager)).toString().clean()
if (cleanItemText.contains(cleanQuery, ignoreCase = true)) {
filteredApps.add(it)
@ -168,7 +168,7 @@ class AppMenuActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener,
}
}
withContext(Dispatchers.Main) {
//adapter.updateApps(filteredApps)
adapter.updateAllApps(filteredApps)
}
}
@ -210,33 +210,16 @@ class AppMenuActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener,
job = CoroutineScope(Dispatchers.Default).launch {
while (true) {
val updatedApps = getInstalledApps()
if (!listsEqual(installedApps, updatedApps)) {
val changes = detectChanges(installedApps, updatedApps)
installedApps = updatedApps
withContext(Dispatchers.Main) {
applyChanges(changes, installedApps)
}
val changes = detectChanges(installedApps, updatedApps)
installedApps = updatedApps
withContext(Dispatchers.Main) {
applyChanges(changes, installedApps)
}
delay(5000)
}
}
}
private fun listsEqual(
list1: List<Pair<LauncherActivityInfo, Pair<UserHandle, Int>>>,
list2: List<Pair<LauncherActivityInfo, Pair<UserHandle, Int>>>
): Boolean {
if (list1.size != list2.size) return false
for (i in list1.indices) {
if (list1[i].first.componentName != list2[i].first.componentName || list1[i].second.first != list2[i].second.first) {
return false
}
}
return true
}
data class Change(val type: ChangeType, val position: Int)
enum class ChangeType {
@ -305,4 +288,4 @@ class AppMenuActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener,
adapter.notifyItemChanged(position)
}
}
}

View file

@ -1,5 +1,6 @@
package eu.ottop.yamlauncher
import android.annotation.SuppressLint
import android.content.Context
import android.content.pm.LauncherActivityInfo
import android.os.UserHandle
@ -67,6 +68,7 @@ class AppMenuAdapter(
itemClickListener.onItemClick(app, apps[position].second.first)
}
}
if (menuMode == "app") {
textView.setOnLongClickListener {
val position = bindingAdapterPosition
@ -135,4 +137,11 @@ class AppMenuAdapter(
fun updateApp(position: Int, app: Pair<LauncherActivityInfo, Pair<UserHandle, Int>>) {
apps[position] = app
}
@SuppressLint("NotifyDataSetChanged")
fun updateAllApps(newApps: List<Pair<LauncherActivityInfo, Pair<UserHandle, Int>>>) {
apps.clear()
apps.addAll(newApps)
notifyDataSetChanged()
}
}