From ff2805c3d91bbde1c51f5cec6fc29da0f38b3dab Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Tue, 19 Nov 2019 13:12:20 +0100 Subject: [PATCH 01/25] Added missing preformat block implementation --- react-native-aztec/android/build.gradle | 2 +- .../mobile/ReactNativeAztec/ReactAztecText.java | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/react-native-aztec/android/build.gradle b/react-native-aztec/android/build.gradle index e13f9d1ac1..33e5757305 100644 --- a/react-native-aztec/android/build.gradle +++ b/react-native-aztec/android/build.gradle @@ -12,7 +12,7 @@ buildscript { wordpressUtilsVersion = '1.22' espressoVersion = '3.0.1' - aztecVersion = 'v1.3.34' + aztecVersion = 'd83a28d7d771d1328d58b03a79314de9b9349603' } repositories { diff --git a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java index 475c30ba7a..0913c9032c 100644 --- a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java +++ b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java @@ -3,6 +3,7 @@ import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context; +import android.content.res.TypedArray; import android.graphics.Rect; import android.os.Handler; import android.os.Looper; @@ -23,6 +24,7 @@ import com.facebook.react.views.textinput.ReactTextInputLocalData; import com.facebook.react.views.textinput.ScrollWatcher; +import org.jetbrains.annotations.NotNull; import org.wordpress.aztec.AztecText; import org.wordpress.aztec.AztecTextFormat; import org.wordpress.aztec.ITextFormat; @@ -80,6 +82,7 @@ public class ReactAztecText extends AztecText { put(AztecTextFormat.FORMAT_CITE, "italic"); put(AztecTextFormat.FORMAT_STRIKETHROUGH, "strikethrough"); put(AztecTextFormat.FORMAT_UNDERLINE, "underline"); + put(AztecTextFormat.FORMAT_PREFORMAT, "pre"); } }; @@ -166,6 +169,16 @@ public boolean onTextContextMenuItem(int id) { return super.onTextContextMenuItem(id); } + @Override + public float getPreformatBackgroundAlpha(@NotNull TypedArray styles) { + return 0; + } + + @Override + public boolean shouldSkipTidying() { + return mTagName.equals("pre"); + } + // VisibleForTesting from {@link TextInputEventsTestCase}. public void requestFocusFromJS() { mIsJSSettingFocus = true; From 25bcd4d75e875a3f418f22e7e945bafec8f47796 Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Tue, 19 Nov 2019 15:04:47 +0100 Subject: [PATCH 02/25] update gb reference --- gutenberg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gutenberg b/gutenberg index f50a976002..601558f0c1 160000 --- a/gutenberg +++ b/gutenberg @@ -1 +1 @@ -Subproject commit f50a9760020febe76f9e4b96d7e8649045e8fb7b +Subproject commit 601558f0c14a238f80fcc5a82f879989c5950009 From f4097fdeb10a0d022de35ff6b1e43a9be18c710f Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Mon, 25 Nov 2019 11:59:55 +0100 Subject: [PATCH 03/25] Make sure to call EndOfBufferMarkerAdder watcher when tag is PRE Update gb reference --- .../ReactNativeAztec/ReactAztecText.java | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java index 0913c9032c..aa5007ab53 100644 --- a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java +++ b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java @@ -30,6 +30,7 @@ import org.wordpress.aztec.ITextFormat; import org.wordpress.aztec.plugins.IAztecPlugin; import org.wordpress.aztec.plugins.IToolbarButton; +import org.wordpress.aztec.watchers.EndOfBufferMarkerAdder; import java.util.ArrayList; import java.util.LinkedList; @@ -41,6 +42,8 @@ public class ReactAztecText extends AztecText { + private static final String PRE_TAG = "pre"; + private final InputMethodManager mInputMethodManager; // This flag is set to true when we set the text of the EditText explicitly. In that case, no // *TextChanged events should be triggered. This is less expensive than removing the text @@ -82,7 +85,7 @@ public class ReactAztecText extends AztecText { put(AztecTextFormat.FORMAT_CITE, "italic"); put(AztecTextFormat.FORMAT_STRIKETHROUGH, "strikethrough"); put(AztecTextFormat.FORMAT_UNDERLINE, "underline"); - put(AztecTextFormat.FORMAT_PREFORMAT, "pre"); + put(AztecTextFormat.FORMAT_PREFORMAT, PRE_TAG); } }; @@ -176,7 +179,7 @@ public float getPreformatBackgroundAlpha(@NotNull TypedArray styles) { @Override public boolean shouldSkipTidying() { - return mTagName.equals("pre"); + return isPreTag(); } // VisibleForTesting from {@link TextInputEventsTestCase}. @@ -518,18 +521,22 @@ protected boolean isEnterPressedUnderway() { private class TextWatcherDelegator implements TextWatcher { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { - if (!mIsSettingTextFromJS && mListeners != null) { + if (mListeners != null) { for (TextWatcher listener : mListeners) { - listener.beforeTextChanged(s, start, count, after); + if (isTextWatcherEnabled(listener)) { + listener.beforeTextChanged(s, start, count, after); + } } } } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { - if (!mIsSettingTextFromJS && mListeners != null) { + if (mListeners != null) { for (TextWatcher listener : mListeners) { - listener.onTextChanged(s, start, before, count); + if (isTextWatcherEnabled(listener)) { + listener.onTextChanged(s, start, before, count); + } } } @@ -538,11 +545,21 @@ public void onTextChanged(CharSequence s, int start, int before, int count) { @Override public void afterTextChanged(Editable s) { - if (!mIsSettingTextFromJS && mListeners != null) { + if (mListeners != null) { for (TextWatcher listener : mListeners) { - listener.afterTextChanged(s); + if (isTextWatcherEnabled(listener)) { + listener.afterTextChanged(s); + } } } } } + + private boolean isTextWatcherEnabled(TextWatcher textWatcher) { + return (isPreTag() && (textWatcher instanceof EndOfBufferMarkerAdder)) || !mIsSettingTextFromJS; + } + + private boolean isPreTag() { + return !TextUtils.isEmpty(mTagName) && mTagName.equals(PRE_TAG); + } } From a03ee8be5688861eed734eedacd482f90acfbd0a Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Mon, 25 Nov 2019 15:46:23 +0100 Subject: [PATCH 04/25] Update release notes --- RELEASE-NOTES.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index c1d58c738a..6d0568ce10 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -6,6 +6,7 @@ ------ * Add support for Video block settings * [iOS] Added native fullscreen preview when clicking image from Image Block +* [Android] Add support for Preformatted block. 1.17.0 ------ From 1d273e1e2367675ce73f17af00351cee842d0d11 Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Mon, 25 Nov 2019 16:14:05 +0100 Subject: [PATCH 05/25] Add preformatted block to react aztec text enum --- .../org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java | 1 - .../mobile/ReactNativeAztec/ReactAztecTextFormatEnum.java | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java index aa5007ab53..c61b5b0acd 100644 --- a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java +++ b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java @@ -85,7 +85,6 @@ public class ReactAztecText extends AztecText { put(AztecTextFormat.FORMAT_CITE, "italic"); put(AztecTextFormat.FORMAT_STRIKETHROUGH, "strikethrough"); put(AztecTextFormat.FORMAT_UNDERLINE, "underline"); - put(AztecTextFormat.FORMAT_PREFORMAT, PRE_TAG); } }; diff --git a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecTextFormatEnum.java b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecTextFormatEnum.java index 6856082d1d..6d44852e64 100644 --- a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecTextFormatEnum.java +++ b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecTextFormatEnum.java @@ -13,7 +13,8 @@ public enum ReactAztecTextFormatEnum { H3("h3", AztecTextFormat.FORMAT_HEADING_3), H4("h4", AztecTextFormat.FORMAT_HEADING_4), H5("h5", AztecTextFormat.FORMAT_HEADING_5), - H6("h6", AztecTextFormat.FORMAT_HEADING_6); + H6("h6", AztecTextFormat.FORMAT_HEADING_6), + PRE("pre", AztecTextFormat.FORMAT_PREFORMAT); private final String mTag; private final AztecTextFormat mAztecTextFormat; From e9885a6804143f347b3882156a47dcc085477c08 Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Mon, 25 Nov 2019 16:38:01 +0100 Subject: [PATCH 06/25] update aztec version --- react-native-aztec/android/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/react-native-aztec/android/build.gradle b/react-native-aztec/android/build.gradle index 33e5757305..01144fe56e 100644 --- a/react-native-aztec/android/build.gradle +++ b/react-native-aztec/android/build.gradle @@ -12,7 +12,7 @@ buildscript { wordpressUtilsVersion = '1.22' espressoVersion = '3.0.1' - aztecVersion = 'd83a28d7d771d1328d58b03a79314de9b9349603' + aztecVersion = '03dd2332c1deb7c26dac82a7638121ca7b4ca0fd' } repositories { From 35ae49098c5e3599d2c2bdeea2b86a40ae19ed6c Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Wed, 27 Nov 2019 17:49:55 +0100 Subject: [PATCH 07/25] Fixed bug - Adding newline when last character on a line is a space causes problems with consecutive empty lines --- .../ReactNativeAztec/ReactAztecText.java | 29 +++++++++---------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java index c61b5b0acd..3967404429 100644 --- a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java +++ b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java @@ -516,26 +516,29 @@ protected boolean isEnterPressedUnderway() { /** * This class will redirect *TextChanged calls to the listeners only in the case where the text * is changed by the user, and not explicitly set by JS. + * + * Update: + * There is a special case when block is preformatted. + * In that case we want to propagate TextWatcher method calls even if text is set from JS. + * Otherwise, couple of bugs will be introduced + * bug 1# https://github.com/wordpress-mobile/AztecEditor-Android/pull/869#issuecomment-552864686 + * bug 2# https://github.com/wordpress-mobile/gutenberg-mobile/pull/1615#pullrequestreview-323274540 */ private class TextWatcherDelegator implements TextWatcher { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { - if (mListeners != null) { + if ((isPreTag() || !mIsSettingTextFromJS) && mListeners != null) { for (TextWatcher listener : mListeners) { - if (isTextWatcherEnabled(listener)) { - listener.beforeTextChanged(s, start, count, after); - } + listener.beforeTextChanged(s, start, count, after); } } } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { - if (mListeners != null) { + if ((isPreTag() || !mIsSettingTextFromJS) && mListeners != null) { for (TextWatcher listener : mListeners) { - if (isTextWatcherEnabled(listener)) { - listener.onTextChanged(s, start, before, count); - } + listener.onTextChanged(s, start, before, count); } } @@ -544,20 +547,14 @@ public void onTextChanged(CharSequence s, int start, int before, int count) { @Override public void afterTextChanged(Editable s) { - if (mListeners != null) { + if ((isPreTag() || !mIsSettingTextFromJS) && mListeners != null) { for (TextWatcher listener : mListeners) { - if (isTextWatcherEnabled(listener)) { - listener.afterTextChanged(s); - } + listener.afterTextChanged(s); } } } } - private boolean isTextWatcherEnabled(TextWatcher textWatcher) { - return (isPreTag() && (textWatcher instanceof EndOfBufferMarkerAdder)) || !mIsSettingTextFromJS; - } - private boolean isPreTag() { return !TextUtils.isEmpty(mTagName) && mTagName.equals(PRE_TAG); } From 68b31c88ce2a0ddc7483dbbeedda9c72c3cc459f Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Thu, 28 Nov 2019 12:15:54 +0100 Subject: [PATCH 08/25] use shouldRedirectTextChangeCalls for each call --- .../mobile/ReactNativeAztec/ReactAztecText.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java index 3967404429..cc5920e29f 100644 --- a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java +++ b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java @@ -527,7 +527,7 @@ protected boolean isEnterPressedUnderway() { private class TextWatcherDelegator implements TextWatcher { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { - if ((isPreTag() || !mIsSettingTextFromJS) && mListeners != null) { + if (shouldRedirectTextChangeCalls()) { for (TextWatcher listener : mListeners) { listener.beforeTextChanged(s, start, count, after); } @@ -536,7 +536,7 @@ public void beforeTextChanged(CharSequence s, int start, int count, int after) { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { - if ((isPreTag() || !mIsSettingTextFromJS) && mListeners != null) { + if (shouldRedirectTextChangeCalls()) { for (TextWatcher listener : mListeners) { listener.onTextChanged(s, start, before, count); } @@ -547,7 +547,7 @@ public void onTextChanged(CharSequence s, int start, int before, int count) { @Override public void afterTextChanged(Editable s) { - if ((isPreTag() || !mIsSettingTextFromJS) && mListeners != null) { + if (shouldRedirectTextChangeCalls()) { for (TextWatcher listener : mListeners) { listener.afterTextChanged(s); } @@ -555,6 +555,10 @@ public void afterTextChanged(Editable s) { } } + private boolean shouldRedirectTextChangeCalls() { + return (!mIsSettingTextFromJS || isPreTag()) && mListeners != null; + } + private boolean isPreTag() { return !TextUtils.isEmpty(mTagName) && mTagName.equals(PRE_TAG); } From ea9765c7ced95573808b3e6a4bd95336b1c3fef2 Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Thu, 28 Nov 2019 22:55:30 +0100 Subject: [PATCH 09/25] Update release notes --- RELEASE-NOTES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 6d0568ce10..7abed336e7 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -1,12 +1,12 @@ 1.19.0 ------ * [iOS] Fix crash dismissing bottom-sheet after device rotation. +* [Android] Add support for Preformatted block. 1.18.0 ------ * Add support for Video block settings * [iOS] Added native fullscreen preview when clicking image from Image Block -* [Android] Add support for Preformatted block. 1.17.0 ------ From bb6b161a9205f8be30a29871a325b0c31d7c648a Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Thu, 28 Nov 2019 23:00:45 +0100 Subject: [PATCH 10/25] Update gb refernece --- gutenberg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gutenberg b/gutenberg index 601558f0c1..dc7ca04223 160000 --- a/gutenberg +++ b/gutenberg @@ -1 +1 @@ -Subproject commit 601558f0c14a238f80fcc5a82f879989c5950009 +Subproject commit dc7ca0422399a3baaf7ad47a0f5dde0c39176d9a From c523cc92d0104b2df2ca0b2554e42b0e4b654bc3 Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Mon, 2 Dec 2019 11:36:41 +0100 Subject: [PATCH 11/25] Update gb reference --- gutenberg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gutenberg b/gutenberg index dc7ca04223..60dc8388f7 160000 --- a/gutenberg +++ b/gutenberg @@ -1 +1 @@ -Subproject commit dc7ca0422399a3baaf7ad47a0f5dde0c39176d9a +Subproject commit 60dc8388f7f17977f86be35fbcb8be3eced28f80 From 9dfbd6cf6b97e3fa87a518b94bc7ce4d996d32c9 Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Wed, 4 Dec 2019 23:23:34 +0100 Subject: [PATCH 12/25] Update gb ref --- gutenberg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gutenberg b/gutenberg index 60dc8388f7..70e64c8d46 160000 --- a/gutenberg +++ b/gutenberg @@ -1 +1 @@ -Subproject commit 60dc8388f7f17977f86be35fbcb8be3eced28f80 +Subproject commit 70e64c8d46f3c63360e3573017f9913a2d9d17b0 From 1b9301bb7edc2ff0f6de36a8229b0947a0ebf863 Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Thu, 5 Dec 2019 10:58:53 +0100 Subject: [PATCH 13/25] Update gutenberg ref --- gutenberg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gutenberg b/gutenberg index 70e64c8d46..0d9d2a9d23 160000 --- a/gutenberg +++ b/gutenberg @@ -1 +1 @@ -Subproject commit 70e64c8d46f3c63360e3573017f9913a2d9d17b0 +Subproject commit 0d9d2a9d23e52e868fe9163e1d404b98260352bb From c3ff61475163a722dd0a8fe4f637f49bc8e7f352 Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Thu, 5 Dec 2019 16:08:59 +0100 Subject: [PATCH 14/25] Update gb reference --- gutenberg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gutenberg b/gutenberg index 0d9d2a9d23..ef1bebffef 160000 --- a/gutenberg +++ b/gutenberg @@ -1 +1 @@ -Subproject commit 0d9d2a9d23e52e868fe9163e1d404b98260352bb +Subproject commit ef1bebffefe2295cd50df78afd0f433378b7a0b4 From 179692602da2b3608c4c683f2123f658c748b9f9 Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Thu, 5 Dec 2019 18:20:14 +0100 Subject: [PATCH 15/25] Removed unused import Rename method name --- .../mobile/ReactNativeAztec/ReactAztecText.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java index cc5920e29f..e5cde43210 100644 --- a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java +++ b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java @@ -30,7 +30,6 @@ import org.wordpress.aztec.ITextFormat; import org.wordpress.aztec.plugins.IAztecPlugin; import org.wordpress.aztec.plugins.IToolbarButton; -import org.wordpress.aztec.watchers.EndOfBufferMarkerAdder; import java.util.ArrayList; import java.util.LinkedList; @@ -527,7 +526,7 @@ protected boolean isEnterPressedUnderway() { private class TextWatcherDelegator implements TextWatcher { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { - if (shouldRedirectTextChangeCalls()) { + if (shouldDelegateTextChangeCalls()) { for (TextWatcher listener : mListeners) { listener.beforeTextChanged(s, start, count, after); } @@ -536,7 +535,7 @@ public void beforeTextChanged(CharSequence s, int start, int count, int after) { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { - if (shouldRedirectTextChangeCalls()) { + if (shouldDelegateTextChangeCalls()) { for (TextWatcher listener : mListeners) { listener.onTextChanged(s, start, before, count); } @@ -547,7 +546,7 @@ public void onTextChanged(CharSequence s, int start, int before, int count) { @Override public void afterTextChanged(Editable s) { - if (shouldRedirectTextChangeCalls()) { + if (shouldDelegateTextChangeCalls()) { for (TextWatcher listener : mListeners) { listener.afterTextChanged(s); } @@ -555,7 +554,7 @@ public void afterTextChanged(Editable s) { } } - private boolean shouldRedirectTextChangeCalls() { + private boolean shouldDelegateTextChangeCalls() { return (!mIsSettingTextFromJS || isPreTag()) && mListeners != null; } From a665093164086ad2f7ce6bed83e349da7cccfd46 Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Thu, 5 Dec 2019 19:07:36 +0100 Subject: [PATCH 16/25] Split condition in a smaller parts to make it easier for reading Update aztec version --- react-native-aztec/android/build.gradle | 2 +- .../mobile/ReactNativeAztec/ReactAztecText.java | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/react-native-aztec/android/build.gradle b/react-native-aztec/android/build.gradle index 01144fe56e..d8cee25854 100644 --- a/react-native-aztec/android/build.gradle +++ b/react-native-aztec/android/build.gradle @@ -12,7 +12,7 @@ buildscript { wordpressUtilsVersion = '1.22' espressoVersion = '3.0.1' - aztecVersion = '03dd2332c1deb7c26dac82a7638121ca7b4ca0fd' + aztecVersion = '754086b517b1da25869102482048086ef928fb5b' } repositories { diff --git a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java index e5cde43210..184358b801 100644 --- a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java +++ b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java @@ -24,7 +24,6 @@ import com.facebook.react.views.textinput.ReactTextInputLocalData; import com.facebook.react.views.textinput.ScrollWatcher; -import org.jetbrains.annotations.NotNull; import org.wordpress.aztec.AztecText; import org.wordpress.aztec.AztecTextFormat; import org.wordpress.aztec.ITextFormat; @@ -171,7 +170,7 @@ public boolean onTextContextMenuItem(int id) { } @Override - public float getPreformatBackgroundAlpha(@NotNull TypedArray styles) { + public float getPreformatBackgroundAlpha(@Nullable TypedArray styles) { return 0; } @@ -555,7 +554,17 @@ public void afterTextChanged(Editable s) { } private boolean shouldDelegateTextChangeCalls() { - return (!mIsSettingTextFromJS || isPreTag()) && mListeners != null; + if (mListeners == null) { + // No listeners so, no one to delegate the calls to + return false; + } + + if (isPreTag()) { + // If tag is pre tag we want to delegate calls in every case + return true; + } + + return !mIsSettingTextFromJS; } private boolean isPreTag() { From a3ac7d176be064f6d1c6a06e322284eedc09dfb0 Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Thu, 5 Dec 2019 19:08:38 +0100 Subject: [PATCH 17/25] Update gb reference --- gutenberg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gutenberg b/gutenberg index ef1bebffef..a836632bf9 160000 --- a/gutenberg +++ b/gutenberg @@ -1 +1 @@ -Subproject commit ef1bebffefe2295cd50df78afd0f433378b7a0b4 +Subproject commit a836632bf90e5432cedeabea3de27c908d433b61 From f4e610aa6c45f488fdb494484393e02c04a948e1 Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Fri, 6 Dec 2019 13:44:55 +0100 Subject: [PATCH 18/25] Update gb reference --- gutenberg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gutenberg b/gutenberg index a836632bf9..3b4adb5f18 160000 --- a/gutenberg +++ b/gutenberg @@ -1 +1 @@ -Subproject commit a836632bf90e5432cedeabea3de27c908d433b61 +Subproject commit 3b4adb5f1831d0978685b1ee01c9fe761509425f From a3e6700d7a93e3ec343f54e51fbbea0b8eac28e6 Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Fri, 6 Dec 2019 19:32:41 +0100 Subject: [PATCH 19/25] Add AndroidX NonNull annotation --- .../org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java index 184358b801..250448a911 100644 --- a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java +++ b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java @@ -7,6 +7,7 @@ import android.graphics.Rect; import android.os.Handler; import android.os.Looper; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import android.text.Editable; import android.text.InputType; @@ -170,7 +171,7 @@ public boolean onTextContextMenuItem(int id) { } @Override - public float getPreformatBackgroundAlpha(@Nullable TypedArray styles) { + public float getPreformatBackgroundAlpha(@NonNull TypedArray styles) { return 0; } From 7e1db031ab27c98169afecaef98ea881cea577b0 Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Fri, 6 Dec 2019 19:35:59 +0100 Subject: [PATCH 20/25] Update gb ref --- gutenberg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gutenberg b/gutenberg index 3b4adb5f18..64e372eec7 160000 --- a/gutenberg +++ b/gutenberg @@ -1 +1 @@ -Subproject commit 3b4adb5f1831d0978685b1ee01c9fe761509425f +Subproject commit 64e372eec752e514c46bc839b54ed89179a29565 From c964d005a735fe49d3a6cd5896f39e828f20c0dc Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Sat, 7 Dec 2019 07:53:36 +0100 Subject: [PATCH 21/25] Optimize isPreTag condition --- .../org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java index 250448a911..6a63f0b63c 100644 --- a/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java +++ b/react-native-aztec/android/src/main/java/org/wordpress/mobile/ReactNativeAztec/ReactAztecText.java @@ -569,6 +569,6 @@ private boolean shouldDelegateTextChangeCalls() { } private boolean isPreTag() { - return !TextUtils.isEmpty(mTagName) && mTagName.equals(PRE_TAG); + return PRE_TAG.equals(mTagName); } } From 4b5fed313e1fbc5012cb9a8f9713d7babd05066a Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Sat, 7 Dec 2019 08:04:27 +0100 Subject: [PATCH 22/25] Update aztec version to v1.3.36 --- react-native-aztec/android/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/react-native-aztec/android/build.gradle b/react-native-aztec/android/build.gradle index d8cee25854..02d15e6ece 100644 --- a/react-native-aztec/android/build.gradle +++ b/react-native-aztec/android/build.gradle @@ -12,7 +12,7 @@ buildscript { wordpressUtilsVersion = '1.22' espressoVersion = '3.0.1' - aztecVersion = '754086b517b1da25869102482048086ef928fb5b' + aztecVersion = 'v1.3.36' } repositories { From 7ac20383e309a00229dfa6363cfe085cd9632f13 Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Mon, 9 Dec 2019 16:28:18 +0100 Subject: [PATCH 23/25] Update gb ref to master --- gutenberg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gutenberg b/gutenberg index 64e372eec7..585c4e99c6 160000 --- a/gutenberg +++ b/gutenberg @@ -1 +1 @@ -Subproject commit 64e372eec752e514c46bc839b54ed89179a29565 +Subproject commit 585c4e99c6b510a879c7d04b4e589ad300dc066b From ed582a6d9f3bf2c1b30c1d157175868882b96997 Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Mon, 9 Dec 2019 17:07:49 +0100 Subject: [PATCH 24/25] Update gb ref --- gutenberg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gutenberg b/gutenberg index 585c4e99c6..64e372eec7 160000 --- a/gutenberg +++ b/gutenberg @@ -1 +1 @@ -Subproject commit 585c4e99c6b510a879c7d04b4e589ad300dc066b +Subproject commit 64e372eec752e514c46bc839b54ed89179a29565 From ba942f701019b169c3e98407c7263de8a3a7ec31 Mon Sep 17 00:00:00 2001 From: Marko Savic Date: Mon, 9 Dec 2019 17:27:15 +0100 Subject: [PATCH 25/25] Update gb ref --- gutenberg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gutenberg b/gutenberg index 64e372eec7..091d3d5616 160000 --- a/gutenberg +++ b/gutenberg @@ -1 +1 @@ -Subproject commit 64e372eec752e514c46bc839b54ed89179a29565 +Subproject commit 091d3d5616c39dc734cd2d8a1f2df80ad08dc6ae