Browse Source

Merge pull request #80569 from m4gr3d/show_in_app_library_settings_main

Add export setting to control whether to show the Godot app in the app library
Rémi Verschelde 2 years ago
parent
commit
6c3735cb7c

+ 4 - 0
platform/android/doc_classes/EditorExportPlatformAndroid.xml

@@ -110,6 +110,10 @@
 		<member name="package/show_in_android_tv" type="bool" setter="" getter="">
 		<member name="package/show_in_android_tv" type="bool" setter="" getter="">
 			If [code]true[/code], this app will show in Android TV launcher UI.
 			If [code]true[/code], this app will show in Android TV launcher UI.
 		</member>
 		</member>
+		<member name="package/show_in_app_library" type="bool" setter="" getter="">
+			If [code]true[/code], this app will show in the device's app library.
+			[b]Note:[/b] This is [code]true[/code] by default.
+		</member>
 		<member name="package/signed" type="bool" setter="" getter="">
 		<member name="package/signed" type="bool" setter="" getter="">
 			If [code]true[/code], package signing is enabled.
 			If [code]true[/code], package signing is enabled.
 		</member>
 		</member>

+ 1 - 0
platform/android/export/export_plugin.cpp

@@ -1838,6 +1838,7 @@ void EditorExportPlatformAndroid::get_export_options(List<ExportOption> *r_optio
 	r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "package/retain_data_on_uninstall"), false));
 	r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "package/retain_data_on_uninstall"), false));
 	r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "package/exclude_from_recents"), false));
 	r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "package/exclude_from_recents"), false));
 	r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "package/show_in_android_tv"), false));
 	r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "package/show_in_android_tv"), false));
+	r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "package/show_in_app_library"), true));
 	r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "package/show_as_launcher_app"), false));
 	r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "package/show_as_launcher_app"), false));
 
 
 	r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, launcher_icon_option, PROPERTY_HINT_FILE, "*.png"), ""));
 	r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, launcher_icon_option, PROPERTY_HINT_FILE, "*.png"), ""));

+ 6 - 2
platform/android/export/gradle_export_util.cpp

@@ -269,7 +269,12 @@ String _get_activity_tag(const Ref<EditorExportPlatform> &p_export_platform, con
 
 
 	manifest_activity_text += "            <intent-filter>\n"
 	manifest_activity_text += "            <intent-filter>\n"
 							  "                <action android:name=\"android.intent.action.MAIN\" />\n"
 							  "                <action android:name=\"android.intent.action.MAIN\" />\n"
-							  "                <category android:name=\"android.intent.category.LAUNCHER\" />\n";
+							  "                <category android:name=\"android.intent.category.DEFAULT\" />\n";
+
+	bool show_in_app_library = p_preset->get("package/show_in_app_library");
+	if (show_in_app_library) {
+		manifest_activity_text += "                <category android:name=\"android.intent.category.LAUNCHER\" />\n";
+	}
 
 
 	bool uses_leanback_category = p_preset->get("package/show_in_android_tv");
 	bool uses_leanback_category = p_preset->get("package/show_in_android_tv");
 	if (uses_leanback_category) {
 	if (uses_leanback_category) {
@@ -279,7 +284,6 @@ String _get_activity_tag(const Ref<EditorExportPlatform> &p_export_platform, con
 	bool uses_home_category = p_preset->get("package/show_as_launcher_app");
 	bool uses_home_category = p_preset->get("package/show_as_launcher_app");
 	if (uses_home_category) {
 	if (uses_home_category) {
 		manifest_activity_text += "                <category android:name=\"android.intent.category.HOME\" />\n";
 		manifest_activity_text += "                <category android:name=\"android.intent.category.HOME\" />\n";
-		manifest_activity_text += "                <category android:name=\"android.intent.category.DEFAULT\" />\n";
 	}
 	}
 
 
 	manifest_activity_text += "            </intent-filter>\n";
 	manifest_activity_text += "            </intent-filter>\n";

+ 1 - 0
platform/android/java/app/AndroidManifest.xml

@@ -45,6 +45,7 @@
 
 
             <intent-filter>
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="android.intent.category.LAUNCHER" />
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
             </intent-filter>
         </activity>
         </activity>

+ 1 - 0
platform/android/java/editor/src/main/AndroidManifest.xml

@@ -45,6 +45,7 @@
 
 
             <intent-filter>
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="android.intent.category.LAUNCHER" />
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
             </intent-filter>
         </activity>
         </activity>