From 5abcb19998c307226b8929d694bfed41460206ca Mon Sep 17 00:00:00 2001 From: Enej Bajgoric Date: Fri, 14 May 2021 17:37:00 -0700 Subject: [PATCH 1/7] Layout Grid Availability - featureConfig implementation --- WordPress/build.gradle | 2 ++ .../org/wordpress/android/ui/posts/EditPostActivity.java | 2 ++ .../main/java/org/wordpress/android/util/SiteUtils.java | 4 ++++ .../android/util/config/LayoutGridBlockFeatureConfig.kt | 9 +++++++++ .../android/editor/gutenberg/GutenbergPropsBuilder.kt | 2 ++ 5 files changed, 19 insertions(+) create mode 100644 WordPress/src/main/java/org/wordpress/android/util/config/LayoutGridBlockFeatureConfig.kt 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..401928dc0f9a 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; @@ -2300,6 +2301,7 @@ private GutenbergPropsBuilder getGutenbergPropsBuilder() { return new GutenbergPropsBuilder( mContactInfoBlockFeatureConfig.isEnabled() && SiteUtils.supportsContactInfoFeature(mSite), + mLayoutGridBlockFeatureConfig.isEnabled() && SiteUtils.supportsContactInfoFeature(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..2ff404fecb79 100644 --- a/WordPress/src/main/java/org/wordpress/android/util/SiteUtils.java +++ b/WordPress/src/main/java/org/wordpress/android/util/SiteUtils.java @@ -353,6 +353,10 @@ public static boolean supportsContactInfoFeature(SiteModel site) { 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) { return site != null && !site.isAutomatedTransfer() && SiteUtils.hasNonJetpackBusinessPlan(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..92d66ddb96fa --- /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) \ No newline at end of file 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, From 6f2e198273851aa3c696618ab201260b85d1f9b7 Mon Sep 17 00:00:00 2001 From: Enej Bajgoric Date: Mon, 17 May 2021 14:49:22 -0700 Subject: [PATCH 2/7] Minor fix --- .../java/org/wordpress/android/ui/posts/EditPostActivity.java | 1 + 1 file changed, 1 insertion(+) 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 401928dc0f9a..c573e5876481 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 @@ -407,6 +407,7 @@ enum RestartEditorOptions { @Inject StoriesEventListener mStoriesEventListener; @Inject ContactInfoBlockFeatureConfig mContactInfoBlockFeatureConfig; @Inject UpdateFeaturedImageUseCase mUpdateFeaturedImageUseCase; + @Inject LayoutGridBlockFeatureConfig mLayoutGridBlockFeatureConfig; private StorePostViewModel mViewModel; private StorageUtilsViewModel mStorageUtilsViewModel; From 2ab3600ddbf1c3e955193d1ac8e4c06620e237be Mon Sep 17 00:00:00 2001 From: Enej Bajgoric Date: Wed, 19 May 2021 10:09:04 -0700 Subject: [PATCH 3/7] Fix typo - call the correct function --- .../java/org/wordpress/android/ui/posts/EditPostActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 c573e5876481..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 @@ -2302,7 +2302,7 @@ private GutenbergPropsBuilder getGutenbergPropsBuilder() { return new GutenbergPropsBuilder( mContactInfoBlockFeatureConfig.isEnabled() && SiteUtils.supportsContactInfoFeature(mSite), - mLayoutGridBlockFeatureConfig.isEnabled() && SiteUtils.supportsContactInfoFeature(mSite), + mLayoutGridBlockFeatureConfig.isEnabled() && SiteUtils.supportsLayoutGridFeature(mSite), SiteUtils.supportsStoriesFeature(mSite), mSite.isUsingWpComRestApi(), enableXPosts, From 1cdc129ce5fe2ac27d25707ce63dcc8f240955da Mon Sep 17 00:00:00 2001 From: Enej Bajgoric Date: Thu, 20 May 2021 10:16:09 -0700 Subject: [PATCH 4/7] Fix missing & --- .../src/main/java/org/wordpress/android/util/SiteUtils.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 2ff404fecb79..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,11 +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()); + return site != null && (site.isWPCom() || site.isWPComAtomic()); } public static boolean isNonAtomicBusinessPlanSite(@Nullable SiteModel site) { From 3fc8d2b9c9634241e3d847f51213ccd346fd9bab Mon Sep 17 00:00:00 2001 From: Enej Bajgoric Date: Thu, 20 May 2021 10:31:26 -0700 Subject: [PATCH 5/7] Update the build grade to the PR fix. --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 2759f8bd998d..2461b82ccaba 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-alpha2' repositories { maven { From 05acd75766d0bc3c1efb265dade036aa3bb0c16c Mon Sep 17 00:00:00 2001 From: Enej Bajgoric Date: Mon, 21 Jun 2021 17:37:22 -0700 Subject: [PATCH 6/7] Bump gutenberg-mobile to v1.56.0-alpha3, which contains the gutenberg version with the bridge changes --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 2461b82ccaba..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-alpha2' + ext.gutenbergMobileVersion = 'v1.56.0-alpha3' repositories { maven { From 8c63e255672e682a961007709608013906a84631 Mon Sep 17 00:00:00 2001 From: Enej Bajgoric Date: Mon, 21 Jun 2021 20:56:01 -0700 Subject: [PATCH 7/7] Add new line to fix lint --- .../android/util/config/LayoutGridBlockFeatureConfig.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 92d66ddb96fa..dc15ad8eeb45 100644 --- a/WordPress/src/main/java/org/wordpress/android/util/config/LayoutGridBlockFeatureConfig.kt +++ b/WordPress/src/main/java/org/wordpress/android/util/config/LayoutGridBlockFeatureConfig.kt @@ -6,4 +6,4 @@ import javax.inject.Inject @FeatureInDevelopment class LayoutGridBlockFeatureConfig -@Inject constructor(appConfig: AppConfig) : FeatureConfig(appConfig, BuildConfig.LAYOUT_GRID_BLOCK_AVAILABLE) \ No newline at end of file +@Inject constructor(appConfig: AppConfig) : FeatureConfig(appConfig, BuildConfig.LAYOUT_GRID_BLOCK_AVAILABLE)