How do I skin my custom ROM? - Android Q&A, Help & Troubleshooting

I'm trying to make a custom ROM (for now, only for x86, because I don't want to flash anything on my actual phone) and I want to modify the default UI throughout the entire system. This includes colors, outlines, corners on buttons, etc. Is there something in the AOSP source that would allow me to make these changes? I'm hoping I don't have to open the source for each individual application to change the look.

MasterPixelDestroyer said:
I'm trying to make a custom ROM (for now, only for x86, because I don't want to flash anything on my actual phone) and I want to modify the default UI throughout the entire system. This includes colors, outlines, corners on buttons, etc. Is there something in the AOSP source that would allow me to make these changes? I'm hoping I don't have to open the source for each individual application to change the look.
Click to expand...
Click to collapse
Sorry to say that but you'll have to mod each and everyone of your apps to have those changes (outlined, colors).
I've heard of a substratum theme that might fit your expectations, but I you want to do it yourself (which is more fun) you'll have to modify each and every apps. When you'll mod systemUI your modification will go "system wide" (quick settings and stuff) but the phone app won't be changed.
Have a good day

@MasterPixelDestroyer
Several XPosed Framework modules exist that do the job.
Study their source code to get an idea how to tweak system UI ( read: home screen ) is done.

Related

[Q] how to make the stock launcher widgets visible in other launchers

Dear m8s
there's no doubt that Xperis S stock launcher is awesome
but still i want to experience other launchers
for me, i found Nemus launcher is so great
my only problem is that i can't place the stock widgets (timescape) and Accuweather on any of the home screens
as it's not available in Widgets list in any launcher except the stock one only
tried some other launchers to check, and result is still the same
available only in stock launcher widgets list
and not available for any other launcher
My Q is, is there any method i could make the stock launcher widgets list available for all launchers
i'm sorry to place a Q in this forum, but i think my Q is related to this forum only
i'm not trying to break any rules
Thanks in advance.
You can't use Sony widgets with other launchers.
I've wanted this for a while but my research yielded nothing :-(
Sent from my XperiaS via subspace beacon.
Not possible...sorry and actually that is the reason I didn't move to other launchers...
i really can't believe it that Devs can cook a complete ROM
and they r unable to port some widgets only !!
ChIcO*GsM said:
i really can't believe it that Devs can cook a complete ROM
and they r unable to port some widgets only !!
Click to expand...
Click to collapse
You see, when you modify the stock firmware, you don't have sources for anything but the kernel. You can add tweaks and overclocking and init.d without going deeper, but after that it's all decompiling. You probably know a toolchain named smali. If you don't, smali is like assembly for Android. You can't get java code from a built app, just as you can't get C++ from an EXE. Now say we want a part of that app ( widgets ). This is the very moment smali comes in. With smali, you can get some very basic, assembly like code from a prebuilt app. That's the code Android uses to run it. And that's where the interesting things are. To allow using Sony widgets on other launchers, you need to find the code responsible for loading them, displaying them and all the code the previous two depend on. It can be in the launcher or in the frameworks, so it's two huge source trees that you can't even search through. When you get all this code, you need to integrate it into your launcher app. Ironically, Android doesn't support smali code directly, so you have to either rewrite it back into Java ( which is hard) or build your launcher first and then add the code using smali ( which is not easier) .
K900 said:
You see, when you modify the stock firmware, you don't have sources for anything but the kernel. You can add tweaks and overclocking and init.d without going deeper, but after that it's all decompiling. You probably know a toolchain named smali. If you don't, smali is like assembly for Android. You can't get java code from a built app, just as you can't get C++ from an EXE. Now say we want a part of that app ( widgets ). This is the very moment smali comes in. With smali, you can get some very basic, assembly like code from a prebuilt app. That's the code Android uses to run it. And that's where the interesting things are. To allow using Sony widgets on other launchers, you need to find the code responsible for loading them, displaying them and all the code the previous two depend on. It can be in the launcher or in the frameworks, so it's two huge source trees that you can't even search through. When you get all this code, you need to integrate it into your launcher app. Ironically, Android doesn't support smali code directly, so you have to either rewrite it back into Java ( which is hard) or build your launcher first and then add the code using smali ( which is not easier) .
Click to expand...
Click to collapse
in short words
i have to wait till Android support this smali
or to wait for some Dev to wast his time on this
as i dun have any other solution yet
So,Waiting .....

[THEME][GB] Utilitarian ICS Theme for DSC (Work has stopped)

Hello everybody, this is my first theme, and I hope it's a good enough product for XDA and the Streak 5 community!
I have been forced by circumstances to stop all hobby projects for some time, and unfortunately this includes this theme. If anyone has the time and wants to continue work on this theme, or just to make a theme starting from this one, he/she is free to do so, as long as the people I have thanked here in the thread as well as myself are credited. Once again, thank you _n0p_ for a good ROM and I apologize for leaving my work unfinished.
Before I start, I want to thank _2bad4u_, nickshertzer and tenorntex for letting me use PNG's from their MattedBlues theme, the original MattedBlues theme creators for their theme, Google for a much improved interface for Android after version 4.0, LG for their smart (IMO) mod of white popups and backgrounds, and _n0p_ most for the most complete ROM for Streak, and the best performing one. (_n0p_, if you could add longpress-back-key-to-kill-app functionality from CM in DSC, I'll owe you a big case of beer.)
NOTE
This theme is made for DSC (1.5 currently) running in MDPI Portrait. I didn't test extensively in Landscape, but so far I didn't find any bugs that weren't already there in Portrait, so I guess it's ok. I have NOT tested any other GB ROM, DSC version, or other DPI, and I DO NOT guarantee that it will work if you flash this theme on anything other than DSC 1.5.
Installation Instructions
I am a noob with the more complicated stuff, so I went for the simplest solution I could find. In post #3 are .zip files that contain the framework, systemui and settings app. Just flash the suitable zip using Streakmod Recovery and you're good to go. USE ONLY ONE ZIP. The difference between them is explained in the Bugs post.
DESCRIPTION
As some of you probably agree, stock GB looks like crap, stock ICS looks much better. So I started making a theme for DSC, my ROM of choice, that would fulfill (most of) my aesthetic and functional ideals. However, this is an ICS-inspired theme, not an attempt to replicate that interface style, so please don't ask me to copy ICS, because that's not what I'm trying to do. I follow my own guidelines (listed below) when doing this theme, and some of them are actually the opposite of stock ICS.
Main Features
Starting from the ICS look, I want the theme to have the following characteristics:
MDPI base, because on our device, in HDPI, a lot of apps take too much screen space with interface elements, and this lowers the amount of useful information on screen
All white popups (windows, dialogs, popup menus, toasts) with black text, because IMO black on white is easier to see in direct sunlight , given the same screen brightness and text size, and we don't have LED screens so the battery drain isn't any higher. Also, popups should be obvious and clearly visible, either because they were brought up by the user, or because they were brought up by Android and contain useful information
Blue text (on black) for titles, hints and other text that can't be interacted with (pressed, copied), to better distinguish from black or white text, that can be copied, pressed or otherwise interacted with
Clear text hierarchy: Main (application) title (largest), Category title (large), Main text, buttons (medium), subtext/note/description (small)
Secondary modifications
There is also a number of smaller scale modifications, that include but are not limited to
Bigger text on buttons, because MDPI makes it too small on our device
Bigger text in Recent Applications, because it takes up the whole screen anyway
Thin volume/seek bars, ICS Style, with handle (not in the Music app, because the app isn't themed)
Modded Settings app for ICS Icons
Modded Quick Toggles from the DSC ROM to suit the theme, added overscroll effect
Modded gradient background
ICS notification icons
New menu popup icons
Replaced radio buttons with check buttons, for consistency
Increased text size in popup menus to Medium (from small), decreased text size from the "more" popup menu to Medium (from large). (Why were they different in stock GB?? It's basically the same menu!)
Hidden the Notifications and Ongoing titles from Notifications (but not the separators), because they are useless, every Android user knows which is which, and the notifications are already full of text most of the time
more stuff I don't remember now but you'll find out!
SCREENSHOTS
KNOWN BUGS
I have modified quite a few things for this theme, so a few bugs are to be expected. Here are listed the known bugs, and below I attached screenshots.
1. The stock phone app has some trouble with backgrounds other than black, as far as I can tell. In the screenshots you see a black square behind the "call" icon in the call log. It can be fixed using a non-transparent icon that covers that entire space, but since I'm using exDialer (MIUI fan!) with the white ICS theme, this fix was low on my priority list. I will add it in a later version for those who want the stock phone app, but I recommend you use another dialer/contacts app if the theme is important, because I will not theme other apps than the ones already themed. I don't have a lot of time and I've already worked more than I wanted to do this theme.
2. The stock alarm clock app also has problems with the gradient background. The alarm times are not visible in portrait, only in landscape (it's visible in the screenshots). You can turn the alarms on and off, and if you press the bugged area where the alarm time used to be, it still takes you to the alarm edit screen, where there are no bugs, so it's only the alarm selection screen that has bugs. I won't be theming this app either, so again I suggest using a different alarm app if you want to have the gradient background.
3. The email app overlaps 1 bigger and 1 smaller activity title bar. I don't know why, and I haven't used the stock theme since I started working on this one to know if the problem was there before. Again, I won't be theming this app either, so there probably won't be any fixes coming from me.
4. Not really a bug, but in some apps the popup menus use some of their own icons and some of the icons from the framework you have installed. In most cases they won't be the same and will look like crap together, and there's no fix (that I know of) other than theming all the other apps (which I won't do). Below is a screenshot of the issue in Terminal Emulator.
5. Mismatched light bottom popup. I couldn't track down the problem, and now I won't be able to.
BUG FIXES
A fix for the clock and phone, for those who do not want to use alternate phone or clock apps, is to eliminate the gradient background and revert to the stock black background. Until I find an alternative fix, I will attach 2 zips for each release version, a black background and a gradient background. Other than that there is no difference between them.
BUG REPORTING
If you find a bug, either in stock apps or in other apps, and you are sure it's my theme that causes the problem and not a problem with the app itself, then please report here. A screenshot would be most helpful as well. Bugs include white on white, black on black or grey on grey text (popups aren't perfectly white, so white text could still be visible, and black text should be visible on grey popups)
Releases
Releases
Current version: 0.6b for DSC 1.5
v0.6b changelog:
-Grey panel_background png, used for USSD popup and Root Explorer permissions popup, for example, is now white
-minor color modifications
-bottom part of popup fixed
As stated in the Bugs post, "gradient_background_vXX.zip" is the full theme, while "black_background_vXX.zip" uses the stock black background to eliminate the phone and alarm clock bugs. Flash either one using Streakmod, over DSC 1.5.
Great job, i like it, make's wanna come back to dsc. Because it's a great rom, and now it's looking like ics. Great job.
_2bad4u_ said:
Great job, i like it, make's wanna come back to dsc. Because it's a great rom, and now it's looking like ics. Great job.
Click to expand...
Click to collapse
Thanks man. Now I regret my decision a little, it's a lot of work to do a theme, more than I thought. I hope people like it.
Please make it for longhorn2.9.3. pls
Sent from my ST25i using xda premium
Both framework-res and systemUI are missing META-INF folder with manifest. This will cause system to bootloop (no rights in system) right from start, or if you are lucky, after factory reset
Simply copy that folder from original.
--
Attached - quickly changed manifest and install script of black background version, works for me.
_n0p_ said:
Both framework-res and systemUI are missing META-INF folder with manifest. This will cause system to bootloop (no rights in system) right from start, or if you are lucky, after factory reset
Simply copy that folder from original.
--
Attached - quickly changed manifest and install script of black background version, works for me.
Click to expand...
Click to collapse
Fixed! It always booted fine for me, so I never checked, I completely forgot. Thanks! I'll be using your install procedure from now on.
Edit: I just tested and saw the message the install script shows. Very cool, thank you. I always wanted something like that!
jitin02 said:
Please make it for longhorn2.9.3. pls
Click to expand...
Click to collapse
I'm sorry, but to port the theme to CM based ROMs is like starting over, as far as I know. I need to take a look at it to be sure. It's too much to do for the little time I have at the moment. Maybe I'll look into it once the theme goes into a more final stage. Right now I'm trying to track down all the bugs and make the last few popups white.
Sorry, i forgot to mention that you need to also copy AndroidManifest.xml from source.
I will try to diff and create a zip mod for your theme.
This will free us from recreating the theme for framework/system apps changes.

[Tips] Some tips for theming some S4 apps

This is just a small thread i thought i would start and offer a few tips for theming apps on the S4.​
Q: How can i change backgrounds without having to modify the image inside of framework?
A: This is something i call "untying things from framework", which essentially means making the background pull locally (from the particular app you're working on) rather than getting it from framework. The way this is done is searching for backgrounds that have "android:background="@*android" Searching for this should help you find where the background is being pulled from.
Q: How can i untie everything from framework to have a standalone app theme that doesn't rely on including the 30mb+ of the framework?
A: The above can also be used in this situation. For a text color, you can search the same thing as above but replace the "background" with "textcolor". For an image, it's usually called by "android:background="@*android:drawable/". To get them called locally, remove the "@*android:" so that it becomes just "android:background="drawable/"
Q: When compiling, i get a list of errors so long that i can't see the top.
A: You're probably using the traditional apktool which can't display long enough errors to be able to see the original. When you have a long list of errors, don't fret. Usually if you just have one error, it will produce a crap ton of them. Just use a tool like apk-multi-tool and go to the very first error, fix it, then try compiling again. It can sometimes takes a few fixes to make it compile correctly.
Q: I get an error of a 9-patch image. What does that mean?
A: A 9-patch is a type of image that android uses to draw something on the screen, pretty much. It works by using a 1 pixel border of either pure black or transparent pixels/lines. If even on pixel on the border is messed up, it will throw out an error. The log will tell you which image it was and where to fix it. Just be careful when editing any image with a .9 in it.
I hope these general tips help some of you out I will add more tips to this if i think of any. If you would like to contribute any of your ideas, feel free to message me and i will include you ​
Thanks for this.
Sent from my SCH-I545 using Tapatalk 4 Beta

[Q] Editing Notification center/shade?

Hi guys, I have a question regarding notification center/shade editing.
I'm talking about serious change, so a root would be needed.
I know there are programs, like simplistic framework, that have a flashable zip which you flash through recovery, and they change original system files.
I'm guessing the framework itself.
Simplistic framework has an accompanying app that lets you make changes to different aspects of notification center/shade.
I'm wondering if it would be possible to make something like lockinfo from ios?
I still miss being able to deal with all of my notifications separately (Mark as read, reply, view, leave alone) instead of per app grouped notifications.
Plus all of the additional features that we can have.
Any ideas?

"Newbie" looking to create a "standard" android theme. Some starter questions

"Newbie" looking to create a "standard" android theme. Some starter questions
Hello,
I am not new to Android but I have had a tough time finding a "native" way to create themes. I do not want to use a theme launcher or an alternative home app. I just want to use the standard android home app and create a theme for it. I took a brief look at the theme starting page above but none of the links I tried work. I just want to use the standard android theme (it fits my tastes closely enough) and change only a few things (for now). Here is what I want to change:
Wallpaper (so that it changes periodically through a "slide show"... only one shows currently... I have already some of these)
Lock out Wallpaper (so that a different one shows every time like it currently does... I have already created these)
Replace specific icons (I already have the icons I want to use)
Possibly replace colors of one or two apps (such as texting).
Is it possible to do this?
I have done some initial exploring on my own. My phone came with one theme (and the default theme) and that is it. I found it on my phone and decompiled it. It appears a bit more complex than I was hoping though I understand most of it. There are lots of extra icons I do not want to replace so I have a few questions which are number in parenthesis. First, there appears to be some sort of pseudo java code. I know both C++ and C# and have used them extensively. However Java isn't nearly as familiar. It does not however seem to quite fit the Java syntax I have seen and used in the past.
The files that contain this pseudo java code also seem to define the file names to use for each icon followed by a hex code which I am assuming is the activity that the file is associated with. However, I have not found where it defines the lock out wallpaper. (1) If I only specify specific icons, will the default android icon be used or do I need to identify them all? (2) If I need to do them all, is there a location to download the standard theme for Java 6.0.1 (the version on my phone?) (3) Is there a standard format for themes that can be used by the Android Home/Launcher? (4) Is someone going to update the sticky post above with more recent file links?
I found this icon pack generator tool. (5) Does it create "standard" icon packs that can be used without a third party launcher? I still would like to integrate my own wallpapers and lockout wallpapers though.
primem0er said:
Hello,
I am not new to Android but I have had a tough time finding a "native" way to create themes. I do not want to use a theme launcher or an alternative home app. I just want to use the standard android home app and create a theme for it. I took a brief look at the theme starting page above but none of the links I tried work. I just want to use the standard android theme (it fits my tastes closely enough) and change only a few things (for now). Here is what I want to change:
Wallpaper (so that it changes periodically through a "slide show"... only one shows currently... I have already some of these)
Lock out Wallpaper (so that a different one shows every time like it currently does... I have already created these)
Replace specific icons (I already have the icons I want to use)
Possibly replace colors of one or two apps (such as texting).
Is it possible to do this?
I have done some initial exploring on my own. My phone came with one theme (and the default theme) and that is it. I found it on my phone and decompiled it. It appears a bit more complex than I was hoping though I understand most of it. There are lots of extra icons I do not want to replace so I have a few questions which are number in parenthesis. First, there appears to be some sort of pseudo java code. I know both C++ and C# and have used them extensively. However Java isn't nearly as familiar. It does not however seem to quite fit the Java syntax I have seen and used in the past.
The files that contain this pseudo java code also seem to define the file names to use for each icon followed by a hex code which I am assuming is the activity that the file is associated with. However, I have not found where it defines the lock out wallpaper. (1) If I only specify specific icons, will the default android icon be used or do I need to identify them all? (2) If I need to do them all, is there a location to download the standard theme for Java 6.0.1 (the version on my phone?) (3) Is there a standard format for themes that can be used by the Android Home/Launcher? (4) Is someone going to update the sticky post above with more recent file links?
I found this icon pack generator tool. (5) Does it create "standard" icon packs that can be used without a third party launcher? I still would like to integrate my own wallpapers and lockout wallpapers though.
Click to expand...
Click to collapse
I've moved your thread to Q&A as I think it is more appropriate. So you want to keep the standard android launcher, depending on your device you could install a rom that has substratum support. This will allow you to keep your normal launcher but theme every aspect of your rom
sawdoctor said:
I've moved your thread to Q&A as I think it is more appropriate. So you want to keep the standard android launcher, depending on your device you could install a rom that has substratum support. This will allow you to keep your normal launcher but theme every aspect of your rom
Click to expand...
Click to collapse
What about my device would it depend on? If I even understand this question, my first guess would be my OEM. since...
I really don't know what you are talking about. Wouldn't the rom depend on the OEM? What if my OEM doesn't provide substratum report (not that I know what that is).

Categories

Resources