diff options
Diffstat (limited to 'app/src/main')
-rw-r--r-- | app/src/main/java/com/zeapo/pwdstore/ui/adapters/EntryRecyclerAdapter.kt | 4 | ||||
-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.xml | 120 |
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> |