Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Samsung OneUI #122

Merged
merged 2 commits into from
May 2, 2023
Merged

Conversation

moertel
Copy link
Contributor

@moertel moertel commented Apr 16, 2023

This PR adds functionality to detect Samsung OneUI launcher and gives instructions
to apply third-party icon packs.

Samsung's OneUI launcher version is tightly coupled to the Android OS version.
Starting OneUI 3.1.1, icon theming is supported on Android 11, foldable devices only[1]
Starting OneUI 4.0, icon theming is supported on all Android 12 devices[2]

Sadly it's impossible to detect the OneUI version programmatically[3].

Technically it's incorrect to report all Android 11 devices as incompatible but the
only other option is to try and list out all device models individually. This commit
adds the display of a "please update to Android 12" message to anyone running Android
11 or lower, and displays step-by-step theming instructions to everyone else.

[1] https://www.androidpolice.com/how-to-use-custom-icon-packs-on-samsung-one-ui-4/
[2] https://en.wikipedia.org/wiki/One_UI#One_UI_4_2
[3] #122 (comment)

Behaviour & UI

Displayed on Android 11 or lower Displayed on Android 12 and up
"OK" opens software update "OK" opens "Theme Park" in Galaxy Store

Verified

The behaviour described above has been tested on the devices and Android versions below:

Device Model Android One UI Behaviour
S10 Duos SM-G973F 9 1.1 Launcher detected, sees ⚠️ "please update" dialog
S10 Duos SM-G973F 10 2.5 Launcher detected, sees ⚠️ "please update" dialog
S10 Duos SM-G973F 11 3.1 Launcher detected, sees ⚠️ "please update" dialog
S10 Duos SM-G973F 12 4.0 Launcher detected, sees 📗 step-by-step instructions
S23 Ultra SM-S918B 13 5.1 Launcher detected, sees 📗 step-by-step instructions

@Donnnno
Copy link
Contributor

Donnnno commented Apr 16, 2023

Wow! This is huge!!! Thank you for this :))

@moertel
Copy link
Contributor Author

moertel commented Apr 16, 2023

Demo video:

Screen_Recording_20230416_133541_Theme_Park.mp4

@moertel
Copy link
Contributor Author

moertel commented Apr 16, 2023

https://www.androidpolice.com/how-to-use-custom-icon-packs-on-samsung-one-ui-4/

How to apply custom icon packs. Before we begin, we should clarify that while we refer to this as a One UI 4 feature, it was introduced in One UI 3.1.1. That version was exclusive to foldable phones, though, so icon packs have only really made it to the majority of Samsung phones with One UI 4.

Looks like some One UI version detection is necessary. I'll gradually update my old Samsung through One UI 1, 2, 3, 4 and 5 and see where the "Icon" option starts appearing in Theme Park, just to cross-check what that article says.

Edit: Samsung is torturing me. There's no way to determine the One UI version. While there's a property ro.oneui.version, it sadly only returns things like kalama or exynos9820. 🙃 Dumped everything else from System.getProperties() but no indication of the One UI version number anywhere.

Edit 2: So OneUI 4.0 was introduced in a bundle with Android 12. That means on an Android 11 device we would be sure that the Theme Park workaround is not working, and could display a corresponding message.

moertel added a commit to moertel/candybar that referenced this pull request Apr 24, 2023
Samsung's OneUI launcher version is tightly coupled to the Android OS version.
Starting OneUI 3.1.1, icon theming is supported on Android 11, foldable devices only[1]
Starting OneUI 4.0, icon theming is supported on all Android 12 devices[2]

Sadly it's impossible to detect the OneUI version programmatically[3].

Technically it's incorrect to report all Android 11 devices as incompatible but the
only other option is to try and list out all device models individually. This commit
adds the display of a "please update to Android 12" message to anyone running Android
11 or lower, and display step-by-step theming instructions to everyone else.

[1] https://www.androidpolice.com/how-to-use-custom-icon-packs-on-samsung-one-ui-4/
[2] https://en.wikipedia.org/wiki/One_UI#One_UI_4_2
[3] zixpo#122 (comment)
moertel added a commit to moertel/candybar that referenced this pull request Apr 24, 2023
This commit adds functionality to detect Samsung OneUI launcher and
gives instructions to apply third-party icon packs with the help of
the free app "Theme Park".

Samsung's OneUI launcher version is tightly coupled to the Android OS version.
Starting OneUI 3.1.1, icon theming is supported on Android 11, foldable devices only[1]
Starting OneUI 4.0, icon theming is supported on all Android 12 devices[2]

Sadly it's impossible to detect the OneUI version programmatically[3].

Technically it's incorrect to report all Android 11 devices as incompatible but the
only other option is to try and list out all device models individually. This commit
adds the display of a "please update to Android 12" message to anyone running Android
11 or lower, and display step-by-step theming instructions to everyone else.

[1] https://www.androidpolice.com/how-to-use-custom-icon-packs-on-samsung-one-ui-4/
[2] https://en.wikipedia.org/wiki/One_UI#One_UI_4_2
[3] zixpo#122 (comment)
@moertel moertel force-pushed the instruction-for-samsung-one-ui branch from 061fdad to 687d24b Compare April 24, 2023 19:38
@moertel moertel marked this pull request as ready for review April 24, 2023 19:39
@moertel
Copy link
Contributor Author

moertel commented Apr 24, 2023

@sarsamurmu this is now ready for review. I falsely tell users of foldable Samsung devices on Android 11 that their OneUI version is incompatible but as there is no way to detect the OneUI version programmatically, and as non-foldable devices on Android 11 are definitely not compatible, this was the best I could do.

Screenshots and demo video included in the comments. I'm releasing this to my own users this week and will report back if I spot issues.

This commit adds functionality to detect Samsung OneUI launcher and
gives instructions to apply third-party icon packs with the help of
the free app "Theme Park".

Samsung's OneUI launcher version is tightly coupled to the Android OS version.
Starting OneUI 3.1.1, icon theming is supported on Android 11, foldable devices only[1]
Starting OneUI 4.0, icon theming is supported on all Android 12 devices[2]

Sadly it's impossible to detect the OneUI version programmatically[3].

Technically it's incorrect to report all Android 11 devices as incompatible but the
only other option is to try and list out all device models individually. This commit
adds the display of a "please update to Android 12" message to anyone running Android
11 or lower, and display step-by-step theming instructions to everyone else.

[1] https://www.androidpolice.com/how-to-use-custom-icon-packs-on-samsung-one-ui-4/
[2] https://en.wikipedia.org/wiki/One_UI#One_UI_4_2
[3] zixpo#122 (comment)
@moertel moertel force-pushed the instruction-for-samsung-one-ui branch from 687d24b to f3a7520 Compare April 24, 2023 20:28
moertel added a commit to moertel/candybar that referenced this pull request Apr 24, 2023
This commit adds functionality to detect Samsung OneUI launcher and
gives instructions to apply third-party icon packs with the help of
the free app "Theme Park".

Samsung's OneUI launcher version is tightly coupled to the Android OS version.
Starting OneUI 3.1.1, icon theming is supported on Android 11, foldable devices only[1]
Starting OneUI 4.0, icon theming is supported on all Android 12 devices[2]

Sadly it's impossible to detect the OneUI version programmatically[3].

Technically it's incorrect to report all Android 11 devices as incompatible but the
only other option is to try and list out all device models individually. This commit
adds the display of a "please update to Android 12" message to anyone running Android
11 or lower, and display step-by-step theming instructions to everyone else.

[1] https://www.androidpolice.com/how-to-use-custom-icon-packs-on-samsung-one-ui-4/
[2] https://en.wikipedia.org/wiki/One_UI#One_UI_4_2
[3] zixpo#122 (comment)
@moertel
Copy link
Contributor Author

moertel commented Apr 30, 2023

FYI, I wanted to report back that this has now been published in my own icon packs for little over a week and it's working great. No complaints, and quite a few comments from happy Samsung users.

@sarsamurmu sarsamurmu merged commit 34b230b into zixpo:main May 2, 2023
@moertel moertel deleted the instruction-for-samsung-one-ui branch May 20, 2023 11:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants