diff --git a/api/revanced-patches.api b/api/revanced-patches.api index 4832ac312..3c16fdeeb 100644 --- a/api/revanced-patches.api +++ b/api/revanced-patches.api @@ -1128,6 +1128,12 @@ public final class app/revanced/patches/youtube/layout/branding/CustomBrandingPa public fun execute (Lapp/revanced/patcher/data/ResourceContext;)V } +public final class app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch : app/revanced/patcher/patch/ResourcePatch { + public static final field INSTANCE Lapp/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch; + public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V + public fun execute (Lapp/revanced/patcher/data/ResourceContext;)V +} + public final class app/revanced/patches/youtube/layout/branding/header/PremiumHeadingPatch : app/revanced/patcher/patch/ResourcePatch { public static final field INSTANCE Lapp/revanced/patches/youtube/layout/branding/header/PremiumHeadingPatch; public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt index 0730c15ea..b5a214327 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt @@ -93,7 +93,7 @@ object CustomBrandingPatch : ResourcePatch() { ) } } - } else resourceGroups.forEach { context.copyResources("branding", it) } + } else resourceGroups.forEach { context.copyResources("custom-branding", it) } } } diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt new file mode 100644 index 000000000..d1dfe7222 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt @@ -0,0 +1,137 @@ +package app.revanced.patches.youtube.layout.branding.header + +import app.revanced.patcher.data.ResourceContext +import app.revanced.patcher.patch.PatchException +import app.revanced.patcher.patch.ResourcePatch +import app.revanced.patcher.patch.annotation.CompatiblePackage +import app.revanced.patcher.patch.annotation.Patch +import app.revanced.patcher.patch.options.PatchOption.PatchExtensions.stringPatchOption +import app.revanced.util.ResourceGroup +import app.revanced.util.copyResources +import java.io.File + +@Patch( + name = "Change header", + description = "Change the in app header. Defaults to the ReVanced header.", + compatiblePackages = [ + CompatiblePackage("com.google.android.youtube") + ], + use = false +) +@Suppress("unused") +object ChangeHeaderPatch : ResourcePatch() { + private const val HEADER_NAME = "yt_wordmark_header" + private const val PREMIUM_HEADER_NAME = "yt_premium_wordmark_header" + private const val REVANCED_HEADER_NAME = "ReVanced" + private const val REVANCED_BORDERLESS_HEADER_NAME = "ReVanced (borderless logo)" + + private val targetResourceDirectoryNames = arrayOf( + "xxxhdpi", + "xxhdpi", + "xhdpi", + "mdpi", + "hdpi", + ).map { dpi -> + "drawable-$dpi" + } + + private val variants = arrayOf("light", "dark") + + private val header by stringPatchOption( + key = "header", + default = REVANCED_BORDERLESS_HEADER_NAME, + values = mapOf( + "YouTube" to HEADER_NAME, + "YouTube Premium" to PREMIUM_HEADER_NAME, + "ReVanced" to REVANCED_HEADER_NAME, + "ReVanced (borderless logo)" to REVANCED_BORDERLESS_HEADER_NAME, + ), + title = "Header", + description = """ + The header to use in top bar or the path to a custom header. + The path to a folder containing one or more of the following folders matching the DPI of your device: + + ${targetResourceDirectoryNames.joinToString("\n") { "- $it" }} + + These folders must contain the following files: + + ${variants.joinToString("\n") { variant -> "- ${HEADER_NAME}_$variant.png" }} + """.trimIndent(), + required = true, + ) + + override fun execute(context: ResourceContext) { + // The directories to copy the header to. + val targetResourceDirectories = targetResourceDirectoryNames.mapNotNull { + context["res"].resolve(it).takeIf(File::exists) + } + // The files to replace in the target directories. + val targetResourceFiles = targetResourceDirectoryNames.map { directoryName -> + ResourceGroup( + directoryName, + *variants.map { variant -> "${HEADER_NAME}_$variant.png" }.toTypedArray() + ) + } + + /** + * A function that overwrites both header variants from [from] to [to] in the target resource directories. + */ + val overwriteFromTo: (String, String) -> Unit = { from: String, to: String -> + targetResourceDirectories.forEach { directory -> + variants.forEach { variant -> + val fromPath = directory.resolve("${from}_$variant.png") + val toPath = directory.resolve("${to}_$variant.png") + + fromPath.copyTo(toPath, true) + } + } + } + + // Functions to overwrite the header to the different variants. + val toPremium = { overwriteFromTo(PREMIUM_HEADER_NAME, HEADER_NAME) } + val toHeader = { overwriteFromTo(HEADER_NAME, PREMIUM_HEADER_NAME) } + val toReVanced = { + // Copy the ReVanced header to the resource directories. + targetResourceFiles.forEach { context.copyResources("change-header/revanced", it) } + + // Overwrite the premium with the custom header as well. + toHeader() + } + val toReVancedBorderless = { + // Copy the ReVanced borderless header to the resource directories. + targetResourceFiles.forEach { context.copyResources("change-header/revanced-borderless", it) } + + // Overwrite the premium with the custom header as well. + toHeader() + } + val toCustom = { + var copiedReplacementImages = false + // For all the resource groups in the custom header folder, copy them to the resource directories. + File(header!!).listFiles { file -> file.isDirectory }?.forEach { folder -> + val targetDirectory = context["res"].resolve(folder.name) + // Skip if the target directory (DPI) doesn't exist. + if (!targetDirectory.exists()) return@forEach + + folder.listFiles { file -> file.isFile }?.forEach { + val targetResourceFile = targetDirectory.resolve(it.name) + + it.copyTo(targetResourceFile, true) + copiedReplacementImages = true + } + } + + if (!copiedReplacementImages) throw PatchException("Could not find any custom images resources in directory: $header") + + // Overwrite the premium with the custom header as well. + toHeader() + } + + when (header) { + HEADER_NAME -> toHeader + PREMIUM_HEADER_NAME -> toPremium + REVANCED_HEADER_NAME -> toReVanced + REVANCED_BORDERLESS_HEADER_NAME -> toReVancedBorderless + else -> toCustom + }() + } +} diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/PremiumHeadingPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/PremiumHeadingPatch.kt index a255c868b..5b88c8c28 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/PremiumHeadingPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/PremiumHeadingPatch.kt @@ -1,62 +1,9 @@ package app.revanced.patches.youtube.layout.branding.header import app.revanced.patcher.data.ResourceContext -import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.ResourcePatch -import app.revanced.patcher.patch.annotation.CompatiblePackage -import app.revanced.patcher.patch.annotation.Patch -import app.revanced.patcher.patch.options.PatchOption.PatchExtensions.booleanPatchOption -import kotlin.io.path.copyTo -@Patch( - name = "Premium heading", - description = "Adds or removes the YouTube Premium logo at the top of feeds.", - compatiblePackages = [ - CompatiblePackage("com.google.android.youtube") - ] -) -@Suppress("unused") +@Deprecated("Use PremiumHeadingPatch instead.") object PremiumHeadingPatch : ResourcePatch() { - private const val DEFAULT_HEADING_RES = "yt_wordmark_header" - private const val PREMIUM_HEADING_RES = "yt_premium_wordmark_header" - - private val usePremiumHeading by booleanPatchOption( - key = "usePremiumHeading", - default = true, - title = "Use premium heading", - description = "Whether to use the YouTube Premium logo.", - required = true, - ) - - override fun execute(context: ResourceContext) { - val resDirectory = context["res"] - - val (original, replacement) = if (usePremiumHeading!!) - PREMIUM_HEADING_RES to DEFAULT_HEADING_RES - else - DEFAULT_HEADING_RES to PREMIUM_HEADING_RES - - val variants = arrayOf("light", "dark") - - arrayOf( - "xxxhdpi", - "xxhdpi", - "xhdpi", - "hdpi", - "mdpi" - ).mapNotNull { dpi -> - resDirectory.resolve("drawable-$dpi").takeIf { it.exists() }?.toPath() - }.also { - if (it.isEmpty()) - throw PatchException("The drawable folder can not be found. Therefore, the patch can not be applied.") - }.forEach { path -> - - variants.forEach { mode -> - val fromPath = path.resolve("${original}_$mode.png") - val toPath = path.resolve("${replacement}_$mode.png") - - fromPath.copyTo(toPath, true) - } - } - } + override fun execute(context: ResourceContext) = ChangeHeaderPatch.execute(context) } diff --git a/src/main/kotlin/app/revanced/util/ResourceUtils.kt b/src/main/kotlin/app/revanced/util/ResourceUtils.kt index d7aef39b6..02425150e 100644 --- a/src/main/kotlin/app/revanced/util/ResourceUtils.kt +++ b/src/main/kotlin/app/revanced/util/ResourceUtils.kt @@ -5,6 +5,7 @@ import app.revanced.patcher.util.DomFileEditor import app.revanced.patches.shared.settings.preference.impl.StringResource import app.revanced.patches.youtube.misc.settings.SettingsPatch import org.w3c.dom.Node +import java.io.InputStream import java.nio.file.Files import java.nio.file.StandardCopyOption @@ -53,13 +54,18 @@ fun ResourceContext.copyResources(sourceResourceDirectory: String, vararg resour resourceGroup.resources.forEach { resource -> val resourceFile = "${resourceGroup.resourceDirectoryName}/$resource" Files.copy( - classLoader.getResourceAsStream("$sourceResourceDirectory/$resourceFile")!!, + inputStreamFromBundledResource(sourceResourceDirectory, resourceFile)!!, targetResourceDirectory.resolve(resourceFile).toPath(), StandardCopyOption.REPLACE_EXISTING ) } } } +internal fun inputStreamFromBundledResource( + sourceResourceDirectory: String, + resourceFile: String +): InputStream? = classLoader.getResourceAsStream("$sourceResourceDirectory/$resourceFile") + /** * Resource names mapped to their corresponding resource data. * @param resourceDirectoryName The name of the directory of the resource. diff --git a/src/main/resources/change-header/revanced-borderless/drawable-hdpi/yt_wordmark_header_dark.png b/src/main/resources/change-header/revanced-borderless/drawable-hdpi/yt_wordmark_header_dark.png new file mode 100644 index 000000000..17e353903 Binary files /dev/null and b/src/main/resources/change-header/revanced-borderless/drawable-hdpi/yt_wordmark_header_dark.png differ diff --git a/src/main/resources/change-header/revanced-borderless/drawable-hdpi/yt_wordmark_header_light.png b/src/main/resources/change-header/revanced-borderless/drawable-hdpi/yt_wordmark_header_light.png new file mode 100644 index 000000000..d4998c531 Binary files /dev/null and b/src/main/resources/change-header/revanced-borderless/drawable-hdpi/yt_wordmark_header_light.png differ diff --git a/src/main/resources/change-header/revanced-borderless/drawable-mdpi/yt_wordmark_header_dark.png b/src/main/resources/change-header/revanced-borderless/drawable-mdpi/yt_wordmark_header_dark.png new file mode 100644 index 000000000..167d4c9de Binary files /dev/null and b/src/main/resources/change-header/revanced-borderless/drawable-mdpi/yt_wordmark_header_dark.png differ diff --git a/src/main/resources/change-header/revanced-borderless/drawable-mdpi/yt_wordmark_header_light.png b/src/main/resources/change-header/revanced-borderless/drawable-mdpi/yt_wordmark_header_light.png new file mode 100644 index 000000000..471e0079c Binary files /dev/null and b/src/main/resources/change-header/revanced-borderless/drawable-mdpi/yt_wordmark_header_light.png differ diff --git a/src/main/resources/change-header/revanced-borderless/drawable-xhdpi/yt_wordmark_header_dark.png b/src/main/resources/change-header/revanced-borderless/drawable-xhdpi/yt_wordmark_header_dark.png new file mode 100644 index 000000000..75bec79b4 Binary files /dev/null and b/src/main/resources/change-header/revanced-borderless/drawable-xhdpi/yt_wordmark_header_dark.png differ diff --git a/src/main/resources/change-header/revanced-borderless/drawable-xhdpi/yt_wordmark_header_light.png b/src/main/resources/change-header/revanced-borderless/drawable-xhdpi/yt_wordmark_header_light.png new file mode 100644 index 000000000..7f9f53fb0 Binary files /dev/null and b/src/main/resources/change-header/revanced-borderless/drawable-xhdpi/yt_wordmark_header_light.png differ diff --git a/src/main/resources/change-header/revanced-borderless/drawable-xxhdpi/yt_wordmark_header_dark.png b/src/main/resources/change-header/revanced-borderless/drawable-xxhdpi/yt_wordmark_header_dark.png new file mode 100644 index 000000000..76626d93c Binary files /dev/null and b/src/main/resources/change-header/revanced-borderless/drawable-xxhdpi/yt_wordmark_header_dark.png differ diff --git a/src/main/resources/change-header/revanced-borderless/drawable-xxhdpi/yt_wordmark_header_light.png b/src/main/resources/change-header/revanced-borderless/drawable-xxhdpi/yt_wordmark_header_light.png new file mode 100644 index 000000000..701c08afa Binary files /dev/null and b/src/main/resources/change-header/revanced-borderless/drawable-xxhdpi/yt_wordmark_header_light.png differ diff --git a/src/main/resources/change-header/revanced-borderless/drawable-xxxhdpi/yt_wordmark_header_dark.png b/src/main/resources/change-header/revanced-borderless/drawable-xxxhdpi/yt_wordmark_header_dark.png new file mode 100644 index 000000000..cba9eef9d Binary files /dev/null and b/src/main/resources/change-header/revanced-borderless/drawable-xxxhdpi/yt_wordmark_header_dark.png differ diff --git a/src/main/resources/change-header/revanced-borderless/drawable-xxxhdpi/yt_wordmark_header_light.png b/src/main/resources/change-header/revanced-borderless/drawable-xxxhdpi/yt_wordmark_header_light.png new file mode 100644 index 000000000..6c21e375a Binary files /dev/null and b/src/main/resources/change-header/revanced-borderless/drawable-xxxhdpi/yt_wordmark_header_light.png differ diff --git a/src/main/resources/change-header/revanced/drawable-hdpi/yt_wordmark_header_dark.png b/src/main/resources/change-header/revanced/drawable-hdpi/yt_wordmark_header_dark.png new file mode 100644 index 000000000..8e95d04f2 Binary files /dev/null and b/src/main/resources/change-header/revanced/drawable-hdpi/yt_wordmark_header_dark.png differ diff --git a/src/main/resources/change-header/revanced/drawable-hdpi/yt_wordmark_header_light.png b/src/main/resources/change-header/revanced/drawable-hdpi/yt_wordmark_header_light.png new file mode 100644 index 000000000..3a71e6bb0 Binary files /dev/null and b/src/main/resources/change-header/revanced/drawable-hdpi/yt_wordmark_header_light.png differ diff --git a/src/main/resources/change-header/revanced/drawable-mdpi/yt_wordmark_header_dark.png b/src/main/resources/change-header/revanced/drawable-mdpi/yt_wordmark_header_dark.png new file mode 100644 index 000000000..4aff279ef Binary files /dev/null and b/src/main/resources/change-header/revanced/drawable-mdpi/yt_wordmark_header_dark.png differ diff --git a/src/main/resources/change-header/revanced/drawable-mdpi/yt_wordmark_header_light.png b/src/main/resources/change-header/revanced/drawable-mdpi/yt_wordmark_header_light.png new file mode 100644 index 000000000..48855aa3b Binary files /dev/null and b/src/main/resources/change-header/revanced/drawable-mdpi/yt_wordmark_header_light.png differ diff --git a/src/main/resources/change-header/revanced/drawable-xhdpi/yt_wordmark_header_dark.png b/src/main/resources/change-header/revanced/drawable-xhdpi/yt_wordmark_header_dark.png new file mode 100644 index 000000000..ca652bf79 Binary files /dev/null and b/src/main/resources/change-header/revanced/drawable-xhdpi/yt_wordmark_header_dark.png differ diff --git a/src/main/resources/change-header/revanced/drawable-xhdpi/yt_wordmark_header_light.png b/src/main/resources/change-header/revanced/drawable-xhdpi/yt_wordmark_header_light.png new file mode 100644 index 000000000..6933bcca7 Binary files /dev/null and b/src/main/resources/change-header/revanced/drawable-xhdpi/yt_wordmark_header_light.png differ diff --git a/src/main/resources/change-header/revanced/drawable-xxhdpi/yt_wordmark_header_dark.png b/src/main/resources/change-header/revanced/drawable-xxhdpi/yt_wordmark_header_dark.png new file mode 100644 index 000000000..0e79b3899 Binary files /dev/null and b/src/main/resources/change-header/revanced/drawable-xxhdpi/yt_wordmark_header_dark.png differ diff --git a/src/main/resources/change-header/revanced/drawable-xxhdpi/yt_wordmark_header_light.png b/src/main/resources/change-header/revanced/drawable-xxhdpi/yt_wordmark_header_light.png new file mode 100644 index 000000000..43c273f48 Binary files /dev/null and b/src/main/resources/change-header/revanced/drawable-xxhdpi/yt_wordmark_header_light.png differ diff --git a/src/main/resources/change-header/revanced/drawable-xxxhdpi/yt_wordmark_header_dark.png b/src/main/resources/change-header/revanced/drawable-xxxhdpi/yt_wordmark_header_dark.png new file mode 100644 index 000000000..59a8783e6 Binary files /dev/null and b/src/main/resources/change-header/revanced/drawable-xxxhdpi/yt_wordmark_header_dark.png differ diff --git a/src/main/resources/change-header/revanced/drawable-xxxhdpi/yt_wordmark_header_light.png b/src/main/resources/change-header/revanced/drawable-xxxhdpi/yt_wordmark_header_light.png new file mode 100644 index 000000000..263f3d971 Binary files /dev/null and b/src/main/resources/change-header/revanced/drawable-xxxhdpi/yt_wordmark_header_light.png differ diff --git a/src/main/resources/branding/mipmap-hdpi/adaptiveproduct_youtube_background_color_108.png b/src/main/resources/custom-branding/mipmap-hdpi/adaptiveproduct_youtube_background_color_108.png similarity index 100% rename from src/main/resources/branding/mipmap-hdpi/adaptiveproduct_youtube_background_color_108.png rename to src/main/resources/custom-branding/mipmap-hdpi/adaptiveproduct_youtube_background_color_108.png diff --git a/src/main/resources/branding/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png b/src/main/resources/custom-branding/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png similarity index 100% rename from src/main/resources/branding/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png rename to src/main/resources/custom-branding/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png diff --git a/src/main/resources/branding/mipmap-hdpi/ic_launcher.png b/src/main/resources/custom-branding/mipmap-hdpi/ic_launcher.png similarity index 100% rename from src/main/resources/branding/mipmap-hdpi/ic_launcher.png rename to src/main/resources/custom-branding/mipmap-hdpi/ic_launcher.png diff --git a/src/main/resources/branding/mipmap-hdpi/ic_launcher_round.png b/src/main/resources/custom-branding/mipmap-hdpi/ic_launcher_round.png similarity index 100% rename from src/main/resources/branding/mipmap-hdpi/ic_launcher_round.png rename to src/main/resources/custom-branding/mipmap-hdpi/ic_launcher_round.png diff --git a/src/main/resources/branding/mipmap-mdpi/adaptiveproduct_youtube_background_color_108.png b/src/main/resources/custom-branding/mipmap-mdpi/adaptiveproduct_youtube_background_color_108.png similarity index 100% rename from src/main/resources/branding/mipmap-mdpi/adaptiveproduct_youtube_background_color_108.png rename to src/main/resources/custom-branding/mipmap-mdpi/adaptiveproduct_youtube_background_color_108.png diff --git a/src/main/resources/branding/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png b/src/main/resources/custom-branding/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png similarity index 100% rename from src/main/resources/branding/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png rename to src/main/resources/custom-branding/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png diff --git a/src/main/resources/branding/mipmap-mdpi/ic_launcher.png b/src/main/resources/custom-branding/mipmap-mdpi/ic_launcher.png similarity index 100% rename from src/main/resources/branding/mipmap-mdpi/ic_launcher.png rename to src/main/resources/custom-branding/mipmap-mdpi/ic_launcher.png diff --git a/src/main/resources/branding/mipmap-mdpi/ic_launcher_round.png b/src/main/resources/custom-branding/mipmap-mdpi/ic_launcher_round.png similarity index 100% rename from src/main/resources/branding/mipmap-mdpi/ic_launcher_round.png rename to src/main/resources/custom-branding/mipmap-mdpi/ic_launcher_round.png diff --git a/src/main/resources/branding/mipmap-xhdpi/adaptiveproduct_youtube_background_color_108.png b/src/main/resources/custom-branding/mipmap-xhdpi/adaptiveproduct_youtube_background_color_108.png similarity index 100% rename from src/main/resources/branding/mipmap-xhdpi/adaptiveproduct_youtube_background_color_108.png rename to src/main/resources/custom-branding/mipmap-xhdpi/adaptiveproduct_youtube_background_color_108.png diff --git a/src/main/resources/branding/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png b/src/main/resources/custom-branding/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png similarity index 100% rename from src/main/resources/branding/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png rename to src/main/resources/custom-branding/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png diff --git a/src/main/resources/branding/mipmap-xhdpi/ic_launcher.png b/src/main/resources/custom-branding/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from src/main/resources/branding/mipmap-xhdpi/ic_launcher.png rename to src/main/resources/custom-branding/mipmap-xhdpi/ic_launcher.png diff --git a/src/main/resources/branding/mipmap-xhdpi/ic_launcher_round.png b/src/main/resources/custom-branding/mipmap-xhdpi/ic_launcher_round.png similarity index 100% rename from src/main/resources/branding/mipmap-xhdpi/ic_launcher_round.png rename to src/main/resources/custom-branding/mipmap-xhdpi/ic_launcher_round.png diff --git a/src/main/resources/branding/mipmap-xxhdpi/adaptiveproduct_youtube_background_color_108.png b/src/main/resources/custom-branding/mipmap-xxhdpi/adaptiveproduct_youtube_background_color_108.png similarity index 100% rename from src/main/resources/branding/mipmap-xxhdpi/adaptiveproduct_youtube_background_color_108.png rename to src/main/resources/custom-branding/mipmap-xxhdpi/adaptiveproduct_youtube_background_color_108.png diff --git a/src/main/resources/branding/mipmap-xxhdpi/adaptiveproduct_youtube_foreground_color_108.png b/src/main/resources/custom-branding/mipmap-xxhdpi/adaptiveproduct_youtube_foreground_color_108.png similarity index 100% rename from src/main/resources/branding/mipmap-xxhdpi/adaptiveproduct_youtube_foreground_color_108.png rename to src/main/resources/custom-branding/mipmap-xxhdpi/adaptiveproduct_youtube_foreground_color_108.png diff --git a/src/main/resources/branding/mipmap-xxhdpi/ic_launcher.png b/src/main/resources/custom-branding/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from src/main/resources/branding/mipmap-xxhdpi/ic_launcher.png rename to src/main/resources/custom-branding/mipmap-xxhdpi/ic_launcher.png diff --git a/src/main/resources/branding/mipmap-xxhdpi/ic_launcher_round.png b/src/main/resources/custom-branding/mipmap-xxhdpi/ic_launcher_round.png similarity index 100% rename from src/main/resources/branding/mipmap-xxhdpi/ic_launcher_round.png rename to src/main/resources/custom-branding/mipmap-xxhdpi/ic_launcher_round.png diff --git a/src/main/resources/branding/mipmap-xxxhdpi/adaptiveproduct_youtube_background_color_108.png b/src/main/resources/custom-branding/mipmap-xxxhdpi/adaptiveproduct_youtube_background_color_108.png similarity index 100% rename from src/main/resources/branding/mipmap-xxxhdpi/adaptiveproduct_youtube_background_color_108.png rename to src/main/resources/custom-branding/mipmap-xxxhdpi/adaptiveproduct_youtube_background_color_108.png diff --git a/src/main/resources/branding/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png b/src/main/resources/custom-branding/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png similarity index 100% rename from src/main/resources/branding/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png rename to src/main/resources/custom-branding/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png diff --git a/src/main/resources/branding/mipmap-xxxhdpi/ic_launcher.png b/src/main/resources/custom-branding/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from src/main/resources/branding/mipmap-xxxhdpi/ic_launcher.png rename to src/main/resources/custom-branding/mipmap-xxxhdpi/ic_launcher.png diff --git a/src/main/resources/branding/mipmap-xxxhdpi/ic_launcher_round.png b/src/main/resources/custom-branding/mipmap-xxxhdpi/ic_launcher_round.png similarity index 100% rename from src/main/resources/branding/mipmap-xxxhdpi/ic_launcher_round.png rename to src/main/resources/custom-branding/mipmap-xxxhdpi/ic_launcher_round.png