From eebec3ea468b15bc91030d88f63c23bf72d04d99 Mon Sep 17 00:00:00 2001 From: Akash Yadav Date: Thu, 11 Jan 2024 19:01:48 +0530 Subject: [PATCH] fix(templates): remove unnecessary theme declaration from no-AndroidX template (fixes #1623) --- .../base/util/AndroidManifestBuilder.kt | 6 +++- .../noAndroidXActivityTemplate.kt | 11 ++++--- .../noAndroidXActivity/noAndroidXTheme.kt | 31 ------------------- 3 files changed, 12 insertions(+), 36 deletions(-) delete mode 100644 templates-impl/src/main/java/com/itsaky/androidide/templates/impl/noAndroidXActivity/noAndroidXTheme.kt diff --git a/templates-api/src/main/java/com/itsaky/androidide/templates/base/util/AndroidManifestBuilder.kt b/templates-api/src/main/java/com/itsaky/androidide/templates/base/util/AndroidManifestBuilder.kt index ea1211898..210eff4a0 100644 --- a/templates-api/src/main/java/com/itsaky/androidide/templates/base/util/AndroidManifestBuilder.kt +++ b/templates-api/src/main/java/com/itsaky/androidide/templates/base/util/AndroidManifestBuilder.kt @@ -179,7 +179,11 @@ class AndroidManifestBuilder { androidAttr("roundIcon", (roundIcon ?: icon).value()) androidAttr("label", "@string/${appLabelRes}") androidAttr("supportsRtl", rtl.toString()) - androidAttr("theme", "@style/${themeRes}") + + if (themeRes.isNotBlank()) { + androidAttr("theme", "@style/${themeRes}") + } + configurators[APPLICATION_ATTR]?.forEach { configurator -> configurator() } closeStartElement() diff --git a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/noAndroidXActivity/noAndroidXActivityTemplate.kt b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/noAndroidXActivity/noAndroidXActivityTemplate.kt index 0ceb3d784..8a69ff65d 100644 --- a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/noAndroidXActivity/noAndroidXActivityTemplate.kt +++ b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/noAndroidXActivity/noAndroidXActivityTemplate.kt @@ -24,7 +24,6 @@ import com.itsaky.androidide.templates.base.util.AndroidModuleResManager.Resourc import com.itsaky.androidide.templates.base.util.AndroidModuleResManager.ResourceType.VALUES import com.itsaky.androidide.templates.impl.R import com.itsaky.androidide.templates.impl.base.createRecipe -import com.itsaky.androidide.templates.impl.base.emptyThemesAndColors import com.itsaky.androidide.templates.impl.base.emptyValuesFile import com.itsaky.androidide.templates.impl.base.writeMainActivity import com.itsaky.androidide.templates.impl.baseProjectImpl @@ -36,17 +35,21 @@ fun noAndroidXActivityProject() = baseProjectImpl { uiMode = ResTableConfig.UI_MODE.NIGHT_YES } defaultAppModule(addAndroidX = false) { + + // do not set a theme resource to the application + manifest.themeRes = "" + recipe = createRecipe { res { // values writeXmlResource("colors", VALUES, source = emptyValuesFile()) - writeXmlResource("themes", VALUES, source = noAndroidXTheme("Light")) + writeXmlResource("themes", VALUES, source = emptyValuesFile()) // values-night writeXmlResource("colors", VALUES, config = configNight, - source = emptyValuesFile()) + source = emptyValuesFile()) writeXmlResource("themes", VALUES, config = configNight, - source = noAndroidXTheme("Dark")) + source = emptyValuesFile()) writeXmlResource("activity_main", LAYOUT, source = noAndroidXActivityLayout()) diff --git a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/noAndroidXActivity/noAndroidXTheme.kt b/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/noAndroidXActivity/noAndroidXTheme.kt deleted file mode 100644 index a1bcc18c8..000000000 --- a/templates-impl/src/main/java/com/itsaky/androidide/templates/impl/noAndroidXActivity/noAndroidXTheme.kt +++ /dev/null @@ -1,31 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.templates.impl.noAndroidXActivity - -import com.itsaky.androidide.templates.base.AndroidModuleTemplateBuilder - -internal fun AndroidModuleTemplateBuilder.noAndroidXTheme(themeMode: String) = """ - - - - -