diff options
Diffstat (limited to 'app/src/main/res/layout')
7 files changed, 426 insertions, 4 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 new file mode 100644 index 00000000..17eb0e29 --- /dev/null +++ b/app/src/main/res/layout/activity_oreo_autofill_filter.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="utf-8"?> +<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="com.zeapo.pwdstore.autofill.oreo.ui.AutofillFilterView"> + + <ImageView + android:id="@+id/cover" + android:layout_width="0dp" + android:layout_height="50dp" + android:background="@color/primary_color" + android:contentDescription="@string/app_name" + android:src="@drawable/ic_launcher_foreground" + app:layout_constraintBottom_toTopOf="@id/searchLayout" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.0" /> + + <com.google.android.material.textfield.TextInputLayout + android:id="@+id/searchLayout" + style="@style/TextInputLayoutBase" + 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/rvPassword" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/cover"> + + <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> + + <androidx.recyclerview.widget.RecyclerView + android:id="@+id/rvPassword" + android:layout_width="0dp" + android:layout_height="0dp" + android:layout_marginTop="@dimen/activity_vertical_margin" + android:scrollbars="vertical" + app:layout_constraintBottom_toTopOf="@id/shouldMatch" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/searchLayout" + tools:itemCount="5" + tools:listitem="@layout/password_row_layout" /> + + <Switch + android:id="@+id/shouldMatch" + android:layout_width="0dp" + 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" + android:checked="true" + app:layout_constraintBottom_toTopOf="@id/shouldClear" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/rvPassword" + app:layout_constraintVertical_bias="1.0" + tools:text="Match with example.org" /> + + <Switch + android:id="@+id/shouldClear" + android:layout_width="0dp" + 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" + android:layout_marginBottom="@dimen/activity_vertical_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/activity_oreo_autofill_publisher_changed.xml b/app/src/main/res/layout/activity_oreo_autofill_publisher_changed.xml new file mode 100644 index 00000000..21184e84 --- /dev/null +++ b/app/src/main/res/layout/activity_oreo_autofill_publisher_changed.xml @@ -0,0 +1,167 @@ +<?xml version="1.0" encoding="utf-8"?> +<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="280dp" + android:layout_height="wrap_content" + android:animateLayoutChanges="true" + android:elevation="2dp" + android:scrollbars="vertical" + tools:context="com.zeapo.pwdstore.autofill.oreo.ui.AutofillPublisherChangedActivity"> + + <ImageView + android:id="@+id/cover" + android:layout_width="0dp" + android:layout_height="50dp" + android:background="@color/primary_color" + android:contentDescription="@string/app_name" + android:src="@drawable/ic_launcher_foreground" + app:layout_constraintBottom_toTopOf="@id/warningSign" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.0" + app:layout_constraintVertical_chainStyle="packed" /> + + <ImageView + android:id="@+id/warningSign" + android:layout_width="0dp" + android:layout_height="50dp" + android:background="@color/window_background" + android:contentDescription="@string/oreo_autofill_warning_publisher_warning_sign_description" + android:src="@drawable/ic_warning_red_24dp" + app:layout_constraintBottom_toTopOf="@id/warningHeader" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/cover" /> + + <TextView + android:id="@+id/warningHeader" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="@dimen/activity_horizontal_margin" + android:layout_marginEnd="@dimen/activity_horizontal_margin" + android:layout_marginBottom="@dimen/activity_vertical_margin" + android:background="@color/window_background" + android:text="@string/oreo_autofill_warning_publisher_header" + android:textSize="12sp" + app:layout_constraintBottom_toTopOf="@id/warningAppName" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/warningSign" /> + + <TextView + android:id="@+id/warningAppName" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="@dimen/activity_horizontal_margin" + android:layout_marginEnd="@dimen/activity_horizontal_margin" + android:background="@color/window_background" + android:gravity="center_horizontal" + android:textSize="12sp" + app:layout_constraintBottom_toTopOf="@id/warningAppInstallDate" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/warningHeader" + tools:text="Example Banking" /> + + <TextView + android:id="@+id/warningAppInstallDate" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="@dimen/activity_horizontal_margin" + android:layout_marginEnd="@dimen/activity_horizontal_margin" + android:background="@color/window_background" + android:gravity="center_horizontal" + android:textSize="12sp" + app:layout_constraintBottom_toTopOf="@id/warningAppFooter" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/warningAppName" + tools:text="Installed: 5 days ago" /> + + <TextView + android:id="@+id/warningAppFooter" + android:layout_width="0dp" + 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" + android:layout_marginBottom="@dimen/activity_vertical_margin" + android:background="@color/window_background" + android:text="@string/oreo_autofill_warning_publisher_footer" + android:textSize="12sp" + app:layout_constraintBottom_toTopOf="@id/okButton" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/warningAppInstallDate" /> + + <Button + android:id="@+id/okButton" + style="@style/Widget.MaterialComponents.Button.OutlinedButton" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="@dimen/activity_horizontal_margin" + android:layout_marginEnd="@dimen/activity_horizontal_margin" + android:text="@string/oreo_autofill_warning_publisher_changed_disable_autofill_button" + android:textSize="12sp" + app:layout_constraintBottom_toTopOf="@id/advancedButton" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="1.0" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/warningAppFooter" /> + + <Button + android:id="@+id/advancedButton" + style="@style/Widget.MaterialComponents.Button.OutlinedButton" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="@dimen/activity_horizontal_margin" + android:layout_marginEnd="@dimen/activity_horizontal_margin" + android:text="@string/oreo_autofill_warning_publisher_advanced_info_button" + android:textSize="12sp" + app:layout_constraintBottom_toTopOf="@id/warningAppAdvancedInfo" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="1.0" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/okButton" /> + + <TextView + android:id="@+id/warningAppAdvancedInfo" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="@dimen/activity_horizontal_margin" + android:layout_marginEnd="@dimen/activity_horizontal_margin" + android:background="@color/window_background" + android:fontFamily="monospace" + android:gravity="center_horizontal" + android:textIsSelectable="true" + android:textSize="10sp" + android:visibility="invisible" + app:layout_constraintBottom_toTopOf="@id/resetButton" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/advancedButton" + tools:ignore="SmallSp" + tools:text="Package: com.example.banking\n\nHash:\n8P1sW0EPJcslw7UzRsiXL64w+O50Ed+RBICtay1g24M=" + tools:visibility="visible" /> + + <Button + android:id="@+id/resetButton" + style="@style/Widget.MaterialComponents.Button.TextButton" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="@dimen/activity_horizontal_margin" + android:layout_marginEnd="@dimen/activity_horizontal_margin" + android:text="@string/oreo_autofill_warning_publisher_reenable_button" + android:textSize="10sp" + android:visibility="invisible" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="1.0" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/warningAppAdvancedInfo" + tools:ignore="SmallSp" + tools:visibility="visible" /> + +</androidx.constraintlayout.widget.ConstraintLayout> diff --git a/app/src/main/res/layout/encrypt_layout.xml b/app/src/main/res/layout/encrypt_layout.xml index a54c45b4..40ae757f 100644 --- a/app/src/main/res/layout/encrypt_layout.xml +++ b/app/src/main/res/layout/encrypt_layout.xml @@ -45,11 +45,13 @@ android:layout_height="wrap_content" android:layout_margin="8dp" android:hint="@string/crypto_pass_label" + app:endIconMode="password_toggle" app:hintEnabled="true" app:layout_constraintTop_toBottomOf="@id/name_input_layout" app:layout_constraintStart_toStartOf="parent"> <com.google.android.material.textfield.TextInputEditText android:id="@+id/crypto_password_edit" + android:inputType="textVisiblePassword" android:layout_width="match_parent" android:layout_height="wrap_content"/> </com.google.android.material.textfield.TextInputLayout> @@ -84,4 +86,15 @@ android:layout_height="wrap_content"/> </com.google.android.material.textfield.TextInputLayout> + + <Switch + android:id="@+id/encrypt_username" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_margin="8dp" + android:text="@string/crypto_encrypt_username_label" + android:visibility="gone" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/extra_input_layout" + tools:visibility="visible" /> </androidx.constraintlayout.widget.ConstraintLayout> diff --git a/app/src/main/res/layout/oreo_autofill_dataset.xml b/app/src/main/res/layout/oreo_autofill_dataset.xml new file mode 100644 index 00000000..65c8f3f3 --- /dev/null +++ b/app/src/main/res/layout/oreo_autofill_dataset.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="horizontal" + android:paddingLeft="10dp" + android:paddingTop="5dp" + android:paddingRight="10dp" + android:paddingBottom="5dp"> + + <ImageView + android:id="@+id/icon" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:layout_marginEnd="10dp" + android:adjustViewBounds="true" + android:maxWidth="20dp" + android:maxHeight="20dp" + tools:src="@mipmap/ic_launcher" /> + + <LinearLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:orientation="vertical"> + + <TextView + android:id="@+id/title" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:ellipsize="middle" + android:singleLine="true" + android:textStyle="bold" + tools:text="example.org" /> + + <TextView + android:id="@+id/summary" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:ellipsize="middle" + android:singleLine="true" + tools:text="john@doe.org" /> + </LinearLayout> +</LinearLayout> diff --git a/app/src/main/res/layout/oreo_autofill_filter_row.xml b/app/src/main/res/layout/oreo_autofill_filter_row.xml new file mode 100644 index 00000000..c60c2693 --- /dev/null +++ b/app/src/main/res/layout/oreo_autofill_filter_row.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8"?> +<com.zeapo.pwdstore.widget.MultiselectableConstraintLayout 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" /> + + <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" /> + +</com.zeapo.pwdstore.widget.MultiselectableConstraintLayout> diff --git a/app/src/main/res/layout/oreo_autofill_instructions.xml b/app/src/main/res/layout/oreo_autofill_instructions.xml new file mode 100644 index 00000000..376a4363 --- /dev/null +++ b/app/src/main/res/layout/oreo_autofill_instructions.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="utf-8"?> +<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + xmlns:tools="http://schemas.android.com/tools"> + + <LinearLayout + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:paddingBottom="20dp" + android:paddingLeft="24dp" + android:paddingRight="24dp" + android:paddingTop="20dp"> + + <androidx.appcompat.widget.AppCompatTextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="Password Store can offer to fill login forms and even save credentials you enter in apps or on websites." + android:textSize="16sp" /> + + <androidx.appcompat.widget.AppCompatTextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="To enable this feature, tap OK to go to Autofill settings. There, select Password Store from the list." + android:textSize="16sp" /> + + <androidx.appcompat.widget.AppCompatTextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="Autofill support with installed browsers:" + android:textSize="16sp" /> + + <androidx.appcompat.widget.AppCompatTextView + android:id="@+id/supportedBrowsers" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + tools:text="Firefox: Fill and save credentials" + android:textSize="16sp" /> + + + </LinearLayout> +</ScrollView> diff --git a/app/src/main/res/layout/password_row_layout.xml b/app/src/main/res/layout/password_row_layout.xml index 0b7112b6..ae76d7a9 100644 --- a/app/src/main/res/layout/password_row_layout.xml +++ b/app/src/main/res/layout/password_row_layout.xml @@ -8,7 +8,7 @@ android:paddingTop="12dp" android:paddingBottom="12dp"> - <androidx.appcompat.widget.AppCompatImageView + <ImageView android:id="@+id/type_image" android:layout_width="60dp" android:layout_height="32dp" @@ -20,7 +20,7 @@ app:layout_constraintBottom_toBottomOf="parent" tools:src="@drawable/ic_multiple_files_24dp" /> - <androidx.appcompat.widget.AppCompatTextView + <TextView android:id="@+id/label" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -31,7 +31,7 @@ app:layout_constraintTop_toTopOf="parent" tools:text="FILE_NAME" /> - <androidx.appcompat.widget.AppCompatTextView + <TextView android:id="@+id/child_count" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -42,7 +42,7 @@ android:layout_marginEnd="12dp" tools:text="12" /> - <androidx.appcompat.widget.AppCompatImageView + <ImageView android:id="@+id/folder_indicator" android:layout_width="wrap_content" android:layout_height="wrap_content" |
