fix: First pass to Material3

This commit is contained in:
J-Jamet
2023-06-19 16:10:36 +02:00
parent 6fc26ef6e6
commit 519da9c4ef
12 changed files with 106 additions and 55 deletions

View File

@@ -43,7 +43,11 @@ class AddNodeButtonView @JvmOverloads constructor(context: Context,
var addButtonView: FloatingActionButton? = null
private lateinit var addEntryView: View
private lateinit var textAddEntryView: View
private lateinit var fabAddEntryView: View
private lateinit var addGroupView: View
private lateinit var textAddGroupView: View
private lateinit var fabAddGroupView: View
private var addEntryEnable: Boolean = false
private var addGroupEnable: Boolean = false
@@ -77,7 +81,11 @@ class AddNodeButtonView @JvmOverloads constructor(context: Context,
addButtonView = findViewById(R.id.add_button)
addEntryView = findViewById(R.id.container_add_entry)
textAddEntryView = findViewById(R.id.text_add_entry)
fabAddEntryView = findViewById(R.id.fab_add_entry)
addGroupView = findViewById(R.id.container_add_group)
textAddGroupView = findViewById(R.id.text_add_group)
fabAddGroupView = findViewById(R.id.fab_add_group)
animationDuration = 300L
@@ -189,24 +197,23 @@ class AddNodeButtonView @JvmOverloads constructor(context: Context,
}
}
fun setAddGroupClickListener(onClickListener: OnClickListener) {
if (addGroupEnable)
addGroupView.setOnClickListener { view ->
private fun onButtonClickListener(onClickListener: OnClickListener) =
OnClickListener { view ->
onClickListener.onClick(view)
closeButtonIfOpen()
}
fun setAddGroupClickListener(onClickListener: OnClickListener) {
if (addGroupEnable) {
textAddGroupView.setOnClickListener(onButtonClickListener(onClickListener))
fabAddGroupView.setOnClickListener(onButtonClickListener(onClickListener))
}
}
fun setAddEntryClickListener(onClickListener: OnClickListener) {
if (addEntryEnable) {
addEntryView.setOnClickListener { view ->
onClickListener.onClick(view)
closeButtonIfOpen()
}
addEntryView.setOnClickListener { view ->
onClickListener.onClick(view)
closeButtonIfOpen()
}
textAddEntryView.setOnClickListener(onButtonClickListener(onClickListener))
fabAddEntryView.setOnClickListener(onButtonClickListener(onClickListener))
}
}

View File

@@ -93,8 +93,9 @@
android:layout_height="wrap_content"
android:contentDescription="@string/validate"
android:src="@drawable/ic_check_white_24dp"
android:tint="?attr/colorOnAccentColor"
app:tint="?attr/colorOnAccentColor"
app:fabSize="mini"
app:fabCustomSize="@dimen/button_small_size"
app:layout_constraintTop_toTopOf="@+id/entry_edit_bottom_bar"
app:layout_constraintBottom_toTopOf="@+id/screenshot_mode_banner"
app:layout_constraintEnd_toEndOf="parent"

View File

@@ -46,7 +46,8 @@
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="@dimen/toolbar_parallax_height">
android:layout_height="@dimen/toolbar_parallax_height"
android:background="?attr/colorPrimaryDark">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/toolbar_layout"
@@ -56,16 +57,13 @@
<LinearLayout
android:id="@+id/file_selection_title_container"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_collapseMode="parallax"
android:layout_gravity="center_horizontal|bottom"
android:gravity="center"
android:orientation="horizontal"
android:paddingLeft="24dp"
android:paddingStart="24dp"
android:paddingRight="24dp"
android:paddingEnd="24dp"
android:paddingBottom="48dp">
android:paddingBottom="26dp">
<TextView
android:id="@+id/file_selection_title_part_1"
android:layout_width="wrap_content"
@@ -127,6 +125,7 @@
app:layout_constraintTop_toTopOf="parent"
app:navigationIcon="@drawable/ic_info_white_24dp"
app:navigationContentDescription="@string/about"
android:background="?attr/colorPrimary"
android:elevation="4dp"
app:layout_collapseMode="pin"
android:theme="?attr/toolbarHomeAppearance" />

View File

@@ -87,7 +87,7 @@
android:layout_gravity="center_vertical|start"
android:visibility="gone"
android:src="@drawable/ic_modified_white_12dp"
android:tint="?attr/textColorInverse"
app:tint="?attr/textColorInverse"
android:contentDescription="@string/save"/>
</FrameLayout>

View File

@@ -47,7 +47,7 @@
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary">
android:background="?attr/colorPrimaryDark">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/toolbar_layout"
@@ -58,10 +58,11 @@
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minHeight="144dp"
android:layout_marginTop="?attr/actionBarSize"
android:background="?attr/colorPrimary">
android:layout_height="wrap_content"
app:layout_collapseMode="parallax"
android:layout_gravity="top"
android:minHeight="192dp"
android:paddingTop="?attr/actionBarSize">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
@@ -101,8 +102,9 @@
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="?attr/toolbarAppearance"
android:background="?attr/colorPrimary"
android:elevation="4dp"
app:layout_collapseMode="pin"
tools:targetApi="lollipop">
<TextView

View File

@@ -8,6 +8,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="?attr/colorPrimary"
android:background="?attr/colorPrimaryDark"
android:visibility="gone"/>
</FrameLayout>

View File

@@ -51,9 +51,11 @@
android:layout_marginRight="@dimen/image_button_margin"
android:layout_marginEnd="@dimen/image_button_margin"
android:src="@drawable/ic_key_white_24dp"
android:tint="?attr/colorOnAccentColor"
android:contentDescription="@string/add_entry"
app:tint="?attr/colorOnAccentColor"
app:backgroundTint="?attr/colorAccent"
app:fabSize="mini"
app:fabCustomSize="@dimen/button_small_size"
app:useCompatPadding="true" />
</LinearLayout>
@@ -83,9 +85,11 @@
android:layout_marginRight="@dimen/image_button_margin"
android:layout_marginEnd="@dimen/image_button_margin"
android:src="@drawable/ic_folder_white_24dp"
android:tint="?attr/colorOnAccentColor"
android:contentDescription="@string/add_group"
app:tint="?attr/colorOnAccentColor"
app:backgroundTint="?attr/colorAccent"
app:fabSize="mini"
app:fabCustomSize="@dimen/button_small_size"
app:useCompatPadding="true" />
</LinearLayout>
@@ -99,7 +103,7 @@
android:layout_alignParentBottom="true"
android:contentDescription="@string/content_description_add_node"
android:src="@drawable/ic_add_white_24dp"
android:tint="?attr/colorOnAccentColor"
app:tint="?attr/colorOnAccentColor"
app:fabSize="normal"
app:useCompatPadding="true" />

View File

@@ -10,10 +10,11 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:fabSize="mini"
app:fabCustomSize="@dimen/button_small_size"
android:layout_gravity="center"
android:layout_margin="9dp"
android:layout_margin="8dp"
android:contentDescription="@string/lock"
android:visibility="gone"
android:visibility="visible"
android:src="@drawable/ic_lock_white_padding_24dp"
xmlns:app="http://schemas.android.com/apk/res-auto" />
</FrameLayout>

View File

@@ -26,8 +26,10 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/password_input_layout"
android:layout_marginTop="22dp"
android:layout_alignBottom="@+id/password_input_layout"
android:layout_marginTop="4dp"
android:contentDescription="@string/content_description_password_checkbox"
android:theme="@style/KeepassDXStyle.Switch"
android:focusable="false"
android:gravity="center_vertical" />
@@ -67,8 +69,10 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/keyfile_selection"
android:layout_marginTop="22dp"
android:layout_alignBottom="@+id/keyfile_selection"
android:layout_marginTop="4dp"
android:contentDescription="@string/content_description_keyfile_checkbox"
android:theme="@style/KeepassDXStyle.Switch"
android:focusable="false"
android:gravity="center_vertical" />
@@ -94,8 +98,10 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/hardware_key_selection"
android:layout_marginTop="22dp"
android:layout_alignBottom="@+id/hardware_key_selection"
android:layout_marginTop="4dp"
android:contentDescription="@string/content_description_hardware_key_checkbox"
android:theme="@style/KeepassDXStyle.Switch"
android:focusable="false"
android:gravity="center_vertical" />

View File

@@ -68,6 +68,6 @@
<!-- Menu FAB -->
<style name="KeepassDXStyle.v21.FabMenu" parent="KeepassDXStyle.TextAppearance.Default.TextOnPrimary">
<item name="android:elevation">4dp</item>
<item name="android:elevation">2dp</item>
</style>
</resources>

View File

@@ -19,12 +19,13 @@
-->
<resources>
<dimen name="default_margin">18dp</dimen>
<dimen name="image_button_margin">8dp</dimen>
<dimen name="image_button_margin">4dp</dimen>
<dimen name="image_list_margin_vertical">22dp</dimen>
<dimen name="image_list_margin_horizontal">8dp</dimen>
<dimen name="image_list_margin_vertical_back">15dp</dimen>
<dimen name="image_preview_height">144dp</dimen>
<dimen name="button_margin">6dp</dimen>
<dimen name="button_small_size">48dp</dimen>
<dimen name="card_view_margin_horizontal">10dp</dimen>
<dimen name="card_view_margin_vertical">5dp</dimen>
<dimen name="card_view_padding">14dp</dimen>

View File

@@ -20,7 +20,7 @@
<resources>
<!-- SplashScreen theme -->
<style name="KeepassDXStyle.SplashScreen.v21" parent="Theme.MaterialComponents.NoActionBar.Bridge">
<style name="KeepassDXStyle.SplashScreen.v21" parent="Theme.Material3.DayNight.NoActionBar">
<item name="colorPrimary">@color/green</item>
<item name="colorPrimaryDark">@color/grey_dark</item>
<item name="android:windowBackground">@drawable/background_splash</item>
@@ -33,7 +33,7 @@
<style name="KeepassDXStyle.Light.v23" parent="KeepassDXStyle.Light.v21" />
<style name="KeepassDXStyle.Light.v21" parent="KeepassDXStyle.Light.v14" />
<style name="KeepassDXStyle.Light.v14" parent="KeepassDXStyle.Light.Base" />
<style name="KeepassDXStyle.Light.Base" parent="Theme.MaterialComponents.Light.Bridge">
<style name="KeepassDXStyle.Light.Base" parent="Theme.Material3.Light">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
@@ -50,6 +50,7 @@
<item name="colorPrimaryDark">@color/green_dark</item>
<item name="colorAccent">@color/orange</item>
<item name="colorAccentLight">@color/orange_lighter</item>
<item name="colorSecondary">@color/orange</item>
<item name="colorControlNormal">@color/grey_lighter</item>
<item name="colorControlActivated">@color/orange</item>
@@ -92,6 +93,9 @@
<item name="expandedTitleTextAppearance">@style/KeepassDXStyle.Expanded.Title</item>
<item name="collapsedTitleTextAppearance">@style/KeepassDXStyle.Collapsed.Title</item>
<!-- Switch -->
<item name="materialSwitchStyle">@style/KeepassDXStyle.Switch</item>
<!-- Chip -->
<item name="chipFilterTextColor">@color/white</item>
<item name="chipFilterBackgroundColor">@color/green_light</item>
@@ -111,7 +115,7 @@
<style name="KeepassDXStyle.Night.v23" parent="KeepassDXStyle.Night.v21" />
<style name="KeepassDXStyle.Night.v21" parent="KeepassDXStyle.Night.v14" />
<style name="KeepassDXStyle.Night.v14" parent="KeepassDXStyle.Night.Base" />
<style name="KeepassDXStyle.Night.Base" parent="Theme.MaterialComponents.Bridge">
<style name="KeepassDXStyle.Night.Base" parent="Theme.Material3.Dark">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
@@ -128,6 +132,7 @@
<item name="colorPrimaryDark">@color/green_dark</item>
<item name="colorAccent">@color/orange</item>
<item name="colorAccentLight">@color/orange_lighter</item>
<item name="colorSecondary">@color/orange</item>
<item name="colorControlNormal">@color/grey_lighter</item>
<item name="colorControlActivated">@color/orange</item>
@@ -170,6 +175,9 @@
<item name="expandedTitleTextAppearance">@style/KeepassDXStyle.Expanded.Title</item>
<item name="collapsedTitleTextAppearance">@style/KeepassDXStyle.Collapsed.Title</item>
<!-- Switch -->
<item name="materialSwitchStyle">@style/KeepassDXStyle.Switch</item>
<!-- Chip -->
<item name="chipFilterTextColor">@color/white</item>
<item name="chipFilterBackgroundColor">@color/green_lighter</item>
@@ -226,7 +234,7 @@
<style name="KeepassDXStyle.Toolbar.Special.Night" parent="KeepassDXStyle.Toolbar.Night">
<item name="toolbarStyle">@style/KeepassDXStyle.Toolbar.Widget.Special.Green</item>
</style>
<style name="KeepassDXStyle.Toolbar.Widget.Special" parent="Widget.MaterialComponents.Toolbar">
<style name="KeepassDXStyle.Toolbar.Widget.Special" parent="Widget.Material3.Toolbar">
<item name="titleTextAppearance">@style/KeepassDXStyle.TextAppearance.Toolbar.Special.Title</item>
<item name="subtitleTextAppearance">@style/KeepassDXStyle.TextAppearance.Toolbar.Special.SubTitle</item>
</style>
@@ -247,7 +255,7 @@
<style name="KeepassDXStyle.Toolbar.Action.Night" parent="KeepassDXStyle.Toolbar.Night">
<item name="toolbarStyle">@style/KeepassDXStyle.Toolbar.Widget.Action.Green</item>
</style>
<style name="KeepassDXStyle.Toolbar.Widget.Action.Green" parent="Widget.MaterialComponents.Toolbar">
<style name="KeepassDXStyle.Toolbar.Widget.Action.Green" parent="Widget.Material3.Toolbar">
<item name="android:background">@color/green</item>
</style>
@@ -260,20 +268,20 @@
</style>
<!-- Edit Text -->
<style name="ThemeOverlay.KeepassDXTheme.TextInputEditText" parent="ThemeOverlay.MaterialComponents.TextInputEditText.OutlinedBox">
<style name="ThemeOverlay.KeepassDXTheme.TextInputEditText" parent="ThemeOverlay.Material3.TextInputEditText.OutlinedBox">
<item name="colorControlActivated">?attr/colorAccent</item>
</style>
<style name="ThemeOverlay.KeepassDXTheme.CompleteTextView" parent="ThemeOverlay.MaterialComponents.AutoCompleteTextView.OutlinedBox">
<style name="ThemeOverlay.KeepassDXTheme.CompleteTextView" parent="ThemeOverlay.Material3.AutoCompleteTextView.OutlinedBox">
<item name="colorControlActivated">?attr/colorAccent</item>
</style>
<style name="KeepassDXStyle.TextInputLayout" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<style name="KeepassDXStyle.TextInputLayout" parent="Widget.Material3.TextInputLayout.OutlinedBox">
<item name="android:paddingTop">2dp</item>
<item name="android:paddingBottom">2dp</item>
<item name="boxStrokeColor">@color/edit_text_stroke_color</item>
<item name="hintTextColor">?attr/colorAccent</item>
<item name="materialThemeOverlay">@style/ThemeOverlay.KeepassDXTheme.TextInputEditText</item>
</style>
<style name="KeepassDXStyle.TextInputLayout.ExposedMenu" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu">
<style name="KeepassDXStyle.TextInputLayout.ExposedMenu" parent="Widget.Material3.TextInputLayout.OutlinedBox.ExposedDropdownMenu">
<item name="android:paddingTop">2dp</item>
<item name="android:paddingBottom">2dp</item>
<item name="boxStrokeColor">@color/edit_text_stroke_color</item>
@@ -281,6 +289,11 @@
<item name="materialThemeOverlay">@style/ThemeOverlay.KeepassDXTheme.CompleteTextView</item>
</style>
<!-- Switch -->
<style name="KeepassDXStyle.Switch" parent="Theme.MaterialComponents.Bridge">
<item name="colorAccent">@color/orange</item>
</style>
<!-- Chip -->
<style name="KeepassDXStyle.Chip.Filter" parent="Widget.MaterialComponents.Chip.Filter">
<item name="chipCornerRadius">8dp</item>
@@ -306,26 +319,43 @@
</style>
<!-- Dialog -->
<style name="KeepassDXStyle.Light.Dialog" parent="Theme.MaterialComponents.Light.Dialog.Alert.Bridge">
<style name="KeepassDXStyle.Light.Dialog" parent="Theme.Material3.Light.Dialog.Alert">
<item name="colorAccent">@color/orange</item>
<item name="android:textColorPrimary">@color/green</item>
<item name="android:background">@color/white_dark</item>
<item name="background">@color/white_dark</item>
<item name="android:windowSoftInputMode">adjustResize</item>
<item name="buttonBarNegativeButtonStyle">@style/KeepassDXStyle.Light.Dialog.NegativeButtonStyle</item>
<item name="buttonBarPositiveButtonStyle">@style/KeepassDXStyle.Light.Dialog.PositiveButtonStyle</item>
</style>
<style name="KeepassDXStyle.Night.Dialog" parent="Theme.MaterialComponents.Dialog.Alert.Bridge">
<style name="KeepassDXStyle.Light.Dialog.NegativeButtonStyle" parent="Widget.Material3.Button.TextButton.Dialog">
<item name="android:textColor">@color/black</item>
</style>
<style name="KeepassDXStyle.Light.Dialog.PositiveButtonStyle" parent="Widget.Material3.Button.TextButton.Dialog">
<item name="android:textColor">@color/black</item>
</style>
<style name="KeepassDXStyle.Light.DateTime.Dialog" parent="Theme.Material3.Light.Dialog">
<item name="colorAccent">@color/orange</item>
<item name="android:textColorPrimary">@color/green_dark</item>
<item name="android:windowBackground">@color/white_dark</item>
</style>
<style name="KeepassDXStyle.Night.Dialog" parent="Theme.Material3.Dark.Dialog.Alert">
<item name="colorAccent">@color/orange</item>
<item name="android:textColorPrimary">@color/green</item>
<item name="android:background">@color/grey_dark</item>
<item name="background">@color/grey_dark</item>
<item name="android:windowSoftInputMode">adjustResize</item>
<item name="buttonBarNegativeButtonStyle">@style/KeepassDXStyle.Night.Dialog.NegativeButtonStyle</item>
<item name="buttonBarPositiveButtonStyle">@style/KeepassDXStyle.Night.Dialog.PositiveButtonStyle</item>
</style>
<style name="KeepassDXStyle.Light.DateTime.Dialog" parent="Theme.MaterialComponents.Light.Dialog.Bridge">
<item name="colorAccent">@color/orange</item>
<item name="android:textColorPrimary">@color/green_dark</item>
<item name="android:windowBackground">@color/white_dark</item>
<style name="KeepassDXStyle.Night.Dialog.NegativeButtonStyle" parent="Widget.Material3.Button.TextButton.Dialog">
<item name="android:textColor">@color/white</item>
</style>
<style name="KeepassDXStyle.Night.DateTime.Dialog" parent="Theme.MaterialComponents.Dialog.Bridge">
<style name="KeepassDXStyle.Night.Dialog.PositiveButtonStyle" parent="Widget.Material3.Button.TextButton.Dialog">
<item name="android:textColor">@color/white</item>
</style>
<style name="KeepassDXStyle.Night.DateTime.Dialog" parent="Theme.Material3.Dark.Dialog">
<item name="colorAccent">@color/orange_darker</item>
<item name="android:textColorPrimary">@color/green_light</item>
<item name="android:windowBackground">@color/grey_dark</item>