From 4d566799ee779094e66e03dda319d594502f903e Mon Sep 17 00:00:00 2001 From: ed Date: Fri, 29 Jan 2021 09:50:32 +0000 Subject: [PATCH] Projucer: Only add optional Java source sets to Android projects when the module is enabled --- .../jucer_ProjectExport_Android.h | 38 +++++++++++++------ 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h index 03c58d930f..c362abf610 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h @@ -922,14 +922,13 @@ private: addModuleJavaFolderToSourceSet (javaSourceSets, javaFolder.getChildFile ("app")); } - if (project.getEnabledModules().isModuleEnabled ("juce_gui_basics") - && (getActivityClassString() == getDefaultActivityClass() || isContentSharingEnabled())) + if (isUsingDefaultActivityClass() || isContentSharingEnabled()) addOptJavaFolderToSourceSetsForModule (javaSourceSets, modules, "juce_gui_basics"); if (areRemoteNotificationsEnabled()) addOptJavaFolderToSourceSetsForModule (javaSourceSets, modules, "juce_gui_extra"); - if (project.getEnabledModules().isModuleEnabled ("juce_product_unlocking") && isInAppBillingEnabled()) + if (isInAppBillingEnabled()) addOptJavaFolderToSourceSetsForModule (javaSourceSets, modules, "juce_product_unlocking"); MemoryOutputStream mo; @@ -1223,6 +1222,7 @@ private: } } + //============================================================================== String getActivityClassString() const { auto customActivityClass = androidCustomActivityClass.get().toString(); @@ -1234,17 +1234,33 @@ private: } String getApplicationClassString() const { return androidCustomApplicationClass.get(); } + String getJNIActivityClassName() const { return getActivityClassString().replaceCharacter ('.', '/'); } - bool arePushNotificationsEnabled() const { return androidPushNotifications.get(); } - bool areRemoteNotificationsEnabled() const { return arePushNotificationsEnabled() && androidEnableRemoteNotifications.get(); } + bool isUsingDefaultActivityClass() const { return getActivityClassString() == getDefaultActivityClass(); } - bool isInAppBillingEnabled() const { return androidInAppBillingPermission.get(); } - - bool isContentSharingEnabled() const { return androidEnableContentSharing.get(); } - - String getJNIActivityClassName() const + //============================================================================== + bool arePushNotificationsEnabled() const { - return getActivityClassString().replaceCharacter ('.', '/'); + return project.getEnabledModules().isModuleEnabled ("juce_gui_extra") + && androidPushNotifications.get(); + } + + bool areRemoteNotificationsEnabled() const + { + return arePushNotificationsEnabled() + && androidEnableRemoteNotifications.get(); + } + + bool isInAppBillingEnabled() const + { + return project.getEnabledModules().isModuleEnabled ("juce_product_unlocking") + && androidInAppBillingPermission.get(); + } + + bool isContentSharingEnabled() const + { + return project.getEnabledModules().isModuleEnabled ("juce_gui_basics") + && androidEnableContentSharing.get(); } //==============================================================================