show the placeholder if no icons are hidden

This commit is contained in:
tibbi 2022-10-26 16:29:16 +02:00
parent 68cf94bd74
commit 6833d5c9b3
2 changed files with 25 additions and 11 deletions

View File

@ -3,9 +3,11 @@ package com.simplemobiletools.launcher.activities
import android.content.Intent import android.content.Intent
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.os.Bundle import android.os.Bundle
import com.simplemobiletools.commons.extensions.beVisibleIf
import com.simplemobiletools.commons.extensions.normalizeString import com.simplemobiletools.commons.extensions.normalizeString
import com.simplemobiletools.commons.helpers.NavigationIcon import com.simplemobiletools.commons.helpers.NavigationIcon
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener
import com.simplemobiletools.commons.views.MyGridLayoutManager import com.simplemobiletools.commons.views.MyGridLayoutManager
import com.simplemobiletools.launcher.R import com.simplemobiletools.launcher.R
import com.simplemobiletools.launcher.adapters.HiddenIconsAdapter import com.simplemobiletools.launcher.adapters.HiddenIconsAdapter
@ -15,7 +17,7 @@ import com.simplemobiletools.launcher.extensions.hiddenIconsDB
import com.simplemobiletools.launcher.models.HiddenIcon import com.simplemobiletools.launcher.models.HiddenIcon
import kotlinx.android.synthetic.main.activity_hidden_icons.* import kotlinx.android.synthetic.main.activity_hidden_icons.*
class HiddenIconsActivity : SimpleActivity() { class HiddenIconsActivity : SimpleActivity(), RefreshRecyclerViewListener {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
setContentView(R.layout.activity_hidden_icons) setContentView(R.layout.activity_hidden_icons)
@ -40,25 +42,32 @@ class HiddenIconsActivity : SimpleActivity() {
}) })
).toMutableList() as ArrayList<HiddenIcon> ).toMutableList() as ArrayList<HiddenIcon>
val intent = Intent(Intent.ACTION_MAIN, null) manage_hidden_icons_placeholder.beVisibleIf(hiddenIcons.isEmpty())
intent.addCategory(Intent.CATEGORY_LAUNCHER) if (hiddenIcons.isNotEmpty()) {
val intent = Intent(Intent.ACTION_MAIN, null)
intent.addCategory(Intent.CATEGORY_LAUNCHER)
val list = packageManager.queryIntentActivities(intent, PackageManager.PERMISSION_GRANTED) val list = packageManager.queryIntentActivities(intent, PackageManager.PERMISSION_GRANTED)
for (info in list) { for (info in list) {
val componentInfo = info.activityInfo.applicationInfo val componentInfo = info.activityInfo.applicationInfo
val packageName = componentInfo.packageName val packageName = componentInfo.packageName
val activityName = info.activityInfo.name val activityName = info.activityInfo.name
hiddenIcons.firstOrNull { it.getIconIdentifier() == "$packageName/$activityName" }?.apply { hiddenIcons.firstOrNull { it.getIconIdentifier() == "$packageName/$activityName" }?.apply {
drawable = info.loadIcon(packageManager) ?: getDrawableForPackageName(packageName) drawable = info.loadIcon(packageManager) ?: getDrawableForPackageName(packageName)
}
} }
} }
runOnUiThread { runOnUiThread {
HiddenIconsAdapter(this, hiddenIcons, manage_hidden_icons_list) { HiddenIconsAdapter(this, hiddenIcons, this, manage_hidden_icons_list) {
}.apply { }.apply {
manage_hidden_icons_list.adapter = this manage_hidden_icons_list.adapter = this
} }
} }
} }
} }
override fun refreshItems() {
updateIcons()
}
} }

View File

@ -12,6 +12,7 @@ import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
import com.simplemobiletools.commons.extensions.portrait import com.simplemobiletools.commons.extensions.portrait
import com.simplemobiletools.commons.extensions.realScreenSize import com.simplemobiletools.commons.extensions.realScreenSize
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener
import com.simplemobiletools.commons.views.MyRecyclerView import com.simplemobiletools.commons.views.MyRecyclerView
import com.simplemobiletools.launcher.R import com.simplemobiletools.launcher.R
import com.simplemobiletools.launcher.extensions.hiddenIconsDB import com.simplemobiletools.launcher.extensions.hiddenIconsDB
@ -21,6 +22,7 @@ import kotlinx.android.synthetic.main.item_hidden_icon.view.*
class HiddenIconsAdapter( class HiddenIconsAdapter(
activity: BaseSimpleActivity, activity: BaseSimpleActivity,
var hiddenIcons: ArrayList<HiddenIcon>, var hiddenIcons: ArrayList<HiddenIcon>,
val listener: RefreshRecyclerViewListener,
recyclerView: MyRecyclerView, recyclerView: MyRecyclerView,
itemClick: (Any) -> Unit itemClick: (Any) -> Unit
) : MyRecyclerViewAdapter(activity, recyclerView, itemClick) { ) : MyRecyclerViewAdapter(activity, recyclerView, itemClick) {
@ -77,6 +79,9 @@ class HiddenIconsAdapter(
activity.runOnUiThread { activity.runOnUiThread {
removeSelectedItems(positions) removeSelectedItems(positions)
if (hiddenIcons.isEmpty()) {
listener.refreshItems()
}
} }
} }
} }