aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/res/layout
diff options
context:
space:
mode:
authorHarsh Shandilya <msfjarvis@gmail.com>2020-04-17 18:36:07 +0530
committerGitHub <noreply@github.com>2020-04-17 18:36:07 +0530
commitb94b52a42ddc2325b539d0956fd0adcf35308b52 (patch)
tree21f35526cfc444db82e1b4b08d083e49a3c1843b /app/src/main/res/layout
parent4ffd7ed9bffa5139277ffb91de5a69f2b714222c (diff)
downloadHardenedPass-b94b52a42ddc2325b539d0956fd0adcf35308b52.tar.gz
HardenedPass-b94b52a42ddc2325b539d0956fd0adcf35308b52.zip
Refactor Git related activities (#685)
* Refactor git logic into separate parts * Extract hardcoded strings * Add KDoc to updateHostname, remove unused field * Cleanups * Fix dialog message * Wire in repository clone flow * spotless * Remove unused method * Cleanup GitActivity - Rename to GitOperationActivity. - Ensure identityBuilder is always closed regardless of what fragment uses it. - Remove hardcoded "Operation" strings and replace with REQUEST_ARG_OP. - Apply a transparent theme to GitOperationActivity make the UI less jarring. * Tweak some stupidly worded dialog messages As pointed out in #629, these strings are shoddily worded and do not express any clear intent to the user, leaving them confused and angry. * GitOperationActivity: wrap Context to ensure right theme is used * spotless * undo build.gradle change * Use correct parent theme, remove now useless wrapping * GitServerConfigActivity: fix repository clone flow * temp: disable leakcanary framework leaks on Samsung are pissing me off * Make system bars transparent in git activity * Tweak HTTPS password layout * Unhardcode wrong passphrase string * Store SSH passphrase in EncryptedSharedPreferences Also revamp the dialog to look a bit better * Implement support for remembering HTTPS password Fixes #521 * Try to patch HTTPS remote creation logic * Update security-crypto * Clear saved passphrase/password on auth failure * Revert "Update security-crypto" Broken on R DP2.1 This reverts commit 4b20371dd42c512a3dd3b759859abb6c1ffd2961. * Revert "temp: disable leakcanary" This reverts commit 2db7d41bd67b79c6dc8c5b359a7b27100379f45f. * Update CHANGELOG * Remove spacer * Remove useless override * Wrap git server activity in a ScrollView * GitOperation: always finish calling activity when dialogs are dismissed * Wipe saved password/passphrase when hostname changes * Don't commit prefs updates * Don't call listFiles excessively * Finish activity after saving configuration * Make ConnectionMode and Protocol enum classes * Change SSH key passphrase key, don't wipe on host change * Reimplement BaseGitActivity.updateUrl (was updateHostname) * Use SharedPreferences.edit KTX extension * Disable inapplicable connection modes depending on scheme * BaseGitActivity: annotate onDestroy with CallSuper We'll leak the identityBuilder connection otherwise * Move input hack for AlertDialog into an extension function We re-use this in many places * Fix protocol/mode toggle issue and consistenly name options * Fix a crash when opening GitServerConfigActivity without a repo * Fix OpenKeychain callbacks by moving onActivityResult to BaseGitActivity * Run spotlessApply Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Fabian Henneke <fabian@henneke.me>
Diffstat (limited to 'app/src/main/res/layout')
-rw-r--r--app/src/main/res/layout/activity_git_clone.xml362
-rw-r--r--app/src/main/res/layout/activity_git_config.xml5
-rw-r--r--app/src/main/res/layout/autofill_instructions.xml1
-rw-r--r--app/src/main/res/layout/git_passphrase_layout.xml36
-rw-r--r--app/src/main/res/layout/password_recycler_view.xml1
5 files changed, 219 insertions, 186 deletions
diff --git a/app/src/main/res/layout/activity_git_clone.xml b/app/src/main/res/layout/activity_git_clone.xml
index 05d9a557..de9a240e 100644
--- a/app/src/main/res/layout/activity_git_clone.xml
+++ b/app/src/main/res/layout/activity_git_clone.xml
@@ -1,178 +1,216 @@
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<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"
- xmlns:app="http://schemas.android.com/apk/res-auto"
android:padding="@dimen/activity_horizontal_margin"
- tools:context="com.zeapo.pwdstore.git.GitActivity"
+ tools:context="com.zeapo.pwdstore.git.GitOperationActivity"
android:background="?android:attr/windowBackground">
- <androidx.appcompat.widget.AppCompatTextView
- style="@style/TextAppearance.MaterialComponents.Headline5"
- android:id="@+id/server_label"
- android:textStyle="bold"
- android:textSize="24sp"
- android:text="@string/server_name"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_margin="8dp"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/label_server_protocol"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/server_protocol"
- android:layout_margin="8dp"
- app:layout_constraintTop_toBottomOf="@id/server_label"
- app:layout_constraintStart_toStartOf="parent" />
-
- <Spinner
- android:id="@+id/clone_protocol"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="8dp"
- app:layout_constraintTop_toBottomOf="@id/server_label"
- app:layout_constraintStart_toEndOf="@id/label_server_protocol" />
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/server_user_layout"
- android:hint="@string/server_user"
+ <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_margin="8dp"
- app:layout_constraintTop_toBottomOf="@id/label_server_protocol">
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/server_user"
+ android:layout_height="wrap_content">
+
+ <androidx.appcompat.widget.AppCompatTextView
+ style="@style/TextAppearance.MaterialComponents.Headline5"
+ android:id="@+id/server_label"
+ android:textStyle="bold"
+ android:textSize="24sp"
+ android:text="@string/server_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="textWebEmailAddress" />
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/label_server_url"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="8dp"
- android:hint="@string/server_url"
- app:layout_constraintTop_toBottomOf="@id/server_user_layout"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintEnd_toStartOf="@id/label_server_port">
-
- <com.google.android.material.textfield.TextInputEditText
- android:layout_width="match_parent"
+ android:layout_margin="8dp"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <androidx.appcompat.widget.AppCompatTextView
+ style="@style/TextAppearance.MaterialComponents.Headline6"
+ android:id="@+id/label_server_protocol"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/server_protocol"
+ android:layout_margin="8dp"
+ app:layout_constraintTop_toBottomOf="@id/server_label"
+ app:layout_constraintStart_toStartOf="parent" />
+
+ <Spinner
+ android:id="@+id/clone_protocol"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="8dp"
+ android:visibility="gone"
+ app:layout_constraintTop_toBottomOf="@id/server_label"
+ app:layout_constraintStart_toEndOf="@id/label_server_protocol" />
+
+ <com.google.android.material.button.MaterialButtonToggleGroup
+ style="@style/TextAppearance.MaterialComponents.Headline1"
+ android:id="@+id/clone_protocol_group"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:id="@+id/server_url"
- android:inputType="textWebEmailAddress" />
-
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/label_server_port"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_margin="8dp"
- android:hint="@string/server_port_hint"
- app:layout_constraintStart_toEndOf="@id/label_server_url"
- app:layout_constraintTop_toBottomOf="@id/server_user_layout"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintDimensionRatio="1:0.8">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/server_port"
+ android:layout_margin="8dp"
+ app:layout_constraintTop_toBottomOf="@id/label_server_protocol"
+ app:layout_constraintStart_toStartOf="parent"
+ app:selectionRequired="true"
+ app:singleSelection="true">
+
+ <com.google.android.material.button.MaterialButton
+ style="?attr/materialButtonOutlinedStyle"
+ android:id="@+id/clone_protocol_ssh"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/clone_protocol_ssh"
+ android:textColor="?android:attr/textColorPrimary"
+ app:rippleColor="@color/ripple_color"
+ app:strokeColor="?attr/colorSecondary"
+ app:backgroundTint="@color/toggle_button_selector" />
+
+ <com.google.android.material.button.MaterialButton
+ style="?attr/materialButtonOutlinedStyle"
+ android:id="@+id/clone_protocol_https"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/clone_protocol_https"
+ android:textColor="?android:attr/textColorPrimary"
+ app:rippleColor="@color/ripple_color"
+ app:strokeColor="?attr/colorSecondary"
+ app:backgroundTint="@color/toggle_button_selector" />
+ </com.google.android.material.button.MaterialButtonToggleGroup>
+
+ <com.google.android.material.textfield.TextInputLayout
+ android:id="@+id/server_user_layout"
+ android:hint="@string/server_user"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="number" />
-
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/label_server_path"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_margin="8dp"
- android:hint="@string/server_path"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/label_server_url">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/server_path"
+ android:layout_margin="8dp"
+ app:layout_constraintTop_toBottomOf="@id/clone_protocol_group">
+ <com.google.android.material.textfield.TextInputEditText
+ android:id="@+id/server_user"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="textWebEmailAddress" />
+ </com.google.android.material.textfield.TextInputLayout>
+
+ <com.google.android.material.textfield.TextInputLayout
+ android:id="@+id/label_server_url"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="8dp"
+ android:hint="@string/server_url"
+ app:layout_constraintTop_toBottomOf="@id/server_user_layout"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/label_server_port">
+
+ <com.google.android.material.textfield.TextInputEditText
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:id="@+id/server_url"
+ android:inputType="textWebEmailAddress" />
+
+ </com.google.android.material.textfield.TextInputLayout>
+
+ <com.google.android.material.textfield.TextInputLayout
+ android:id="@+id/label_server_port"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="8dp"
+ android:hint="@string/server_port_hint"
+ app:layout_constraintStart_toEndOf="@id/label_server_url"
+ app:layout_constraintTop_toBottomOf="@id/server_user_layout"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintDimensionRatio="1:0.8">
+
+ <com.google.android.material.textfield.TextInputEditText
+ android:id="@+id/server_port"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="number" />
+
+ </com.google.android.material.textfield.TextInputLayout>
+
+ <com.google.android.material.textfield.TextInputLayout
+ android:id="@+id/label_server_path"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="textWebEmailAddress"/>
-
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/label_clone_uri"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="@string/repository_uri"
- android:editable="false"
- android:layout_margin="8dp"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/label_server_path">
-
- <com.google.android.material.textfield.TextInputEditText
- android:id="@+id/clone_uri"
+ android:layout_margin="8dp"
+ android:hint="@string/server_path"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/label_server_url">
+
+ <com.google.android.material.textfield.TextInputEditText
+ android:id="@+id/server_path"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="textWebEmailAddress"/>
+
+ </com.google.android.material.textfield.TextInputLayout>
+
+ <androidx.appcompat.widget.AppCompatTextView
+ style="@style/TextAppearance.MaterialComponents.Headline6"
+ android:id="@+id/label_connection_mode"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/connection_mode"
+ android:layout_margin="8dp"
+ android:layout_marginTop="16dp"
+ android:layout_marginBottom="16dp"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/label_server_path" />
+
+ <com.google.android.material.button.MaterialButtonToggleGroup
+ android:id="@+id/connection_mode_group"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="8dp"
+ app:layout_constraintTop_toBottomOf="@id/label_connection_mode"
+ app:layout_constraintStart_toStartOf="parent"
+ app:selectionRequired="true"
+ app:singleSelection="true" >
+
+ <com.google.android.material.button.MaterialButton
+ style="?attr/materialButtonOutlinedStyle"
+ android:id="@+id/connection_mode_ssh_key"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/connection_mode_ssh_key"
+ android:textColor="?android:attr/textColorPrimary"
+ app:rippleColor="@color/ripple_color"
+ app:strokeColor="?attr/colorSecondary"
+ app:backgroundTint="@color/toggle_button_selector" />
+
+ <com.google.android.material.button.MaterialButton
+ style="?attr/materialButtonOutlinedStyle"
+ android:id="@+id/connection_mode_password"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/connection_mode_basic_authentication"
+ android:textColor="?android:attr/textColorPrimary"
+ app:rippleColor="@color/ripple_color"
+ app:strokeColor="?attr/colorSecondary"
+ app:backgroundTint="@color/toggle_button_selector" />
+
+ <com.google.android.material.button.MaterialButton
+ style="?attr/materialButtonOutlinedStyle"
+ android:id="@+id/connection_mode_open_keychain"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/connection_mode_openkeychain"
+ android:textColor="?android:attr/textColorPrimary"
+ app:rippleColor="@color/ripple_color"
+ app:strokeColor="?attr/colorSecondary"
+ app:backgroundTint="@color/toggle_button_selector" />
+
+ </com.google.android.material.button.MaterialButtonToggleGroup>
+
+ <com.google.android.material.button.MaterialButton
+ style="@style/Widget.MaterialComponents.Button"
+ android:id="@+id/save_button"
+ android:text="@string/crypto_save"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="textWebEmailAddress"/>
-
- </com.google.android.material.textfield.TextInputLayout>
-
- <androidx.appcompat.widget.AppCompatTextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="@drawable/red_rectangle"
- android:textColor="@android:color/white"
- android:visibility="gone"
- android:id="@+id/warn_url"
- android:layout_margin="8dp"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/label_clone_uri"/>
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/label_connection_mode"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/connection_mode"
- android:layout_margin="16dp"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/warn_url" />
-
- <Spinner
- android:id="@+id/connection_mode"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- app:layout_constraintTop_toBottomOf="@id/warn_url"
- app:layout_constraintStart_toEndOf="@id/label_connection_mode" />
-
- <com.google.android.material.button.MaterialButton
- style="@style/Widget.MaterialComponents.Button"
- android:id="@+id/clone_button"
- android:text="@string/clone_button"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:onClick="cloneRepository"
- android:textColor="?android:attr/windowBackground"
- android:layout_marginTop="8dp"
- app:backgroundTint="?attr/colorSecondary"
- app:layout_constraintTop_toBottomOf="@id/label_connection_mode"
- app:layout_constraintStart_toStartOf="parent" />
-
- <com.google.android.material.button.MaterialButton
- style="@style/Widget.MaterialComponents.Button"
- android:id="@+id/save_button"
- android:text="@string/crypto_save"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:onClick="saveConfiguration"
- android:textColor="?android:attr/windowBackground"
- android:layout_marginTop="8dp"
- app:backgroundTint="?attr/colorSecondary"
- app:layout_constraintTop_toBottomOf="@id/label_connection_mode"
- app:layout_constraintStart_toStartOf="parent" />
-</androidx.constraintlayout.widget.ConstraintLayout>
+ android:textColor="?android:attr/windowBackground"
+ android:layout_marginTop="8dp"
+ app:backgroundTint="?attr/colorSecondary"
+ app:layout_constraintTop_toBottomOf="@id/connection_mode_group"
+ app:layout_constraintStart_toStartOf="parent" />
+ </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
index a576ec46..94c09e27 100644
--- a/app/src/main/res/layout/activity_git_config.xml
+++ b/app/src/main/res/layout/activity_git_config.xml
@@ -5,7 +5,7 @@
android:layout_height="match_parent"
android:padding="@dimen/activity_horizontal_margin"
android:background="?android:attr/windowBackground"
- tools:context="com.zeapo.pwdstore.git.GitActivity"
+ tools:context="com.zeapo.pwdstore.git.GitConfigActivity"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="81dp">
@@ -51,7 +51,6 @@
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:text="@string/crypto_save"
- android:onClick="applyGitConfigs"
android:textColor="?android:attr/windowBackground"
app:backgroundTint="?attr/colorSecondary"
app:layout_constraintTop_toBottomOf="@id/email_input_layout"
@@ -95,7 +94,6 @@
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:text="@string/abort_rebase"
- android:onClick="abortRebase"
android:textColor="?android:attr/windowBackground"
app:backgroundTint="?attr/colorSecondary"
app:layout_constraintTop_toBottomOf="@id/commit_hash_label" />
@@ -107,7 +105,6 @@
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:text="@string/reset_to_remote"
- android:onClick="resetToRemote"
android:textColor="?android:attr/windowBackground"
app:backgroundTint="?attr/colorSecondary"
app:layout_constraintTop_toBottomOf="@id/git_abort_rebase" />
diff --git a/app/src/main/res/layout/autofill_instructions.xml b/app/src/main/res/layout/autofill_instructions.xml
index 8ce0a793..e7cf3dd1 100644
--- a/app/src/main/res/layout/autofill_instructions.xml
+++ b/app/src/main/res/layout/autofill_instructions.xml
@@ -19,7 +19,6 @@
android:textSize="16sp" />
<androidx.appcompat.widget.AppCompatImageView
- android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
diff --git a/app/src/main/res/layout/git_passphrase_layout.xml b/app/src/main/res/layout/git_passphrase_layout.xml
index 814f4e40..c0922471 100644
--- a/app/src/main/res/layout/git_passphrase_layout.xml
+++ b/app/src/main/res/layout/git_passphrase_layout.xml
@@ -2,31 +2,31 @@
<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:layout_height="match_parent"
+ android:padding="16dp">
- <EditText
- android:id="@+id/sshkey_passphrase"
- android:layout_width="0dp"
+ <com.google.android.material.textfield.TextInputLayout
+ android:id="@+id/git_auth_passphrase_layout"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginEnd="16dp"
- android:layout_marginStart="16dp"
- android:layout_marginTop="8dp"
- android:ems="10"
- android:inputType="textPassword"
- android:importantForAccessibility="no"
+ app:hintEnabled="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
+ app:layout_constraintTop_toTopOf="parent">
+ <com.google.android.material.textfield.TextInputEditText
+ android:id="@+id/git_auth_passphrase"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:hint="@string/ssh_keygen_passphrase"
+ android:inputType="textPassword" />
+ </com.google.android.material.textfield.TextInputLayout>
- <CheckBox
- android:id="@+id/sshkey_remember_passphrase"
- android:layout_width="0dp"
+ <com.google.android.material.checkbox.MaterialCheckBox
+ android:id="@+id/git_auth_remember_passphrase"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginEnd="16dp"
- android:layout_marginStart="16dp"
- android:layout_marginTop="8dp"
android:text="@string/remember_the_passphrase"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/sshkey_passphrase" />
+ app:layout_constraintTop_toBottomOf="@+id/git_auth_passphrase_layout" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/password_recycler_view.xml b/app/src/main/res/layout/password_recycler_view.xml
index dd6b00c1..5368d593 100644
--- a/app/src/main/res/layout/password_recycler_view.xml
+++ b/app/src/main/res/layout/password_recycler_view.xml
@@ -25,7 +25,6 @@
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
<LinearLayout
- android:id="@+id/create_options"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|center_horizontal"