aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/res
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-11-04 18:51:35 +0100
committerDanilo M. <danix@danix.xyz>2026-11-04 18:51:35 +0100
commitba2a60a14717fd7c82cd2c4b1778673d1bb6388f (patch)
tree45fc389cbafedcfef0f88ae8b7e789af39690c84 /app/src/main/res
parent0ad0b1ca6a7f7fa814a92dd6eaf9da88948ee377 (diff)
parent136ee43d6080da288afae8ec133727962ea60640 (diff)
downloadHardenedPass-ba2a60a14717fd7c82cd2c4b1778673d1bb6388f.tar.gz
HardenedPass-ba2a60a14717fd7c82cd2c4b1778673d1bb6388f.zip
Merge branch 'compose': Compose UI overhaul
Every screen moves from XML layouts, Views and Fragments to Jetpack Compose with Material 3, in one MainActivity with a NavHost: the list with breadcrumbs, search, pull to sync and multi-select; the entry view with OTP countdown; the editor with generator sheet and folder picker; setup (welcome, git server and clone, SSH key, PGP keys); settings, git config, commit log and proxy; and the autofill picker, publisher warning and decryption prompts. LaunchActivity stays the only exported activity. Fixes found on the way reach master with it, among them symlink-safe deletes, the proxy user name, screen lock gated switches, the Android 14 app lock and screen lock prompts, and the autofill passphrase cache rule. The View-era dependencies and view binding are gone; Material Components (Views) stays for the git dialogs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'app/src/main/res')
-rw-r--r--app/src/main/res/anim/scale_down.xml16
-rw-r--r--app/src/main/res/anim/scale_up.xml16
-rw-r--r--app/src/main/res/animator/slide_in_left.xml15
-rw-r--r--app/src/main/res/animator/slide_in_right.xml15
-rw-r--r--app/src/main/res/animator/slide_out_left.xml15
-rw-r--r--app/src/main/res/animator/slide_out_right.xml15
-rw-r--r--app/src/main/res/drawable/divider.xml10
-rw-r--r--app/src/main/res/drawable/ic_add_48dp.xml15
-rw-r--r--app/src/main/res/drawable/ic_arrow_back_black_24dp.xml15
-rw-r--r--app/src/main/res/drawable/ic_content_copy.xml15
-rw-r--r--app/src/main/res/drawable/ic_done_24dp.xml15
-rw-r--r--app/src/main/res/drawable/ic_keyboard_arrow_right_24dp.xml15
-rw-r--r--app/src/main/res/drawable/ic_save_24dp.xml15
-rw-r--r--app/src/main/res/drawable/ic_save_copy_24dp.xml15
-rw-r--r--app/src/main/res/drawable/password_row_background.xml20
-rw-r--r--app/src/main/res/layout/activity_git_clone.xml94
-rw-r--r--app/src/main/res/layout/activity_git_config.xml113
-rw-r--r--app/src/main/res/layout/activity_git_log.xml22
-rw-r--r--app/src/main/res/layout/activity_onboarding.xml11
-rw-r--r--app/src/main/res/layout/activity_oreo_autofill_filter.xml132
-rw-r--r--app/src/main/res/layout/activity_oreo_autofill_publisher_changed.xml174
-rw-r--r--app/src/main/res/layout/activity_preference_recyclerview.xml18
-rw-r--r--app/src/main/res/layout/activity_proxy_selector.xml106
-rw-r--r--app/src/main/res/layout/activity_pwdstore.xml19
-rw-r--r--app/src/main/res/layout/activity_ssh_keygen.xml69
-rw-r--r--app/src/main/res/layout/basic_bottom_sheet.xml62
-rw-r--r--app/src/main/res/layout/decrypt_layout.xml65
-rw-r--r--app/src/main/res/layout/dialog_password_entry.xml35
-rw-r--r--app/src/main/res/layout/dialog_text_input.xml25
-rw-r--r--app/src/main/res/layout/folder_dialog_fragment.xml38
-rw-r--r--app/src/main/res/layout/fragment_clone.xml96
-rw-r--r--app/src/main/res/layout/fragment_key_selection.xml80
-rw-r--r--app/src/main/res/layout/fragment_manual_otp_entry.xml53
-rw-r--r--app/src/main/res/layout/fragment_pwgen.xml115
-rw-r--r--app/src/main/res/layout/fragment_pwgen_diceware.xml73
-rw-r--r--app/src/main/res/layout/fragment_welcome.xml67
-rw-r--r--app/src/main/res/layout/git_credential_layout.xml15
-rw-r--r--app/src/main/res/layout/git_log_row_layout.xml45
-rw-r--r--app/src/main/res/layout/item_create_sheet.xml42
-rw-r--r--app/src/main/res/layout/item_field.xml30
-rw-r--r--app/src/main/res/layout/map_preference_widget_switch.xml13
-rw-r--r--app/src/main/res/layout/oreo_autofill_filter_row.xml69
-rw-r--r--app/src/main/res/layout/oreo_autofill_instructions.xml51
-rw-r--r--app/src/main/res/layout/password_creation_activity.xml147
-rw-r--r--app/src/main/res/layout/password_recycler_view.xml39
-rw-r--r--app/src/main/res/layout/password_row_layout.xml50
-rw-r--r--app/src/main/res/layout/select_folder_layout.xml16
-rw-r--r--app/src/main/res/menu/context_pass.xml34
-rw-r--r--app/src/main/res/menu/main_menu_git.xml36
-rw-r--r--app/src/main/res/menu/main_menu_no_auth.xml28
-rw-r--r--app/src/main/res/menu/main_menu_non_git.xml24
-rw-r--r--app/src/main/res/menu/pgp_handler.xml28
-rw-r--r--app/src/main/res/menu/pgp_handler_new_password.xml20
-rw-r--r--app/src/main/res/menu/pgp_handler_select_folder.xml15
-rw-r--r--app/src/main/res/values-de/strings.xml31
-rw-r--r--app/src/main/res/values-fr/strings.xml28
-rw-r--r--app/src/main/res/values-gl/strings.xml31
-rw-r--r--app/src/main/res/values-hdpi/dimens.xml10
-rw-r--r--app/src/main/res/values-it/strings.xml76
-rw-r--r--app/src/main/res/values-ko-rKR/strings.xml25
-rw-r--r--app/src/main/res/values-night/colors_material3.xml1
-rw-r--r--app/src/main/res/values-pl-rPL/strings.xml28
-rw-r--r--app/src/main/res/values-pt-rBR/strings.xml31
-rw-r--r--app/src/main/res/values-ru/strings.xml27
-rw-r--r--app/src/main/res/values-zh-rCN/strings.xml25
-rw-r--r--app/src/main/res/values/arrays.xml4
-rw-r--r--app/src/main/res/values/attrs.xml10
-rw-r--r--app/src/main/res/values/colors_material3.xml1
-rw-r--r--app/src/main/res/values/dimens.xml16
-rw-r--r--app/src/main/res/values/strings.xml80
-rw-r--r--app/src/main/res/values/styles_material3.xml12
-rw-r--r--app/src/main/res/values/themes_material3.xml14
72 files changed, 148 insertions, 2698 deletions
diff --git a/app/src/main/res/anim/scale_down.xml b/app/src/main/res/anim/scale_down.xml
deleted file mode 100644
index cbb4cb97..00000000
--- a/app/src/main/res/anim/scale_down.xml
+++ /dev/null
@@ -1,16 +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
- -->
-
-<set xmlns:android="http://schemas.android.com/apk/res/android">
- <scale
- android:duration="300"
- android:fromXScale="1.0"
- android:fromYScale="1.0"
- android:interpolator="@android:anim/linear_interpolator"
- android:pivotX="50%"
- android:pivotY="50%"
- android:toXScale="0"
- android:toYScale="0" />
-</set>
diff --git a/app/src/main/res/anim/scale_up.xml b/app/src/main/res/anim/scale_up.xml
deleted file mode 100644
index 1e149e38..00000000
--- a/app/src/main/res/anim/scale_up.xml
+++ /dev/null
@@ -1,16 +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
- -->
-
-<set xmlns:android="http://schemas.android.com/apk/res/android">
- <scale
- android:duration="300"
- android:fromXScale="0"
- android:fromYScale="0"
- android:interpolator="@android:anim/linear_interpolator"
- android:pivotX="50%"
- android:pivotY="50%"
- android:toXScale="1.0"
- android:toYScale="1.0" />
-</set>
diff --git a/app/src/main/res/animator/slide_in_left.xml b/app/src/main/res/animator/slide_in_left.xml
deleted file mode 100644
index 355aeefb..00000000
--- a/app/src/main/res/animator/slide_in_left.xml
+++ /dev/null
@@ -1,15 +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
- -->
-
-<set xmlns:android="http://schemas.android.com/apk/res/android">
-
- <objectAnimator
- android:duration="250"
- android:propertyName="x"
- android:valueFrom="1000"
- android:valueTo="0"
- android:valueType="floatType" />
-
-</set>
diff --git a/app/src/main/res/animator/slide_in_right.xml b/app/src/main/res/animator/slide_in_right.xml
deleted file mode 100644
index 685bda4d..00000000
--- a/app/src/main/res/animator/slide_in_right.xml
+++ /dev/null
@@ -1,15 +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
- -->
-
-<set xmlns:android="http://schemas.android.com/apk/res/android">
-
- <objectAnimator
- android:duration="250"
- android:propertyName="x"
- android:valueFrom="-1000"
- android:valueTo="0"
- android:valueType="floatType" />
-
-</set>
diff --git a/app/src/main/res/animator/slide_out_left.xml b/app/src/main/res/animator/slide_out_left.xml
deleted file mode 100644
index 06c3f076..00000000
--- a/app/src/main/res/animator/slide_out_left.xml
+++ /dev/null
@@ -1,15 +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
- -->
-
-<set xmlns:android="http://schemas.android.com/apk/res/android">
-
- <objectAnimator
- android:duration="250"
- android:propertyName="x"
- android:valueFrom="0"
- android:valueTo="-1000"
- android:valueType="floatType" />
-
-</set>
diff --git a/app/src/main/res/animator/slide_out_right.xml b/app/src/main/res/animator/slide_out_right.xml
deleted file mode 100644
index e5c61bdc..00000000
--- a/app/src/main/res/animator/slide_out_right.xml
+++ /dev/null
@@ -1,15 +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
- -->
-
-<set xmlns:android="http://schemas.android.com/apk/res/android">
-
- <objectAnimator
- android:duration="250"
- android:propertyName="x"
- android:valueFrom="0"
- android:valueTo="1000"
- android:valueType="floatType" />
-
-</set>
diff --git a/app/src/main/res/drawable/divider.xml b/app/src/main/res/drawable/divider.xml
deleted file mode 100644
index 39ec0614..00000000
--- a/app/src/main/res/drawable/divider.xml
+++ /dev/null
@@ -1,10 +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
- -->
-
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="rectangle">
- <size android:height="1dp" />
- <solid android:color="?attr/colorPrimaryDark" />
-</shape>
diff --git a/app/src/main/res/drawable/ic_add_48dp.xml b/app/src/main/res/drawable/ic_add_48dp.xml
deleted file mode 100644
index 7192e79d..00000000
--- a/app/src/main/res/drawable/ic_add_48dp.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:tint="?attr/colorControlNormal"
- android:viewportWidth="24"
- android:viewportHeight="24">
- <path
- android:fillColor="#FFFFFF"
- android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
-</vector>
diff --git a/app/src/main/res/drawable/ic_arrow_back_black_24dp.xml b/app/src/main/res/drawable/ic_arrow_back_black_24dp.xml
deleted file mode 100644
index 234364a9..00000000
--- a/app/src/main/res/drawable/ic_arrow_back_black_24dp.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:tint="?attr/colorControlNormal"
- android:viewportWidth="24"
- android:viewportHeight="24">
- <path
- android:fillColor="#FFFFFFFF"
- android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z" />
-</vector>
diff --git a/app/src/main/res/drawable/ic_content_copy.xml b/app/src/main/res/drawable/ic_content_copy.xml
deleted file mode 100644
index cdee1758..00000000
--- a/app/src/main/res/drawable/ic_content_copy.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:tint="?attr/colorControlNormal"
- android:viewportWidth="24"
- android:viewportHeight="24">
- <path
- android:fillColor="#FFFFFF"
- android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM15,5L8,5c-1.1,0 -1.99,0.9 -1.99,2L6,21c0,1.1 0.89,2 1.99,2L19,23c1.1,0 2,-0.9 2,-2L21,11l-6,-6zM8,21L8,7h6v5h5v9L8,21z" />
-</vector>
diff --git a/app/src/main/res/drawable/ic_done_24dp.xml b/app/src/main/res/drawable/ic_done_24dp.xml
deleted file mode 100644
index f8b6cef6..00000000
--- a/app/src/main/res/drawable/ic_done_24dp.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:tint="?attr/colorControlNormal"
- android:viewportWidth="24"
- android:viewportHeight="24">
- <path
- android:fillColor="#FFFFFF"
- android:pathData="M9,16.2L4.8,12l-1.4,1.4L9,19 21,7l-1.4,-1.4L9,16.2z" />
-</vector>
diff --git a/app/src/main/res/drawable/ic_keyboard_arrow_right_24dp.xml b/app/src/main/res/drawable/ic_keyboard_arrow_right_24dp.xml
deleted file mode 100644
index 6861aa87..00000000
--- a/app/src/main/res/drawable/ic_keyboard_arrow_right_24dp.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:tint="?attr/colorControlNormal"
- android:viewportWidth="24"
- android:viewportHeight="24">
- <path
- android:fillColor="#FFFFFFFF"
- android:pathData="M8.59,16.59L13.17,12 8.59,7.41 10,6l6,6 -6,6 -1.41,-1.41z" />
-</vector>
diff --git a/app/src/main/res/drawable/ic_save_24dp.xml b/app/src/main/res/drawable/ic_save_24dp.xml
deleted file mode 100644
index 8a4276c4..00000000
--- a/app/src/main/res/drawable/ic_save_24dp.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:tint="?attr/colorControlNormal"
- android:viewportWidth="24"
- android:viewportHeight="24">
- <path
- android:fillColor="#FFFFFF"
- android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM19,19L5,19L5,5h11.17L19,7.83L19,19zM12,12c-1.66,0 -3,1.34 -3,3s1.34,3 3,3 3,-1.34 3,-3 -1.34,-3 -3,-3zM6,6h9v4L6,10z" />
-</vector>
diff --git a/app/src/main/res/drawable/ic_save_copy_24dp.xml b/app/src/main/res/drawable/ic_save_copy_24dp.xml
deleted file mode 100644
index 06419aac..00000000
--- a/app/src/main/res/drawable/ic_save_copy_24dp.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:tint="?attr/colorControlNormal"
- android:viewportWidth="24"
- android:viewportHeight="24">
- <path
- android:fillColor="#FFFFFF"
- android:pathData="M19,5L7,5A2,2 0,0 0,5 7L5,21a2,2 0,0 0,2 2L21,23a2,2 0,0 0,2 -2L23,9ZM21,21L7,21L7,7L18.17,7L21,9.83ZM14,14a3,3 0,1 0,3 3A3,3 0,0 0,14 14ZM8,8h9v4L8,12ZM15,1L3,1A2,2 0,0 0,1 3L1,17L3,17L3,3L15,3Z" />
-</vector>
diff --git a/app/src/main/res/drawable/password_row_background.xml b/app/src/main/res/drawable/password_row_background.xml
deleted file mode 100644
index 0f681cd8..00000000
--- a/app/src/main/res/drawable/password_row_background.xml
+++ /dev/null
@@ -1,20 +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
- -->
-
-<!--
-Requires a layer-list since attributes cannot be resolved in selectors, see:
-https://stackoverflow.com/a/36424426/297261
- -->
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
- <item>
- <selector>
- <item
- android:drawable="@color/list_multiselect_background"
- android:state_selected="true" />
- <item android:drawable="@android:color/transparent" />
- </selector>
- </item>
- <item android:drawable="?android:attr/selectableItemBackground" />
-</layer-list>
diff --git a/app/src/main/res/layout/activity_git_clone.xml b/app/src/main/res/layout/activity_git_clone.xml
deleted file mode 100644
index b2f699b1..00000000
--- a/app/src/main/res/layout/activity_git_clone.xml
+++ /dev/null
@@ -1,94 +0,0 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<ScrollView 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:background="?android:attr/windowBackground"
- android:padding="@dimen/activity_horizontal_margin"
- tools:context="app.passwordstore.ui.git.config.GitServerConfigActivity">
-
- <androidx.constraintlayout.widget.ConstraintLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/label_server_url"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:hint="@string/server_url"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/server_url"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:imeOptions="actionNext"
- android:inputType="textWebEmailAddress"
- android:nextFocusForward="@id/auth_mode_group" />
-
- </com.google.android.material.textfield.TextInputLayout>
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/label_auth_mode"
- style="@style/TextAppearance.MaterialComponents.Headline6"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="16dp"
- android:layout_marginBottom="16dp"
- android:text="@string/connection_mode"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/label_server_url" />
-
- <com.google.android.material.button.MaterialButtonToggleGroup
- android:id="@+id/auth_mode_group"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/label_auth_mode"
- app:singleSelection="true">
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/auth_mode_ssh_key"
- style="?attr/materialButtonOutlinedStyle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/connection_mode_ssh_key" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/auth_mode_password"
- style="?attr/materialButtonOutlinedStyle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/connection_mode_basic_authentication" />
-
- </com.google.android.material.button.MaterialButtonToggleGroup>
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/save_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:text="@string/crypto_save"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toBottomOf="@id/auth_mode_group" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/clear_host_key_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:text="@string/clear_saved_host_key"
- android:visibility="gone"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/auth_mode_group"
- tools:visibility="visible" />
- </androidx.constraintlayout.widget.ConstraintLayout>
-</ScrollView>
diff --git a/app/src/main/res/layout/activity_git_config.xml b/app/src/main/res/layout/activity_git_config.xml
deleted file mode 100644
index b43ec6d6..00000000
--- a/app/src/main/res/layout/activity_git_config.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-<!--
- ~ 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:padding="@dimen/activity_horizontal_margin"
- tools:context="app.passwordstore.ui.git.config.GitConfigActivity"
- tools:layout_editor_absoluteX="0dp"
- tools:layout_editor_absoluteY="81dp">
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/username_input_layout"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:hint="@string/git_user_name_hint"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:layout_editor_absoluteY="64dp">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/git_user_name"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="textPersonName" />
-
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/email_input_layout"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:hint="@string/git_user_email"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/username_input_layout">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/git_user_email"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="textEmailAddress" />
-
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/save_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:text="@string/crypto_save"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toBottomOf="@id/email_input_layout" />
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/git_tools_title"
- style="@style/TextAppearance.MaterialComponents.Headline5"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:text="@string/git_tools"
- android:textSize="24sp"
- android:textStyle="bold"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/save_button" />
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/git_head_status"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/git_tools_title"
- tools:text="HEAD status" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/git_log"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:text="@string/git_log"
- app:layout_constraintTop_toBottomOf="@+id/git_head_status" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/git_abort_rebase"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:text="@string/abort_rebase"
- app:layout_constraintTop_toBottomOf="@+id/git_log" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/git_reset_to_remote"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:text="@string/reset_to_remote"
- app:layout_constraintTop_toBottomOf="@id/git_abort_rebase" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/git_gc"
- android:layout_marginTop="8dp"
- android:text="@string/git_run_gc_job"
- app:layout_constraintTop_toBottomOf="@id/git_reset_to_remote"
- android:layout_width="match_parent"
- android:layout_height="wrap_content" />
-
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/activity_git_log.xml b/app/src/main/res/layout/activity_git_log.xml
deleted file mode 100644
index e9884db0..00000000
--- a/app/src/main/res/layout/activity_git_log.xml
+++ /dev/null
@@ -1,22 +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
- -->
-
-<LinearLayout 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">
-
- <androidx.recyclerview.widget.RecyclerView
- android:id="@+id/git_log_recycler_view"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- android:scrollbars="vertical"
- app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
- tools:context="app.passwordstore.ui.git.log.GitLogActivity"
- tools:listitem="@layout/git_log_row_layout" />
-
-</LinearLayout>
diff --git a/app/src/main/res/layout/activity_onboarding.xml b/app/src/main/res/layout/activity_onboarding.xml
deleted file mode 100644
index d1153f5d..00000000
--- a/app/src/main/res/layout/activity_onboarding.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<androidx.fragment.app.FragmentContainerView xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/fragment_first_run"
- android:name="app.passwordstore.ui.onboarding.fragments.WelcomeFragment"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:tag="welcome_fragment" />
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/activity_oreo_autofill_publisher_changed.xml b/app/src/main/res/layout/activity_oreo_autofill_publisher_changed.xml
deleted file mode 100644
index 89d64fe4..00000000
--- a/app/src/main/res/layout/activity_oreo_autofill_publisher_changed.xml
+++ /dev/null
@@ -1,174 +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:animateLayoutChanges="true"
- android:elevation="2dp"
- android:paddingBottom="16dp"
- android:scrollbars="vertical"
- tools:context="app.passwordstore.ui.autofill.AutofillPublisherChangedActivity">
-
- <ImageView
- android:id="@+id/cover"
- android:layout_width="60dp"
- 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/warningSign"
- app:layout_constraintEnd_toStartOf="@id/app_name"
- app:layout_constraintHorizontal_chainStyle="packed"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- <TextView
- android:id="@+id/app_name"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/app_name"
- android:textSize="18sp"
- android:textStyle="bold"
- app:layout_constraintBottom_toBottomOf="@id/cover"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toEndOf="@id/cover"
- app:layout_constraintTop_toTopOf="@id/cover" />
-
- <ImageView
- android:id="@+id/warningSign"
- android:layout_width="40dp"
- android:layout_height="40dp"
- android:layout_marginStart="@dimen/activity_horizontal_margin"
- android:contentDescription="@string/oreo_autofill_warning_publisher_warning_sign_description"
- android:src="@drawable/ic_warning_red_24dp"
- app:layout_constraintBottom_toBottomOf="@id/warningHeader"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="@id/warningHeader" />
-
- <TextView
- android:id="@+id/warningHeader"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginTop="@dimen/activity_vertical_margin"
- android:layout_marginEnd="@dimen/activity_horizontal_margin"
- android:text="@string/oreo_autofill_warning_publisher_header"
- android:textSize="12sp"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toEndOf="@id/warningSign"
- app:layout_constraintTop_toBottomOf="@id/cover" />
-
- <TextView
- android:id="@+id/warningAppName"
- 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: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: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:text="@string/oreo_autofill_warning_publisher_footer"
- android:textSize="12sp"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/warningAppInstallDate" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/okButton"
- style="?attr/materialButtonOutlinedStyle"
- android:layout_width="wrap_content"
- 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:minWidth="240dp"
- android:text="@string/oreo_autofill_warning_publisher_changed_disable_autofill_button"
- android:textSize="12sp"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/warningAppFooter" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/advancedButton"
- style="?attr/materialButtonOutlinedStyle"
- 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:minWidth="240dp"
- android:text="@string/oreo_autofill_warning_publisher_advanced_info_button"
- android:textSize="12sp"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/okButton"
- tools:visibility="visible" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/resetButton"
- style="?attr/materialButtonOutlinedStyle"
- 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:minWidth="240dp"
- android:text="@string/oreo_autofill_warning_publisher_reenable_button"
- android:textSize="12sp"
- android:visibility="gone"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/advancedButton"
- tools:visibility="visible" />
-
- <TextView
- android:id="@+id/warningAppAdvancedInfo"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginStart="@dimen/activity_horizontal_margin"
- android:layout_marginTop="16dp"
- android:layout_marginEnd="@dimen/activity_horizontal_margin"
- android:fontFamily="@font/jetbrainsmono_nl_regular"
- android:gravity="center_horizontal"
- android:textIsSelectable="true"
- android:textSize="10sp"
- android:visibility="gone"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/resetButton"
- tools:ignore="SmallSp"
- tools:text="Package: com.example.banking\n\nHash:\n8P1sW0EPJcslw7UzRsiXL64w+O50Ed+RBICtay1g24M="
- tools:visibility="visible" />
-
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/activity_preference_recyclerview.xml b/app/src/main/res/layout/activity_preference_recyclerview.xml
deleted file mode 100644
index 805bc79a..00000000
--- a/app/src/main/res/layout/activity_preference_recyclerview.xml
+++ /dev/null
@@ -1,18 +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
- -->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
-
- <androidx.recyclerview.widget.RecyclerView
- android:id="@+id/preference_recycler_view"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
-
-</LinearLayout>
diff --git a/app/src/main/res/layout/activity_proxy_selector.xml b/app/src/main/res/layout/activity_proxy_selector.xml
deleted file mode 100644
index b83ca9f7..00000000
--- a/app/src/main/res/layout/activity_proxy_selector.xml
+++ /dev/null
@@ -1,106 +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">
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/proxy_host_input_layout"
- 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"
- android:hint="@string/proxy_hostname"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:layout_editor_absoluteY="64dp">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/proxy_host"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="textUri"
- android:nextFocusForward="@id/proxy_user" />
-
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/proxy_user_input_layout"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginStart="@dimen/activity_horizontal_margin"
- android:layout_marginTop="@dimen/normal_margin"
- android:layout_marginEnd="@dimen/normal_margin"
- android:hint="@string/username"
- app:layout_constraintEnd_toStartOf="@id/proxy_port_input_layout"
- app:layout_constraintHorizontal_weight="0.65"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/proxy_host_input_layout">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/proxy_user"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="textWebEmailAddress"
- android:nextFocusForward="@id/proxy_port" />
-
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/proxy_port_input_layout"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginStart="@dimen/normal_margin"
- android:layout_marginTop="@dimen/normal_margin"
- android:layout_marginEnd="@dimen/activity_horizontal_margin"
- android:hint="@string/port"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_weight="0.35"
- app:layout_constraintStart_toEndOf="@id/proxy_user_input_layout"
- app:layout_constraintTop_toBottomOf="@id/proxy_host_input_layout">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/proxy_port"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="number"
- android:nextFocusForward="@id/proxy_password" />
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/proxy_password_input_layout"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginStart="@dimen/activity_horizontal_margin"
- android:layout_marginTop="@dimen/normal_margin"
- android:layout_marginEnd="@dimen/activity_horizontal_margin"
- android:hint="@string/password"
- app:endIconMode="password_toggle"
- app:layout_constraintStart_toStartOf="@id/proxy_user_input_layout"
- app:layout_constraintTop_toBottomOf="@id/proxy_user_input_layout">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/proxy_password"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="textPassword" />
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/save"
- style="?attr/materialButtonOutlinedStyle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/normal_margin"
- android:layout_marginEnd="@dimen/activity_horizontal_margin"
- android:text="@string/crypto_save"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toBottomOf="@id/proxy_password_input_layout" />
-
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/activity_pwdstore.xml b/app/src/main/res/layout/activity_pwdstore.xml
deleted file mode 100644
index 295efd9c..00000000
--- a/app/src/main/res/layout/activity_pwdstore.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<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="vertical"
- tools:context=".PasswordStore">
-
- <LinearLayout
- android:id="@+id/main_layout"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical" />
-
-</LinearLayout>
diff --git a/app/src/main/res/layout/activity_ssh_keygen.xml b/app/src/main/res/layout/activity_ssh_keygen.xml
deleted file mode 100644
index 49548b36..00000000
--- a/app/src/main/res/layout/activity_ssh_keygen.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
- -->
-
-<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- android:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingTop="@dimen/activity_vertical_margin"
- android:paddingRight="@dimen/activity_horizontal_margin">
-
- <com.google.android.material.button.MaterialButtonToggleGroup
- android:id="@+id/key_type_group"
- style="@style/TextAppearance.MaterialComponents.Headline1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- app:selectionRequired="true"
- app:singleSelection="true">
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/key_type_rsa"
- style="?attr/materialButtonOutlinedStyle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/ssh_keygen_label_rsa" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/key_type_ecdsa"
- style="?attr/materialButtonOutlinedStyle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/ssh_keygen_label_ecdsa" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/key_type_ed25519"
- style="?attr/materialButtonOutlinedStyle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/ssh_keygen_label_ed25519" />
- </com.google.android.material.button.MaterialButtonToggleGroup>
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/key_type_explanation"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="8dp" />
-
- <com.google.android.material.checkbox.MaterialCheckBox
- android:id="@+id/key_require_authentication"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="@string/ssh_keygen_require_authentication" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/generate"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="end"
- android:layout_marginTop="8dp"
- android:text="@string/ssh_keygen_generate" />
- </LinearLayout>
-</ScrollView>
diff --git a/app/src/main/res/layout/basic_bottom_sheet.xml b/app/src/main/res/layout/basic_bottom_sheet.xml
deleted file mode 100644
index b45fc9c9..00000000
--- a/app/src/main/res/layout/basic_bottom_sheet.xml
+++ /dev/null
@@ -1,62 +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:paddingBottom="24dp">
-
- <com.google.android.material.textview.MaterialTextView
- android:id="@+id/bottom_sheet_title"
- style="?attr/textAppearanceTitleLarge"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginTop="8dp"
- android:visibility="gone"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="Bottom sheet title" />
-
- <com.google.android.material.textview.MaterialTextView
- android:id="@+id/bottom_sheet_message"
- style="?attr/textAppearanceBodyLarge"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginTop="16dp"
- android:layout_marginEnd="8dp"
- app:layout_constraintTop_toBottomOf="@id/bottom_sheet_title"
- tools:text="A long body of text that serves as the bottom sheet message" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/bottom_sheet_cancel_button"
- style="?attr/materialButtonOutlinedStyle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="24dp"
- android:layout_marginEnd="8dp"
- android:text="@string/dialog_cancel"
- android:visibility="gone"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toBottomOf="@id/bottom_sheet_message"
- tools:visibility="visible" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/bottom_sheet_ok_button"
- style="?attr/materialButtonOutlinedStyle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="24dp"
- android:layout_marginEnd="8dp"
- android:text="@string/dialog_ok"
- android:visibility="gone"
- app:layout_constraintEnd_toStartOf="@id/bottom_sheet_cancel_button"
- app:layout_constraintTop_toBottomOf="@id/bottom_sheet_message"
- tools:visibility="visible" />
-
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/decrypt_layout.xml b/app/src/main/res/layout/decrypt_layout.xml
deleted file mode 100644
index 88c0fb1a..00000000
--- a/app/src/main/res/layout/decrypt_layout.xml
+++ /dev/null
@@ -1,65 +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:orientation="vertical"
- android:paddingTop="16dp"
- tools:context="app.passwordstore.ui.crypto.DecryptActivity">
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/password_category"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:layout_marginStart="32dp"
- android:layout_marginEnd="16dp"
- android:textIsSelectable="false"
- android:textSize="18sp"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="CATEGORY HERE" />
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/password_file"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginStart="32dp"
- android:layout_marginEnd="16dp"
- android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"
- android:textColor="?attr/colorSecondary"
- android:textSize="24sp"
- android:textStyle="bold"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/password_category"
- tools:text="PASSWORD FILE NAME HERE" />
-
- <androidx.appcompat.widget.AppCompatImageView
- android:id="@+id/divider"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:src="@drawable/divider"
- app:layout_constraintTop_toBottomOf="@id/password_file"
- tools:ignore="ContentDescription" />
-
- <androidx.recyclerview.widget.RecyclerView
- android:id="@+id/recycler_view"
- android:layout_width="match_parent"
- android:layout_height="0dp"
- android:paddingHorizontal="16dp"
- app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/divider"
- tools:listitem="@layout/item_field" />
-
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/dialog_password_entry.xml b/app/src/main/res/layout/dialog_password_entry.xml
deleted file mode 100644
index bbfbc506..00000000
--- a/app/src/main/res/layout/dialog_password_entry.xml
+++ /dev/null
@@ -1,35 +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
- -->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- android:padding="@dimen/activity_horizontal_margin">
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/password_field"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="@string/password"
- app:endIconMode="password_toggle"
- app:hintAnimationEnabled="true"
- app:hintEnabled="true">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/password_edit_text"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="textPassword" />
- <requestFocus />
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.checkbox.MaterialCheckBox
- android:id="@+id/auto_clear_cache"
- android:layout_width="match_parent"
- android:text="@string/clear_cached_password_on_screen_off"
- android:layout_height="wrap_content" />
-</LinearLayout>
diff --git a/app/src/main/res/layout/dialog_text_input.xml b/app/src/main/res/layout/dialog_text_input.xml
deleted file mode 100644
index c8539273..00000000
--- a/app/src/main/res/layout/dialog_text_input.xml
+++ /dev/null
@@ -1,25 +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
- -->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- android:padding="@dimen/activity_horizontal_margin">
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/text_input_layout"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/edit_text"
- android:layout_width="match_parent"
- android:layout_height="wrap_content" />
-
- <requestFocus />
- </com.google.android.material.textfield.TextInputLayout>
-
-</LinearLayout>
diff --git a/app/src/main/res/layout/folder_dialog_fragment.xml b/app/src/main/res/layout/folder_dialog_fragment.xml
deleted file mode 100644
index 7860c9b4..00000000
--- a/app/src/main/res/layout/folder_dialog_fragment.xml
+++ /dev/null
@@ -1,38 +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"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- android:padding="16dp">
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/folder_name_container"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="@string/crypto_name_hint"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/folder_name_text"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="textNoSuggestions|textVisiblePassword" />
- <requestFocus />
- </com.google.android.material.textfield.TextInputLayout>
-
- <!-- TODO(msfjarvis): Restore this functionality -->
- <com.google.android.material.checkbox.MaterialCheckBox
- android:id="@+id/set_gpg_key"
- android:layout_width="0dp"
- android:visibility="gone"
- android:layout_height="wrap_content"
- android:text="@string/new_folder_set_gpg_key"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toBottomOf="@id/folder_name_container" />
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/fragment_clone.xml b/app/src/main/res/layout/fragment_clone.xml
deleted file mode 100644
index 9cb34761..00000000
--- a/app/src/main/res/layout/fragment_clone.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="?android:attr/colorBackground">
-
- <androidx.constraintlayout.widget.ConstraintLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
-
- <androidx.appcompat.widget.AppCompatImageView
- android:id="@+id/app_icon"
- android:layout_width="64dp"
- android:layout_height="64dp"
- android:layout_marginStart="32dp"
- android:layout_marginTop="@dimen/onboarding_icon_margin_top"
- android:contentDescription="@string/app_icon_hint"
- android:src="@mipmap/ic_launcher"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/app_name"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_centerHorizontal="true"
- android:layout_marginStart="@dimen/fab_compat_margin"
- android:layout_marginEnd="@dimen/fab_compat_margin"
- android:text="@string/app_name"
- android:textAppearance="?attr/textAppearanceTitleLarge"
- android:textStyle="bold"
- app:layout_constraintBottom_toBottomOf="@id/app_icon"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toEndOf="@id/app_icon"
- app:layout_constraintTop_toTopOf="@+id/app_icon" />
-
- <TextView
- android:id="@+id/repo_type"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginTop="48dp"
- android:layout_marginEnd="@dimen/fab_compat_margin"
- android:text="@string/select_n_repository_type"
- android:textAppearance="?attr/textAppearanceHeadlineSmall"
- android:textStyle="bold"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0"
- app:layout_constraintStart_toStartOf="@id/app_icon"
- app:layout_constraintTop_toBottomOf="@id/app_icon" />
-
- <TextView
- android:id="@+id/tv_repo_type_text"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/onboarding_desc_margin_top"
- android:layout_marginEnd="@dimen/fab_compat_margin"
- android:text="@string/select_repo_type_text"
- android:textAppearance="?attr/textAppearanceTitleSmall"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="@id/repo_type"
- app:layout_constraintTop_toBottomOf="@id/repo_type" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/clone_remote"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="16dp"
- android:layout_marginTop="@dimen/onboarding_button_margin_top"
- android:layout_marginEnd="16dp"
- android:maxWidth="300dp"
- android:minWidth="100dp"
- android:text="@string/clone_remote_repo"
- app:layout_constraintBottom_toTopOf="@id/create_local"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/tv_repo_type_text" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/create_local"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginBottom="128dp"
- android:maxWidth="300dp"
- android:minWidth="100dp"
- android:text="@string/create_local_repo"
- app:layout_constraintEnd_toEndOf="@id/clone_remote"
- app:layout_constraintStart_toStartOf="@id/clone_remote"
- app:layout_constraintTop_toBottomOf="@id/clone_remote" />
-
- </androidx.constraintlayout.widget.ConstraintLayout>
-</ScrollView>
diff --git a/app/src/main/res/layout/fragment_key_selection.xml b/app/src/main/res/layout/fragment_key_selection.xml
deleted file mode 100644
index b9141960..00000000
--- a/app/src/main/res/layout/fragment_key_selection.xml
+++ /dev/null
@@ -1,80 +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"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="?android:attr/colorBackground"
- android:orientation="vertical">
-
- <androidx.appcompat.widget.AppCompatImageView
- android:id="@+id/app_icon"
- android:layout_width="64dp"
- android:layout_height="64dp"
- android:layout_marginStart="32dp"
- android:layout_marginTop="@dimen/onboarding_icon_margin_top"
- android:contentDescription="@string/app_icon_hint"
- android:src="@mipmap/ic_launcher"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/app_name"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_centerHorizontal="true"
- android:layout_marginStart="@dimen/fab_compat_margin"
- android:layout_marginEnd="@dimen/fab_compat_margin"
- android:text="@string/app_name"
- android:textAppearance="?attr/textAppearanceTitleLarge"
- android:textStyle="bold"
- app:layout_constraintBottom_toBottomOf="@id/app_icon"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toEndOf="@id/app_icon"
- app:layout_constraintTop_toTopOf="@+id/app_icon" />
-
- <TextView
- android:id="@+id/gpg_key"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginTop="48dp"
- android:layout_marginEnd="@dimen/fab_compat_margin"
- android:text="@string/select_gpg_key_title"
- android:textAppearance="?attr/textAppearanceHeadlineSmall"
- android:textStyle="bold"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0"
- app:layout_constraintStart_toStartOf="@id/app_icon"
- app:layout_constraintTop_toBottomOf="@id/app_icon" />
-
- <TextView
- android:id="@+id/gpg_key_text"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/onboarding_desc_margin_top"
- android:layout_marginEnd="16dp"
- android:text="@string/select_gpg_key_message"
- android:textAppearance="?attr/textAppearanceTitleSmall"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="@id/gpg_key"
- app:layout_constraintTop_toBottomOf="@id/gpg_key" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/select_key"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="16dp"
- android:layout_marginTop="48dp"
- android:layout_marginEnd="16dp"
- android:maxWidth="300dp"
- android:minWidth="100dp"
- android:text="@string/gpg_key_select"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/gpg_key_text" />
-
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/fragment_manual_otp_entry.xml b/app/src/main/res/layout/fragment_manual_otp_entry.xml
deleted file mode 100644
index 7d7ea832..00000000
--- a/app/src/main/res/layout/fragment_manual_otp_entry.xml
+++ /dev/null
@@ -1,53 +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"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/secret_layout"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="@string/otp_import_manual_hint_secret"
- android:paddingStart="16dp"
- android:paddingTop="16dp"
- android:paddingEnd="16dp"
- app:hintEnabled="true"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/secret"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:inputType="textPassword" />
-
- <requestFocus />
-
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/account_layout"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="@string/otp_import_manual_hint_account"
- android:paddingStart="16dp"
- android:paddingTop="16dp"
- android:paddingEnd="16dp"
- android:paddingBottom="16dp"
- app:hintEnabled="true"
- app:layout_constraintTop_toBottomOf="@id/secret_layout">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/account"
- android:layout_width="match_parent"
- android:layout_height="match_parent" />
-
- </com.google.android.material.textfield.TextInputLayout>
-
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/fragment_pwgen.xml b/app/src/main/res/layout/fragment_pwgen.xml
deleted file mode 100644
index 02eadff5..00000000
--- a/app/src/main/res/layout/fragment_pwgen.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<ScrollView 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">
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- android:paddingLeft="24dp"
- android:paddingTop="20dp"
- android:paddingRight="24dp"
- android:paddingBottom="20dp"
- tools:context=".MainActivityFragment">
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/passwordText"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginBottom="8dp"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:textIsSelectable="true" />
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:baselineAligned="false"
- android:orientation="horizontal"
- android:weightSum="2">
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_weight="1"
- android:orientation="vertical">
-
- <androidx.appcompat.widget.AppCompatTextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginBottom="8dp"
- android:text="@string/pwgen_include"
- android:textAppearance="?android:attr/textAppearanceSmall" />
-
- <CheckBox
- android:id="@+id/numerals"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/pwgen_numerals" />
-
-
- <CheckBox
- android:id="@+id/symbols"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/pwgen_symbols" />
-
- <CheckBox
- android:id="@+id/uppercase"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/pwgen_uppercase" />
-
- <CheckBox
- android:id="@+id/lowercase"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/pwgen_lowercase" />
-
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_weight="1"
- android:orientation="vertical">
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/length"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginBottom="8dp"
- android:labelFor="@id/lengthNumber"
- android:text="@string/pwgen_length"
- android:textAppearance="?android:attr/textAppearanceSmall" />
-
- <EditText
- android:id="@+id/lengthNumber"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginBottom="8dp"
- android:autofillHints="notApplicable"
- android:ems="10"
- android:inputType="number" />
-
- <CheckBox
- android:id="@+id/pronounceable"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/pwgen_pronounceable" />
-
- <CheckBox
- android:id="@+id/ambiguous"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/pwgen_ambiguous" />
-
- </LinearLayout>
- </LinearLayout>
- </LinearLayout>
-</ScrollView>
diff --git a/app/src/main/res/layout/fragment_pwgen_diceware.xml b/app/src/main/res/layout/fragment_pwgen_diceware.xml
deleted file mode 100644
index b8627670..00000000
--- a/app/src/main/res/layout/fragment_pwgen_diceware.xml
+++ /dev/null
@@ -1,73 +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"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- android:paddingLeft="24dp"
- android:paddingTop="20dp"
- android:paddingRight="24dp"
- android:paddingBottom="20dp">
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/password_text"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceMedium"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/password_length"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:layout_marginEnd="4dp"
- android:hint="@string/pwgen_length"
- android:labelFor="@id/password_length_text"
- app:hintAnimationEnabled="true"
- app:hintEnabled="true"
- app:layout_constraintEnd_toStartOf="@id/password_separator"
- app:layout_constraintHorizontal_weight="0.5"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/password_text">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/password_length_text"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="number"
- android:maxLength="2" />
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/password_separator"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginStart="4dp"
- android:layout_marginTop="8dp"
- android:hint="@string/pwgen_separator"
- android:labelFor="@id/password_separator_text"
- app:hintAnimationEnabled="true"
- app:hintEnabled="true"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_weight="0.5"
- app:layout_constraintStart_toEndOf="@id/password_length"
- app:layout_constraintTop_toBottomOf="@id/password_text">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/password_separator_text"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:autofillHints=""
- android:importantForAutofill="no"
- android:inputType="text"
- android:maxLength="1" />
- </com.google.android.material.textfield.TextInputLayout>
-
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/fragment_welcome.xml b/app/src/main/res/layout/fragment_welcome.xml
deleted file mode 100644
index c68cd56a..00000000
--- a/app/src/main/res/layout/fragment_welcome.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<!--
- ~ 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"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="?android:attr/colorBackground"
- android:orientation="vertical">
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/settings_button"
- style="?attr/borderlessButtonStyle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentTop="true"
- android:layout_alignParentEnd="true"
- android:layout_marginEnd="@dimen/activity_horizontal_margin"
- android:text="@string/action_settings"
- android:textAllCaps="true"
- android:textColor="?attr/colorOnBackground"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- <androidx.appcompat.widget.AppCompatImageView
- android:id="@+id/app_icon"
- android:layout_width="100dp"
- android:layout_height="100dp"
- android:contentDescription="@string/app_icon_hint"
- android:src="@mipmap/ic_launcher"
- android:transitionName="transition_first_app_icon"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/app_name"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_centerHorizontal="true"
- android:layout_marginTop="16dp"
- android:text="@string/app_name"
- android:textAppearance="?attr/textAppearanceTitleLarge"
- android:textStyle="bold"
- android:transitionName="transition_first_run_app_name"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/app_icon" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/lets_go"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="16dp"
- android:layout_marginTop="48dp"
- android:layout_marginEnd="16dp"
- android:maxWidth="300dp"
- android:minWidth="100dp"
- android:text="@string/let_s_go"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/app_name" />
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/git_credential_layout.xml b/app/src/main/res/layout/git_credential_layout.xml
index 240c2d7a..8fc527e9 100644
--- a/app/src/main/res/layout/git_credential_layout.xml
+++ b/app/src/main/res/layout/git_credential_layout.xml
@@ -3,10 +3,11 @@
~ SPDX-License-Identifier: GPL-3.0-only
-->
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:orientation="vertical"
android:padding="16dp">
<com.google.android.material.textfield.TextInputLayout
@@ -15,10 +16,7 @@
android:layout_height="wrap_content"
app:endIconMode="password_toggle"
app:errorEnabled="true"
- app:hintEnabled="true"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent">
+ app:hintEnabled="true">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/git_auth_credential"
@@ -35,8 +33,5 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/git_operation_remember_passphrase"
- app:checkedState="checked"
- app:layout_constraintRight_toRightOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/git_auth_passphrase_layout" />
-</androidx.constraintlayout.widget.ConstraintLayout>
+ app:checkedState="checked" />
+</LinearLayout>
diff --git a/app/src/main/res/layout/git_log_row_layout.xml b/app/src/main/res/layout/git_log_row_layout.xml
deleted file mode 100644
index e996f6af..00000000
--- a/app/src/main/res/layout/git_log_row_layout.xml
+++ /dev/null
@@ -1,45 +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:paddingHorizontal="@dimen/activity_vertical_margin"
- android:paddingVertical="@dimen/activity_horizontal_margin">
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/git_log_row_message"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/normal_margin"
- android:ellipsize="end"
- android:maxLines="2"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/git_log_row_hash"
- tools:text="Commit message" />
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/git_log_row_hash"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textColor="?attr/colorSecondary"
- android:textStyle="bold"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="Hash" />
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/git_log_row_time"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:alpha="0.5"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="Time" />
-
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/item_create_sheet.xml b/app/src/main/res/layout/item_create_sheet.xml
deleted file mode 100644
index 10882a00..00000000
--- a/app/src/main/res/layout/item_create_sheet.xml
+++ /dev/null
@@ -1,42 +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"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/create_folder"
- style="@style/Widget.MaterialComponents.Button.TextButton"
- android:layout_width="match_parent"
- android:layout_height="@dimen/bottom_sheet_item_height"
- android:layout_margin="@dimen/normal_margin"
- android:text="@string/bottom_sheet_create_new_folder"
- android:textAlignment="viewStart"
- android:textColor="?attr/colorOnSurface"
- app:icon="@drawable/ic_action_new_folder"
- app:iconPadding="@dimen/normal_margin"
- app:iconTint="?attr/colorSecondary"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:rippleColor="?attr/colorSecondary" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/create_password"
- style="@style/Widget.MaterialComponents.Button.TextButton"
- android:layout_width="match_parent"
- android:layout_height="@dimen/bottom_sheet_item_height"
- android:layout_margin="@dimen/normal_margin"
- android:text="@string/bottom_sheet_create_new_password"
- android:textAlignment="viewStart"
- android:textColor="?attr/colorOnSurface"
- app:icon="@drawable/ic_action_new_password"
- app:iconPadding="@dimen/normal_margin"
- app:iconTint="?attr/colorSecondary"
- app:layout_constraintTop_toBottomOf="@id/create_folder"
- app:rippleColor="?attr/colorSecondary" />
-
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/item_field.xml b/app/src/main/res/layout/item_field.xml
deleted file mode 100644
index 79697a56..00000000
--- a/app/src/main/res/layout/item_field.xml
+++ /dev/null
@@ -1,30 +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
- -->
-
-<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="wrap_content"
- android:orientation="vertical">
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/item_text_container"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="16dp"
- tools:hint="@string/password"
- tools:visibility="visible">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/item_text"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:editable="false"
- android:textIsSelectable="true"
- tools:text="p@55w0rd!" />
-
- </com.google.android.material.textfield.TextInputLayout>
-
-</LinearLayout>
diff --git a/app/src/main/res/layout/map_preference_widget_switch.xml b/app/src/main/res/layout/map_preference_widget_switch.xml
deleted file mode 100644
index 566e72d4..00000000
--- a/app/src/main/res/layout/map_preference_widget_switch.xml
+++ /dev/null
@@ -1,13 +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
- -->
-
-<com.google.android.material.materialswitch.MaterialSwitch xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@android:id/checkbox"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:background="@null"
- android:clickable="false"
- android:focusable="false" />
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>
diff --git a/app/src/main/res/layout/oreo_autofill_instructions.xml b/app/src/main/res/layout/oreo_autofill_instructions.xml
deleted file mode 100644
index 66881390..00000000
--- a/app/src/main/res/layout/oreo_autofill_instructions.xml
+++ /dev/null
@@ -1,51 +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
- -->
-
-<ScrollView 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">
-
- <LinearLayout
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- android:paddingLeft="24dp"
- android:paddingTop="20dp"
- android:paddingRight="24dp"
- android:paddingBottom="20dp">
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/intro_text"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/oreo_autofill_enable_dialog_description"
- android:textSize="16sp" />
-
- <androidx.appcompat.widget.AppCompatTextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/activity_vertical_margin"
- android:text="@string/oreo_autofill_enable_dialog_instructions"
- android:textSize="16sp" />
-
- <androidx.appcompat.widget.AppCompatTextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/activity_vertical_margin"
- android:text="@string/oreo_autofill_enable_dialog_installed_browsers"
- android:textSize="16sp"
- android:textStyle="bold" />
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/supportedBrowsers"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="16sp"
- tools:text="Firefox: Fill and save credentials" />
-
-
- </LinearLayout>
-</ScrollView>
diff --git a/app/src/main/res/layout/password_creation_activity.xml b/app/src/main/res/layout/password_creation_activity.xml
deleted file mode 100644
index c0692753..00000000
--- a/app/src/main/res/layout/password_creation_activity.xml
+++ /dev/null
@@ -1,147 +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
- -->
-
-
-<ScrollView 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:fillViewport="false"
- tools:context="app.passwordstore.ui.crypto.PasswordCreationActivity">
-
- <androidx.constraintlayout.widget.ConstraintLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- android:padding="@dimen/activity_horizontal_margin">
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/directory_input_layout"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:layout_margin="8dp"
- android:enabled="false"
- android:hint="@string/directory_hint"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/directory"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:imeOptions="actionNext"
- android:inputType="textNoSuggestions"
- android:nextFocusForward="@id/password"
- tools:text="CATEGORY HERE" />
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/name_input_layout"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:layout_margin="8dp"
- android:hint="@string/crypto_name_hint"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/directory_input_layout">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/filename"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:imeOptions="actionNext"
- android:inputType="textNoSuggestions"
- android:nextFocusForward="@id/username" />
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.textfield.TextInputLayout
- android:visibility="gone"
- tools:visibility="visible"
- android:id="@+id/username_input_layout"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_margin="8dp"
- android:hint="@string/crypto_username_hint"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/name_input_layout">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/username"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:imeOptions="actionNext"
- android:inputType="textNoSuggestions"
- android:nextFocusForward="@id/password" />
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/password_input_layout"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_margin="8dp"
- android:hint="@string/crypto_pass_label"
- app:endIconMode="password_toggle"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/username_input_layout">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/password"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:imeOptions="actionDone"
- android:inputType="textVisiblePassword" />
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/generate_password"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="8dp"
- android:text="@string/pwd_generate_button"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toBottomOf="@id/password_input_layout" />
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/extra_input_layout"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_margin="8dp"
- android:hint="@string/crypto_extra_label"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/generate_password">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/extra_content"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:inputType="textMultiLine|textVisiblePassword" />
-
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/otp_import_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="8dp"
- android:text="@string/add_otp"
- app:icon="@drawable/ic_qr_code_scanner"
- app:iconTint="?attr/colorOnSecondary"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toBottomOf="@id/extra_input_layout" />
-
- <com.google.android.material.switchmaterial.SwitchMaterial
- 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/otp_import_button"
- tools:visibility="visible" />
- </androidx.constraintlayout.widget.ConstraintLayout>
-</ScrollView>
diff --git a/app/src/main/res/layout/password_recycler_view.xml b/app/src/main/res/layout/password_recycler_view.xml
deleted file mode 100644
index 49b7ff82..00000000
--- a/app/src/main/res/layout/password_recycler_view.xml
+++ /dev/null
@@ -1,39 +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.coordinatorlayout.widget.CoordinatorLayout 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:clipChildren="false"
- android:clipToPadding="false"
- android:orientation="vertical"
- tools:context="app.passwordstore.ui.passwords.PasswordFragment">
-
- <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
- android:id="@+id/swipe_refresher"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <me.zhanghai.android.fastscroll.FixOnItemTouchListenerRecyclerView
- android:id="@+id/pass_recycler"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:scrollbars="none"
- tools:itemCount="20"
- tools:listitem="@layout/password_row_layout" />
- </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
-
- <com.google.android.material.floatingactionbutton.FloatingActionButton
- android:id="@+id/fab"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentEnd="true"
- android:layout_alignParentBottom="true"
- android:layout_gravity="bottom|end"
- android:layout_margin="@dimen/fab_compat_margin"
- android:contentDescription="@string/password_list_fab_content_description"
- android:src="@drawable/ic_add_48dp" />
-</androidx.coordinatorlayout.widget.CoordinatorLayout>
diff --git a/app/src/main/res/layout/password_row_layout.xml b/app/src/main/res/layout/password_row_layout.xml
deleted file mode 100644
index 5c042839..00000000
--- a/app/src/main/res/layout/password_row_layout.xml
+++ /dev/null
@@ -1,50 +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="12dp"
- android:paddingBottom="12dp">
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/label"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_gravity="bottom"
- android:layout_marginStart="@dimen/activity_horizontal_margin"
- android:textSize="18sp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@id/child_count"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="FILE_NAME" />
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/child_count"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginEnd="8dp"
- android:textSize="18sp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@id/folder_indicator"
- app:layout_constraintTop_toTopOf="parent"
- tools:text="12" />
-
- <androidx.appcompat.widget.AppCompatImageView
- android:id="@+id/folder_indicator"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginEnd="@dimen/activity_horizontal_margin"
- android:contentDescription="@null"
- android:src="@drawable/ic_keyboard_arrow_right_24dp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/select_folder_layout.xml b/app/src/main/res/layout/select_folder_layout.xml
deleted file mode 100644
index 78b03579..00000000
--- a/app/src/main/res/layout/select_folder_layout.xml
+++ /dev/null
@@ -1,16 +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
- -->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
-
- <LinearLayout
- android:id="@+id/pgp_handler_linearlayout"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical" />
-</LinearLayout>
diff --git a/app/src/main/res/menu/context_pass.xml b/app/src/main/res/menu/context_pass.xml
deleted file mode 100644
index 608d7eef..00000000
--- a/app/src/main/res/menu/context_pass.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<menu 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"
- tools:context=".pwdstore">
-
- <item
- android:id="@+id/menu_move_password"
- android:icon="@drawable/ic_move_folder_24dp"
- android:title="@string/move"
- app:showAsAction="ifRoom" />
-
- <item
- android:id="@+id/menu_delete_password"
- android:icon="@drawable/ic_delete_24dp"
- android:title="@string/delete"
- app:showAsAction="ifRoom" />
-
- <item
- android:id="@+id/menu_edit_password"
- android:icon="@drawable/ic_edit_24dp"
- android:title="@string/edit"
- app:showAsAction="ifRoom" />
-
- <item
- android:id="@+id/menu_pin_password"
- android:icon="@drawable/ic_push_pin_24dp"
- android:title="@string/place_shortcut_on_home_screen"
- app:showAsAction="ifRoom" />
-</menu>
diff --git a/app/src/main/res/menu/main_menu_git.xml b/app/src/main/res/menu/main_menu_git.xml
deleted file mode 100644
index 1b64c083..00000000
--- a/app/src/main/res/menu/main_menu_git.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<menu xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto">
-
- <item
- android:id="@+id/action_search"
- android:icon="@drawable/ic_search_24dp"
- android:title="@string/action_search"
- app:actionViewClass="androidx.appcompat.widget.SearchView"
- app:showAsAction="always|collapseActionView" />
-
- <item
- android:id="@+id/git_sync"
- android:title="@string/git_sync" />
-
- <item
- android:id="@+id/git_pull"
- android:title="@string/git_pull" />
-
- <item
- android:id="@+id/git_push"
- android:title="@string/git_push" />
-
- <item
- android:id="@+id/refresh"
- android:title="@string/refresh_list" />
-
- <item
- android:id="@+id/user_pref"
- android:orderInCategory="100"
- android:title="@string/action_settings" />
-</menu>
diff --git a/app/src/main/res/menu/main_menu_no_auth.xml b/app/src/main/res/menu/main_menu_no_auth.xml
deleted file mode 100644
index 46f19e49..00000000
--- a/app/src/main/res/menu/main_menu_no_auth.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<menu xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto">
-
- <item
- android:id="@+id/action_search"
- android:icon="@drawable/ic_search_24dp"
- android:title="@string/action_search"
- app:actionViewClass="androidx.appcompat.widget.SearchView"
- app:showAsAction="always|collapseActionView" />
-
- <item
- android:id="@+id/git_pull"
- android:title="@string/git_pull" />
-
- <item
- android:id="@+id/refresh"
- android:title="@string/refresh_list" />
-
- <item
- android:id="@+id/user_pref"
- android:orderInCategory="100"
- android:title="@string/action_settings" />
-</menu>
diff --git a/app/src/main/res/menu/main_menu_non_git.xml b/app/src/main/res/menu/main_menu_non_git.xml
deleted file mode 100644
index 5a7cf00b..00000000
--- a/app/src/main/res/menu/main_menu_non_git.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<menu xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto">
-
- <item
- android:id="@+id/action_search"
- android:icon="@drawable/ic_search_24dp"
- android:title="@string/action_search"
- app:actionViewClass="androidx.appcompat.widget.SearchView"
- app:showAsAction="always|collapseActionView" />
-
- <item
- android:id="@+id/refresh"
- android:title="@string/refresh_list" />
-
- <item
- android:id="@+id/user_pref"
- android:orderInCategory="100"
- android:title="@string/action_settings" />
-</menu>
diff --git a/app/src/main/res/menu/pgp_handler.xml b/app/src/main/res/menu/pgp_handler.xml
deleted file mode 100644
index a8b6a524..00000000
--- a/app/src/main/res/menu/pgp_handler.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<menu xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:pwstore="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- tools:context=".ui.crypto.PgpActivity">
- <item
- android:id="@+id/share_password_as_plaintext"
- android:icon="@drawable/ic_share_24dp"
- android:title="@string/share_as_plaintext"
- android:visible="false"
- pwstore:showAsAction="ifRoom" />
- <item
- android:id="@+id/copy_password"
- android:icon="@drawable/ic_content_copy"
- android:title="@string/copy_password"
- android:visible="false"
- pwstore:showAsAction="ifRoom" />
- <item
- android:id="@+id/edit_password"
- android:icon="@drawable/ic_edit_24dp"
- android:title="@string/edit_password"
- android:visible="false"
- pwstore:showAsAction="ifRoom" />
-</menu>
diff --git a/app/src/main/res/menu/pgp_handler_new_password.xml b/app/src/main/res/menu/pgp_handler_new_password.xml
deleted file mode 100644
index 6c61fb55..00000000
--- a/app/src/main/res/menu/pgp_handler_new_password.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<menu xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:pwstore="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- tools:context=".ui.crypto.PgpActivity">
- <item
- android:id="@+id/save_password"
- android:icon="@drawable/ic_save_24dp"
- android:title="@string/crypto_save"
- pwstore:showAsAction="ifRoom" />
- <item
- android:id="@+id/save_and_copy_password"
- android:icon="@drawable/ic_save_copy_24dp"
- android:title="@string/crypto_save_and_copy"
- pwstore:showAsAction="ifRoom" />
-</menu>
diff --git a/app/src/main/res/menu/pgp_handler_select_folder.xml b/app/src/main/res/menu/pgp_handler_select_folder.xml
deleted file mode 100644
index d9505814..00000000
--- a/app/src/main/res/menu/pgp_handler_select_folder.xml
+++ /dev/null
@@ -1,15 +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
- -->
-
-<menu xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:pwstore="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- tools:context="app.passwordstore.SelectFolderActivity">
- <item
- android:id="@+id/crypto_select"
- android:icon="@drawable/ic_done_24dp"
- android:title="@string/crypto_select"
- pwstore:showAsAction="ifRoom" />
-</menu>
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 7499fe5e..a0a20dc7 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -24,7 +24,6 @@
</plurals>
<string name="delete_directory_progress_text">Wird gelöscht</string>
<string name="move">Verschieben</string>
- <string name="edit">Bearbeiten</string>
<string name="delete">Löschen</string>
<string name="password_exists_title">Passwort existiert bereits!</string>
<string name="password_exists_message">Dies wird %1$s mit %2$s überschreiben.</string>
@@ -40,7 +39,6 @@
<!-- PGPHandler -->
<string name="clipboard_copied_text">In die Zwischenablage kopiert</string>
<string name="file_toast_text">Bitte setzen Sie einen Dateinamen.</string>
- <string name="path_toast_text">Bitte setzen Sie einen Pfad.</string>
<string name="empty_toast_text">Sie können kein leeres Passwort oder leere Extra-Angaben setzen.</string>
<!-- Git Async Task -->
<string name="jgit_error_dialog_title">Es ist ein Fehler während der Git-Operation aufgetreten.</string>
@@ -64,7 +62,6 @@
<string name="crypto_name_hint">Name</string>
<string name="crypto_pass_label">Passwort</string>
<string name="crypto_extra_label">Zusätzliche Angaben</string>
- <string name="crypto_encrypt_username_label">Benutzername verschlüsseln</string>
<string name="crypto_select">Auswählen</string>
<string name="crypto_save">Speichern</string>
<string name="crypto_save_and_copy">Speichern und kopieren</string>
@@ -99,8 +96,6 @@
<string name="pref_recursive_filter_summary">Findet Passwörter auch in Unterordnern.</string>
<string name="pref_sort_order_title">Passwortsortierung</string>
<string name="pref_folder_first_sort_order">Ordner zuerst</string>
- <string name="pref_file_first_sort_order">Dateien zuerst</string>
- <string name="pref_type_independent_sort_order">typunabhängig</string>
<string name="pref_recently_used_sort_order">Zuletzt verwendet</string>
<string name="pref_category_autofill_title">Automatisch ausfüllen</string>
<string name="pref_autofill_enable_title">Autofill aktivieren</string>
@@ -126,7 +121,6 @@
<!-- PasswordGenerator fragment -->
<string name="pwgen_title">Passwort erstellen</string>
<string name="pwgen_generate">Erstellen</string>
- <string name="pwgen_include">Einschließen</string>
<string name="pwgen_length">Länge</string>
<string name="pwgen_numerals">Nummern</string>
<string name="pwgen_symbols">Symbole</string>
@@ -167,7 +161,6 @@
<string name="dialog_yes">Ja</string>
<string name="dialog_no">Nein</string>
<string name="dialog_cancel">Abbruch</string>
- <string name="dialog_skip">Überspringen</string>
<string name="git_sync">Synchronisiere Repository</string>
<string name="git_pull">Git Pull</string>
<string name="git_push">Git Push</string>
@@ -175,10 +168,7 @@
<string name="git_log">Commit-Log anzeigen</string>
<string name="show_password_pref_title">Zeige das Passwort.</string>
<string name="show_password_pref_summary">Soll das entschlüsselte Passwort sichtbar sein? Dies deaktiviert nicht das Kopieren.</string>
- <string name="pwd_generate_button">Erstellen</string>
- <string name="refresh_list">Liste aktualisieren</string>
<string name="send_plaintext_password_to">Passwort unverschlüsselt senden an…</string>
- <string name="app_icon_hint">App-Icon</string>
<!-- Oreo Autofill -->
<string name="oreo_autofill_select_and_fill_into">Eintrag zum Ausfüllen auswählen</string>
<string name="oreo_autofill_strict_domain_search">Phishing-resistente Suche</string>
@@ -205,12 +195,11 @@
<string name="oreo_autofill_password_fill_support">Passwörter ausfüllen</string>
<string name="oreo_autofill_flaky_fill_support">Passwörter ausfüllen (manchmal kann ein Neustart des Browsers erforderlich sein)</string>
<string name="oreo_autofill_no_support">Kein Support</string>
- <string name="oreo_autofill_enable_dialog_description">Password Store kann das Ausfüllen von Anmeldeformularen und sogar das Speichern von Anmeldedaten in Apps oder auf Webseiten übernehmen.</string>
- <string name="oreo_autofill_enable_dialog_instructions">Tippen Sie auf OK, um diese Funktion zu aktivieren und um zu den Autofill-Einstellungen zu gelangen. Dort wählen Sie \"Password Store\" aus der Liste und bestätigen mit \"OK\".</string>
+ <string name="oreo_autofill_enable_dialog_description">HardenedPass kann das Ausfüllen von Anmeldeformularen und sogar das Speichern von Anmeldedaten in Apps oder auf Webseiten übernehmen.</string>
+ <string name="oreo_autofill_enable_dialog_instructions">Tippen Sie auf OK, um diese Funktion zu aktivieren und um zu den Autofill-Einstellungen zu gelangen. Dort wählen Sie \"HardenedPass\" aus der Liste und bestätigen mit \"OK\".</string>
<string name="oreo_autofill_enable_dialog_installed_browsers">Autofill-Unterstützung mit installierten Browsern:</string>
<!-- Autofill -->
<string name="ssh_key_does_not_exist">Der private SSH-Schlüssel konnte nicht geöffnet werden. Bitte überprüfen Sie, ob die Datei existiert.</string>
- <string name="new_password_title">Neues Passwort</string>
<string name="clear_saved_passphrase_ssh">Gespeicherte Passphrase für lokalen SSH-Schlüssel löschen</string>
<string name="clear_saved_passphrase_https">Gespeichertes HTTPS-Passwort löschen</string>
<string name="git_operation_remember_passphrase">Schlüsselpasswort merken</string>
@@ -226,7 +215,6 @@
<string name="pref_biometric_auth_title">Biometrische Authentifizierung</string>
<string name="pref_biometric_auth_summary">Falls aktiviert, werden Sie beim Starten der App nach Ihrem Fingerabdruck gefragt.</string>
<string name="pref_biometric_auth_summary_error">Fingerabdrucksensor fehlt oder ist nicht ansprechbar.</string>
- <string name="pref_title_openkeystore_clear_keyid">Lösche gespeicherte OpenKeystore SSH-Schlüssel-ID.</string>
<string name="your_public_key">Ihr öffentlicher Schlüssel</string>
<string name="error_generate_ssh_key">Fehler beim Erstellen des SSH-Schlüssels</string>
<string name="pref_show_hidden_title">Alle Dateien und Ordner anzeigen</string>
@@ -234,7 +222,6 @@
<string name="title_create_folder">Ordner erstellen</string>
<string name="title_rename_folder">Ordner umbenennen</string>
<string name="message_category_error_empty_field">Der Name der Kategorie darf nicht leer sein.</string>
- <string name="message_category_error_category_exists">Der Kategoriename existiert bereits.</string>
<string name="message_error_destination_outside_repo">Ziel muss innerhalb des Repositorys sein.</string>
<string name="message_rename_folder">Ziel für %1$s angeben</string>
<string name="button_create">Erstellen</string>
@@ -269,8 +256,8 @@
<string name="preference_custom_public_suffixes_hint">company.com\npersonal.com</string>
<!-- Password creation failure -->
<string name="password_creation_file_fail_title">Fehler</string>
- <string name="password_creation_file_write_fail_message">Fehler beim Speichern der Passwortdatei im Password Store, bitte versuchen Sie es erneut.</string>
- <string name="password_creation_file_delete_fail_message">Fehler beim Löschen der Passwortdatei %1$s aus dem Password Store, bitte löschen Sie die Datei von Hand.</string>
+ <string name="password_creation_file_write_fail_message">Fehler beim Speichern der Passwortdatei im Repository, bitte versuchen Sie es erneut.</string>
+ <string name="password_creation_file_delete_fail_message">Fehler beim Löschen der Passwortdatei %1$s aus dem Repository, bitte löschen Sie die Datei von Hand.</string>
<string name="password_creation_duplicate_error">Datei existiert bereits, bitte benutzen Sie einen anderen Dateinamen.</string>
<string name="add_otp">OTP hinzufügen</string>
<string name="otp_import_success">TOTP-Konfiguration erfolgreich importiert</string>
@@ -280,11 +267,9 @@
<string name="invalid_gpg_id">.gpg-id wurde gefunden, enthält jedoch ungültige Schlüssel-ID, Fingerabdruck oder Benutzer-ID.</string>
<string name="short_gpg_id">.gpg-id wurde gefunden, enthält jedoch eine kurze Hex-ID, die nicht unterstützt wird.</string>
<string name="invalid_filename_text">Dateiname darf kein \'/\' enthalten; Verzeichnis oben setzen</string>
- <string name="directory_hint">Ordner</string>
- <string name="new_folder_set_gpg_key">PGP-Schlüssel für Ordner festlegen</string>
<!-- GitException messages -->
<string name="git_unknown_error">Unbekannter Fehler</string>
- <string name="git_pull_rebase_fail_error">Pull fehlgeschlagen. Sie befinden sich in einem abgelösten Head. Speichern Sie die Änderungen in \"Einstellungen &gt; Lokale Git-Konfiguration &amp; Dienstprogramme\" auf das Remote-Repository in einem neuen Branch und lösen Sie den Konflikt auf Ihrem Computer auf.</string>
+ <string name="git_pull_rebase_fail_error">Pull fehlgeschlagen. Sie befinden sich in einem abgelösten Head. Speichern Sie die Änderungen in \"Einstellungen &gt; Repository &gt; Lokale Git-Konfiguration &amp; Dienstprogramme\" auf das Remote-Repository in einem neuen Branch und lösen Sie den Konflikt auf Ihrem Computer auf.</string>
<string name="git_pull_merge_fail_error">Merge fehlgeschlagen, Sie befinden sich in einem Konflikt.</string>
<string name="git_push_nff_error">Push wurde vom Remote abgelehnt. Führen Sie den Pull vor dem Push aus. Sie können \"Synchronisieren\" statt Pull/Push nutzen, da es beides implementiert</string>
<string name="git_push_generic_error">Push wurde von Remote abgelehnt, Grund: %1$s</string>
@@ -294,16 +279,12 @@
<string name="git_break_out_of_detached_success">Es gab einen Konflikt während des Rebase-Prozesses. Ihr lokaler Branch %1$s wurde auf einen anderen Branch namens %2$s gepusht.\nNutzen Sie diesen Branch, um den Konflikt auf dem Server zu beheben</string>
<string name="git_break_out_of_detached_unneeded">Das Repository befindet sich nicht im Rebase-Prozess; es ist nicht nötig, den Zustand auf einen weiteren Branch zu pushen.</string>
<!-- GPG key selection in folder creation -->
- <string name="gpg_key_select_mandatory">Um fortzufahren, muss ein PGP-Schlüssel ausgewählt werden.</string>
<string name="folder_creation_err_file_exists">Dateiname bereits vergeben</string>
<string name="folder_creation_err_folder_exists">Ein Ordner mit diesem Namen existiert bereits.</string>
<!-- Onboarding flow -->
- <string name="let_s_go">Los geht\'s</string>
- <string name="select_n_repository_type">Wählen Sie einen \nRepository-Typ.</string>
<string name="select_repo_type_text">Wählen Sie aus, ob Sie ein lokales Repository anlegen, oder ein Remote-Repository klonen möchten.</string>
<string name="clone_remote_repo">Remote-Repository klonen</string>
<string name="create_local_repo">Lokales Repository anlegen</string>
- <string name="select_gpg_key_title">Wählen Sie einen\nPGP-Schlüssel.</string>
<string name="select_gpg_key_message">Wählen einen PGP-Schlüssel, mit dem der Store initialisiert werden soll.</string>
<string name="gpg_key_select">Schlüssel auswählen</string>
<!-- SSH port validation -->
@@ -324,11 +305,9 @@
<string name="clear_saved_host_key_success">Host-Schlüssel erfolgreich gelöscht!</string>
<string name="otp_import_qr_code">QR-Code scannen</string>
<string name="otp_import_from_file">Wählen Sie ein Bild.</string>
- <string name="otp_import_manual_entry">Manuell eingeben</string>
<string name="otp_import_manual_hint_secret">Schlüssel</string>
<string name="otp_import_manual_hint_account">Benutzer-Konto</string>
<string name="place_shortcut_on_home_screen">Verknüpfung auf dem Home-Screen erstellen</string>
- <string name="password_list_fab_content_description">Neues Passwort oder neuen Ordner erstellen</string>
<string name="pgp_key_import_failed">Fehler beim Import des PGP-Schlüssels</string>
<string name="pgp_key_import_failed_replace_message">Ein bestehender Schlüssel mit dieser ID wurde gefunden. Möchten Sie ihn ersetzen?</string>
<string name="pgp_key_import_succeeded">PGP-Schlüssel erfolgreich importiert</string>
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 6c8ac709..d4d4d424 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -24,7 +24,6 @@
</plurals>
<string name="delete_directory_progress_text">Suppression…</string>
<string name="move">Déplacer</string>
- <string name="edit">Éditer</string>
<string name="delete">Supprimer</string>
<string name="password_exists_title">Le mot de passe existe!</string>
<string name="password_exists_message">Cela écrasera %1$s avec %2$s.</string>
@@ -39,7 +38,6 @@
<!-- PGPHandler -->
<string name="clipboard_copied_text">Copié dans le presse-papiers</string>
<string name="file_toast_text">Veuillez fournir un nom de fichier</string>
- <string name="path_toast_text">Veuillez fournir un chemin d\'accès au fichier</string>
<string name="empty_toast_text">Vous ne pouvez pas utiliser un mot de passe vide ou des données supplémentaires vide</string>
<!-- Git Async Task -->
<string name="jgit_error_dialog_title">Une erreur c\'est produite lors d\'une opération Git</string>
@@ -63,7 +61,6 @@
<string name="crypto_name_hint">Nom</string>
<string name="crypto_pass_label">Mot de passe</string>
<string name="crypto_extra_label">Extra</string>
- <string name="crypto_encrypt_username_label">Chiffrer le nom d\'utilisateur</string>
<string name="crypto_select">Sélectionner</string>
<string name="crypto_save">Sauvegarder</string>
<string name="crypto_save_and_copy">Enregistrer et copier</string>
@@ -97,8 +94,6 @@
<string name="pref_recursive_filter_summary">Cherche le mot de passe dans tous les sous-répertoires du répertoire actuel.</string>
<string name="pref_sort_order_title">Ordre de tri des mots de passe</string>
<string name="pref_folder_first_sort_order">Dossiers en premier</string>
- <string name="pref_file_first_sort_order">Fichiers en premier</string>
- <string name="pref_type_independent_sort_order">Indifférent au type d\'entrée</string>
<string name="pref_recently_used_sort_order">Récemment utilisé</string>
<string name="pref_category_autofill_title">Saisie automatique</string>
<string name="pref_autofill_enable_title">Saisie automatique</string>
@@ -114,7 +109,6 @@
<!-- PasswordGenerator fragment -->
<string name="pwgen_title">Générer un mot de passe</string>
<string name="pwgen_generate">Générer</string>
- <string name="pwgen_include">Inclure</string>
<string name="pwgen_length">Longueur</string>
<string name="pwgen_numerals">Chiffres</string>
<string name="pwgen_symbols">Symboles</string>
@@ -155,7 +149,6 @@
<string name="dialog_yes">Oui</string>
<string name="dialog_no">Non</string>
<string name="dialog_cancel">Annuler</string>
- <string name="dialog_skip">Ignorer</string>
<string name="git_sync">Synchronisation du dépôt</string>
<string name="git_pull">Importer du serveur</string>
<string name="git_push">Pousser sur le serveur</string>
@@ -163,10 +156,7 @@
<string name="git_log">Afficher l\'historique des commits</string>
<string name="show_password_pref_title">Montrer le mot de passe</string>
<string name="show_password_pref_summary">Contrôle la visibilité des mots de passe une fois déchifrées, ceci n\'empêche pas de copier le mot de passe</string>
- <string name="pwd_generate_button">Générer</string>
- <string name="refresh_list">Rafraichir la liste</string>
<string name="send_plaintext_password_to">Envoyer le mot de passe en clair via…</string>
- <string name="app_icon_hint">Icône de l\'application</string>
<!-- Oreo Autofill -->
<string name="oreo_autofill_select_and_fill_into">Sélectionnez l\'entrée à remplir</string>
<string name="oreo_autofill_strict_domain_search">Recherche protégée contre le hameçonnage</string>
@@ -193,12 +183,11 @@
<string name="oreo_autofill_password_fill_support">Remplir le mot de passe</string>
<string name="oreo_autofill_flaky_fill_support">Remplir les mots de passe (peut nécessiter un redémarrage du navigateur de temps à autre)</string>
<string name="oreo_autofill_no_support">Pas de support</string>
- <string name="oreo_autofill_enable_dialog_description">Password Store vous permet de remplir des formulaires de connexion ainsi que d\'enregistrer vos identifiants d\'applications ou de sites Web.</string>
- <string name="oreo_autofill_enable_dialog_instructions">Pour activer cette fonctionnalité, appuyez sur OK pour aller dans les paramètres de saisie automatique, sélectionnez Password Store dans la liste puis confirmez avec OK.</string>
+ <string name="oreo_autofill_enable_dialog_description">HardenedPass vous permet de remplir des formulaires de connexion ainsi que d\'enregistrer vos identifiants d\'applications ou de sites Web.</string>
+ <string name="oreo_autofill_enable_dialog_instructions">Pour activer cette fonctionnalité, appuyez sur OK pour aller dans les paramètres de saisie automatique, sélectionnez HardenedPass dans la liste puis confirmez avec OK.</string>
<string name="oreo_autofill_enable_dialog_installed_browsers">Prise en charge du remplissage automatique avec les navigateurs installés:</string>
<!-- Autofill -->
<string name="ssh_key_does_not_exist">Impossible d\'ouvrir la clef ssh, merci de vérifier que le ficher existe</string>
- <string name="new_password_title">Nouveau mot de passe</string>
<string name="clear_saved_passphrase_ssh">Effacer le mot de passe enregistrée pour la clé SSH locale</string>
<string name="clear_saved_passphrase_https">Effacer le mot de passe HTTPS enregistré</string>
<string name="git_operation_remember_passphrase">Se rappeler de la phrase secrète dans la configuration de l\'application (peu sûr)</string>
@@ -212,9 +201,8 @@
<string name="biometric_prompt_title">Identification biométrique</string>
<string name="biometric_auth_error_reason">Échec de l\'authentification : %s</string>
<string name="pref_biometric_auth_title">Activer l\'authentification biométrique</string>
- <string name="pref_biometric_auth_summary">Lorsque cette option est activée, Password Store vous demandera votre empreinte digitale au lancement</string>
+ <string name="pref_biometric_auth_summary">Lorsque cette option est activée, HardenedPass vous demandera votre empreinte digitale au lancement</string>
<string name="pref_biometric_auth_summary_error">Lecteur d\'empreinte digitale non accessible ou manquant</string>
- <string name="pref_title_openkeystore_clear_keyid">Effacer la clé d\'identification SSH d\'OpenKeystore mémorisée</string>
<string name="your_public_key">Votre clé publique</string>
<string name="error_generate_ssh_key">Une erreur est survenue pendant la génération de la clé ssh</string>
<string name="pref_show_hidden_title">Afficher tous les fichiers et dossiers</string>
@@ -222,7 +210,6 @@
<string name="title_create_folder">Créer un dossier</string>
<string name="title_rename_folder">Renommer le dossier</string>
<string name="message_category_error_empty_field">Le nom de la catégorie ne peut pas être vide</string>
- <string name="message_category_error_category_exists">Une catégorie du même nom existe déjà</string>
<string name="message_error_destination_outside_repo">La destination doit être à l\'intérieur du dépôt</string>
<string name="message_rename_folder">Entrez le chemin pour %1$s</string>
<string name="button_create">Créer</string>
@@ -265,11 +252,9 @@
<string name="otp_import_failure_generic">Impossible d\'importer la configuration TOTP</string>
<string name="exporting_passwords">Exportation des mots de passe…</string>
<string name="invalid_filename_text">Le nom du fichier ne doit pas contenir \'/\', définir le répertoire parent</string>
- <string name="directory_hint">Dossier</string>
- <string name="new_folder_set_gpg_key">Définir la clé GPG pour le dossier</string>
<!-- GitException messages -->
<string name="git_unknown_error">Erreur inconnue</string>
- <string name="git_pull_rebase_fail_error">Tirer a échoué, vous êtes dans un \'head\' détaché. En utilisant \"settings &gt; git utils\", enregistrez vos modifications sur le dépôt distant dans une nouvelle branche et résolvez le conflit sur votre ordinateur.</string>
+ <string name="git_pull_rebase_fail_error">Tirer a échoué, vous êtes dans un \'head\' détaché. En utilisant \"Paramètres &gt; Dépôt &gt; Configuration locale de Git &amp; utilitaires\", enregistrez vos modifications sur le dépôt distant dans une nouvelle branche et résolvez le conflit sur votre ordinateur.</string>
<string name="git_pull_merge_fail_error">La fusion a échoué, vous êtes dans un état de conflit.</string>
<string name="git_push_nff_error">La poussée a été rejetée par le dépôt distant, exécutez une tirée avant de pousser à nouveau. Vous pouvez utiliser Synchroniser plutôt que de tirer/pousser car il implémente les deux.</string>
<string name="git_push_generic_error">L\'envoi a été rejeté par le dépôt distant, raison : %1$s</string>
@@ -282,12 +267,9 @@
<string name="folder_creation_err_file_exists">Un fichier portant ce nom existe déjà</string>
<string name="folder_creation_err_folder_exists">Un dossier portant ce nom existe déjà</string>
<!-- Onboarding flow -->
- <string name="let_s_go">Allons-y</string>
- <string name="select_n_repository_type">Sélectionnez le type de dépôt \n</string>
<string name="select_repo_type_text">Sélectionnez si vous voulez créer un dépôt local ou cloner un dépôt distant.</string>
<string name="clone_remote_repo">Cloner le dépôt distant</string>
<string name="create_local_repo">Créer un dépôt local</string>
- <string name="select_gpg_key_title">Sélectionnez\nla clé GPG</string>
<string name="select_gpg_key_message">Sélectionnez une clé GPG pour initialiser votre magasin</string>
<string name="gpg_key_select">Sélectionner la clé</string>
<!-- SSH port validation -->
@@ -305,10 +287,8 @@
<string name="clear_saved_host_key_success">La clé d\'hôte a été effacée avec succès!</string>
<string name="otp_import_qr_code">Scanner le code QR</string>
<string name="otp_import_from_file">Choisissez une image</string>
- <string name="otp_import_manual_entry">Saisir manuellement</string>
<string name="otp_import_manual_hint_secret">Secret</string>
<string name="otp_import_manual_hint_account">Compte</string>
- <string name="password_list_fab_content_description">Créer un nouveau mot de passe ou dossier</string>
<string name="pgp_key_import_failed">Impossible d\'importer la clé PGP</string>
<string name="pgp_key_import_succeeded">Clé PGP importée avec succès</string>
<string name="pgp_key_import_succeeded_message">La clé d\'identification de la clé importée est donné ci-dessous, veuillez la vérifier pour qu\'elle soit correcte :\n%1$s</string>
diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml
index 4ca39712..f966230c 100644
--- a/app/src/main/res/values-gl/strings.xml
+++ b/app/src/main/res/values-gl/strings.xml
@@ -24,7 +24,6 @@
</plurals>
<string name="delete_directory_progress_text">Eliminando…</string>
<string name="move">Mover</string>
- <string name="edit">Editar</string>
<string name="delete">Eliminar</string>
<string name="password_exists_title">O contrasinal xa existe!</string>
<string name="password_exists_message">Vas sobrescribir %1$s con %2$s.</string>
@@ -40,7 +39,6 @@
<!-- PGPHandler -->
<string name="clipboard_copied_text">Copiado ao portapapeis</string>
<string name="file_toast_text">Debes proporcionar un nome de ficheiro</string>
- <string name="path_toast_text">Por favor indica a ruta ao ficheiro</string>
<string name="empty_toast_text">Non podes deixar baleiro o contrasinal ou o contido extra</string>
<!-- Git Async Task -->
<string name="jgit_error_dialog_title">Algo fallou na operación de Git</string>
@@ -64,7 +62,6 @@
<string name="crypto_name_hint">Nome</string>
<string name="crypto_pass_label">Contrasinal</string>
<string name="crypto_extra_label">Contido extra</string>
- <string name="crypto_encrypt_username_label">Cifrar identificador</string>
<string name="crypto_select">Seleccionar</string>
<string name="crypto_save">Gardar</string>
<string name="crypto_save_and_copy">Gardar e copiar</string>
@@ -100,8 +97,6 @@
<string name="pref_directory_structure">Organización dos contrasinais</string>
<string name="pref_sort_order_title">Orde para mostrar contrasinais</string>
<string name="pref_folder_first_sort_order">Primeiro cartafoles</string>
- <string name="pref_file_first_sort_order">Primeiro ficheiros</string>
- <string name="pref_type_independent_sort_order">Independentemente do tipo</string>
<string name="pref_recently_used_sort_order">Usadas recentemente</string>
<string name="pref_category_autofill_title">Completado automático</string>
<string name="pref_autofill_enable_title">Activar completado automático</string>
@@ -127,7 +122,6 @@
<!-- PasswordGenerator fragment -->
<string name="pwgen_title">Crear contrasinal</string>
<string name="pwgen_generate">Crear</string>
- <string name="pwgen_include">Incluír</string>
<string name="pwgen_length">Lonxitude</string>
<string name="pwgen_numerals">Números</string>
<string name="pwgen_symbols">Símbolos</string>
@@ -168,7 +162,6 @@
<string name="dialog_yes">Si</string>
<string name="dialog_no">Non</string>
<string name="dialog_cancel">Cancelar</string>
- <string name="dialog_skip">Omitir</string>
<string name="git_sync">Sincronizar repositorio</string>
<string name="git_pull">Traer desde remoto</string>
<string name="git_push">Enviar a remoto</string>
@@ -176,10 +169,7 @@
<string name="git_log">Mostrar rexistro dos cambios</string>
<string name="show_password_pref_title">Mostrar contrasinal</string>
<string name="show_password_pref_summary">Controlar a visibilidade do contrasinal unha vez descifrado, esto non desactiva o copiado do contrasinal</string>
- <string name="pwd_generate_button">Crear</string>
- <string name="refresh_list">Actualizar lista</string>
<string name="send_plaintext_password_to">Enviar contrasinal como texto plano usando…</string>
- <string name="app_icon_hint">Icona da app</string>
<!-- Oreo Autofill -->
<string name="oreo_autofill_select_and_fill_into">Elixe o elemento a completar</string>
<string name="oreo_autofill_strict_domain_search">Busca resistente ao phishing</string>
@@ -192,7 +182,7 @@
<string name="oreo_autofill_save_passwords_dont_match">Non concordan os contrasinais</string>
<string name="oreo_autofill_generate_password">Crear elemento</string>
<string name="oreo_autofill_max_matches_reached">Acadouse o máximo número de coincidencias (%1$d); eliminar as coincidencias antes de engadir máis.</string>
- <string name="oreo_autofill_warning_publisher_header">A autoría desta app cambiou desde que rexistraches a entrada Password Store con ela:</string>
+ <string name="oreo_autofill_warning_publisher_header">A autoría desta app cambiou desde que rexistraches a entrada HardenedPass con ela:</string>
<string name="oreo_autofill_warning_publisher_footer"><b>A aplicación actualmente instalada podería intentar roubar as túas credenciais pretendendo ser unha app de confianza.</b>\n\nIntenta desinstalar e reinstalar
a app desde unha fonte de confianza, como a Play Store, Amazon Appstore, F-Droid ou a tenda do fabricante do teu móbil.</string>
<string name="oreo_autofill_warning_publisher_install_time">Instalada: %1$s</string>
@@ -207,12 +197,11 @@ a app desde unha fonte de confianza, como a Play Store, Amazon Appstore, F-Droid
<string name="oreo_autofill_password_fill_support">Completar contrasinais</string>
<string name="oreo_autofill_flaky_fill_support">Completa as credenciais (poderías ter que reiniciar o navegador de cando en vez)</string>
<string name="oreo_autofill_no_support">Sen soporte</string>
- <string name="oreo_autofill_enable_dialog_description">Password Store pode ofrecerche completar formularios e incluso gardar contrasinais que escribes en apps e sitios web.</string>
- <string name="oreo_autofill_enable_dialog_instructions">Para habilitar esta característica toca en OK e vaite ós axustes de autocompletado. Alí, escolle Password Store da lista e confirma a solicitude premendo no OK.</string>
+ <string name="oreo_autofill_enable_dialog_description">HardenedPass pode ofrecerche completar formularios e incluso gardar contrasinais que escribes en apps e sitios web.</string>
+ <string name="oreo_autofill_enable_dialog_instructions">Para habilitar esta característica toca en OK e vaite ós axustes de autocompletado. Alí, escolle HardenedPass da lista e confirma a solicitude premendo no OK.</string>
<string name="oreo_autofill_enable_dialog_installed_browsers">Soporte de autocompletado cos navegadores:</string>
<!-- Autofill -->
<string name="ssh_key_does_not_exist">Non se pode abrir a chave privada ssh, comproba que existe tal ficheiro</string>
- <string name="new_password_title">Novo contrasinal</string>
<string name="clear_saved_passphrase_ssh">Baleirar a frase de paso gardada para a chave SSH local</string>
<string name="clear_saved_passphrase_https">Baleirar contrasinal HTTPS gardado</string>
<string name="git_operation_remember_passphrase">Lembrar frase de paso da chave</string>
@@ -226,9 +215,8 @@ a app desde unha fonte de confianza, como a Play Store, Amazon Appstore, F-Droid
<string name="biometric_prompt_title">Petición biométrica</string>
<string name="biometric_auth_error_reason">Fallou a autenticación: %s</string>
<string name="pref_biometric_auth_title">Activar autenticación biométrica</string>
- <string name="pref_biometric_auth_summary">Ao activala, Password Store vaiche pedir a túa pegada dactilar ao iniciar a app</string>
+ <string name="pref_biometric_auth_summary">Ao activala, HardenedPass vaiche pedir a túa pegada dactilar ao iniciar a app</string>
<string name="pref_biometric_auth_summary_error">O hardware de pegada dixital non é accesible ou existente</string>
- <string name="pref_title_openkeystore_clear_keyid">Eliminar o ID lembrado da chave SSH en OpenKeystore</string>
<string name="your_public_key">A túa chave pública</string>
<string name="error_generate_ssh_key">Algo fallou ao intentar crear a chave-ssh</string>
<string name="pref_show_hidden_title">Mostar cartafoles ocultos</string>
@@ -236,7 +224,6 @@ a app desde unha fonte de confianza, como a Play Store, Amazon Appstore, F-Droid
<string name="title_create_folder">Crear cartafol</string>
<string name="title_rename_folder">Renomear cartafol</string>
<string name="message_category_error_empty_field">O nome da categoría non pode estar baleiro</string>
- <string name="message_category_error_category_exists">Xa existe o nome da categoría</string>
<string name="message_error_destination_outside_repo">O destino debe estar dentro do repositorio</string>
<string name="message_rename_folder">Escribe o destino para %1$s</string>
<string name="button_create">Crear</string>
@@ -282,11 +269,9 @@ a app desde unha fonte de confianza, como a Play Store, Amazon Appstore, F-Droid
<string name="invalid_gpg_id">Atopouse .gpg-id, pero contén un ID de chave, impresión dixital ou ID de usuaria non válidos</string>
<string name="short_gpg_id">Atopouse .gpg-id, pero contén un ID hex curto, ao que non damos soporte</string>
<string name="invalid_filename_text">O nome do ficheiro non pode conter \'/\', establece un directorio superior</string>
- <string name="directory_hint">Directorio</string>
- <string name="new_folder_set_gpg_key">Establece chave GPG para o directorio</string>
<!-- GitException messages -->
<string name="git_unknown_error">Fallo descoñecido</string>
- <string name="git_pull_rebase_fail_error">Fallou a acción pull, estás nun head diferente. Utiliza \"axustes &gt; utilidades git\", garda os cambios no remoto nunha nova rama e resolve o conflicto nun ordenador.</string>
+ <string name="git_pull_rebase_fail_error">Fallou a acción pull, estás nun head diferente. Utiliza \"Axustes &gt; Repositorio &gt; Configuración e Utilidades locais Git\", garda os cambios no remoto nunha nova rama e resolve o conflicto nun ordenador.</string>
<string name="git_pull_merge_fail_error">Fallou o merge, hai un conflito nos datos. TAREFA: engadir método de recuperación.</string>
<string name="git_push_nff_error">O push foi rexeitado polo remoto, executa pull antes de voltar a subilos de novo. Podes usar Sincronizar mellor que push/pull xa que inclú ambos.</string>
<string name="git_push_generic_error">O push foi rexeitado polo remoto, razón: %1$s</string>
@@ -296,16 +281,12 @@ a app desde unha fonte de confianza, como a Play Store, Amazon Appstore, F-Droid
<string name="git_break_out_of_detached_success">Hai un conflito ó realizar rebase. A túa póla local %1$s fixo push a outra póla chamada %2$s\nUsa esta póla para resolver o conflito na túa computadora</string>
<string name="git_break_out_of_detached_unneeded">O repositorio non cambiou de base, non é preciso cambiar a outra póla</string>
<!-- GPG key selection in folder creation -->
- <string name="gpg_key_select_mandatory">Hai que elexir unha chave GPG para continuar</string>
<string name="folder_creation_err_file_exists">Xa existe un ficheiro con ese nome</string>
<string name="folder_creation_err_folder_exists">Xa existe un cartafol con ese nome</string>
<!-- Onboarding flow -->
- <string name="let_s_go">Imos alá</string>
- <string name="select_n_repository_type">Escolle \nTipo de repositorio</string>
<string name="select_repo_type_text">Escolle se queres crear un repositorio local ou clonar un remoto.</string>
<string name="clone_remote_repo">Clonar repositorio remoto</string>
<string name="create_local_repo">Crear repositorio local</string>
- <string name="select_gpg_key_title">Elixe\nChave\nGPG</string>
<string name="select_gpg_key_message">Elixe a chave GPG coa que queres iniciar a almacenaxe</string>
<string name="gpg_key_select">Elixe chave</string>
<!-- SSH port validation -->
@@ -326,11 +307,9 @@ a app desde unha fonte de confianza, como a Play Store, Amazon Appstore, F-Droid
<string name="clear_saved_host_key_success">Eliminouse correctamente a chave gardada do host!</string>
<string name="otp_import_qr_code">Escanear código QR</string>
<string name="otp_import_from_file">Elixe unha imaxe</string>
- <string name="otp_import_manual_entry">Escribir manualmente</string>
<string name="otp_import_manual_hint_secret">Segredo</string>
<string name="otp_import_manual_hint_account">Conta</string>
<string name="place_shortcut_on_home_screen">Crear atallo na pantalla de inicio</string>
- <string name="password_list_fab_content_description">Crear novo contrasinal ou cartafol</string>
<string name="pgp_key_import_failed">Fallou a importación da chave PGP</string>
<string name="pgp_key_import_failed_replace_message">Atopouse unha chave existente con este ID, queres substituíla?</string>
<string name="pgp_key_import_succeeded">Chave PGP importada correctamente</string>
diff --git a/app/src/main/res/values-hdpi/dimens.xml b/app/src/main/res/values-hdpi/dimens.xml
deleted file mode 100644
index f9a452aa..00000000
--- a/app/src/main/res/values-hdpi/dimens.xml
+++ /dev/null
@@ -1,10 +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
- -->
-
-<resources>
- <dimen name="onboarding_icon_margin_top">50dp</dimen>
- <dimen name="onboarding_button_margin_top">70dp</dimen>
- <dimen name="onboarding_desc_margin_top">48dp</dimen>
-</resources>
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index dfb18d52..e7c05909 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -24,7 +24,6 @@
</plurals>
<string name="delete_directory_progress_text">Eliminazione…</string>
<string name="move">Sposta</string>
- <string name="edit">Modifica</string>
<string name="delete">Elimina</string>
<string name="password_exists_title">La password esiste già!</string>
<string name="password_exists_message">Questo sovrascriverà %1$s con %2$s.</string>
@@ -39,7 +38,6 @@
<!-- PGPHandler -->
<string name="clipboard_copied_text">Copiato negli appunti</string>
<string name="file_toast_text">Inserisci un nome per il file</string>
- <string name="path_toast_text">Inserisci il percorso del file</string>
<string name="empty_toast_text">Non puoi usare una password vuota o dei contenuti extra vuoti</string>
<!-- Git Async Task -->
<string name="jgit_error_dialog_title">Si è verificato un errore durante un\'operazione Git</string>
@@ -63,7 +61,6 @@
<string name="crypto_name_hint">Nome</string>
<string name="crypto_pass_label">Password</string>
<string name="crypto_extra_label">Contenuto extra</string>
- <string name="crypto_encrypt_username_label">Crittografa nome utente</string>
<string name="crypto_select">Seleziona</string>
<string name="crypto_save">Salva</string>
<string name="crypto_save_and_copy">Salva e Copia</string>
@@ -97,8 +94,6 @@
<string name="pref_recursive_filter_summary">Trova ricorsivamente le password della directory corrente.</string>
<string name="pref_sort_order_title">Ordine password</string>
<string name="pref_folder_first_sort_order">Prima le cartelle</string>
- <string name="pref_file_first_sort_order">Prima i file</string>
- <string name="pref_type_independent_sort_order">Indipendente dal tipo</string>
<string name="pref_recently_used_sort_order">Usato di recente</string>
<string name="pref_category_autofill_title">Compilazione automatica</string>
<string name="pref_autofill_enable_title">Attiva la compilazione automatica</string>
@@ -109,7 +104,6 @@
<!-- PasswordGenerator fragment -->
<string name="pwgen_title">Genera Password</string>
<string name="pwgen_generate">Genera</string>
- <string name="pwgen_include">Includi</string>
<string name="pwgen_length">Lunghezza</string>
<string name="pwgen_numerals">Numeri</string>
<string name="pwgen_symbols">Simboli</string>
@@ -150,7 +144,6 @@
<string name="dialog_yes">Sì</string>
<string name="dialog_no">No</string>
<string name="dialog_cancel">Annulla</string>
- <string name="dialog_skip">Salta</string>
<string name="git_sync">Sincronizza repository</string>
<string name="git_pull">Pull dal remote</string>
<string name="git_push">Push sul remote</string>
@@ -158,10 +151,7 @@
<string name="git_log">Mostra registro dei commit</string>
<string name="show_password_pref_title">Mostra la password</string>
<string name="show_password_pref_summary">Controlla la visibilità delle password una volta decrittografate. Questo non disabilita la copia negli appunti.</string>
- <string name="pwd_generate_button">Genera</string>
- <string name="refresh_list">Aggiorna elenco</string>
<string name="send_plaintext_password_to">Invia password come testo semplice usando…</string>
- <string name="app_icon_hint">Icona app</string>
<!-- Oreo Autofill -->
<string name="oreo_autofill_select_and_fill_into">Seleziona la voce da compilare</string>
<string name="oreo_autofill_strict_domain_search">Ricerca resistente al phishing</string>
@@ -193,7 +183,6 @@
<string name="oreo_autofill_enable_dialog_installed_browsers">Supporto alla compilazione automatica nei browser installati:</string>
<!-- Autofill -->
<string name="ssh_key_does_not_exist">Impossibile aprire la chiave privata SSH, controlla che il file esista</string>
- <string name="new_password_title">Nuova password</string>
<string name="clear_saved_passphrase_ssh">Cancella la frase segreta salvata per la chiave SSH locale</string>
<string name="clear_saved_passphrase_https">Cancella la password HTTPS salvata</string>
<string name="git_operation_remember_passphrase">Ricorda la frase segreta della chiave</string>
@@ -209,7 +198,6 @@
<string name="pref_biometric_auth_title">Abilita autenticazione biometrica</string>
<string name="pref_biometric_auth_summary">Se attiva, HardenedPass chiede l\'impronta digitale all\'avvio dell\'app</string>
<string name="pref_biometric_auth_summary_error">L\'hardware delle impronte digitali non è accessibile o mancante</string>
- <string name="pref_title_openkeystore_clear_keyid">Elimina l\'ID della Chiave SSH di OpenKeystore memorizzato</string>
<string name="your_public_key">La tua chiave pubblica</string>
<string name="error_generate_ssh_key">Errore durante la generazione della chiave SSH</string>
<string name="pref_show_hidden_title">Mostra tutti i file e cartelle</string>
@@ -217,7 +205,6 @@
<string name="title_create_folder">Crea cartella</string>
<string name="title_rename_folder">Rinomina cartella</string>
<string name="message_category_error_empty_field">Il nome della categoria non può essere vuoto</string>
- <string name="message_category_error_category_exists">Il nome della categoria esiste già</string>
<string name="message_error_destination_outside_repo">La destinazione deve essere nel repository</string>
<string name="message_rename_folder">Inserisci la destinazione per %1$s</string>
<string name="button_create">Crea</string>
@@ -260,11 +247,9 @@
<string name="otp_import_failure_generic">Impossibile importare la configurazione di TOTP</string>
<string name="exporting_passwords">Esportazione delle password…</string>
<string name="invalid_filename_text">Il nome del file non deve contenere \'/\', imposta la directory qui sopra</string>
- <string name="directory_hint">Directory</string>
- <string name="new_folder_set_gpg_key">Imposta la chiave GPG per la directory</string>
<!-- GitException messages -->
<string name="git_unknown_error">Errore sconosciuto</string>
- <string name="git_pull_rebase_fail_error">Pull non riuscito, sei in detached HEAD. Da \"Impostazioni > Utilità Git\" esegui il push delle modifiche sul remote in un nuovo branch e risolvi il conflitto dal computer.</string>
+ <string name="git_pull_rebase_fail_error">Pull non riuscito, sei in detached HEAD. Da \"Impostazioni > Repository > Configurazione Git locale e utilità\" esegui il push delle modifiche sul remote in un nuovo branch e risolvi il conflitto dal computer.</string>
<string name="git_push_nff_error">Push rifiutato dal remote: esegui un pull prima di riprovare. Puoi usare Sincronizza, che esegue sia il pull sia il push</string>
<string name="git_push_generic_error">Push rifiutato dal remote, motivo: %1$s</string>
<string name="git_push_other_error">Il remote ha rifiutato un push non fast-forward. Controlla la variabile receive.denyNonFastForwards nella configurazione del repository di destinazione.</string>
@@ -276,12 +261,9 @@
<string name="folder_creation_err_file_exists">Un file con quel nome esiste già</string>
<string name="folder_creation_err_folder_exists">Una cartella con quel nome esiste già</string>
<!-- Onboarding flow -->
- <string name="let_s_go">Andiamo</string>
- <string name="select_n_repository_type">Seleziona \nTipo di repository</string>
<string name="select_repo_type_text">Seleziona se vuoi creare un repo locale o clonarne uno remoto.</string>
<string name="clone_remote_repo">Clona repo remoto</string>
<string name="create_local_repo">Crea repo locale</string>
- <string name="select_gpg_key_title">Seleziona\nChiave\nGPG</string>
<string name="select_gpg_key_message">Seleziona una chiave GPG con cui inizializzare il tuo archivio</string>
<string name="gpg_key_select">Seleziona chiave</string>
<!-- SSH port validation -->
@@ -298,7 +280,6 @@
<string name="clear_saved_host_key">Cancella la chiave host salvata</string>
<string name="clear_saved_host_key_success">Chiave host cancellata con successo!</string>
<string name="otp_import_from_file">Scegli un\'immagine</string>
- <string name="password_list_fab_content_description">Crea nuova password o cartella</string>
<string name="git_commit_gpg_id">Inizializza gli ID GPG in %1$s.</string>
<string name="crypto_username_hint">Nome utente</string>
<string name="otp_label_format">OTP (scade tra %ds)</string>
@@ -321,18 +302,15 @@
<string name="pref_passphrase_cache_auto_clear_authenticate_disable">Autenticati per disattivare la cancellazione automatica</string>
<string name="pref_passphrase_cache_auto_clear_title">Cancella automaticamente le frasi segrete memorizzate</string>
<string name="pref_passphrase_cache_auto_clear_summary">Cancella le frasi segrete memorizzate allo spegnimento dello schermo</string>
- <string name="pref_biometric_auth_summary_disabled_platform">Funzione non disponibile a causa di un bug della piattaforma</string>
<string name="password_creation_encrypt_fail_message">Impossibile cifrare la password, non è stato salvato nulla: %1$s</string>
<string name="otp_import_failure_no_selection">Nessuna immagine selezionata</string>
<string name="invalid_gpg_id">Trovato .gpg-id, ma contiene un ID chiave, un\'impronta o un ID utente non valido</string>
<string name="short_gpg_id">Trovato .gpg-id, ma contiene un ID esadecimale corto, che non è supportato</string>
<string name="git_pull_merge_fail_error">Merge non riuscito, il repository è in conflitto.</string>
- <string name="gpg_key_select_mandatory">Per proseguire devi selezionare una chiave GPG</string>
<string name="git_scheme_disallowed_title">Il protocollo git:// è sconsigliato</string>
<string name="git_scheme_disallowed_message">Il protocollo git di git-daemon non cifra il trasporto e non è adatto a operazioni sicure.</string>
<string name="activity_proxy_label">Impostazioni proxy</string>
<string name="otp_import_qr_code">Scansiona codice QR</string>
- <string name="otp_import_manual_entry">Inserisci manualmente</string>
<string name="otp_import_manual_hint_secret">Segreto</string>
<string name="otp_import_manual_hint_account">Account</string>
<string name="place_shortcut_on_home_screen">Aggiungi scorciatoia alla schermata Home</string>
@@ -351,4 +329,56 @@
<string name="no_keys_imported_dialog_message">Nell\'app non è ancora stata importata nessuna chiave PGP: premi il pulsante qui sotto per scegliere un file di chiave</string>
<string name="biometric_prompt_title_gpg_passphrase_cache">Sblocca le frasi segrete memorizzate</string>
<string name="clear_cached_password_on_screen_off">Cancella la password memorizzata allo spegnimento dello schermo</string>
+
+ <!-- Compose password list -->
+ <string name="list_new_entry">Nuova voce</string>
+ <string name="list_store_root">Archivio password</string>
+ <string name="list_more_options">Altre opzioni</string>
+ <string name="list_clear_search">Cancella ricerca</string>
+
+ <!-- Compose entry view -->
+ <string name="entry_back">Indietro</string>
+ <string name="entry_show_password">Mostra password</string>
+ <string name="entry_hide_password">Nascondi password</string>
+ <string name="entry_copy_name">Copia nome</string>
+
+ <!-- Compose folder picker -->
+ <string name="folder_picker_title">Scegli una cartella</string>
+ <string name="folder_creation_err_failed">Impossibile creare la cartella</string>
+ <string name="folder_picker_new">Nuova cartella</string>
+
+ <!-- Compose editor -->
+ <string name="editor_new_title">Nuova voce</string>
+ <string name="editor_edit_title">Modifica voce</string>
+ <string name="editor_close">Chiudi</string>
+ <string name="editor_folder">Cartella</string>
+ <string name="editor_change_folder">Cambia</string>
+ <string name="editor_otp_qr">OTP da QR</string>
+ <string name="editor_otp_manual">OTP manuale</string>
+ <string name="generator_random">Casuale</string>
+ <string name="generator_use">Usa</string>
+
+ <!-- Compose setup -->
+ <string name="ssh_key_state_none">Ancora nessuna chiave SSH</string>
+ <string name="ssh_key_state_imported">Chiave privata importata</string>
+ <string name="ssh_key_state_generated">Generata su questo dispositivo</string>
+ <string name="git_clone_progress">Clonazione…</string>
+ <string name="connection_mode_none">Nessuna</string>
+ <string name="ssh_key_manage">Gestisci</string>
+ <string name="ssh_key_public_hint">Fornisci questa chiave pubblica al tuo server Git.</string>
+ <string name="pgp_key_needed_message">Importa la chiave privata per cui è cifrato questo archivio, così le sue voci si possono leggere e salvare.</string>
+ <string name="pgp_key_needed_recipients">Destinatari dell\'archivio</string>
+ <string name="store_create_failed">Impossibile creare l\'archivio: %1$s</string>
+ <string name="store_not_empty">la cartella contiene già un archivio</string>
+ <string name="git_clone_delete_failed">Impossibile svuotare la cartella dell\'archivio, la clonazione non è partita.</string>
+ <string name="pgp_key_import_too_large">Il file supera 1 MiB: non è una chiave PGP.</string>
+ <string name="pgp_key_import_downgrade">Una chiave privata con questo ID è già importata. La sola chiave pubblica non può sostituirla: elimina prima la chiave privata, se vuoi davvero farlo.</string>
+
+ <!-- Compose settings -->
+ <string name="store_delete_failed">Impossibile eliminare tutto il contenuto della cartella dell\'archivio.</string>
+ <string name="clear_saved_secret_message">Verrà chiesto di nuovo alla prossima operazione Git.</string>
+ <string name="invalid_proxy_port">Inserisci una porta da 1 a 65535, oppure niente</string>
+ <string name="git_reset_confirm_message">I commit e le modifiche locali che non sono su questo remote branch vengono scartati.</string>
+ <string name="git_tool_done">%1$s: completato</string>
+ <string name="store_delete_confirm">Eliminare l\'archivio locale? Le voci di cui non è stato fatto il push sul remote vanno perse.</string>
</resources>
diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml
index 432b6fbe..add3de87 100644
--- a/app/src/main/res/values-ko-rKR/strings.xml
+++ b/app/src/main/res/values-ko-rKR/strings.xml
@@ -22,7 +22,6 @@
</plurals>
<string name="delete_directory_progress_text">삭제중…</string>
<string name="move">이동</string>
- <string name="edit">수정</string>
<string name="delete">삭제</string>
<string name="password_exists_title">이미 추가된 비밀번호입니다!</string>
<string name="password_exists_message">%1$s 내용이 %2$s 로 덮어씌워집니다.</string>
@@ -38,7 +37,6 @@
<!-- PGPHandler -->
<string name="clipboard_copied_text">클립보드로 복사됨</string>
<string name="file_toast_text">파일 이름이 필요합니다</string>
- <string name="path_toast_text">파일 경로가 필요합니다</string>
<string name="empty_toast_text">비어있는 비밀번호나 추가 정보를 사용할 수 없습니다</string>
<!-- Git Async Task -->
<string name="jgit_error_dialog_title">Git 동작 중 문제가 발생하였습니다</string>
@@ -62,7 +60,6 @@
<string name="crypto_name_hint">이름</string>
<string name="crypto_pass_label">비밀번호</string>
<string name="crypto_extra_label">추가 내용</string>
- <string name="crypto_encrypt_username_label">암호화 계정 이름</string>
<string name="crypto_select">선택</string>
<string name="crypto_save">저장</string>
<string name="crypto_save_and_copy">저장 및 복사</string>
@@ -98,8 +95,6 @@
<string name="pref_directory_structure">암허 파일 정리</string>
<string name="pref_sort_order_title">암호 정렬 순서</string>
<string name="pref_folder_first_sort_order">폴더 우선</string>
- <string name="pref_file_first_sort_order">파일 우선</string>
- <string name="pref_type_independent_sort_order">타입순</string>
<string name="pref_recently_used_sort_order">최신순</string>
<string name="pref_category_autofill_title">자동완성</string>
<string name="pref_autofill_enable_title">자동완성 활성화</string>
@@ -122,7 +117,6 @@
<!-- PasswordGenerator fragment -->
<string name="pwgen_title">암호 생성</string>
<string name="pwgen_generate">생성</string>
- <string name="pwgen_include">포함</string>
<string name="pwgen_length">길이</string>
<string name="pwgen_numerals">숫자만</string>
<string name="pwgen_symbols">특수문자</string>
@@ -163,7 +157,6 @@
<string name="dialog_yes">예</string>
<string name="dialog_no">아니오</string>
<string name="dialog_cancel">취소</string>
- <string name="dialog_skip">건너뛰기</string>
<string name="git_sync">저장소 동기화</string>
<string name="git_pull">원격에서 pull</string>
<string name="git_push">원격으로 푸시</string>
@@ -171,10 +164,7 @@
<string name="git_log">커밋 로그 보기</string>
<string name="show_password_pref_title">비밀번호 표시하기</string>
<string name="show_password_pref_summary">암호가 해독된 후 비밀번호의 공개 여부를 제어합니다. 그렇다고 해서 클립보드 복사가 비활성화되지는 않습니다.</string>
- <string name="pwd_generate_button">생성</string>
- <string name="refresh_list">목록 새로 고침</string>
<string name="send_plaintext_password_to">비밀번호를 일반 텍스트로 보내는 중…</string>
- <string name="app_icon_hint">앱 아이콘</string>
<!-- Oreo Autofill -->
<string name="oreo_autofill_select_and_fill_into">입력할 항목 선택</string>
<string name="oreo_autofill_strict_domain_search">피싱 방지 검색</string>
@@ -201,12 +191,11 @@
<string name="oreo_autofill_password_fill_support">암호 입력</string>
<string name="oreo_autofill_flaky_fill_support">비밀번호 채우기 (때때로 브라우저를 다시 시작해야 할 수 있음)</string>
<string name="oreo_autofill_no_support">지원하지 않음</string>
- <string name="oreo_autofill_enable_dialog_description">Password Store는 로그인 양식을 작성하고 앱이나 웹사이트에 입력한 자격 증명을 저장하는 기능도 제공합니다.</string>
+ <string name="oreo_autofill_enable_dialog_description">HardenedPass는 로그인 양식을 작성하고 앱이나 웹사이트에 입력한 자격 증명을 저장하는 기능도 제공합니다.</string>
<string name="oreo_autofill_enable_dialog_instructions">이 기능을 사용하려면 확인을 탭하여 자동 완성 설정으로 이동합니다. 목록에서 암호 저장을 선택하고 확인으로 확인 메시지를 확인합니다.</string>
<string name="oreo_autofill_enable_dialog_installed_browsers">자동 완성 지원 하는 설치된 브라우저:</string>
<!-- Autofill -->
<string name="ssh_key_does_not_exist">SSH 개인 키를 열 수 없습니다. 파일이 존재하는지 확인하세요</string>
- <string name="new_password_title">새 암호</string>
<string name="clear_saved_passphrase_ssh">로컬 SSH 키의 저장된 비밀번호 지우기</string>
<string name="clear_saved_passphrase_https">저장된 HTTPS 비밀번호 지우기</string>
<string name="git_operation_remember_passphrase">키 암호 기억하기</string>
@@ -222,7 +211,6 @@
<string name="pref_biometric_auth_title">생체 인증 사용</string>
<string name="pref_biometric_auth_summary">비밀번호 저장소를 활성화하면 앱을 시작할 때 지문을 입력하라는 메시지가 표시됩니다</string>
<string name="pref_biometric_auth_summary_error">지문 하드웨어에 액세스할 수 없거나 누락된 경우</string>
- <string name="pref_title_openkeystore_clear_keyid">저장된 OpenKeyStore SSH 키 ID 지우기</string>
<string name="your_public_key">공개 키</string>
<string name="error_generate_ssh_key">Ssh 키를 생성하는 동안 오류가 발생했습니다.</string>
<string name="pref_show_hidden_title">모든 파일 및 폴더 표시</string>
@@ -230,7 +218,6 @@
<string name="title_create_folder">폴더 생성</string>
<string name="title_rename_folder">폴더 이름 변경</string>
<string name="message_category_error_empty_field">카테고리 이름은 비워 둘 수 없습니다</string>
- <string name="message_category_error_category_exists">카테고리가 이미 있습니다</string>
<string name="message_error_destination_outside_repo">대상은 리포지토리 내에 있어야 합니다</string>
<string name="message_rename_folder">%1$s의 목적지 입력</string>
<string name="button_create">생성</string>
@@ -278,11 +265,9 @@ username@example.com:…</string>
<string name="invalid_gpg_id">.gpg-id를 찾았지만 잘못된 키 ID, 지문 또는 사용자 ID가 포함되어 있습니다</string>
<string name="short_gpg_id">.gpg-id를 찾았지만, 지원되지 않는 짧은 16진수 ID가 포함되어 있습니다.</string>
<string name="invalid_filename_text">파일 이름에 \'/\'가 포함되어서는 안됩니다. 위의 디렉터리를 설정하세요</string>
- <string name="directory_hint">디렉토리</string>
- <string name="new_folder_set_gpg_key">디렉토리의 GPG 키 설정</string>
<!-- GitException messages -->
<string name="git_unknown_error">알 수 없는 오류</string>
- <string name="git_pull_rebase_fail_error">풀이 실패하여 head가 분리된 상태입니다. \"설정 &gt; git 기능\"을 사용하여 원격 저장소에 변경 내용을 새 브랜치에 저장하고 컴퓨터에서 충돌을 해결하세요.</string>
+ <string name="git_pull_rebase_fail_error">풀이 실패하여 head가 분리된 상태입니다. \"설정 &gt; 저장소 &gt; 로컬 Git 설정 &amp; 툴\"을 사용하여 원격 저장소에 변경 내용을 새 브랜치에 저장하고 컴퓨터에서 충돌을 해결하세요.</string>
<string name="git_pull_merge_fail_error">병합에 실패하여 충돌 상태 입니다. 할 일: 복구 방법을 추가하세요.</string>
<string name="git_push_nff_error">원격에서 푸시가 거부된 경우 다시 푸시하기 전에 풀을 실행합니다. 풀/푸시 대신 동기화를 사용하면 두 가지를 모두 구현할 수 있습니다</string>
<string name="git_push_generic_error">원격에서 푸시를 거부했습니다. 원인: %1$s</string>
@@ -292,16 +277,12 @@ username@example.com:…</string>
<string name="git_break_out_of_detached_success">리베이스하는 동안 충돌이 발생했습니다. 로컬 %1$s 브랜치가 %2$s이라는 다른 브랜치로 푸시되었습니다.\n이 브랜치를 사용하여 컴퓨터에서 충돌을 해결하세요.</string>
<string name="git_break_out_of_detached_unneeded">이 저장소는 리베이스가 아니므로 다른 브랜치로 푸시할 필요가 없습니다.</string>
<!-- GPG key selection in folder creation -->
- <string name="gpg_key_select_mandatory">계속하려면 GPG 키를 선택해야 합니다</string>
<string name="folder_creation_err_file_exists">동일한 이름의 파일이 이미 있습니다</string>
<string name="folder_creation_err_folder_exists">이 이름의 폴더가 이미 존재합니다</string>
<!-- Onboarding flow -->
- <string name="let_s_go">시작합니다!</string>
- <string name="select_n_repository_type">저장소 유형 \n선택</string>
<string name="select_repo_type_text">로컬 리포지토리를 만들 것인지, 원격 리포지토리를 복제할 것인지 선택합니다.</string>
<string name="clone_remote_repo">원격 저장소 복제</string>
<string name="create_local_repo">로컬 저장소 생성</string>
- <string name="select_gpg_key_title">GPG 키\n선택</string>
<string name="select_gpg_key_message">스토어를 초기화할 GPG 키를 선택합니다</string>
<string name="gpg_key_select">키 선택</string>
<!-- SSH port validation -->
@@ -322,11 +303,9 @@ username@example.com:…</string>
<string name="clear_saved_host_key_success">저장된 호스트 키를 성공적으로 지웠습니다!</string>
<string name="otp_import_qr_code">QR코드 스캔</string>
<string name="otp_import_from_file">이미지 선택</string>
- <string name="otp_import_manual_entry">직접 입력</string>
<string name="otp_import_manual_hint_secret">비밀</string>
<string name="otp_import_manual_hint_account">계정</string>
<string name="place_shortcut_on_home_screen">홈 화면에 추가</string>
- <string name="password_list_fab_content_description">새 비밀번호 또는 폴더 만들기</string>
<string name="pgp_key_import_failed">PGP 키를 가져오지 못했습니다</string>
<string name="pgp_key_import_failed_replace_message">이 ID를 가진 기존 키가 발견되었습니다. 교체하시겠습니까?</string>
<string name="pgp_key_import_succeeded">PGP 키를 성공적으로 가져왔습니다</string>
diff --git a/app/src/main/res/values-night/colors_material3.xml b/app/src/main/res/values-night/colors_material3.xml
index 22e4e8f0..c26d7ec6 100644
--- a/app/src/main/res/values-night/colors_material3.xml
+++ b/app/src/main/res/values-night/colors_material3.xml
@@ -4,5 +4,4 @@
-->
<resources>
- <color name="list_multiselect_background">#66eeeeee</color>
</resources>
diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml
index a915f67d..4d41b2f6 100644
--- a/app/src/main/res/values-pl-rPL/strings.xml
+++ b/app/src/main/res/values-pl-rPL/strings.xml
@@ -23,7 +23,6 @@
<string name="creation_dialog_text">Zanim dodasz hasło lub rozpoczniesz synchronizację, stwórz albo sklonuj poniżej nowe repozytorium.</string>
<string name="delete_directory_progress_text">Usuwanie…</string>
<string name="move">Przenieś</string>
- <string name="edit">Edytuj</string>
<string name="delete">Usuń</string>
<string name="password_exists_title">Hasło już istnieje!</string>
<string name="password_exists_message">%1$s zostanie nadpisane przez %2$s.</string>
@@ -38,7 +37,6 @@
<!-- PGPHandler -->
<string name="clipboard_copied_text">Skopiowano do schowka</string>
<string name="file_toast_text">Podaj nazwę pliku</string>
- <string name="path_toast_text">Podaj ścieżkę do pliku</string>
<string name="empty_toast_text">Nie możesz użyć pustego hasła lub pustej dodatkowej zawartości</string>
<!-- Git Async Task -->
<string name="jgit_error_dialog_title">Wystąpił błąd podczas operacji Git</string>
@@ -62,7 +60,6 @@
<string name="crypto_name_hint">Nazwa</string>
<string name="crypto_pass_label">Hasło</string>
<string name="crypto_extra_label">Treść dodatkowa</string>
- <string name="crypto_encrypt_username_label">Szyfruj nazwę użytkownika</string>
<string name="crypto_select">Wybierz</string>
<string name="crypto_save">Zapisz</string>
<string name="crypto_save_and_copy">Zapisz i skopiuj</string>
@@ -97,8 +94,6 @@
<string name="pref_directory_structure">Organizacja plików haseł</string>
<string name="pref_sort_order_title">Kolejność sortowania haseł</string>
<string name="pref_folder_first_sort_order">Najpierw foldery</string>
- <string name="pref_file_first_sort_order">Najpierw pliki</string>
- <string name="pref_type_independent_sort_order">Niezależnie od typu</string>
<string name="pref_recently_used_sort_order">Ostatnio używane</string>
<string name="pref_category_autofill_title">Autouzupełnianie</string>
<string name="pref_autofill_enable_title">Włącz autouzupełnianie</string>
@@ -123,7 +118,6 @@
<!-- PasswordGenerator fragment -->
<string name="pwgen_title">Generuj hasło</string>
<string name="pwgen_generate">Wygeneruj</string>
- <string name="pwgen_include">Załącz</string>
<string name="pwgen_length">Długość</string>
<string name="pwgen_numerals">Cyfry</string>
<string name="pwgen_symbols">Symbole</string>
@@ -164,7 +158,6 @@
<string name="dialog_yes">Tak</string>
<string name="dialog_no">Nie</string>
<string name="dialog_cancel">Anuluj</string>
- <string name="dialog_skip">Pomiń</string>
<string name="git_sync">Synchronizuj repozytorium</string>
<string name="git_pull">Pobierz ze zdalnego repozytorium</string>
<string name="git_push">Wypchnij do zdalnego repozytorium</string>
@@ -172,10 +165,7 @@
<string name="git_log">Pokaż dziennik commitów</string>
<string name="show_password_pref_title">Pokaż hasło</string>
<string name="show_password_pref_summary">Kontroluj widoczność haseł po odszyfrowaniu. To nie wyłącza kopiowania do schowka.</string>
- <string name="pwd_generate_button">Generuj</string>
- <string name="refresh_list">Odśwież listę</string>
<string name="send_plaintext_password_to">Wyślij niezaszyfrowane hasło, używając…</string>
- <string name="app_icon_hint">Ikona aplikacji</string>
<!-- Oreo Autofill -->
<string name="oreo_autofill_select_and_fill_into">Wybierz wpis do wypełnienia</string>
<string name="oreo_autofill_strict_domain_search">Wyszukiwanie odporne na wyłudzenie</string>
@@ -200,12 +190,11 @@
<string name="oreo_autofill_password_fill_support">Wypełnij hasła</string>
<string name="oreo_autofill_flaky_fill_support">Wypełnij hasła (może wymagać ponownego uruchomienia przeglądarki od czasu do czasu)</string>
<string name="oreo_autofill_no_support">Brak wsparcia</string>
- <string name="oreo_autofill_enable_dialog_description">Password Store może zaoferować wypełnianie formularzy logowania, a nawet zapisywanie danych logowania, które wpisujesz w aplikacjach lub na stronach internetowych.</string>
- <string name="oreo_autofill_enable_dialog_instructions">Aby włączyć tę funkcję, naciśnij przycisk OK, aby przejść do ustawień autouzupełniania. Następnie wybierz Password Store z listy i potwierdź przyciskiem OK.</string>
+ <string name="oreo_autofill_enable_dialog_description">HardenedPass może zaoferować wypełnianie formularzy logowania, a nawet zapisywanie danych logowania, które wpisujesz w aplikacjach lub na stronach internetowych.</string>
+ <string name="oreo_autofill_enable_dialog_instructions">Aby włączyć tę funkcję, naciśnij przycisk OK, aby przejść do ustawień autouzupełniania. Następnie wybierz HardenedPass z listy i potwierdź przyciskiem OK.</string>
<string name="oreo_autofill_enable_dialog_installed_browsers">Obsługa autouzupełniania w zainstalowanych przeglądarkach:</string>
<!-- Autofill -->
<string name="ssh_key_does_not_exist">Nie można otworzyć klucza prywatnego ssh, sprawdź czy plik istnieje</string>
- <string name="new_password_title">Nowe hasło</string>
<string name="clear_saved_passphrase_ssh">Wyczyść zapisane hasło dla lokalnego klucza SSH</string>
<string name="clear_saved_passphrase_https">Wyczyść zapisane hasło HTTPS</string>
<string name="git_operation_remember_passphrase">Zapamiętaj hasło klucza</string>
@@ -219,9 +208,8 @@
<string name="biometric_prompt_title">Weryfikacja biometryczna</string>
<string name="biometric_auth_error_reason">Błąd uwierzytelnienia: %s</string>
<string name="pref_biometric_auth_title">Włącz uwierzytelnianie biometryczne</string>
- <string name="pref_biometric_auth_summary">Gdy włączone, Password Store zapyta Cię o odcisk palca podczas uruchamiania aplikacji</string>
+ <string name="pref_biometric_auth_summary">Gdy włączone, HardenedPass zapyta Cię o odcisk palca podczas uruchamiania aplikacji</string>
<string name="pref_biometric_auth_summary_error">Czytnik linii papilarnych jest niedostępny</string>
- <string name="pref_title_openkeystore_clear_keyid">Wyczyść zapamiętany identyfikator klucza SSH OpenKeystore</string>
<string name="your_public_key">Twój klucz publiczny</string>
<string name="error_generate_ssh_key">Błąd podczas generowania klucza SSH</string>
<string name="pref_show_hidden_title">Pokaż ukryte pliki i foldery</string>
@@ -229,7 +217,6 @@
<string name="title_create_folder">Utwórz katalog</string>
<string name="title_rename_folder">Zmień nazwę katalogu</string>
<string name="message_category_error_empty_field">Nazwa kategorii nie może być pusta</string>
- <string name="message_category_error_category_exists">Kategoria już istnieje</string>
<string name="message_error_destination_outside_repo">Miejsce docelowe musi znajdować się w repozytorium</string>
<string name="message_rename_folder">Wprowadź miejsce docelowe dla %1$s</string>
<string name="button_create">Utwórz</string>
@@ -272,11 +259,9 @@
<string name="invalid_gpg_id">Znaleziono .gpg-id, ale zawiera nieprawidłowy identyfikator klucza, odcisk palca lub identyfikator użytkownika</string>
<string name="short_gpg_id">Znaleziono .gpg-id, ale zawarty w nim skrócony identyfikator nie jest obsługiwany</string>
<string name="invalid_filename_text">Nazwa pliku nie może zawierać \'/\', ustaw katalog powyżej</string>
- <string name="directory_hint">Katalog</string>
- <string name="new_folder_set_gpg_key">Ustaw klucz GPG dla katalogu</string>
<!-- GitException messages -->
<string name="git_unknown_error">Nieznany błąd</string>
- <string name="git_pull_rebase_fail_error">Zaciąganie zmian nie powiodło się, nie jesteś na żadnej gałęzi (detached head). Używając \"Ustawienia &gt; narzędzia Git\", wyślij lokalne zmiany do zdalnego repozytorium na nowej gałęzi i rozwiąż konflikt na komputerze.</string>
+ <string name="git_pull_rebase_fail_error">Zaciąganie zmian nie powiodło się, nie jesteś na żadnej gałęzi (detached head). Używając \"Ustawienia &gt; Repozytorium &gt; Konfiguracja lokalnego repo Git &amp; narzędzia\", wyślij lokalne zmiany do zdalnego repozytorium na nowej gałęzi i rozwiąż konflikt na komputerze.</string>
<string name="git_pull_merge_fail_error">Scalanie nie powiodło się, jesteś w stanie konfliktu.</string>
<string name="git_push_nff_error">Operacja wypchnięcia zmian została odrzucona przez zdalne repozytorium. Zaciągnij zmiany przed ponownym wysłaniem. Możesz użyć synchronizacji zamiast pull/push ponieważ zawiera obu te kroki</string>
<string name="git_push_generic_error">Operacja wypchnięcia zmian została odrzucona przez zdalne repozytorium, powód: %1$s</string>
@@ -289,12 +274,9 @@
<string name="folder_creation_err_file_exists">Plik o tej nazwie już istnieje</string>
<string name="folder_creation_err_folder_exists">Folder o tej nazwie już istnieje</string>
<!-- Onboarding flow -->
- <string name="let_s_go">Zaczynajmy</string>
- <string name="select_n_repository_type">Wybierz \ntyp repozytorium</string>
<string name="select_repo_type_text">Zaznacz, czy chcesz utworzyć lokalne repozytorium, czy sklonować zdalne repozytorium.</string>
<string name="clone_remote_repo">Klonuj zdalne repozytorium</string>
<string name="create_local_repo">Utwórz lokalne repozytorium</string>
- <string name="select_gpg_key_title">Wybierz\nklucz GPG</string>
<string name="select_gpg_key_message">Wybierz klucz GPG, którym zainicjować swoje repozytorium</string>
<string name="gpg_key_select">Wybierz klucz</string>
<!-- SSH port validation -->
@@ -314,11 +296,9 @@
<string name="clear_saved_host_key_success">Pomyślnie wyczyszczono zapisany klucz hosta!</string>
<string name="otp_import_qr_code">Skanuj kod QR</string>
<string name="otp_import_from_file">Wybierz obraz</string>
- <string name="otp_import_manual_entry">Wprowadź ręcznie</string>
<string name="otp_import_manual_hint_secret">Sekret</string>
<string name="otp_import_manual_hint_account">Konto</string>
<string name="place_shortcut_on_home_screen">Utwórz skrót na pulpicie</string>
- <string name="password_list_fab_content_description">Utwórz nowe hasło lub folder</string>
<string name="pgp_key_import_failed">Nie udało się zaimportować klucza PGP</string>
<string name="pgp_key_import_failed_replace_message">Znaleziono istniejący klucz z tym identyfikatorem, czy chcesz go zastąpić?</string>
<string name="pgp_key_import_succeeded">Pomyślnie zaimportowano klucz PGP</string>
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 1d95286d..14e862c5 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -24,7 +24,6 @@
</plurals>
<string name="delete_directory_progress_text">Excluindo…</string>
<string name="move">Mover</string>
- <string name="edit">Editar</string>
<string name="delete">Excluir</string>
<string name="password_exists_title">Senha já existe!</string>
<string name="password_exists_message">Isso irá sobrescrever %1$s com %2$s.</string>
@@ -40,7 +39,6 @@
<!-- PGPHandler -->
<string name="clipboard_copied_text">Copiado para a área de transferência</string>
<string name="file_toast_text">Por favor, informe um nome de arquivo</string>
- <string name="path_toast_text">Por favor, forneça o caminho do arquivo</string>
<string name="empty_toast_text">Você não pode usar uma senha vazia ou conteúdo extra vazio</string>
<!-- Git Async Task -->
<string name="jgit_error_dialog_title">Ocorreu um erro durante uma operação do Git</string>
@@ -64,7 +62,6 @@
<string name="crypto_name_hint">Nome</string>
<string name="crypto_pass_label">Senha</string>
<string name="crypto_extra_label">Conteúdo extra</string>
- <string name="crypto_encrypt_username_label">Criptografar nome de usuário</string>
<string name="crypto_select">Selecionar</string>
<string name="crypto_save">Salvar</string>
<string name="crypto_save_and_copy">Salvar e Copiar</string>
@@ -99,8 +96,6 @@
<string name="pref_recursive_filter_summary">Encontrar senhas do diretório corrente recursivamente.</string>
<string name="pref_sort_order_title">Ordenação da Senha</string>
<string name="pref_folder_first_sort_order">Pastas primeiro</string>
- <string name="pref_file_first_sort_order">Arquivos primeiro</string>
- <string name="pref_type_independent_sort_order">Tipo independente</string>
<string name="pref_recently_used_sort_order">Usado recentemente</string>
<string name="pref_category_autofill_title">Preenchimento Automático</string>
<string name="pref_autofill_enable_title">Ativar preenchimento automático</string>
@@ -126,7 +121,6 @@
<!-- PasswordGenerator fragment -->
<string name="pwgen_title">Gerar Senha</string>
<string name="pwgen_generate">Gerar</string>
- <string name="pwgen_include">Incluir</string>
<string name="pwgen_length">Tamanho</string>
<string name="pwgen_numerals">Numerais</string>
<string name="pwgen_symbols">Símbolos</string>
@@ -167,7 +161,6 @@
<string name="dialog_yes">Sim</string>
<string name="dialog_no">Não</string>
<string name="dialog_cancel">Cancelar</string>
- <string name="dialog_skip">Pular</string>
<string name="git_sync">Sincronizar repositório</string>
<string name="git_pull">Pull do remoto</string>
<string name="git_push">Push do remoto</string>
@@ -175,10 +168,7 @@
<string name="git_log">Mostrar log de commit</string>
<string name="show_password_pref_title">Mostrar a senha</string>
<string name="show_password_pref_summary">Controle a visibilidade das senhas quando descriptografadas. Isso não desativa a cópia para a área de transferência.</string>
- <string name="pwd_generate_button">Gerar</string>
- <string name="refresh_list">Atualizar lista</string>
<string name="send_plaintext_password_to">Enviar senha como texto simples usando…</string>
- <string name="app_icon_hint">Ícone do aplicativo</string>
<!-- Oreo Autofill -->
<string name="oreo_autofill_select_and_fill_into">Selecione a entrada para preencher</string>
<string name="oreo_autofill_strict_domain_search">Busca resistente a phishing</string>
@@ -191,7 +181,7 @@
<string name="oreo_autofill_save_passwords_dont_match">As senhas não coincidem</string>
<string name="oreo_autofill_generate_password">Gerar senha…</string>
<string name="oreo_autofill_max_matches_reached">Número máximo de correspondências (%1$d) atingidas; limpar correspondências antes de adicionar novas.</string>
- <string name="oreo_autofill_warning_publisher_header">O editor deste aplicativo mudou desde a primeira vez que você associou uma entrada no Password Store:</string>
+ <string name="oreo_autofill_warning_publisher_header">O editor deste aplicativo mudou desde a primeira vez que você associou uma entrada no HardenedPass:</string>
<string name="oreo_autofill_warning_publisher_footer"><b>O aplicativo atualmente instalado pode estar tentando roubar suas credenciais fingindo ser um aplicativo confiável.</b>\n\nTente desinstalar e reinstalar o aplicativo de uma fonte confiável, como a Play Store, Amazon Appstore, F-Droid ou a loja do fabricante do seu telefone.</string>
<string name="oreo_autofill_warning_publisher_install_time">Instalado: %1$s</string>
<string name="oreo_autofill_warning_publisher_advanced_info_button">Informações avançadas</string>
@@ -205,12 +195,11 @@
<string name="oreo_autofill_password_fill_support">Preencher as senhas</string>
<string name="oreo_autofill_flaky_fill_support">Preencher senhas (pode ser necessário reiniciar o navegador de vez em quando)</string>
<string name="oreo_autofill_no_support">Sem suporte</string>
- <string name="oreo_autofill_enable_dialog_description">O Password Store pode oferecer para preencher formulários de login e até mesmo salvar credenciais inseridas em aplicativos ou em sites.</string>
- <string name="oreo_autofill_enable_dialog_instructions">Para ativar esse recurso, toque em OK para ir para as configurações de preenchimento automático. Lá, selecione Password Store na lista e confirme na tela confirmação com OK.</string>
+ <string name="oreo_autofill_enable_dialog_description">O HardenedPass pode oferecer para preencher formulários de login e até mesmo salvar credenciais inseridas em aplicativos ou em sites.</string>
+ <string name="oreo_autofill_enable_dialog_instructions">Para ativar esse recurso, toque em OK para ir para as configurações de preenchimento automático. Lá, selecione HardenedPass na lista e confirme na tela confirmação com OK.</string>
<string name="oreo_autofill_enable_dialog_installed_browsers">Suporte ao preenchimento automático com navegadores instalados:</string>
<!-- Autofill -->
<string name="ssh_key_does_not_exist">Não foi possível abrir a chave privada ssh, por favor verifique se o arquivo existe</string>
- <string name="new_password_title">Nova senha</string>
<string name="clear_saved_passphrase_ssh">Limpar a frase secreta salva para chave SSH local</string>
<string name="clear_saved_passphrase_https">Limpar senha HTTPS salva</string>
<string name="git_operation_remember_passphrase">Lembrar senha da chave</string>
@@ -224,9 +213,8 @@
<string name="biometric_prompt_title">Confirmação Biométrica</string>
<string name="biometric_auth_error_reason">Falha de autenticação: %s</string>
<string name="pref_biometric_auth_title">Ativar autenticação biométrica</string>
- <string name="pref_biometric_auth_summary">Quando ativado, o Password Store irá pedir a sua impressão digital ao iniciar o aplicativo</string>
+ <string name="pref_biometric_auth_summary">Quando ativado, o HardenedPass irá pedir a sua impressão digital ao iniciar o aplicativo</string>
<string name="pref_biometric_auth_summary_error">Hardware de impressão digital não acessível ou ausente</string>
- <string name="pref_title_openkeystore_clear_keyid">Limpar ID de chave SSH lembrada do OpenKeystore</string>
<string name="your_public_key">Sua chave pública</string>
<string name="error_generate_ssh_key">Erro ao tentar gerar a chave SSH</string>
<string name="pref_show_hidden_title">Mostrar todos os arquivos e pastas</string>
@@ -234,7 +222,6 @@
<string name="title_create_folder">Criar pasta</string>
<string name="title_rename_folder">Renomear pasta</string>
<string name="message_category_error_empty_field">O nome da categoria não pode ser vazio</string>
- <string name="message_category_error_category_exists">Nome da categoria já existe</string>
<string name="message_error_destination_outside_repo">O destino deve estar dentro do repositório</string>
<string name="message_rename_folder">Insira o destino para %1$s</string>
<string name="button_create">Criar</string>
@@ -280,11 +267,9 @@
<string name="invalid_gpg_id">Encontrado .gpg-id, mas contém um ID de chave, fingerprint ou ID de usuário inválidos</string>
<string name="short_gpg_id">Encontrado .gpg-id, mas contém uma ID hexadecimal curta, que não é suportada</string>
<string name="invalid_filename_text">Nome do arquivo não deve conter \'/\', defina o diretório acima</string>
- <string name="directory_hint">Diretório</string>
- <string name="new_folder_set_gpg_key">Definir chave GPG para diretório</string>
<!-- GitException messages -->
<string name="git_unknown_error">Erro desconhecido</string>
- <string name="git_pull_rebase_fail_error">O pull falhou, você está em uma Head avulsa. Usando \"configurações &gt; utils\" do git, salve suas alterações no remoto em uma nova branch e resolva o conflito no seu computador.</string>
+ <string name="git_pull_rebase_fail_error">O pull falhou, você está em uma Head avulsa. Usando \"Configurações &gt; Repositório &gt; Configuração local do Git &amp; utilitários\", salve suas alterações no remoto em uma nova branch e resolva o conflito no seu computador.</string>
<string name="git_pull_merge_fail_error">Falha ao realizar o merge, você está em estado de conflito.</string>
<string name="git_push_nff_error">Push rejeitado pelo remoto, execute o pull antes de fazer push novamente. Você pode usar Sincronização em vez de pull/push conforme implementa ambos</string>
<string name="git_push_generic_error">Push rejeitado pelo remoto, razão: %1$s</string>
@@ -294,16 +279,12 @@
<string name="git_break_out_of_detached_success">Houve um conflito ao executar o rebase. Houve um push de branch %1$s local para outra branch chamada %2$s\n Use esta branch para resolver o conflito no seu computador</string>
<string name="git_break_out_of_detached_unneeded">O repositório não está sendo rebased, não há necessidade de fazer push para outro branch</string>
<!-- GPG key selection in folder creation -->
- <string name="gpg_key_select_mandatory">A seleção de uma chave GPG é necessária para prosseguir</string>
<string name="folder_creation_err_file_exists">Já existe um arquivo com esse nome</string>
<string name="folder_creation_err_folder_exists">Já existe uma pasta com esse nome</string>
<!-- Onboarding flow -->
- <string name="let_s_go">Vamos lá</string>
- <string name="select_n_repository_type">Selecione \nTipo de Repositório</string>
<string name="select_repo_type_text">Selecione se você quer criar um repositório local ou clonar um repositório remoto.</string>
<string name="clone_remote_repo">Clonar repositório remoto</string>
<string name="create_local_repo">Criar repositório local</string>
- <string name="select_gpg_key_title">Selecione\nChave GPG</string>
<string name="select_gpg_key_message">Selecione uma chave GPG para inicializar o armazenamento com</string>
<string name="gpg_key_select">Selecione a chave</string>
<!-- SSH port validation -->
@@ -324,11 +305,9 @@
<string name="clear_saved_host_key_success">Chave de host limpa com sucesso!</string>
<string name="otp_import_qr_code">Escanear QR code</string>
<string name="otp_import_from_file">Selecione uma imagem</string>
- <string name="otp_import_manual_entry">Inserir manualmente</string>
<string name="otp_import_manual_hint_secret">Segredo</string>
<string name="otp_import_manual_hint_account">Conta</string>
<string name="place_shortcut_on_home_screen">Criar atalho na tela inicial</string>
- <string name="password_list_fab_content_description">Criar nova senha ou pasta</string>
<string name="pgp_key_import_failed">Falha ao importar a chave PGP</string>
<string name="pgp_key_import_failed_replace_message">Uma chave existente com esse ID foi encontrada, você deseja substituí-lo?</string>
<string name="pgp_key_import_succeeded">Chave PGP importada com sucesso</string>
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index c10bdcd8..ddc33aa3 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -28,7 +28,6 @@
</plurals>
<string name="delete_directory_progress_text">Удаляется…</string>
<string name="move">Переместить</string>
- <string name="edit">Редактировать</string>
<string name="delete">Удалить</string>
<string name="password_exists_title">Пароль уже существует!</string>
<string name="password_exists_message">Это перезапишет %1$s на %2$s</string>
@@ -44,7 +43,6 @@
<!-- PGPHandler -->
<string name="clipboard_copied_text">Скопировано в буфер обмена</string>
<string name="file_toast_text">Пожалуйста, укажите имя файла</string>
- <string name="path_toast_text">Пожалуйста, задайте путь к файлу</string>
<string name="empty_toast_text">Вы не можете использовать пустой пароль или пустое поле информации</string>
<!-- Git Async Task -->
<string name="jgit_error_dialog_title">Произошла ошибка выполнения операции Git</string>
@@ -68,7 +66,6 @@
<string name="crypto_name_hint">название</string>
<string name="crypto_pass_label">Пароль</string>
<string name="crypto_extra_label">Дополнительно</string>
- <string name="crypto_encrypt_username_label">Зашифровать имя пользователя</string>
<string name="crypto_select">Выбрать</string>
<string name="crypto_save">Сохранить</string>
<string name="crypto_save_and_copy">Сохранить и скопировать</string>
@@ -102,8 +99,6 @@
<string name="pref_recursive_filter_summary">Рекурсивный поиск паролей в текущей директории</string>
<string name="pref_sort_order_title">Порядок сортировки паролей</string>
<string name="pref_folder_first_sort_order">Сначала папки</string>
- <string name="pref_file_first_sort_order">Сначала файлы</string>
- <string name="pref_type_independent_sort_order">Типонезависимый</string>
<string name="pref_recently_used_sort_order">Недавно использованные</string>
<string name="pref_category_autofill_title">Автозаполнение</string>
<string name="pref_autofill_enable_title">Включить автозаполнение</string>
@@ -119,7 +114,6 @@
<!-- PasswordGenerator fragment -->
<string name="pwgen_title">Сгенерировать пароль</string>
<string name="pwgen_generate">Сгенерировать</string>
- <string name="pwgen_include">Включая</string>
<string name="pwgen_length">Длина</string>
<string name="pwgen_numerals">Цифры</string>
<string name="pwgen_symbols">Символы</string>
@@ -160,7 +154,6 @@
<string name="dialog_yes">Да</string>
<string name="dialog_no">Нет</string>
<string name="dialog_cancel">Отмена</string>
- <string name="dialog_skip">Пропустить</string>
<string name="git_sync">Синхронизировать репозиторий</string>
<string name="git_pull">Пулл с удаленного сервера</string>
<string name="git_push">Пуш на удаленный сервер</string>
@@ -168,10 +161,7 @@
<string name="git_log">Показать журнал изменений</string>
<string name="show_password_pref_title">Показывать пароли</string>
<string name="show_password_pref_summary">Видимость расшифрованных паролей, не влияет на копирование в буфер.</string>
- <string name="pwd_generate_button">Сгенерировать</string>
- <string name="refresh_list">Обновить список</string>
<string name="send_plaintext_password_to">Поделиться паролем в открытом виде с помощью</string>
- <string name="app_icon_hint">Иконка приложения</string>
<!-- Oreo Autofill -->
<string name="oreo_autofill_select_and_fill_into">Выберите запись для заполнения</string>
<string name="oreo_autofill_strict_domain_search">Устойчивый к фишингу поиск</string>
@@ -199,11 +189,10 @@
<string name="oreo_autofill_flaky_fill_support">Заполнить учетные данные (время от времени может требоваться перезапуск браузера)</string>
<string name="oreo_autofill_no_support">Не поддерживается</string>
<string name="oreo_autofill_enable_dialog_description">Хранилище паролей может предложить заполнить формы входа и даже сохранить учетные данные в приложениях или на веб-сайтах.</string>
- <string name="oreo_autofill_enable_dialog_instructions">Чтобы включить эту функцию, нажмите ОК, чтобы перейти к настройкам автозаполнения. Там выберите Password Store из списка и подтвердите запрос подтверждения, нажав ОК.</string>
+ <string name="oreo_autofill_enable_dialog_instructions">Чтобы включить эту функцию, нажмите ОК, чтобы перейти к настройкам автозаполнения. Там выберите HardenedPass из списка и подтвердите запрос подтверждения, нажав ОК.</string>
<string name="oreo_autofill_enable_dialog_installed_browsers">Поддержка автозаполнения установленными браузерами:</string>
<!-- Autofill -->
<string name="ssh_key_does_not_exist">Невозможно открыть приватный ключ ssh, пожалуйста проверьте, что файл существует</string>
- <string name="new_password_title">Новый пароль</string>
<string name="clear_saved_passphrase_ssh">Очистить сохраненную кодовую фразу для локального SSH ключа</string>
<string name="clear_saved_passphrase_https">Удалить сохраненный пароль HTTPS</string>
<string name="git_operation_remember_passphrase">Запомнить кодовую фразу</string>
@@ -217,9 +206,8 @@
<string name="biometric_prompt_title">Запрос биометрии</string>
<string name="biometric_auth_error_reason">Ошибка аутентификации: %s</string>
<string name="pref_biometric_auth_title">Включить биометрическую аутентификацию</string>
- <string name="pref_biometric_auth_summary">Когда ключено, Password Store будет запрашивать ваш опечаток пальца при каждом запуске приложения</string>
+ <string name="pref_biometric_auth_summary">Когда ключено, HardenedPass будет запрашивать ваш опечаток пальца при каждом запуске приложения</string>
<string name="pref_biometric_auth_summary_error">Сенсор отпечатка пальца не доступен или отсутствует</string>
- <string name="pref_title_openkeystore_clear_keyid">Очистить сохраненный SSH Key идентификатор OpenKystortore</string>
<string name="your_public_key">Ваш публичный ключ</string>
<string name="error_generate_ssh_key">Возникла ошибка при попытке генерации ssh ключа</string>
<string name="pref_show_hidden_title">Показать все файлы и директории</string>
@@ -227,7 +215,6 @@
<string name="title_create_folder">Создать папку</string>
<string name="title_rename_folder">Переименовать папку</string>
<string name="message_category_error_empty_field">Название категории не может быть пустым</string>
- <string name="message_category_error_category_exists">Название категории уже существует</string>
<string name="message_error_destination_outside_repo">Путь должен указывать на область внутри репозитория</string>
<string name="message_rename_folder">Введите адрес назначения для %1$s</string>
<string name="button_create">Создать</string>
@@ -272,11 +259,9 @@
<string name="exporting_passwords">Экспорт паролей…</string>
<string name="invalid_gpg_id">Найден .gpg-id, но он содержит неверный ID ключа, fingerprint или ID пользователя</string>
<string name="invalid_filename_text">Имя файла не должно содержать \'/\', укажите директорию выше</string>
- <string name="directory_hint">Директория</string>
- <string name="new_folder_set_gpg_key">Установить GPG ключ для каталога</string>
<!-- GitException messages -->
<string name="git_unknown_error">Неизвестная ошибка</string>
- <string name="git_pull_rebase_fail_error">Не удалось получить изменения, вы находитесь в состоянии \"оторванной головы\". Используйте \"настройки &gt; утилиты git\", сохраните ваши изменения в новую удаленную ветку и разрешите конфликты на своем компьютере.</string>
+ <string name="git_pull_rebase_fail_error">Не удалось получить изменения, вы находитесь в состоянии \"оторванной головы\". Используйте \"Настройки &gt; Репозиторий &gt; Конфигурация локального Git\", сохраните ваши изменения в новую удаленную ветку и разрешите конфликты на своем компьютере.</string>
<string name="git_pull_merge_fail_error">Слияние не удалось, вы находитесь в конфликтующем состоянии. ВТО: Добавьте метод восстановления.</string>
<string name="git_push_nff_error">Запись изменений была отклонена удаленным репозиторием, сначала пполучите изменения перед повторной записью. Вы можете использовать Синхронизацию вместо получения/записи изменений, т.к. она реализует оба подхда.</string>
<string name="git_push_generic_error">Запись изменений была отклонена удаленным репозиторием, причина: %1$s</string>
@@ -286,16 +271,12 @@
<string name="git_break_out_of_detached_success">При попытке rebase\'а возник конфликт. Ваша локальная ветка %1$s была запушена %2$s\n Используйте эту ветку для разрешения конфликтов с помощью компьютера</string>
<string name="git_break_out_of_detached_unneeded">Не нужно пушить в другую ветку - rebase не был запущен</string>
<!-- GPG key selection in folder creation -->
- <string name="gpg_key_select_mandatory">Для продолжения необходимо выбрать GPG-ключ</string>
<string name="folder_creation_err_file_exists">Файл с таким именем уже существует</string>
<string name="folder_creation_err_folder_exists">Папка с таким именем уже существует</string>
<!-- Onboarding flow -->
- <string name="let_s_go">Поехали</string>
- <string name="select_n_repository_type">Выберите \nтип репозитория</string>
<string name="select_repo_type_text">Создать локальное хранилище, или клонировать удаленный репозиторий.</string>
<string name="clone_remote_repo">Клонировать удаленный репозиторий</string>
<string name="create_local_repo">Создать локальное хранилище</string>
- <string name="select_gpg_key_title">Выберите\nGPG ключ</string>
<string name="select_gpg_key_message">Выберите GPG ключ для инициализации хранилища</string>
<string name="gpg_key_select">Выберите ключ</string>
<!-- SSH port validation -->
@@ -316,10 +297,8 @@
<string name="clear_saved_host_key_success">Сохраненный ключ хоста был успешно удален!</string>
<string name="otp_import_qr_code">Отсканировать QR-код</string>
<string name="otp_import_from_file">Выберите изображение</string>
- <string name="otp_import_manual_entry">Ввести вручную</string>
<string name="otp_import_manual_hint_account">Учетная запись</string>
<string name="place_shortcut_on_home_screen">Разместить ярлык на рабочем столе</string>
- <string name="password_list_fab_content_description">Создать новый пароль или папку</string>
<string name="pgp_key_import_failed">Не удалось импортировать PGP-ключ</string>
<string name="pgp_key_import_succeeded">PGP ключ успешно импортирован</string>
</resources>
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index b20749b3..3f6abeb3 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -23,7 +23,6 @@
</plurals>
<string name="delete_directory_progress_text">正在删除…</string>
<string name="move">更多</string>
- <string name="edit">编辑</string>
<string name="delete">删除</string>
<string name="password_exists_title">密码已经存在!</string>
<string name="password_exists_message">这将用%2$s覆盖%1$s</string>
@@ -39,7 +38,6 @@
<!-- PGPHandler -->
<string name="clipboard_copied_text">复制到剪切板</string>
<string name="file_toast_text">请提供文件名</string>
- <string name="path_toast_text">请提供文件路径</string>
<string name="empty_toast_text">您不能使用空密码或空额外内容</string>
<!-- Git Async Task -->
<string name="jgit_error_dialog_title">Git操作过程中发生错误</string>
@@ -63,7 +61,6 @@
<string name="crypto_name_hint">名称</string>
<string name="crypto_pass_label">密码</string>
<string name="crypto_extra_label">附加内容</string>
- <string name="crypto_encrypt_username_label">加密用户名</string>
<string name="crypto_select">选择</string>
<string name="crypto_save">保存</string>
<string name="crypto_save_and_copy">保存并复制</string>
@@ -98,8 +95,6 @@
<string name="pref_recursive_filter_summary">递归式寻找当前目录的密码</string>
<string name="pref_sort_order_title">密码排序顺序</string>
<string name="pref_folder_first_sort_order">目录优先</string>
- <string name="pref_file_first_sort_order">文件优先</string>
- <string name="pref_type_independent_sort_order">类型无关</string>
<string name="pref_recently_used_sort_order">最近使用</string>
<string name="pref_category_autofill_title">自动填充</string>
<string name="pref_autofill_enable_title">启用自动填充</string>
@@ -122,7 +117,6 @@
<!-- PasswordGenerator fragment -->
<string name="pwgen_title">生成密码</string>
<string name="pwgen_generate">生成</string>
- <string name="pwgen_include">包含</string>
<string name="pwgen_length">长度</string>
<string name="pwgen_numerals">数字</string>
<string name="pwgen_symbols">标识</string>
@@ -168,7 +162,6 @@
<string name="dialog_yes">同意</string>
<string name="dialog_no">否定</string>
<string name="dialog_cancel">取消</string>
- <string name="dialog_skip">跳过</string>
<string name="git_sync">同步存储库</string>
<string name="git_pull">拉取远程数据</string>
<string name="git_push">推送数据到远程</string>
@@ -176,10 +169,7 @@
<string name="git_log">显示提交日志</string>
<string name="show_password_pref_title">显示密码</string>
<string name="show_password_pref_summary">控制密码解密后的可见性,这不会禁用复制到剪贴板</string>
- <string name="pwd_generate_button">生成</string>
- <string name="refresh_list">刷新列表</string>
<string name="send_plaintext_password_to">使用明文发送密码…</string>
- <string name="app_icon_hint">应用图标</string>
<!-- Oreo Autofill -->
<string name="oreo_autofill_select_and_fill_into">选择要填写的条目</string>
<string name="oreo_autofill_strict_domain_search">防钓鱼搜索</string>
@@ -212,7 +202,6 @@
<string name="oreo_autofill_enable_dialog_installed_browsers">已安装支持自动填充的浏览器:</string>
<!-- Autofill -->
<string name="ssh_key_does_not_exist">无法打开SSH私钥,请检查文件是否存在</string>
- <string name="new_password_title">新密码</string>
<string name="clear_saved_passphrase_ssh">清除本地已保存的SSH密钥密码</string>
<string name="clear_saved_passphrase_https">清除保存的HTTPS密码</string>
<string name="git_operation_remember_passphrase">记住密钥密码</string>
@@ -225,9 +214,8 @@
<string name="biometric_prompt_title">生物识别提示</string>
<string name="biometric_auth_error_reason">验证失败: %s</string>
<string name="pref_biometric_auth_title">启用生物识别认证</string>
- <string name="pref_biometric_auth_summary">如果启用,Password Store 将在启动应用时提示您使用指纹进行身份验证</string>
+ <string name="pref_biometric_auth_summary">如果启用,HardenedPass 将在启动应用时提示您使用指纹进行身份验证</string>
<string name="pref_biometric_auth_summary_error">指纹硬件无法访问或丢失</string>
- <string name="pref_title_openkeystore_clear_keyid">清除记住的 OpenKeystore SSH 密钥ID</string>
<string name="your_public_key">你的公开密钥</string>
<string name="error_generate_ssh_key">尝试生成SSH密钥时出错</string>
<string name="pref_show_hidden_title">显示所有文件和目录</string>
@@ -235,7 +223,6 @@
<string name="title_create_folder">清除目录</string>
<string name="title_rename_folder">重命名目录</string>
<string name="message_category_error_empty_field">类别名称不能为空</string>
- <string name="message_category_error_category_exists">类别名称已存在</string>
<string name="message_error_destination_outside_repo">目标必须在存储库中</string>
<string name="message_rename_folder">输入%1$s的目标</string>
<string name="button_create">创建</string>
@@ -282,8 +269,6 @@ personal.com</string>
<string name="invalid_gpg_id">找到了 .gpg-id,但它包含无效的密钥ID、指纹或用户ID</string>
<string name="short_gpg_id">找到 .gpg-id 但它包含一个不受支持的短十六进制ID。</string>
<string name="invalid_filename_text">文件名不能包含\'/\'</string>
- <string name="directory_hint">目录</string>
- <string name="new_folder_set_gpg_key">为目录设置GPG密钥</string>
<!-- GitException messages -->
<string name="git_unknown_error">未知错误</string>
<string name="git_pull_merge_fail_error">合并失败,你处于冲突状态。</string>
@@ -296,18 +281,12 @@ personal.com</string>
使用此分支解决计算机上的冲突</string>
<string name="git_break_out_of_detached_unneeded">存储库没有变更,无需推送到另一个分支</string>
<!-- GPG key selection in folder creation -->
- <string name="gpg_key_select_mandatory">选择一个 GPG 密钥才能继续</string>
<string name="folder_creation_err_file_exists">该名称的文件已存在</string>
<string name="folder_creation_err_folder_exists">该名称的文件夹已存在</string>
<!-- Onboarding flow -->
- <string name="let_s_go">开始配置</string>
- <string name="select_n_repository_type">选择仓库模式</string>
<string name="select_repo_type_text">你是要同步仓库还是现在创建一个仓库呢?</string>
<string name="clone_remote_repo">同步远程仓库</string>
<string name="create_local_repo">创建本地仓库</string>
- <string name="select_gpg_key_title">选择
-GPG
-密钥</string>
<string name="select_gpg_key_message">选择一个GPG密钥来初始化您的仓库</string>
<string name="gpg_key_select">选择密钥</string>
<!-- SSH port validation -->
@@ -329,11 +308,9 @@ GPG
<string name="clear_saved_host_key_success">已成功清除已保存的主机密钥!</string>
<string name="otp_import_qr_code">扫描二维码</string>
<string name="otp_import_from_file">选择图像</string>
- <string name="otp_import_manual_entry">手动输入</string>
<string name="otp_import_manual_hint_secret">安全码 (Secret)</string>
<string name="otp_import_manual_hint_account">账户</string>
<string name="place_shortcut_on_home_screen">在主屏幕上放置快捷方式</string>
- <string name="password_list_fab_content_description">创建新密码或文件夹</string>
<string name="pgp_key_import_failed">导入 PGP 密钥失败</string>
<string name="pgp_key_import_failed_replace_message">发现了 ID 相同的现有密钥,您要替换它吗?</string>
<string name="pgp_key_import_succeeded">成功导入 PGP 密钥</string>
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 9f44710b..2891987d 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -6,14 +6,10 @@
<resources>
<string-array name="sort_order_entries">
<item>@string/pref_folder_first_sort_order</item>
- <item>@string/pref_file_first_sort_order</item>
- <item>@string/pref_type_independent_sort_order</item>
<item>@string/pref_recently_used_sort_order</item>
</string-array>
<string-array name="sort_order_values">
<item>FOLDER_FIRST</item>
- <item>FILE_FIRST</item>
- <item>INDEPENDENT</item>
<item>RECENTLY_USED</item>
</string-array>
<string-array name="pwgen_provider_labels">
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
deleted file mode 100644
index a1d3c974..00000000
--- a/app/src/main/res/values/attrs.xml
+++ /dev/null
@@ -1,10 +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
- -->
-
-<resources>
- <declare-styleable name="Multiselected">
- <attr name="state_multiselected" format="boolean" />
- </declare-styleable>
-</resources>
diff --git a/app/src/main/res/values/colors_material3.xml b/app/src/main/res/values/colors_material3.xml
index 3a7341b5..ecd34921 100644
--- a/app/src/main/res/values/colors_material3.xml
+++ b/app/src/main/res/values/colors_material3.xml
@@ -60,5 +60,4 @@
<color name="error">#BA1B1B</color>
<!-- Multiselect color -->
- <color name="list_multiselect_background">#668eacbb</color>
</resources>
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
deleted file mode 100644
index d6939e63..00000000
--- a/app/src/main/res/values/dimens.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<!--
- ~ Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
- ~ SPDX-License-Identifier: GPL-3.0-only
- -->
-
-<resources>
- <!-- Default screen margins, per the Android Design guidelines. -->
- <dimen name="activity_horizontal_margin">16dp</dimen>
- <dimen name="activity_vertical_margin">16dp</dimen>
- <dimen name="fab_compat_margin">16dp</dimen>
- <dimen name="normal_margin">8dp</dimen>
- <dimen name="bottom_sheet_item_height">56dp</dimen>
- <dimen name="onboarding_icon_margin_top">100dp</dimen>
- <dimen name="onboarding_button_margin_top">140dp</dimen>
- <dimen name="onboarding_desc_margin_top">48dp</dimen>
-</resources>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 07f24aa5..f1a858fd 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -19,7 +19,6 @@
<string name="dialog_delete">Delete directory</string>
<string name="dialog_do_not_delete">Cancel</string>
<string name="title_activity_git_clone">Repository information</string>
- <string name="title_activity_git_config" translatable="false">Git configuration</string>
<string name="title_activity_git_log">Commit log</string>
<!-- Password Store -->
@@ -30,7 +29,6 @@
</plurals>
<string name="delete_directory_progress_text">Deleting…</string>
<string name="move">Move</string>
- <string name="edit">Edit</string>
<string name="delete">Delete</string>
<string name="password_exists_title">Password already exists!</string>
<string name="password_exists_message">This will overwrite %1$s with %2$s.</string>
@@ -48,7 +46,6 @@
<!-- PGPHandler -->
<string name="clipboard_copied_text">Copied to clipboard</string>
<string name="file_toast_text">Please provide a file name</string>
- <string name="path_toast_text">Please provide a file path</string>
<string name="empty_toast_text">You cannot use an empty password or empty extra content</string>
<!-- Git Async Task -->
@@ -80,7 +77,6 @@
<string name="crypto_username_hint">Username</string>
<string name="crypto_pass_label">Password</string>
<string name="crypto_extra_label">Extra content</string>
- <string name="crypto_encrypt_username_label">Encrypt username</string>
<string name="crypto_select">Select</string>
<string name="crypto_save">Save</string>
<string name="crypto_save_and_copy">Save and Copy</string>
@@ -119,8 +115,6 @@
<string name="pref_directory_structure">Password file organization</string>
<string name="pref_sort_order_title">Password sort order</string>
<string name="pref_folder_first_sort_order">Folders first</string>
- <string name="pref_file_first_sort_order">Files first</string>
- <string name="pref_type_independent_sort_order">Type independent</string>
<string name="pref_recently_used_sort_order">Recently used</string>
<string name="pref_category_autofill_title">Autofill</string>
<string name="pref_autofill_enable_title">Enable Autofill</string>
@@ -149,7 +143,6 @@
<!-- PasswordGenerator fragment -->
<string name="pwgen_title">Generate Password</string>
<string name="pwgen_generate">Generate</string>
- <string name="pwgen_include">Include</string>
<string name="pwgen_length">Length</string>
<string name="pwgen_numerals">Numerals</string>
<string name="pwgen_symbols">Symbols</string>
@@ -195,7 +188,6 @@
<string name="dialog_yes">Yes</string>
<string name="dialog_no">No</string>
<string name="dialog_cancel">Cancel</string>
- <string name="dialog_skip">Skip</string>
<string name="git_sync">Synchronize repository</string>
<string name="git_pull">Pull from remote</string>
<string name="git_push">Push to remote</string>
@@ -203,10 +195,7 @@
<string name="git_log">Show commit log</string>
<string name="show_password_pref_title">Show the password</string>
<string name="show_password_pref_summary">Control the visibility of the passwords once decrypted. This does not disable copying to clipboard.</string>
- <string name="pwd_generate_button">Generate</string>
- <string name="refresh_list">Refresh list</string>
<string name="send_plaintext_password_to">Send password as plaintext using…</string>
- <string name="app_icon_hint">App icon</string>
<!-- Oreo Autofill -->
<string name="oreo_autofill_select_and_fill_into">Select entry to fill into</string>
@@ -223,7 +212,7 @@
<string name="oreo_autofill_warning_publisher_header">This app\'s publisher has changed since you first associated a HardenedPass entry with it:</string>
<string name="oreo_autofill_warning_publisher_footer"><b>The currently installed app may be trying to steal your credentials by pretending to be a trusted app.</b>\n\nTry to uninstall and reinstall the app from a trusted source, such as the Play Store, Amazon Appstore, F-Droid, or your phone manufacturer\'s store.</string>
<string name="oreo_autofill_warning_publisher_install_time">Installed: %1$s</string>
- <string name="oreo_autofill_warning_publisher_app_name" translatable="false">“%1$s“</string>
+ <string name="oreo_autofill_warning_publisher_app_name" translatable="false">“%1$s”</string>
<string name="oreo_autofill_warning_publisher_advanced_info_template" translatable="false">Package:\n%1$s\n\nHash:\n%2$s</string>
<string name="oreo_autofill_warning_publisher_advanced_info_button">Advanced information</string>
<string name="oreo_autofill_warning_publisher_changed_disable_autofill_button">Keep Autofill disabled</string>
@@ -242,7 +231,6 @@
<!-- Autofill -->
<string name="ssh_key_does_not_exist">Unable to open the ssh private key, please check that the file exists</string>
- <string name="new_password_title">New password</string>
<string name="clear_saved_passphrase_ssh">Clear saved passphrase for local SSH key</string>
<string name="clear_saved_passphrase_https">Clear saved HTTPS password</string>
<string name="git_operation_remember_passphrase">Remember key passphrase</string>
@@ -258,8 +246,6 @@
<string name="pref_biometric_auth_title">Enable biometric authentication</string>
<string name="pref_biometric_auth_summary">When enabled, HardenedPass will prompt you for your fingerprint when launching the app</string>
<string name="pref_biometric_auth_summary_error">Fingerprint hardware not accessible or missing</string>
- <string name="pref_biometric_auth_summary_disabled_platform">Feature unavailable due to a platform bug</string>
- <string name="pref_title_openkeystore_clear_keyid">Clear remembered OpenKeystore SSH Key ID</string>
<string name="your_public_key">Your public key</string>
<string name="error_generate_ssh_key">Error while trying to generate the ssh-key</string>
<string name="pref_show_hidden_title">Show all files and folders</string>
@@ -267,7 +253,6 @@
<string name="title_create_folder">Create folder</string>
<string name="title_rename_folder">Rename folder</string>
<string name="message_category_error_empty_field">Category name can\'t be empty</string>
- <string name="message_category_error_category_exists">Category name already exists</string>
<string name="message_error_destination_outside_repo">Destination must be within the repository</string>
<string name="message_rename_folder">Enter destination for %1$s</string>
<string name="button_create">Create</string>
@@ -315,12 +300,10 @@
<string name="invalid_gpg_id">Found .gpg-id, but it contains an invalid key ID, fingerprint or user ID</string>
<string name="short_gpg_id">Found .gpg-id, but it contains a short hex ID, which is not supported</string>
<string name="invalid_filename_text">File name must not contain \'/\', set directory above</string>
- <string name="directory_hint">Directory</string>
- <string name="new_folder_set_gpg_key">Set GPG key for directory</string>
<!-- GitException messages -->
<string name="git_unknown_error">Unknown error</string>
- <string name="git_pull_rebase_fail_error">Pull has failed, you\'re in a detached head. Using "settings > git utils", save your changes to the remote in a new branch and resolve the conflict on your computer.</string>
+ <string name="git_pull_rebase_fail_error">Pull has failed, you\'re in a detached head. Using \"Settings > Repository > Local Git config &amp; utilities\", save your changes to the remote in a new branch and resolve the conflict on your computer.</string>
<string name="git_pull_merge_fail_error">Merge has failed, you\'re in a conflicting state.</string>
<string name="git_push_nff_error">Push was rejected by remote, run pull before pushing again. You can use Synchronize rather than pull/push as it implements both</string>
@@ -332,17 +315,13 @@
<string name="git_break_out_of_detached_unneeded">The repository is not rebasing, no need to push to another branch</string>
<!-- GPG key selection in folder creation -->
- <string name="gpg_key_select_mandatory">Selecting a GPG key is necessary to proceed</string>
<string name="folder_creation_err_file_exists">A file by that name already exists</string>
<string name="folder_creation_err_folder_exists">A folder by that name already exists</string>
<!-- Onboarding flow -->
- <string name="let_s_go">Let\'s Go</string>
- <string name="select_n_repository_type">Select \nRepository Type</string>
<string name="select_repo_type_text">Select if you want to create a local repo or clone a remote repo.</string>
<string name="clone_remote_repo">Clone Remote Repo</string>
<string name="create_local_repo">Create Local Repo</string>
- <string name="select_gpg_key_title">Select\nGPG Key</string>
<string name="select_gpg_key_message">Select a GPG key to initialize your store with</string>
<string name="gpg_key_select">Select key</string>
@@ -365,11 +344,9 @@
<string name="clear_saved_host_key_success">Successfully cleared saved host key!</string>
<string name="otp_import_qr_code">Scan QR code</string>
<string name="otp_import_from_file">Choose an image</string>
- <string name="otp_import_manual_entry">Enter manually</string>
<string name="otp_import_manual_hint_secret">Secret</string>
<string name="otp_import_manual_hint_account">Account</string>
<string name="place_shortcut_on_home_screen">Place shortcut on home screen</string>
- <string name="password_list_fab_content_description">Create new password or folder</string>
<string name="pgp_key_import_failed">Failed to import PGP key</string>
<string name="pgp_key_import_failed_replace_message">An existing key with this ID was found, do you want to replace it?</string>
<string name="pgp_key_import_succeeded">Successfully imported PGP key</string>
@@ -385,4 +362,57 @@
<string name="no_keys_imported_dialog_message">There are no PGP keys imported in the app yet, press the button below to pick a key file</string>
<string name="biometric_prompt_title_gpg_passphrase_cache">Unlock passphrase cache</string>
<string name="clear_cached_password_on_screen_off">Clear cached password on screen-off</string>
+
+ <!-- Compose password list -->
+ <string name="list_new_entry">New entry</string>
+ <string name="list_store_root">Password store</string>
+ <string name="list_more_options">More options</string>
+ <string name="list_clear_search">Clear search</string>
+
+ <!-- Compose entry view -->
+ <string name="entry_back">Back</string>
+ <string name="entry_show_password">Show password</string>
+ <string name="entry_hide_password">Hide password</string>
+ <string name="entry_copy_name">Copy name</string>
+
+ <!-- Compose folder picker -->
+ <string name="folder_picker_title">Choose a folder</string>
+ <string name="folder_creation_err_failed">Could not create the folder</string>
+ <string name="folder_picker_new">New folder</string>
+
+ <!-- Compose editor -->
+ <string name="editor_new_title">New entry</string>
+ <string name="editor_edit_title">Edit entry</string>
+ <string name="editor_close">Close</string>
+ <string name="editor_folder">Folder</string>
+ <string name="editor_change_folder">Change</string>
+ <string name="editor_otp_qr">OTP from QR</string>
+ <string name="editor_otp_manual">Manual OTP</string>
+ <string name="generator_random">Random</string>
+ <string name="generator_diceware" translatable="false">Diceware</string>
+ <string name="generator_use">Use</string>
+
+ <!-- Compose setup -->
+ <string name="ssh_key_state_none">No SSH key yet</string>
+ <string name="ssh_key_state_imported">Imported private key</string>
+ <string name="ssh_key_state_generated">Generated on this device</string>
+ <string name="git_clone_progress">Cloning…</string>
+ <string name="connection_mode_none">None</string>
+ <string name="ssh_key_manage">Manage</string>
+ <string name="ssh_key_public_hint">Provide this public key to your Git server.</string>
+ <string name="pgp_key_needed_message">Import the private key this store is encrypted for, so its entries can be read and saved.</string>
+ <string name="pgp_key_needed_recipients">Store recipients</string>
+ <string name="store_create_failed">Could not create the store: %1$s</string>
+ <string name="store_not_empty">the folder already holds a store</string>
+ <string name="git_clone_delete_failed">Could not empty the store folder, so the clone did not start.</string>
+ <string name="pgp_key_import_too_large">The file is larger than 1 MiB: not a PGP key.</string>
+ <string name="pgp_key_import_downgrade">A private key with this ID is already imported. Its public key alone cannot replace it: delete the private key first if you really want to.</string>
+
+ <!-- Compose settings -->
+ <string name="store_delete_failed">Could not delete everything in the store folder.</string>
+ <string name="clear_saved_secret_message">It will be asked again at the next Git operation.</string>
+ <string name="invalid_proxy_port">Enter a port from 1 to 65535, or nothing</string>
+ <string name="git_reset_confirm_message">Local commits and changes that are not on this remote branch are discarded.</string>
+ <string name="git_tool_done">%1$s: done</string>
+ <string name="store_delete_confirm">Delete the local store? Entries not pushed to the remote are lost.</string>
</resources>
diff --git a/app/src/main/res/values/styles_material3.xml b/app/src/main/res/values/styles_material3.xml
deleted file mode 100644
index 329905e1..00000000
--- a/app/src/main/res/values/styles_material3.xml
+++ /dev/null
@@ -1,12 +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
- -->
-
-<resources>
-
- <style name="APSThemeM3.Toolbar" parent="Widget.Material3.Toolbar">
- <item name="android:background">?android:colorBackground</item>
- </style>
-
-</resources>
diff --git a/app/src/main/res/values/themes_material3.xml b/app/src/main/res/values/themes_material3.xml
index 7e34b472..0ec74a45 100644
--- a/app/src/main/res/values/themes_material3.xml
+++ b/app/src/main/res/values/themes_material3.xml
@@ -10,8 +10,12 @@
<item name="android:windowLightStatusBar">@bool/light_status_bar</item>
<item name="android:statusBarColor">?android:colorBackground</item>
<item name="android:navigationBarColor">?android:colorBackground</item>
- <item name="toolbarStyle">@style/APSThemeM3.Toolbar</item>
- <item name="bottomSheetDialogTheme">@style/APSThemeM3.BottomSheetDialog</item>
+ </style>
+
+ <!-- AppCompat activities whose whole UI is Compose -->
+ <style name="NoActionBarThemeM3" parent="AppThemeM3">
+ <item name="windowActionBar">false</item>
+ <item name="windowNoTitle">true</item>
</style>
<style name="NoBackgroundThemeM3" parent="@style/AppThemeM3">
@@ -37,12 +41,6 @@
<item name="windowNoTitle">true</item>
</style>
- <style name="APSThemeM3.BottomSheetDialog" parent="ThemeOverlay.Material3.BottomSheetDialog">
- <item name="android:windowIsFloating">false</item>
- <item name="android:statusBarColor">@android:color/transparent</item>
- <item name="android:navigationBarColor">@android:color/transparent</item>
- </style>
-
<style name="APSThemeM3" parent="Theme.Material3.DayNight">
<item name="colorPrimary">@color/md_theme_light_primary</item>
<item name="colorOnPrimary">@color/md_theme_light_onPrimary</item>