[GUIDE] Learn to edit APKs | *Very* noob-friendly | Ex. mod: remove brightness slider - AT&T, Rogers, Bell, Telus Samsung Galaxy S III

Hi. I'm pretty fresh to Android, but I've already fallen in love with it. After getting the courage to root, I've found my phone as customizable as I want. If you want to move past requesting developers to edit this or that for you or just want to learn more about editing neat system files, then this guide is for you. I will be providing a thorough rationale for each step; you don't need to read the rationale to make this work, but kittens will die if you don't. And, if you understand how it all works, you'll be able to mod/edit any APK you ever find! Made possible with help from:
David Dee for inspiring me to mod my phone
grgsiocl for the actual mod
Diamondback for his critical and wonderful integrated developing environment, Virtuous Ten Studio (aka VTS)...thus NO APKTOOL COMMAND LINE REQUIRED. YES. BE HAPPY.
efrant for the helpful ADB clarifications
Chainfire for his wonderful and free adbd insecure app
David Dee, Phoneguy589, psenseny: the three people who liked my post when I said I would write a guide about this.
So, want to make this,
{
"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"
}
look like this:
This mod is for US-based Galaxy S3's running 4.1.1. I'm concurrently running this with David Dee's 23 toggle mod, so no problems there. It might work in other phones, too, but I haven't tested them. Of course, everything you do is your own responsibility. I take no ownership of your issues, but I will help if I can!
The overview: If you know how to decompile, save the signature, edit XMLs, and recompile, just follow the instructions in bold red. For the rest of us, we'll be using the user-friendly, fully GUI Virtuous Ten Studio. First, we'll SystemUI.apk. Decompile. Edit XML. Recompile. Push modded SystemUI.apk and finally restart.
Making a Nandroid, setting up adbd insecure for those on stock kernel, and preparing VTS for use!
READ THIS WHOLE TUTORIAL ONCE AND MAKE SURE YOU UNDERSTAND IT BEFORE ACTUALLY STARTING IT. Ask me before you do something you don't know!
Root required. Why: we need to edit files in the /system partition of Android. Only root users will be able to do that.
Make a Nandroid backup right now (either using the wonderful Orange Backup app or reboot to recovery and make it).
I wasn't joking.
Seriously, make a Nandroid backup right now.
If you have the stock kernel (or any kernel that is "secure" [i.e. ro.secure=1 in your build.prop]), then install adbd insecure onto your phone. Why: expediency (i.e. fewer commands to type). VTS will be using ADB, the Android Debugging Bridge, to copy and paste files from our computer to our phone. If you are rooted + stock kernel, ADB runs in a "secure" mode that will make us jump through some hoops to copy files. Your phone has a build.prop file, located in /system. It has a line in there called ro.secure; if it is ro.secure=1, adb will run in this annoying secure mode (EVEN IF YOU ARE ROOTED). Adbd insecure will ignore that ro.secure=1 setting and force adbd to run insecure (get it? adbd insecure is the name of the app? Chainfire, you so clever!)
Now, install Virtuous Ten Studios (VTS) Why: We'll be using VTS exclusively to decompile, edit the XML, and recompile. You will NOT be writing a single line of code into a command prompt or anything. Thank you, modern software.
Read the tutorials gratefully written by Diamondback, et al. They're on the website linked in the link in the step above.
You didn't read them, did you? Jerk. lol, jk. But, seriously, read them. It will make VTS seem not so foreign and scary!
Enable Settings -> USB debugging on your phone.
Run the adbd insecure app on your phone. Check "Enable insecure adbd."
Plug your phone into your computer.
Open VTS. Then "File" -> "Open VTS Settings".
Go to "External Tools" -> "ApkTool". Click "Add single framework". Why: long answer here, haha. APKs are zip files, but if you simply unzipped them and opened an XML file, you'd get garbage. Unreadable junk! That's because the APK has been COMPILED. It was a collection of folders, then it was compiled (which, IMO, just means it was changed into Android-readable-code). We need Windows-readable-code. So, we must decompile the APK. Then we shall see Windows-readable-code organized into neat little folders. But, to change from Android-readable-code to Windows-readable-code, we need some extra files. Namely, your framework-res.apk. It contains some instructions or random junk (no idea what exactly) that will allow us to decompile SystemUI.apk.
Give your framework a tag. It's just a name that you can remember. Framework-res.apks are specific to each phone and each ROM, so if you did LOTS of theming, the tag would be useful in recalling which framework-res.apk this is!
Click OK. Then, click the down arrow next to Remote File. Open the Framework folder and highlight "framework-res.apk." Then click "Import." It'll take 15 or so seconds.
Click OK after the framework installs (you'll see it appear in your window!).
Modifying SystemUI.apk to remove the brightness bar
Let's actually do the mod now, eh? Click File in VTS and click "New Project." Why: Solutions are like "folders" and Projects are like "files" in VTS. It's just to keep you organized. We're going to be editing ONE file, so we'll make ONE solution and inside that solution will be ONE project.
Make sure Apk-Project is highlighted on the "Project" tab. Give the Project and Solution a name; doesn't matter what.
Click Apk-Tool on the left. Inside the framework tag box, type in the name you gave your framework. Or select it from the drop-down menu; whatever works for you.
Click Smali on the left. Choose API Level "4.1 Jelly Bean" Why: we aren't editing Smali (a different kind of code, besides XML), but it can't hurt, right?
Go to Build on the left. Make sure "Sign output file via the following method" is checked and Select "Keep old signature (not recommended)". It's not recommended because sometimes it can cause problems; but, it is the best option for system APKs (not user apks, like Pandora.apk). Why: every app has a signature verifying that it is made by this developer (and not some hacker). Think of a signature as a trip-wire for zipping and compiling APKs. If we do either of those, the signature will go crazy; if you have a "crazy"/tripped signature, your phone will be stuck on the boot logo. So, APKs are basically zip files; the signature is inside both the META-INF folder and AndroidManifest.xml file. Again, these files are tripped/changed if you unzip or re-zip or decompile or re-compile your APK (very sensitive!); you don't even have to open them and they will get changed! Thus, VTS, after we recompile, will insert the original META-INF folder and AndroidManifest.xml file (that it backed up when it pulled the APK) back into the now-modified APK.
Go to Import on the left. Click the "..." button on the right. Click the down arrow next to Remote file. Open the System folder.
BEHOLD the wonderful list of all the system apps installed on your phone. Scrooooooollllll down to SystemUI. apk. Select it and click import.
Click "OK" to begin decompiling SystemUI.apk
Wait about 20 seconds. You should be greeted with a set of folders called assets, res, and smali, as well as AndroidManifest.XML, apktook.yml, and buildevents.
Open res -> layout -> tw_status_bar_expanded.xml by DOUBLE-CLICKING it. WARNING: there are about 50 different folders that are called layout-blah and 50 different XML files that have "tw" and "status_bar" there. Make sure you open the right file.
You should get some nice XML code at the bottom. Add exactly this:
Code:
android:visibility="gone"
here (it's colored in red; scroll right to see it!):
Code:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:id="@id/notification_panel" android:background="@drawable/back" android:paddingTop="@dimen/notification_panel_padding_top" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginLeft="@dimen/notification_panel_margin_left"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="@dimen/close_handle_underlap">
<include android:layout_width="fill_parent" android:layout_height="@dimen/tw_notification_panel_header_height" layout="@layout/tw_status_bar_expanded_header" />
<com.wanam.systemui.quickpanel.PowerWidget android:id="@id/exp_power_stat" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/notification_panel_header_height" />
<HorizontalScrollView android:id="@id/quicksetting_scroller" android:scrollbars="none" android:layout_width="wrap_content" android:layout_height="@dimen/quick_setting_button_height" android:layout_marginTop="@dimen/tw_notification_panel_header_height">
<com.android.systemui.statusbar.policy.quicksetting.QuickSettingPanel android:orientation="horizontal" android:id="@id/quicksetting_container" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:divider="@drawable/tw_black_bg" android:showDividers="middle" />
</HorizontalScrollView>
<ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginTop="@dimen/notification_panel_quicksettingbtn_height" android:overScrollMode="ifContentScrolls">
<LinearLayout android:orientation="vertical" android:id="@id/scrollCart" android:layout_width="fill_parent" android:layout_height="wrap_content">
<LinearLayout android:orientation="vertical" android:id="@id/brightness_controller" [B][COLOR="Red"]android:visibility="gone"[/COLOR][/B] android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="56.0dip">
<LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="1.0dip">
<ImageView android:id="@id/brightness_icon" android:clickable="true" android:layout_width="25.0dip" android:layout_height="fill_parent" android:layout_marginLeft="13.0dip" android:src="@drawable/ic_sysbar_brightness" android:contentDescription="@string/accessibility_brightness_icon" />
<FrameLayout android:id="@id/brightness_group" android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.systemui.statusbar.policy.ToggleSlider android:id="@id/brightness" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:text="@string/status_bar_settings_auto_brightness_label" />
<com.android.systemui.statusbar.policy.ToggleSlider android:id="@id/auto_brightness" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:text="@string/status_bar_settings_auto_brightness_label" />
</FrameLayout>
</LinearLayout>
<View android:background="#ff091a24" android:layout_width="fill_parent" android:layout_height="1.0dip" />
</LinearLayout>
<LinearLayout android:orientation="vertical" android:id="@id/noNotificationsTitle" android:focusable="true" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textSize="@dimen/status_bar_expanded_notification_category_text_size" android:textStyle="bold" android:textColor="@color/notification_category_color" android:gravity="left|center" android:id="@id/noNotificationsText" android:paddingLeft="11.0dip" android:layout_width="fill_parent" android:layout_height="@dimen/status_bar_expanded_notification_category_height" android:text="@string/status_bar_no_notifications_title" />
</LinearLayout>
<LinearLayout android:orientation="vertical" android:id="@id/onGoingCart" android:background="#ff293945" android:focusable="true" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="@dimen/status_bar_expanded_notification_category_height">
<TextView android:textSize="@dimen/status_bar_expanded_notification_category_text_size" android:textStyle="bold" android:textColor="@color/notification_category_color" android:gravity="left|center" android:id="@id/onGoingNotificationText" android:paddingLeft="11.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:text="@string/status_bar_ongoing_events_title" />
</LinearLayout>
<com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/onGoingItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/tw_notification_row_min_height" />
<LinearLayout android:orientation="vertical" android:id="@id/notificationCart" android:background="#ff293945" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="@dimen/status_bar_expanded_notification_category_height">
<RelativeLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textSize="@dimen/status_bar_expanded_notification_category_text_size" android:textStyle="bold" android:textColor="@color/notification_category_color" android:gravity="left|center" android:id="@id/latestNotificationText" android:paddingLeft="11.0dip" android:layout_width="180.0dip" android:layout_height="fill_parent" android:text="@string/status_bar_latest_events_title" android:layout_alignParentLeft="true" />
<TextView android:textSize="@dimen/status_bar_expanded_notification_clear_button_text_size" android:textColor="@color/tw_status_bar_clear_btn_text" android:gravity="center" android:id="@id/clear_all_button" android:background="@drawable/tw_btn_default_small" android:padding="0.100000024dip" android:focusable="true" android:clickable="true" android:layout_width="@dimen/status_bar_expanded_clear_button_width" android:layout_height="fill_parent" android:layout_marginRight="4.0dip" android:text="@string/status_bar_clear_all_button" android:layout_alignParentRight="true" android:contentDescription="@string/accessibility_clear_all" />
</RelativeLayout>
</LinearLayout>
<com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/notificationItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/tw_notification_row_min_height" />
<com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/tw_notification_row_min_height" />
</LinearLayout>
</ScrollView>
</FrameLayout>
<com.android.systemui.statusbar.phone.CloseDragHandle android:layout_gravity="bottom" android:orientation="vertical" android:id="@id/close" android:layout_width="fill_parent" android:layout_height="@dimen/tw_close_handle_height">
<RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent">
<ImageView android:layout_gravity="bottom" android:layout_width="fill_parent" android:layout_height="@dimen/tw_close_handle_height" android:src="@drawable/tw_status_bar_close" android:scaleType="fitXY" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Network" android:gravity="center" android:layout_gravity="bottom" android:id="@id/carrier_label" android:layout_width="fill_parent" android:layout_height="@dimen/tw_close_handle_height" android:layout_marginBottom="10.0dip" />
</RelativeLayout>
</com.android.systemui.statusbar.phone.CloseDragHandle>
</FrameLayout>
Then, DO NOT TOUCH ANYTHING ELSE in the XML file. Unless you're feeling adventurous?
Click "Push All" on the top. If you did it right, it shall ask you "Do you want to save changes?"
Click yes. Wait 2 minutes while it re-compiles and pushes the APK to /system/app.
If all went well, your screen will flicker and you'll get the original wallpaper back. No worries. REBOOT YOUR PHONE (this will reload SystemUI.apk, disable adbd insecure, and put /system back in a read-only state: all good things!) and ENJOY NO BRIGHTNESS BAR.
Questions?

Re: [GUIDE] *very* noob-friendly - learn to edit APKs - ex.: remove the brightness sl
I actually just posted a question in the TW themeing sticky thread concerning the brightness slider removal. Can you take a look and see if you might be able to help... Don't want to double post.
Thank You.
Sent from my SGS III

Re: [GUIDE] *very* noob-friendly - learn to edit APKs - ex.: remove the brightness sl
Hi! I see! OK. I simply added the android:visibility="gone" instead of changing the dip to 0.0.
To keep a placeholder, add my code just one line below the one I've posted. I don't exactly know how to do it your way.
This will give you a buffer as tall as the original brightness slider, like so:
However, that might be too much of a buffer. Then, I would experiment with some of those dip numbers concerning height and one of them might shrink it for you!

Nice tuto!
Then, DO NOT TOUCH ANYTHING ELSE in the XML file. Unless you're feeling adventurous?
Click to expand...
Click to collapse
Just for information, the layout file can be eaisly edited with Eclipse or Intellij Idea (both are free, Intellij is better BUT not opensource).
Using these tools is interesting as it can generate a view on your computer of the result.
So it is very easy to be adventurous
Regards
---------- Post added at 04:40 PM ---------- Previous post was at 04:33 PM ----------
ikjadoon said:
Hi! I see! OK. I simply added the android:visibility="gone" instead of changing the dip to 0.0.
To keep a placeholder, add my code just one line below the one I've posted. I don't exactly know how to do it your way.
This will give you a buffer as tall as the original brightness slider, like so:
However, that might be too much of a buffer. Then, I would experiment with some of those dip numbers concerning height and one of them might shrink it for you!
Click to expand...
Click to collapse
for the effect of Gone:
http://developer.android.com/reference/android/view/View.html#attr_android:visibility

Thanks. It's nothing big, but I was excited when I finally got it all to work. Oooh, that would be very handy! Hrmm.....I shall contemplate learning those programs---it's like opening Pandora's box, so many things to do!
I see; thank you for linking that wonderful website (no idea it existed!). So, maybe then, swiftks, keep the edit in the same line, but change it to android:visibility="invisible" ?
~Ibrahim~

Thanks guys, got it perfect to my liking. :laugh: :good:
Here's my tw_status_bar_expanded.xml with the changes in RED.
Code:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:id="@id/notification_panel" android:background="@drawable/notification_panel_bg" android:paddingTop="@dimen/notification_panel_padding_top" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginLeft="@dimen/notification_panel_margin_left"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="@dimen/close_handle_underlap">
<include android:layout_width="fill_parent" android:layout_height="@dimen/tw_notification_panel_header_height" layout="@layout/tw_status_bar_expanded_header" />
<com.wanam.systemui.quickpanel.PowerWidget android:id="@id/exp_power_stat" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/notification_panel_header_height" />
<HorizontalScrollView android:id="@id/quicksetting_scroller" android:scrollbars="none" android:layout_width="wrap_content" android:layout_height="@dimen/quick_setting_button_height" android:layout_marginTop="@dimen/tw_notification_panel_header_height">
<com.android.systemui.statusbar.policy.quicksetting.QuickSettingPanel android:orientation="horizontal" android:id="@id/quicksetting_container" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:divider="@drawable/tw_black_bg" android:showDividers="middle" />
</HorizontalScrollView>
<ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginTop="@dimen/notification_panel_quicksettingbtn_height" android:overScrollMode="ifContentScrolls">
<LinearLayout android:orientation="vertical" android:id="@id/scrollCart" android:layout_width="fill_parent" android:layout_height="wrap_content">
<LinearLayout android:orientation="vertical" android:id="@id/brightness_controller" android:background="#ff000000" [COLOR="red"]android:visibility="invisible"[/COLOR] android:layout_width="fill_parent" android:layout_height="[COLOR="red"]26.0dip[/COLOR]">
<LinearLayout android:orientation="horizontal" [COLOR="red"]android:visibility="invisible"[/COLOR] android:layout_width="fill_parent" android:layout_height="[COLOR="red"]25.0dip[/COLOR]">
<ImageView android:id="@id/brightness_icon" android:clickable="true" android:layout_width="25.0dip" android:layout_height="fill_parent" android:layout_marginLeft="13.0dip" android:src="@drawable/ic_sysbar_brightness" android:contentDescription="@string/accessibility_brightness_icon" />
<FrameLayout android:id="@id/brightness_group" android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.systemui.statusbar.policy.ToggleSlider android:id="@id/brightness" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:text="@string/status_bar_settings_auto_brightness_label" />
<com.android.systemui.statusbar.policy.ToggleSlider android:id="@id/auto_brightness" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:text="@string/status_bar_settings_auto_brightness_label" />
</FrameLayout>
</LinearLayout>
<View android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="1.0dip" />
</LinearLayout>
<LinearLayout android:orientation="vertical" android:id="@id/noNotificationsTitle" android:focusable="true" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textSize="@dimen/status_bar_expanded_notification_category_text_size" android:textStyle="bold" android:textColor="@color/notification_category_color" android:gravity="left|center" android:id="@id/noNotificationsText" android:paddingLeft="11.0dip" android:layout_width="fill_parent" android:layout_height="@dimen/status_bar_expanded_notification_category_height" android:text="@string/status_bar_no_notifications_title" />
</LinearLayout>
<LinearLayout android:orientation="vertical" android:id="@id/onGoingCart" android:background="#ff000000" android:focusable="true" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="@dimen/status_bar_expanded_notification_category_height">
<TextView android:textSize="@dimen/status_bar_expanded_notification_category_text_size" android:textStyle="bold" android:textColor="@color/notification_category_color" android:gravity="left|center" android:id="@id/onGoingNotificationText" android:paddingLeft="11.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:text="@string/status_bar_ongoing_events_title" />
</LinearLayout>
<com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/onGoingItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/tw_notification_row_min_height" />
<LinearLayout android:orientation="vertical" android:id="@id/notificationCart" android:background="#ff000000" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="@dimen/status_bar_expanded_notification_category_height">
<RelativeLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textSize="@dimen/status_bar_expanded_notification_category_text_size" android:textStyle="bold" android:textColor="@color/notification_category_color" android:gravity="left|center" android:id="@id/latestNotificationText" android:paddingLeft="11.0dip" android:layout_width="180.0dip" android:layout_height="fill_parent" android:text="@string/status_bar_latest_events_title" android:layout_alignParentLeft="true" />
<TextView android:textSize="@dimen/status_bar_expanded_notification_clear_button_text_size" android:textColor="@color/tw_status_bar_clear_btn_text" android:gravity="center" android:id="@id/clear_all_button" android:background="@drawable/tw_btn_default_small" android:padding="0.100000024dip" android:focusable="true" android:clickable="true" android:layout_width="@dimen/status_bar_expanded_clear_button_width" android:layout_height="fill_parent" android:layout_marginRight="4.0dip" android:text="@string/status_bar_clear_all_button" android:layout_alignParentRight="true" android:contentDescription="@string/accessibility_clear_all" />
</RelativeLayout>
</LinearLayout>
<com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/notificationItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/tw_notification_row_min_height" />
<com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/tw_notification_row_min_height" />
</LinearLayout>
</ScrollView>
</FrameLayout>
<com.android.systemui.statusbar.phone.CloseDragHandle android:layout_gravity="bottom" android:orientation="vertical" android:id="@id/close" android:layout_width="fill_parent" android:layout_height="@dimen/tw_close_handle_height">
<RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent">
<ImageView android:layout_gravity="bottom" android:layout_width="fill_parent" android:layout_height="@dimen/tw_close_handle_height" android:src="@drawable/tw_status_bar_close" android:scaleType="fitXY" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Network" android:gravity="center" android:layout_gravity="bottom" android:id="@id/carrier_label" android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_marginBottom="0.0dip" />
</RelativeLayout>
</com.android.systemui.statusbar.phone.CloseDragHandle>
</FrameLayout>

just a tip if you are not on a windows machine because windows blows
use apktool... much much moree effective... in my opinion and to edit smali or xmls i use Sublime text editor
also i belive in this same xml u can remove carrier logo and some more fun stuff ;D as well as mess with color.

Good tut!
I was poking around with vts for systemui then i found your tut. Covered the basic startup. Work on my note 2 and s3.
Just to let you know, vts was updated to keep old signature together with the "AndroidManifest.xml" i just used the keep old signature feature and push it to my phone. Real easy no more typing to push. Thankyou very much!!! Much better than using apktool.
Sorry for bumping old thread but i cant resist haha!

winmobby said:
I was poking around with vts for systemui then i found your tut. Covered the basic startup. Work on my note 2 and s3.
Just to let you know, vts was updated to keep old signature together with the "AndroidManifest.xml" i just used the keep old signature feature and push it to my phone. Real easy no more typing to push. Thankyou very much!!! Much better than using apktool.
Sorry for bumping old thread but i cant resist haha!
Click to expand...
Click to collapse
Oh, it was! I saw that and totally forgot to update the guide. Will do!
Wow, it is so much easier now! Thanks for the heads up.

How to change Carrier ID to Carrier Logo
ikjadoon said:
Hi. I'm pretty fresh to Android, but I've already fallen in love with it. After getting the courage to root, I've found my phone as customizable as I want. If you want to move past requesting developers to edit this or that for you or just want to learn more about editing neat system files, then this guide is for you. I will be providing a thorough rationale for each step; you don't need to read the rationale to make this work, but kittens will die if you don't. And, if you understand how it all works, you'll be able to mod/edit any APK you ever find! Made possible with help from:
David Dee for inspiring me to mod my phone
grgsiocl for the actual mod
Diamondback for his critical and wonderful integrated developing environment, Virtuous Ten Studio (aka VTS)...thus NO APKTOOL COMMAND LINE REQUIRED. YES. BE HAPPY.
efrant for the helpful ADB clarifications
Chainfire for his wonderful and free adbd insecure app
David Dee, Phoneguy589, psenseny: the three people who liked my post when I said I would write a guide about this.
So, want to make this,
look like this:
This mod is for US-based Galaxy S3's running 4.1.1. I'm concurrently running this with David Dee's 23 toggle mod, so no problems there. It might work in other phones, too, but I haven't tested them. Of course, everything you do is your own responsibility. I take no ownership of your issues, but I will help if I can!
The overview: If you know how to decompile, save the signature, edit XMLs, and recompile, just follow the instructions in bold red. For the rest of us, we'll be using the user-friendly, fully GUI Virtuous Ten Studio. First, we'll SystemUI.apk. Decompile. Edit XML. Recompile. Push modded SystemUI.apk and finally restart.
Making a Nandroid, setting up adbd insecure for those on stock kernel, and preparing VTS for use!
READ THIS WHOLE TUTORIAL ONCE AND MAKE SURE YOU UNDERSTAND IT BEFORE ACTUALLY STARTING IT. Ask me before you do something you don't know!
Root required. Why: we need to edit files in the /system partition of Android. Only root users will be able to do that.
Make a Nandroid backup right now (either using the wonderful Orange Backup app or reboot to recovery and make it).
I wasn't joking.
Seriously, make a Nandroid backup right now.
If you have the stock kernel (or any kernel that is "secure" [i.e. ro.secure=1 in your build.prop]), then install adbd insecure onto your phone. Why: expediency (i.e. fewer commands to type). VTS will be using ADB, the Android Debugging Bridge, to copy and paste files from our computer to our phone. If you are rooted + stock kernel, ADB runs in a "secure" mode that will make us jump through some hoops to copy files. Your phone has a build.prop file, located in /system. It has a line in there called ro.secure; if it is ro.secure=1, adb will run in this annoying secure mode (EVEN IF YOU ARE ROOTED). Adbd insecure will ignore that ro.secure=1 setting and force adbd to run insecure (get it? adbd insecure is the name of the app? Chainfire, you so clever!)
Now, install Virtuous Ten Studios (VTS) Why: We'll be using VTS exclusively to decompile, edit the XML, and recompile. You will NOT be writing a single line of code into a command prompt or anything. Thank you, modern software.
Read the tutorials gratefully written by Diamondback, et al. They're on the website linked in the link in the step above.
You didn't read them, did you? Jerk. lol, jk. But, seriously, read them. It will make VTS seem not so foreign and scary!
Enable Settings -> USB debugging on your phone.
Run the adbd insecure app on your phone. Check "Enable insecure adbd."
Plug your phone into your computer.
Open VTS. Then "File" -> "Open VTS Settings".
Go to "External Tools" -> "ApkTool". Click "Add single framework". Why: long answer here, haha. APKs are zip files, but if you simply unzipped them and opened an XML file, you'd get garbage. Unreadable junk! That's because the APK has been COMPILED. It was a collection of folders, then it was compiled (which, IMO, just means it was changed into Android-readable-code). We need Windows-readable-code. So, we must decompile the APK. Then we shall see Windows-readable-code organized into neat little folders. But, to change from Android-readable-code to Windows-readable-code, we need some extra files. Namely, your framework-res.apk. It contains some instructions or random junk (no idea what exactly) that will allow us to decompile SystemUI.apk.
Give your framework a tag. It's just a name that you can remember. Framework-res.apks are specific to each phone and each ROM, so if you did LOTS of theming, the tag would be useful in recalling which framework-res.apk this is!
Click OK. Then, click the down arrow next to Remote File. Open the Framework folder and highlight "framework-res.apk." Then click "Import." It'll take 15 or so seconds.
Click OK after the framework installs (you'll see it appear in your window!).
Modifying SystemUI.apk to remove the brightness bar
Let's actually do the mod now, eh? Click File in VTS and click "New Project." Why: Solutions are like "folders" and Projects are like "files" in VTS. It's just to keep you organized. We're going to be editing ONE file, so we'll make ONE solution and inside that solution will be ONE project.
Make sure Apk-Project is highlighted on the "Project" tab. Give the Project and Solution a name; doesn't matter what.
Click Apk-Tool on the left. Inside the framework tag box, type in the name you gave your framework. Or select it from the drop-down menu; whatever works for you.
Click Smali on the left. Choose API Level "4.1 Jelly Bean" Why: we aren't editing Smali (a different kind of code, besides XML), but it can't hurt, right?
Go to Build on the left. Make sure "Sign output file via the following method" is checked and Select "Keep old signature (not recommended)". It's not recommended because sometimes it can cause problems; but, it is the best option for system APKs (not user apks, like Pandora.apk). Why: every app has a signature verifying that it is made by this developer (and not some hacker). Think of a signature as a trip-wire for zipping and compiling APKs. If we do either of those, the signature will go crazy; if you have a "crazy"/tripped signature, your phone will be stuck on the boot logo. So, APKs are basically zip files; the signature is inside both the META-INF folder and AndroidManifest.xml file. Again, these files are tripped/changed if you unzip or re-zip or decompile or re-compile your APK (very sensitive!); you don't even have to open them and they will get changed! Thus, VTS, after we recompile, will insert the original META-INF folder and AndroidManifest.xml file (that it backed up when it pulled the APK) back into the now-modified APK.
Go to Import on the left. Click the "..." button on the right. Click the down arrow next to Remote file. Open the System folder.
BEHOLD the wonderful list of all the system apps installed on your phone. Scrooooooollllll down to SystemUI. apk. Select it and click import.
Click "OK" to begin decompiling SystemUI.apk
Wait about 20 seconds. You should be greeted with a set of folders called assets, res, and smali, as well as AndroidManifest.XML, apktook.yml, and buildevents.
Open res -> layout -> tw_status_bar_expanded.xml by DOUBLE-CLICKING it. WARNING: there are about 50 different folders that are called layout-blah and 50 different XML files that have "tw" and "status_bar" there. Make sure you open the right file.
You should get some nice XML code at the bottom. Add exactly this:
Code:
android:visibility="gone"
here (it's colored in red; scroll right to see it!):
Code:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:id="@id/notification_panel" android:background="@drawable/back" android:paddingTop="@dimen/notification_panel_padding_top" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginLeft="@dimen/notification_panel_margin_left"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="@dimen/close_handle_underlap">
<include android:layout_width="fill_parent" android:layout_height="@dimen/tw_notification_panel_header_height" layout="@layout/tw_status_bar_expanded_header" />
<com.wanam.systemui.quickpanel.PowerWidget android:id="@id/exp_power_stat" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/notification_panel_header_height" />
<HorizontalScrollView android:id="@id/quicksetting_scroller" android:scrollbars="none" android:layout_width="wrap_content" android:layout_height="@dimen/quick_setting_button_height" android:layout_marginTop="@dimen/tw_notification_panel_header_height">
<com.android.systemui.statusbar.policy.quicksetting.QuickSettingPanel android:orientation="horizontal" android:id="@id/quicksetting_container" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:divider="@drawable/tw_black_bg" android:showDividers="middle" />
</HorizontalScrollView>
<ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginTop="@dimen/notification_panel_quicksettingbtn_height" android:overScrollMode="ifContentScrolls">
<LinearLayout android:orientation="vertical" android:id="@id/scrollCart" android:layout_width="fill_parent" android:layout_height="wrap_content">
<LinearLayout android:orientation="vertical" android:id="@id/brightness_controller" [B][COLOR="Red"]android:visibility="gone"[/COLOR][/B] android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="56.0dip">
<LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="1.0dip">
<ImageView android:id="@id/brightness_icon" android:clickable="true" android:layout_width="25.0dip" android:layout_height="fill_parent" android:layout_marginLeft="13.0dip" android:src="@drawable/ic_sysbar_brightness" android:contentDescription="@string/accessibility_brightness_icon" />
<FrameLayout android:id="@id/brightness_group" android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.systemui.statusbar.policy.ToggleSlider android:id="@id/brightness" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:text="@string/status_bar_settings_auto_brightness_label" />
<com.android.systemui.statusbar.policy.ToggleSlider android:id="@id/auto_brightness" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:text="@string/status_bar_settings_auto_brightness_label" />
</FrameLayout>
</LinearLayout>
<View android:background="#ff091a24" android:layout_width="fill_parent" android:layout_height="1.0dip" />
</LinearLayout>
<LinearLayout android:orientation="vertical" android:id="@id/noNotificationsTitle" android:focusable="true" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textSize="@dimen/status_bar_expanded_notification_category_text_size" android:textStyle="bold" android:textColor="@color/notification_category_color" android:gravity="left|center" android:id="@id/noNotificationsText" android:paddingLeft="11.0dip" android:layout_width="fill_parent" android:layout_height="@dimen/status_bar_expanded_notification_category_height" android:text="@string/status_bar_no_notifications_title" />
</LinearLayout>
<LinearLayout android:orientation="vertical" android:id="@id/onGoingCart" android:background="#ff293945" android:focusable="true" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="@dimen/status_bar_expanded_notification_category_height">
<TextView android:textSize="@dimen/status_bar_expanded_notification_category_text_size" android:textStyle="bold" android:textColor="@color/notification_category_color" android:gravity="left|center" android:id="@id/onGoingNotificationText" android:paddingLeft="11.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:text="@string/status_bar_ongoing_events_title" />
</LinearLayout>
<com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/onGoingItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/tw_notification_row_min_height" />
<LinearLayout android:orientation="vertical" android:id="@id/notificationCart" android:background="#ff293945" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="@dimen/status_bar_expanded_notification_category_height">
<RelativeLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textSize="@dimen/status_bar_expanded_notification_category_text_size" android:textStyle="bold" android:textColor="@color/notification_category_color" android:gravity="left|center" android:id="@id/latestNotificationText" android:paddingLeft="11.0dip" android:layout_width="180.0dip" android:layout_height="fill_parent" android:text="@string/status_bar_latest_events_title" android:layout_alignParentLeft="true" />
<TextView android:textSize="@dimen/status_bar_expanded_notification_clear_button_text_size" android:textColor="@color/tw_status_bar_clear_btn_text" android:gravity="center" android:id="@id/clear_all_button" android:background="@drawable/tw_btn_default_small" android:padding="0.100000024dip" android:focusable="true" android:clickable="true" android:layout_width="@dimen/status_bar_expanded_clear_button_width" android:layout_height="fill_parent" android:layout_marginRight="4.0dip" android:text="@string/status_bar_clear_all_button" android:layout_alignParentRight="true" android:contentDescription="@string/accessibility_clear_all" />
</RelativeLayout>
</LinearLayout>
<com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/notificationItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/tw_notification_row_min_height" />
<com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/tw_notification_row_min_height" />
</LinearLayout>
</ScrollView>
</FrameLayout>
<com.android.systemui.statusbar.phone.CloseDragHandle android:layout_gravity="bottom" android:orientation="vertical" android:id="@id/close" android:layout_width="fill_parent" android:layout_height="@dimen/tw_close_handle_height">
<RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent">
<ImageView android:layout_gravity="bottom" android:layout_width="fill_parent" android:layout_height="@dimen/tw_close_handle_height" android:src="@drawable/tw_status_bar_close" android:scaleType="fitXY" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Network" android:gravity="center" android:layout_gravity="bottom" android:id="@id/carrier_label" android:layout_width="fill_parent" android:layout_height="@dimen/tw_close_handle_height" android:layout_marginBottom="10.0dip" />
</RelativeLayout>
</com.android.systemui.statusbar.phone.CloseDragHandle>
</FrameLayout>
Then, DO NOT TOUCH ANYTHING ELSE in the XML file. Unless you're feeling adventurous?
Click "Push All" on the top. If you did it right, it shall ask you "Do you want to save changes?"
Click yes. Wait 2 minutes while it re-compiles and pushes the APK to /system/app.
If all went well, your screen will flicker and you'll get the original wallpaper back. No worries. REBOOT YOUR PHONE (this will reload SystemUI.apk, disable adbd insecure, and put /system back in a read-only state: all good things!) and ENJOY NO BRIGHTNESS BAR.
Questions?
Click to expand...
Click to collapse
Plez guilde me how to change Carrier ID to Carrier Logo (*.png) into notif bar
i used galaxy s3 AT&T i747 rom Stock JB 4.1.1

Ái Nhân said:
Plez guilde me how to change Carrier ID to Carrier Logo (*.png) into notif bar
i used galaxy s3 AT&T i747 rom Stock JB 4.1.1
Click to expand...
Click to collapse
Hi! Unforunately, I don't know how to do that particular mod. This guide is more to help you decompile/recompile than provide exact instructions for all the other mods.
If you've seen that mod in a ROM, contact the developer! They're pretty friendly folk.

Ái Nhân said:
Plez guilde me how to change Carrier ID to Carrier Logo (*.png) into notif bar
i used galaxy s3 AT&T i747 rom Stock JB 4.1.1
Click to expand...
Click to collapse
Sorry I missed this! This tweak should work:
http://forum.xda-developers.com/showthread.php?t=2227624
~Ibrahim~
EDIT: Ah, this thread has a second page. Haha, I had a little more time to search!

Related

[MOD][CM9] + [HOWTO] Centered StatusBar Clock

I was searching around the old threads learning how to modify the statusbar layout to enable the clock in the center.
Originally I decompiled SystemUI.apk from the latest CM9 build (Build 02012012), modified statusbar.xml found in SystemUI\res\layout however ICS seems to be a little sensitive when it comes to little statusbar mods. Instead I found a modified statusbar.xml here inside the apk and inserted it into the SystemUI.apk from the latest CM9 resulting in a centered clock.
{
"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"
}
Of course there are a few bugs however it's something to play around with. Attached is a zipped SystemUI.apk for Build 02012012
*Make a backup first*
Howto via adb:
1. Pull SystemUI.apk from your phone
Code:
adb pull /system/app/SystemUI.apk
Instructions:
1. Download the attached apk file
2. Push SystemUI.apk to your phone via adb:
Code:
adb push c:/users/xxx/desktop/SystemUI.apk /system/app
adb reboot
How to edit SystemUI.apk manually - for future cm9 builds:
Guide thanks to this thread
-decompile your SystemUI.apk
-navigate to your decompiled folder and go to res>layout>status_bar.xml
-look for this line:
Code:
<com.android.systemui.statusbar.policy.Clock
-delete the stock clock line, delete the entire line
-next go to the top of your status_bar.xml and place your cursor at the end of this line:
Code:
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
-press "enter" to create an empty line
-place your cursor at the beginning of that empty line and paste this line of code:
Code:
<LinearLayout android:gravity="center" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="center" android:paddingTop="3.0px" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:layout_weight="1.0" />
</LinearLayout>
-make sure everything lines up (see my xml below)
-lastly, find this line:
Code:
<LinearLayout android:orientation="horizontal" android:id="@id/ticker"
-right after "@id/ticker" add this drawable:
Code:
android:background="@drawable/status_bar_bg_tile"
Recompile and if you used apktool sign your new SystemUI.apk
Here is an example of how your status_bar.xml should look like
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.phone.PhoneStatusBarView android:orientation="vertical" android:background="@drawable/status_bar_background" android:focusable="true" android:descendantFocusability="afterDescendants"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<LinearLayout android:gravity="center" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="center" android:paddingTop="3.0px" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:layout_weight="1.0" />
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:id="@id/icons" android:paddingLeft="6.0dip" android:paddingRight="6.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:orientation="horizontal" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">
<com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" />
<com.android.systemui.statusbar.phone.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" />
</LinearLayout>
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
<LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent">
<include android:id="@id/signal_cluster" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/signal_cluster_view" />
<ImageView android:id="@id/battery" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:id="@id/ticker" android:background="@drawable/status_bar_bg_tile" android:paddingLeft="6.0dip" android:animationCache="false" android:layout_width="fill_parent" android:layout_height="fill_parent">
<ImageSwitcher android:id="@id/tickerIcon" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginRight="4.0dip">
<com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" />
<com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" />
</ImageSwitcher>
<com.android.systemui.statusbar.phone.TickerView android:id="@id/tickerText" android:paddingTop="2.0dip" android:paddingRight="10.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0">
<TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
</com.android.systemui.statusbar.phone.TickerView>
</LinearLayout>
</com.android.systemui.statusbar.phone.PhoneStatusBarView>
Don't flood the thread with "CM9 is not even finished, wait for beta to do mods". This is for people who like to try new things.
Thx for sharing!
Razer(x) said:
Thx for sharing!
Click to expand...
Click to collapse
No worries. For theming it's best to go to that thread which is linked and also try some of the other statusbar mods. This one has a few little bugs such as ghosting some of the icons.
Love the idea but...
I lost my statusbar with this. Second time statusbar works but it's still normal.
thanks for this..
blinde said:
Love the idea but...
I lost my statusbar with this. Second time statusbar works but it's still normal.
Click to expand...
Click to collapse
Are you on the latest cm9 build?
Added a HowTo to the main post
Mrchuang said:
Are you on the latest cm9 build?
Added a HowTo to the main post
Click to expand...
Click to collapse
I'm using. Build 02012012. I tried three times and two of those lost my whole statusbar. Tried also with root explorer and same result. Too bad because I really would want that clock to be in center. Right side looks silly.
Could someone help me with this? I've had a lot of trouble with xml's and I can't get this to work.
Here is my systemui.apk, so could someone help me?
blinde said:
I'm using. Build 02012012. I tried three times and two of those lost my whole statusbar. Tried also with root explorer and same result. Too bad because I really would want that clock to be in center. Right side looks silly.
Click to expand...
Click to collapse
same problem here, trying your version, then made by me, with your how to, and doesn't work at all,
Im using latest version of CM9 with LPB kernel..
Mrchuang said:
I was searching around the old threads learning how to modify the statusbar layout to enable the clock in the center.
Originally I decompiled SystemUI.apk from the latest CM9 build (Build 02012012), modified statusbar.xml found in SystemUI\res\layout however ICS seems to be a little sensitive when it comes to little statusbar mods. Instead I found a modified statusbar.xml here inside the apk and inserted it into the SystemUI.apk from the latest CM9 resulting in a centered clock.
Of course there are a few bugs however it's something to play around with. Attached is a zipped SystemUI.apk for Build 02012012
*Make a backup first*
Howto via adb:
1. Pull SystemUI.apk from your phone
Code:
adb pull /system/app/SystemUI.apk
Instructions:
1. Download the attached apk file
2. Push SystemUI.apk to your phone via adb:
Code:
adb push c:/users/xxx/desktop/SystemUI.apk /system/app
adb reboot
How to edit SystemUI.apk manually - for future cm9 builds:
Guide thanks to this thread
-decompile your SystemUI.apk
-navigate to your decompiled folder and go to res>layout>status_bar.xml
-look for this line:
Code:
<com.android.systemui.statusbar.policy.Clock
-delete the stock clock line, delete the entire line
-next go to the top of your status_bar.xml and place your cursor at the end of this line:
Code:
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
-press "enter" to create an empty line
-place your cursor at the beginning of that empty line and paste this line of code:
Code:
<LinearLayout android:gravity="center" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="center" android:paddingTop="3.0px" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:layout_weight="1.0" />
</LinearLayout>
-make sure everything lines up (see my xml below)
-lastly, find this line:
Code:
<LinearLayout android:orientation="horizontal" android:id="@id/ticker"
-right after "@id/ticker" add this drawable:
Code:
android:background="@drawable/status_bar_bg_tile"
Recompile and if you used apktool sign your new SystemUI.apk
Here is an example of how your status_bar.xml should look like
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.phone.PhoneStatusBarView android:orientation="vertical" android:background="@drawable/status_bar_background" android:focusable="true" android:descendantFocusability="afterDescendants"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<LinearLayout android:gravity="center" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="center" android:paddingTop="3.0px" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:layout_weight="1.0" />
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:id="@id/icons" android:paddingLeft="6.0dip" android:paddingRight="6.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:orientation="horizontal" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">
<com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" />
<com.android.systemui.statusbar.phone.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" />
</LinearLayout>
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
<LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent">
<include android:id="@id/signal_cluster" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/signal_cluster_view" />
<ImageView android:id="@id/battery" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:id="@id/ticker" android:background="@drawable/status_bar_bg_tile" android:paddingLeft="6.0dip" android:animationCache="false" android:layout_width="fill_parent" android:layout_height="fill_parent">
<ImageSwitcher android:id="@id/tickerIcon" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginRight="4.0dip">
<com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" />
<com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" />
</ImageSwitcher>
<com.android.systemui.statusbar.phone.TickerView android:id="@id/tickerText" android:paddingTop="2.0dip" android:paddingRight="10.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0">
<TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
</com.android.systemui.statusbar.phone.TickerView>
</LinearLayout>
</com.android.systemui.statusbar.phone.PhoneStatusBarView>
Don't flood the thread with "CM9 is not even finished, wait for beta to do mods". This is for people who like to try new things.
Click to expand...
Click to collapse
Can you please mod this one...
Thanks in advance..
arunmcops said:
Can you please mod this one...
Thanks in advance..
Click to expand...
Click to collapse
Will it be a problem if you get the patch tomorrow ?
Envoyé par mon LG-P500 chargée avec CM9
Here is your patch
Envoyé par mon LG-P500 chargée avec CM9
Thank You!
Does this work for Karbonn A9+?
ayaka_mitsurugi said:
Does this work for Karbonn A9+?
Click to expand...
Click to collapse
Its shall work on any device running ICS and up.
Sent from my Nexus S using Tapatalk 2
I did but SystemUI Fc's , Any help? :-/

(req) ics app switcher

Idea taken from this thread: http://forum.xda-developers.com/showthread.php?t=1563481
Thoroughly an overwhelming task for someone of my skill , but only wanted to share as I think it would be very well received by myself and I'm sure many others if one was to implement this on our devices.
If not, then I hope some at least found the thread interesting
Sent from my SPH-D710 using XDA
wow
that would be awesome.. I am new to the EG4T, but think this would be a great addition to the usability and functionality of it!
I have been following this mod since it showed up and I will probably give it a shot this weekend. Question: what rom are you guys running? Obviously this will only work with ICS but modifying the FC 24 version won't work because there is no stock deodexed available and modifying what someone else has already modified is a PITA. I was thinking about trying this on FC22(because we have stock deodexed) or CM9(which is what I am currently running). The only problem I see with CM9 is the flashing procedure is very risky. I was kind of holding off until the next leak that was deodexed or official. What do you guys think?
Edit: Also the same person did a similar version which is webOS style with cards, but I like the look of this mod better.
Edit: I am going to attempt on FD02, stock deodexed this weekend
It was actually really easy, took some messing with to get it to look the way I wanted but it works great.
{
"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"
}
rujelus22 said:
It was actually really easy, took some messing with to get it to look the way I wanted but it works great.
Click to expand...
Click to collapse
Any tips before I give it a shot this weekend on FD02, unless you have already done it?
dtm_stretch said:
Any tips before I give it a shot this weekend on FD02, unless you have already done it?
Click to expand...
Click to collapse
One thing I did different was to change where the background was called from. I did that to make the background behind the Task manager button work. Here is what my files look like
framework-res.apk/res/values/dimens.xml
Code:
<dimen name="thumbnail_height">160.0dip</dimen>
<dimen name="thumbnail_width">240.0dip</dimen>
SystemUI.apk
/res/values/bools.xml
Code:
<bool name="config_recents_thumbnail_image_fits_to_xy">true</bool>
/res/values/colors.xml
Code:
<color name="status_bar_recents_app_label_color">#ffffffff</color>
/res/values/drawables.xml
Code:
<item type="drawable" name="status_bar_recents_background_solid">#00000000</item>
<item type="drawable" name="status_bar_recents_app_thumbnail_background">#ff1a1a1a</item>
/res/layout/status_bar_no_recent_apps.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<Button android:textSize="@dimen/status_bar_recents_app_label_text_size" android:layout_gravity="center" android:id="@id/no_recent_apps_launch_button" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="50.0dip" android:text="@string/status_bar_recent_launch_task_manager_title" />
<TextView android:textSize="24.0dip" android:textColor="#ffffffff" android:gravity="center_horizontal" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_no_recent_apps" />
</FrameLayout>
/res/layout-port/status_bar_recent_item.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:paddingTop="15.0dip" android:paddingBottom="15.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout android:layout_gravity="center_horizontal" android:id="@id/recent_item" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:textSize="@dimen/status_bar_recents_app_label_text_size" android:textColor="@color/status_bar_recents_app_label_color" android:ellipsize="marquee" android:id="@id/app_label" android:background="@drawable/recentapp_header" android:paddingLeft="10.0dip" android:paddingTop="5.0dip" android:fadingEdge="none" android:fadingEdgeLength="0.0dip" android:layout_width="240.0dip" android:layout_height="32.0dip" android:layout_marginLeft="0.0dip" android:scrollHorizontally="true" android:singleLine="true" android:layout_alignTop="@id/app_icon" android:layout_alignParentLeft="true" />
<FrameLayout android:id="@id/app_thumbnail" android:background="@drawable/status_bar_recents_app_thumbnail_background" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="0.0dip" android:foreground="@drawable/recents_thumbnail_fg" android:layout_below="@id/app_label">
<ImageView android:id="@id/app_thumbnail_image" android:paddingLeft="1.0dip" android:paddingRight="1.0dip" android:layout_width="231.0dip" android:layout_height="160.0dip" />
</FrameLayout>
<View android:id="@id/recents_callout_line" android:background="@drawable/recents_callout_line" android:visibility="gone" android:layout_width="@dimen/status_bar_recents_app_label_width" android:layout_height="1.0dip" android:layout_marginLeft="@dimen/status_bar_recents_app_label_left_margin" android:layout_marginTop="3.0dip" android:layout_marginRight="3.0dip" android:layout_toLeftOf="@id/app_thumbnail" android:layout_below="@id/app_label" android:layout_alignParentLeft="true" />
<ImageView android:id="@id/app_icon" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/status_bar_recents_app_icon_left_margin" android:layout_marginTop="@dimen/status_bar_recents_app_icon_top_margin" android:scaleType="centerInside" android:adjustViewBounds="true" android:maxWidth="@dimen/status_bar_recents_app_icon_max_width" android:maxHeight="@dimen/status_bar_recents_app_icon_max_height" android:layout_toRightOf="@id/app_label" />
<TextView android:textSize="@dimen/status_bar_recents_app_description_text_size" android:ellipsize="marquee" android:id="@id/app_description" android:visibility="gone" android:fadingEdge="horizontal" android:fadingEdgeLength="@dimen/status_bar_recents_fading_edge_length" android:layout_width="@dimen/status_bar_recents_app_label_width" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/status_bar_recents_app_label_left_margin" android:layout_marginTop="3.0dip" android:scrollHorizontally="true" android:singleLine="true" android:layout_below="@id/recents_callout_line" android:layout_alignParentLeft="true" />
</RelativeLayout>
</FrameLayout>
/res/layout-port/status_bar_recent_panel.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.recent.RecentsPanelView android:id="@id/recents_root" android:background="#80000000" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<FrameLayout android:id="@id/recents_bg_protect" android:background="#00000000" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentBottom="true">
<com.android.systemui.recent.RecentsVerticalScrollView android:layout_gravity="bottom|left|center" android:id="@id/recents_container" android:scrollbars="none" android:fadingEdge="none" android:fadingEdgeLength="0.0dip" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="0.0dip" android:stackFromBottom="true" android:divider="@null">
<LinearLayout android:orientation="vertical" android:id="@id/recents_linear_layout" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</com.android.systemui.recent.RecentsVerticalScrollView>
<Button android:textSize="@dimen/status_bar_recents_app_label_text_size" android:layout_gravity="bottom|center" android:id="@id/recents_launch_button" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_recent_launch_task_manager_title" />
</FrameLayout>
<include android:id="@id/recents_no_apps" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/status_bar_no_recent_apps" />
</com.android.systemui.recent.RecentsPanelView>
/res/layout-land/status_bar_recent_item.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:paddingLeft="15.0dip" android:paddingRight="15.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout android:layout_gravity="center_vertical" android:id="@id/recent_item" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:textSize="@dimen/status_bar_recents_app_label_text_size" android:textColor="@color/status_bar_recents_app_label_color" android:ellipsize="marquee" android:id="@id/app_label" android:background="@drawable/recentapp_header" android:paddingLeft="10.0dip" android:paddingTop="5.0dip" android:fadingEdge="none" android:fadingEdgeLength="0.0dip" android:layout_width="240.0dip" android:layout_height="32.0dip" android:layout_marginLeft="0.0dip" android:scrollHorizontally="true" android:singleLine="true" android:layout_alignTop="@id/app_icon" android:layout_alignParentLeft="true" />
<FrameLayout android:id="@id/app_thumbnail" android:background="@drawable/status_bar_recents_app_thumbnail_background" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="0.0dip" android:foreground="@drawable/recents_thumbnail_fg" android:layout_below="@id/app_label">
<ImageView android:id="@id/app_thumbnail_image" android:paddingLeft="1.0dip" android:paddingRight="1.0dip" android:layout_width="231.0dip" android:layout_height="160.0dip" />
</FrameLayout>
<View android:id="@id/recents_callout_line" android:background="@drawable/recents_callout_line" android:visibility="gone" android:layout_width="@dimen/status_bar_recents_app_label_width" android:layout_height="1.0dip" android:layout_marginLeft="@dimen/status_bar_recents_app_label_left_margin" android:layout_marginTop="3.0dip" android:layout_marginRight="3.0dip" android:layout_toLeftOf="@id/app_thumbnail" android:layout_below="@id/app_label" android:layout_alignParentLeft="true" />
<ImageView android:id="@id/app_icon" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/status_bar_recents_app_icon_left_margin" android:layout_marginTop="@dimen/status_bar_recents_app_icon_top_margin" android:scaleType="centerInside" android:adjustViewBounds="true" android:maxWidth="@dimen/status_bar_recents_app_icon_max_width" android:maxHeight="@dimen/status_bar_recents_app_icon_max_height" android:layout_toRightOf="@id/app_label" />
<TextView android:textSize="@dimen/status_bar_recents_app_description_text_size" android:ellipsize="marquee" android:id="@id/app_description" android:visibility="gone" android:fadingEdge="horizontal" android:fadingEdgeLength="@dimen/status_bar_recents_fading_edge_length" android:layout_width="@dimen/status_bar_recents_app_label_width" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/status_bar_recents_app_label_left_margin" android:layout_marginTop="3.0dip" android:scrollHorizontally="true" android:singleLine="true" android:layout_below="@id/recents_callout_line" android:layout_alignParentLeft="true" />
</RelativeLayout>
</FrameLayout>
/res/layout-land/status_bar_recent_panel.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.recent.RecentsPanelView android:id="@id/recents_root" android:background="#80000000" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<FrameLayout android:id="@id/recents_bg_protect" android:background="#00000000" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentBottom="true">
<com.android.systemui.recent.RecentsHorizontalScrollView android:layout_gravity="bottom|left|center" android:orientation="horizontal" android:id="@id/recents_container" android:scrollbars="none" android:fadingEdge="horizontal" android:fadingEdgeLength="@dimen/status_bar_recents_fading_edge_length" android:clipChildren="false" android:clipToPadding="false" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="@dimen/status_bar_recents_right_glow_margin" android:stackFromBottom="true" android:divider="@null">
<LinearLayout android:orientation="horizontal" android:id="@id/recents_linear_layout" android:clipChildren="false" android:clipToPadding="false" android:layout_width="wrap_content" android:layout_height="fill_parent" />
</com.android.systemui.recent.RecentsHorizontalScrollView>
<Button android:textSize="@dimen/status_bar_recents_app_label_text_size" android:layout_gravity="bottom|center" android:id="@id/recents_launch_button" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_recent_launch_task_manager_title" />
</FrameLayout>
<include android:id="@id/recents_no_apps" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/status_bar_no_recent_apps" />
</com.android.systemui.recent.RecentsPanelView>
FD02 Recent Apps Mod
Alright I've got the mod done with a flashable zip. Thank Rujelus22 he posted the changes relative to the E4GT and thank Evilisto for the orginal mod. I also attached a zip that will reverse the changes. This can be flashed on the fd02 stock deodexed rom with the slightly modified kernel that Calk included in the FD02 rom, no wipes necessary. If something goes wrong just flash the undo zip. Please leave feedback.
Also should we start a new thread? Rujelus22, would you mind if I posted the mod?
dtm_stretch said:
Alright I've got the mod done with a flashable zip. Thank Rujelus22 he posted the changes relative to the E4GT and thank Evilisto for the orginal mod. I also attached a zip that will reverse the changes. This can be flashed with the slightly modified kernel that Calk included in the FD02 rom, no wipes necessary. If something goes wrong just flash the undo zip. Please leave feedback.
Also should we start a new thread? Rujelus22, would you mind if I posted the mod?
Click to expand...
Click to collapse
Wow you guys are fast! Is that zip compatible with the latest Codename? Version 1.6? Of course I'd probably have to flash it through el26 recovery but I'm just wondering if its compatible since its an aosp rom
Sent from my SPH-D710 using XDA
themisterwilson said:
Wow you guys are fast! Is that zip compatible with the latest Codename? Version 1.6? Of course I'd probably have to flash it through el26 recovery but I'm just wondering if its compatible since its an aosp rom
Sent from my SPH-D710 using XDA
Click to expand...
Click to collapse
Nope this is for the fd02 stock deodexed.
Sent from my SPH-D710 using Tapatalk
dtm_stretch said:
Nope this is for the fd02 stock deodexed.
Sent from my SPH-D710 using Tapatalk
Click to expand...
Click to collapse
Oh bummer. this is when I wished I had a PC to try and do this on my own. Is it even possible to do this wihout one? Or even to make it work w AOSP?
Sent from my SPH-D710 using XDA
themisterwilson said:
Oh bummer. this is when I wished I had a PC to try and do this on my own. Is it even possible to do this wihout one? Or even to make it work w AOSP?
Sent from my SPH-D710 using XDA
Click to expand...
Click to collapse
I do not believe you can compile an apk without a pc. I could be wrong though they always seem to come out with stuff to edit things from the phone.
themisterwilson said:
Oh bummer. this is when I wished I had a PC to try and do this on my own. Is it even possible to do this wihout one? Or even to make it work w AOSP?
Sent from my SPH-D710 using XDA
Click to expand...
Click to collapse
I am really hesitant to do anything for any of the AOSP roms right now just because of the shaky flashing methods. Plus, it would be really difficult to make the mod for the many different versions of even CNA floating around. I imagine that such an easy mod will eventually get integrated into their settings options. However, with that being said, I am a huge fan of CNA and once it becomes stable and I am running it as a daily I will probably do the mod.
rujelus22 said:
I do not believe you can compile an apk without a pc. I could be wrong though they always seem to come out with stuff to edit things from the phone.
Click to expand...
Click to collapse
Well, theoretically I could do it on my work PC. Its certainty capable... any chance you could point me in the quickest direction so as not to have to answer any uncomfortable questions?
And possibly a quick, even relatively vague tutorial?
Sent from my SPH-D710 using XDA
themisterwilson said:
Well, theoretically I could do it on my work PC. Its certainty capable... any chance you could point me in the quickest direction so as not to have to answer any uncomfortable questions?
And possibly a quick, even relatively vague tutorial?
Sent from my SPH-D710 using XDA
Click to expand...
Click to collapse
1. Download the tool agat put up in the development section
2. Pull the systemUI.apk and framework-res.apk out of the rom you want to modify.
3. Put them in the _INPUT_APK
4. press 14, drag and drop the apk.
5. Make the changes rejules22 posted.
a. Navigate to res folder and make the changes to the xml identified in the guide.
b. If you look at the original guide, there is a file attached that is the image you need, rename it to recentapp_header and drop it in the res/drawable and res/drawable-HDPI
6. Compile each apk (option 15)
7. Pull the apk from _APK_OUTPUT put the apks in a flashable zip(use a theme and pull the files out).
**Just so you are aware, using these tools with ICS is sometimes difficult because they haven't been updated so it means switching out apktool.jar(s)
dtm_stretch said:
1. Download the tool agat put up in the development section
2. Pull the systemUI.apk and framework-res.apk out of the rom you want to modify.
3. Put them in the _INPUT_APK
4. press 14, drag and drop the apk.
5. Make the changes rejules22 posted.
a. Navigate to res folder and make the changes to the xml identified in the guide.
b. If you look at the original guide, there is a file attached that is the image you need, rename it to recentapp_header and drop it in the res/drawable and res/drawable-HDPI
6. Compile each apk (option 15)
7. Pull the apk from _APK_OUTPUT put the apks in a flashable zip(use a theme and pull the files out).
**Just so you are aware, using these tools with ICS is sometimes difficult because they haven't been updated so it means switching out apktool.jar(s)
Click to expand...
Click to collapse
Wow that's pretty concise and short enough that I just might attempt it. So will any of the image files from the original post work as long as I rename it correctly and place it in the correct place?
and thanks again for all the help. I'll let u know how it goes!!
Sent from my SPH-D710 using XDA
themisterwilson said:
Wow that's pretty concise and short enough that I just might attempt it. So will any of the image files from the original post work as long as I rename it correctly and place it in the correct place?
and thanks again for all the help. I'll let u know how it goes!!
Sent from my SPH-D710 using XDA
Click to expand...
Click to collapse
Yup they should work. Although, it probably wont work with the windows 7 version because that alters the rotation and swiping of the recent apps but I think his windows 7 version is a whole other thread.
dtm_stretch said:
I am really hesitant to do anything for any of the AOSP roms right now just because of the shaky flashing methods. Plus, it would be really difficult to make the mod for the many different versions of even CNA floating around. I imagine that such an easy mod will eventually get integrated into their settings options. However, with that being said, I am a huge fan of CNA and once it becomes stable and I am running it as a daily I will probably do the mod.
Click to expand...
Click to collapse
well, after tonight i think i'll have to wait until somebody decides to do it for CNA. Im apparently such a tool that i cant get the APK tool to even open. Says i dont have java installed, which i do. Even the java SDK, and also the Android SDK. Still a no go. Im willing to work on that if someone can point me in the right direction.
As far as the flashing, I was thinking to just push the framework and systemUI apk's using root explorer and reboot. hoping that would work?
Any ideas?
The multitool should just be an archive and all you should have to do is extract it with 7zip or winrar. I have had a lot of issues with using a file explorer to push framework-res.apk it usually causes problems, you can use adb though.
Oh, i did get that far. I extracted it and clicked AutoAPKToolMain and it says "java not found. you will not be able to sign apks or apk tool... hit any key to continue.." then exits
themisterwilson said:
Oh, i did get that far. I extracted it and clicked AutoAPKToolMain and it says "java not found. you will not be able to sign apks or apk tool... hit any key to continue.." then exits
Click to expand...
Click to collapse
Do you have this? http://www.oracle.com/technetwork/java/javase/downloads/index.html
Make sure to install the JRE version under Java Platform, Standard Edition it is on the right side next to JDK.

[MOD][GUIDE][JB 4.1.2] AOSP Style Status Bar on Samsung ROMs

G'Day XDA,
I wanted to share with you a few quick and easy mods that I found while modding my phone. Here we go...
[SIZE=+2]AOSP STYLE CLEAR-ALL BUTTON IN EXPANDED STATUS BAR on SAMSUNG ROMs[/SIZE]
Original:
{
"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"
}
Mod:
Ok first things first, you need to decompile SystemUI.apk (I will assume that you know how to copy the apk from your phone using a root explorer and decompile using a program like APK Tool).
Once it has decompiled successfully, open up /res/layout/tw_status_bar_expanded_header.xml and you will see this:
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="39.0dip" android:baselineAligned="false"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock" android:textColor="#ffffffff" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="4.0dip" android:layout_marginTop="-3.0dip" android:singleLine="true" systemui:ampmSmall="true" />
<com.android.systemui.statusbar.policy.DateView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date" android:textColor="#ffcbcbcb" android:ellipsize="none" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8.0dip" android:layout_marginRight="4.0dip" android:maxLines="2" />
<com.android.systemui.statusbar.RotationToggle android:id="@id/rotation_lock_button" android:visibility="gone" android:clickable="true" android:layout_width="32.0dip" android:layout_height="32.0dip" android:layout_margin="8.0dip" android:button="@drawable/ic_notify_rotation" android:contentDescription="@string/accessibility_rotation_lock_off" />
<Space android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_weight="1.0" />
<ImageView android:layout_width="1.0dip" android:layout_height="25.0dip" android:layout_marginTop="7.0dip" android:layout_marginBottom="7.0dip" android:src="@drawable/tw_quick_panel_plnm_setting_dv" />
<RelativeLayout android:id="@id/settings_button" android:background="@drawable/tw_quick_panel_setting_button_bg" android:focusable="true" android:visibility="visible" android:layout_width="@dimen/status_bar_expanded_setting_width" android:layout_height="39.0dip">
<ImageView android:id="@id/settings_button_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tw_quickpanel_icon_settings" android:scaleType="center" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:contentDescription="@string/accessibility_settings_button" />
</RelativeLayout>
</LinearLayout>
Now you need to delete everything after the line which starts with <com.android.systemui.statusbar.RotateToggle and replace it with the following code:
Code:
<ImageView android:id="@id/settings_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_quicksettings" android:scaleType="center" android:contentDescription="@string/accessibility_settings_button" />
<Space android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_weight="1.0" />
<ImageView android:id="@id/clear_all_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_clear" android:scaleType="center" android:contentDescription="@string/accessibility_clear_all" />
</LinearLayout>
So your finished file should look exactly like this:
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="39.0dip" android:baselineAligned="false"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock" android:textColor="#ffffffff" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="4.0dip" android:layout_marginTop="-3.0dip" android:singleLine="true" systemui:ampmSmall="true" />
<com.android.systemui.statusbar.policy.DateView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date" android:textColor="#ffcbcbcb" android:ellipsize="none" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8.0dip" android:layout_marginRight="4.0dip" android:maxLines="2" />
<com.android.systemui.statusbar.RotationToggle android:id="@id/rotation_lock_button" android:visibility="gone" android:clickable="true" android:layout_width="32.0dip" android:layout_height="32.0dip" android:layout_margin="8.0dip" android:button="@drawable/ic_notify_rotation" android:contentDescription="@string/accessibility_rotation_lock_off" />
<ImageView android:id="@id/settings_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_quicksettings" android:scaleType="center" android:contentDescription="@string/accessibility_settings_button" />
<Space android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_weight="1.0" />
<ImageView android:id="@id/clear_all_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_clear" android:scaleType="center" android:contentDescription="@string/accessibility_clear_all" />
</LinearLayout>
What this does is it moves the settings icon from the far right to the left next to the date (notice the first line we deleted started with <Space and the line we replaced it with was <ImageView android:id="@id/settings_button") and also adds the clear all button (@id/clear_all_button) to the top right.
Now save tw_status_bar_expanded_header.xml and close it.
So now the clear all button is going to be showing on the top right of the status bar, but there will also be a clear all button in the notification area, like this picture:
So we need to open up tw_status_bar_expanded.xml and look for the following line:
Code:
<TextView android:textSize="@dimen/status_bar_expanded_notification_clear_button_text_size" android:textColor="@color/tw_status_bar_clear_btn_text" android:gravity="center" android:id="@id/clear_all_button" android:background="@drawable/tw_btn_default_small" android:padding="0.100000024dip" android:focusable="true" android:clickable="true" android:layout_width="@dimen/status_bar_expanded_clear_button_width" android:layout_height="fill_parent" android:layout_marginRight="4.0dip" android:text="@string/status_bar_clear_all_button" android:layout_alignParentRight="true" android:contentDescription="@string/accessibility_clear_all" />
and delete it.
The reason why we delete that is because it is the button which has the text Clear All that appears on the right side of the Notifications header when you have notifications, which we don't need as there is already a nice AOSP style button we can press in the top right of the expanded status bar .
Now save tw_status_bar_expanded.xml and close it.
Now recompile SystemUI.apk, and either change it's name by removing the 'unsigned' from the start of it's name, push it to your device (don't forget to change permissions to RW-R--R--) and reboot OR take those 2 files from the newly compiled unsignedSystemUI.apk and put them in a VRTheme zip, flash them in recovery and VOILA! I have included a VRTheme Zip to this post called 'AOSP Clear All Button' which you can download and flash in recovery as well.
Easy, even for a noob like me Enjoy.
[SIZE=+2]EDIT CLEAR ALL BUTTON TO INCLUDE FOCUS OPTION[/SIZE]
You can also do a minor change to an xml file and add an icon to SystemUI.apk to allow for a 'focus' option of the new clear all button that you have re-added.
In your APK Tool directory in /projects/SystemUI.apk navigate to /res/drawable and open up ic_notify_clear.xml you will see this:
Code:
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/ic_notify_clear_pressed" />
<item android:drawable="@drawable/ic_notify_clear_normal" />
</selector>
So this means the button acts in a very basic way. When the button appears in the expanded status bar, you will be looking at the icon ic_notify_clear_normal.png which is in the /res/drawable-hdpi folder, and when you press it, it changes to the icon ic_notify_clear_pressed.png which is also in the /res/drawable-hdpi folder. What we want to do is add some more code in there to allow for the icon to change to a third icon when we press and hold (focus) on it,
So you need to change the content of ic_notify_clear.xml to the following:
Code:
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/ic_notify_clear_pressed" />
<item android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/ic_notify_clear_normal" />
<item android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/ic_notify_clear_normal" />
<item android:state_pressed="true" android:drawable="@drawable/ic_notify_clear_pressed" />
<item android:state_focused="true" android:state_enabled="true" android:drawable="@drawable/ic_notify_clear_focus" />
<item android:state_enabled="true" android:drawable="@drawable/ic_notify_clear_normal" />
<item android:state_focused="true" android:drawable="@drawable/ic_notify_clear_focus" />
<item android:drawable="@drawable/ic_notify_clear_normal" />
</selector>
So what this does is it tells the SystemUI.apk to change the icon we see when we press and hold on the clear all button from the normal ic_notify_clear_press.png to a new icon which I have called ic_notify_clear_focus.png which you will need to create using an icon editor. I use Greenfish Icon Editor Pro but lots of people use Photoshop as well.
To create the icon, I opened up ic_notify_clear_pressed.png from the /res/drawable-hdpi folder and added more of a glow effect to it. I have attached a copy of it to the post. You can create your own though, if you want to. What you will need to do it copy it into the /res/drawable-hdpi folder and after changing the ic_notify_clear.xml from the /res/drawable folder you will then need to save the file, close it and recompile the apk.
Now if you want to push it back into /system/app on your phone then do that (don't forget to change permissions to RW-R--R--) but if, like me, you wish to flash it in recovery using a VRTheme zip file, then you will need to do a few steps. Firstly, out of the newly recompile unsignedSystemUI.apk you will need take the new icon you created and put it into /vrtheme/preload/symlink/system/app/SystemUI.apk/res/drawable-hdpi in the VRTheme zip file and you will also need to take the ic_notify_clear.xml that you edited out of the recompiled apk and put it into /vrtheme/preload/symlink/system/app/SystemUI.apk/res/drawable in the zip file. Then you will need to close the zip file.
Now the next thing we have to do is take the resources.arsc file from our newly re-compiled unsignedSystemUI.apk and save it on the computer somewhere (I usually put it on the desktop so I know where it is and then delete it afterwards) and then you will need to us a zip program like WinRar to open up the VRTheme zip file. I don't use 7Zip for this part because I can't get it to simply store a file instead of compressing it. So we need to use WinRar to open up the VRTheme zip file and navigate to /vrtheme/preload/symlink/system/app/SystemUI.apk and you will see the res folder in the window. Now drag the resources.arsc file that you saved into the window and when the box comes up that asks you how you want to compress it, you need to change it to the 'store' option so that it doesn't compress the resources.arsc file at all.
I can't include the resources.arsc file as if you have any other mods or icons or anything in your SystemUI.apk, it will be incompatible with the resources.arsc file from my System UI.apk. I have, however, included a VRTHeme zip file to this post called 'Clear All Button Focus' which has the icon and xml file that we edited earlier, that you can add your resources.arsc file to and flash in recovery.
Enjoy!
[SIZE=+2]AOSP SIGNAL & WIFI INDICATORS[/SIZE]
Another quick and easy mod that I found was the layout of the signal & wifi indicators in the status bar.
Original
Mod
In SystemUI.apk/res/layout open up tw_signal_cluster view. You will see this.
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.SignalClusterView android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<FrameLayout android:gravity="center" android:id="@id/wifi_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
<ImageView android:id="@id/wifi_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="center" android:layout_alignParentRight="true" android:layout_centerVertical="true" />
<ImageView android:layout_gravity="center" android:id="@id/wifi_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</FrameLayout>
<View android:id="@id/spacer" android:visibility="gone" android:layout_width="6.0dip" android:layout_height="6.0dip" />
<LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/new_mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
<FrameLayout android:id="@id/separate_mobile" android:layout_width="wrap_content" android:layout_height="wrap_content">
<ImageView android:id="@id/separate_mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ImageView android:id="@id/separate_mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</FrameLayout>
<FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content">
<FrameLayout android:gravity="center" android:id="@id/mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
<ImageView android:id="@id/mobile_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ImageView android:id="@id/mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ImageView android:layout_gravity="bottom|right|center" android:id="@id/mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ImageView android:id="@id/mobile_roaming" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</FrameLayout>
</FrameLayout>
</LinearLayout>
<ImageView android:id="@id/airplane" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</com.android.systemui.statusbar.SignalClusterView>
The first line we need to edit is this:
Code:
<FrameLayout android:gravity="center" android:id="@id/wifi_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
Directly after the android:layout_height="wrap_content" and before the > we need to add android:layout_marginRight="0.0dip" .
So now that line should look like this:
Code:
<FrameLayout android:gravity="center" android:id="@id/wifi_combo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="0.0dip">
The next line we need to edit is this:
Code:
<ImageView android:layout_gravity="center" android:id="@id/wifi_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
In the very first part of the line android:layout_gravity="center" we need to add bottom| directly before center" . Directly after android:layout_height="wrap_content" we need to add android:layout_marginLeft="-6.0dip" before the last />
So now that line should look like this:
Code:
<ImageView android:layout_gravity="bottom|center" android:id="@id/wifi_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="-6.0dip" />
Now we need to focus on this section here:
Code:
<FrameLayout android:id="@id/separate_mobile" android:layout_width="wrap_content" android:layout_height="wrap_content">
<ImageView android:id="@id/separate_mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ImageView android:id="@id/separate_mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</FrameLayout>
<FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content">
<FrameLayout android:gravity="center" android:id="@id/mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
<ImageView android:id="@id/mobile_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ImageView android:id="@id/mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ImageView android:layout_gravity="bottom|right|center" android:id="@id/mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ImageView android:id="@id/mobile_roaming" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</FrameLayout>
</FrameLayout>
We need to change that whole section with this:
Code:
<RelativeLayout android:gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content">
<FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true">
<FrameLayout android:gravity="center" android:id="@id/mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
<ImageView android:id="@id/mobile_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ImageView android:id="@id/mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ImageView android:layout_gravity="bottom|right|center" android:id="@id/mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ImageView android:id="@id/mobile_roaming" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</FrameLayout>
</FrameLayout>
<FrameLayout android:id="@id/separate_mobile" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true">
<ImageView android:id="@id/separate_mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ImageView android:layout_gravity="bottom|right|center" android:id="@id/separate_mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="0.8000001dip" />
</FrameLayout>
</RelativeLayout>
Your fully edited tw_signal_cluster_view.xml should now look like this:
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.SignalClusterView android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<FrameLayout android:gravity="center" android:id="@id/wifi_combo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="0.0dip">
<ImageView android:id="@id/wifi_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="center" android:layout_alignParentRight="true" android:layout_centerVertical="true" />
<ImageView android:layout_gravity="bottom|center" android:id="@id/wifi_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="-6.0dip" />
</FrameLayout>
<View android:id="@id/spacer" android:visibility="gone" android:layout_width="6.0dip" android:layout_height="6.0dip" />
<LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/new_mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
<RelativeLayout android:gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content">
<FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true">
<FrameLayout android:gravity="center" android:id="@id/mobile_combo" android:layout_width="wrap_content" android:layout_height="wrap_content">
<ImageView android:id="@id/mobile_signal" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ImageView android:id="@id/mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ImageView android:layout_gravity="bottom|right|center" android:id="@id/mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ImageView android:id="@id/mobile_roaming" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</FrameLayout>
</FrameLayout>
<FrameLayout android:id="@id/separate_mobile" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true">
<ImageView android:id="@id/separate_mobile_type" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ImageView android:layout_gravity="bottom|right|center" android:id="@id/separate_mobile_inout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="0.8000001dip" />
</FrameLayout>
</RelativeLayout>
</LinearLayout>
<ImageView android:id="@id/airplane" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</com.android.systemui.statusbar.SignalClusterView>
That's it for the coding. You will also need to replace a number of icons in /res/drawable-hdpi which start with stat_sys. I have included them in a zip file called AOSP Signal Icons Only which is attached to this post.
Just put them all into /res/drawable-hdpi then recompile and enjoy. I have also attached a VRTheme zip file called AOSP Signal & Wifi Indicators.zip which you can flash from recovery.
That's it. See, easy as! Enjoy
[SIZE=+2]Credits:[/SIZE]
Spannaa - For all your help and support. Taught me everything I know and always helps no matter what. There should be more people like him on this forum. He is also a very knowledgeable themer, go and look at his thread [THEME][NeatROM 4.7 XWLSS] Blue Ginger Plus theme with 23 toggles
Google - For creating Android
Samsung - For making our beloved Galaxy S II
Faryaab - For making the AOSP ROM Super Nexus which I have used as a benchmark. Find it here: [ROM][AOSP][JB][4.1.2][JZO54K] SuperNexus - I9100 - BUILD 5 [17-10-12]
Reserved 1
Reserved 2
Good guide Thanks
Sent from my GT-I9300 using xda premium
res...
Hmm, have been found.... reserved 1
rush25 said:
Good guide Thanks
Sent from my GT-I9300 using xda premium
Click to expand...
Click to collapse
Thanks mate,
I hope it was useful to you.
Dave
eray0687 said:
Hmm, have been found.... reserved 1
Click to expand...
Click to collapse
Umm sorry but I am not sure what you are asking or stating?
Added Clear All Button Focus guide
I have edited the first post to add a guide to make the AOSP Clear All Button have a 'focus' option when pressed and held.
I hope you all enjoy.
Dave
Hey daveyannihilation,
Thanks for the great tutorial,
it took me a while but i finally managed to achieve this mod on my phone,
i was even able to take it a step further and move the settings button to the left of the statusbar
I like the look of the stock settings icon, so i used that instead of the aosp one
Again thanks for the great tutorial
Tired Storeman said:
Hey daveyannihilation,
Thanks for the great tutorial,
it took me a while but i finally managed to achieve this mod on my phone,
i was even able to take it a step further and move the settings button to the left of the statusbar
I like the look of the stock settings icon, so i used that instead of the aosp one
Again thanks for the great tutorial
Click to expand...
Click to collapse
Hey Tired Storeman,
That looks great! Top work mate. Glad the tutorial was useful for you. To get the settings button where it is in your screenshot, did you put that particular line before the clock reference lines to achieve your desire effect?
Sent from my AOSP Blue SGSII
daveyannihilation said:
Hey Tired Storeman,
That looks great! Top work mate. Glad the tutorial was useful for you. To get the settings button where it is in your screenshot, did you put that particular line before the clock reference lines to achieve your desire effect?
Sent from my AOSP Blue SGSII
Click to expand...
Click to collapse
To be honest i didnt try putting it before the clock, i didnt think that would work, because i centered the clock
i used android
layout_marginLeft="-108.0dip"
after
android:layout_height="48.0dip"
if you find a better way of doing it, could you let me know, for future references
Any way of removing the settings button? I tried deleting that line and went into a bootloop. Maybe I need to edit some other part of the apk..
xcly said:
Any way of removing the settings button? I tried deleting that line and went into a bootloop. Maybe I need to edit some other part of the apk..
Click to expand...
Click to collapse
Removing the @id/settings_button lines should do this.
Delete from the original code:
Code:
<RelativeLayout android:id="@id/settings_button" android:background="@drawable/tw_quick_panel_setting_button_bg" android:focusable="true" android:visibility="visible" android:layout_width="@dimen/status_bar_expanded_setting_width" android:layout_height="39.0dip">
<ImageView android:id="@id/settings_button_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tw_quickpanel_icon_settings" android:scaleType="center" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:contentDescription="@string/accessibility_settings_button" />
</RelativeLayout>
Or maybe just change android:visibility="visible" to android:visibility="gone"
Or delete from the modified code:
Code:
<ImageView android:id="@id/settings_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_quicksettings" android:scaleType="center" android:contentDescription="@string/accessibility_settings_button" />
Your bootloop could due to a bad recompile of SystemUI.apk
Spannaa said:
Removing the @id/settings_button lines should do this.
Delete from the original code:
Code:
<RelativeLayout android:id="@id/settings_button" android:background="@drawable/tw_quick_panel_setting_button_bg" android:focusable="true" android:visibility="visible" android:layout_width="@dimen/status_bar_expanded_setting_width" android:layout_height="39.0dip">
<ImageView android:id="@id/settings_button_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tw_quickpanel_icon_settings" android:scaleType="center" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:contentDescription="@string/accessibility_settings_button" />
</RelativeLayout>
Or maybe just change android:visibility="visible" to android:visibility="gone"
Or delete from the modified code:
Code:
<ImageView android:id="@id/settings_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_quicksettings" android:scaleType="center" android:contentDescription="@string/accessibility_settings_button" />
Your bootloop could due to a bad recompile of SystemUI.apk
Click to expand...
Click to collapse
Thanks for the reply. Tried the last option you gave me because I do want the AOSP style, just not the settings button there as well. Still giving me a bootloop. I don't think it's a bad recompile as I tried it a multiple times with the same result.
Tried changing the width and height to wrap_content, as that seem to make it flexible, got through to Android is upgrading part but bootloop after that.. T_T
I'm probably naive but I don't see how deleting that one line, which seems sensible enough, causes a bootloop.. Probably will have to stick with settings button until I figure out a way.. unless you might have some other ideas?
xcly said:
Thanks for the reply. Tried the last option you gave me because I do want the AOSP style, just not the settings button there as well. Still giving me a bootloop. I don't think it's a bad recompile as I tried it a multiple times with the same result.
Tried changing the width and height to wrap_content, as that seem to make it flexible, got through to Android is upgrading part but bootloop after that.. T_T
I'm probably naive but I don't see how deleting that one line, which seems sensible enough, causes a bootloop.. Probably will have to stick with settings button until I figure out a way.. unless you might have some other ideas?
Click to expand...
Click to collapse
Does it work if you don't delete the line?
Just a thought: When you decompiled SystemUI.apk, did you install the two frameworks first (framework-res.apk & twframework-res.apk)?
Spannaa said:
Does it work if you don't delete the line?
Just a thought: When you decompiled SystemUI.apk, did you install the two frameworks first (framework-res.apk & twframework-res.apk)?
Click to expand...
Click to collapse
Yup following the guide as it is works fine. Just starts bootlooping if I delete the line..
Do you mean "apktool if frameworks"? Then I haven't done so.. worked fine without it so far so didn't really give it a thought. I'll try it out when I get home (if that is what you meant)
Sent from my GT-N7105 using xda premium
xcly said:
Yup following the guide as it is works fine. Just starts bootlooping if I delete the line..
Do you mean "apktool if frameworks"? Then I haven't done so.. worked fine without it so far so didn't really give it a thought. I'll try it out when I get home (if that is what you meant)
Sent from my GT-N7105 using xda premium
Click to expand...
Click to collapse
Yes, "if" the two frameworks when you decompile SystemUI.apk and don't delete them before you recompile.
Another thought: Instead of deleting the line, try adding: android:visibility="gone" to it instead - it maybe that the missing id for the settings_button is causing an issue.
Spannaa said:
Yes, "if" the two frameworks when you decompile SystemUI.apk and don't delete them before you recompile.
Another thought: Instead of deleting the line, try adding: android:visibility="gone" to it instead - it maybe that the missing id for the settings_button is causing an issue.
Click to expand...
Click to collapse
Ah cool. Will try that and let you know
Sent from my GT-N7105 using xda premium
---------- Post added at 02:59 PM ---------- Previous post was at 02:05 PM ----------
Spannaa said:
Yes, "if" the two frameworks when you decompile SystemUI.apk and don't delete them before you recompile.
Another thought: Instead of deleting the line, try adding: android:visibility="gone" to it instead - it maybe that the missing id for the settings_button is causing an issue.
Click to expand...
Click to collapse
The visibility thing worked like a charm. Thanks a lot for your help
Hi all;
I'm trying to do something and I've seen this thread.
I've replaced the alarm clock icon by this one (the little thin line at left of wifi icon)
Ok, what I want is to have this icon beside the clock, like this:
How can I get this? I've tried changing many things in SystemUI's xml but I'm unable to get it...
Can anybody give me a hand? Thanks in advance!
tevaadarelsol said:
Hi all;
I'm trying to do something and I've seen this thread.
I've replaced the alarm clock icon by this one (the little thin line at left of wifi icon)
Ok, what I want is to have this icon beside the clock, like this:
How can I get this? I've tried changing many things in SystemUI's xml but I'm unable to get it...
Can anybody give me a hand? Thanks in advance!
Click to expand...
Click to collapse
Bump!
Enviado desde mi GT-I9100 usando Tapatalk 2

[02/06] [How to] Custom txt/Carrier/center clock/custom icons/left side icons etc

Hello there
Here is a simple guide to add a Custom name to top-left status bar.
All You need is:
- Know how to decompile/recompiling Apk file
- notepad++
- Tool for decompiling, : apkmanager/apktool/Virtous/apkmultitools ...
1. Decompile SystemUI.apk
2. navigate to res/layout/status_bar.xml
3.Open Status_bar.xml with notepad++
4.Copy this line like the following example:
Code:
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="left|center" android:layout_width="wrap_content" android:layout_height="fill_parent" android:text="@string/hello" android:singleLine="true" />
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.phone.PhoneStatusBarView android:orientation="vertical" android:id="@id/status_bar" android:background="@drawable/status_bar_background" android:focusable="true" android:fitsSystemWindows="true" android:descendantFocusability="afterDescendants"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<ImageView android:id="@id/notification_lights_out" android:paddingBottom="2.0dip" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" android:paddingStart="6.0dip" />
<LinearLayout android:orientation="horizontal" android:id="@id/status_bar_contents" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingStart="6.0dip" android:paddingEnd="6.0dip">
<LinearLayout android:orientation="horizontal" android:id="@id/notification_icon_area" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">
[COLOR="Red"][B] <TextView android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="left|center" android:layout_width="wrap_content" android:layout_height="fill_parent" android:text="@string/hello" android:singleLine="true" />[/B][/COLOR]
<com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" />
<com.android.systemui.statusbar.phone.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentStart="true" />
</LinearLayout>
<LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="fill_parent">
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="center" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
</LinearLayout>
<LinearLayout android:gravity="right|center" android:orientation="horizontal" android:id="@id/system_icon_area" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">
<LinearLayout android:gravity="right|center" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
<LinearLayout android:gravity="right|center" android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent">
<com.android.systemui.statusbar.policy.Traffic android:textAppearance="@style/TextAppearance.StatusBar.Traffic" android:gravity="left|center" android:id="@id/traffic" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
<include android:id="@id/signal_cluster" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/signal_cluster_view" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Battery" android:gravity="center" android:id="@id/battery_text" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
<com.erryy.BatteryText android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:textSize="12.0dip" android:gravity="center" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="-3.0dip" android:singleLine="true" />
<ImageView android:id="@id/battery" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingStart="4.0dip" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:id="@id/ticker" android:animationCache="false" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingStart="6.0dip">
<ImageSwitcher android:id="@id/tickerIcon" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginEnd="4.0dip">
<com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" />
<com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" />
</ImageSwitcher>
<com.android.systemui.statusbar.phone.TickerView android:id="@id/tickerText" android:paddingTop="2.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0" android:paddingEnd="10.0dip">
<TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
</com.android.systemui.statusbar.phone.TickerView>
</LinearLayout>
</com.android.systemui.statusbar.phone.PhoneStatusBarView>
"android:textAppearance="@style/TextAppearance.StatusBar.Clock" means that your custom text will have same colors and dimensions defined for clock (these are defined in /values/styles: 16dip and Holo Blue Light ).
If You want to add Your dip and your preferred color, just replaces above line with this:
android:textSize="15.0dip" android:textColor="#ffa6a6a6"
Code:
<TextView [COLOR="Red"]android:textSize="15.0dip" android:textColor="#ffa6a6a6"[/COLOR] android:gravity="left|center" android:layout_width="wrap_content" android:layout_height="fill_parent" android:text="@string/hello" android:singleLine="true" />
You can change text color and size to fit your needs.
android:textSize="x.0dip"
and android:textColor="#hex code of Your preferred color"
for example #ffdd4814 is Ubuntu Orange
5) Now, the last step:
Navigate to res/values/string
and add this at the end of the file:
Code:
<string name="hello">Your text here</string>
Like this example:
Code:
... <string name="quick_settings_rssi_label">RSSI</string>
<string name="quick_settings_rssi_emergency_only">Emergency Calls Only</string>
<string name="quick_settings_settings_label">Settings</string>
<string name="quick_settings_time_label">Time</string>
<string name="quick_settings_user_label">Me</string>
<string name="quick_settings_wifi_label">Wi-Fi</string>
<string name="quick_settings_wifi_not_connected">Not Connected</string>
<string name="quick_settings_wifi_no_network">No Network</string>
<string name="quick_settings_wifi_off_label">Wi-Fi Off</string>
<string name="quick_settings_wifi_display_label">Wi-Fi Display</string>
<string name="quick_settings_wifi_display_no_connection_label">Wireless Display</string>
<string name="quick_settings_brightness_dialog_title">Brightness</string>
<string name="quick_settings_brightness_dialog_auto_brightness_label">AUTO</string>
<string name="status_bar_help_title">Notifications appear here</string>
<string name="status_bar_help_text">"Access them anytime by swiping down.
Swipe down again for system controls."</string>
<string name="accessibility_sleep_button">Sleep button.</string>
[COLOR="Red"]<string name="hello">Your text here</string>[/COLOR]
</resources>
6) Recompile back ... enjoy!!
{
"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"
}
Service Provider
White clock & wifi/battery/signal white resources [how to]
Center Clock, left signals and how to replace battery/signal/wifi icons with custom
Add a text between signal icons!​
Guidelines to correctly set jdk in Windows and Linux​
To Flash Your Mods use a flashable template (Use a zip manager to add SystemUI inside)!
KitKat (put SystemUI inside priv-app folder)
View attachment flashable_template_KK.zip
Jellybean (put SystemUI inside app folder)
View attachment flashable_template_JB.zip
Simple Guide to use Apktool​
LOWERCASE TXT????
ADD THIS TO YOUR TEXTVIEW
Code:
android:textAllCaps="false"
do you do this custom?
Zpik said:
do you do this custom?
Click to expand...
Click to collapse
what you mean???
Better idea:
make an app
Sent from my Nexus 4 using Tapatalk 4
enricocid said:
Hello there
Here is a simple guide to add a Custom name to top-left status bar./QUOTE]
How can i put current gsm provider name as a parameter like in miui theme ?
Click to expand...
Click to collapse
adamslast said:
enricocid said:
Hello there
Here is a simple guide to add a Custom name to top-left status bar./QUOTE]
How can i put current gsm provider name as a parameter like in miui theme ?
Click to expand...
Click to collapse
decompile systemUI and navigate to /res/layout
and open
status_bar.xml
add the red line like in example:
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.phone.PhoneStatusBarView android:id="@id/status_bar" android:background="@drawable/status_bar_background" android:focusable="true" android:fitsSystemWindows="true" android:descendantFocusability="afterDescendants" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<ImageView android:id="@id/notification_lights_out" android:paddingLeft="6.0dip" android:paddingBottom="2.0dip" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_lights_out_dot_small" android:scaleType="center" />
<LinearLayout android:orientation="horizontal" android:id="@id/status_bar_contents" android:paddingLeft="6.0dip" android:paddingRight="6.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:orientation="horizontal" android:id="@id/notification_icon_area" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">
[COLOR="red"]<com.android.systemui.statusbar.phone.CarrierLabel android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="left|center" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />[/COLOR]
<com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" />
<com.android.systemui.statusbar.phone.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" />
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:id="@id/system_icon_area" android:layout_width="wrap_content" android:layout_height="fill_parent">
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
<LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent">
<include android:id="@id/signal_cluster" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/signal_cluster_view" />
<include android:id="@id/signal_cluster_text" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/signal_cluster_text_view" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Battery" android:gravity="left|center" android:id="@id/dock_battery_text" android:paddingLeft="@dimen/status_bar_battery_cluster_padding" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="@dimen/status_bar_battery_cluster_text_margin" android:singleLine="true" />
<ImageView android:id="@id/dock_battery" android:paddingLeft="@dimen/status_bar_battery_cluster_padding" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<com.android.systemui.statusbar.policy.CircleDockBattery android:textAppearance="@style/TextAppearance.StatusBar.Battery" ... etc etc ...
etc ... etc ... etc ... etc ... ... ... ... ... ... ... ...
if You want to get other colors instead of Holo
simply delete android:textAppearance="@style/TextAppearance.StatusBar.Clock"
Code:
<com.android.systemui.statusbar.phone.CarrierLabel [U][B]android:textAppearance="@style/TextAppearance.StatusBar.Clock" [/B][/U]android:gravity="left|center" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
and add this:
Code:
<TextView android:textSize="15.0dip" android:textColor="#ffa6a6a6"
Code:
<com.android.systemui.statusbar.phone.CarrierLabel [B][COLOR="Lime"]<TextView android:textSize="[COLOR="Blue"]16.0dip[/COLOR]" android:textColor="#[COLOR="Blue"]ffa6a6a6[/COLOR]"[/COLOR] [/B]android:gravity="left|center" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
and choose your preferred dimension and your preferred color (the hex code)
then extract the attached smalis
View attachment CarrierLabel_source.zip
and put inside
smali/com/android/systemui/statusbar/phone/
recompile back and you're done!
Click to expand...
Click to collapse
Thanks. I will try it right away. But a last question: Which decompile and compile application do you recommend? I tried APK multitool but I can not compile and i allways have an error 21 message.
Edit: in Androidmultitools, when i try to compile after changes you mentioned i got this error message:
"I: Checking whether sources has changed...
I: Smaling...
[0,0] No enum constant org.jf.dexlib.AnnotationVisibility.RUNTİME
Exception in thread "main" brut.androlib.AndrolibException: Could not smali file: C:\AndroidMultitool_2.1_Win7\AndroidMultitool\Decompiled_apk\SystemUI\smali\com\android\systemui\statusbar\AnimatedImageView.smali
at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java:45)
at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java:33)
at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:66)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:50)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:37)
at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:257)
at brut.androlib.Androlib.buildSources(Androlib.java:214)
at brut.androlib.Androlib.build(Androlib.java:205)
at brut.androlib.Androlib.build(Androlib.java:176)
at brut.apktool.Main.cmdBuild(Main.java:228)
at brut.apktool.Main.main(Main.java:79)
Sistem belirtilen dosyay bulamyor.
Sistem belirtilen dosyay bulamyor."
(Sistem belirtilen dosyay bulamyor.) means (system could not find defined file.)
What is wrong do you have an idea?
adamslast said:
Thanks. I will try it right away. But a last question: Which decompile and compile application do you recommend? I tried APK multitool but I can not compile and i allways have an error 21 message.
Edit: in Androidmultitools, when i try to compile after changes you mentioned i got this error message:
"I: Checking whether sources has changed...
I: Smaling...
[0,0] No enum constant org.jf.dexlib.AnnotationVisibility.RUNTİME
Exception in thread "main" brut.androlib.AndrolibException: Could not smali file: C:\AndroidMultitool_2.1_Win7\AndroidMultitool\Decompiled_apk\SystemUI\smali\com\android\systemui\statusbar\AnimatedImageView.smali
at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java:45)
at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java:33)
at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:66)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:50)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:37)
at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:257)
at brut.androlib.Androlib.buildSources(Androlib.java:214)
at brut.androlib.Androlib.build(Androlib.java:205)
at brut.androlib.Androlib.build(Androlib.java:176)
at brut.apktool.Main.cmdBuild(Main.java:228)
at brut.apktool.Main.main(Main.java:79)
Sistem belirtilen dosyay bulamyor.
Sistem belirtilen dosyay bulamyor."
(Sistem belirtilen dosyay bulamyor.) means (system could not find defined file.)
What is wrong do you have an idea?
Click to expand...
Click to collapse
I'm using apktool ... I've never user this..
http://forum.xda-developers.com/showthread.php?p=28366939
Are you using linux (32 or 64 bit ?) or windows?
You coukd try to delete all installed frameworks and install it again
http://code.google.com/p/android-apktool/issues/detail?id=505
d\systemui\sta tusbar\AnimatedImageView.smali
is this renamed badly or is it only bad copy&paste here?
enricocid said:
I'm using apktool ... I've never user this..
http://forum.xda-developers.com/showthread.php?p=28366939
Are you using linux (32 or 64 bit ?) or windows?
You coukd try to delete all installed frameworks and install it again
http://code.google.com/p/android-apktool/issues/detail?id=505
d\systemui\sta tusbar\AnimatedImageView.smali
is this renamed badly or is it only bad copy&paste here?
Click to expand...
Click to collapse
I am using win7 64 bit in Turkish. I think this happens because of language and turkish characters. Especially in Turkish majuscule (i) is (İ) instead of (I) as it is in mainly western languages. I think that makes a unharmoniesness in application. I changed clavier in english, but does not work still because language is Turkish. Unfortunately changing language is no t possible once you install it in certain langue. Now i will try it to do in linux. Many thanks for your help.
btw the way, i could not find d\systemui\sta tusbar\AnimatedImageView.smali. is there a typing error or is my bad?
adamslast said:
I am using win7 64 bit in Turkish. I think this happens because of language and turkish characters. Especially in Turkish majuscule (i) is (İ) instead of (I) as it is in mainly western languages. I think that makes a unharmoniesness in application. I changed clavier in english, but does not work still because language is Turkish. Unfortunately changing language is no t possible once you install it in certain langue. Now i will try it to do in linux. Many thanks for your help.
btw the way, i could not find d\systemui\sta tusbar\AnimatedImageView.smali. is there a typing error or is my bad?
Click to expand...
Click to collapse
yes.. i think this is the problem. If you will use apktool in a 64bit linux distro, be sure to install necessary dependencies to avoid error 2 during compilation, because aapt & others are 32bit commands and need ia32-libs package to work correctly ...
so, apt-get install ia32-libs
enricocid said:
yes.. i think this is the problem. If you will use apktool in a 64bit linux distro, be sure to install necessary dependencies to avoid error 2 during compilation, because aapt & others are 32bit commands and need ia32-libs package to work correctly ...
so, apt-get install ia32-libs
Click to expand...
Click to collapse
I tried during tha last 4 days to compile systemui.apk file using almost every application, but no succes. I tried it on my win8 tablet in english language. İt decompile and compile the file unchanged, but not changed one. I have not installed linux unfortunately. I would be very grateful if you try compiling in linux maguro_JRW66Y stock and changed systemui files added below.
adamslast said:
I tried during tha last 4 days to compile systemui.apk file using almost every application, but no succes. I tried it on my win8 tablet in english language. İt decompile and compile the file unchanged, but not changed one. I have not installed linux unfortunately. I would be very grateful if you try compiling in linux maguro_JRW66Y stock and changed systemui files added below.
Click to expand...
Click to collapse
so i have to modify systemUI contained in stockfiles like the 2nd one? ok. tomorrow I will make it :good:
enricocid said:
so i have to modify systemUI contained in stockfiles like the 2nd one? ok. tomorrow I will make it :good:
Click to expand...
Click to collapse
Great! Thanks. :victory:
Edit: btw there are three changes.
1.Service Provider Name 2. Wireless speed 3.Invisible Power Menu.
But I was unsuccesful even with one change.
@enricocid
Very sorry. Could you take into consideration I newly added "SystemUI_SPN_WS_IPMI.zip" file please. Thanks.
adamslast said:
@enricocid
Very sorry. Could you take into consideration I newly added "SystemUI_SPN_WS_IPMI.zip" file please. Thanks.
Click to expand...
Click to collapse
OK k
adamslast said:
@enricocid
Very sorry. Could you take into consideration I newly added "SystemUI_SPN_WS_IPMI.zip" file please. Thanks.
Click to expand...
Click to collapse
@adamslast what are the changes You did?
I see no changes in res folder
Have You changed only the smali folder? Will I have to replace smali folder and recompile back?
here is recompiled systemUI without errors:
View attachment SystemUI.apk
enricocid said:
@adamslast what are the changes You did?
I see no changes in res folder
Have You changed only the smali folder? Will I have to replace smali folder and recompile back?
here is recompiled systemUI without errors:
View attachment 2313552
Click to expand...
Click to collapse
So many thanks! :good:
The changes are in status_bar.xml, ids.xml and styles.xml. I also add some java files in smali folder, two as you mentioned in your post. Mainly changes other than yours are:
1. http://forum.xda-developers.com/showthread.php?t=2241739
2. http://forum.xda-developers.com/showpost.php?p=35864541&postcount=785.
I will try it right now. Your help very appreciated.
adamslast said:
So many thanks! :good:
The changes are in status_bar.xml, ids.xml and styles.xml. I also add some java files in smali folder, two as you mentioned in your post. Mainly changes other than yours are:
1. http://forum.xda-developers.com/showthread.php?t=2241739
2. http://forum.xda-developers.com/showpost.php?p=35864541&postcount=785.
I will try right now and i hope to give a good feedback. Your help very appreciated.
Click to expand...
Click to collapse
ok.. I found the error
Code:
<com.android.systemui.statusbar.phone.CarrierLabel [COLOR="Red"]<TextView[/COLOR] android:textSize="15.0dip" android:textColor="#ffffff" android:gravity="left|center" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
<TextView is a Class that displays text to the user and optionally allows them to edit it. A TextView is a fixed text...
Here You are using <com.android.systemui.statusbar.phone.CarrierLabel that let You to display the Carrier Label using smali to display a dinamic text
so You can't use two classes in one line
When You want to modify color and dip of <com.android. etc ... ... ... > You should add
Code:
android:textSize="15.0dip" android:textColor="#ffffff"
The correct one is this:
Code:
<com.android.systemui.statusbar.phone.CarrierLabel [COLOR="Red"]android:textSize="15.0dip" android:textColor="#ffffff"[/COLOR] android:gravity="left|center" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
For example, in KBmeter guide, if You wanna change the color and dip of the kbmeter
Code:
<com.android.systemui.statusbar.policy.Traffic android:textAppearance="@style/TextAppearance.StatusBar.Traffic" android:gravity="right|center" android:id="@id/traffic" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
Then delete android:textAppearance="@style/TextAppearance.StatusBar.Traffic"
Code:
<com.android.systemui.statusbar.policy.Traffic [COLOR="Red"]android:textAppearance="@style/TextAppearance.StatusBar.Traffic"[/COLOR] android:gravity="right|center" android:id="@id/traffic" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
and add android:textSize="15.0dip" android:textColor="#ffffff" ... like this:
Code:
<com.android.systemui.statusbar.policy.Traffic [COLOR="Red"]android:textSize="15.0dip" android:textColor="#ffffff"[/COLOR] android:gravity="right|center" android:id="@id/traffic" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
Once done, You can delete also the style You created in /values/styles.xml
Code:
<style name="TextAppearance.StatusBar.Traffic" parent="@style/TextAppearance.StatusBar.Clock">
<item name="android:textSize">14.0dip</item>
<item name="android:textStyle">normal</item>
<item name="android:textColor">#ffffffff</item>
<item name="android:textAllCaps">false</item>
</style>
and recompile back
Here is the files corrected
View attachment SystemUI.apk
View attachment status_bar.zip
enricocid said:
ok.. I found the error
Here is the files corrected
View attachment 2313666
View attachment 2313668
Click to expand...
Click to collapse
All changes properties work great. The only thing left to do is changing the color of the signals and the clock from blue to white like others. Could you give me some ideas about how to do it please, if you dont mind. Many thanks.
adamslast said:
All changes properties work great. The only thing left to do is changing the color of the signals and the clock from blue to white like others. Could you give me some ideas about how to do it please, if you dont mind. Many thanks.
Click to expand...
Click to collapse
For clock:
decompile systemUI I give to You yesterday
Navigate in /res/values/styles.xml
and open it
search for
Code:
<style name="TextAppearance.StatusBar.Clock" parent="@*android:style/TextAppearance.StatusBar.Icon">
<item name="android:textSize">16.0dip</item>
<item name="android:textStyle">normal</item>
[COLOR="Red"]<item name="android:textColor">@*android:color/holo_blue_light</item>[/COLOR]
</style>
Change it like this:
Code:
<style name="TextAppearance.StatusBar.Clock" parent="@*android:style/TextAppearance.StatusBar.Icon">
<item name="android:textSize">16.0dip</item>
<item name="android:textStyle">normal</item>
[COLOR="Red"]<item name="android:textColor">#ffffffff</item>[/COLOR]
</style>
@adamslast
To change icons to white simply copy and paste this resources in drawable-xhdpi (in decompiled SystemUI) folder overwriting the originals ones
View attachment RESOURCES.zip

[guide]how to add fivefallingtabs in systemui

Hi Guys ! here is my 5 Falling tabs mod from the codes of famous PineappleOwl and b16h22 ,so big big credits to them
Hope you enjoy this
Req
-apktool
-texteditor
-root explorer
-your SystemUI.apk
-Zip file attached
Here are the steps
step 1
-decompile your SystemUi.apk
-extract the attached file and merge it to your decompiled systemui
step 2
-open status_bar_expanded.xml
-and add these codes to wherever you want
Code:
<denden.Penta.Buttons android:orientation="horizontal" android:background="#50000000" android:layout_width="fill_parent" android:layout_height="40.0dip" android:weightSum="5.0" />
<denden.Penta.FallingTabs android:id="@id/dendenxd" android:background="#50000000" android:layout_width="fill_parent" android:layout_height="wrap_content">
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
<ScrollView android:scrollbars="none" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:overScrollMode="never">
<include layout="@layout/layout_1" />
</ScrollView>
</LinearLayout>
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
<ScrollView android:scrollbars="none" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:overScrollMode="never">
<include layout="@layout/layout_2" />
</ScrollView>
</LinearLayout>
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
<ScrollView android:scrollbars="none" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:overScrollMode="never">
<include layout="@layout/layout_3" />
</ScrollView>
</LinearLayout>
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
<ScrollView android:scrollbars="none" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:overScrollMode="never">
<include layout="@layout/layout_4" />
</ScrollView>
</LinearLayout>
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
<ScrollView android:scrollbars="none" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:overScrollMode="never">
<include layout="@layout/layout_5" />
</ScrollView>
</LinearLayout>
</denden.Penta.FallingTabs>
-open values/ids.xml
-and add this code
Code:
<item type="id" name="dendenxd">false</item>
step 3
-recompile your work
-then decompile it again
step 4
-open values/public.xml
-then find the id of these items
"dendenxd"
"denden_button"
"home_button"
-now open smali/denden/Penta/FallingTabs.smali
find this id 0x7f090039
and replace it with the id of "dendenxd" you get from your public.xml
-same in smali/denden/Penta/Buttons.smali
find
0x7f020105 and replace it with the id of "denden_button" NOTE that there are 4 ids of denden_button here, so you have to also replace 4 ids
0x7f020100 and replace it with the id of "home_button"
step 5
-recompile your work
-push it to system/app
-reboot
-done
CREDITS
PineappleOwl
b16h22
Me and You :laugh:
:good:
help bro!
after doing this 5 falling tab it seems clear button is not working. is there any solution for this? I like this falling tab. thanks for sharing this bro. :good:
by the way, I've got this working on my Xperia C by putting code in gimini_status_bar_expanded not on status_bar_expanded.xml, whatever I tried putting codes in status_bar_expanded 5tabs not appearin, hope this may help other experiencing this problem.
pls help me with clear button. thanks in advance.

Categories

Resources