mirror of
https://github.com/inotia00/revanced-patches.git
synced 2025-05-01 07:04:30 +02:00
feat(music/music-settings): custom branding icons can be set https://github.com/inotia00/ReVanced_Extended/issues/955
This commit is contained in:
parent
61202c5aaf
commit
d77c8a4c83
@ -12,14 +12,19 @@ import app.revanced.patches.music.misc.settings.bytecode.patch.MusicSettingsByte
|
|||||||
import app.revanced.patches.shared.annotation.YouTubeMusicCompatibility
|
import app.revanced.patches.shared.annotation.YouTubeMusicCompatibility
|
||||||
import app.revanced.patches.shared.patch.settings.AbstractSettingsResourcePatch
|
import app.revanced.patches.shared.patch.settings.AbstractSettingsResourcePatch
|
||||||
import app.revanced.util.enum.CategoryType
|
import app.revanced.util.enum.CategoryType
|
||||||
import app.revanced.util.enum.CategoryType.*
|
import app.revanced.util.resources.IconHelper
|
||||||
|
import app.revanced.util.resources.IconHelper.copyFiles
|
||||||
|
import app.revanced.util.resources.IconHelper.makeDirectoryAndCopyFiles
|
||||||
import app.revanced.util.resources.MusicResourceHelper.addMusicPreference
|
import app.revanced.util.resources.MusicResourceHelper.addMusicPreference
|
||||||
import app.revanced.util.resources.MusicResourceHelper.addMusicPreferenceAlt
|
import app.revanced.util.resources.MusicResourceHelper.addMusicPreferenceAlt
|
||||||
import app.revanced.util.resources.MusicResourceHelper.addMusicPreferenceCategory
|
import app.revanced.util.resources.MusicResourceHelper.addMusicPreferenceCategory
|
||||||
import app.revanced.util.resources.MusicResourceHelper.addMusicPreferenceWithIntent
|
import app.revanced.util.resources.MusicResourceHelper.addMusicPreferenceWithIntent
|
||||||
import app.revanced.util.resources.MusicResourceHelper.addReVancedMusicPreference
|
import app.revanced.util.resources.MusicResourceHelper.addReVancedMusicPreference
|
||||||
import app.revanced.util.resources.MusicResourceHelper.sortMusicPreferenceCategory
|
import app.revanced.util.resources.MusicResourceHelper.sortMusicPreferenceCategory
|
||||||
|
import app.revanced.util.resources.ResourceUtils
|
||||||
import org.w3c.dom.Element
|
import org.w3c.dom.Element
|
||||||
|
import java.io.File
|
||||||
|
import java.nio.file.Paths
|
||||||
|
|
||||||
@Patch
|
@Patch
|
||||||
@Name("music-settings")
|
@Name("music-settings")
|
||||||
@ -56,6 +61,33 @@ class MusicSettingsPatch : AbstractSettingsResourcePatch(
|
|||||||
|
|
||||||
context.addReVancedMusicPreference()
|
context.addReVancedMusicPreference()
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If a custom branding icon path exists, merge it
|
||||||
|
*/
|
||||||
|
val iconPath = "branding-music"
|
||||||
|
val targetDirectory = Paths.get("").toAbsolutePath().toString() + "/$iconPath"
|
||||||
|
|
||||||
|
if (File(targetDirectory).exists()) {
|
||||||
|
fun copyResources(resourceGroups: List<ResourceUtils.ResourceGroup>) {
|
||||||
|
try { context.copyFiles(resourceGroups, iconPath) }
|
||||||
|
catch (_: Exception) { context.makeDirectoryAndCopyFiles(resourceGroups, iconPath) }
|
||||||
|
}
|
||||||
|
|
||||||
|
val iconResourceFileNames =
|
||||||
|
IconHelper.YOUTUBE_MUSIC_LAUNCHER_ICON_ARRAY
|
||||||
|
.map { "$it.png" }
|
||||||
|
.toTypedArray()
|
||||||
|
|
||||||
|
fun createGroup(directory: String) = ResourceUtils.ResourceGroup(
|
||||||
|
directory, *iconResourceFileNames
|
||||||
|
)
|
||||||
|
|
||||||
|
arrayOf("xxxhdpi", "xxhdpi", "xhdpi", "hdpi", "mdpi")
|
||||||
|
.map { "mipmap-$it" }
|
||||||
|
.map(::createGroup)
|
||||||
|
.let(::copyResources)
|
||||||
|
}
|
||||||
|
|
||||||
return PatchResultSuccess()
|
return PatchResultSuccess()
|
||||||
}
|
}
|
||||||
companion object {
|
companion object {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user