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?.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 ->
|
||||
|
|
|
@ -18,32 +18,57 @@
|
|||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
tools:context="io.timelimit.android.ui.manage.category.apps.add.AddCategoryAppsFragment">
|
||||
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<data>
|
||||
<variable
|
||||
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_height="wrap_content">
|
||||
<FrameLayout
|
||||
android:background="?android:windowBackground"
|
||||
app:layout_scrollFlags="scroll|enterAlways|snap"
|
||||
android:orientation="vertical"
|
||||
android:layout_height="0dp">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
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"
|
||||
layout="@layout/app_filter_view" />
|
||||
<include android:id="@+id/filter"
|
||||
layout="@layout/app_filter_view" />
|
||||
|
||||
</FrameLayout>
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
</FrameLayout>
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
||||
android:id="@+id/recycler"
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
||||
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_height="match_parent" />
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
</LinearLayout>
|
||||
</layout>
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue