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 b818c7730674..e3b0bb9d2873 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 @@ -3294,6 +3294,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 a207c3966ec7..0fb6248856e6 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 @@ -129,6 +129,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, @@ -886,6 +887,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 d48431246989..4d1673c311ea 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 @@ -206,6 +206,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 b63700ea9988..4b7f3efb7508 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 @@ -66,6 +66,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; @@ -394,6 +395,17 @@ public void gutenbergDidSendButtonPressedAction(String buttonType) { showCancelMediaCollectionSaveDialog(mediaFiles); } }, + 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 7cdfcadb7300..08c959a727df 160000 --- a/libs/gutenberg-mobile +++ b/libs/gutenberg-mobile @@ -1 +1 @@ -Subproject commit 7cdfcadb7300ebcc5991a9b88a8bb398c9ed5dd0 +Subproject commit 08c959a727df6b11728157ae7a7c1abf51ea909b