mirror of
https://codeberg.org/timelimit/opentimelimit-android.git
synced 2025-10-05 02:39:34 +02:00
Show number of hidden entries when adding apps
This commit is contained in:
parent
953b4fb2eb
commit
fe444edf85
4 changed files with 63 additions and 20 deletions
|
@ -97,7 +97,17 @@ class AddCategoryAppsFragment : DialogFragment() {
|
||||||
apps ->
|
apps ->
|
||||||
|
|
||||||
apps?.sortedBy { app -> app.title.toLowerCase() }
|
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)
|
database.category().getCategoriesByChildId(params.childId)
|
||||||
.switchMap { categories ->
|
.switchMap { categories ->
|
||||||
|
|
|
@ -18,32 +18,57 @@
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
tools:context="io.timelimit.android.ui.manage.category.apps.add.AddCategoryAppsFragment">
|
tools:context="io.timelimit.android.ui.manage.category.apps.add.AddCategoryAppsFragment">
|
||||||
|
|
||||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
<data>
|
||||||
android:layout_width="match_parent"
|
<variable
|
||||||
android:layout_height="match_parent">
|
name="hiddenEntries"
|
||||||
|
type="String" />
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<import type="android.text.TextUtils" />
|
||||||
|
<import type="android.view.View" />
|
||||||
|
</data>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||||
|
android:layout_weight="1"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="0dp">
|
||||||
<FrameLayout
|
|
||||||
android:background="?android:windowBackground"
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
app:layout_scrollFlags="scroll|enterAlways|snap"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
<FrameLayout
|
||||||
|
android:background="?android:windowBackground"
|
||||||
|
app:layout_scrollFlags="scroll|enterAlways|snap"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<include android:id="@+id/filter"
|
<include android:id="@+id/filter"
|
||||||
layout="@layout/app_filter_view" />
|
layout="@layout/app_filter_view" />
|
||||||
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
||||||
android:id="@+id/recycler"
|
android:id="@+id/recycler"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent" />
|
||||||
|
|
||||||
|
</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_width="match_parent"
|
||||||
android:layout_height="match_parent" />
|
android:layout_height="wrap_content" />
|
||||||
|
|
||||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
</layout>
|
</layout>
|
||||||
|
|
|
@ -21,6 +21,10 @@
|
||||||
<string name="category_apps_add_dialog_filter_hint">Nach Apps suchen</string>
|
<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_show_sys_apps">Systemapps anzeigen</string>
|
||||||
<string name="category_apps_add_dialog_select_all">Alle auswählen</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>
|
<string name="category_apps_item_removed_toast">%s wurde entfernt</string>
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,10 @@
|
||||||
<string name="category_apps_add_dialog_filter_hint">Search Apps</string>
|
<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_show_sys_apps">Show system Apps</string>
|
||||||
<string name="category_apps_add_dialog_select_all">Select all</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>
|
<string name="category_apps_item_removed_toast">%s was removed</string>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue