Fix search

This commit is contained in:
J-Jamet
2021-12-16 12:56:14 +01:00
parent ff51b53660
commit 28bf84e05c
4 changed files with 56 additions and 14 deletions

View File

@@ -86,6 +86,9 @@ class GroupActivity : DatabaseLockActivity(),
private var lockView: View? = null private var lockView: View? = null
private var toolbar: Toolbar? = null private var toolbar: Toolbar? = null
private var databaseNameView: TextView? = null private var databaseNameView: TextView? = null
private var searchContainer: ViewGroup? = null
private var searchNumbers: TextView? = null
private var searchString: TextView? = null
private var toolbarBreadcrumb: Toolbar? = null private var toolbarBreadcrumb: Toolbar? = null
private var searchTitleView: View? = null private var searchTitleView: View? = null
private var toolbarAction: ToolbarAction? = null private var toolbarAction: ToolbarAction? = null
@@ -139,6 +142,9 @@ class GroupActivity : DatabaseLockActivity(),
addNodeButtonView = findViewById(R.id.add_node_button) addNodeButtonView = findViewById(R.id.add_node_button)
toolbar = findViewById(R.id.toolbar) toolbar = findViewById(R.id.toolbar)
databaseNameView = findViewById(R.id.database_name) databaseNameView = findViewById(R.id.database_name)
searchContainer = findViewById(R.id.search_container)
searchNumbers = findViewById(R.id.search_numbers)
searchString = findViewById(R.id.search_string)
toolbarBreadcrumb = findViewById(R.id.toolbar_breadcrumb) toolbarBreadcrumb = findViewById(R.id.toolbar_breadcrumb)
searchTitleView = findViewById(R.id.search_title) searchTitleView = findViewById(R.id.search_title)
breadcrumbListView = findViewById(R.id.breadcrumb_list) breadcrumbListView = findViewById(R.id.breadcrumb_list)
@@ -524,13 +530,17 @@ class GroupActivity : DatabaseLockActivity(),
private fun assignGroupViewElements(group: Group?) { private fun assignGroupViewElements(group: Group?) {
// Assign title // Assign title
if (group?.isVirtual == true) { if (group?.isVirtual == true) {
searchTitleView?.visibility = View.VISIBLE searchContainer?.visibility = View.VISIBLE
val title = group.title
searchString?.text = if (title.isNotEmpty()) title else ""
searchNumbers?.text = group.numberOfChildEntries.toString()
databaseNameView?.visibility = View.GONE
toolbarBreadcrumb?.navigationIcon = null toolbarBreadcrumb?.navigationIcon = null
toolbarBreadcrumb?.visibility = View.GONE toolbarBreadcrumb?.visibility = View.GONE
} else { } else {
searchTitleView?.visibility = View.GONE searchContainer?.visibility = View.GONE
databaseNameView?.visibility = View.VISIBLE
// Assign the group icon depending of IconPack or custom icon // Assign the group icon depending of IconPack or custom icon
group?.let { group?.let {
if (group.containsParent()) if (group.containsParent())
@@ -539,12 +549,11 @@ class GroupActivity : DatabaseLockActivity(),
toolbarBreadcrumb?.navigationIcon = null toolbarBreadcrumb?.navigationIcon = null
} }
} }
// Assign number of children
mBreadcrumbAdapter?.setNode(group)
toolbarBreadcrumb?.visibility = View.VISIBLE toolbarBreadcrumb?.visibility = View.VISIBLE
} }
// Assign number of children
mBreadcrumbAdapter?.setNode(group)
// Hide button // Hide button
initAddButton(group) initAddButton(group)
} }

View File

@@ -69,7 +69,7 @@ class BreadcrumbAdapter(val context: Context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BreadcrumbGroupViewHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BreadcrumbGroupViewHolder {
return BreadcrumbGroupViewHolder(inflater.inflate( return BreadcrumbGroupViewHolder(inflater.inflate(
when (viewType) { when (viewType) {
0 -> R.layout.item_breadcrumb_current 0 -> R.layout.item_group
else -> R.layout.item_breadcrumb else -> R.layout.item_breadcrumb
}, parent, false) }, parent, false)
) )

View File

@@ -44,16 +44,49 @@
android:id="@+id/database_name" android:id="@+id/database_name"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:text="Database"
style="@style/KeepassDXStyle.TextAppearance.Title.TextOnPrimary" /> style="@style/KeepassDXStyle.TextAppearance.Title.TextOnPrimary" />
<RelativeLayout
android:id="@+id/search_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
android:orientation="vertical">
<TextView
android:id="@+id/search_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/search_results"
style="@style/KeepassDXStyle.TextAppearance.Default.TextOnPrimary" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/search_numbers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="3"
android:layout_margin="4dp"
android:layout_below="@+id/search_title"
style="@style/KeepassDXStyle.TextAppearance.Info" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/search_string"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/search"
android:maxLines="1"
android:ellipsize="end"
android:layout_marginTop="2dp"
android:layout_marginStart="4dp"
android:layout_marginLeft="4dp"
android:layout_marginEnd="4dp"
android:layout_marginRight="4dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_below="@+id/search_title"
android:layout_toRightOf="@+id/search_numbers"
android:layout_toEndOf="@+id/search_numbers"
style="@style/KeepassDXStyle.TextAppearance.Title.TextOnPrimary" />
</RelativeLayout>
</androidx.appcompat.widget.Toolbar> </androidx.appcompat.widget.Toolbar>
<TextView android:id="@+id/search_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/search_results"
android:visibility="gone"
style="@style/KeepassDXStyle.TextAppearance.Default.TextOnPrimary" />
<androidx.coordinatorlayout.widget.CoordinatorLayout <androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/group_coordinator" android:id="@+id/group_coordinator"
android:layout_width="match_parent" android:layout_width="match_parent"