[Apex / Nova / Holo / Go / ADW] Create APK Icon Pack - Android Themes

UPDATE: Check Post #10 & Post #13 if you need help
I created this thread asking others how to do things.. now I want to help my fellow themers
Hi Devs! I'm a self-taught web & graphic designer. I've already created my icons but don't know how to make APK of them.
I made my first android app "hello world" on Eclipse and ran it too.
Things that I have:
96x96 Icons in png format
Eclipse and other stuff that I needed to run "hello world"
Things I need:
Tutorial to make APK of icons that will change automatically on Nova, Go, ADW, Apex etc.
OR just an APK file with the icons to apply manually (I don't wanna distribute with Zip)
Thanks in advance
Click to expand...
Click to collapse

DSaif said:
Hi Devs! I'm a self-taught web & graphic designer. I've already created my icons but don't know how to make APK of them.
I made my first android app "hello world" on Eclipse and ran it too.
Things that I have:
96x96 Icons in png format
Eclipse and other stuff that I needed to run "hello world"
Things I need:
Tutorial to make APK of icons that will change automatically on Nova, Go, ADW, Apex etc.
OR just an APK file with the icons to apply manually (I don't wanna distribute with Zip)
Thanks in advance
Click to expand...
Click to collapse
Check this thread: http://forum.xda-developers.com/showthread.php?t=1649891&highlight=apex.
It helped me a lot.

vanessaem said:
Check this thread: http://forum.xda-developers.com/showthread.php?t=1649891&highlight=apex.
It helped me a lot.
Click to expand...
Click to collapse
Apex Launcher only

it's for adw theme, but it's icons theme work on launcher pro, holo launcher, SonyEricsson launcher. and for apex i didn't test yet.
http://code.google.com/p/adw-launcher-android/wiki/ADWThemeGuide

DSaif said:
Apex Launcher only
Click to expand...
Click to collapse
It shows you how to package icons though. You might want to have a look. Also Apex Launcher may be one of the only launcher that accepts themes from many of the other launchers.

Thanks everyone! Made Holo Launcher icon pack with help from from Launcher Pro Forums. Will try ADW one today.

And an mtz for miui?
Sent from my GT-I9300 using xda premium

I just need ADW, Apex & Nova only

I'm asking myself the same question. I made 3 iconset and want to turn them into apk theme for Nova, Apex and Go. I already had mtz for one of my 3 sets. if you can give me some tips .. I'm going to follow the posted link above and see what I can do. (See you on uccw play store thread !)

pooley:) said:
I'm asking myself the same question. I made 3 iconset and want to turn them into apk theme for Nova, Apex and Go. I already had mtz for one of my 3 sets. if you can give me some tips .. I'm going to follow the posted link above and see what I can do. (See you on uccw play store thread !)
Click to expand...
Click to collapse
1) Use Apex's Tutorial http://forum.xda-developers.com/showthread.php?t=1649891
2) Add this code to AndroidManifest
Code:
<!-- ADW / Nova / Holo -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="org.adw.launcher.THEMES" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="org.adw.launcher.icons.ACTION_PICK_ICON" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<!-- Go / Nova -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="com.gau.go.launcherex.theme" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<!-- LauncherPro / Holo -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="com.fede.launcher.THEME_ICONPACK" />
</intent-filter>
3) Change minSdkVersion to 8 for Android 2.2 users http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels
Check Post #13 also

DSaif said:
1) Use Apex's Tutorial http://forum.xda-developers.com/showthread.php?t=1649891
2) Add this code to AndroidManifest [Note: My intents could be incorrect, Nova doesn't allow me to pick icons manually]
Code:
<!-- ADW / Nova / Holo -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="org.adw.launcher.THEMES" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="org.adw.launcher.icons.ACTION_PICK_ICON" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<!-- Go / Nova -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="com.gau.go.launcherex.theme" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<!-- LauncherPro / Holo -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="com.fede.launcher.THEME_ICONPACK" />
</intent-filter>
3) Change minSdkVersion to 8 for Android 2.2 users http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels
Click to expand...
Click to collapse
Well many thanks see what I can do. I stay tuned to your thread just in case you add some tricks

Follow the tutorial properly and there will be no problem!

Issues & Solutions
Icon Picker doesn't work on Nova Launcher.
Solution by pooley:
You need a drawable.xml with iconpack.xml. Both are almost same. Only little difference is..
In iconpack.xml PNGs are declared like this:
Code:
<item>phone</item>
In drawable.xml it's declared like this:
Code:
<item drawable="phone" />
=====
About Holo Launcher Compatibility http://forum.xda-developers.com/showpost.php?p=35101637&postcount=66
About Go Launcher Compatibility https://plus.google.com/116975187389778551119/posts/ef9mYPgNyf4

DSaif said:
Icon Picker doesn't work on Nova Launcher.
Solution by pooley:
You need a drawable.xml with iconpack.xml. Both are almost same. Only little difference is..
In iconpack.xml PNGs are declared like this:
HTML:
<item>phone</item>
In drawable.xml it's declared like this:
HTML:
<item drawable="phone" />
=====
About Go Launcher Compatibility https://plus.google.com/116975187389778551119/posts/ef9mYPgNyf4
Click to expand...
Click to collapse
Thanks a bunch!

Apparently my iconset is not working on adw ex pro version (only icon picker) and holo launcher (main theme + icon picker). Is it a bad intent issue or am I missing something on the project architecture ?
Sent from my toilets

pooley:) said:
Apparently my iconset is not working on adw ex pro version (only icon picker) and holo launcher (main theme + icon picker). Is it a bad intent issue or am I missing something on the project architecture ?
Sent from my toilets
Click to expand...
Click to collapse
If ADW Ex supports the icon pack & ADW Pro doesn't then email the developer.
Check Launcher Pro tutorial: http://www.launcherpro.com/forum/viewtopic.php?f=11&t=7754
Edit: I tested mine with LauncherPro Intent and it worked on Holo.
Icon Back & Icon Upon are supported on Holo Launcher Plus

DSaif said:
If ADW Ex supports the icon pack & ADW Pro doesn't then email the developer.
Check Launcher Pro tutorial: http://www.launcherpro.com/forum/viewtopic.php?f=11&t=7754
Edit: I tested mine with LauncherPro Intent and it worked on Holo.
Icon Back & Icon Upon are supported on Holo Launcher Plus
Click to expand...
Click to collapse
Correction : My iconset are applying in adw but icon picker doesn't work. same for Holo and launcher pro (both listed in theme pack but not applying) can you email me a working project ? I maybe missed something in the architecture of mine.

I made a little graphic to sum up what I want to figure out. (will update my OPz with this info)
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
would be great if my iconset were applying with all these launchers. (Need feedback about the "?" one).
I have the same intents than yours so I think it's related to other part of the project.
- Is it because my drawables are simple app name (eg. photo, camera, etc) and not the "activites_MainActivity" drawable name ?!

pooley:) said:
I made a little graphic to sum up what I want to figure out. (will update my OPz with this info)
would be great if my iconset were applying with all these launchers. (Need feedback about the "?" one).
I have the same intents than yours so I think it's related to other part of the project.
- Is it because my drawables are simple app name (eg. photo, camera, etc) and not the "activites_MainActivity" drawable name ?!
Click to expand...
Click to collapse
I have same naming like chrome, twitter etc. I'll email you my project.
Launcher Pro requires naming according to the activity name, fragmented!!!!!!!! Maybe you should not support it lol
For example, "com.android.browser.BrowserActivity" would turn into "com_android_browser_browseractivity".
My Project - Launcher Compatibility - https://docs.google.com/spreadsheet/ccc?key=0ApqBwPF_7ojudGZsal9BS09pcGpGemRUSjhIdFhZbnc

well if it has to be named like this (activities name plus underscores) in LP, my icons pack surely will not support it lol too many times spent, don't want to turn it compatible with an out dated launcher (imo)..
100% working with holo and adw will be fine for me
waiting for your project for mine to be finally fully working with Nova/Apex/Go/ADW/Holo and that's all
EDIT : Icon picker for ADW does exist bro I had hard time finding it lol but if you double press any homescreen icons a prompt appears alowing you to edit icon individually.

Related

[MOD] LauncherPro with fixed People widget

I didn't like how the LauncherPro People widget had the name covering up the picture so I changed around the grid to fix it. Hopefully the developer will fix this in future releases, and modders can possibly include this simple fix in their versions.
signedLauncherPro.apk is the release candidate version with only the People widget changed.
signedcom.fede.launcher-1.apk is signal23's CLEAR version (white text / clear bg) - Full screen size as seen here- http://forum.xda-developers.com/showthread.php?t=783427
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
DIRECTIONS FOR ADDING THIS FIX TO YOUR MOD
You basically need to decompile your LauncherPro apk, change lpwidget_contact_item.xml and then recompile it. It's pretty simple if you know the basics of Android apps. You need APK Manager. Here's the detailed instructions.
1. Send your launcherpro apk from your phone to your computer. You can browse to data/app in root explorer and it should be there. I usually send it via dropbox.
2. Put the APK in the put-apk-here-for-modding folder in APK Manager.
3. Load script.bat. Select launcherpro using (22). Decompile (9)
4. Browse to the Projects folder and browse to com.fede.launcher-1.apk\res\layout
5. Edit lpwidget_contact_item.xml in notepad to the following
Code:
<?xml version="1.0" encoding="UTF-8"?>
<FrameLayout android:layout_width="fill_parent" android:layout_height="130.0dip"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView android:id="@id/imagey" android:layout_width="fill_parent" android:layout_height="100.0dip" android:scaleType="centerCrop" android:layout_gravity="top|center" />
<TextView android:textSize="13.0sp" android:textColor="#ffffffff" android:ellipsize="marquee" android:layout_gravity="bottom|center" android:id="@id/texty" android:background="#aa000000" android:padding="5.0dip" android:fadingEdge="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
</FrameLayout>
6. Save it.
7. Back in APK manager, compile (11). Compile it as a System App. It will ask you if you want to copy over original files, do that . It will prompt you to go to the new "keep" folder and delete any files that you are modifying in the new apk. Delete resources.arsc in the root folder and then delete lpwidget_contact_item.xml from the layout folder. Go back to APK Manager and hit enter.
8. It will compile the rest of it for you. Sign it using (12).
9. You now have a signed version of the APK in your place-apk-here-for-modding folder. Transfer that to your phone. Uninstall your current version of LP and install the new one. Restore your old settings.
Thanks, that's always bugged me too
THANK YOU!!!! That issue was bugging the crap out of me too, but I didn't know how to fix it. I'm so glad you figured it, and your instructions are so clear and easy to use. I hate when people give instructions and skip steps, so noobs like me would get lost. But your instructions worked step by step!! Thanks again man!
awesome!!! thanks!
I used your apk yesterday and I love it, only problem I have is my bookmarks popup is now light grey.
Not a huge deal as I hardly use it, but thought I'd let you know.
Thanks.
Thanks for your work and perfet modding/ but may I ask author to attach onli modified pepople widget apk files ? without louncher files ? I just asking about ready to install widget becouse I am want to use this app with my standart launcher on SE Xperia X10.
it is possible ? hope so and BIG THANKS for all
HTC TyTN user said:
Thanks for your work and perfet modding/ but may I ask author to attach onli modified pepople widget apk files ? without louncher files ? I just asking about ready to install widget becouse I am want to use this app with my standart launcher on SE Xperia X10.
it is possible ? hope so and BIG THANKS for all
Click to expand...
Click to collapse
No it's not possible.
You need LauncherPro Plus.
ilangoadigal said:
I didn't like how the LauncherPro People widget had the name covering up the picture so I changed around the grid to fix it. Hopefully the developer will fix this in future releases, and modders can possibly include this simple fix in their versions.
signedLauncherPro.apk is the release candidate version with only the People widget changed.
signedcom.fede.launcher-1.apk is signal23's CLEAR version (white text / clear bg) - Full screen size as seen here- http://forum.xda-developers.com/showthread.php?t=783427
Click to expand...
Click to collapse
Any chance this could be updated to the latest version of LauncherPro?
Many thanks in advance
Edit: Never mind. I was able to do it using your instructions. Thanks again, this is GREAT!
awesome! thank you
going to try it out, hopefully it still works on the newer version
This would be awesome if we could use LPP People widget and the Bookmark widget as stand alone .apk's, it's one of the biggest reasons why I use LPP. I HATE there docking system.
Raadius said:
This would be awesome if we could use LPP People widget and the Bookmark widget as stand alone .apk's, it's one of the biggest reasons why I use LPP. I HATE there docking system.
Click to expand...
Click to collapse
true..........
ilangoadigal said:
I didn't like how the LauncherPro People widget had the name covering up the picture so I changed around the grid to fix it. Hopefully the developer will fix this in future releases, and modders can possibly include this simple fix in their versions.
signedLauncherPro.apk is the release candidate version with only the People widget changed.
signedcom.fede.launcher-1.apk is signal23's CLEAR version (white text / clear bg) - Full screen size as seen here- http://forum.xda-developers.com/showthread.php?t=783427
Click to expand...
Click to collapse
yay got it to work, thanks for the detailed instructions.
btw how did u get ur People widget without any borders? i dont like the thick rounded corners that come with the original widget theme.
Awesome guide, thank you!!
Is it possible to remove Contacts name completely from the People widget having just images?
I have a problem. When I choose "Decompile Apk" in APK Manager it says: "An error occured, please check the Log"
What I'm doing wrong?
PS. I have 0.8.5 version of LauncherPro Plus
It worked! Genious mod, perfect guide. Thanks a lot!
ilangoadigal said:
I didn't like how the LauncherPro People widget had the name covering up the picture so I changed around the grid to fix it. Hopefully the developer will fix this in future releases, and modders can possibly include this simple fix in their versions.
signedLauncherPro.apk is the release candidate version with only the People widget changed.
signedcom.fede.launcher-1.apk is signal23's CLEAR version (white text / clear bg) - Full screen size as seen here- http://forum.xda-developers.com/showthread.php?t=783427
Click to expand...
Click to collapse
Thanks for the useful post.
Q: Instead of changing the contact picture size, could someone post instructions how do we reduce the height of the gray color bar (where the contact name is) please?
[EDIT] Solved it with some brain sweat... here's the code I used, replace in lpwidget_contact_item.xml:
Code:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:layout_width="fill_parent" android:layout_height="100.0dip"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView android:id="@id/imagey" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scaleType="centerCrop" />
<TextView android:textSize="12.0sp" android:textColor="#ffffffff" android:gravity="center" android:ellipsize="marquee" android:layout_gravity="bottom|center" android:id="@id/texty" android:background="#aa000000" android:fadingEdge="horizontal" android:layout_width="fill_parent" android:layout_height="18.0dip" android:singleLine="true" />
</FrameLayout>
This will make the grey bars smaller and also centre contact's names...sample attached.

Multi LauncherTheme

Hey guys I recently started developing my own themes on eclipse since go theme factory started encrypting they xml's
this is the theme i just made
Its compatible with these launcher:
☑ Adw Free
☑ Adw EX
☑ Nova Launcher
☑ Nova Launcher Pro
☑ Apex Launcher
☑ Apex Launcher Pro
☑ Holo Launcher
☑ Launcher Pro
☑ Espier Launcher 2.0
☑ Espier Launcer 3.0
☑ Go Launcher EX
☑ 7 Wallpapers
Also mask works with APEX/NOVA aswell as GO (for the one who dont know go had the masks inverted)
Now thing is my theme creates an activity in the drawer of all these launchers, i wanna take that out, cuz the activity aint starting just force closes, i either wannna get rid of the icon on drawer, of create a simple activity, please enlight me,
My theme force closes then clicked by the drawer because on my project there are no files inside SRC folder so no com.myname.Mythemename.MainActivity, i tought those were regenerated automaticly when deleted but no.
Please enlight me
Either to remove my app from app drawer '' or regenerate src''
I'm starting this thread as a question in this forum,but ill update 1 post later on adding all the details how to get masks and espier to work
Can you share your eclipse project? I'm willing to play with it a bit (also my only motive is making a "suave" theme that will work with Espier launcher) - but I might solve the launcher activity thing along the way, too
Arcanium said:
Hey guys I recently started developing my own themes on eclipse since go theme factory started encrypting they xml's
this is the theme i just made
Its compatible with these launcher:
☑ Adw Free
☑ Adw EX
☑ Nova Launcher
☑ Nova Launcher Pro
☑ Apex Launcher
☑ Apex Launcher Pro
☑ Holo Launcher
☑ Launcher Pro
☑ Espier Launcher 2.0
☑ Espier Launcer 3.0
☑ Go Launcher EX
☑ 7 Wallpapers
Also mask works with APEX/NOVA aswell as GO (for the one who dont know go had the masks inverted)
Now thing is my theme creates an activity in the drawer of all these launchers, i wanna take that out, cuz the activity aint starting just force closes, i either wannna get rid of the icon on drawer, of create a simple activity, please enlight me,
My theme force closes then clicked by the drawer because on my project there are no files inside SRC folder so no com.myname.Mythemename.MainActivity, i tought those were regenerated automaticly when deleted but no.
Please enlight me
Either to remove my app from app drawer '' or regenerate src''
I'm starting this thread as a question in this forum,but ill update 1 post later on adding all the details how to get masks and espier to work
Click to expand...
Click to collapse
In order to be recognized for Espier Launcher Theme Manager, it must a Activity that is <action android:name="mobi.espier.launcher.THEME" /> in the"AndroidMainifest.xml” file, a similar configuration is as follows:
<activity
android:name="ThemeManagerActivity"
android:label="@string/theme_manager_title">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="mobi.espier.launcher.THEME" />
</intent-filter>
</activity>
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Espier Screenie
So the original manifest from espier themes looks like
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="3" android:versionName="2.0.0" package="mobi.espier.launcher.theme.THEME_NAME"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
<application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
<activity android:label="@string/app_name" android:name=".El_themeActivity" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="mobi.espier.launcher.THEME" />
</intent-filter>
</activity>
</application>
</manifest>
And it does not create launcher icon afair....
Arcanium said:
In order to be recognized for Espier Launcher Theme Manager, it must a Activity that is <action android:name="mobi.espier.launcher.THEME" /> in the"AndroidMainifest.xml” file, a similar configuration is as follows:
<activity
android:name="ThemeManagerActivity"
android:label="@string/theme_manager_title">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="mobi.espier.launcher.THEME" />
</intent-filter>
</activity>
Espier Screenie
Click to expand...
Click to collapse
no activity starter no

[Q] Hiding module's icon from Launcher

Hi guys.
I'm trying to provide my users with the option to hide the module icon from the launcher.
At first I thought it's as simple as using:
Code:
PackageManager p = getPackageManager();
p.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
Which works, but also makes it not launch from within the Xposed Installer (it reports the module as having 'no interface' if I the user hides the icon).
Is there a way you know of to programatically (meaning not through the AndroidManifest.xml so that the user can toggle it on and off) hide the module's icon from the launcher, while still retaining access to the interface through the Xposed Installer?
Thanks a bunch!
You'll need to use an alias as the launcher activity. You can then hide the alias, and have the actual activity use a category the Xposed Installer looks for.
AndroidManifest.xml:
XML:
[PLAIN]
<activity android:name="com.mypackage.Activity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="de.robv.android.xposed.category.MODULE_SETTINGS"/>
</intent-filter>
</activity>
<activity-alias
android:enabled="true"
android:name="com.mypackage.Activity-Alias"
android:label="@string/app_name"
android:icon="@drawable/ic_launcher"
android:targetActivity="com.mypackage.Activity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
[/PLAIN]
Activity.java (assuming you have a checkbox with the "pref_show_app_icon" ID):
Java:
[PLAIN]
Preference showAppIcon = findPreference("pref_show_app_icon");
pref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
PackageManager packageManager = getActivity().getPackageManager();
int state = (Boolean) newValue ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
ComponentName aliasName = new ComponentName(getActivity(), "com.mypackage.Activity-Alias");
packageManager.setComponentEnabledSetting(aliasName, state, PackageManager.DONT_KILL_APP);
return true;
}
});
[/PLAIN]
Works perfect, thanks as always

[GUIDE][4.4.x][4.2.x]Theming Android SystemUI

This is a simple guide to understand how to theme systemui.apk on 4.4.x OR 4.2.x, this guide will work for any rom having aosp like user interface. Before you start reading this, you have to set up apktool correctly. Just to check if your apktool is correctly installed, you can decompile my DarkL rom's systemui.apk and then recompile it without making any changes, if it compiles successfully then you are ready to try this tutorial.
Also, you need notepad++ to edit xml or smali line by line and you need gimp to edit transparent pngs.
Now we will learn easy things first then move to more advanced things, so lets start with statusbar icons first, I'll add more things in this tutorial in coming days, Sorry, I'm lazy to type
1.Changing statusbar icons (Signal, wifi, alarm, vibration or silent icons etc.)-
First decompile your systemui and go to "/systemui/res/" folder.
Changing the statusbar icons is easiest, these are pngs located in /res/drawable-hdpi/ OR /res/drawable-xhdpi/ depending on your device resolution, if it's 480*800 then your device is hdpi else if your resolution is 1280*720 then your device is xhdpi. You need to make changes in the correct folder.
Now open your folder /res/drawable-hdpi/ OR /res/drawable-xhdpi/ and look for pngs starting with name "stat_sys_.....png"
For wifi icon, we have "stat_sys_wifi_signal_1_fully.png" , "stat_sys_wifi_signal_2_fully.png" and so on, till "stat_sys_wifi_signal_4_fully.png".
For signal icons, we have "stat_sys_gemini_signal_1_orange.png" , 2_orange , 3_orange and so on, If your device is dual sim, you have multi colored signals, orange, purple, green, blue, look for the appropriate png and edit/replace it.
View attachment 3208547
Similarly, all the icons appearing in your statusbar are present here, all start with "stat_sys_.....png" you can edit these pngs or replace them from an existing theme or rom.
Warning - Ask permissions from the developer of that rom/theme !!
Just to learn things, you can use my DarkL rom's systemui.apk and take pngs from it
2.Changing notification drawer background-
The semi transparent background of your notification drawer is a png located in /res/drawable-hdpi/ or /res/drawable-xhdpi/ according to your device resolution. You need to make changes in the correct folder for your device.
Now find "notification_panel_bg.9.png" in your folder, this is the notification background, I recommend you to rename it to "notification_panel_bg.png" because .9 pngs have a border and are tricky to edit.
Now right click on this png and edit it with gimp, erase it and fill any color you want to.
View attachment 3208550
3.Customizing quicksettings tiles (icons, background and gaps)-
Firstly, to change quicksettings icons like wifi, data, rotation, bluetooth etc. Go to correct folder according to your device /res/drawable-xhdpi/ OR /res/drawable-hdpi/ now you need to replace/edit the pngs starting with "ic_qs_....png" , all of them are for quicksettings.
View attachment 3208555
Similarly, all the icons appearing in your statusbar are present here, all start with "ic_qs_.....png" you can edit these pngs or replace them from an existing theme or rom.
Warning - Ask permissions from the developer of that rom/theme !!
Just to learn things, you can use my DarkL rom's systemui.apk and take pngs from it
Now, to change background of tiles, you have to edit "/res/drawable/qs_tile_background.xml", you need to know the hex codes of your desired color to edit them, use this website to convert RGB to hex or reverse.
Now open "/res/drawable/qs_tile_background.xml" and look for the two hex codes, first one is for pressed tile, second one is for normal tile. Erase the last 6 characters here and Put your own 6 character hex code of any color.
View attachment 3208558
Now to edit dimensions in systemui like gaps between quicksettings tiles and size of recent apps, open "/res/values/dimens.xml"
This file contains the size of various things, you can play with the values and maybe discover something awesome, below are few things you can try, just alter the blue colored value.
These two lines are for changing the size of recent apps-
Code:
[COLOR="red"] <dimen name="status_bar_recents_thumbnail_width">164.0dip</dimen>
<dimen name="status_bar_recents_thumbnail_height">145.0dip</dimen>[/COLOR]
This line for changing gap between two notifications-
Code:
[COLOR="red"] <dimen name="notification_divider_height">3.0dip</dimen>[/COLOR]
(To remove gap, put 0.0dip)
This line for changing gap between quicksettings tiles-
Code:
[COLOR="red"]<dimen name="quick_settings_cell_gap">3.0dip</dimen>[/COLOR]
Similarly, you can try changing anything here to resize various things in your notifications and quicksettings, It's time consuming but interesting.
4.Changing layout of clock in notification header-
Usually, the notification header of stock rom's systemui has clock in this format-
View attachment 3208560
I feel that It's a bit too long, So I'll tell a method to make it double line-
View attachment 3208574
To do this, firstly you need to increase the height of notification header, go to "res/values/dimens.xml" and find this line-
Code:
[COLOR="red"]<dimen name="notification_panel_header_height">40.0dip</dimen>[/COLOR]
Change the value here to 56dpi
Now, to make the clock double line, open "/res/layout/status_bar_expanded_header.xml" and find this code-
Code:
<LinearLayout android:enabled="false" android:gravity="center_vertical" android:orientation="vertical" android:id="@id/datetime" android:paddingLeft="3.0dip" android:paddingRight="0.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent">
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="2.0dip" android:singleLine="true" />
<com.android.systemui.statusbar.policy.DateView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="2.0dip" android:singleLine="true" />
</LinearLayout>
See the tags LinearLayout, Just change it to RelativeLayout both above and below.
Code:
<RelativeLayout android:enabled="false" android:gravity="center_vertical" android:orientation="vertical" android:id="@id/datetime" android:paddingLeft="3.0dip" android:paddingRight="0.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent">
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="2.0dip" android:singleLine="true" />
<com.android.systemui.statusbar.policy.DateView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="2.0dip" android:singleLine="true" />
</RelativeLayout>
Thank you for reading, more things I'll add later, too tired to type more.
Reserved
More to come
Very Nice guide.
Regards
Nice work, looking forward for more such helpful guides. :good:
How can I change the navbar (background & icons)?
If I am only interested in changing the icons (such as alarm icon, Bluetooth icon) , do I need to decompile the APK?
I tried to drag the pngs I wanted into the appropriate folder.
I can see that it is working, but not sure if it has any adverse effects.
Any advice?
albel said:
If I am only interested in changing the icons (such as alarm icon, Bluetooth icon) , do I need to decompile the APK?
I tried to drag the pngs I wanted into the appropriate folder.
I can see that it is working, but not sure if it has any adverse effects.
Any advice?
Click to expand...
Click to collapse
Yes, but drag and drop has limitations, you can only replace normal pngs but not .9 pngs, It's fine for you since statusbar icons are normal pngs only, they are not .9 pngs.
Mmmh!!! this is quiet new and much detailed. Big ups for the guide.
nicely done..thanks for your brilliant work..keep it up
Request
Can you add method to add brightness slider?
mr-illusionist said:
Can you add method to add brightness slider in kitkat roms?
Click to expand...
Click to collapse
Yes, I'll write about adding features in second post soon, I've also attached my rom's SystemUI.apk, you can decompile it and see /res/xml/notification_header_expanded.xml till then.
Plz can you add some information about . changing position of signal bars and WiFi from right to left ??
If yes then it will be very great of you .... Thanks in advance
Sent from my UF2021 using XDA Free mobile app
please i want to change this color
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
to this
wish xml file must be changed ?
sorry for my english
umangleekha said:
Yes, I'll write about adding features in second post soon, I've also attached my rom's SystemUI.apk, you can decompile it and see /res/xml/notification_header_expanded.xml till then.
Click to expand...
Click to collapse
Waiting for it bro. :good:
Do you have any method to insert brightness slider bar on systemui?
Subscribed..!! Thanx for this wonderful guide.. Waiting for the next part..

Finding and using intent from manifest.xml

I am trying to understand intents better and have spent several hours trying to figure them out. I have been able to get several to work, but I am stuck on trying to activate the screensaver from the stock Clock app. Long pressing the app shows a "start screensaver" shortcut, but I can't seem to activate it by intent. Nova Launcher shortcuts don't list it. The manifest.xml file for the clock app has these two sections (excerpts below) that I assume should have the answer, but I can't seem to make any of these intents work.
<service
android:name=".Screensaver"
android:label="@string/app_label"
androidermission="android.permission.BIND_DREAM_SERVICE">
<intent-filter>
<action android:name="android.service.dreams.DreamService" />
<action android:name="android.app.action.NEXT_ALARM_CLOCK_CHANGED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data
android:name="android.service.dream"
android:resource="@xml/screensaver_info" />
</service>
Click to expand...
Click to collapse
<receiver
android:name="com.android.alarmclock.DigitalAppWidgetProvider"
android:label="@string/digital_gadget">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="android.app.action.NEXT_ALARM_CLOCK_CHANGED" />
<action android:name="android.intent.action.DATE_CHANGED" />
<action android:name="android.intent.action.LOCALE_CHANGED" />
<action android:name="android.intent.action.SCREEN_ON" />
<action android:name="android.intent.action.TIME_SET" />
<action android:name="android.intent.action.TIMEZONE_CHANGED" />
<action android:name="com.android.deskclock.ALARM_CHANGED" />
<action android:name="com.android.deskclock.ON_DAY_CHANGE" />
<action android:name="com.android.deskclock.WORLD_CITIES_CHANGED" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/digital_appwidget" />
</receiver>
Click to expand...
Click to collapse
Is it possible to launch the screensaver by send intent on Tasker based on the information above? If so, could someone point me in the right direction?
The entire manifest.xml is online, but I don't have enough posts to share the link.
I don't think the clock app launches the screensaver. I think that's done via the screensaver (daydream). I think the intent in the clock app is to bind the clock screensaver to the daydream app. You may realize, the screen saver only functions when idle and charging or docked. The screen has to time out by itself, not by a power button press.
"Good judgment comes from experience, and a lot of that comes from bad judgment." - Will Rogers

Categories

Resources