ReVanced / revanced-patches

🧩 Patches for ReVanced
https://revanced.app
GNU General Public License v3.0
2.43k stars 282 forks source link

feat(Universal): Add `Implement Monet` patch for Universal #3612

Open vippium opened 2 months ago

vippium commented 2 months ago

Feature description

This patch will add a Monet Icon by understanding the icon color science. There can be 2 sub-components or sub-settings for the monet icon. 1. Applying Dark color on the main text/icon and light as background. 2.Applying Light on main text/icon and dark as background.

Motivation

This patch will allow old apps to have monet icon support for A12 or later, whose developers are not implementing monet support for it and for those whose development is discontinued.

This will also remove the dependency on apps which forces users to buy premium for using Monet icon support for apps, like AppClønÉr

Acknowledgements

oSumAtrIX commented 2 months ago

How do you make an icon follow the colors?

vippium commented 2 months ago

I mean that the color science used for making monet icon of yt and ytm or other app, it can be done like this.

https://developers.google.com/fonts/docs/material_icons Here is something which can let you help regarding this.

vippium commented 2 months ago

It will just use the themed color gor that:

/* Rules for sizing the icon. */
.material-icons.md-18 { font-size: 18px; }
.material-icons.md-24 { font-size: 24px; }
.material-icons.md-36 { font-size: 36px; }
.material-icons.md-48 { font-size: 48px; }

/* Rules for using icons as black on a light background. */
.material-icons.md-dark { color: rgba(0, 0, 0, 0.54); }
.material-icons.md-dark.md-inactive { color: rgba(0, 0, 0, 0.26); }

/* Rules for using icons as white on a dark background. */
.material-icons.md-light { color: rgba(255, 255, 255, 1); }
.material-icons.md-light.md-inactive { color: rgba(255, 255, 255, 0.3); } 
oSumAtrIX commented 2 months ago

These are for web. I am talking about Android icons

vippium commented 2 months ago

So, there is different method for android. Mmm...Can we check out the method of AppCloner of creating monet icons.?

oSumAtrIX commented 2 months ago

The Android documentation should include how to support M3 icons

vippium commented 1 week ago

Here I got the way how to add Monet support, but it may be little complicated as it need a generation of a monochrome icon from the original one. If somehow this can be done with the help of patcher, then it may be easy.

https://medium.com/@akshaynighot73/add-themed-icon-support-for-your-android-app-d1745cf0862f

oSumAtrIX commented 1 week ago

Is there a programmatic way of doing this. If not, what interaction from the user is necessary. Those can be asked via patch options.

vippium commented 1 week ago

After little-bit checking, I haven't found it yet. But I got an app i.e. Lena Adaptive which have support of so many apps with money. So, if it can be possible to take the icon from that and apply it with the patcher. I know it can be done with changing the icon pack. But not every UI give support to alternate icon pack. So, just checking the icon for that app from there and add it in the patched one.

If I found any programmatic way or any other way to do with patcher for it, I'll update it.

oSumAtrIX commented 1 week ago

So, if it can be possible to take the icon from that and apply it with the patcher.

A patch can read another apk via the patcher inside a patch just fine, but that's not really an elegant solution. What manual input is necessary if not possible programatically.