summaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
authorHarsh Shandilya <msfjarvis@gmail.com>2020-05-10 14:25:59 +0530
committerGitHub <noreply@github.com>2020-05-10 14:25:59 +0530
commit94dc92f8d70870b57a7f8c4fe8adef152c1211ce (patch)
tree4139557d2cc1311daf807124cde16a17058143fb /app/src
parent9a77f6bbea95034f6dd6cdb2e0351a90dc3906f4 (diff)
Miscellaneous UI tweaking (#771)
* Remove dangling UI element and relayout authentication modes * Drop unnecessary actionBarPopupTheme declaration * Improve ssh keygen UI * Commonize button styling * Tweak save button in server config * Tweak generate button in ssh keygen * Commonize OutlinedButton style Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Diffstat (limited to 'app/src')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/sshkeygen/SshKeyGenFragment.kt17
-rw-r--r--app/src/main/res/layout/activity_git_clone.xml38
-rw-r--r--app/src/main/res/layout/activity_git_config.xml9
-rw-r--r--app/src/main/res/layout/decrypt_layout.xml5
-rw-r--r--app/src/main/res/layout/encrypt_layout.xml3
-rw-r--r--app/src/main/res/layout/fragment_autofill.xml3
-rw-r--r--app/src/main/res/layout/fragment_ssh_keygen.xml35
-rw-r--r--app/src/main/res/layout/fragment_to_clone_or_not.xml12
-rw-r--r--app/src/main/res/values/styles.xml16
9 files changed, 38 insertions, 100 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/sshkeygen/SshKeyGenFragment.kt b/app/src/main/java/com/zeapo/pwdstore/sshkeygen/SshKeyGenFragment.kt
index da7099ad..e16af70a 100644
--- a/app/src/main/java/com/zeapo/pwdstore/sshkeygen/SshKeyGenFragment.kt
+++ b/app/src/main/java/com/zeapo/pwdstore/sshkeygen/SshKeyGenFragment.kt
@@ -5,7 +5,6 @@
package com.zeapo.pwdstore.sshkeygen
import android.os.Bundle
-import android.text.InputType
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
@@ -47,19 +46,6 @@ class SshKeyGenFragment : Fragment() {
generate.setOnClickListener {
lifecycleScope.launch { generate(passphrase.text.toString(), comment.text.toString()) }
}
- showPassphrase.setOnCheckedChangeListener { _, isChecked: Boolean ->
- val selection = passphrase.selectionEnd
- if (isChecked) {
- passphrase.inputType = (
- InputType.TYPE_CLASS_TEXT
- or InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD)
- } else {
- passphrase.inputType = (
- InputType.TYPE_CLASS_TEXT
- or InputType.TYPE_TEXT_VARIATION_PASSWORD)
- }
- passphrase.setSelection(selection)
- }
keyLengthGroup.check(R.id.key_length_4096)
keyLengthGroup.addOnButtonCheckedListener { _, checkedId, isChecked ->
if (isChecked) {
@@ -82,10 +68,9 @@ class SshKeyGenFragment : Fragment() {
// ShowSshKeyFragment which displays the public key.
private suspend fun generate(passphrase: String, comment: String) {
binding.generate.text = getString(R.string.ssh_key_gen_generating_progress)
- val jsch = JSch()
val e = try {
withContext(Dispatchers.IO) {
- val kp = KeyPair.genKeyPair(jsch, KeyPair.RSA, keyLength)
+ val kp = KeyPair.genKeyPair(JSch(), KeyPair.RSA, keyLength)
var file = File(requireActivity().filesDir, ".ssh_key")
var out = FileOutputStream(file, false)
if (passphrase.isNotEmpty()) {
diff --git a/app/src/main/res/layout/activity_git_clone.xml b/app/src/main/res/layout/activity_git_clone.xml
index e5d41059..d4113cd6 100644
--- a/app/src/main/res/layout/activity_git_clone.xml
+++ b/app/src/main/res/layout/activity_git_clone.xml
@@ -33,15 +33,6 @@
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"
@@ -54,26 +45,18 @@
app:singleSelection="true">
<com.google.android.material.button.MaterialButton
- style="?attr/materialButtonOutlinedStyle"
android:id="@+id/clone_protocol_ssh"
+ style="?attr/materialButtonOutlinedStyle"
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" />
+ android:text="@string/clone_protocol_ssh" />
<com.google.android.material.button.MaterialButton
- style="?attr/materialButtonOutlinedStyle"
android:id="@+id/clone_protocol_https"
+ style="?attr/materialButtonOutlinedStyle"
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" />
+ android:text="@string/clone_protocol_https" />
</com.google.android.material.button.MaterialButtonToggleGroup>
<com.google.android.material.textfield.TextInputLayout
@@ -160,7 +143,7 @@
android:id="@+id/connection_mode_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:orientation="vertical"
+ android:orientation="horizontal"
app:layout_constraintTop_toBottomOf="@id/label_connection_mode"
app:layout_constraintStart_toStartOf="parent">
@@ -168,38 +151,39 @@
android:id="@+id/connection_mode_ssh_key"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:padding="4dp"
android:text="@string/connection_mode_ssh_key" />
<RadioButton
android:id="@+id/connection_mode_password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:padding="4dp"
android:text="@string/connection_mode_basic_authentication" />
<RadioButton
android:id="@+id/connection_mode_open_keychain"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:padding="4dp"
android:text="@string/connection_mode_openkeychain" />
<RadioButton
android:id="@+id/connection_mode_none"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:padding="4dp"
android:text="@string/connection_mode_none" />
</RadioGroup>
<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_width="wrap_content"
android:layout_height="wrap_content"
- 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" />
+ app:layout_constraintEnd_toEndOf="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 0ea45c55..e9d769b8 100644
--- a/app/src/main/res/layout/activity_git_config.xml
+++ b/app/src/main/res/layout/activity_git_config.xml
@@ -45,14 +45,11 @@
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.button.MaterialButton
- style="@style/Widget.MaterialComponents.Button"
android:id="@+id/save_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:text="@string/crypto_save"
- android:textColor="?android:attr/windowBackground"
- app:backgroundTint="?attr/colorSecondary"
app:layout_constraintTop_toBottomOf="@id/email_input_layout"
app:layout_constraintEnd_toEndOf="parent"/>
@@ -88,25 +85,19 @@
tools:text="HASH"/>
<com.google.android.material.button.MaterialButton
- style="@style/Widget.MaterialComponents.Button"
android:id="@+id/git_abort_rebase"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:text="@string/abort_rebase"
- android:textColor="?android:attr/windowBackground"
- app:backgroundTint="?attr/colorSecondary"
app:layout_constraintTop_toBottomOf="@id/commit_hash_label" />
<com.google.android.material.button.MaterialButton
- style="@style/Widget.MaterialComponents.Button"
android:id="@+id/git_reset_to_remote"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:text="@string/reset_to_remote"
- android:textColor="?android:attr/windowBackground"
- app:backgroundTint="?attr/colorSecondary"
app:layout_constraintTop_toBottomOf="@id/git_abort_rebase" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/decrypt_layout.xml b/app/src/main/res/layout/decrypt_layout.xml
index 8f8198a4..71566178 100644
--- a/app/src/main/res/layout/decrypt_layout.xml
+++ b/app/src/main/res/layout/decrypt_layout.xml
@@ -95,15 +95,12 @@
android:typeface="monospace" />
<com.google.android.material.button.MaterialButton
- style="@style/Widget.MaterialComponents.Button"
android:id="@+id/crypto_password_toggle_show"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:textColor="?android:attr/windowBackground"
android:text="@string/show_password"
android:layout_marginTop="8dp"
- app:layout_constraintTop_toBottomOf="@id/crypto_password_show_label"
- app:backgroundTint="?attr/colorSecondary"/>
+ app:layout_constraintTop_toBottomOf="@id/crypto_password_show_label" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/encrypt_layout.xml b/app/src/main/res/layout/encrypt_layout.xml
index 54b1c7c9..3b0b8068 100644
--- a/app/src/main/res/layout/encrypt_layout.xml
+++ b/app/src/main/res/layout/encrypt_layout.xml
@@ -53,14 +53,11 @@
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.button.MaterialButton
- style="@style/Widget.MaterialComponents.Button"
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"
- android:textColor="?android:attr/windowBackground"
- app:backgroundTint="?attr/colorSecondary"
app:layout_constraintTop_toBottomOf="@id/password_input_layout"
app:layout_constraintEnd_toEndOf="parent"/>
diff --git a/app/src/main/res/layout/fragment_autofill.xml b/app/src/main/res/layout/fragment_autofill.xml
index 29d0f517..21a9d95a 100644
--- a/app/src/main/res/layout/fragment_autofill.xml
+++ b/app/src/main/res/layout/fragment_autofill.xml
@@ -59,14 +59,11 @@
android:layout_weight="1"/>
<com.google.android.material.button.MaterialButton
- style="@style/Widget.MaterialComponents.Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+"
android:id="@+id/matchButton"
android:layout_gravity="center_horizontal"
- android:textColor="?android:attr/windowBackground"
- app:backgroundTint="?attr/colorSecondary"
tools:ignore="HardcodedText" />
<RadioButton
diff --git a/app/src/main/res/layout/fragment_ssh_keygen.xml b/app/src/main/res/layout/fragment_ssh_keygen.xml
index 90cf4df0..803debc4 100644
--- a/app/src/main/res/layout/fragment_ssh_keygen.xml
+++ b/app/src/main/res/layout/fragment_ssh_keygen.xml
@@ -25,32 +25,25 @@
app:selectionRequired="true"
app:singleSelection="true">
<com.google.android.material.button.MaterialButton
- style="?attr/materialButtonOutlinedStyle"
android:id="@+id/key_length_2048"
+ style="?attr/materialButtonOutlinedStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/key_length_2048"
- android:textColor="?android:attr/textColorPrimary"
- app:rippleColor="@color/ripple_color"
- app:strokeColor="?attr/colorSecondary"
- app:backgroundTint="@color/toggle_button_selector" />
+ android:text="@string/key_length_2048" />
<com.google.android.material.button.MaterialButton
- style="?attr/materialButtonOutlinedStyle"
android:id="@+id/key_length_4096"
+ style="?attr/materialButtonOutlinedStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/key_length_4096"
- android:textColor="?android:attr/textColorPrimary"
- app:rippleColor="@color/ripple_color"
- app:strokeColor="?attr/colorSecondary"
- app:backgroundTint="@color/toggle_button_selector" />
+ android:text="@string/key_length_4096" />
</com.google.android.material.button.MaterialButtonToggleGroup>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
- android:hint="@string/ssh_keygen_passphrase">
+ android:hint="@string/ssh_keygen_passphrase"
+ app:endIconMode="password_toggle">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/passphrase"
@@ -61,14 +54,6 @@
android:inputType="textPassword" />
</com.google.android.material.textfield.TextInputLayout>
- <com.google.android.material.checkbox.MaterialCheckBox
- android:id="@+id/show_passphrase"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:checked="false"
- android:text="@string/ssh_keygen_show_passphrase" />
-
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -84,12 +69,10 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/generate"
- android:layout_width="match_parent"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_gravity="end"
android:layout_marginTop="8dp"
- android:text="@string/ssh_keygen_generate"
- android:textColor="@android:color/white"
- app:backgroundTint="?attr/colorSecondary" />
-
+ android:text="@string/ssh_keygen_generate" />
</LinearLayout>
</ScrollView>
diff --git a/app/src/main/res/layout/fragment_to_clone_or_not.xml b/app/src/main/res/layout/fragment_to_clone_or_not.xml
index 045d8d1e..5aa94e8a 100644
--- a/app/src/main/res/layout/fragment_to_clone_or_not.xml
+++ b/app/src/main/res/layout/fragment_to_clone_or_not.xml
@@ -42,37 +42,27 @@
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginEnd="@dimen/activity_horizontal_margin"
- android:textAllCaps="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.button.MaterialButton
- style="@style/Widget.MaterialComponents.Button"
android:id="@+id/use_local_directory"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="createNewRepository"
- android:textColor="@android:color/white"
android:text="@string/initialize"
android:textSize="12sp"
android:layout_marginTop="48dp"
- app:backgroundTint="?attr/colorSecondary"
- app:rippleColor="?attr/colorControlHighlight"
app:layout_constraintTop_toBottomOf="@id/app_name"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- tools:ignore="UnusedAttribute" />
+ app:layout_constraintEnd_toEndOf="parent" />
<com.google.android.material.button.MaterialButton
- style="@style/Widget.MaterialComponents.Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="cloneExistingRepository"
- android:textColor="@android:color/white"
android:text="@string/clone"
android:textSize="12sp"
- app:backgroundTint="?attr/colorSecondary"
- app:rippleColor="?attr/colorControlHighlight"
app:layout_constraintTop_toBottomOf="@id/use_local_directory"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 7058dcff..1f1bb005 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -19,11 +19,25 @@
<item name="actionModeStyle">@style/ActionMode</item>
<item name="alertDialogTheme">@style/AppTheme.Dialog</item>
<item name="materialAlertDialogTheme">@style/AppTheme.Dialog</item>
- <item name="actionBarPopupTheme">@style/ThemeOverlay.MaterialComponents.ActionBar</item>
+ <item name="materialButtonStyle">@style/AppTheme.MaterialButton</item>
+ <item name="materialButtonOutlinedStyle">@style/AppTheme.OutlinedButton</item>
<item name="textInputStyle">@style/TextInputLayoutBase</item>
<item name="bottomSheetDialogTheme">@style/BottomSheetDialogTheme</item>
</style>
+ <style name="AppTheme.MaterialButton" parent="Widget.MaterialComponents.Button">
+ <item name="android:textColor">@android:color/white</item>
+ <item name="backgroundTint">?attr/colorSecondary</item>
+ <item name="rippleColor">?attr/colorControlHighlight</item>
+ </style>
+
+ <style name="AppTheme.OutlinedButton" parent="Widget.MaterialComponents.Button.OutlinedButton">
+ <item name="android:textColor">?android:attr/textColorPrimary</item>
+ <item name="rippleColor">@color/ripple_color</item>
+ <item name="strokeColor">?attr/colorSecondary</item>
+ <item name="backgroundTint">@color/toggle_button_selector</item>
+ </style>
+
<style name="AppTheme.Dialog" parent="Theme.MaterialComponents.DayNight.Dialog.Alert">
<item name="colorPrimary">@color/secondary_color</item>
<item name="colorSecondary">@color/secondary_color</item>