revanced / revanced-branding Goto Github PK
View Code? Open in Web Editor NEW๐จ Brandings, guidelines, kits and assets of ReVanced
Home Page: https://revanced.app
License: GNU General Public License v3.0
๐จ Brandings, guidelines, kits and assets of ReVanced
Home Page: https://revanced.app
License: GNU General Public License v3.0
As we talked about before, I wanted to provide the correct Pantone values in case we or anyone else decides to make ReVanced merch. Below are the appropriate values I extracted using the Pantone official tools. As we didn't pick the other two colors to close a full palette, I used the triadic pairs for the three existing colors to create a full palette.
So that you know, all our branding guidelines still apply, and we advise against using metallic shimmers except as accents.
Our primary Pantone reference. If you can access the Pantone libraries, please use their match functionality to find the best match between our PMS colors and those that should be used in your manufacturing case instead of the tables below. Still, we will also include other standard tables, just in case.
If the target library generates repeated colors because the material you want to use generates difficulties replicating our colors, pick the alternative closest to our PMS colors in brightness to preserve the overall balance in our branding.
Created using the Formula Guide Coated library, this should be used primarily for the following purposes and materials:
If you are using paper but for textile and home interior purposes, you should also refer to this color table. In the rare cases where the manufacturer can't match the colors themselves, please use the best match in the FHI Paper TPG library.
Created using the FHI library, this should be used for the following purposes and materials:
So that you know, we use the FHI Polyester TSX library because we favor its pastel colors instead of the bright ones in the FHI Nylon Brights TN. In the edge cases where it might be ideal to use the Nylon Brights, please use the best match between our PMS colors and the FHI Nylon Brights TN library.
ReVanced Logo Shape Dark and ReVanced Logo Shape Light have unnecessary padding around the logos
This padding does not exist on the regular ReVanced Logo Shape variant
This makes it impossible to use as an icon in frontend, as no-matter where you place the icon it will barely be visible due to how small it actually is
The base variant of the ReVanced Logo asset is supposed to be a round variant, but it contains a square background that is against the guidelines for using the logo
The round logo can't be used in a square setting, so why is there a square background there?
To top it off, there's the round variant of the logo which is what the base variant should've been to begin with, it contains the exact same asset but without a background
Currently, some repositories follow an arbitrary style in the READMEs or do not have any README.
Apply the header template from this repository.
There are no flat-coloured versions of the logo shape.
Add them.
This would be useful when people are including ReVanced in icon packs or any flat design related media.
~ Device Info
ReVanced Manager: 1.13.1
Build: release
Model: 23043RP34G
Android version: 13
Supported architectures: arm64-v8a, armeabi-v7a, armeabi
~ Patch Info
App: com.google.android.apps.youtube.music v6.22.51
Patches version: v2.194.0
Patches: Background play, Bypass certificate checks, Codecs unlock, Compact header, Exclusive audio playback, Hide get premium, Minimized playback music, Music video ads, Permanent repeat, Permanent shuffle, Remove upgrade button
~ Settings
Allow changing patch selection: true
Show universal patches: false
Version compatibility check: true
Patches source: revanced/revanced-patches
Integration source: revanced/revanced-integrations
~ Logs
Copying APK
Reading APK
Decoding app manifest
Loading patches
Executing patches
Background play succeeded
Bypass certificate checks succeeded
Codecs unlock succeeded
Compact header succeeded
Exclusive audio playback succeeded
Hide get premium failed: app.revanced.patcher.patch.PatchException: 'Hide get premium' depends on 'HideGetPremiumPatch' that raised an exception:
app.revanced.patcher.patch.PatchException
at app.revanced.patcher.Patcher$apply$1.invokeSuspend$executePatch(Patcher.kt:184)
at app.revanced.patcher.Patcher$apply$1.invokeSuspend$executePatch(Patcher.kt:155)
at app.revanced.patcher.Patcher$apply$1.invokeSuspend(Patcher.kt:201)
at app.revanced.patcher.Patcher$apply$1.invoke(Unknown Source:8)
at app.revanced.patcher.Patcher$apply$1.invoke(Unknown Source:4)
at kotlinx.coroutines.flow.SafeFlow.collectSafely(Builders.kt:61)
at kotlinx.coroutines.flow.AbstractFlow.collect(Flow.kt:230)
at app.revanced.manager.flutter.MainActivity$runPatcher$1$2$1.invokeSuspend(MainActivity.kt:286)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:280)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
at app.revanced.manager.flutter.MainActivity.runPatcher$lambda$30(MainActivity.kt:285)
at app.revanced.manager.flutter.MainActivity.$r8$lambda$nWp6SJoHVIOkEmiKbEEka4nn7Ag(Unknown Source:0)
at app.revanced.manager.flutter.MainActivity$$ExternalSyntheticLambda3.run(Unknown Source:24)
at java.lang.Thread.run(Thread.java:1012)
Caused by: java.lang.NullPointerException
at app.revanced.patches.music.layout.premium.HideGetPremiumPatch.execute(HideGetPremiumPatch.kt:21)
at app.revanced.patches.music.layout.premium.HideGetPremiumPatch.execute(HideGetPremiumPatch.kt:13)
at app.revanced.patcher.Patcher$apply$1.invokeSuspend$executePatch(Patcher.kt:173)
... 19 more
at app.revanced.patcher.Patcher$apply$1.invokeSuspend$executePatch(Patcher.kt:160)
at app.revanced.patcher.Patcher$apply$1.invokeSuspend(Patcher.kt:201)
at app.revanced.patcher.Patcher$apply$1.invoke(Unknown Source:8)
at app.revanced.patcher.Patcher$apply$1.invoke(Unknown Source:4)
at kotlinx.coroutines.flow.SafeFlow.collectSafely(Builders.kt:61)
at kotlinx.coroutines.flow.AbstractFlow.collect(Flow.kt:230)
at app.revanced.manager.flutter.MainActivity$runPatcher$1$2$1.invokeSuspend(MainActivity.kt:286)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:280)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
at app.revanced.manager.flutter.MainActivity.runPatcher$lambda$30(MainActivity.kt:285)
at app.revanced.manager.flutter.MainActivity.$r8$lambda$nWp6SJoHVIOkEmiKbEEka4nn7Ag(Unknown Source:0)
at app.revanced.manager.flutter.MainActivity$$ExternalSyntheticLambda3.run(Unknown Source:24)
at java.lang.Thread.run(Thread.java:1012)
Permanent repeat failed: app.revanced.patcher.patch.PatchException: 'Permanent repeat' depends on 'PermanentRepeatPatch' that raised an exception:
app.revanced.patcher.patch.PatchException: Failed to resolve RepeatTrackFingerprint
at app.revanced.extensions.ExtensionsKt.getException(Extensions.kt:22)
at app.revanced.patches.music.interaction.permanentrepeat.PermanentRepeatPatch.execute(PermanentRepeatPatch.kt:35)
at app.revanced.patches.music.interaction.permanentrepeat.PermanentRepeatPatch.execute(PermanentRepeatPatch.kt:13)
at app.revanced.patcher.Patcher$apply$1.invokeSuspend$executePatch(Patcher.kt:173)
at app.revanced.patcher.Patcher$apply$1.invokeSuspend$executePatch(Patcher.kt:155)
at app.revanced.patcher.Patcher$apply$1.invokeSuspend(Patcher.kt:201)
at app.revanced.patcher.Patcher$apply$1.invoke(Unknown Source:8)
at app.revanced.patcher.Patcher$apply$1.invoke(Unknown Source:4)
at kotlinx.coroutines.flow.SafeFlow.collectSafely(Builders.kt:61)
at kotlinx.coroutines.flow.AbstractFlow.collect(Flow.kt:230)
at app.revanced.manager.flutter.MainActivity$runPatcher$1$2$1.invokeSuspend(MainActivity.kt:286)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:280)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
at app.revanced.manager.flutter.MainActivity.runPatcher$lambda$30(MainActivity.kt:285)
at app.revanced.manager.flutter.MainActivity.$r8$lambda$nWp6SJoHVIOkEmiKbEEka4nn7Ag(Unknown Source:0)
at app.revanced.manager.flutter.MainActivity$$ExternalSyntheticLambda3.run(Unknown Source:24)
at java.lang.Thread.run(Thread.java:1012)
at app.revanced.patcher.Patcher$apply$1.invokeSuspend$executePatch(Patcher.kt:160)
at app.revanced.patcher.Patcher$apply$1.invokeSuspend(Patcher.kt:201)
at app.revanced.patcher.Patcher$apply$1.invoke(Unknown Source:8)
at app.revanced.patcher.Patcher$apply$1.invoke(Unknown Source:4)
at kotlinx.coroutines.flow.SafeFlow.collectSafely(Builders.kt:61)
at kotlinx.coroutines.flow.AbstractFlow.collect(Flow.kt:230)
at app.revanced.manager.flutter.MainActivity$runPatcher$1$2$1.invokeSuspend(MainActivity.kt:286)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:280)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
at app.revanced.manager.flutter.MainActivity.runPatcher$lambda$30(MainActivity.kt:285)
at app.revanced.manager.flutter.MainActivity.$r8$lambda$nWp6SJoHVIOkEmiKbEEka4nn7Ag(Unknown Source:0)
at app.revanced.manager.flutter.MainActivity$$ExternalSyntheticLambda3.run(Unknown Source:24)
at java.lang.Thread.run(Thread.java:1012)
Remove upgrade button failed: app.revanced.patcher.patch.PatchException: 'Remove upgrade button' depends on 'RemoveUpgradeButtonPatch' that raised an exception:
app.revanced.patcher.patch.PatchException: com.android.tools.smali.dexlib2.builder.instruction.BuilderInstruction35c cannot be cast to com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction22c
at app.revanced.patcher.Patcher$apply$1.invokeSuspend$executePatch(Patcher.kt:184)
at app.revanced.patcher.Patcher$apply$1.invokeSuspend$executePatch(Patcher.kt:155)
at app.revanced.patcher.Patcher$apply$1.invokeSuspend(Patcher.kt:201)
at app.revanced.patcher.Patcher$apply$1.invoke(Unknown Source:8)
at app.revanced.patcher.Patcher$apply$1.invoke(Unknown Source:4)
at kotlinx.coroutines.flow.SafeFlow.collectSafely(Builders.kt:61)
at kotlinx.coroutines.flow.AbstractFlow.collect(Flow.kt:230)
at app.revanced.manager.flutter.MainActivity$runPatcher$1$2$1.invokeSuspend(MainActivity.kt:286)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:280)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
at app.revanced.manager.flutter.MainActivity.runPatcher$lambda$30(MainActivity.kt:285)
at app.revanced.manager.flutter.MainActivity.$r8$lambda$nWp6SJoHVIOkEmiKbEEka4nn7Ag(Unknown Source:0)
at app.revanced.manager.flutter.MainActivity$$ExternalSyntheticLambda3.run(Unknown Source:24)
at java.lang.Thread.run(Thread.java:1012)
Caused by: java.lang.ClassCastException: com.android.tools.smali.dexlib2.builder.instruction.BuilderInstruction35c cannot be cast to com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction22c
at app.revanced.patches.music.layout.upgradebutton.RemoveUpgradeButtonPatch.execute(RemoveUpgradeButtonPatch.kt:30)
at app.revanced.patches.music.layout.upgradebutton.RemoveUpgradeButtonPatch.execute(RemoveUpgradeButtonPatch.kt:16)
at app.revanced.patcher.Patcher$apply$1.invokeSuspend$executePatch(Patcher.kt:173)
... 19 more
at app.revanced.patcher.Patcher$apply$1.invokeSuspend$executePatch(Patcher.kt:160)
at app.revanced.patcher.Patcher$apply$1.invokeSuspend(Patcher.kt:201)
at app.revanced.patcher.Patcher$apply$1.invoke(Unknown Source:8)
at app.revanced.patcher.Patcher$apply$1.invoke(Unknown Source:4)
at kotlinx.coroutines.flow.SafeFlow.collectSafely(Builders.kt:61)
at kotlinx.coroutines.flow.AbstractFlow.collect(Flow.kt:230)
at app.revanced.manager.flutter.MainActivity$runPatcher$1$2$1.invokeSuspend(MainActivity.kt:286)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:280)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
at app.revanced.manager.flutter.MainActivity.runPatcher$lambda$30(MainActivity.kt:285)
at app.revanced.manager.flutter.MainActivity.$r8$lambda$nWp6SJoHVIOkEmiKbEEka4nn7Ag(Unknown Source:0)
at app.revanced.manager.flutter.MainActivity$$ExternalSyntheticLambda3.run(Unknown Source:24)
at java.lang.Thread.run(Thread.java:1012)
Currently the project files are saved in an unconventional format .afdesign
which can only be opened ny Affinity Designer.
Convert all project files to a conventional format such as .psd
or .ai
.
A minority owns Affinity Designer, but Affinity Designer can open other formats such as .psd
and .ai
.
Currently, there is no way to view the branding guidelines.
Add a page that displays our branding, assets and guidelines. Example: https://osu.ppy.sh/wiki/en/Brand_identity_guidelines
We need to note our tagline "Continuing the legacy of Vanced." somewhere as it is part of our branding.
Put our tagline in a .txt
or .md
file, though I'm pretty sure this isn't the "standard" way of doing this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.