summaryrefslogtreecommitdiff
path: root/app/src/main/res
diff options
context:
space:
mode:
authorHarsh Shandilya <msfjarvis@gmail.com>2019-10-01 22:14:28 +0530
committerGitHub <noreply@github.com>2019-10-01 22:14:28 +0530
commit073346c157ec34b750d175c8543f346e6eae94de (patch)
treea55d24ef43563f3a2d03d7938a1e96c1f5cd1caf /app/src/main/res
parentc9dc4034f12b62f4470f92fb13ecd72871f4a5b7 (diff)
Redesign UI and introduce dark theme (#519)
Caveats: - The openpgp preference had to be removed because the open-intents developers are too lazy to update their libraries. Over the coming weeks I will be reimplementing a local solution for this instead. - The autofill dialog is broken but I since it is being worked on in #410 already I'm not going to bother fixing it.
Diffstat (limited to 'app/src/main/res')
-rw-r--r--app/src/main/res/color/text_color.xml5
-rw-r--r--app/src/main/res/drawable/autofill_row_background.xml5
-rw-r--r--app/src/main/res/drawable/bottom_line.xml4
-rw-r--r--app/src/main/res/drawable/divider.xml2
-rw-r--r--app/src/main/res/drawable/ic_action_secure.xml2
-rw-r--r--app/src/main/res/drawable/ic_folder_tinted_24dp.xml (renamed from app/src/main/res/drawable/ic_folder_grey600_24dp.xml)2
-rw-r--r--app/src/main/res/drawable/ic_launcher_foreground.xml9
-rw-r--r--app/src/main/res/drawable/password_row_background.xml12
-rw-r--r--app/src/main/res/drawable/red_rectangle.xml2
-rw-r--r--app/src/main/res/layout/activity_git_clone.xml358
-rw-r--r--app/src/main/res/layout/activity_git_config.xml198
-rw-r--r--app/src/main/res/layout/activity_pwdstore.xml4
-rw-r--r--app/src/main/res/layout/autofill_instructions.xml17
-rw-r--r--app/src/main/res/layout/autofill_recycler_view.xml4
-rw-r--r--app/src/main/res/layout/autofill_row_layout.xml36
-rw-r--r--app/src/main/res/layout/decrypt_layout.xml423
-rw-r--r--app/src/main/res/layout/encrypt_layout.xml146
-rw-r--r--app/src/main/res/layout/fragment_autofill.xml16
-rw-r--r--app/src/main/res/layout/fragment_pwgen.xml7
-rw-r--r--app/src/main/res/layout/fragment_show_ssh_key.xml5
-rw-r--r--app/src/main/res/layout/fragment_ssh_keygen.xml18
-rw-r--r--app/src/main/res/layout/fragment_to_clone_or_not.xml14
-rw-r--r--app/src/main/res/layout/git_passphrase_layout.xml1
-rw-r--r--app/src/main/res/layout/password_recycler_view.xml4
-rw-r--r--app/src/main/res/layout/password_row_layout.xml18
-rw-r--r--app/src/main/res/values-night/colors.xml18
-rw-r--r--app/src/main/res/values-night/styles.xml7
-rw-r--r--app/src/main/res/values/attrs.xml9
-rw-r--r--app/src/main/res/values/bools.xml5
-rw-r--r--app/src/main/res/values/colors.xml31
-rw-r--r--app/src/main/res/values/strings.xml14
-rw-r--r--app/src/main/res/values/styles.xml48
-rw-r--r--app/src/main/res/xml/preference.xml92
33 files changed, 775 insertions, 761 deletions
diff --git a/app/src/main/res/color/text_color.xml b/app/src/main/res/color/text_color.xml
deleted file mode 100644
index 9e70185e..00000000
--- a/app/src/main/res/color/text_color.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android" >
- <item android:state_enabled="false" android:color="@color/grey_500"/>
- <item android:color="@color/blue_grey_900"/>
-</selector> \ No newline at end of file
diff --git a/app/src/main/res/drawable/autofill_row_background.xml b/app/src/main/res/drawable/autofill_row_background.xml
deleted file mode 100644
index 05e887ca..00000000
--- a/app/src/main/res/drawable/autofill_row_background.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_selected="true" android:drawable="@color/blue_grey_200" />
- <item android:drawable="@color/grey_white_1000" />
-</selector> \ No newline at end of file
diff --git a/app/src/main/res/drawable/bottom_line.xml b/app/src/main/res/drawable/bottom_line.xml
index 323b03e0..e67c96fa 100644
--- a/app/src/main/res/drawable/bottom_line.xml
+++ b/app/src/main/res/drawable/bottom_line.xml
@@ -2,13 +2,13 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
- <solid android:color="@color/blue_grey_500"/>
+ <solid android:color="?android:attr/textColor"/>
</shape>
</item>
<item android:bottom="2dp">
<shape android:shape="rectangle">
- <solid android:color="@android:color/white" />
+ <solid android:color="?android:attr/windowBackground" />
</shape>
</item>
</layer-list>
diff --git a/app/src/main/res/drawable/divider.xml b/app/src/main/res/drawable/divider.xml
index cf2134ff..23a88317 100644
--- a/app/src/main/res/drawable/divider.xml
+++ b/app/src/main/res/drawable/divider.xml
@@ -2,5 +2,5 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size android:height="1dp" />
- <solid android:color="@color/grey_300" />
+ <solid android:color="?attr/colorPrimaryDark" />
</shape> \ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_action_secure.xml b/app/src/main/res/drawable/ic_action_secure.xml
index 8f7b7539..af182711 100644
--- a/app/src/main/res/drawable/ic_action_secure.xml
+++ b/app/src/main/res/drawable/ic_action_secure.xml
@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
- android:tint="@color/grey_600">
+ android:tint="?attr/passwordIconColor">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z"/>
diff --git a/app/src/main/res/drawable/ic_folder_grey600_24dp.xml b/app/src/main/res/drawable/ic_folder_tinted_24dp.xml
index dbd73db5..51380a42 100644
--- a/app/src/main/res/drawable/ic_folder_grey600_24dp.xml
+++ b/app/src/main/res/drawable/ic_folder_tinted_24dp.xml
@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
- android:tint="@color/grey_600">
+ android:tint="?attr/passwordIconColor">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M10,4H4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V8c0,-1.1 -0.9,-2 -2,-2h-8l-2,-2z"/>
diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml
index 318de001..4072a948 100644
--- a/app/src/main/res/drawable/ic_launcher_foreground.xml
+++ b/app/src/main/res/drawable/ic_launcher_foreground.xml
@@ -1,9 +1,8 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:aapt="http://schemas.android.com/aapt"
- android:width="108dp"
- android:height="108dp"
- android:viewportWidth="110.34687"
- android:viewportHeight="110.34687">
+ android:width="108dp"
+ android:height="108dp"
+ android:viewportWidth="110.34687"
+ android:viewportHeight="110.34687">
<group android:translateX="24.828047"
android:translateY="24.828047">
<path
diff --git a/app/src/main/res/drawable/password_row_background.xml b/app/src/main/res/drawable/password_row_background.xml
new file mode 100644
index 00000000..6806b12f
--- /dev/null
+++ b/app/src/main/res/drawable/password_row_background.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+ <item>
+ <selector>
+ <item app:state_multiselected="true" android:state_activated="true">
+ <color android:color="@color/list_multiselect_background" />
+ </item>
+ </selector>
+ </item>
+ <item android:drawable="?attr/selectableItemBackground" />
+</layer-list> \ No newline at end of file
diff --git a/app/src/main/res/drawable/red_rectangle.xml b/app/src/main/res/drawable/red_rectangle.xml
index a6c48d0f..8213a7e3 100644
--- a/app/src/main/res/drawable/red_rectangle.xml
+++ b/app/src/main/res/drawable/red_rectangle.xml
@@ -13,7 +13,7 @@
<item>
<shape android:shape="rectangle" android:dither="true">
<corners android:radius="2dp" />
- <solid android:color="@android:color/holo_red_light" />
+ <solid android:color="#FF0000" />
<padding android:bottom="8dp"
android:left="8dp"
diff --git a/app/src/main/res/layout/activity_git_clone.xml b/app/src/main/res/layout/activity_git_clone.xml
index c96a6201..c4612765 100644
--- a/app/src/main/res/layout/activity_git_clone.xml
+++ b/app/src/main/res/layout/activity_git_clone.xml
@@ -1,211 +1,187 @@
-<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.constraintlayout.widget.ConstraintLayout 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:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingRight="@dimen/activity_horizontal_margin"
- android:paddingTop="@dimen/activity_vertical_margin"
- android:paddingBottom="@dimen/activity_vertical_margin"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:padding="@dimen/activity_horizontal_margin"
tools:context="com.zeapo.pwdstore.git.GitActivity"
- android:background="@android:color/white">
-
- <LinearLayout
+ 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:orientation="vertical">
+ android:layout_margin="8dp"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/server_name"
- android:textStyle="bold"
- style="@android:style/TextAppearance.Large"
- android:gravity="start"
- android:paddingBottom="6dp"
- android:textColor="@color/blue_grey_500"
- android:background="@drawable/bottom_line"/>
-
- <RelativeLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:layout_gravity="center_vertical">
-
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/server_protocol"
- android:id="@+id/label_server_protocol"
- android:layout_centerVertical="true"
- android:layout_alignParentStart="true" />
-
- <Spinner
- android:id="@+id/clone_protocol"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_toEndOf="@+id/label_server_protocol" />
- </RelativeLayout>
-
- <RelativeLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:layout_gravity="center_vertical">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/server_user"
- android:id="@+id/label_server_user"
- android:layout_centerVertical="true"
- android:paddingBottom="8dp"
- android:layout_alignParentStart="true" />
-
- <EditText
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="@string/server_user_hint"
- android:id="@+id/server_user"
- android:layout_marginStart="8dp"
- android:layout_toEndOf="@+id/label_server_user"
- android:layout_alignParentEnd="true"
- android:inputType="textWebEmailAddress"/>
- </RelativeLayout>
- <RelativeLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:layout_gravity="center_vertical">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/server_url"
- android:paddingBottom="8dp"
- android:id="@+id/label_server_url"
- android:layout_centerVertical="true"
- android:layout_alignParentStart="true" />
-
- <EditText
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="@string/server_url_hint"
- android:id="@+id/server_url"
- android:layout_marginStart="8dp"
- android:layout_toEndOf="@+id/label_server_url"
- android:layout_toStartOf="@+id/label_server_port"
- android:inputType="textWebEmailAddress"
- tools:ignore="TextFields" />
-
- <TextView
- android:id="@+id/label_server_port"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_centerVertical="true"
- android:layout_toStartOf="@+id/server_port"
- android:paddingBottom="8dp"
- android:text=":"
- tools:ignore="HardcodedText" />
-
- <EditText
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:hint="@string/server_port_hint"
- android:id="@+id/server_port"
- android:layout_alignParentEnd="true"
- android:inputType="number"/>
-
- </RelativeLayout>
-
- <RelativeLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:layout_gravity="center_vertical">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/server_path"
- android:paddingBottom="8dp"
- android:id="@+id/label_server_path"
- android:layout_centerVertical="true"
- android:layout_alignParentStart="true" />
-
- <EditText
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="@string/server_path_hint"
- android:layout_marginStart="8dp"
- android:id="@+id/server_path"
- android:layout_toEndOf="@+id/label_server_path"
- android:layout_alignParentEnd="true"
- android:inputType="textWebEmailAddress"/>
- </RelativeLayout>
-
-
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/server_resulting_url"
- android:textStyle="bold"
- style="@android:style/TextAppearance.Large"
- android:gravity="start"
- android:paddingBottom="6dp"
- android:textColor="@color/blue_grey_500"
- android:background="@drawable/bottom_line"/>
-
- <EditText
- android:id="@+id/clone_uri"
+ <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
+ style="@style/TextInputLayoutBase"
+ android:id="@+id/server_user_layout"
+ android:hint="@string/server_user"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_margin="8dp"
+ app:hintEnabled="true"
+ app:layout_constraintTop_toBottomOf="@id/label_server_protocol">
+ <com.google.android.material.textfield.TextInputEditText
+ android:id="@+id/server_user"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:hint="@string/repository_uri"
- android:inputType="textWebEmailAddress"
- tools:ignore="TextFields" />
+ android:inputType="textWebEmailAddress" />
+ </com.google.android.material.textfield.TextInputLayout>
- <TextView
+ <com.google.android.material.textfield.TextInputLayout
+ style="@style/TextInputLayoutBase"
+ 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:hintEnabled="true"
+ 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:background="@drawable/red_rectangle"
- android:textColor="@android:color/white"
- android:visibility="gone"
- android:id="@+id/warn_url"/>
+ android:id="@+id/server_url"
+ android:inputType="textWebEmailAddress" />
- <RelativeLayout
+ </com.google.android.material.textfield.TextInputLayout>
+
+ <com.google.android.material.textfield.TextInputLayout
+ style="@style/TextInputLayoutBase"
+ 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:hintEnabled="true"
+ 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:orientation="horizontal"
- android:layout_gravity="center_vertical">
-
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/connection_mode"
- android:id="@+id/label_connection_mode"
- android:layout_centerVertical="true"
- android:layout_alignParentStart="true" />
-
- <Spinner
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:id="@+id/connection_mode"
- android:layout_toEndOf="@+id/label_connection_mode" />
- </RelativeLayout>
-
- <Button
- android:id="@+id/clone_button"
- android:text="@string/clone_button"
+ android:inputType="number" />
+
+ </com.google.android.material.textfield.TextInputLayout>
+
+ <com.google.android.material.textfield.TextInputLayout
+ style="@style/TextInputLayoutBase"
+ 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:hintEnabled="true"
+ 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:onClick="cloneRepository"/>
- <Button
- android:id="@+id/save_button"
- android:text="@string/crypto_save"
+ android:inputType="textWebEmailAddress"/>
+
+ </com.google.android.material.textfield.TextInputLayout>
+
+ <com.google.android.material.textfield.TextInputLayout
+ style="@style/TextInputLayoutBase"
+ 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:hintEnabled="true"
+ 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_width="match_parent"
android:layout_height="wrap_content"
- android:onClick="saveConfiguration"/>
- </LinearLayout>
+ android:inputType="textWebEmailAddress"/>
-</ScrollView>
+ </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"
+ 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>
diff --git a/app/src/main/res/layout/activity_git_config.xml b/app/src/main/res/layout/activity_git_config.xml
index 2283353b..bb2eac8b 100644
--- a/app/src/main/res/layout/activity_git_config.xml
+++ b/app/src/main/res/layout/activity_git_config.xml
@@ -1,143 +1,119 @@
<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:id="@+id/scrollView2"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="@android:color/white"
+ android:padding="@dimen/activity_horizontal_margin"
+ android:background="?android:attr/windowBackground"
tools:context="com.zeapo.pwdstore.git.GitActivity"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="81dp">
-
- <TextView
- android:id="@+id/textView5"
- style="@android:style/TextAppearance.Large"
- android:layout_width="344dp"
+ <com.google.android.material.textfield.TextInputLayout
+ android:id="@+id/username_input_layout"
+ style="@style/TextInputLayoutBase"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginTop="8dp"
- android:background="@drawable/bottom_line"
- android:gravity="start"
- android:paddingBottom="6dp"
- android:text="@string/git_config"
- android:textColor="@color/blue_grey_500"
- android:textStyle="bold"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
-
- <TextView
- android:id="@+id/label_git_user_name"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:paddingBottom="8dp"
- android:text="@string/git_user_name"
- app:layout_constraintBaseline_toBaselineOf="@+id/git_user_name"
- app:layout_constraintStart_toStartOf="parent" />
-
- <EditText
- android:id="@+id/git_user_name"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginEnd="8dp"
- android:layout_marginStart="8dp"
- android:layout_marginTop="8dp"
+ android:layout_margin="8dp"
android:hint="@string/git_user_name_hint"
- android:inputType="textWebEmailAddress"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toEndOf="@+id/label_git_user_name"
- app:layout_constraintTop_toBottomOf="@+id/textView5" />
+ app:hintEnabled="true"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toStartOf="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="textNoSuggestions|textVisiblePassword" />
- <TextView
- android:id="@+id/label_git_user_email"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:paddingBottom="8dp"
- android:text="@string/git_user_email"
- app:layout_constraintBaseline_toBaselineOf="@+id/git_user_email"
- app:layout_constraintEnd_toEndOf="@+id/label_git_user_name"
- app:layout_constraintStart_toStartOf="@+id/label_git_user_name" />
+ </com.google.android.material.textfield.TextInputLayout>
- <EditText
- android:id="@+id/git_user_email"
- android:layout_width="0dp"
+ <com.google.android.material.textfield.TextInputLayout
+ style="@style/TextInputLayoutBase"
+ android:id="@+id/email_input_layout"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginEnd="8dp"
- android:layout_marginTop="8dp"
- android:hint="@string/git_user_email_hint"
- android:inputType="textWebEmailAddress"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="@+id/git_user_name"
- app:layout_constraintTop_toBottomOf="@+id/git_user_name" />
-
-
- <Button
+ android:layout_margin="8dp"
+ android:hint="@string/git_user_email"
+ app:hintEnabled="true"
+ app:layout_constraintTop_toBottomOf="@id/username_input_layout"
+ app:layout_constraintStart_toStartOf="parent">
+
+ <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
+ style="@style/Widget.MaterialComponents.Button"
android:id="@+id/save_button"
- android:layout_width="0dp"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginEnd="8dp"
- android:layout_marginTop="8dp"
- android:onClick="applyGitConfigs"
+ android:layout_margin="8dp"
android:text="@string/crypto_save"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintRight_toRightOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/git_user_email" />
+ android:onClick="applyGitConfigs"
+ android:textColor="?android:attr/windowBackground"
+ app:backgroundTint="?attr/colorSecondary"
+ app:layout_constraintTop_toBottomOf="@id/email_input_layout"
+ app:layout_constraintEnd_toEndOf="parent"/>
- <TextView
- android:id="@+id/textView6"
- style="@android:style/TextAppearance.Large"
- android:layout_width="344dp"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:background="@drawable/bottom_line"
- android:gravity="start"
- android:paddingBottom="6dp"
- android:text="@string/hackish_tools"
- android:textColor="@color/blue_grey_500"
+ <androidx.appcompat.widget.AppCompatTextView
+ style="@style/TextAppearance.MaterialComponents.Headline5"
android:textStyle="bold"
- app:layout_constraintLeft_toLeftOf="parent"
- app:layout_constraintRight_toRightOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/save_button" />
-
- <Button
- android:id="@+id/git_abort_rebase"
- android:layout_width="0dp"
+ android:textSize="24sp"
+ android:id="@+id/git_tools_title"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginEnd="8dp"
- android:layout_marginStart="8dp"
- android:layout_marginTop="8dp"
- android:onClick="abortRebase"
- android:text="@string/abort_rebase"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintLeft_toLeftOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/textView7" />
+ android:layout_margin="8dp"
+ android:text="@string/hackish_tools"
+ app:layout_constraintTop_toBottomOf="@id/save_button"
+ app:layout_constraintStart_toStartOf="parent" />
- <TextView
- android:id="@+id/textView7"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/commit_hash_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginTop="8dp"
+ android:layout_margin="8dp"
android:text="@string/commit_hash"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/textView6" />
+ app:layout_constraintTop_toBottomOf="@id/git_tools_title"
+ app:layout_constraintStart_toStartOf="parent"/>
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/git_commit_hash"
- android:layout_width="0dp"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginStart="16dp"
- android:text="HASH"
+ android:layout_margin="8dp"
android:textStyle="bold"
- app:layout_constraintBaseline_toBaselineOf="@+id/textView7"
- app:layout_constraintLeft_toLeftOf="parent"
- app:layout_constraintRight_toRightOf="parent"
- app:layout_constraintStart_toEndOf="@+id/textView7"
- tools:ignore="HardcodedText" />
+ app:layout_constraintTop_toBottomOf="@id/git_tools_title"
+ app:layout_constraintStart_toEndOf="@id/commit_hash_label"
+ 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:onClick="abortRebase"
+ 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:onClick="resetToRemote"
+ 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/activity_pwdstore.xml b/app/src/main/res/layout/activity_pwdstore.xml
index dd30d3fc..e76b88a1 100644
--- a/app/src/main/res/layout/activity_pwdstore.xml
+++ b/app/src/main/res/layout/activity_pwdstore.xml
@@ -1,4 +1,4 @@
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<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"
@@ -11,4 +11,4 @@
android:layout_height="match_parent"
android:orientation="vertical"/>
-</RelativeLayout>
+</LinearLayout>
diff --git a/app/src/main/res/layout/autofill_instructions.xml b/app/src/main/res/layout/autofill_instructions.xml
index 333cd5fa..d75320d3 100644
--- a/app/src/main/res/layout/autofill_instructions.xml
+++ b/app/src/main/res/layout/autofill_instructions.xml
@@ -12,14 +12,13 @@
android:paddingRight="24dp"
android:paddingTop="20dp">
- <TextView
- android:id="@+id/textView"
+ <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/pref_autofill_enable_msg"
android:textSize="16sp" />
- <ImageView
+ <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -29,8 +28,7 @@
android:src="@drawable/autofill_ins_1"
android:contentDescription="@string/autofill_ins_1_hint" />
- <ImageView
- android:id="@+id/imageView2"
+ <androidx.appcompat.widget.AppCompatImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
@@ -38,15 +36,13 @@
android:src="@drawable/autofill_ins_2"
android:contentDescription="@string/autofill_ins_2_hint" />
- <TextView
- android:id="@+id/textView3"
+ <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/pref_autofill_enable_msg2"
android:textSize="16sp" />
- <ImageView
- android:id="@+id/imageView3"
+ <androidx.appcompat.widget.AppCompatImageView
android:layout_width="match_parent"
android:layout_height="114dp"
android:layout_marginBottom="8dp"
@@ -54,8 +50,7 @@
android:src="@drawable/autofill_ins_3"
android:contentDescription="@string/autofill_ins_3_hint" />
- <TextView
- android:id="@+id/textView4"
+ <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/pref_autofill_enable_msg3"
diff --git a/app/src/main/res/layout/autofill_recycler_view.xml b/app/src/main/res/layout/autofill_recycler_view.xml
index c0bbacdb..30b72c04 100644
--- a/app/src/main/res/layout/autofill_recycler_view.xml
+++ b/app/src/main/res/layout/autofill_recycler_view.xml
@@ -27,8 +27,8 @@
android:layout_gravity="bottom|end"
app:elevation="6dp"
app:pressedTranslationZ="12dp"
- app:backgroundTint="@color/blue_grey_500"
- app:rippleColor="@color/blue_grey_50"
+ app:backgroundTint="?attr/colorSecondary"
+ app:rippleColor="?attr/colorSecondary"
app:borderWidth="0dp"
android:layout_margin="@dimen/fab_compat_margin"
android:layout_alignParentBottom="true"
diff --git a/app/src/main/res/layout/autofill_row_layout.xml b/app/src/main/res/layout/autofill_row_layout.xml
index e07a73d3..12354077 100644
--- a/app/src/main/res/layout/autofill_row_layout.xml
+++ b/app/src/main/res/layout/autofill_row_layout.xml
@@ -1,21 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
+<LinearLayout android:layout_width="match_parent"
android:layout_height="64dp"
- android:background="@drawable/autofill_row_background"
- android:orientation="vertical">
+ android:background="?android:attr/selectableItemBackground"
+ android:gravity="center_vertical"
+ android:orientation="horizontal"
+ android:paddingLeft="@dimen/activity_horizontal_margin"
+ android:paddingRight="@dimen/activity_horizontal_margin"
+ xmlns:android="http://schemas.android.com/apk/res/android">
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="?android:attr/selectableItemBackground"
- android:gravity="center_vertical"
- android:orientation="horizontal"
- android:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingRight="@dimen/activity_horizontal_margin">
-
- <ImageView
+ <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/app_icon"
android:layout_width="48dp"
android:layout_height="48dp"
@@ -24,24 +17,21 @@
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
- android:layout_marginLeft="8dp"
+ android:layout_marginStart="8dp"
android:gravity="center_vertical"
- android:orientation="vertical"
- tools:ignore="RtlHardcoded">
+ android:orientation="vertical" >
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/app_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/secondary_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="@color/grey_600" />
+ android:textColor="?android:attr/textColor" />
</LinearLayout>
- </LinearLayout>
-
</LinearLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/decrypt_layout.xml b/app/src/main/res/layout/decrypt_layout.xml
index 4536042a..17ab55ed 100644
--- a/app/src/main/res/layout/decrypt_layout.xml
+++ b/app/src/main/res/layout/decrypt_layout.xml
@@ -3,228 +3,251 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="@color/background"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:background="?android:attr/windowBackground"
android:orientation="vertical"
tools:context="com.zeapo.pwdstore.crypto.PgpActivity">
- <LinearLayout
+ <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
- <LinearLayout
- android:layout_width="match_parent"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/crypto_password_category_decrypt"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:orientation="vertical">
-
- <TextView
- android:id="@+id/crypto_password_category_decrypt"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:layout_marginStart="16dp"
- android:textColor="@color/grey_500"
- android:textIsSelectable="false"
- android:textSize="18sp"
- tools:text="CATEGORY HERE" />
-
- <TextView
- android:id="@+id/crypto_password_file"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="@dimen/activity_horizontal_margin"
- android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"
- android:textColor="@color/accent"
- android:textSize="24sp"
- android:textStyle="bold"
- tools:text="PASSWORD FILE NAME HERE" />
-
- <TextView
- android:id="@+id/crypto_password_last_changed"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:layout_marginStart="16dp"
- android:textColor="@color/grey_500"
- android:textIsSelectable="false"
- android:textSize="18sp"
- tools:text="LAST CHANGED HERE" />
- </LinearLayout>
-
- <ImageView
+ android:layout_gravity="center_vertical"
+ android:layout_marginStart="16dp"
+ android:textColor="?android:attr/textColor"
+ android:textIsSelectable="false"
+ android:textSize="18sp"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:text="CATEGORY HERE" />
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/crypto_password_file"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="@dimen/activity_horizontal_margin"
+ android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"
+ android:textColor="?attr/colorSecondary"
+ android:textSize="24sp"
+ android:textStyle="bold"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/crypto_password_category_decrypt"
+ tools:text="PASSWORD FILE NAME HERE" />
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/crypto_password_last_changed"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:layout_marginStart="16dp"
+ android:textColor="?android:attr/textColor"
+ android:textIsSelectable="false"
+ android:textSize="18sp"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/crypto_password_file"
+ tools:text="LAST CHANGED HERE" />
+
+
+ <androidx.appcompat.widget.AppCompatImageView
+ android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginTop="16dp"
android:src="@drawable/divider"
+ app:layout_constraintTop_toBottomOf="@id/crypto_password_last_changed"
tools:ignore="ContentDescription" />
- <LinearLayout
+ <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/crypto_container_decrypt"
- android:layout_width="fill_parent"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/activity_vertical_margin"
- android:orientation="vertical"
- android:visibility="invisible">
+ android:visibility="invisible"
+ tools:visibility="visible"
+ app:layout_constraintTop_toBottomOf="@id/divider">
- <GridLayout
- android:id="@+id/crypto_password_show_layout"
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/crypto_password_show_label"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/password"
+ android:textColor="?android:attr/textColor"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ android:textStyle="bold" />
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/crypto_password_show"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_gravity="fill"
+ android:gravity="bottom"
+ android:textColor="?android:attr/textColor"
+ app:layout_constraintStart_toEndOf="@id/crypto_password_show_label"
+ app:layout_constraintBaseline_toBaselineOf="@id/crypto_password_show_label"
+ android:typeface="monospace" />
+
+ <ProgressBar
+ android:id="@+id/pbLoading"
+ style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
- android:layout_height="wrap_content">
-
- <TextView
- android:id="@+id/crypto_password_show_label"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_column="0"
- android:layout_row="0"
- android:text="@string/password"
- android:textColor="@android:color/black"
- android:textStyle="bold" />
-
- <TextView
- android:id="@+id/crypto_password_show"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_column="2"
- android:layout_gravity="fill"
- android:gravity="bottom"
- android:layout_row="0"
- android:textColor="@android:color/black"
- android:typeface="monospace" />
-
- <ProgressBar
- android:id="@+id/pbLoading"
- style="?android:attr/progressBarStyleHorizontal"
- android:layout_width="match_parent"
- android:layout_height="8dp"
- android:layout_column="0"
- android:layout_columnSpan="3"
- android:layout_marginBottom="8dp"
- android:layout_marginTop="8dp"
- android:layout_row="1" />
-
- <Button
- android:id="@+id/crypto_password_toggle_show"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_column="0"
- android:layout_columnSpan="3"
- android:layout_row="2"
- android:text="@string/show_password" />
- </GridLayout>
-
-
- <RelativeLayout
- android:id="@+id/crypto_extra_show_layout"
+ android:layout_height="8dp"
+ android:layout_marginBottom="8dp"
+ android:visibility="invisible"
+ android:layout_marginTop="8dp"
+ app:layout_constraintTop_toBottomOf="@id/crypto_password_show_label"/>
+
+ <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"/>
+
+ </androidx.constraintlayout.widget.ConstraintLayout>
+
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:id="@+id/crypto_extra_show_layout"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:visibility="invisible"
+ app:layout_constraintTop_toBottomOf="@id/crypto_container_decrypt"
+ tools:visibility="visible">
+
+ <androidx.appcompat.widget.AppCompatImageButton
+ android:id="@+id/crypto_copy_username"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentTop="true"
+ android:background="?android:attr/windowBackground"
+ android:contentDescription="@string/copy_username"
+ android:src="@drawable/ic_content_copy"
+ android:visibility="invisible"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ tools:visibility="visible"/>
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/crypto_username_show_label"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentStart="true"
+ android:layout_alignParentTop="true"
+ android:layout_toStartOf="@id/crypto_copy_username"
+ android:text="@string/username"
+ android:textColor="?android:attr/textColor"
+ android:textStyle="bold"
+ android:visibility="invisible"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:visibility="visible"/>
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/crypto_username_show"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentStart="true"
+ android:layout_below="@id/crypto_username_show_label"
+ android:layout_toStartOf="@id/crypto_copy_username"
+ android:textColor="?android:attr/textColor"
+ android:textIsSelectable="true"
+ android:typeface="monospace"
+ android:visibility="invisible"
+ app:layout_constraintTop_toBottomOf="@id/crypto_username_show_label"
+ app:layout_constraintStart_toStartOf="parent"
+ tools:visibility="visible"/>
+
+ <androidx.appcompat.widget.AppCompatImageView
+ android:id="@+id/crypto_copy_otp"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentEnd="true"
+ android:layout_below="@id/crypto_username_show"
+ android:background="?android:attr/windowBackground"
+ android:contentDescription="@string/copy_otp"
+ android:src="@drawable/ic_content_copy"
+ android:visibility="invisible"
+ app:layout_constraintTop_toTopOf="@id/crypto_otp_show_label"
+ app:layout_constraintEnd_toEndOf="parent"
+ tools:visibility="visible"/>
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/crypto_otp_show_label"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentStart="true"
+ android:layout_below="@id/crypto_username_show"
+ android:layout_toStartOf="@id/crypto_copy_otp"
+ android:text="@string/otp"
+ android:textColor="?android:attr/textColor"
+ app:layout_constraintTop_toBottomOf="@id/crypto_username_show"
+ app:layout_constraintStart_toStartOf="parent"
+ android:textStyle="bold" />
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/crypto_otp_show"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentStart="true"
+ android:layout_below="@id/crypto_otp_show_label"
+ android:layout_toStartOf="@id/crypto_copy_otp"
+ android:textColor="?android:attr/textColor"
+ android:textIsSelectable="true"
+ app:layout_constraintTop_toBottomOf="@id/crypto_otp_show_label"
+ android:typeface="monospace" />
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/crypto_extra_show_label"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentStart="true"
+ android:layout_below="@id/crypto_otp_show"
+ android:text="@string/extra_content"
+ android:textColor="?android:attr/textColor"
+ app:layout_constraintTop_toBottomOf="@id/crypto_otp_show"
+ app:layout_constraintStart_toStartOf="parent"
+ android:textStyle="bold" />
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/crypto_extra_show"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentStart="true"
+ android:layout_below="@id/crypto_extra_show_label"
+ android:textColor="?android:attr/textColor"
+ android:textIsSelectable="true"
+ app:layout_constraintTop_toBottomOf="@id/crypto_extra_show_label"
+ android:typeface="monospace" />
+
+ <ToggleButton
+ android:id="@+id/crypto_extra_toggle_show"
+ style="@style/Widget.MaterialComponents.Button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:visibility="invisible">
-
- <ImageButton
- android:id="@+id/crypto_copy_username"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentEnd="true"
- android:layout_alignParentTop="true"
- android:background="@color/background"
- android:contentDescription="@string/copy_username"
- android:src="@drawable/ic_content_copy"
- android:visibility="invisible" />
-
- <TextView
- android:id="@+id/crypto_username_show_label"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentStart="true"
- android:layout_alignParentTop="true"
- android:layout_toStartOf="@id/crypto_copy_username"
- android:text="@string/username"
- android:textColor="@android:color/black"
- android:textStyle="bold"
- android:visibility="invisible" />
-
- <TextView
- android:id="@+id/crypto_username_show"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_alignParentStart="true"
- android:layout_below="@id/crypto_username_show_label"
- android:layout_toStartOf="@id/crypto_copy_username"
- android:textColor="@android:color/black"
- android:textIsSelectable="true"
- android:typeface="monospace"
- android:visibility="invisible" />
-
- <ImageButton
- android:id="@+id/crypto_copy_otp"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentEnd="true"
- android:layout_below="@id/crypto_username_show"
- android:background="@color/background"
- android:contentDescription="@string/copy_otp"
- android:src="@drawable/ic_content_copy"
- android:visibility="invisible" />
-
- <TextView
- android:id="@+id/crypto_otp_show_label"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentStart="true"
- android:layout_below="@id/crypto_username_show"
- android:layout_toStartOf="@id/crypto_copy_otp"
- android:text="@string/otp"
- android:textColor="@android:color/black"
- android:textStyle="bold" />
-
- <TextView
- android:id="@+id/crypto_otp_show"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_alignParentStart="true"
- android:layout_below="@id/crypto_otp_show_label"
- android:layout_toStartOf="@id/crypto_copy_otp"
- android:textColor="@android:color/black"
- android:textIsSelectable="true"
- android:typeface="monospace" />
-
- <TextView
- android:id="@+id/crypto_extra_show_label"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentStart="true"
- android:layout_below="@id/crypto_otp_show"
- android:text="@string/extra_content"
- android:textColor="@android:color/black"
- android:textStyle="bold" />
-
- <TextView
- android:id="@+id/crypto_extra_show"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_alignParentStart="true"
- android:layout_below="@id/crypto_extra_show_label"
- android:textColor="@android:color/black"
- android:textIsSelectable="true"
- android:typeface="monospace" />
-
- <ToggleButton
- android:id="@+id/crypto_extra_toggle_show"
- style="@style/Widget.AppCompat.Button"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_below="@id/crypto_extra_show"
- android:layout_alignParentStart="true"
- android:checked="false"
- android:paddingTop="8dp"
- android:textOff="@string/show_extra"
- android:textOn="@string/hide_extra" />
-
- </RelativeLayout>
- </LinearLayout>
-
- </LinearLayout>
+ android:layout_below="@id/crypto_extra_show"
+ android:layout_alignParentStart="true"
+ android:checked="false"
+ android:paddingTop="8dp"
+ android:textColor="?android:attr/windowBackground"
+ android:textOff="@string/show_extra"
+ android:textOn="@string/hide_extra"
+ app:layout_constraintTop_toBottomOf="@id/crypto_extra_show"
+ android:backgroundTint="?attr/colorSecondary"/>
+
+ </androidx.constraintlayout.widget.ConstraintLayout>
+
+ </androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
diff --git a/app/src/main/res/layout/encrypt_layout.xml b/app/src/main/res/layout/encrypt_layout.xml
index f84792e8..41fa78ee 100644
--- a/app/src/main/res/layout/encrypt_layout.xml
+++ b/app/src/main/res/layout/encrypt_layout.xml
@@ -1,89 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.constraintlayout.widget.ConstraintLayout 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:background="@color/background"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:background="?android:attr/windowBackground"
android:orientation="vertical"
android:padding="@dimen/activity_horizontal_margin"
tools:context="com.zeapo.pwdstore.crypto.PgpActivity">
- <ScrollView
- android:id="@+id/crypto_scroll_view"
- android:layout_width="fill_parent"
- android:layout_height="0dp"
- android:layout_marginBottom="@dimen/activity_vertical_margin"
- android:layout_marginTop="@dimen/activity_vertical_margin"
- android:layout_weight="1">
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/crypto_password_category"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="@dimen/activity_horizontal_margin"
+ android:textColor="?android:attr/textColor"
+ android:textIsSelectable="false"
+ android:textSize="18sp"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:text="CATEGORY HERE" />
- <LinearLayout
+ <com.google.android.material.textfield.TextInputLayout
+ style="@style/TextInputLayoutBase"
+ android:id="@+id/name_input_layout"
+ android:layout_gravity="center_vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_margin="8dp"
+ android:hint="@string/crypto_name_hint"
+ app:hintEnabled="true"
+ app:layout_constraintTop_toBottomOf="@id/crypto_password_category"
+ app:layout_constraintStart_toStartOf="parent">
+ <com.google.android.material.textfield.TextInputEditText
+ android:id="@+id/crypto_password_file_edit"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical">
+ android:layout_height="wrap_content"/>
+ </com.google.android.material.textfield.TextInputLayout>
- <TextView
- android:id="@+id/crypto_password_category"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:layout_marginStart="@dimen/activity_horizontal_margin"
- android:textColor="@color/grey_500"
- android:textIsSelectable="false"
- android:textSize="18sp"
- tools:text="CATEGORY HERE" />
-
- <EditText
- android:id="@+id/crypto_password_file_edit"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:hint="@string/crypto_name_hint"
- android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"
- android:textColor="@color/accent"
- android:textSize="24sp"
- tools:ignore="TextFields" />
-
- <TextView
- android:id="@+id/textView2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/crypto_pass_label"
- android:textStyle="bold" />
-
- <EditText
- android:id="@+id/crypto_password_edit"
- android:layout_width="match_parent"
- android:hint="@string/crypto_password_edit_hint"
- android:layout_height="0dp"
- android:layout_weight="1"
- android:inputType="textVisiblePassword"
- android:typeface="monospace" />
-
- <Button
- android:id="@+id/generate_password"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="end"
- android:text="@string/pwd_generate_button" />
+ <com.google.android.material.textfield.TextInputLayout
+ style="@style/TextInputLayoutBase"
+ 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:hintEnabled="true"
+ app:layout_constraintTop_toBottomOf="@id/name_input_layout"
+ app:layout_constraintStart_toStartOf="parent">
+ <com.google.android.material.textfield.TextInputEditText
+ android:id="@+id/crypto_password_edit"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+ </com.google.android.material.textfield.TextInputLayout>
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:text="@string/crypto_extra_label"
- android:textStyle="bold" />
+ <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"/>
- <EditText
- android:id="@+id/crypto_extra_edit"
- android:layout_width="match_parent"
- android:layout_height="fill_parent"
- android:hint="@string/crypto_extra_edit_hint"
- android:enabled="true"
- android:inputType="textMultiLine|textVisiblePassword"
- android:typeface="monospace"
- android:visibility="visible" />
- </LinearLayout>
+ <com.google.android.material.textfield.TextInputLayout
+ style="@style/TextInputLayoutBase"
+ 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:hintEnabled="true"
+ app:layout_constraintTop_toBottomOf="@id/generate_password"
+ app:layout_constraintStart_toStartOf="parent">
- </ScrollView>
+ <com.google.android.material.textfield.TextInputEditText
+ android:id="@+id/crypto_extra_edit"
+ android:inputType="textMultiLine|textVisiblePassword"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
-</LinearLayout> \ No newline at end of file
+ </com.google.android.material.textfield.TextInputLayout>
+</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_autofill.xml b/app/src/main/res/layout/fragment_autofill.xml
index 7f09f0cb..d780e6f6 100644
--- a/app/src/main/res/layout/fragment_autofill.xml
+++ b/app/src/main/res/layout/fragment_autofill.xml
@@ -14,15 +14,13 @@
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:hintTextAppearance="@style/TextAppearance.AppCompat">
-
- <EditText
+ android:hint="URL"
+ app:hintEnabled="true">
+ <com.google.android.material.textfield.TextInputEditText
android:id="@+id/webURL"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:hint="URL"
- android:inputType="textUri"
- tools:ignore="HardcodedText" />
+ android:inputType="textUri"/>
</com.google.android.material.textfield.TextInputLayout>
<RadioGroup
@@ -61,13 +59,15 @@
android:layout_gravity="center_horizontal"
android:layout_weight="1"/>
- <Button
- style="?android:attr/buttonStyleSmall"
+ <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_pwgen.xml b/app/src/main/res/layout/fragment_pwgen.xml
index eab23f7c..df01c62e 100644
--- a/app/src/main/res/layout/fragment_pwgen.xml
+++ b/app/src/main/res/layout/fragment_pwgen.xml
@@ -13,7 +13,7 @@
android:paddingTop="20dp"
tools:context=".MainActivityFragment">
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/passwordText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -34,8 +34,7 @@
android:layout_weight="1"
android:orientation="vertical">
- <TextView
- android:id="@+id/include"
+ <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
@@ -75,7 +74,7 @@
android:layout_weight="1"
android:orientation="vertical">
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/length"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
diff --git a/app/src/main/res/layout/fragment_show_ssh_key.xml b/app/src/main/res/layout/fragment_show_ssh_key.xml
index f9b3b469..78ece084 100644
--- a/app/src/main/res/layout/fragment_show_ssh_key.xml
+++ b/app/src/main/res/layout/fragment_show_ssh_key.xml
@@ -12,14 +12,13 @@
android:paddingRight="24dp"
android:paddingTop="20dp">
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/public_key"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textIsSelectable="true" />
- <TextView
- android:id="@+id/public_key_tip"
+ <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/ssh_keygen_tip"
diff --git a/app/src/main/res/layout/fragment_ssh_keygen.xml b/app/src/main/res/layout/fragment_ssh_keygen.xml
index 12961292..adfeb5e0 100644
--- a/app/src/main/res/layout/fragment_ssh_keygen.xml
+++ b/app/src/main/res/layout/fragment_ssh_keygen.xml
@@ -11,8 +11,7 @@
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin">
- <TextView
- android:id="@+id/label_length"
+ <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="48dp"
android:gravity="center_vertical"
@@ -25,16 +24,17 @@
android:spinnerMode="dropdown" />
<com.google.android.material.textfield.TextInputLayout
+ style="@style/TextInputLayoutBase"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
- app:hintTextAppearance="@style/TextAppearance.AppCompat">
+ android:hint="@string/ssh_keygen_passphrase"
+ app:hintEnabled="true">
- <EditText
+ <com.google.android.material.textfield.TextInputEditText
android:id="@+id/passphrase"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:hint="@string/ssh_keygen_passphrase"
android:importantForAccessibility="no"
android:inputType="textPassword" />
</com.google.android.material.textfield.TextInputLayout>
@@ -48,21 +48,21 @@
android:text="@string/ssh_keygen_show_passphrase" />
<com.google.android.material.textfield.TextInputLayout
+ style="@style/TextInputLayoutBase"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
- app:hintTextAppearance="@style/TextAppearance.AppCompat">
+ android:hint="@string/ssh_keygen_comment"
+ app:hintEnabled="true">
- <EditText
+ <com.google.android.material.textfield.TextInputEditText
android:id="@+id/comment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:hint="@string/ssh_keygen_comment"
android:inputType="text" />
</com.google.android.material.textfield.TextInputLayout>
<Button
- android:id="@+id/generate_ssh_key"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
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 7d9341ba..cef35e1f 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
@@ -2,7 +2,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="@color/blue_grey_500"
+ android:background="?attr/colorPrimary"
android:orientation="vertical"
tools:context="com.zeapo.pwdstore.PasswordStore">
@@ -11,7 +11,7 @@
android:layout_height="0dp"
android:layout_weight="1">
- <ImageView
+ <androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
@@ -21,7 +21,7 @@
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
@@ -32,7 +32,6 @@
android:textStyle="bold"/>
<Button
- android:id="@+id/main_settings_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="openSettings"
@@ -48,20 +47,19 @@
</RelativeLayout>
<RelativeLayout
- android:id="@+id/myRectangleView"
android:layout_width="match_parent"
android:layout_height="48dp"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
- android:background="@android:color/white">
+ android:background="?android:attr/windowBackground">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/borderlessButtonStyle"
+ android:backgroundTint="?android:attr/windowBackground"
android:onClick="createNewRepository"
android:text="@string/initialize"
- android:id="@+id/button"
android:layout_alignTop="@+id/main_clone_button"
android:layout_alignParentStart="true"
android:textSize="12sp" />
@@ -70,7 +68,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/borderlessButtonStyle"
- android:textColor="@color/teal_A700"
+ android:backgroundTint="?android:attr/windowBackground"
android:onClick="cloneExistingRepository"
android:text="@string/clone"
android:layout_alignParentBottom="true"
diff --git a/app/src/main/res/layout/git_passphrase_layout.xml b/app/src/main/res/layout/git_passphrase_layout.xml
index fb0c0514..6fb4ee13 100644
--- a/app/src/main/res/layout/git_passphrase_layout.xml
+++ b/app/src/main/res/layout/git_passphrase_layout.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
- android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
diff --git a/app/src/main/res/layout/password_recycler_view.xml b/app/src/main/res/layout/password_recycler_view.xml
index d10db5fc..5e87351b 100644
--- a/app/src/main/res/layout/password_recycler_view.xml
+++ b/app/src/main/res/layout/password_recycler_view.xml
@@ -21,8 +21,8 @@
android:layout_gravity="bottom|end"
app:elevation="6dp"
app:pressedTranslationZ="12dp"
- app:backgroundTint="@color/accent"
- app:rippleColor="@color/blue_grey_50"
+ app:backgroundTint="?attr/colorSecondary"
+ app:rippleColor="?attr/colorSecondary"
app:borderWidth="0dp"
android:layout_margin="@dimen/fab_compat_margin"
android:layout_alignParentBottom="true"
diff --git a/app/src/main/res/layout/password_row_layout.xml b/app/src/main/res/layout/password_row_layout.xml
index 66616cc3..71ad8cf4 100644
--- a/app/src/main/res/layout/password_row_layout.xml
+++ b/app/src/main/res/layout/password_row_layout.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<com.zeapo.pwdstore.widget.MultiselectableLinearLayout 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:background="?android:attr/activatedBackgroundIndicator">
+ android:background="@drawable/password_row_background">
<LinearLayout
android:layout_width="match_parent"
@@ -15,7 +15,7 @@
android:paddingRight="16dp"
android:gravity="start">
- <ImageView
+ <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/type_image"
android:layout_width="80dp"
android:layout_height="32dp"
@@ -24,7 +24,7 @@
android:alpha="0.5"
android:contentDescription="@string/folder_icon_hint"
android:paddingEnd="8dp"
- android:src="@drawable/ic_folder_grey600_24dp"
+ android:src="@drawable/ic_folder_tinted_24dp"
tools:ignore="RtlSymmetry" />
<LinearLayout
@@ -34,24 +34,24 @@
android:layout_gravity="bottom"
android:orientation="vertical">
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="start"
android:singleLine="true"
android:text="TYPE"
- android:textColor="@color/grey_500"
+ android:textColor="?android:attr/textColor"
android:textSize="14sp"
tools:ignore="HardcodedText" />
- <TextView
+ <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:text="FILE_NAME"
- android:textColor="@android:color/black"
+ android:textColor="?android:attr/textColor"
android:textSize="18sp"
tools:ignore="HardcodedText" />
@@ -59,4 +59,4 @@
</LinearLayout>
-</LinearLayout> \ No newline at end of file
+</com.zeapo.pwdstore.widget.MultiselectableLinearLayout> \ No newline at end of file
diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml
new file mode 100644
index 00000000..55d52ca2
--- /dev/null
+++ b/app/src/main/res/values-night/colors.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Base palette -->
+ <color name="primary_color">#FF111111</color>
+ <color name="primary_light_color">#FF373737</color>
+ <color name="primary_dark_color">#FF000000</color>
+ <color name="secondary_color">#FFFF7539</color>
+ <color name="secondary_light_color">#FFFFa667</color>
+ <color name="secondary_dark_color">#FFC54506</color>
+ <color name="primary_text_color">#FFFFFFFF</color>
+ <color name="secondary_text_color">#FFFFFFFF</color>
+
+ <!-- Theme variables -->
+ <color name="window_background">@color/primary_color</color>
+ <color name="password_icon_color">#FAFAFA</color>
+ <color name="color_surface">#FF111111</color>
+ <color name="list_multiselect_background">#1AEEEEEE</color>
+</resources>
diff --git a/app/src/main/res/values-night/styles.xml b/app/src/main/res/values-night/styles.xml
new file mode 100644
index 00000000..7fda5217
--- /dev/null
+++ b/app/src/main/res/values-night/styles.xml
@@ -0,0 +1,7 @@
+<resources>
+ <style name="TextInputLayoutBase" parent="@style/Widget.MaterialComponents.TextInputLayout.FilledBox.Dense">
+ <item name="boxBackgroundColor">?attr/colorPrimaryVariant</item>
+ <item name="boxStrokeColor">?attr/colorSecondary</item>
+ <item name="hintTextColor">?attr/colorOnPrimary</item>
+ </style>
+</resources>
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
new file mode 100644
index 00000000..1a044c40
--- /dev/null
+++ b/app/src/main/res/values/attrs.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <declare-styleable name="PasswordIconStyle">
+ <attr name="passwordIconColor" format="reference|color" />
+ </declare-styleable>
+ <declare-styleable name="Multiselected">
+ <attr name="state_multiselected" format="boolean"/>
+ </declare-styleable>
+</resources> \ No newline at end of file
diff --git a/app/src/main/res/values/bools.xml b/app/src/main/res/values/bools.xml
new file mode 100644
index 00000000..b02fcc05
--- /dev/null
+++ b/app/src/main/res/values/bools.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <bool name="light_status_bar">false</bool>
+ <bool name="light_navigation_bar">false</bool>
+</resources>
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index ef263161..98234581 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -1,19 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
- <color name="accent">#ff7043</color>
- <color name="background">#eee</color>
- <color name="blue_grey_50">#eceff1</color>
- <color name="blue_grey_500">#607d8b</color>
- <color name="blue_grey_200">#b0bec5</color>
- <color name="blue_grey_700">#455a64</color>
- <color name="blue_grey_900">#263238</color>
- <color name="deep_orange_200">#ffab91</color>
- <color name="grey_300">#e0e0e0</color>
- <color name="grey_500">#9e9e9e</color>
- <color name="grey_600">#757575</color>
- <color name="grey_white_1000">#ffffff</color>
- <color name="grey_black_1000">#000000</color>
- <color name="teal_900">#004d40</color>
- <color name="teal_A700">#00bfa5</color>
+ <!-- Base palette -->
+ <color name="primary_color">#607d8b</color>
+ <color name="primary_light_color">#8eacbb</color>
+ <color name="primary_dark_color">#34515e</color>
+ <color name="secondary_color">#ff7043</color>
+ <color name="secondary_light_color">#ffa270</color>
+ <color name="secondary_dark_color">#c63f17</color>
+ <color name="primary_text_color">#212121</color>
+ <color name="secondary_text_color">#ffffff</color>
+
+ <!-- Theme variables -->
+ <color name="window_background">#eceff1</color>
<color name="ic_launcher_background">#D4F1EA</color>
+ <color name="password_icon_color">#757575</color>
+ <color name="color_control_normal">@color/primary_text_color</color>
+ <color name="color_surface">#FFFFFF</color>
+ <color name="list_multiselect_background">#EEEEEE</color>
</resources>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 8e54490f..e39558b1 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -74,7 +74,7 @@
<string name="server_protocol">Protocol</string>
<string name="server_url">Server URL</string>
<string name="server_url_hint" translatable="false">server.com</string>
- <string name="server_port_hint">22</string>
+ <string name="server_port_hint">Port</string>
<string name="default_ssh_port">22</string>
<string name="default_https_port">443</string>
<string name="server_path">Repo path</string>
@@ -90,16 +90,16 @@
<!-- Git Config fragment -->
<string name="git_config" translatable="false">Git config</string>
<string name="git_user_name" translatable="false">Username</string>
- <string name="git_user_name_hint">User name</string>
+ <string name="git_user_name_hint">Username</string>
<string name="git_user_email">Email</string>
<string name="git_user_email_hint">email</string>
<string name="invalid_email_dialog_text">Please enter a valid email address</string>
<string name="clone_button">Clone!</string>
<!-- PGP Handler -->
- <string name="crypto_name_hint">name</string>
+ <string name="crypto_name_hint">Name</string>
<string name="crypto_pass_label">Password</string>
- <string name="crypto_extra_label">Extra</string>
+ <string name="crypto_extra_label">Extra content</string>
<string name="crypto_select">Select</string>
<string name="crypto_cancel">Cancel</string>
<string name="crypto_save">Save</string>
@@ -138,8 +138,8 @@
<string name="pref_no_key_selected">No key selected</string>
<string name="pref_general_title">General</string>
<string name="pref_password_title">Password Show Time</string>
- <string name="pref_password_dialog_title">Set the time you want the password to be in clipboard. 0 means forever.</string>
- <string name="pref_copy_title">Automatically Copy Password</string>
+ <string name="pref_password_dialog_title">Set the time (in seconds) you want the password to be in clipboard. 0 means forever.</string>
+ <string name="pref_copy_title">Automatically copy Password</string>
<string name="pref_copy_dialog_title">Automatically copy the password to the clipboard after decryption was successful.</string>
<string name="ssh_key_success_dialog_title">SSH-key imported</string>
<string name="ssh_key_error_dialog_title">Error while trying to import the ssh-key</string>
@@ -251,8 +251,8 @@
<string name="remember_the_passphrase">Remember the passphrase in the app configuration (insecure)</string>
<string name="hackish_tools">Hackish tools</string>
<string name="abort_rebase">Abort rebase and push new branch</string>
+ <string name="reset_to_remote">Hard reset to remote branch</string>
<string name="commit_hash">Commit hash</string>
- <string name="crypto_password_edit_hint" translatable="false">p@ssw0rd!</string>
<string name="crypto_extra_edit_hint">username: something other extra content</string>
<string name="get_last_changed_failed">Failed to get last changed date</string>
<string name="hotp_pending">Tap copy to calculate HOTP</string>
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 0b0bc4e6..ad6a61ff 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -1,22 +1,46 @@
-<resources>
+<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
- <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
- <item name="colorPrimary">@color/blue_grey_500</item>
- <item name="colorPrimaryDark">@color/blue_grey_700</item>
- <item name="android:windowBackground">@color/blue_grey_50</item>
- <item name="android:textColorPrimary">@color/teal_900</item>
- <item name="android:textColor">@color/text_color</item>
+ <style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
+ <item name="colorPrimary">@color/primary_color</item>
+ <item name="colorOnPrimary">@color/color_control_normal</item>
+ <item name="colorPrimaryDark">@color/primary_color</item>
+ <item name="colorPrimaryVariant">@color/primary_light_color</item>
+ <item name="colorSecondary">@color/secondary_color</item>
+ <item name="colorOnSecondary">@android:color/white</item>
+ <item name="colorSurface">@color/color_surface</item>
+ <item name="colorOnSurface">@color/color_control_normal</item>
+ <item name="colorControlNormal">@color/color_control_normal</item>
+ <item name="passwordIconColor">@color/password_icon_color</item>
+ <item name="android:colorBackground">@color/window_background</item>
+ <item name="colorBackgroundFloating">@color/primary_dark_color</item>
+ <item name="android:windowBackground">@color/window_background</item>
+ <item name="android:textColorPrimary">@color/primary_text_color</item>
+ <item name="android:textColor">@color/primary_text_color</item>
+ <item name="android:statusBarColor">@color/primary_dark_color</item>
+ <item name="android:navigationBarColor">@android:color/black</item>
+ <item name="android:windowLightStatusBar" tools:targetApi="m">@bool/light_status_bar</item>
+ <item name="android:windowLightNavigationBar" tools:targetApi="o_mr1">@bool/light_navigation_bar</item>
<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>
+ </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>
+ <item name="android:windowBackground">@color/window_background</item>
</style>
<style name="ActionMode" parent="@style/Widget.AppCompat.ActionMode">
- <item name="background">@color/blue_grey_700</item>
+ <item name="background">@color/primary_color</item>
</style>
- <style name="FilePickerAlertDialogTheme" parent="Theme.AppCompat.Dialog.Alert">
- <item name="colorPrimary">@color/blue_grey_500</item>
- <item name="colorPrimaryDark">@color/blue_grey_700</item>
- <item name="colorAccent">@color/teal_A700</item>
+ <style name="TextInputLayoutBase" parent="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense">
+ <item name="boxBackgroundColor">?android:attr/windowBackground</item>
+ <item name="boxStrokeColor">?attr/colorSecondary</item>
+ <item name="hintTextColor">?attr/colorOnPrimary</item>
</style>
+
</resources>
diff --git a/app/src/main/res/xml/preference.xml b/app/src/main/res/xml/preference.xml
index 3e8f34a9..194053e6 100644
--- a/app/src/main/res/xml/preference.xml
+++ b/app/src/main/res/xml/preference.xml
@@ -1,28 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
- <PreferenceCategory android:title="@string/pref_git_title">
- <Preference
+<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+ <androidx.preference.PreferenceCategory android:title="@string/pref_git_title">
+ <androidx.preference.Preference
android:key="git_server_info"
android:title="@string/pref_edit_server_info" />
- <Preference
+ <androidx.preference.Preference
android:key="git_config"
android:title="@string/pref_edit_git_config" />
- <Preference
+ <androidx.preference.Preference
android:key="ssh_key"
android:title="@string/pref_ssh_title" />
- <Preference
+ <androidx.preference.Preference
android:key="ssh_keygen"
android:title="@string/pref_ssh_keygen_title" />
- <Preference
+ <androidx.preference.Preference
android:key="ssh_key_clear_passphrase"
android:title="@string/ssh_key_clear_passphrase" />
- <Preference
+ <androidx.preference.Preference
android:key="hotp_remember_clear_choice"
android:title="@string/hotp_remember_clear_choice" />
- <Preference
+ <androidx.preference.Preference
android:key="ssh_see_key"
android:title="@string/pref_ssh_see_key_title" />
- <Preference
+ <androidx.preference.Preference
android:key="git_delete_repo"
android:summary="@string/pref_git_delete_repo_summary"
android:title="@string/pref_git_delete_repo" />
@@ -30,106 +30,102 @@
android:key="git_external"
android:summary="@string/pref_external_repository_summary"
android:title="@string/pref_external_repository" />
- <Preference
+ <androidx.preference.Preference
android:dependency="git_external"
android:key="pref_select_external"
android:title="@string/pref_select_external_repository" />
- </PreferenceCategory>
+ </androidx.preference.PreferenceCategory>
- <PreferenceCategory android:title="@string/pref_crypto_title">
+ <androidx.preference.PreferenceCategory android:title="@string/pref_crypto_title">
+ <!-- TODO(msf): Update the damn library and re-enable this
<org.openintents.openpgp.util.OpenPgpAppPreference
android:key="openpgp_provider_list"
android:title="@string/pref_provider_title" />
- <Preference
+ -->
+ <androidx.preference.Preference
android:key="openpgp_key_id_pref"
android:title="@string/pref_key_title" />
- </PreferenceCategory>
+ </androidx.preference.PreferenceCategory>
- <PreferenceCategory android:title="@string/pref_general_title">
- <EditTextPreference
+ <androidx.preference.PreferenceCategory android:title="@string/pref_general_title">
+ <androidx.preference.EditTextPreference
android:defaultValue="45"
android:dialogTitle="@string/pref_password_dialog_title"
android:inputType="number"
android:key="general_show_time"
android:summary="@string/pref_password_dialog_title"
android:title="@string/pref_password_title" />
- <CheckBoxPreference
+ <androidx.preference.CheckBoxPreference
android:defaultValue="true"
android:title="@string/show_password_pref_title"
android:summary="@string/show_password_pref_summary"
android:key="show_password" />
- <CheckBoxPreference
+ <androidx.preference.CheckBoxPreference
android:defaultValue="true"
android:title="@string/show_extra_content_pref_title"
android:summary="@string/show_extra_content_pref_summary"
android:key="show_extra_content" />
- <CheckBoxPreference
+ <androidx.preference.CheckBoxPreference
android:defaultValue="true"
android:dialogTitle="@string/pref_copy_dialog_title"
android:key="copy_on_decrypt"
android:summary="@string/pref_copy_dialog_title"
android:title="@string/pref_copy_title" />
- <CheckBoxPreference
+ <androidx.preference.CheckBoxPreference
android:defaultValue="true"
android:key="clear_after_copy"
android:summary="@string/prefs_clear_after_copy_summary"
android:title="@string/prefs_clear_after_copy_title" />
- <CheckBoxPreference
+ <androidx.preference.CheckBoxPreference
android:defaultValue="true"
android:key="filter_recursively"
android:summary="@string/pref_recursive_filter_hint"
android:title="@string/pref_recursive_filter" />
- <ListPreference
+ <androidx.preference.ListPreference
android:title="@string/pref_sort_order_title"
android:defaultValue="FOLDER_FIRST"
android:key="sort_order"
android:entries="@array/sort_order_entries"
android:entryValues="@array/sort_order_values"
- android:persistent="true"
- />
- </PreferenceCategory>
+ android:persistent="true" />
+ </androidx.preference.PreferenceCategory>
- <PreferenceCategory android:title="@string/pref_autofill_title">
- <CheckBoxPreference
+ <androidx.preference.PreferenceCategory android:title="@string/pref_autofill_title">
+ <androidx.preference.CheckBoxPreference
android:defaultValue="true"
android:key="autofill_enable"
android:title="@string/pref_autofill_enable_title"/>
- <Preference
- android:dependency="autofill_enable"
+ <androidx.preference.Preference
android:key="autofill_apps"
android:title="@string/pref_autofill_apps_title"/>
- <CheckBoxPreference
- android:dependency="autofill_enable"
+ <androidx.preference.CheckBoxPreference
android:defaultValue="true"
android:key="autofill_default"
android:summary="@string/pref_autofill_default_hint"
android:title="@string/pref_autofill_default_title"/>
- <CheckBoxPreference
- android:dependency="autofill_enable"
+ <androidx.preference.CheckBoxPreference
android:defaultValue="false"
android:key="autofill_always"
android:title="@string/pref_autofill_always_title"/>
- </PreferenceCategory>
+ </androidx.preference.PreferenceCategory>
- <PreferenceCategory android:title="@string/pref_misc_title">
- <Preference
+ <androidx.preference.PreferenceCategory android:title="@string/pref_misc_title">
+ <androidx.preference.Preference
android:key="export_passwords"
android:title="@string/prefs_export_passwords_title"
android:summary="@string/prefs_export_passwords_summary"/>
- <CheckBoxPreference
+ <androidx.preference.CheckBoxPreference
android:defaultValue="false"
android:key="clear_clipboard_20x"
android:summary="@string/pref_clear_clipboard_hint"
android:title="@string/pref_clear_clipboard_title" />
+ </androidx.preference.PreferenceCategory>
- <CheckBoxPreference
- android:defaultValue="false"
- android:key="use_android_file_picker"
- android:title="@string/prefs_use_default_file_picker" />
- </PreferenceCategory>
-
- <Preference
- android:key="app_version"
- android:title="@string/prefs_version" />
-</PreferenceScreen>
+ <androidx.preference.PreferenceCategory>
+ <androidx.preference.Preference
+ android:icon="@mipmap/ic_launcher_round"
+ android:key="app_version"
+ android:title="@string/prefs_version" />
+ </androidx.preference.PreferenceCategory>
+</androidx.preference.PreferenceScreen>