Show number of hidden entries when adding apps

This commit is contained in:
Jonas L 2019-01-24 16:52:23 +01:00
parent 953b4fb2eb
commit fe444edf85
4 changed files with 63 additions and 20 deletions

View file

@ -97,7 +97,17 @@ class AddCategoryAppsFragment : DialogFragment() {
apps ->
apps?.sortedBy { app -> app.title.toLowerCase() }
}.observe(this, Observer { adapter.data = it })
}.observe(this, Observer {
val selectedPackageNames = adapter.selectedApps
val visiblePackageNames = it?.map { it.packageName }?.toSet() ?: emptySet()
val hiddenSelectedPackageNames = selectedPackageNames.toMutableSet().apply { removeAll(visiblePackageNames) }.size
adapter.data = it
binding.hiddenEntries = if (hiddenSelectedPackageNames == 0)
null
else
resources.getQuantityString(R.plurals.category_apps_add_dialog_hidden_entries, hiddenSelectedPackageNames, hiddenSelectedPackageNames)
})
database.category().getCategoriesByChildId(params.childId)
.switchMap { categories ->

View file

@ -18,9 +18,24 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="io.timelimit.android.ui.manage.category.apps.add.AddCategoryAppsFragment">
<androidx.coordinatorlayout.widget.CoordinatorLayout
<data>
<variable
name="hiddenEntries"
type="String" />
<import type="android.text.TextUtils" />
<import type="android.view.View" />
</data>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="wrap_content">
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="0dp">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
@ -46,4 +61,14 @@
</androidx.coordinatorlayout.widget.CoordinatorLayout>
<TextView
android:padding="8dp"
android:textAppearance="?android:textAppearanceMedium"
tools:text="2 entries are hidden"
android:visibility="@{TextUtils.isEmpty(hiddenEntries) ? View.GONE : View.VISIBLE}"
android:text="@{hiddenEntries}"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</layout>

View file

@ -21,6 +21,10 @@
<string name="category_apps_add_dialog_filter_hint">Nach Apps suchen</string>
<string name="category_apps_add_dialog_show_sys_apps">Systemapps anzeigen</string>
<string name="category_apps_add_dialog_select_all">Alle auswählen</string>
<plurals name="category_apps_add_dialog_hidden_entries">
<item quantity="one">%d ausgeblendeten Eintrag ausgewählt</item>
<item quantity="other">%s ausgeblendete Einträge ausgewählt</item>
</plurals>
<string name="category_apps_item_removed_toast">%s wurde entfernt</string>

View file

@ -21,6 +21,10 @@
<string name="category_apps_add_dialog_filter_hint">Search Apps</string>
<string name="category_apps_add_dialog_show_sys_apps">Show system Apps</string>
<string name="category_apps_add_dialog_select_all">Select all</string>
<plurals name="category_apps_add_dialog_hidden_entries">
<item quantity="one">%d hidden entry selected</item>
<item quantity="other">%s hidden entries selected</item>
</plurals>
<string name="category_apps_item_removed_toast">%s was removed</string>