From a42f5e93409d4016a8d98f14aaae3a7c4b20eb33 Mon Sep 17 00:00:00 2001
From: Taras Smakula <tarassmakula@gmail.com>
Date: Tue, 15 Aug 2023 14:07:30 +0300
Subject: [PATCH] Move post button to bottom right

---
 .../post/create/CreatePostDialogFragment.kt   |  5 +-
 .../main/res/color/send_ic_state_color.xml    |  5 ++
 app/src/main/res/drawable/ic_send.xml         | 10 ++++
 .../layout/dialog_fragment_create_post.xml    | 50 ++++++++++---------
 .../main/res/layout/list_item_style_bar.xml   |  9 ++--
 .../res/layout/view_markdown_stylebar.xml     |  6 ++-
 6 files changed, 51 insertions(+), 34 deletions(-)
 create mode 100644 app/src/main/res/color/send_ic_state_color.xml
 create mode 100644 app/src/main/res/drawable/ic_send.xml

diff --git a/app/src/main/java/org/futo/circles/feature/timeline/post/create/CreatePostDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/timeline/post/create/CreatePostDialogFragment.kt
index faa446bfc..c9327b9b2 100644
--- a/app/src/main/java/org/futo/circles/feature/timeline/post/create/CreatePostDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/timeline/post/create/CreatePostDialogFragment.kt
@@ -56,12 +56,11 @@ class CreatePostDialogFragment :
     private fun setupViews() {
         setToolbarTitle()
         with(binding) {
-            btnPost.apply {
+            btnSend.apply {
                 setOnClickListener {
                     sendPost()
                     onBackPressed()
                 }
-                setText(getString(if (args.isEdit) R.string.edit else R.string.send))
             }
             binding.vPostOptions.apply {
                 setOptionsListener(this@CreatePostDialogFragment)
@@ -70,7 +69,7 @@ class CreatePostDialogFragment :
             vPostPreview.setup(
                 object : PreviewPostListener {
                     override fun onPostContentAvailable(isAvailable: Boolean) {
-                        binding.btnPost.isEnabled = isAvailable
+                        binding.btnSend.isEnabled = isAvailable
                     }
                 },
                 onHighlightTextStyle = { textStyle -> binding.vPostOptions.highlightStyle(textStyle) },
diff --git a/app/src/main/res/color/send_ic_state_color.xml b/app/src/main/res/color/send_ic_state_color.xml
new file mode 100644
index 000000000..d3a029646
--- /dev/null
+++ b/app/src/main/res/color/send_ic_state_color.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:color="@color/gray" android:state_enabled="false" />
+    <item android:color="@color/blue" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_send.xml b/app/src/main/res/drawable/ic_send.xml
new file mode 100644
index 000000000..937bdd16c
--- /dev/null
+++ b/app/src/main/res/drawable/ic_send.xml
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:autoMirrored="true"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M2.01,21L23,12 2.01,3 2,10l15,2 -15,2z" />
+</vector>
diff --git a/app/src/main/res/layout/dialog_fragment_create_post.xml b/app/src/main/res/layout/dialog_fragment_create_post.xml
index 679f12896..dd15dfc9b 100644
--- a/app/src/main/res/layout/dialog_fragment_create_post.xml
+++ b/app/src/main/res/layout/dialog_fragment_create_post.xml
@@ -14,22 +14,7 @@
         app:layout_constraintTop_toTopOf="parent"
         app:navigationIcon="?attr/homeAsUpIndicator"
         app:title="@string/create_post"
-        app:titleCentered="true"
-        app:titleMarginEnd="72dp">
-
-        <org.futo.circles.core.view.LoadingButton
-            android:id="@+id/btnPost"
-            android:layout_width="56dp"
-            android:layout_height="match_parent"
-            android:layout_gravity="end"
-            android:layout_marginVertical="8dp"
-            android:layout_marginEnd="8dp"
-            android:enabled="false"
-            android:text="@string/send"
-            android:textSize="13sp"
-            app:textPadding="1dp" />
-
-    </com.google.android.material.appbar.MaterialToolbar>
+        app:titleCentered="true" />
 
     <View
         android:id="@+id/divider"
@@ -55,21 +40,38 @@
             android:id="@+id/vPostPreview"
             android:layout_width="match_parent"
             android:layout_height="0dp"
-            app:layout_constraintBottom_toTopOf="@id/vPostOptions"
+            app:layout_constraintBottom_toTopOf="@id/btnSend"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
 
+        <com.google.android.material.button.MaterialButton
+            android:id="@+id/btnSend"
+            android:layout_width="48dp"
+            android:layout_height="48dp"
+            android:layout_marginEnd="8dp"
+            android:layout_marginBottom="8dp"
+            android:background="?selectableItemBackgroundBorderless"
+            android:enabled="false"
+            android:focusable="true"
+            android:minWidth="0dp"
+            android:minHeight="0dp"
+            android:padding="0dp"
+            app:icon="@drawable/ic_send"
+            app:iconGravity="end"
+            app:iconSize="40dp"
+            app:iconTint="@color/send_ic_state_color"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent" />
+
         <org.futo.circles.view.MarkdownStyleBar
             android:id="@+id/vPostOptions"
-            android:layout_width="match_parent"
+            android:layout_width="0dp"
             android:layout_height="wrap_content"
-            android:layout_marginBottom="8dp"
-            android:clipChildren="false"
-            android:clipToPadding="false"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent" />
+            app:layout_constraintBottom_toBottomOf="@id/btnSend"
+            app:layout_constraintEnd_toStartOf="@id/btnSend"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="@id/btnSend" />
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 
diff --git a/app/src/main/res/layout/list_item_style_bar.xml b/app/src/main/res/layout/list_item_style_bar.xml
index 8bc72313c..4709beb7b 100644
--- a/app/src/main/res/layout/list_item_style_bar.xml
+++ b/app/src/main/res/layout/list_item_style_bar.xml
@@ -4,13 +4,12 @@
     android:id="@+id/cvOption"
     android:layout_width="48dp"
     android:layout_height="48dp"
-    app:cardCornerRadius="8dp"
+    android:clickable="true"
     android:elevation="4dp"
-    android:layout_marginHorizontal="4dp"
+    android:focusable="true"
     android:foreground="?selectableItemBackground"
-    android:clickable="true"
-    android:clipToPadding="false"
-    android:focusable="true">
+    app:cardCornerRadius="8dp"
+    app:cardUseCompatPadding="true">
 
     <ImageView
         android:id="@+id/ivIcon"
diff --git a/app/src/main/res/layout/view_markdown_stylebar.xml b/app/src/main/res/layout/view_markdown_stylebar.xml
index 6e22f1ce8..f152df049 100644
--- a/app/src/main/res/layout/view_markdown_stylebar.xml
+++ b/app/src/main/res/layout/view_markdown_stylebar.xml
@@ -12,10 +12,12 @@
         android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:orientation="horizontal"
+        android:paddingStart="8dp"
         app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
+        app:layout_constraintTop_toTopOf="parent"
+        tools:ignore="RtlSymmetry" />
 
     <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/rvTextOptions"
@@ -34,8 +36,8 @@
         android:layout_height="0dp"
         android:background="@color/close_background"
         android:clickable="true"
-        android:padding="8dp"
         android:focusable="true"
+        android:padding="8dp"
         android:src="@drawable/ic_close"
         android:tint="@color/white"
         app:layout_constraintBottom_toBottomOf="@id/rvTextOptions"
-- 
GitLab