From b3bf92a0ff521599e1565044528bcdabbdeab09f Mon Sep 17 00:00:00 2001 From: Mario Zorz Date: Thu, 7 Nov 2019 12:55:57 -0300 Subject: [PATCH 01/14] removed unneeded layouts and constraints --- .../fragment_bottom_sticker_emoji_dialog.xml | 66 +++---------------- app/src/main/res/layout/row_emoji.xml | 22 +++---- 2 files changed, 19 insertions(+), 69 deletions(-) diff --git a/app/src/main/res/layout/fragment_bottom_sticker_emoji_dialog.xml b/app/src/main/res/layout/fragment_bottom_sticker_emoji_dialog.xml index f7c6d0007..354d55202 100644 --- a/app/src/main/res/layout/fragment_bottom_sticker_emoji_dialog.xml +++ b/app/src/main/res/layout/fragment_bottom_sticker_emoji_dialog.xml @@ -1,63 +1,17 @@ - + android:background="@android:color/transparent"> - - - - - - - - - - - - - - - + android:layout_height="wrap_content" + android:layout_centerHorizontal="true" + /> + diff --git a/app/src/main/res/layout/row_emoji.xml b/app/src/main/res/layout/row_emoji.xml index 065c82106..0c27bed1f 100644 --- a/app/src/main/res/layout/row_emoji.xml +++ b/app/src/main/res/layout/row_emoji.xml @@ -1,15 +1,11 @@ - - - - \ No newline at end of file + android:id="@+id/txtEmoji" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_margin="4dp" + android:padding="2dp" + android:textColor="#FFFFFF" + android:textSize="35sp"/> From b008cfd2b51f319a03067cad454840f5dc3e53cd Mon Sep 17 00:00:00 2001 From: Mario Zorz Date: Thu, 7 Nov 2019 13:54:41 -0300 Subject: [PATCH 02/14] add back start/end margins to emojipicke rdialog --- .../main/res/layout/fragment_bottom_sticker_emoji_dialog.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/res/layout/fragment_bottom_sticker_emoji_dialog.xml b/app/src/main/res/layout/fragment_bottom_sticker_emoji_dialog.xml index 354d55202..aab035d9b 100644 --- a/app/src/main/res/layout/fragment_bottom_sticker_emoji_dialog.xml +++ b/app/src/main/res/layout/fragment_bottom_sticker_emoji_dialog.xml @@ -12,6 +12,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerHorizontal="true" + android:layout_marginEnd="16dp" + android:layout_marginStart="16dp" /> From c2561cf85ad657345d534be93636efafc7675058 Mon Sep 17 00:00:00 2001 From: Mario Zorz Date: Thu, 7 Nov 2019 13:55:06 -0300 Subject: [PATCH 03/14] centers emoji in picker item --- app/src/main/res/layout/row_emoji.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/layout/row_emoji.xml b/app/src/main/res/layout/row_emoji.xml index 0c27bed1f..3abaf965f 100644 --- a/app/src/main/res/layout/row_emoji.xml +++ b/app/src/main/res/layout/row_emoji.xml @@ -8,4 +8,5 @@ android:layout_margin="4dp" android:padding="2dp" android:textColor="#FFFFFF" + android:textAlignment="center" android:textSize="35sp"/> From 713824b212869498bdc7bbd25e62d8a3c61d8f1b Mon Sep 17 00:00:00 2001 From: Mario Zorz Date: Fri, 8 Nov 2019 11:53:10 -0300 Subject: [PATCH 04/14] moved some constant dps to dimens --- .../res/layout/fragment_bottom_sticker_emoji_dialog.xml | 4 ++-- app/src/main/res/layout/row_emoji.xml | 9 ++++----- app/src/main/res/values/dimens.xml | 4 ++++ 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/app/src/main/res/layout/fragment_bottom_sticker_emoji_dialog.xml b/app/src/main/res/layout/fragment_bottom_sticker_emoji_dialog.xml index aab035d9b..9893fcc0f 100644 --- a/app/src/main/res/layout/fragment_bottom_sticker_emoji_dialog.xml +++ b/app/src/main/res/layout/fragment_bottom_sticker_emoji_dialog.xml @@ -12,8 +12,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerHorizontal="true" - android:layout_marginEnd="16dp" - android:layout_marginStart="16dp" + android:layout_marginEnd="@dimen/emoji_picker_whole_list_side_margin" + android:layout_marginStart="@dimen/emoji_picker_whole_list_side_margin" /> diff --git a/app/src/main/res/layout/row_emoji.xml b/app/src/main/res/layout/row_emoji.xml index 3abaf965f..3b4c04463 100644 --- a/app/src/main/res/layout/row_emoji.xml +++ b/app/src/main/res/layout/row_emoji.xml @@ -1,12 +1,11 @@ - + /> diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 1f67d013e..89c615ba6 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -39,6 +39,10 @@ 40dp 40sp + 35sp + 2dp + 4dp + 16dp 72dp 152dp From 53d5779b0a4203278e3cadbb40cbe3278475005d Mon Sep 17 00:00:00 2001 From: Mario Zorz Date: Fri, 8 Nov 2019 12:02:35 -0300 Subject: [PATCH 05/14] forgot to set initial fontSize on row_emoji --- app/src/main/res/layout/row_emoji.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/layout/row_emoji.xml b/app/src/main/res/layout/row_emoji.xml index 3b4c04463..312457e9f 100644 --- a/app/src/main/res/layout/row_emoji.xml +++ b/app/src/main/res/layout/row_emoji.xml @@ -8,4 +8,4 @@ android:padding="@dimen/emoji_picker_item_padding" android:textColor="#FFFFFF" android:textAlignment="center" - /> + android:textSize="@dimen/emoji_picker_initial_text_size" /> From e6df0f3068d2f82b14273c35b98d8d2ca365419e Mon Sep 17 00:00:00 2001 From: Mario Zorz Date: Fri, 8 Nov 2019 12:18:44 -0300 Subject: [PATCH 06/14] using TextView instead of androidx.emoji.widget.EmojiTextView to make use of app:autoSizeTextType=uniform for automatic font resizing --- app/src/main/res/layout/row_emoji.xml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/layout/row_emoji.xml b/app/src/main/res/layout/row_emoji.xml index 312457e9f..a4b458015 100644 --- a/app/src/main/res/layout/row_emoji.xml +++ b/app/src/main/res/layout/row_emoji.xml @@ -1,11 +1,12 @@ - + app:autoSizeTextType="uniform" /> From 21430d8a747efe96b9da628c2e83db54e888ebd5 Mon Sep 17 00:00:00 2001 From: Mario Zorz Date: Fri, 8 Nov 2019 12:27:10 -0300 Subject: [PATCH 07/14] using EmojiCompat callback to process emoji through latest compatibility Font --- .../compose/emoji/EmojiPickerFragment.kt | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/automattic/portkey/compose/emoji/EmojiPickerFragment.kt b/app/src/main/java/com/automattic/portkey/compose/emoji/EmojiPickerFragment.kt index 5819fc20b..4dfa9309a 100644 --- a/app/src/main/java/com/automattic/portkey/compose/emoji/EmojiPickerFragment.kt +++ b/app/src/main/java/com/automattic/portkey/compose/emoji/EmojiPickerFragment.kt @@ -8,6 +8,7 @@ import android.view.ViewGroup import android.widget.TextView import androidx.coordinatorlayout.widget.CoordinatorLayout import androidx.core.content.ContextCompat +import androidx.emoji.text.EmojiCompat import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView import com.automattic.photoeditor.PhotoEditor @@ -75,7 +76,26 @@ class EmojiPickerFragment : BottomSheetDialogFragment() { } override fun onBindViewHolder(holder: ViewHolder, position: Int) { - holder.txtEmojiRef.text = emojiList[position] + // holder.txtEmojiRef.text = emojiList[position] + // use EmojiCompat to process the string and make sure we have an emoji that can be rendered + EmojiCompat.get().registerInitCallback(object : EmojiCompat.InitCallback() { + override fun onInitialized() { + EmojiCompat.get().unregisterInitCallback(this) + + val regularTextView = holder.txtEmojiRef + if (regularTextView != null) { + val compat = EmojiCompat.get() + regularTextView.text = compat.process(emojiList[position]) + } + } + + override fun onFailed(throwable: Throwable?) { + EmojiCompat.get().unregisterInitCallback(this) + + // just fallback to setting the text + holder.txtEmojiRef.text = emojiList[position] + } + }) } override fun getItemCount(): Int { From 000e8c2d765004e2107341264473b30e520be4f4 Mon Sep 17 00:00:00 2001 From: Mario Zorz Date: Fri, 8 Nov 2019 12:51:18 -0300 Subject: [PATCH 08/14] calculating emoji view width on the fly, fontSize gets adjusted automatically with autoSizeTextType='uniform' --- .idea/codeStyles/Project.xml | 67 ++++--------------- .../compose/emoji/EmojiPickerFragment.kt | 28 ++++++++ app/src/main/res/layout/row_emoji.xml | 4 +- app/src/main/res/values/dimens.xml | 3 + 4 files changed, 46 insertions(+), 56 deletions(-) diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index ff49b3831..ffee00cd2 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -1,5 +1,8 @@ + +