[Guide]A simple approach for mdpi - HyperDroid - Android Software/Hacking General [Developers Only]

Tired of those huge buttons on HDPI?
yeah, we are tired of them as well.
In our infinite quest to make pongster's eagle eyes happy at mdpi, we finally found a workaround that works with most (not all) apps.
First of all thanks to pongster for his persistence in making mdpi roms across several devices now
The guide is intended for Rom makers/chefs who want to add mdpi support to their roms.
First of all mdpi (dpi=160) is natively supported on many apps nowadays, but still, there are some applications that do not display correctly. To identify those apps, first change to mdpi, then see what apps do not display correctly XD. I would also add that this is intended not for commercial applications, but to system/app applications that you would want to use in mdpi.
You will need basic knowledge about editing xmls, usage of copy paste functions and renaming folders.
The described method below has been working successfully when the application desired in mdpi
Immediately force closes
Doesn't display correctly
In samsung based roms, calendar did not displayed correctly (and I could sign it with test keys, adding density support in AndroidManifest) and Musicapp simply Foced Closed upon launching. They are now working correctly at mdpi .
Decompile the desired app you want to add mdpi support.
Then navigate to its AndroidManifest.xml and add the following line just below
Code:
</application>
Code:
<supports-screens android:anyDensity="true" android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" />
in a way that it would look like this
Code:
</application>
<supports-screens android:anyDensity="true" android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" />
now, go to its /res/ folder and find all the folders that contain hdpi in its name, duplicate them and rename them replacing the "hdpi" for "mdpi".
for instance for "drawable-hdpi" you will now have it duplicated as "drawable-mdpi". You must have both folders.
Now compile the apk back and sign with test keys and push into system/app, that will work for some applications that do not need special keys for they to be signed.
If the application force closes or does not show on app drawer, then I am afraid you will have to copy the original meta-inf folder and the original AndroidManifest.xml from the unedited compiled apk into the freshly compiled apk. That way you would have copied over the original sign keys. again, push into system/app and check.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Now, for very detailed themers, pngs in those mdpi folders will have to be resized to fit your theme. I personally like using mdpi applications with hdpi pngs, I found them still usable and not too small to read/press, but if you are a truly perfectionist, you will be forced to resize them.
For the applications that do not show appropriately in mdpi (for instance dialer) with the above method, I would suggest this great guide. I think they both compliment each other, at least in our rom at the S2,
There are other applications that needs to be resized, making them locked at certain dpi. For those, editing /res/drawable.xml and modifying its values adapting them for the desired dpi work most of the time. If you have more suggestions and you are a mdpi freak like us, please share your knowledge.
PD: Newest Marketplace works at 240 (hdpi) and 160 (mdpi) without any issues so far.
Have fun!!

Another Super Tutorial Again

doctorcete said:
Tired of those huge buttons on HDPI?
yeah, we are tired of them as well.
In our infinite quest to make pongster's eagle eyes happy at mdpi, we finally found a workaround that works with most (not all) apps.
First of all thanks to pongster for his persistence in making mdpi roms across several devices now
The guide is intended for Rom makers/chefs who want to add mdpi support to their roms.
First of all mdpi (dpi=160) is natively supported on many apps nowadays, but still, there are some applications that do not display correctly. To identify those apps, first change to mdpi, then see what apps do not display correctly XD. I would also add that this is intended not for commercial applications, but to system/app applications that you would want to use in mdpi.
You will need basic knowledge about editing xmls, usage of copy paste functions and renaming folders.
The described method below has been working successfully when the application desired in mdpi
Immediately force closes
Doesn't display correctly
In samsung based roms, calendar did not displayed correctly (and I could sign it with test keys, adding density support in AndroidManifest) and Musicapp simply Foced Closed upon launching. They are now working correctly at mdpi .
Now, for very detailed themers, pngs in those mdpi folders will have to be resized to fit your theme. I personally like using mdpi applications with hdpi pngs, I found them still usable and not too small to read/press, but if you are a truly perfectionist, you will be forced to resize them.
For the applications that do not show appropriately in mdpi (for instance dialer) with the above method, I would suggest this great guide. I think they both compliment each other, at least in our rom at the S2,
There are other applications that needs to be resized, making them locked at certain dpi. For those, editing /res/drawable.xml and modifying its values adapting them for the desired dpi work most of the time. If you have more suggestions and you are a mdpi freak like us, please share your knowledge.
PD: Newest Marketplace works at 240 (hdpi) and 160 (mdpi) without any issues so far.
Have fun!!
Click to expand...
Click to collapse
Nice to see my noobish hack actually work...
Enjoy multi-DPI for most apps.

Related

Timescape themes (Update for 2.1)

For 2.1 themes see post #17 on page 2: http://forum.xda-developers.com/showpost.php?p=9049613&postcount=17
I decided to open a thread to share the knowledge I have collected on timescape themes. This also partially applies to mediascape and up until now has been split between these two threads:
http://forum.xda-developers.com/showthread.php?t=737778&page=46
http://forum.xda-developers.com/showthread.php?t=765686 Please read this!
I thought it would be better to combine this into one thread that will be easier to find. If anyone disagrees then please post with reasons and alternatives. I will update this first post as we figure out more tweeks etc. (hopefully it will need a big rework soon because SE finally gets us 2.1 )
Before I start, thanks to Chewitt for finding the acet files, and for inspiring me to start messing with the look of my x10 with his Dark10 themes.
Timescape (and mediascape) do not store all of their images in the .apk resources. Oh no, that would just be too logical, and we are talking about Sony Ericsson here
The timescape theme .apk resources do contain some of the images used (e.g. the trash can and app drawer handles), and the actual Timescape .apk has the resources for the tile images etc. I'm not going to go into this as there is enough content about modifying these sorts of resources here. What I will go into is where the timescape background, wave animation, pagination slider colours and the tile alpha blending and default colours.
1. The background: This is stored in an .acet file (see the first of the above posts). This is an file that basically just contains a samll header and then rgb information (or sometimes argb, this is specified in the header which I haven't got 100% sussed yet). The background images are in the assets/ts folder in the theme .apk and are called ts_bg_app.acet and ts_bg_home.acet for the application and timescape home respectively. These can be modified with acetConverter.exe. You can load an image and export an acet file or you can go the other way. TS uses acet backgrounds without an alpha channel so leave the alpha checkbox unticked when creating them (it might work with alpha... never tried...).
2. The Tiles: I'm pretty sure the alpha blend images for the tiles are found in the system/usr/semc/seee/files folder (alpha_tile.acet and alpha_tile_fade*.acet) but I haven't modified these yet. As an aside the background for the first page of mediascape is here too. More important is the default background for a tile. This file, ts_tile_empty.acet, is a single pixel file found in the assets/ts folder for each theme. This specifies the solid colour to be used as a background for the alpha overlay on empty tiles.
3. Animation files: Wave and Pagination. This is all stored in three .afx java animation files in the themes assets/ts folder (ts_bg_wave.afx, pagination_glow.afx and pagination_area.afx). pagination_area is the square around the selected item in the scroll menu at the bottom (or the top if TS is the home page) and pagination_glow defines the lines at the top and bottom of this area. I haven't got these files fully sussed either, at the moment I'm restricted to doing some awful byte replacement to change the color (I can also change the wave pitch, but it doesn't look any good). I have attached an exe to generate these files (SetTimescapeAnimationColor.exe). Click on the white square to choose a base color and use the buttons to generate whichever of the files you want. If anyone knows how to edit these files properly please let me know, I come from a c# and c++ background and don't really know what I'm doing with java...
Thats pretty much it. Just sort out 6 files, update the png resources (the thumbnails for the theme selection are in the Timescape.apk resources folder) and you're done.
Note: I have had problems when I modified the wrong bytes in the afx files. Basically, after selecting the theme timescape just crashed. If you replace the theme file it still won't start, you need to clear the application data to get it running again. Along the same lines, after modifying a theme you need to reselect it from the themes menu as the files are cached.
Please let me know if I missed anything.
Update: I have attached the source code for the animation color tool. Please keep in mind that this was just a bit of code quickly thrown together so we can modify the animation color, I don't usually write code that looks like that
The project is a C# project from visual studio 2010 but the meat of it is in MainForm.cs so just open that if you use a different language/dev environment.
Here is the code from one of the buttons. Resources.pagination_glow is a byte array from an embedded resource (pagination_glow.afx).
Code:
string r = string.Format("{0:000}", (int)(((double)colorPanel.BackColor.R / 255.0) * 100));
string g = string.Format("{0:000}", (int)(((double)colorPanel.BackColor.G / 255.0) * 100));
string b = string.Format("{0:000}", (int)(((double)colorPanel.BackColor.B / 255.0) * 100));
byte[] bytes = new byte[Resources.pagination_glow.Length];
Array.Copy(Resources.pagination_glow, bytes, Resources.pagination_glow.Length);
bytes[949] = (byte)r[0];
bytes[950] = (byte)'.';
bytes[951] = (byte)r[1];
bytes[952] = (byte)r[2];
bytes[953] = (byte)',';
bytes[954] = (byte)g[0];
bytes[955] = (byte)'.';
bytes[956] = (byte)g[1];
bytes[957] = (byte)g[2];
bytes[958] = (byte)',';
bytes[959] = (byte)b[0];
bytes[960] = (byte)'.';
bytes[961] = (byte)b[1];
bytes[962] = (byte)b[2];
bytes[963] = (byte)',';
using (FileStream stream = new FileStream(saveDialog.FileName, FileMode.Create))
{
stream.Write(bytes, 0, bytes.Length);
}
What is important to note is that the embedded afx resources came from the orange theme, the other themes will require different offsets for the byte modification. I'm not sure why the different themes have different code here, I haven't looked closely at the wave animation code for each theme so there may only be a difference there, or there could just be one more space here and there in the preceeding lines or four spaces instead of a single byte tab ('\t')...
Anyway, the next step is to try and modify the number of bytes in the code and see if it still works, on my first few tests timescape just crashed so I thought that the number of bytes of clear-text code may be stored in the header. I'm not so sure now as I think I may have just been having problems while mixing the use of the .Net stream classes for reading an writing. I'll check this out though.
If we can modify the code however we want then I just need to learn a bit more java
The code for the wave animation is in the comments at the bottom of MainForm.cs. Here is the line with the characters being modified in bold:
fcolor.rgb = vec3(1.0, 0.91, 0.72) * ambientRatio + vec3(1.0, 0.516, 0.0) * specularRatio;
LOL this is just lazy lol, Thanks for the guide i will get the other 3 i need for Dark10 sorted on sunday.
this all sounds awesome =)
May I suggest posting the source code to your .exe files? that way others can pitch in and help improve the tools, too. slap on the GPL for a decent licence and it should be no problem
ttxdragon said:
this all sounds awesome =)
May I suggest posting the source code to your .exe files? that way others can pitch in and help improve the tools, too. slap on the GPL for a decent licence and it should be no problem
Click to expand...
Click to collapse
Good idea I have just updated the first post. I have only added the animation tool source as the .acet converter is just a direct color translation except for the header which is post in the acet thread linked in the first post.
I can post this code as well if anyone is really interested, but it will have to wait until I am back at work on the 14th, or until the VPN starts working again
VPN's up - posted the rest of the source.
calum.. just got a new charger today lol so back on track.. although some reason i cant seem to get my colour to change at al? ive rebooted, tried task managers n al but no luck..
Edit: ignore that.. managed to get it working! like an idiot i forgot to add the code at the top for mount/remount lol.. feel like a blonde
Has anyone got an original version of ms_bg_background_home_icn.acet?
Being the genius that I am, I tried to edit it without backing it up first.
I tried to convert a png image to an acet file using that acet converter but ended up with a background with a similar issue to what's in this post. Will read through all the posts tomorrow and try again.
Hey buddy any more progress with this project?
Sorry, on the road at the moment. I'll be back onto this next week.
@Mobzter: glad you got it sorted.
@Sixpence: you may have exported the image with the alpha channel. Make sure the alpha option is off for the timescape and mediascape backgrounds. I'll add complete backups to the first post next week
heres a backup of that file
_calum_ said:
@Sixpence: you may have exported the image with the alpha channel. Make sure the alpha option is off for the timescape and mediascape backgrounds. I'll add complete backups to the first post next week
Click to expand...
Click to collapse
Ah, yeh, I think that's what I did. I'll try again and see how I go. Cheers!
Thanks for backup Mobz!
EDIT: Sweet, that worked!
I just thought I'd post a link to my dark Timescape theme here.
Timescape (Dark)
If anyone else has got any modified timescape themes please post them (including the modified framework and thumbnail images). It would be nice if we didn't just all modify the Indigo them (as I did above) as if we use neutral images for the default contacts etc. then we can easily change between the different themes.
Any interest
Just a bump to see if anyone is interested in doing anything with the Timescape animation except changing the color.
If they are then I might get back into modifying the .afx files, otherwise I'll probably just move on....
I don't actually use it that much and now I've got rid of the blue I'm sorta happy, but it might be kinda cool if we can add our own animations to replace the wave...
How about the mediascape animation? I wanna make it melt into the next screen. Do u think that's doable?
How can i chnge theme for x10i
Sent from my X10i using XDA App
gavriel18 said:
How about the mediascape animation? I wanna make it melt into the next screen. Do u think that's doable?
Click to expand...
Click to collapse
Do you mean instead of the spline/fade animation when you hit the 'more' button? I think a melting animation would be pretty ambitious and probably only doable if the fade is actually part of the animation. I'll see if I can get an editor slapped together so we can just modify the afx code directly. I'll have a look at the mediascape animation files once I've got that done...
xian08 said:
How can i chnge theme for x10i
Click to expand...
Click to collapse
Sorry, I need a bit more information here. Where exactly are you stuck? Do you just want to install a different theme that you have from one of the x10 themes in another forum, or do you want to create you own?
That's exactly what I was thinking, a melt to a fade into the next screen.
I'm trying to understand how it works but i don't have enough spare time right now.
OK, 2.1 is here and the file formats for timescape themes have changed...
First off, the apk names have changed. They are now named like this:
TimescapeLargeUITheme[ThemeName].apk (e.g. TimescapeLargeUIThemeSakura)
The .acet files are now .uxraw files. The file header and content has also changed: the header is now 8 bytes, that can be split into 4 16bit integers. The first two I'm not sure about, (second one always seems to be 8...) but the 3rd and 4th are width and height respectively. After the header we still have the color info, but it seems that alpha is always included. The bytes are in the order R G B A (the alpha is now the 4th byte instead of the first).
I have attached the new converter and source.
Edit: I originally wrote an incorrect value for the first byte in the header (20 instead of 0x20... oops ) this resulted in a black background...
The afx files have also changed to uxsh. There seems to be a bit more in these files but the animation code is still in plain text. I'm working on an editor, and will update this post when it's done.
2.1 or 1.6 ?
Is this for 2.1 or 1.6 ?
Looks a silly question... But, am little cautious and more excited to see this on my 2.1update1.
Thx for such a great work.
_calum_ said:
OK, 2.1 is here and the file formats for timescape themes have changed...
Click to expand...
Click to collapse
mitalbr said:
Is this for 2.1 or 1.6 ?
Click to expand...
Click to collapse
2.1 (I had also changed the thread title to make this clearer )
_calum_ said:
2.1 (I had also changed the thread title to make this clearer )
Click to expand...
Click to collapse
I was just adb'ed the file system and I found I have following files...
TimescapeLargeUI.apk
TimescapeLargeUIThemeBlue.apk
TimescapeLargeUIThemeGreen.apk
TimescapeLargeUIThemeIndigo.apk
TimescapeLargeUIThemeOrange.apk
TimescapeLargeUIThemeSakura.apk
TimescapePluginManager.apk
I couldn't locate...
Timescape.apk
TimescapeThemeIndigo.apk

Animated Status Bar Pull Down

Just wondering if anyone is interested in this? I learned how from the original back on the Motorola Droid and have made it work for other phones. I used to be a themer but have since been spending my free time on other things. However, I still have the urge every once in awhile. For those not familiar, this will create a little looped video playing on the pull down screen.
Guide:
Instructions for Windows users... (Linux users: You should be able to follow along, as the idea is the same in both)
Things you will need:
The knowledge that whatever you do with this information is YOUR responsibility and not mine, nor the creators / developers of the mod and / or rom.
Basics -
Working computer.
Time.
Patience.
Animation images / Idea for making your own animation.
Computer Programs:
Java: http://www.java.com/en/download/index.jsp
Apk Manager: http://forum.xda-developers.com/showthread.php?t=695701
Text Editor (Suggested - Notepad++: http://notepad-plus-plus.org/download/v5.9.6.2.html )*
Archive Managing program (ie WinZip, WinRar, 7zip) (Suggested - 7zip: http://www.7-zip.org/download.html )*
Image Manipulation program > Whether it be Photoshop, Paint.Net, or GIMP, we'll refer to it as PIMP for short from now on.
(Suggested - Dark Silent GIMP: http://dl.dropbox.com/u/9903887/PCApps/Dark_Gimp.rar )*
Batch Renamer > if you are making your own (Suggested - http://www.den4b.com/?x=downloads&product=renamer )*
You'll also need the SystemUI.apk from your favorite rom.
(Found in: rom.zip > system > app > SystemUI.apk)
If wanting to make one with images from a video, you'll need:
A short vid (if you are wanting to use one from, say, http://www.youtube.com/ then you would copy/paste that web address to a site like http://www.savevid.com/) and export the video as a file to your computer.
Video Editor (Suggested - iWiSoft Free Video Converter: http://www.iwisoft.com/videoconverter/ )*
It's easiest to export the images as PNGs.
Alternatively, you can make your own images with PIMP or kang them from someone else's already made animation (Don't forget to send them a thanks if you do!).
Common Questions:
*How big does the image need to be? - The screen size is 480 x 800.
*How many images can I have? - I'm not sure. The one I made has 14 and there have been no issues whatsoever. I've used as many as 30 on my Atrix and didn't have any issues, but others did and the apk will get a little bloated with that many images, especially if it's not very transparent or there are a lot of colors.
*What duration should I change the animation to? - Again, this really depends on what you are going for. How the animation looks, how many images you have, etc. The default on mine is "200" Trial and error ftw!
*What kind of animation should I do? - Only you can answer that! If you are having trouble thinking of something, browse the forums and see if you can't find some ideas. Search YouTube for a cool video. Play with some creating some logos. Only limitation is your imagination.
After editing images or finding the ones you want to use...
Place your SystemUI.apk in the Apk Manager's place-apk-here-for-modding folder.
Double Click the Script.
Choose 22.
Choose the number of SystemUI.apk and hit Enter.
Choose 9 for Decompile.
Naviage to Apk Manager > projects > SystemUI > res > drawable hdpi (or drawable hdpi v4, depending on rom)>
Place your images resized and renamed as status_bar_background_animationX.pngs here. (where X is the number of the image in sequential order)
Navigate to Apk Manager > projects > SystemUI > res > drawable > and place this: http://dl.dropbox.com/u/9903887/status_bar_background_animation.xml in there.
The one I posted here is just the normal one I use that has 14 images, but you can adjust for the amount of images you want and the speed of the image changes using your Text Editor. You can just go from 1 - "X" number sequentially or you can have the images go 1-2-3-4-5-6-5-4-3-2 etc. depending on the style of animation or if you are trying to keep the image number down.
After that... (it really does not matter what order you do these in, but this might help you the first time or two to have a set path)
Navigate to Apk Manager > projects > SystemUI > res > layout > status_bar_tracking.xml and open with Text Editor.
Find:
com.android.systemui.statusbar.TrackingView in the second line and right after that (leave a space) add:
android:background="@drawable/status_bar_background_animation"
Make sure there is a space after this too, then save the xml.
After you have edited your images and xml and saved all of them go back to the script for Apk Manager and choose 11 to compile. After it finishes it will ask you if it is a system apk (Y/N). "Y" + Enter. It will ask you if you want to keep blah blah blah (Y/N). "Y" + Enter.
Go to the "keep" folder in Apk Manager > keep and delete the "res" folder and the resources.arsc file (this is the lazy/easy way).
Go back to the Apk Manager script and hit Enter.
The apk will be completed and named unsignedSystemUI.apk and you will find it in the "place-here-for-modding" folder. Even though it says unsigned, it is signed and you will not need to do anything else to it beyond renaming it to SystemUI.apk. This new finished SystemUI.apk will be added to a flashable zip file in this format (open zip as archive to not break the signature):
flashable.zip > system > app > replace previous SystemUI.apk
Place this on your SD card and install via ClockworkMod Recovery. You will not need to wipe data or cache for this.
The very first time you pull down the screen it will be static, but any other time it should start to animate. This is the same with every phone I have seen and not sure why this is.
Sorry if this seems crazy difficult, but I just wanted to be thorough so even relatively new people can at least see how it is made. If you need help, hit me up on Talk with my screen name. Enjoy!
*I receive no form of compensation for these recommendations. I merely suggest them as they are free, have a fair amount of support, and work well enough for me.*
I have attached for you to use/edit as you see fit:
*status_bar_background_animation.txt http://dl.dropbox.com/u/9903887/status_bar_background_animation.xml
*14 multicolored Honeycomb images inspired / kanged from the boot animation.
*status_bar_tracking.txt - Pretty sure these are similar/same between CM7 and Stock or just use as reference guide.
http://dl.dropbox.com/u/9903887/status_bar_tracking.xml
*Empty flashable zip for ClockWorkMod - Use the Archive Manager to open as archive and place your SystemUI.apk inside /system/app. Do NOT unzip and rezip as it will break the signature and not flash correctly.
es0tericcha0s said:
Just wondering if anyone is interested in this? I learned how from the original back on the Motorola Droid and have made it work for other phones. I used to be a themer but have since been spending my free time on other things. However, I still have the urge every once in awhile. I'll post a how to if there is interest. For those not familiar, this will create a little looped video playing on the pull down screen.
Click to expand...
Click to collapse
I'm interested, but how much does this impact the battery? Does it run while the statusbar is up? A little more info would be helpful but I'm certainly interested.
Nah, it only runs while the screen is down so the effects on the battery are negligible.
This one is NOT mine, but just so you get the idea:
http://www.youtube.com/watch?v=t5ZD6WzwS0k
And it's built into the SystemUI.apk, not framework for our phones.
es0tericcha0s said:
Nah, it only runs while the screen is down so the effects on the battery are negligible.
This one is NOT mine, but just so you get the idea:
http://www.youtube.com/watch?v=t5ZD6WzwS0k
And it's built into the SystemUI.apk, not framework for our phones.
Click to expand...
Click to collapse
Very nice, that would be something of interest.
Sent from my LG-P999 using xda premium
Alrighty then. It's dinner and movie time with the lady. I'll post it up here a little later on.
OP edited with detailed instructions!
es0tericcha0s said:
Nah, it only runs while the screen is down so the effects on the battery are negligible.
This one is NOT mine, but just so you get the idea:
http://www.youtube.com/watch?v=t5ZD6WzwS0k
And it's built into the SystemUI.apk, not framework for our phones.
Click to expand...
Click to collapse
+1 for negligible battery loss. I've ran this with my G2x for a few months now, only minor issues if the person who puts the animation gets too crazy.
es0tericcha0s said:
Just wondering if anyone is interested in this? I learned how from the original back on the Motorola Droid and have made it work for other phones. I used to be a themer but have since been spending my free time on other things. However, I still have the urge every once in awhile. For those not familiar, this will create a little looped video playing on the pull down screen.
Guide:
Instructions for Windows users... (Linux users: You should be able to follow along, as the idea is the same in both)
Things you will need:
The knowledge that whatever you do with this information is YOUR responsibility and not mine, nor the creators / developers of the mod and / or rom.
Basics -
Working computer.
Time.
Patience.
Animation images / Idea for making your own animation.
Computer Programs:
Java: http://www.java.com/en/download/index.jsp
Apk Manager: http://forum.xda-developers.com/showthread.php?t=695701
Text Editor (Suggested - Notepad++: http://notepad-plus-plus.org/download/v5.9.6.2.html )*
Archive Managing program (ie WinZip, WinRar, 7zip) (Suggested - 7zip: http://www.7-zip.org/download.html )*
Image Manipulation program > Whether it be Photoshop, Paint.Net, or GIMP, we'll refer to it as PIMP for short from now on.
(Suggested - Dark Silent GIMP: http://dl.dropbox.com/u/9903887/PCApps/Dark_Gimp.rar )*
Batch Renamer > if you are making your own (Suggested - http://www.den4b.com/?x=downloads&product=renamer )*
You'll also need the SystemUI.apk from your favorite rom.
(Found in: rom.zip > system > app > SystemUI.apk)
If wanting to make one with images from a video, you'll need:
A short vid (if you are wanting to use one from, say, http://www.youtube.com/ then you would copy/paste that web address to a site like http://www.savevid.com/) and export the video as a file to your computer.
Video Editor (Suggested - iWiSoft Free Video Converter: http://www.iwisoft.com/videoconverter/ )*
It's easiest to export the images as PNGs.
Alternatively, you can make your own images with PIMP or kang them from someone else's already made animation (Don't forget to send them a thanks if you do!).
Common Questions:
*How big does the image need to be? - The screen size is 480 x 800.
*How many images can I have? - I'm not sure. The one I made has 14 and there have been no issues whatsoever. I've used as many as 30 on my Atrix and didn't have any issues, but others did and the apk will get a little bloated with that many images, especially if it's not very transparent or there are a lot of colors.
*What duration should I change the animation to? - Again, this really depends on what you are going for. How the animation looks, how many images you have, etc. The default on mine is "200" Trial and error ftw!
*What kind of animation should I do? - Only you can answer that! If you are having trouble thinking of something, browse the forums and see if you can't find some ideas. Search YouTube for a cool video. Play with some creating some logos. Only limitation is your imagination.
After editing images or finding the ones you want to use...
Place your SystemUI.apk in the Apk Manager's place-apk-here-for-modding folder.
Double Click the Script.
Choose 22.
Choose the number of SystemUI.apk and hit Enter.
Choose 9 for Decompile.
Naviage to Apk Manager > projects > SystemUI > res > drawable hdpi >
Place your images resized and renamed as status_bar_animationX.pngs here. (where X is the number of the image in sequential order)
Navigate to Apk Manager > projects > SystemUI > res > drawable > and place this: http://dl.dropbox.com/u/9903887/status_bar_background_animation.xml in there.
The one I posted here is just the normal one I use that has 14 images, but you can adjust for the amount of images you want and the speed of the image changes using your Text Editor. You can just go from 1 - "X" number sequentially or you can have the images go 1-2-3-4-5-6-5-4-3-2 etc. depending on the style of animation or if you are trying to keep the image number down.
After that... (it really does not matter what order you do these in, but this might help you the first time or two to have a set path)
Navigate to Apk Manager > projects > SystemUI > res > layout > status_bar_tracking.xml and open with Text Editor.
Find:
com.android.systemui.statusbar.TrackingView in the second line and right after that (leave a space) add:
android:background="@drawable/status_bar_background_animation"
Make sure there is a space after this too, then save the xml.
After you have edited your images and xml and saved all of them go back to the script for Apk Manager and choose 11 to compile. After it finishes it will ask you if it is a system apk (Y/N). "Y" + Enter. It will ask you if you want to keep blah blah blah (Y/N). "Y" + Enter.
Go to the "keep" folder in Apk Manager > keep and delete the "res" folder and the resources.arsc file (this is the lazy/easy way).
Go back to the Apk Manager script and hit Enter.
The apk will be completed and named unsignedSystemUI.apk and you will find it in the "place-here-for-modding" folder. Even though it says unsigned, it is signed and you will not need to do anything else to it beyond renaming it to SystemUI.apk. This new finished SystemUI.apk will be added to a flashable zip file in this format (open zip as archive to not break the signature):
flashable.zip > system > app > replace previous SystemUI.apk
Place this on your SD card and install via ClockworkMod Recovery. You will not need to wipe data or cache for this.
The very first time you pull down the screen it will be static, but any other time it should start to animate. This is the same with every phone I have seen and not sure why this is.
Sorry if this seems crazy difficult, but I just wanted to be thorough so even relatively new people can at least see how it is made. If you need help, hit me up on Talk with my screen name. Enjoy!
*I receive no form of compensation for these recommendations. I merely suggest them as they are free, have a fair amount of support, and work well enough for me.*
I have attached for you to use/edit as you see fit:
*status_bar_background_animation.txt http://dl.dropbox.com/u/9903887/status_bar_tracking.xml
*14 multicolored Honeycomb images inspired / kanged from the boot animation.
*status_bar_tracking.txt - Pretty sure these are similar/same between CM7 and Stock or just use as reference guide.
http://dl.dropbox.com/u/9903887/status_bar_tracking.xml
*Empty flashable zip for ClockWorkMod - Use the Archive Manager to open as archive and place your SystemUI.apk inside /system/app. Do NOT unzip and rezip as it will break the signature and not flash correctly.
Click to expand...
Click to collapse
Can I use Clockmod Recovery to flash the MultiColored Honeycomb Animation.zip or is there something else I need or need to do?
The Honeycomb zip ONLY has the 14 images of the animation. It won't do anything if you try to flash it. And, to get those to work, you'd have to follow the guide in the opening post. It's pretty thorough. If you get stuck, let me know.
Hi, I'm extremely interested in getting this working.
I spent a good four hours designing a custom set of frames to match my current background, all before I realized that for some reason my current ROM's SystemUI.apk will not decompile correctly, and therefore won't RE-compile correctly. I spent a couple hours trying different versions of APKtool and aapt, all proving the same result. Finally I felt stupid when I tried it out on a random APK I had from a backup, decompiled and recompiled perfectly...
Has anyone tried this on an MIUI ROM? If so, I'm really interested in finishing this half-a-day project I've just started and could use some help xD
If you want, hit me up on Talk using my screen name.
Sent via telepathy
k4p741nkrunch said:
Hi, I'm extremely interested in getting this working.
I spent a good four hours designing a custom set of frames to match my current background, all before I realized that for some reason my current ROM's SystemUI.apk will not decompile correctly, and therefore won't RE-compile correctly. I spent a couple hours trying different versions of APKtool and aapt, all proving the same result. Finally I felt stupid when I tried it out on a random APK I had from a backup, decompiled and recompiled perfectly...
Has anyone tried this on an MIUI ROM? If so, I'm really interested in finishing this half-a-day project I've just started and could use some help xD
Click to expand...
Click to collapse
This would be awesome on MIUI.
k4p741nkrunch said:
Hi, I'm extremely interested in getting this working.
I spent a good four hours designing a custom set of frames to match my current background, all before I realized that for some reason my current ROM's SystemUI.apk will not decompile correctly, and therefore won't RE-compile correctly. I spent a couple hours trying different versions of APKtool and aapt, all proving the same result. Finally I felt stupid when I tried it out on a random APK I had from a backup, decompiled and recompiled perfectly...
Has anyone tried this on an MIUI ROM? If so, I'm really interested in finishing this half-a-day project I've just started and could use some help xD
Click to expand...
Click to collapse
The key to decompiling certain system apps with MIUI is using apktool and then installing the framework from the MIUI rom as a dependency.
Windows Users (Linux Users - if you can use Linux, you probably know how to use the CMD Prompt well enough to follow these directions for your system too):
1) Place the framework-res.apk and SystemUI.apk from the rom in the folder where your apktool is located.
2) Open CMD Prompt and navigate (change directories / cd) to your folder with apktool and apps.
3) apktool.jar if framework-res.apk
4) apktool.jar d SystemUI.apk
5) This will create a subfolder in the main folder that will be named SystemUI.
6) Make your edits following the guide in the OP.
7) When finished, compile the apk with this:
apktool.jar b SystemUI
8) This will build the app for you and you will find it located in the subfolder Dist inside of the SystemUI folder.
I threw one together here*: http://dl.dropbox.com/u/9903887/MIUISystemUI.apk
This SystemUI is from the stock based MIUI rom ported by stormageddon posted here:
http://forum.xda-developers.com/showthread.php?t=1421713
It has:
1) status_bar_background_animation.xml added to res/drawable (14 image version)
2) 14 Honeycomb themed images in /res/drawable-hdpi
3) status_bar_tracking.xml edit in /res/layout
4) This version IS able to be decompiled without errors by Apk Manager, so if it doesn't work, at least you can decompile and make the needed edits.
* I have NOT tested this. I am not currently running MIUI as I NEED wifi calling and my SIM card will not work with it. I purchased another SIM card from some suggestions I have seen around the forum, but unfortunately was not paying close enough attention and purchased the same one I already had instead and am not interested in spending an hour with a nandroid backup, flashing MIUI, testing, then nandroid restoring back to my current rom. So, good luck and let me know if I can help any more.
Thank you es0triccha0s!
That got me to decompile and compile correctly! Yes I am on Linux, and yes it was the if (install framework) command. Got a new problem though, the animation doesn't show. I noticed a few things though..
For one, I'm using a Galnet MIUI based of ICS. Inside the Res folder is a "drawable-hdpi-v4" folder, not sure if that v4 is going to mess anything up with this mod. I'm going to nandroid and then test with a GB version right now.
Secondly, in the scripts you provided in the OP, in the file status_bar_background_animation.xml you have all the images referenced as status_bar_background_animationX, but also in the OP, you mention we should place our created pngs into the drawable-hdpi folder as "status_bar_animationX". I simply removed all "_background"s from the file and it compiled, but I'm not sure if that is causing them not to be seen.
I'm gonna check a few things and report back.
Okay I put it on the Galnet 2.16 MIUI build. Made sure verything was as it should be as far as mod instructions are concerned. It booted, but there is NO status bar whatsoever.. Do you think its a permissions issue or something? Next thing I'm going to try is manually pushing it to the phone with ADB. This is just a test ROM, I have my actually useful nandroid backup when I get tired of this. Once again, will report back.
k4p741nkrunch said:
Thank you es0triccha0s!
That got me to decompile and compile correctly! Yes I am on Linux, and yes it was the if (install framework) command. Got a new problem though, the animation doesn't show. I noticed a few things though..
For one, I'm using a Galnet MIUI based of ICS. Inside the Res folder is a "drawable-hdpi-v4" folder, not sure if that v4 is going to mess anything up with this mod. I'm going to nandroid and then test with a GB version right now.
Secondly, in the scripts you provided in the OP, in the file status_bar_background_animation.xml you have all the images referenced as status_bar_background_animationX, but also in the OP, you mention we should place our created pngs into the drawable-hdpi folder as "status_bar_animationX". I simply removed all "_background"s from the file and it compiled, but I'm not sure if that is causing them not to be seen.
I'm gonna check a few things and report back.
Okay I put it on the Galnet 2.16 MIUI build. Made sure verything was as it should be as far as mod instructions are concerned. It booted, but there is NO status bar whatsoever.. Do you think its a permissions issue or something? Next thing I'm going to try is manually pushing it to the phone with ADB. This is just a test ROM, I have my actually useful nandroid backup when I get tired of this. Once again, will report back.
Click to expand...
Click to collapse
Thanks for pointing out the _background deal. Missed that in my proof reading stage. I'm going to update the OP in a bit. The drawable_hdpi vs drawable_hdpi-v4 thing seems to be dependent on either the apktool version or rom, not entirely sure. Have seen it on other phones / roms I have worked with, but seems random. Never really delved into the whys and hows. However, not really sure why the status bar disappeared on you. It might have something to do with update.zip's update script. I haven't messed with theming MIUI in a long time and am not sure if there needs to be any changes made to the update script that would be different vs. AOSP or CM7. It will almost certainly not work adb pushing the SystemUI though. That always messes things up, from my experience. Since it is just your test rom, try to put the SystemUI into the rom zip with an archive manager via opening as an archive (do not unzip, add, then rezip) and reflash.
I liked this idea. went ahead an made my own blue flames, and it looks nice (although I may mess with it a bit to get it a little smoother).
Just a note though: Unless you also remove the reference to shade_bg in status_bar_tracking.xml, you'll end up with both an animated and non-animated background.
Also, I'd recommend you have people only delete the resources.arsc and the status_bar_tracking.xml files from the keep folder when compiling. Otherwise, it's not uncommon that certain decompiling errors will transfer over to your finished product and give issues like the previous poster was having.
I'm not sure why I had never though of doing this before, but I'm glad you brought it to my attention
Okay, I'm trying something new tonight.
I went and checked every XML file and did some manual comparisons to see if I could find what was causing it not to show. For one, I think the Animation Flasher zip isn't doing the job so from now on I'll be packing it into the MIUI zip. Secondly, I noticed a lot more references to other status bar BG files in status_bar_tracking.xml. I replaced every reference of background="@drawable/blah blah bg" to background="@drawable/status_bar_animation"
I'm gonna see how this goes, will report back xD
Edit: Okay, so DON'T do that xD. At least I know my edits are recognized. Going back and removing the unnecessary edits, then packing it into the ROM Zip again, will report back.
Edit2: Okay, I'm very close to having this working with MIUI. Now that I've included it into the ROM ZIP, the statusbar is appearing completely white with the animation going on behind it. I can barely see the animation at the bottom of the status bar. Something is drawing that white background on the status bar, perhaps a default theme. I think that may be what is causing the general incompatibility with MIUI, the built in theming. I'm gonna fiddle around with the themes, see if I can find a way to use NO status bar theme. Will report back.
k4p741nkrunch said:
Okay, I'm trying something new tonight.
I went and checked every XML file and did some manual comparisons to see if I could find what was causing it not to show. For one, I think the Animation Flasher zip isn't doing the job so from now on I'll be packing it into the MIUI zip. Secondly, I noticed a lot more references to other status bar BG files in status_bar_tracking.xml. I replaced every reference of background="@drawable/blah blah bg" to background="@drawable/status_bar_animation"
I'm gonna see how this goes, will report back xD
Edit: Okay, so DON'T do that xD. At least I know my edits are recognized. Going back and removing the unnecessary edits, then packing it into the ROM Zip again, will report back.
Edit2: Okay, I'm very close to having this working with MIUI. Now that I've included it into the ROM ZIP, the statusbar is appearing completely white with the animation going on behind it. I can barely see the animation at the bottom of the status bar. Something is drawing that white background on the status bar, perhaps a default theme. I think that may be what is causing the general incompatibility with MIUI, the built in theming. I'm gonna fiddle around with the themes, see if I can find a way to use NO status bar theme. Will report back.
Click to expand...
Click to collapse
you need to delete android:background="@drawable/shade_bg"
It's possible that MIUI calls it something different like statusbar_background or status_bar_background. Either way, it needs to be deleted, not modified.
MWBehr said:
I liked this idea. went ahead an made my own blue flames, and it looks nice (although I may mess with it a bit to get it a little smoother).
Just a note though: Unless you also remove the reference to shade_bg in status_bar_tracking.xml, you'll end up with both an animated and non-animated background.
Also, I'd recommend you have people only delete the resources.arsc and the status_bar_tracking.xml files from the keep folder when compiling. Otherwise, it's not uncommon that certain decompiling errors will transfer over to your finished product and give issues like the previous poster was having.
I'm not sure why I had never though of doing this before, but I'm glad you brought it to my attention
Click to expand...
Click to collapse
Didn't think about the shade_bg as it's not linked to that in every rom. You don't have to actually remove it. You can also do this instead:
android:background="@android:color/transparent"
Also, I am of the school of thought that if the app decompiles with errors then you shouldn't use that as your base. I've done a ton of theming and I just won't use an app that decompiles wrong. It usually only happens if you are trying to decompile an app that has already been modified by the dev. Best to find a "stock" base framework or SystemUI to work with.
Easy
Can anyone make a flashable zip?
Of what and/or for what?
Sent via telepathy

[APP][2.1+] HybridLauncher - Open Source

Im sorry, but as I'm not able to create external links on XDA yet, you have to enter the urls on your own. If I had been able to create a DevDB project, I would have done it.
HybridLauncher​
HybridLauncher is a completely new type of Android-Launcher!
It's designed to be highly configurable and innovative.
Screenshots:
As I am currently not allowed to insert images, please have a look at hybridlauncher.bricklore.de
In the past, the underlying principles of Launchers have significantly differed from those of desktop computers. In particular, the homescreen was only able to show Widgets and Apps, usually arranged on a grid, and usually only able to display a finite (small) number of icons at once.
We adapt the concept of desktops to smartphones by providing a homescreen whose capacity is limited only by your phone's memory and without constraints on the type of items it can show.
We improve the concept of desktops by providing not only completely free positions, but also arbitrary tilts, sizes, and aspect ratios of the items' icons. The homescreen's size is dynamically adapted, such that an infinite number of icons can be displayed.
Technically, the homescreen is simply a folder. Actually, every folder can be used as homescreen (and there's an effectively unlimited number of those). Other folders can be directly accessed (the HybridLauncher also doubles as a file manager) and individually designed, just like the homescreen.
This is solved in way robust against changes of your ROM:
The layout of every folder is stored in small file (".layout") directly within the folder. Thus, if you change your ROM, by reinstalling the Hybrid Launcher, you instantly recover your homescreen (desktop).
HybridLauncher is available in two different versions: "Lite" and "Full". While you can enjoy full functionality with the Lite version, it shows a permanent notification in the statusbar.
Unique features of the HybridLauncher include:
Unlimited homescreens with individual backgrounds
Real files on the homescreen just as on the pc-desktop
Freely positionable items with optional grid or magnetic axes
Items individually adjustable
Item size and rotation continuously adjustable
Dynamic layout-size
Direct execution of shell-scripts
Links to other folders and files
"Open with" dialog as known from PC
Highly adjustable
Available for Android version 2.1 up to 5.0+
Data privacy is our highest priority
(HybridLauncher does not require internet access, no data will be submitted)
For maximum transparency, let us explain why HybridLauncher requires the following permissions:
VIBRATE: When you long-press Items, your phone will vibrate.
WRITE_EXTERNAL_STORAGE: HybridLauncher is a filemanager. Thus, it should have permission to write on sd-cards. In particular, if you want to use a folder on the sd-card as homescreen, then a .layout file needs to be created on the sd-card.
WRITE_MEDIA_STORAGE: This is generally the same as WRITE_EXTERNAL_STORAGE, but on newer devices (5.0+) the access to the external sdcard is blocked by default and needs this extra permission.
READ_CONTACTS: Contacts can be placed on your homescreen (e.g. to open the SMS app quickly), so HybridLauncher has to access your contacts data. HybridLauncher will not submit any data (have a look at the source code).
SET_WALLPAPER: An app needs this permission to change the background image.
SET_WALLPAPER_HINTS: For background parallaxing the system has to be told the size of the wallpaper.
Information:
HybridLauncher is available in the Google PlayStore, or on my website (hybridlauncher.bricklore.de).
HybridLauncher Lite:
Play Store: play.google.com/store/apps/details?id=de.fluxnetz.hybridlauncher_lite
Mirror: bricklore.de/android/hybridlauncher/release/hybridlauncher_lite.apk
HybridLauncher is OPEN SOURCE and licensed under GPL v3, you can view the source here: git.bricklore.de/hybridlauncher
​
Changelog
* reservered post for changelog *
i like your launcher its very customizable and stuff but my wallpaper doesnt scale properly and is causing black borders around the picture which looks kind of ugly
If you could fix this id love to use the launcher
have a great day
tomdudler243 said:
i like your launcher its very customizable and stuff but my wallpaper doesnt scale properly and is causing black borders around the picture which looks kind of ugly
If you could fix this id love to use the launcher
have a great day
Click to expand...
Click to collapse
Thanks for your feedback!
I have just reimplemented the wallpaper scaling, which should fix the problem.
Please have a look at the update and tell me if it worked for you!
Best regards
Since your launcher is open source could you please add it to F-Droid? Would make it easier for people not using play store or gapps like myself to keep it updated than periodically checking your website
As a happy tester, here are the direct links to your really nice app until you can add your own:
https://play.google.com/store/apps/details?id=de.fluxnetz.hybridlauncher_lite
And/Und
http://hybridlauncher.bricklore.de
GerManiac said:
Here are the direct links:
https://play.google.com/store/apps/details?id=de.fluxnetz.hybridlauncher_lite
And/Und
http://hybridlauncher.bricklore.de
Click to expand...
Click to collapse
Added a screenshot
Looking good
It's nice to see a launcher that offers something slightly different. So many of them just seem clones of each other. The ability to place icons anywhere and not be constrained to a grid is something I've not personally seen before.
Allanitomwesh said:
Since your launcher is open source could you please add it to F-Droid? Would make it easier for people not using play store or gapps like myself to keep it updated than periodically checking your website
Click to expand...
Click to collapse
Although it seems quite a bit of work to do, I will hook myself into it right now.
--UPDATE--
It's not that easy for HybridLauncher, as the git repo is hosted on my own server which makes things more difficult (no https, minor problems). Additionally fdroid is not able to build from these souces without "understanding" the exact instructions (One has to preprocess the .java and .xml files in a special manner)
Unfortunately I wasn't able to figure out how I can add a prebuild binary .apk to fdroids repository. If you could guide me, I would supply those binaries until I have fixed my server issues.
GerManiac said:
As a happy tester, here are the direct links to your really nice app until you can add your own:
Click to expand...
Click to collapse
Thanks! I really appreciate all help I get!
savvigeek said:
It's nice to see a launcher that offers something slightly different. So many of them just seem clones of each other. The ability to place icons anywhere and not be constrained to a grid is something I've not personally seen before.
Click to expand...
Click to collapse
Yeah I have noticed the same thing, and thats why I made HybridLauncher.
I wanted to try something completely different.
F-Droid
I'm not a developer so I'm afraid I can't be much use troubleshooting your issues adding your app to F-Droid. I'll ask my friends who are and see what they say. You could also ask on the F-Droid forums,they are always willing to help add a new app
Thank you, really good work.
I cant download from play store....maybe its banned in my country....please can you provide apk or link to apk dwonload?
Sent from my HM NOTE 1LTE
@bricklore crashes when i swipe right or tap next on the welcome screen. log attached. my device is samsung galaxy y duos, gt-s6102, running gingerbread 2.3.6 rom. it's an ldpi device with 289 mb ram only.

[guide] aosp theme porting

Due to the fact that I finish work with the resources tw, do a guide for developers to update the version AOSP theme, you can use all the resources, but strictly indicating the author.
Simply copy the modified application of the following files:
framework-res.apk
values/styles
values/colors
values/dimens
drawables/AOSP_THEME
drawables/tw_screen_background_selector_dark
png's
framework-res\res\drawable-xxhdpi:
tw_switch_track_mtrl_alpha_disabled.9
tw_switch_track_mtrl_alpha_on.9
tw_switch_track_mtrl_alpha_off.9
SecSettings:
values/styles (Some lines are sometimes not available or there is some extra, they are usually not more than five, and they are usually in a row. So sometimes you have to edit the file manually)
values/colors
values-xxhdpi/colors
values-xxhdpi/styles
drawable/color_tab_text
Layouts:
battery_history_chart
installed_app_details
nfc_explain
pen_detach_layout
power_saving_mode_tips
power_usage_details
preference_offload_progress_category
preference_progress_category
process_stats_details
process_stats_mem_details
reading_mode
recommended_apps_settings_layout
separator_label
sim_change_alert
To make the style separator AOSP:
layouts/list_view_category
drawables/menu_separator.9
drawables/menu_separator.9
SecSettings\res\xml\wifi_connecting
png's
drawable-sw360dp-xxhdpi\tw_switch_track_mtrl_alpha.9
drawable\tw_switch_track_mtrl_alpha.9
systemui.apk
How to make Sun shape AOSP brightness handle on notification panel
Breakcore_Rush said:
Due to the fact that I finish work with the resources tw, do a guide for developers to update the version AOSP theme, you can use all the resources, but strictly indicating the author.
Simply copy the modified application of the following files:
framework-res.apk
values/styles
values/colors
values/dimens
drawables/AOSP_THEME
drawables/tw_screen_background_selector_dark
png's
framework-res\res\drawable-xxhdpi:
tw_switch_track_mtrl_alpha_disabled.9
tw_switch_track_mtrl_alpha_on.9
tw_switch_track_mtrl_alpha_off.9
SecSettings:
values/styles (Some lines are sometimes not available or there is some extra, they are usually not more than five, and they are usually in a row. So sometimes you have to edit the file manually)
values/colors
values-xxhdpi/colors
values-xxhdpi/styles
drawable/color_tab_text
Layouts:
battery_history_chart
installed_app_details
nfc_explain
pen_detach_layout
power_saving_mode_tips
power_usage_details
preference_offload_progress_category
preference_progress_category
process_stats_details
process_stats_mem_details
reading_mode
recommended_apps_settings_layout
separator_label
sim_change_alert
To make the style separator AOSP:
layouts/list_view_category
drawables/menu_separator.9
drawables/menu_separator.9
SecSettings\res\xml\wifi_connecting
png's
drawable-sw360dp-xxhdpi\tw_switch_track_mtrl_alpha.9
drawable\tw_switch_track_mtrl_alpha.9
Click to expand...
Click to collapse
hmmm i dont understand about this porting..
plis teach me..
yuannovesa said:
hmmm i dont understand about this porting..
plis teach me..
Click to expand...
Click to collapse
http://forum.xda-developers.com/galaxy-note-3/themes-apps/amazing-aosp-theme-lollipop-n900-t2978515.

[GUIDE] How to make RRO mods / themes

About
In this guide I will be telling you about how to create your own device mods like this. This involves using an engine built into Android Nougat. There is no root required.
Prerequisites
- Apktool installed (official guide here)
- The apk of the app you wish to modify (ex: SystemUI.apk) (system dump here; USE WINRAR AS 7z DOESN'T EXTRACT RIGHT)
- Android Studio
- Basic knowledge of apk guts
- Template RRO project
- optional: Finished Example Project (for reference)
Tutorial
The first step is to decompile your target APK so we can see what options we can change. For this tutorial, I am going to be modding SystemUI.apk.
"apktool d SystemUI.apk"
After it finishes, go to "SystemUI/res/values", as this will be where we change most things.
Here we can see files like "bools.xml, strings.xml, integers.xml, etc..."
Let's look in "bools.xml".
I see a line in here that mentions lock screen rotation:
"<item type="bool" name="config_enableLockScreenRotation">@android:bool/config_enableLockScreenTranslucentDecor</item>"
For this tutorial, let's change this value, as it is easy to change, and we can visually see this change.
It looks like this boolean is enabled if "config_enableLockScreenTranslucentDecor" is enabled. To override this, we have to change it to "true" instead.
Now that we know what we are changing, let's open up the "RRO_Template" project in android studio.
First navigate to the Gradle Scripts and select the "build.gradle" for the "(Module: app)"
Here lets change some variables. First is the "theme_name". Let's change it to "Lockscreen Rotation"
Next is "theme_id". Let's make it "com.mod.lockscreen_rotation"
We don't need to mess with "priority"
Last is the "package_id" Since default is the id for the SystemUI, we don't have to change anything. If you need to find this for another app, look in the decompiled APKs AndroidManifest.xml under "package="com.app.id""
Next, navigate to the res folder. If you remember, our "bools.xml" file is under "res/values/bools.xml", so let's add that file.
We can delete the sample "strings.xml" as we don't need to change anything there, and add the "bools.xml" file.
Inside of the newly created XML file, we should see a setup like this (if not add it):
"<?xml version="1.0" encoding="utf-8"?>
<resources></resources>"
Looking back at the setting we want to change, it's "<item type="bool" name="config_enableLockScreenRotation">@android:bool/config_enableLockScreenTranslucentDecor</item>". So let's add that line.
But since we are overriding the value to true, it will now look like this :"<item type="bool" name="config_enableLockScreenRotation">true</item>"
And that's it for the value changing!
Now let's go build the APK. Press "Alt + B" to bring up the Build menu and press "Build APK"
Click "Show In Folder" on the bottom right after it compiles to see the APK.
Put this on your phone and install the APK.
Since we modified the SystemUI.apk, we need to reboot to see the changes.
Now, lets try going to the lock screen and rotating the screen. It should rotate!
Congratulations! You made a mod / theme!
If you have any questions, please ask. I will try to help if I am available. I have classes starting in a few days so I may be busy. Enjoy the guide!
Hello tytydraco,
Not sure if my problem is totally related to your posted thread but it sounds like you are very knowledgeable on Galaxy theming! I have a rooted Galaxy S8 and have merged/moded different themes from the Theme store, such as using another theme’s icon pack or wallpaper by swapping them out of their respective .apk files and implementing them with success!
My problem is with a theme’s "InCallUI" (accept, reject, hangup icons in phone dialer) after adding cool graphic .png icons (then changing to .qmg) it works flawlessly, however every time I restart my phone or a Samsung system app is updated, they revert back to those default Samsung cartoony icons. I then have to apply stock theme then re-apply customized theme to get icons back. This process also changes/breaks 3 or 4 other theming aspects, which are not affected by restarts, that I have to re-adjust!
Not only have I altered the theme’s “base.apk” in /Data/App/MyTheme folder, but also the theme’s InCallUI.apk and placed into; Data/Overlays/Style/Mytheme folder, then changed permissions to "rwx r-- r-w". I use these permissions because all the other apk's in this folder use them. I have even tried using different theme’s InCallUI.apk, whose icons remain after restart, by just changing the icons and renaming to my theme….but to no avail, same problem!
I know this all sounds really OCD, like probably most of us within these forums, but it’s getting to be a real pain in darse to constantly have to change everything back again every restart if I want to maintain my theme!
So if I may poach upon your smart nature, do you know if there is a configuration file/folder that can be edited/altered to make those “InCallUI” icons stick upon a restart?
Any advise or corrections in what I'm doing would be greatly appreciated!
Thanks in advance.
eltoro5 said:
Hello tytydraco,
Not sure if my problem is totally related to your posted thread but it sounds like you are very knowledgeable on Galaxy theming! I have a rooted Galaxy S8 and have merged/moded different themes from the Theme store, such as using another theme’s icon pack or wallpaper by swapping them out of their respective .apk files and implementing them with success!
My problem is with a theme’s "InCallUI" (accept, reject, hangup icons in phone dialer) after adding cool graphic .png icons (then changing to .qmg) it works flawlessly, however every time I restart my phone or a Samsung system app is updated, they revert back to those default Samsung cartoony icons. I then have to apply stock theme then re-apply customized theme to get icons back. This process also changes/breaks 3 or 4 other theming aspects, which are not affected by restarts, that I have to re-adjust!
Not only have I altered the theme’s “base.apk” in /Data/App/MyTheme folder, but also the theme’s InCallUI.apk and placed into; Data/Overlays/Style/Mytheme folder, then changed permissions to "rwx r-- r-w". I use these permissions because all the other apk's in this folder use them. I have even tried using different theme’s InCallUI.apk, whose icons remain after restart, by just changing the icons and renaming to my theme….but to no avail, same problem!
I know this all sounds really OCD, like probably most of us within these forums, but it’s getting to be a real pain in darse to constantly have to change everything back again every restart if I want to maintain my theme!
So if I may poach upon your smart nature, do you know if there is a configuration file/folder that can be edited/altered to make those “InCallUI” icons stick upon a restart?
Any advise or corrections in what I'm doing would be greatly appreciated!
Thanks in advance.
Click to expand...
Click to collapse
Sounds like the apk is reverting back... There may be another QMG file that puts the icon back. Other than that, it may be samsung's themes overriding this. Good luck and thanks for the question!
Couple of quick questions
Thanks for the guide OP!
I had a couple of quick questions.
You mention at the beginning of your guide that your method works because of a built in engine in Nougat and that it doesn't require root. I thought that RRO support was added to the AOSP by Sony in Marshmallow? Is this different, or did it just take until Nougat for Samsung to catch up?
The reason I ask is that I tried to do something very similar on an A5 (2017) running 6.0.1 and had no success. I had full root access so I manually installed my .apk into /system/vendor/overlay and could see that the app was installed in the Application Manager, but the desired changes did not take effect. I based my .apk on a similar guide from tutsplus and they say it should work on a device running Marshmallow or higher, but they emulate a Nexus which is obviously closer to AOSP than a Galaxy.
Is this guide Nougat specific or S8 specific? i.e. will a J5 2017 (released after the S8) running Nougat also work in the same way? Can you still install the app manually to the /system/vendor/overlay folder or do you have to manually install it through the UI?
Thanks again for the guide!
tytydraco said:
Enjoy the guide!
Click to expand...
Click to collapse
Hello, sorry for waking this up, the RRO template links are down. Can you attach them here?

Categories

Resources