summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/ui/adapters/EntryRecyclerAdapter.kt4
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/widget/MultiselectableConstraintLayout.kt (renamed from app/src/main/java/com/zeapo/pwdstore/widget/MultiselectableLinearLayout.kt)14
-rw-r--r--app/src/main/res/layout/password_row_layout.xml120
3 files changed, 62 insertions, 76 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/ui/adapters/EntryRecyclerAdapter.kt b/app/src/main/java/com/zeapo/pwdstore/ui/adapters/EntryRecyclerAdapter.kt
index ba66ed6f..e8822929 100644
--- a/app/src/main/java/com/zeapo/pwdstore/ui/adapters/EntryRecyclerAdapter.kt
+++ b/app/src/main/java/com/zeapo/pwdstore/ui/adapters/EntryRecyclerAdapter.kt
@@ -12,7 +12,7 @@ import androidx.appcompat.widget.AppCompatTextView
import androidx.recyclerview.widget.RecyclerView
import com.zeapo.pwdstore.R
import com.zeapo.pwdstore.utils.PasswordItem
-import com.zeapo.pwdstore.widget.MultiselectableLinearLayout
+import com.zeapo.pwdstore.widget.MultiselectableConstraintLayout
import java.io.File
import java.util.ArrayList
import java.util.TreeSet
@@ -103,7 +103,7 @@ abstract class EntryRecyclerAdapter internal constructor(val values: ArrayList<P
// after removal, everything is rebound for some reason; views are shuffled?
val selected = selectedItems.contains(position)
holder.view.isSelected = selected
- (holder.itemView as MultiselectableLinearLayout).setMultiSelected(selected)
+ (holder.itemView as MultiselectableConstraintLayout).setMultiSelected(selected)
}
protected abstract fun getOnClickListener(holder: ViewHolder, pass: PasswordItem): View.OnClickListener
diff --git a/app/src/main/java/com/zeapo/pwdstore/widget/MultiselectableLinearLayout.kt b/app/src/main/java/com/zeapo/pwdstore/widget/MultiselectableConstraintLayout.kt
index c857c4d4..3cd88eb4 100644
--- a/app/src/main/java/com/zeapo/pwdstore/widget/MultiselectableLinearLayout.kt
+++ b/app/src/main/java/com/zeapo/pwdstore/widget/MultiselectableConstraintLayout.kt
@@ -7,15 +7,15 @@ package com.zeapo.pwdstore.widget
import android.content.Context
import android.util.AttributeSet
import android.view.View
-import android.widget.LinearLayout
+import androidx.constraintlayout.widget.ConstraintLayout
import com.zeapo.pwdstore.R
-class MultiselectableLinearLayout @JvmOverloads constructor(
+class MultiselectableConstraintLayout @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0,
defStyleRes: Int = 0
-) : LinearLayout(context, attrs, defStyleAttr, defStyleRes) {
+) : ConstraintLayout(context, attrs, defStyleAttr, defStyleRes) {
private var multiselected: Boolean = false
override fun onCreateDrawableState(extraSpace: Int): IntArray {
@@ -35,14 +35,6 @@ class MultiselectableLinearLayout @JvmOverloads constructor(
isActivated = on
}
- fun setSingleSelected(on: Boolean) {
- if (multiselected) {
- multiselected = false
- refreshDrawableState()
- }
- isActivated = on
- }
-
companion object {
private val STATE_MULTISELECTED = intArrayOf(R.attr.state_multiselected)
}
diff --git a/app/src/main/res/layout/password_row_layout.xml b/app/src/main/res/layout/password_row_layout.xml
index 29fb8dbb..c48349fe 100644
--- a/app/src/main/res/layout/password_row_layout.xml
+++ b/app/src/main/res/layout/password_row_layout.xml
@@ -1,74 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
-<com.zeapo.pwdstore.widget.MultiselectableLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<com.zeapo.pwdstore.widget.MultiselectableConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="@drawable/password_row_background">
+ android:background="@drawable/password_row_background"
+ android:paddingTop="12dp"
+ android:paddingBottom="12dp">
- <androidx.constraintlayout.widget.ConstraintLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="12dp"
- android:paddingBottom="12dp">
-
- <androidx.appcompat.widget.AppCompatImageView
- android:id="@+id/type_image"
- android:layout_width="60dp"
- android:layout_height="32dp"
- android:layout_gravity="bottom"
- android:alpha="0.5"
- android:contentDescription="@string/folder_icon_hint"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- tools:src="@drawable/ic_folder_tinted_24dp" />
+ <androidx.appcompat.widget.AppCompatImageView
+ android:id="@+id/type_image"
+ android:layout_width="60dp"
+ android:layout_height="32dp"
+ android:layout_gravity="bottom"
+ android:alpha="0.5"
+ android:contentDescription="@string/folder_icon_hint"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ tools:src="@drawable/ic_folder_tinted_24dp" />
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/type"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:ellipsize="start"
- android:singleLine="true"
- android:textColor="?android:attr/textColor"
- android:textSize="14sp"
- app:layout_constraintStart_toEndOf="@id/type_image"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="TYPE" />
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/label"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="bottom"
- android:textColor="?android:attr/textColor"
- android:textSize="18sp"
- app:layout_constraintStart_toEndOf="@id/type_image"
- app:layout_constraintTop_toBottomOf="@id/type"
- app:layout_constraintBottom_toBottomOf="@id/type_image"
- tools:text="FILE_NAME" />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/type"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:ellipsize="start"
+ android:singleLine="true"
+ android:textColor="?android:attr/textColor"
+ android:textSize="14sp"
+ app:layout_constraintStart_toEndOf="@id/type_image"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:text="TYPE" />
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/child_count"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="18sp"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@id/folder_indicator"
- android:layout_marginEnd="12dp"
- tools:text="12" />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/label"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="bottom"
+ android:textColor="?android:attr/textColor"
+ android:textSize="18sp"
+ app:layout_constraintStart_toEndOf="@id/type_image"
+ app:layout_constraintTop_toBottomOf="@id/type"
+ app:layout_constraintBottom_toBottomOf="@id/type_image"
+ tools:text="FILE_NAME" />
- <androidx.appcompat.widget.AppCompatImageView
- android:id="@+id/folder_indicator"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginEnd="16dp"
- android:src="@drawable/ic_keyboard_arrow_right_24dp"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent" />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/child_count"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="18sp"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/folder_indicator"
+ android:layout_marginEnd="12dp"
+ tools:text="12" />
- </androidx.constraintlayout.widget.ConstraintLayout>
+ <androidx.appcompat.widget.AppCompatImageView
+ android:id="@+id/folder_indicator"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginEnd="16dp"
+ android:src="@drawable/ic_keyboard_arrow_right_24dp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent" />
-</com.zeapo.pwdstore.widget.MultiselectableLinearLayout> \ No newline at end of file
+</com.zeapo.pwdstore.widget.MultiselectableConstraintLayout>