summaryrefslogtreecommitdiff
path: root/app/src/main/res
diff options
context:
space:
mode:
authorHarsh Shandilya <msfjarvis@gmail.com>2020-01-28 01:49:37 +0530
committerGitHub <noreply@github.com>2020-01-28 01:49:37 +0530
commitf295e97de6a9b7005e3fd6425296a5cd9d37af6b (patch)
treeee8dae97a03bf07f0890869429376df1adba8669 /app/src/main/res
parentab5aebeda3388ec776c34130cf9039ae4f623562 (diff)
Allow creating folders (#623)
* Introduce EmitExpandableTransformationBehaviour * Implement expand transition * More folder work * Add icons and tweak layout clipping Rishi again with the icon rescue * Theming rework * Dont set tag * Update list and commit after creating folder * Fix theme issues * Add dialog title * Fix hint text color * Remove commit method * Cleanup * Update CHANGELOG Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com> Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
Diffstat (limited to 'app/src/main/res')
-rw-r--r--app/src/main/res/drawable/ic_action_new_folder.xml9
-rw-r--r--app/src/main/res/drawable/ic_action_new_password.xml9
-rw-r--r--app/src/main/res/drawable/ic_action_secure_24dp.xml2
-rw-r--r--app/src/main/res/drawable/ic_keyboard_arrow_right_24dp.xml2
-rw-r--r--app/src/main/res/drawable/ic_multiple_files_24dp.xml2
-rw-r--r--app/src/main/res/layout/folder_creation_dialog_fragment.xml33
-rw-r--r--app/src/main/res/layout/password_recycler_view.xml62
-rw-r--r--app/src/main/res/layout/password_row_layout.xml1
-rw-r--r--app/src/main/res/values-night/styles.xml7
-rw-r--r--app/src/main/res/values-v21/dimens.xml4
-rw-r--r--app/src/main/res/values-w820dp/dimens.xml6
-rw-r--r--app/src/main/res/values/attrs.xml3
-rw-r--r--app/src/main/res/values/colors.xml2
-rw-r--r--app/src/main/res/values/dimens.xml3
-rw-r--r--app/src/main/res/values/strings.xml3
-rw-r--r--app/src/main/res/values/styles.xml21
16 files changed, 115 insertions, 54 deletions
diff --git a/app/src/main/res/drawable/ic_action_new_folder.xml b/app/src/main/res/drawable/ic_action_new_folder.xml
new file mode 100644
index 00000000..44666001
--- /dev/null
+++ b/app/src/main/res/drawable/ic_action_new_folder.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+ <path
+ android:fillColor="#FFFFFFFF"
+ android:pathData="M20,18H4V8H20M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0,0 0,4 20H20A2,2 0,0 0,22 18V8C22,6.89 21.1,6 20,6Z"/>
+</vector>
diff --git a/app/src/main/res/drawable/ic_action_new_password.xml b/app/src/main/res/drawable/ic_action_new_password.xml
new file mode 100644
index 00000000..38350bd3
--- /dev/null
+++ b/app/src/main/res/drawable/ic_action_new_password.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+ <path
+ android:fillColor="#FFFFFFFF"
+ android:pathData="M14,2H6A2,2 0,0 0,4 4V20A2,2 0,0 0,6 22H18A2,2 0,0 0,20 20V8L14,2M18,20H6V4H13V9H18M12.83,15A3,3 0,1 0,12.83 17H14V19H16V17H17V15M10,17A1,1 0,1 1,11 16A1,1 0,0 1,10 17Z"/>
+</vector>
diff --git a/app/src/main/res/drawable/ic_action_secure_24dp.xml b/app/src/main/res/drawable/ic_action_secure_24dp.xml
index 2968c4a0..ec7b4c21 100644
--- a/app/src/main/res/drawable/ic_action_secure_24dp.xml
+++ b/app/src/main/res/drawable/ic_action_secure_24dp.xml
@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
- android:tint="?attr/passwordIconColor">
+ android:tint="?attr/colorOnPrimary">
<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,-2zM9,6c0,-1.66 1.34,-3 3,-3s3,1.34 3,3v2L9,8L9,6zM18,20L6,20L6,10h12v10zM12,17c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2z"/>
diff --git a/app/src/main/res/drawable/ic_keyboard_arrow_right_24dp.xml b/app/src/main/res/drawable/ic_keyboard_arrow_right_24dp.xml
index 882ab73a..ede2c488 100644
--- a/app/src/main/res/drawable/ic_keyboard_arrow_right_24dp.xml
+++ b/app/src/main/res/drawable/ic_keyboard_arrow_right_24dp.xml
@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
- android:tint="?attr/passwordIconColor">
+ android:tint="?attr/colorOnPrimary">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M8.59,16.59L13.17,12 8.59,7.41 10,6l6,6 -6,6 -1.41,-1.41z"/>
diff --git a/app/src/main/res/drawable/ic_multiple_files_24dp.xml b/app/src/main/res/drawable/ic_multiple_files_24dp.xml
index 1aadafbc..a504b9cc 100644
--- a/app/src/main/res/drawable/ic_multiple_files_24dp.xml
+++ b/app/src/main/res/drawable/ic_multiple_files_24dp.xml
@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
- android:tint="?passwordIconColor">
+ android:tint="?colorOnPrimary">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM15,5L8,5c-1.1,0 -1.99,0.9 -1.99,2L6,21c0,1.1 0.89,2 1.99,2L19,23c1.1,0 2,-0.9 2,-2L21,11l-6,-6zM8,21L8,7h6v5h5v9L8,21z"/>
diff --git a/app/src/main/res/layout/folder_creation_dialog_fragment.xml b/app/src/main/res/layout/folder_creation_dialog_fragment.xml
new file mode 100644
index 00000000..9d5dfda2
--- /dev/null
+++ b/app/src/main/res/layout/folder_creation_dialog_fragment.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:padding="16dp">
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/title_create_folder"
+ android:textColor="@color/color_control_normal"
+ android:textAppearance="@style/TextAppearance.AppCompat.SearchResult.Title"/>
+
+ <com.google.android.material.textfield.TextInputLayout
+ style="@style/TextInputLayoutBase"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp"
+ android:hint="@string/crypto_name_hint"
+ app:hintTextColor="@color/color_control_normal"
+ app:hintEnabled="true">
+
+ <com.google.android.material.textfield.TextInputEditText
+ android:id="@+id/folder_name_text"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="textNoSuggestions|textVisiblePassword"/>
+
+ </com.google.android.material.textfield.TextInputLayout>
+</LinearLayout>
diff --git a/app/src/main/res/layout/password_recycler_view.xml b/app/src/main/res/layout/password_recycler_view.xml
index 07596335..f58543ac 100644
--- a/app/src/main/res/layout/password_recycler_view.xml
+++ b/app/src/main/res/layout/password_recycler_view.xml
@@ -1,11 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- tools:context="com.zeapo.pwdstore.PasswordFragment">
+<androidx.coordinatorlayout.widget.CoordinatorLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:clipChildren="false"
+ android:clipToPadding="false"
+ tools:context="com.zeapo.pwdstore.PasswordFragment">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/pass_recycler"
@@ -13,7 +16,39 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:listitem="@layout/password_row_layout"
- tools:itemCount="20"/>
+ tools:itemCount="20" />
+
+ <LinearLayout
+ android:id="@+id/create_options"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="top|center_horizontal"
+ android:layout_marginBottom="16dp"
+ android:orientation="vertical"
+ android:visibility="invisible"
+ android:clipChildren="false"
+ android:clipToPadding="false"
+ app:layout_anchor="@id/fab"
+ app:layout_anchorGravity="top|center_horizontal"
+ app:layout_behavior="com.zeapo.pwdstore.widget.fab.EmitExpandableTransformationBehavior"
+ tools:visibility="visible">
+
+ <com.google.android.material.floatingactionbutton.FloatingActionButton
+ android:id="@+id/create_password"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="@dimen/fab_margin"
+ app:fabSize="mini"
+ app:srcCompat="@drawable/ic_action_new_password" />
+
+ <com.google.android.material.floatingactionbutton.FloatingActionButton
+ android:id="@+id/create_folder"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="@dimen/fab_margin"
+ app:fabSize="mini"
+ app:srcCompat="@drawable/ic_action_new_folder" />
+ </LinearLayout>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
@@ -21,12 +56,9 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
- app:elevation="6dp"
- app:pressedTranslationZ="12dp"
- app:backgroundTint="?attr/colorSecondary"
- app:rippleColor="?attr/colorSecondary"
- app:borderWidth="0dp"
android:layout_margin="@dimen/fab_compat_margin"
android:layout_alignParentBottom="true"
- android:layout_alignParentEnd="true"/>
-</RelativeLayout>
+ android:layout_alignParentEnd="true"
+ app:backgroundTint="?attr/colorSecondary"
+ app:rippleColor="?attr/colorSecondary" />
+</androidx.coordinatorlayout.widget.CoordinatorLayout>
diff --git a/app/src/main/res/layout/password_row_layout.xml b/app/src/main/res/layout/password_row_layout.xml
index 4339e019..0b7112b6 100644
--- a/app/src/main/res/layout/password_row_layout.xml
+++ b/app/src/main/res/layout/password_row_layout.xml
@@ -25,7 +25,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
- android:textColor="?android:attr/textColor"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/type_image"
diff --git a/app/src/main/res/values-night/styles.xml b/app/src/main/res/values-night/styles.xml
deleted file mode 100644
index 7fda5217..00000000
--- a/app/src/main/res/values-night/styles.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<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-v21/dimens.xml b/app/src/main/res/values-v21/dimens.xml
deleted file mode 100644
index 3a8d4266..00000000
--- a/app/src/main/res/values-v21/dimens.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
- <dimen name="fab_compat_margin">16dp</dimen>
-</resources>
diff --git a/app/src/main/res/values-w820dp/dimens.xml b/app/src/main/res/values-w820dp/dimens.xml
deleted file mode 100644
index 63fc8164..00000000
--- a/app/src/main/res/values-w820dp/dimens.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<resources>
- <!-- Example customization of dimensions originally defined in res/values/dimens.xml
- (such as screen margins) for screens with more than 820dp of available width. This
- would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). -->
- <dimen name="activity_horizontal_margin">64dp</dimen>
-</resources>
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index aa02723f..913b7a4d 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -1,8 +1,5 @@
<?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>
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index ec75b5b6..48d1a7a3 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -9,6 +9,7 @@
<color name="secondary_dark_color">#c63f17</color>
<color name="primary_text_color">#212121</color>
<color name="secondary_text_color">#ffffff</color>
+ <color name="white">#ffffffff</color>
<!-- Theme variables -->
<color name="window_background">#eceff1</color>
@@ -17,4 +18,5 @@
<color name="color_control_normal">@color/primary_text_color</color>
<color name="color_surface">#FFFFFF</color>
<color name="list_multiselect_background">#668eacbb</color>
+ <color name="status_bar_color">@color/primary_dark_color</color>
</resources>
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 8a517840..15c6287c 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -2,5 +2,6 @@
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
- <dimen name="fab_compat_margin">0dp</dimen>
+ <dimen name="fab_compat_margin">16dp</dimen>
+ <dimen name="fab_margin">8dp</dimen>
</resources>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index e7ffa3e9..c1827ac9 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -31,6 +31,7 @@
<!-- git commits -->
<string name="git_commit_add_text">Add password for %1$s using android password store.</string>
<string name="git_commit_edit_text">"Edit %1$s using android password store."</string>
+ <string name="git_commit_folder_text">"Folder %1$s created using android password store."</string>
<string name="git_commit_remove_text">"Remove %1$s from store."</string>
<string name="git_commit_move_text">"Rename %1$s to %2$s."</string>
<string name="git_commit_increment_text">"Increment HOTP counter for %1$s."</string>
@@ -278,4 +279,6 @@
<string name="error_generate_ssh_key">Error while trying to generate the ssh-key</string>
<string name="pref_show_hidden_title">Show hidden folders</string>
<string name="pref_show_hidden_summary">Include hidden directories in the password list</string>
+ <string name="title_create_folder">Create folder</string>
+ <string name="button_create">Create</string>
</resources>
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index ad6a61ff..e6312175 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -1,4 +1,4 @@
-<resources xmlns:tools="http://schemas.android.com/tools">
+<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
@@ -7,20 +7,15 @@
<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="colorOnSecondary">@color/white</item>
+ <item name="colorSurface">@color/window_background</item>
+ <item name="android:textColor">@color/primary_text_color</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:colorBackgroundFloating">@color/primary_color</item>
+ <item name="android:statusBarColor">@color/status_bar_color</item>
+ <item name="android:windowLightStatusBar">@bool/light_status_bar</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>
@@ -38,9 +33,7 @@
</style>
<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>