diff options
| author | Danilo M. <danix@danix.xyz> | 2026-11-04 11:23:25 +0100 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-11-04 11:23:25 +0100 |
| commit | fa95b737778ab08203c679d716c1279f51cbd409 (patch) | |
| tree | b5de9fa41937d2007d8dc30576f6be59c5d74a94 /app/src/main/res/layout | |
| parent | f5a736755a151be6753a2f939c493a7f9ad5bf06 (diff) | |
| download | HardenedPass-fa95b737778ab08203c679d716c1279f51cbd409.tar.gz HardenedPass-fa95b737778ab08203c679d716c1279f51cbd409.zip | |
feat(app): move the autofill picker to Compose
AutofillFilterView draws the picker with the shared theme: origin
header, search field, entry rows in a grouped surface and the three
switches, over the same SearchableRepositoryViewModel search. Rows
name the origin identifier and show the account and folders below it.
The first tap wins, so a double tap no longer starts two decryptions.
PasswordViewHolder, the RecyclerView adapter, the two layouts, their
drawables, the multiselect color and their lint baseline entries go.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'app/src/main/res/layout')
| -rw-r--r-- | app/src/main/res/layout/activity_oreo_autofill_filter.xml | 132 | ||||
| -rw-r--r-- | app/src/main/res/layout/oreo_autofill_filter_row.xml | 69 |
2 files changed, 0 insertions, 201 deletions
diff --git a/app/src/main/res/layout/activity_oreo_autofill_filter.xml b/app/src/main/res/layout/activity_oreo_autofill_filter.xml deleted file mode 100644 index 0641f5c6..00000000 --- a/app/src/main/res/layout/activity_oreo_autofill_filter.xml +++ /dev/null @@ -1,132 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?><!-- - ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved. - ~ SPDX-License-Identifier: GPL-3.0-only - --> - -<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - xmlns:tools="http://schemas.android.com/tools" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:elevation="2dp" - tools:context="app.passwordstore.ui.autofill.AutofillFilterView"> - - <ImageView - android:id="@+id/cover" - android:layout_width="0dp" - android:layout_height="60dp" - android:background="@android:color/transparent" - android:contentDescription="@string/app_name" - android:src="@drawable/ic_launcher_foreground" - app:layout_constraintBottom_toTopOf="@id/origin" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintVertical_bias="0.0" /> - - <TextView - android:id="@+id/origin" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:singleLine="false" - android:textAlignment="center" - app:layout_constraintBottom_toTopOf="@id/searchLayout" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/cover" - app:layout_constraintVertical_bias="0.0" /> - - <com.google.android.material.textfield.TextInputLayout - android:id="@+id/searchLayout" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginStart="@dimen/activity_horizontal_margin" - android:layout_marginTop="@dimen/activity_vertical_margin" - android:layout_marginEnd="@dimen/activity_horizontal_margin" - app:endIconMode="clear_text" - app:layout_constraintBottom_toTopOf="@id/rvPasswordSwitcher" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/origin"> - - <com.google.android.material.textfield.TextInputEditText - android:id="@+id/search" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:hint="@string/action_search" - android:imeOptions="actionDone" - android:inputType="text" - tools:text="example.com" /> - </com.google.android.material.textfield.TextInputLayout> - - <ViewSwitcher - android:id="@+id/rvPasswordSwitcher" - android:layout_width="0dp" - android:layout_height="0dp" - android:layout_marginTop="@dimen/activity_vertical_margin" - app:layout_constraintBottom_toTopOf="@id/strictDomainSearch" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/searchLayout"> - - <androidx.recyclerview.widget.RecyclerView - android:id="@+id/rvPassword" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:scrollbars="vertical" - tools:itemCount="5" - tools:listitem="@layout/oreo_autofill_filter_row" /> - - <TextView - android:id="@+id/rvPasswordEmpty" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:layout_marginStart="@dimen/activity_horizontal_margin" - android:layout_marginTop="@dimen/activity_vertical_margin" - android:text="@string/oreo_autofill_filter_no_results" - android:textSize="18sp" /> - - </ViewSwitcher> - - <com.google.android.material.switchmaterial.SwitchMaterial - android:id="@+id/strictDomainSearch" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_marginStart="@dimen/activity_horizontal_margin" - android:layout_marginEnd="@dimen/activity_horizontal_margin" - android:text="@string/oreo_autofill_strict_domain_search" - app:layout_constraintBottom_toTopOf="@id/shouldMatch" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/rvPasswordSwitcher" - app:layout_constraintVertical_bias="1.0" - tools:text="Phishing-resistant search" /> - - <com.google.android.material.switchmaterial.SwitchMaterial - android:id="@+id/shouldMatch" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_marginStart="@dimen/activity_horizontal_margin" - android:layout_marginEnd="@dimen/activity_horizontal_margin" - android:checked="true" - app:layout_constraintBottom_toTopOf="@id/shouldClear" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/strictDomainSearch" - app:layout_constraintVertical_bias="1.0" - tools:text="Match with example.org" /> - - <com.google.android.material.switchmaterial.SwitchMaterial - android:id="@+id/shouldClear" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_marginStart="@dimen/activity_horizontal_margin" - android:layout_marginEnd="@dimen/activity_horizontal_margin" - android:text="@string/oreo_autofill_matches_clear_existing" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/shouldMatch" - app:layout_constraintVertical_bias="1.0" /> - -</androidx.constraintlayout.widget.ConstraintLayout> diff --git a/app/src/main/res/layout/oreo_autofill_filter_row.xml b/app/src/main/res/layout/oreo_autofill_filter_row.xml deleted file mode 100644 index b4284966..00000000 --- a/app/src/main/res/layout/oreo_autofill_filter_row.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?><!-- - ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved. - ~ SPDX-License-Identifier: GPL-3.0-only - --> - -<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - xmlns:tools="http://schemas.android.com/tools" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="@drawable/password_row_background" - android:paddingTop="8dp" - android:paddingBottom="8dp"> - - <ImageView - android:id="@+id/credentialIcon" - android:layout_width="wrap_content" - android:layout_height="0dp" - android:layout_marginStart="8dp" - android:alpha="0.5" - android:src="@drawable/ic_person_black_24dp" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toStartOf="@id/title" - app:layout_constraintHorizontal_bias="0.0" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:tint="?attr/colorControlNormal" /> - - <TextView - android:id="@+id/title" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_marginStart="8dp" - android:ellipsize="middle" - android:singleLine="true" - android:textSize="12sp" - app:layout_constraintBottom_toTopOf="@id/subtitle" - app:layout_constraintEnd_toStartOf="@id/continueIcon" - app:layout_constraintStart_toEndOf="@id/credentialIcon" - app:layout_constraintTop_toTopOf="parent" - tools:text="/example.com/" /> - - <TextView - android:id="@+id/subtitle" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_marginStart="8dp" - android:ellipsize="middle" - android:singleLine="true" - android:textSize="14sp" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toStartOf="@+id/continueIcon" - app:layout_constraintStart_toEndOf="@id/credentialIcon" - app:layout_constraintTop_toBottomOf="@id/title" - tools:text="johndoe@example.com" /> - - <ImageView - android:id="@+id/continueIcon" - android:layout_width="wrap_content" - android:layout_height="0dp" - android:layout_marginEnd="8dp" - android:src="@drawable/ic_keyboard_arrow_right_24dp" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintHorizontal_bias="1.0" - app:layout_constraintStart_toEndOf="@id/title" - app:layout_constraintTop_toTopOf="parent" /> - -</androidx.constraintlayout.widget.ConstraintLayout> |
