Change breadcrumb UI

This commit is contained in:
J-Jamet
2021-12-16 12:01:26 +01:00
parent 66db2e7d16
commit 39927b06e3
7 changed files with 27 additions and 26 deletions

View File

@@ -25,7 +25,6 @@ import android.app.TimePickerDialog
import android.content.ComponentName import android.content.ComponentName
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.graphics.Color
import android.os.* import android.os.*
import android.util.Log import android.util.Log
import android.view.Menu import android.view.Menu
@@ -86,7 +85,7 @@ class GroupActivity : DatabaseLockActivity(),
private var coordinatorLayout: CoordinatorLayout? = null private var coordinatorLayout: CoordinatorLayout? = null
private var lockView: View? = null private var lockView: View? = null
private var toolbar: Toolbar? = null private var toolbar: Toolbar? = null
private var toolbarTitleView: TextView? = null private var databaseNameView: TextView? = null
private var breadcrumbToolbar: Toolbar? = null private var breadcrumbToolbar: Toolbar? = null
private var searchTitleView: View? = null private var searchTitleView: View? = null
private var toolbarAction: ToolbarAction? = null private var toolbarAction: ToolbarAction? = null
@@ -141,7 +140,7 @@ class GroupActivity : DatabaseLockActivity(),
numberChildrenView = findViewById(R.id.group_numbers) numberChildrenView = findViewById(R.id.group_numbers)
addNodeButtonView = findViewById(R.id.add_node_button) addNodeButtonView = findViewById(R.id.add_node_button)
toolbar = findViewById(R.id.toolbar) toolbar = findViewById(R.id.toolbar)
toolbarTitleView = findViewById(R.id.toolbar_title) databaseNameView = findViewById(R.id.database_name)
breadcrumbToolbar = findViewById(R.id.toolbar_breadcrumb) breadcrumbToolbar = 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)
@@ -389,7 +388,7 @@ class GroupActivity : DatabaseLockActivity(),
// Search suggestion // Search suggestion
database?.let { database?.let {
toolbarTitleView?.text = it.name databaseNameView?.text = it.name
mSearchSuggestionAdapter = SearchEntryCursorAdapter(this, it) mSearchSuggestionAdapter = SearchEntryCursorAdapter(this, it)
mBreadcrumbAdapter?.iconDrawableFactory = it.iconDrawableFactory mBreadcrumbAdapter?.iconDrawableFactory = it.iconDrawableFactory
mOnSuggestionListener = object : SearchView.OnSuggestionListener { mOnSuggestionListener = object : SearchView.OnSuggestionListener {

View File

@@ -1,5 +1,6 @@
package com.kunzisoft.keepass.adapters package com.kunzisoft.keepass.adapters
import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.graphics.Color import android.graphics.Color
import android.view.LayoutInflater import android.view.LayoutInflater
@@ -20,6 +21,7 @@ class BreadcrumbAdapter(val context: Context)
private val inflater: LayoutInflater = LayoutInflater.from(context) private val inflater: LayoutInflater = LayoutInflater.from(context)
var iconDrawableFactory: IconDrawableFactory? = null var iconDrawableFactory: IconDrawableFactory? = null
@SuppressLint("NotifyDataSetChanged")
set(value) { set(value) {
field = value field = value
notifyDataSetChanged() notifyDataSetChanged()
@@ -41,6 +43,7 @@ class BreadcrumbAdapter(val context: Context)
taTextColor.recycle() taTextColor.recycle()
} }
@SuppressLint("NotifyDataSetChanged")
fun setNode(node: Node) { fun setNode(node: Node) {
mNodeBreadcrumb.clear() mNodeBreadcrumb.clear()
var currentNode = node var currentNode = node
@@ -79,10 +82,11 @@ class BreadcrumbAdapter(val context: Context)
node.title.isEmpty() -> context.getString(R.string.root) node.title.isEmpty() -> context.getString(R.string.root)
else -> node.title else -> node.title
} }
setOnClickListener { }
node?.let {
onItemClickListener?.invoke(it, position) holder.itemView.setOnClickListener {
} node?.let {
onItemClickListener?.invoke(it, position)
} }
} }

View File

@@ -39,10 +39,9 @@
android:layout_below="@+id/special_mode_view" android:layout_below="@+id/special_mode_view"
android:background="?attr/colorPrimary" android:background="?attr/colorPrimary"
android:theme="?attr/toolbarAppearance" android:theme="?attr/toolbarAppearance"
android:elevation="4dp" tools:targetApi="lollipop" >
tools:targetApi="lollipop">
<TextView <TextView
android:id="@+id/toolbar_title" 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"
style="@style/KeepassDXStyle.TextAppearance.Title.TextOnPrimary" /> style="@style/KeepassDXStyle.TextAppearance.Title.TextOnPrimary" />
@@ -61,7 +60,6 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_below="@+id/toolbar" android:layout_below="@+id/toolbar"
android:layout_above="@+id/toolbar_action" android:layout_above="@+id/toolbar_action"
android:elevation="4dp"
tools:targetApi="lollipop"> tools:targetApi="lollipop">
<com.google.android.material.appbar.AppBarLayout <com.google.android.material.appbar.AppBarLayout

View File

@@ -57,7 +57,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:minHeight="144dp" android:minHeight="144dp"
android:layout_marginTop="?attr/actionBarSize"> android:layout_marginTop="?attr/actionBarSize"
android:background="?attr/colorPrimary">
<ImageView <ImageView
android:layout_width="96dp" android:layout_width="96dp"
android:layout_height="96dp" android:layout_height="96dp"

View File

@@ -22,18 +22,18 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/breadcrumb_group" android:id="@+id/breadcrumb_group"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:orientation="horizontal" android:orientation="horizontal"
android:gravity="center_vertical" android:gravity="center_vertical"
android:layout_marginStart="4dp" android:layout_marginEnd="12dp"
android:layout_marginLeft="4dp" android:layout_marginRight="12dp"
android:layout_marginEnd="4dp"
android:layout_marginRight="4dp"
android:baselineAligned="false"> android:baselineAligned="false">
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/group_icon" android:id="@+id/group_icon"
android:layout_width="32dp" android:layout_width="26dp"
android:layout_height="32dp" android:layout_height="26dp"
android:layout_marginEnd="6dp"
android:layout_marginRight="6dp"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:scaleType="fitXY" /> android:scaleType="fitXY" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
@@ -55,5 +55,6 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="/" android:text="/"
style="@style/KeepassDXStyle.TextAppearance.SubTitle.TextOnPrimary" style="@style/KeepassDXStyle.TextAppearance.SubTitle.TextOnPrimary"
android:textStyle="bold"
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
</LinearLayout> </LinearLayout>

View File

@@ -22,17 +22,15 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/breadcrumb_group" android:id="@+id/breadcrumb_group"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:orientation="horizontal" android:orientation="horizontal"
android:gravity="center_vertical" android:gravity="center_vertical"
android:layout_marginStart="4dp"
android:layout_marginLeft="4dp"
android:layout_marginEnd="4dp"
android:layout_marginRight="4dp"
android:baselineAligned="false"> android:baselineAligned="false">
<RelativeLayout <RelativeLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="6dp"
android:layout_marginRight="6dp"
android:gravity="center_vertical"> android:gravity="center_vertical">
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/group_icon" android:id="@+id/group_icon"

View File

@@ -317,7 +317,7 @@
</style> </style>
<style name="KeepassDXStyle.TextAppearance.SubTitle.TextOnPrimary" parent="KeepassDXStyle.TextAppearance.Default.TextOnPrimary"> <style name="KeepassDXStyle.TextAppearance.SubTitle.TextOnPrimary" parent="KeepassDXStyle.TextAppearance.Default.TextOnPrimary">
<item name="android:textSize">14sp</item> <item name="android:textSize">14sp</item>
<item name="android:textStyle">bold</item> <item name="android:textStyle">normal</item>
</style> </style>
<style name="KeepassDXStyle.TextAppearance.Meta.TextOnPrimary" parent="KeepassDXStyle.TextAppearance.Default.TextOnPrimary"> <style name="KeepassDXStyle.TextAppearance.Meta.TextOnPrimary" parent="KeepassDXStyle.TextAppearance.Default.TextOnPrimary">
<item name="android:textSize">11sp</item> <item name="android:textSize">11sp</item>