diff --git a/WordPress/src/main/java/org/wordpress/android/ui/posts/EditPostActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/posts/EditPostActivity.java index 5c6b2b89b99d..b7cdcd4c7d3d 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/posts/EditPostActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/posts/EditPostActivity.java @@ -3332,6 +3332,14 @@ private void showSuggestions(SuggestionType type, Consumer onResult) { ActivityLauncher.viewSuggestionsForResult(this, mSite, type); } + @Override public void onGutenbergEditorSetFocalPointPickerTooltipShown(boolean tooltipShown) { + AppPrefs.setGutenbergFocalPointPickerTooltipShown(tooltipShown); + } + + @Override public boolean onGutenbergEditorRequestFocalPointPickerTooltipShown() { + return AppPrefs.getGutenbergFocalPointPickerTooltipShown(); + } + @Override public void onHtmlModeToggledInToolbar() { toggleHtmlModeOnMenu(); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefs.java b/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefs.java index b1eb0cc1dd91..2207e9fbb000 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefs.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppPrefs.java @@ -130,6 +130,7 @@ public enum DeletablePrefKey implements PrefKey { SHOULD_AUTO_ENABLE_GUTENBERG_FOR_THE_NEW_POSTS, SHOULD_AUTO_ENABLE_GUTENBERG_FOR_THE_NEW_POSTS_PHASE_2, GUTENBERG_OPT_IN_DIALOG_SHOWN, + GUTENBERG_FOCAL_POINT_PICKER_TOOLTIP_SHOWN, IS_QUICK_START_NOTICE_REQUIRED, LAST_SKIPPED_QUICK_START_TASK, @@ -889,6 +890,14 @@ public static void removeSupportName() { remove(DeletablePrefKey.SUPPORT_NAME); } + public static void setGutenbergFocalPointPickerTooltipShown(boolean tooltipShown) { + setBoolean(DeletablePrefKey.GUTENBERG_FOCAL_POINT_PICKER_TOOLTIP_SHOWN, tooltipShown); + } + + public static boolean getGutenbergFocalPointPickerTooltipShown() { + return getBoolean(DeletablePrefKey.GUTENBERG_FOCAL_POINT_PICKER_TOOLTIP_SHOWN, false); + } + /* * returns a list of local IDs of sites recently chosen in the site picker */ diff --git a/libs/editor/WordPressEditor/src/main/java/org/wordpress/android/editor/EditorFragmentAbstract.java b/libs/editor/WordPressEditor/src/main/java/org/wordpress/android/editor/EditorFragmentAbstract.java index 8096b6952804..a230aa7ddbd7 100644 --- a/libs/editor/WordPressEditor/src/main/java/org/wordpress/android/editor/EditorFragmentAbstract.java +++ b/libs/editor/WordPressEditor/src/main/java/org/wordpress/android/editor/EditorFragmentAbstract.java @@ -208,6 +208,8 @@ public interface EditorFragmentListener extends DialogVisibilityProvider { void onGutenbergEditorSessionTemplatePreviewTracked(String template); void showUserSuggestions(Consumer onResult); void showXpostSuggestions(Consumer onResult); + void onGutenbergEditorSetFocalPointPickerTooltipShown(boolean tooltipShown); + boolean onGutenbergEditorRequestFocalPointPickerTooltipShown(); String getErrorMessageFromMedia(int mediaId); void showJetpackSettings(); void onStoryComposerLoadRequested(ArrayList mediaFiles, String blockId); diff --git a/libs/editor/WordPressEditor/src/main/java/org/wordpress/android/editor/gutenberg/GutenbergContainerFragment.java b/libs/editor/WordPressEditor/src/main/java/org/wordpress/android/editor/gutenberg/GutenbergContainerFragment.java index 2544fafca7c3..e23ebaf32602 100644 --- a/libs/editor/WordPressEditor/src/main/java/org/wordpress/android/editor/gutenberg/GutenbergContainerFragment.java +++ b/libs/editor/WordPressEditor/src/main/java/org/wordpress/android/editor/gutenberg/GutenbergContainerFragment.java @@ -26,6 +26,7 @@ import org.wordpress.mobile.WPAndroidGlue.WPAndroidGlueCode.OnLogGutenbergUserEventListener; import org.wordpress.mobile.WPAndroidGlue.WPAndroidGlueCode.OnReattachMediaSavingQueryListener; import org.wordpress.mobile.WPAndroidGlue.WPAndroidGlueCode.OnReattachMediaUploadQueryListener; +import org.wordpress.mobile.WPAndroidGlue.WPAndroidGlueCode.OnFocalPointPickerTooltipShownEventListener; import org.wordpress.mobile.WPAndroidGlue.WPAndroidGlueCode.OnMediaEditorListener; import org.wordpress.mobile.WPAndroidGlue.WPAndroidGlueCode.OnMediaLibraryButtonListener; import org.wordpress.mobile.WPAndroidGlue.WPAndroidGlueCode.OnMediaFilesCollectionBasedBlockEditorListener; @@ -70,6 +71,7 @@ public void attachToContainer(ViewGroup viewGroup, OnMediaLibraryButtonListener ShowSuggestionsUtil showSuggestionsUtil, OnMediaFilesCollectionBasedBlockEditorListener onMediaFilesCollectionBasedBlockEditorListener, + OnFocalPointPickerTooltipShownEventListener onFPPTooltipShownEventListener, boolean isDarkMode) { mWPAndroidGlueCode.attachToContainer( viewGroup, @@ -87,6 +89,7 @@ public void attachToContainer(ViewGroup viewGroup, OnMediaLibraryButtonListener onGutenbergDidSendButtonPressedActionListener, showSuggestionsUtil, onMediaFilesCollectionBasedBlockEditorListener, + onFPPTooltipShownEventListener, isDarkMode); } diff --git a/libs/editor/WordPressEditor/src/main/java/org/wordpress/android/editor/gutenberg/GutenbergEditorFragment.java b/libs/editor/WordPressEditor/src/main/java/org/wordpress/android/editor/gutenberg/GutenbergEditorFragment.java index c7dd781573f1..37ccff0bc8ab 100644 --- a/libs/editor/WordPressEditor/src/main/java/org/wordpress/android/editor/gutenberg/GutenbergEditorFragment.java +++ b/libs/editor/WordPressEditor/src/main/java/org/wordpress/android/editor/gutenberg/GutenbergEditorFragment.java @@ -67,6 +67,7 @@ import org.wordpress.mobile.WPAndroidGlue.WPAndroidGlueCode.OnLogGutenbergUserEventListener; import org.wordpress.mobile.WPAndroidGlue.WPAndroidGlueCode.OnReattachMediaSavingQueryListener; import org.wordpress.mobile.WPAndroidGlue.WPAndroidGlueCode.OnReattachMediaUploadQueryListener; +import org.wordpress.mobile.WPAndroidGlue.WPAndroidGlueCode.OnFocalPointPickerTooltipShownEventListener; import org.wordpress.mobile.WPAndroidGlue.WPAndroidGlueCode.OnMediaLibraryButtonListener; import org.wordpress.mobile.WPAndroidGlue.WPAndroidGlueCode.OnMediaFilesCollectionBasedBlockEditorListener; @@ -457,6 +458,17 @@ public void gutenbergDidSendButtonPressedAction(String buttonType) { } } }, + new OnFocalPointPickerTooltipShownEventListener() { + @Override + public void onSetFocalPointPickerTooltipShown(boolean tooltipShown) { + mEditorFragmentListener.onGutenbergEditorSetFocalPointPickerTooltipShown(tooltipShown); + } + + @Override + public boolean onRequestFocalPointPickerTooltipShown() { + return mEditorFragmentListener.onGutenbergEditorRequestFocalPointPickerTooltipShown(); + } + }, GutenbergUtils.isDarkMode(getActivity())); // request dependency injection. Do this after setting min/max dimensions diff --git a/libs/gutenberg-mobile b/libs/gutenberg-mobile index 345c0984ddb1..c51c046b610c 160000 --- a/libs/gutenberg-mobile +++ b/libs/gutenberg-mobile @@ -1 +1 @@ -Subproject commit 345c0984ddb1102b275c68f3ff45342c49968889 +Subproject commit c51c046b610c7b80fee818eb0ebd7418ead938cc