The Pixel Launcher, introduced officially last summer preloaded on the brand new Google Pixel phones. It looked simply amazing. Clean, colorful, heavenly and just beautiful with those round icons. I bet lots of people, including myself thought we could get a hold of it and use it on our devices as soon as a system dump gets out... But unfortunately that was not the case.

Shortly later, an APK of the official Pixel Launcher, which was named NexusLauncherPrebuilt inside the Google Pixel's private system apps, was uploaded. When anyone tried it on, it was not what they expected, the colors weren't the beautiful new blue-ish colors, the Wallpapers section didn't have the features they wanted, and worst of all, no weather on top and no rounded icons!

I installed Android 7.1 on one of my devices a few months ago, and I loved it instantly. Obviously developers had figured out a way to enable EVERY SINGLE FEATURE that the Pixel phones had, the blue accent theme, that beautiful navigation bar, those rounded icons and even more. I for one, took it to the next level. I even changed the Fingerprint section in the Settings app to Pixel Imprint. It was really fun, and I really enjoyed it.

I also messed around with a little package called the Pixel Launcher Icons which was a preloaded app. I decompiled it and saw that it included some round icons, and an xml which linked those very icons to package names of Google Apps, just like any other Android Icon Pack. So, I decided to modify it, and add some third party apps that I used and managed to make some rounded icons for them as well. I tried it on, and most of them that were not already round, were rounded. Some were still in their original shape, which was weird since I had done everything I could. But eventually, I gave it up.

Of course, my main phone is a Samsung phone, and Samsung, and all it's wisdom(LMGO) has not yet released Android 7.1 for any of their devices, and when they introduced a FLAGSHIP phone in 2017, they decided to go for the older Android 7.0, rather than 7.1 which was introduced on October 2016!

Anyways, I wanted the same great experience on my Samsung phone, so I decided to modify the heavily bloated, and not Android-Like TouchWiz. I started off with some basic debloating. I removed almost 250 apps that Samsung either loaded into the OS as advertisement or whatever, and I also removed the Samsung apps that already Google was the best at, like it's useless Gallery, Cloud Sync, Store, Health, Note and Music apps. Basically I turned an OS which was over 6 Gigabytes of size into 2 Gigabytes.

Instead, I added the Google apps, I modified the framework a little bit and added some Pixel-ish features and the android O logo and wallpaper. I modified the ringtones, the boot animation, the UI sounds and anything else I could. I also added the Pixel Wallpapers which had a large selection of wallpapers thanks to some other apps like the Live earth wallpapers and Live data wallpapers, But the only problem remaining, was the launcher, which was nothing like the Pixel launcher.

Obviously some features like the Google Now page and the Weather section could be fixed by preloading it as a private system app. The real trick was to make it more pixel like. So I went ahead, and I decompiled it. I managed to change the colors to the pixel colors, but still was trying to figure out the rounded icons.

Now as I said before, I modified the Pixel Launcher Icons or Icon Pack from the Pixel system dump and managed to change some apps' icons. Of course, it was only for Android 7.1 as well, so I used a trick I learned about on XDA Developers before, and backported it to 7.0. Then I used it on my Samsung phone with the Pixel Launcher, and those apps were round. But the Google apps, and some third party apps which used Android 7.1's manifest feature, roundIcon to show round icons only on Android 7.1 and only when the OEM allows it, remained the way they were, even though I added them to the Icon pack as well. So I went ahead and I checked something and noticed that all of the apps that I said weren't rounded even on 7.1, or were, were compiled or targeted to Android 7.1 or higher(Android 8.0 DP), so I figured, something in the source code of the Pixel Launcher, must be blocking the Icon Pack from affecting apps with API level 25 or higher. Of course, when you decompile an APK, the sources don't get decompiled to Java, they turn into SMALI which is essentially, Android's Assembly language. So I checked the class CircularIconProvider which was the most likely to include the code I was looking for, but it was very hard to understand, and numbers aren't included as-is in those codes. So I tried another tool called Dex2Jar made by Bob Pan, and I converted the source codes to a Jar file which I later converted into readable java source file. So finally , I had the classes and codes in Java on my computer.

I went directly to the class CircularIconProvider and found the method getIcon which made sense. I saw that it checked if the app which was being checked had an API level more than 24 which is 7.0, exactly what I presumed, then the method should return the icon that the framework returns which if the framework supports rounded icons, it returns the rounded icons. I compared that to the method in the SMALI file and found the return line, and just removed that line. When I recompiled it and used it on my phone, I actually freaked out and saw that it worked... BOOM, DONE!

So I went ahead and made my own Icon Pack, the first Icon Pack for the original Pixel Launcher, modded the launcher so that it would work with my icon pack, and made a final version of the modified Samsung Touchwiz which is now nothing like it.

I might upload it to XDA soon, but that is if I know anyone would like a customized OS or as they call it, custom ROM which has NONE of the features that Samsung offers except for maybe the camera and the SPen features.

Stay tuned for more!