Open nekorubu opened 9 months ago
Unfortunately I don't have a Samsung device.
Oh, I see. Is there any way I can help?
Probably not but thanks. It's easier to develop and test on device I own instead of building blindly and testing by others.
Maybe any dev who has oneui can help, it's an open source project, you are free to fork, modify and release your own build.
Samsung has a free remote testing service if you want to test on Samsung devices.
Samsung has a free remote testing service if you want to test on Samsung devices.
Can any of you provide SystemUI.apk and framework-res.apk of samsung oneui 6? Then I can maybe make some progress.
Samsung has a free remote testing service if you want to test on Samsung devices.
I just created an account and it gave me 10 free credits. Now everytime I visit that link, it asks me to login, after login it reloads the test lab page and asks to login again, stuck in a login loop lol.
Samsung has a free remote testing service if you want to test on Samsung devices.
I just created an account and it gave me 10 free credits. Now everytime I visit that link, it asks me to login, after login it reloads the test lab page and asks to login again, stuck in a login loop lol.
I just created an account too and it worked for me. What browser do you use? i used firefox
Chrome on windows 11. I will try again later in incognito mode. Probably that 10 credits won't be enough at all, but let's give it a shot.
Chrome on windows 11. I will try again later in incognito mode. Probably that 10 credits won't be enough at all, but let's give it a shot.
i think credits wont be a problem
Oh please no, repainter ruins the default one UI theme if you use it and you cannot use the phone's default color palette again until you factory reset. I really like that this app is only for apps color and not the system theme.
You don't need to factory reset Just stop the app again and the color palette will work again
Oh please no, repainter ruins the default one UI theme if you use it and you cannot use the phone's default color palette again until you factory reset. I really like that this app is only for apps color and not the system theme.
You don't need to factory reset Just stop the app again and the color palette will work again
When I used repainter even after disabling it won't let the default color palette settings work.
Unfortunately I still can't login in Samsung Test Lab. It keeps looping the login screen, I login and go to choose a device, it again asks me to login, after login it sends me back to choose a device, then again login and it keeps going on forever.
hi, is there any way I can maybe help with/contribute to this? I don't have a lot of experience in Android development (or Shizuku), but I do have general programming knowledge/experience and I'd love if I could contribute to this somehow. I have the following hardware available to me:
(I'd like to avoid targeting my main phone first, since I rely on it and don't want things to break)
Can you give me steps for getting started with this (e.g. important Material You/SystemUI internals)?
Also, thank you for creating this project in the first place ❤️
Can you give me steps for getting started with this (e.g. important Material You/SystemUI internals)?
I can send a test build which I was working on blindly without any Samsung device :") don't get hopes too high cause totally blind build and most probably won't work.
Sure! If I can help in any way that's great :3 I'll test it first on my old phone (OneUI 5) in case something breaks, if it works there I'll test on my main phone. I'm not home yet though, so I don't have access to my old phone atm (will be in a couple hours)
Sure! If I can help in any way that's great :3 I'll test it first on my old phone (OneUI 5) in case something breaks, if it works there I'll test on my main phone. I'm not home yet though, so I don't have access to my old phone atm (will be in a couple hours)
ColorBlendr v1.2 Debug Samsung.zip
Here you go. Not in a hurry ofcourse.
Tried it on my Fold 5, and it crashes when tapping a color.
FATAL EXCEPTION: main
Process: com.drdisagree.colorblendr, PID: 24753
java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.lang.Number
at com.drdisagree.colorblendr.utils.MiscUtil.convertToIntArray(MiscUtil.java:65)
at com.drdisagree.colorblendr.utils.OverlayManager.applyFabricatedColors(OverlayManager.java:221)
at com.drdisagree.colorblendr.ui.fragments.ColorsFragment.lambda$addColorsToContainer$14(ColorsFragment.java:422)
at com.drdisagree.colorblendr.ui.fragments.ColorsFragment.$r8$lambda$rieRlpZVMi0wGsq3TFo523NnDCQ(ColorsFragment.java:0)
at com.drdisagree.colorblendr.ui.fragments.ColorsFragment$$ExternalSyntheticLambda8.onClick(R8$$SyntheticClass:0)
at android.view.View.performClick(View.java:8043)
at android.view.View.performClickInternal(View.java:8020)
at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)
at android.view.View$PerformClick.run(View.java:31867)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:8913)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:608)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
ColorBlendr v1.2.zip
What about this one?
just a small question - how (un)likely is it that this will break the system? (and if it does, would it be hard to recover without factory resetting?) asking mostly out of curiosity
Doesn't crash, but nothing changes. I'll get a logcat later today if needed.
https://github.com/Mahmud0808/ColorBlendr/assets/352207/937f4455-8707-49f4-a390-09828f376560
@coggy9 iirc Repainter required you to reboot after applying on OneUI, I assume the same applies to ColorBlendr(?)
You're correct, but even after rebooting, nothing changed.
Doesn't crash, but nothing changes. I'll get a logcat later today if needed.
Screen.Recording.20240228.074027.Colorblendr.mp4
@coggy9 for the actual Samsung UI/OneUI elements you need to use Samsung's Theme Park (Galaxy Store), can you try a Material You app? (e.g. Google Translate)
Translate is a default blue color, but Gboard, which is set to use the dynamic colors, is still the pink color I selected before using ColorBlendr. 🤔
Well, I've hit my limit on what I can do here. Maybe a developer who has a Samsung device could pitch in and lend a hand with this.
as i said, I'd love to help, but I have no idea where to start.
as i said, I'd love to help, but I have no idea where to start.
It's quite hard for me to explain as you said you don't have any experience with android application. You first need to find out which method is used for applying themes in OverlayManager class of framework. Then you need to study how exactly it applies colors, like what parameters are being used etc. Then you have to replicate the same behavior using Shizuku API. If it throws security warning, then you need root to call that method. I hope this will make it little bit more clear.
thanks! ill see if i can maybe get something working (although I doubt I will lmao)
@Mahmud0808 I just tried the last build you posted, and it seems to have insufficient permissions to create a runtime resource overlay:
From my experiments, applying RROs through Galaxy Themes works fine (that is how 1st party themes get applied), so I have a theory on what could work:
settings put system THEMEKEY OVERLAYPKGNAME
where THEMEKEY
is any of the following:
current_sec_active_themepackage
current_sec_aod_theme_package
current_sec_appicon_theme_package
current_sec_home_theme_package
current_sec_iris_theme_package
current_sec_wallpaper_theme_package
(not sure which of these actually work, or if they work at all, but OneUI sets those values so I'm assuming they work)* i am not sure if this needs to be a full-blown OneUI theme (with RRO apks nested in assets/) or if it can be just a single overlay apk
I'm currently still in the process of reverse engineering and researching the OneUI theme format in an attempt to (more or less) fully understand how a OneUI theme package is structured, what keys/files/etc are needed and ways to apply them
(side note: the OneUI themes seem to have custom AndroidManifest.xml keys for which frameworks(?) are targeted, as well as some samsung-specific permission for themes (need to do more research on that))
generate overlay package*, install it to the system
This can't be done without root I guess. Also the log says it requires root. So last hope is samsung-specific permission for themes that if we can grant through Shizuku, it theoretically should work.
Let's see what you can find. Good luck. :) Sadly can't help much in this case without a samsung device (and don't want one either). :(
I've made paste with some (maybe) helpful information (overlay list and the settings values)
the overlays/theme were installed using Hex Installer and applied through Galaxy Themes (com.samsung.High_contrast_theme_II.plus
is the package name for the generated theme)
I'll probably keep infodumping here when I find new things, maybe someone else finds them useful if I can't get anything to work.
Sorry if I'm misunderstanding something here, should this app be working with OneUI 6 or is that what's being figured out here? I'm not seeing any color changes, running with shizuku. None of the UI in the app or elsewhere seems to update to reflect it
Sorry if I'm misunderstanding something here, should this app be working with OneUI 6 or is that what's being figured out here? I'm not seeing any color changes, running with shizuku. None of the UI in the app or elsewhere seems to update to reflect it
This app does work with One UI 6, but in a limited way, it can only set the main colour and the style. If you've set your colour with Theme Park, then you might not see any changes in most apps, apart from some that weren't respecting the dynamic colour theme (eg. most Google apps, the new Beeper app).
generate overlay package*, install it to the system
This can't be done without root I guess. Also the log says it requires root. So last hope is samsung-specific permission for themes that if we can grant through Shizuku, it theoretically should work.
Let's see what you can find. Good luck. :) Sadly can't help much in this case without a samsung device (and don't want one either). :(
to clarify this CAN be done without root. take a look at synergy
to clarify this CAN be done without root. take a look at synergy
Synergy is both paid and not OSS. Can't check.
Hi, I'm pretty sure that these two links can help making this thing works. https://github.com/salvogiangri/KnoxPatch/blob/main/app/src/main/res/xml/sep_color_theme_meta.xml
https://github.com/salvogiangri/KnoxPatch/commits/main/app/src/main/res/xml/sep_color_theme_meta.xml
Maybe taking a look at how theme park implements it could be useful too. Currently I don't have time but once I have a bit more I will surely try to understand more about how Samsung colors works.
In Repainter, you can get full control over the system colors in Samsung's OneUI, even with Shizuku. The only caveat is that you have to restart the phone to apply the new colors. As for me, Repainter's full control still works on OneUI 5, though I have seen that it doesn't seem to work at all on OneUI 6. Is it possible to have the app get full control over the system palette on OneUI even with Shizuku like Repainter can?