diff --git a/WordPress/build.gradle b/WordPress/build.gradle index abd0d7c73f88..da3f0824a655 100644 --- a/WordPress/build.gradle +++ b/WordPress/build.gradle @@ -104,6 +104,7 @@ android { buildConfigField "boolean", "MY_SITE_IMPROVEMENTS", "false" buildConfigField "boolean", "SEEN_UNSEEN_WITH_COUNTER", "false" buildConfigField "boolean", "CONTACT_INFO_BLOCK_AVAILABLE", "true" + buildConfigField "boolean", "LAYOUT_GRID_BLOCK_AVAILABLE", "true" buildConfigField "boolean", "LIKES_ENHANCEMENTS", "false" buildConfigField "boolean", "IS_JETPACK_APP", "false" buildConfigField "String", "TRACKS_EVENT_PREFIX", '"wpandroid_"' @@ -158,6 +159,7 @@ android { buildConfigField "long", "REMOTE_CONFIG_FETCH_INTERVAL", "3600" buildConfigField "boolean", "ENABLE_FEATURE_CONFIGURATION", "false" buildConfigField "boolean", "CONTACT_INFO_BLOCK_AVAILABLE", "true" + buildConfigField "boolean", "LAYOUT_GRID_BLOCK_AVAILABLE", "false" } zalpha { // alpha version - enable experimental features 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 6c49cac229e3..c50cc17bb9b4 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 @@ -210,6 +210,7 @@ import org.wordpress.android.util.analytics.AnalyticsUtils; import org.wordpress.android.util.analytics.AnalyticsUtils.BlockEditorEnabledSource; import org.wordpress.android.util.config.ContactInfoBlockFeatureConfig; +import org.wordpress.android.util.config.LayoutGridBlockFeatureConfig; import org.wordpress.android.util.crashlogging.CrashLoggingExtKt; import org.wordpress.android.util.helpers.MediaFile; import org.wordpress.android.util.helpers.MediaGallery; @@ -406,6 +407,7 @@ enum RestartEditorOptions { @Inject StoriesEventListener mStoriesEventListener; @Inject ContactInfoBlockFeatureConfig mContactInfoBlockFeatureConfig; @Inject UpdateFeaturedImageUseCase mUpdateFeaturedImageUseCase; + @Inject LayoutGridBlockFeatureConfig mLayoutGridBlockFeatureConfig; private StorePostViewModel mViewModel; private StorageUtilsViewModel mStorageUtilsViewModel; @@ -2300,6 +2302,7 @@ private GutenbergPropsBuilder getGutenbergPropsBuilder() { return new GutenbergPropsBuilder( mContactInfoBlockFeatureConfig.isEnabled() && SiteUtils.supportsContactInfoFeature(mSite), + mLayoutGridBlockFeatureConfig.isEnabled() && SiteUtils.supportsLayoutGridFeature(mSite), SiteUtils.supportsStoriesFeature(mSite), mSite.isUsingWpComRestApi(), enableXPosts, diff --git a/WordPress/src/main/java/org/wordpress/android/util/SiteUtils.java b/WordPress/src/main/java/org/wordpress/android/util/SiteUtils.java index e628a1c8bb47..99a678f25ba3 100644 --- a/WordPress/src/main/java/org/wordpress/android/util/SiteUtils.java +++ b/WordPress/src/main/java/org/wordpress/android/util/SiteUtils.java @@ -350,7 +350,11 @@ public static boolean supportsStoriesFeature(SiteModel site) { } public static boolean supportsContactInfoFeature(SiteModel site) { - return site != null & (site.isWPCom() || checkMinimalJetpackVersion(site, WP_CONTACT_INFO_JETPACK_VERSION)); + return site != null && (site.isWPCom() || checkMinimalJetpackVersion(site, WP_CONTACT_INFO_JETPACK_VERSION)); + } + + public static boolean supportsLayoutGridFeature(SiteModel site) { + return site != null && (site.isWPCom() || site.isWPComAtomic()); } public static boolean isNonAtomicBusinessPlanSite(@Nullable SiteModel site) { diff --git a/WordPress/src/main/java/org/wordpress/android/util/config/LayoutGridBlockFeatureConfig.kt b/WordPress/src/main/java/org/wordpress/android/util/config/LayoutGridBlockFeatureConfig.kt new file mode 100644 index 000000000000..dc15ad8eeb45 --- /dev/null +++ b/WordPress/src/main/java/org/wordpress/android/util/config/LayoutGridBlockFeatureConfig.kt @@ -0,0 +1,9 @@ +package org.wordpress.android.util.config + +import org.wordpress.android.BuildConfig +import org.wordpress.android.annotation.FeatureInDevelopment +import javax.inject.Inject + +@FeatureInDevelopment +class LayoutGridBlockFeatureConfig +@Inject constructor(appConfig: AppConfig) : FeatureConfig(appConfig, BuildConfig.LAYOUT_GRID_BLOCK_AVAILABLE) diff --git a/build.gradle b/build.gradle index 2759f8bd998d..283542cdc012 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ buildscript { ext.wordPressUtilsVersion = 'develop-bb54ee34c5fec5fa7375ce90a356adb5adbdcae0' ext.wordPressLoginVersion = '0.0.2' ext.detektVersion = '1.15.0' - ext.gutenbergMobileVersion = 'v1.56.0-alpha1' + ext.gutenbergMobileVersion = 'v1.56.0-alpha3' repositories { maven { 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 05e40d8ca33f..76083423690c 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 @@ -9,6 +9,7 @@ import org.wordpress.mobile.WPAndroidGlue.GutenbergProps @Parcelize data class GutenbergPropsBuilder( private val enableContactInfoBlock: Boolean, + private val enableLayoutGridBlock: Boolean, private val enableMediaFilesCollectionBlocks: Boolean, private val enableMentions: Boolean, private val enableXPosts: Boolean, @@ -24,6 +25,7 @@ data class GutenbergPropsBuilder( ) : Parcelable { fun build(activity: Activity, isHtmlModeEnabled: Boolean) = GutenbergProps( enableContactInfoBlock = enableContactInfoBlock, + enableLayoutGridBlock = enableLayoutGridBlock, enableMediaFilesCollectionBlocks = enableMediaFilesCollectionBlocks, enableMentions = enableMentions, enableXPosts = enableXPosts,