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 e40326280d13..f58cd29c7640 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 @@ -2255,6 +2255,7 @@ private void onXpostsSettingsCapability(boolean isXpostsCapable) { private GutenbergPropsBuilder getGutenbergPropsBuilder() { String postType = mIsPage ? "page" : "post"; + int featuredImageId = (int) mEditPostRepository.getFeaturedImageId(); String languageString = LocaleManager.getLanguage(EditPostActivity.this); String wpcomLocaleSlug = languageString.replace("_", "-").toLowerCase(Locale.ENGLISH); @@ -2281,6 +2282,7 @@ private GutenbergPropsBuilder getGutenbergPropsBuilder() { !isFreeWPCom, // Disable audio block until it's usable on free sites via "Insert from URL" capability wpcomLocaleSlug, postType, + featuredImageId, themeBundle ); } @@ -2458,6 +2460,9 @@ protected void setPostContentFromShareAction() { private void setFeaturedImageId(final long mediaId, final boolean imagePicked) { if (mEditPostSettingsFragment != null) { mEditPostSettingsFragment.updateFeaturedImage(mediaId, imagePicked); + if (mEditorFragment instanceof GutenbergEditorFragment) { + ((GutenbergEditorFragment) mEditorFragment).sendToJSFeaturedImageId((int) mediaId); + } } } @@ -2856,6 +2861,12 @@ public void onEditPostPublishedSettingsClick() { * EditorFragmentListener methods */ + @Override public void clearFeaturedImage() { + if (mEditorFragment instanceof GutenbergEditorFragment) { + ((GutenbergEditorFragment) mEditorFragment).sendToJSFeaturedImageId(0); + } + } + @Override public void onAddMediaClicked() { if (mEditorPhotoPicker.isPhotoPickerShowing()) { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/posts/EditPostSettingsFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/posts/EditPostSettingsFragment.java index 81bb590d652a..aaf155a037bb 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/posts/EditPostSettingsFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/posts/EditPostSettingsFragment.java @@ -1021,6 +1021,10 @@ public void updateFeaturedImage(long featuredImageId, boolean imagePicked) { private void clearFeaturedImage() { updateFeaturedImage(0, false); + + if (getActivity() instanceof EditPostSettingsCallback) { + ((EditPostSettingsCallback) getActivity()).clearFeaturedImage(); + } } private void updateFeaturedImageView(PostImmutableModel postModel) { @@ -1128,5 +1132,6 @@ private void updateFeaturedImageViews(FeaturedImageState state) { interface EditPostSettingsCallback { void onEditPostPublishedSettingsClick(); + void clearFeaturedImage(); } } diff --git a/build.gradle b/build.gradle index c83068ae9a2d..d44cce16486a 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { ext.kotlin_ktx_version = '1.2.0' ext.wordPressUtilsVersion = '1.30.3-beta.3' ext.detektVersion = '1.15.0' - ext.gutenbergMobileVersion = 'v1.51.0' + ext.gutenbergMobileVersion = 'develop-a26cd60c3eb95830198f4e0a17fe98adc761c022' repositories { google() 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 ae9e2924017d..d9c4b6f2f806 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 @@ -256,4 +256,8 @@ public void onStorySaveResult(final String storyFirstMediaId, final boolean succ public void onMediaModelCreatedForFile(String oldId, String newId, String oldUrl) { mWPAndroidGlueCode.mediaIdChanged(oldId, newId, oldUrl); } + + public void sendToJSFeaturedImageId(int mediaId) { + mWPAndroidGlueCode.sendToJSFeaturedImageId(mediaId); + } } 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 5010aa048492..a1d2f56de720 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 @@ -774,6 +774,10 @@ public void onClick(DialogInterface dialog, int id) { dialog.show(); } + public void sendToJSFeaturedImageId(int mediaId) { + getGutenbergContainerFragment().sendToJSFeaturedImageId(mediaId); + } + private void showCancelMediaCollectionUploadDialog(ArrayList mediaFiles) { // Display 'cancel upload' dialog AlertDialog.Builder builder = new MaterialAlertDialogBuilder(getActivity()); diff --git a/libs/editor/WordPressEditor/src/main/java/org/wordpress/android/editor/gutenberg/GutenbergPropsBuilder.kt b/libs/editor/WordPressEditor/src/main/java/org/wordpress/android/editor/gutenberg/GutenbergPropsBuilder.kt index 86587f253228..330406e848b2 100644 --- a/libs/editor/WordPressEditor/src/main/java/org/wordpress/android/editor/gutenberg/GutenbergPropsBuilder.kt +++ b/libs/editor/WordPressEditor/src/main/java/org/wordpress/android/editor/gutenberg/GutenbergPropsBuilder.kt @@ -17,6 +17,7 @@ data class GutenbergPropsBuilder( private val enableAudioBlock: Boolean, private val localeSlug: String, private val postType: String, + private val featuredImageId: Int, private val editorTheme: Bundle? ) : Parcelable { fun build(activity: Activity, isHtmlModeEnabled: Boolean) = GutenbergProps( @@ -29,6 +30,7 @@ data class GutenbergPropsBuilder( enableAudioBlock = enableAudioBlock, localeSlug = localeSlug, postType = postType, + featuredImageId = featuredImageId, editorTheme = editorTheme, translations = GutenbergUtils.getTranslations(activity), isDarkMode = GutenbergUtils.isDarkMode(activity),