[MOD][HOWTO] Extended Power Menu (EPM) - ZTE Axon 7 Themes, Apps, and Mods

{
"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"
}
I figured this mod was long overdue, given that we're without Xposed on Nougat. Those who used to have the Galaxy S2/4 know how fond I am of this feature! This is a straightforward mod to add 2 buttons to the longpress power menu, specifically to reboot directly to recovery and bootloader. I'm not including a flashable zip as it won't run with stock kernel (modifies /system) and this is really intended for ROM devs to cook.
I've attached the B19 files to this post.
I will go through all the changes necessary to do the mod yourself for future bases. It will be assumed you have a basic environment (apktool/smali/baksmali) set up and some apk/jar modification experience. This is based on A2017U B19.
1. Add the buttons to the longpress menu: /system/framework/framework-zte-res.apk
- Decompile the apk and replace res/layout/global_dialog.xml with:
Code:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:orientation="vertical" android:background="#b3000000" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView android:textSize="12.0sp" android:textColor="#8affffff" android:gravity="center" android:id="@id/longpress" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="24.0dip" android:text="@string/global_action_rboot_message" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" />
<RelativeLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="132.0dip" android:layout_marginStart="56.0dip" android:layout_alignParentStart="true">
<LinearLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/airplanemode" android:layout_width="wrap_content" android:layout_height="wrap_content">
<ImageButton android:id="@id/airplane" android:background="@drawable/circle1" android:clickable="false" android:layout_width="wrap_content" android:layout_height="wrap_content" android:tint="#ffffffff" android:alpha="0.9" android:paddingStart="19.0dip" android:paddingEnd="19.0dip" />
<TextView android:textSize="12.0sp" android:textColor="@color/global_action_text" android:gravity="center" android:id="@id/text_airplane" android:paddingTop="10.0dip" android:layout_width="110.0dip" android:layout_height="wrap_content" android:maxLines="2" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="132.0dip" android:layout_marginEnd="56.0dip" android:layout_alignParentEnd="true">
<LinearLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/silent_mode" android:layout_width="wrap_content" android:layout_height="wrap_content">
<ImageButton android:id="@id/silent" android:background="@drawable/circle1" android:clickable="false" android:layout_width="wrap_content" android:layout_height="wrap_content" android:tint="#ffffffff" android:alpha="0.9" android:paddingStart="19.0dip" android:paddingEnd="19.0dip" />
<TextView android:textSize="12.0sp" android:textColor="@color/global_action_text" android:gravity="center" android:id="@id/text_silent" android:paddingTop="10.0dip" android:layout_width="110.0dip" android:layout_height="wrap_content" android:maxLines="2" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="268.0dip" android:layout_marginStart="56.0dip" android:layout_alignParentStart="true">
<LinearLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/reset_action" android:layout_width="wrap_content" android:layout_height="wrap_content">
<ImageButton android:id="@id/reset" android:background="@drawable/circle1" android:clickable="false" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_lock_reboot" android:tint="#ffffffff" android:contentDescription="@string/global_action_reset" android:alpha="0.9" android:paddingStart="19.0dip" android:paddingEnd="19.0dip" />
<TextView android:textSize="12.0sp" android:textColor="@color/global_action_text" android:gravity="center" android:id="@id/text_reset" android:paddingTop="10.0dip" android:layout_width="110.0dip" android:layout_height="wrap_content" android:text="@string/global_action_reset" android:maxLines="2" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="268.0dip" android:layout_marginEnd="56.0dip" android:layout_alignParentEnd="true">
<LinearLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/power_action" android:layout_width="wrap_content" android:layout_height="wrap_content">
<ImageButton android:id="@id/power" android:background="@drawable/circle1" android:clickable="false" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_lock_power" android:tint="#ffffffff" android:contentDescription="@string/global_action_poweroff" android:alpha="0.9" android:paddingStart="19.0dip" android:paddingEnd="19.0dip" />
<TextView android:textSize="12.0sp" android:textColor="@color/global_action_text" android:gravity="center" android:id="@id/text_power" android:paddingTop="10.0dip" android:layout_width="110.0dip" android:layout_height="wrap_content" android:text="@string/global_action_poweroff" android:maxLines="2" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="404.0dip" android:layout_marginStart="56.0dip" android:layout_alignParentStart="true">
<LinearLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/recovery_action" android:layout_width="wrap_content" android:layout_height="wrap_content">
<ImageButton android:id="@id/recovery" android:background="@drawable/circle1" android:clickable="false" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_lock_power" android:tint="#ffffffff" android:contentDescription="@string/global_action_recovery" android:alpha="0.9" android:paddingStart="19.0dip" android:paddingEnd="19.0dip" />
<TextView android:textSize="12.0sp" android:textColor="@color/global_action_text" android:gravity="center" android:id="@id/text_recovery" android:paddingTop="10.0dip" android:layout_width="110.0dip" android:layout_height="wrap_content" android:text="@string/global_action_recovery" android:maxLines="2" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="404.0dip" android:layout_marginEnd="56.0dip" android:layout_alignParentEnd="true">
<LinearLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/bootloader_action" android:layout_width="wrap_content" android:layout_height="wrap_content">
<ImageButton android:id="@id/bootloader" android:background="@drawable/circle1" android:clickable="false" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_lock_power" android:tint="#ffffffff" android:contentDescription="@string/global_action_bootloader" android:alpha="0.9" android:paddingStart="19.0dip" android:paddingEnd="19.0dip" />
<TextView android:textSize="12.0sp" android:textColor="@color/global_action_text" android:gravity="center" android:id="@id/text_bootloader" android:paddingTop="10.0dip" android:layout_width="110.0dip" android:layout_height="wrap_content" android:text="@string/global_action_bootloader" android:maxLines="2" />
</LinearLayout>
</RelativeLayout>
</RelativeLayout>
- For the landscape version, replace res/layout-land/global_dialog.xml with:
Code:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:orientation="vertical" android:background="#b3000000" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView android:textSize="12.0sp" android:textColor="#8affffff" android:gravity="center" android:id="@id/longpress" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="24.0dip" android:text="@string/global_action_rboot_message" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" />
<LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="86.0dip" android:layout_centerHorizontal="true">
<LinearLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/airplanemode" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="14.0dip">
<ImageButton android:id="@id/airplane" android:background="@drawable/circle1" android:clickable="false" android:layout_width="wrap_content" android:layout_height="wrap_content" android:tint="#ffffffff" android:alpha="0.9" android:paddingStart="19.0dip" android:paddingEnd="19.0dip" />
<TextView android:textSize="12.0sp" android:textColor="@color/global_action_text" android:gravity="center" android:id="@id/text_airplane" android:paddingTop="10.0dip" android:layout_width="110.0dip" android:layout_height="wrap_content" android:maxLines="2" />
</LinearLayout>
<LinearLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/silent_mode" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="14.0dip">
<ImageButton android:id="@id/silent" android:background="@drawable/circle1" android:clickable="false" android:layout_width="wrap_content" android:layout_height="wrap_content" android:tint="#ffffffff" android:alpha="0.9" android:paddingStart="19.0dip" android:paddingEnd="19.0dip" />
<TextView android:textSize="12.0sp" android:textColor="@color/global_action_text" android:gravity="center" android:id="@id/text_silent" android:paddingTop="10.0dip" android:layout_width="110.0dip" android:layout_height="wrap_content" android:maxLines="2" />
</LinearLayout>
<LinearLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/power_action" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="14.0dip">
<ImageButton android:id="@id/power" android:background="@drawable/circle1" android:clickable="false" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_lock_power" android:tint="#ffffffff" android:contentDescription="@string/global_action_poweroff" android:alpha="0.9" android:paddingStart="19.0dip" android:paddingEnd="19.0dip" />
<TextView android:textSize="12.0sp" android:textColor="@color/global_action_text" android:gravity="center" android:id="@id/text_power" android:paddingTop="10.0dip" android:layout_width="110.0dip" android:layout_height="wrap_content" android:text="@string/global_action_poweroff" android:maxLines="2" />
</LinearLayout>
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="224.0dip" android:layout_centerHorizontal="true">
<LinearLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/reset_action" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="14.0dip">
<ImageButton android:id="@id/reset" android:background="@drawable/circle1" android:clickable="false" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_lock_reboot" android:tint="#ffffffff" android:contentDescription="@string/global_action_reset" android:alpha="0.9" android:paddingStart="19.0dip" android:paddingEnd="19.0dip" />
<TextView android:textSize="12.0sp" android:textColor="@color/global_action_text" android:gravity="center" android:id="@id/text_reset" android:paddingTop="10.0dip" android:layout_width="110.0dip" android:layout_height="wrap_content" android:text="@string/global_action_reset" android:maxLines="2" />
</LinearLayout>
<LinearLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/recovery_action" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="14.0dip">
<ImageButton android:id="@id/recovery" android:background="@drawable/circle1" android:clickable="false" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_lock_power" android:tint="#ffffffff" android:contentDescription="@string/global_action_recovery" android:alpha="0.9" android:paddingStart="19.0dip" android:paddingEnd="19.0dip" />
<TextView android:textSize="12.0sp" android:textColor="@color/global_action_text" android:gravity="center" android:id="@id/text_recovery" android:paddingTop="10.0dip" android:layout_width="110.0dip" android:layout_height="wrap_content" android:text="@string/global_action_recovery" android:maxLines="2" />
</LinearLayout>
<LinearLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/bootloader_action" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="14.0dip">
<ImageButton android:id="@id/bootloader" android:background="@drawable/circle1" android:clickable="false" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_lock_power" android:tint="#ffffffff" android:contentDescription="@string/global_action_bootloader" android:alpha="0.9" android:paddingStart="19.0dip" android:paddingEnd="19.0dip" />
<TextView android:textSize="12.0sp" android:textColor="@color/global_action_text" android:gravity="center" android:id="@id/text_bootloader" android:paddingTop="10.0dip" android:layout_width="110.0dip" android:layout_height="wrap_content" android:text="@string/global_action_bootloader" android:maxLines="2" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
It should be mentioned I simply reused the power button graphic for the additional buttons. You can customize the buttons by generating vector xml and replacing ic_lock_recovery/bootloader.xml.
(If you do generate nice icons, please post them!)
2. Add the appropriate IDs/strings/xml to framework-zte-res.apk
- add to res/values/ids.xml
Code:
<item type="id" name="recovery_action">false</item>
<item type="id" name="bootloader_action">false</item>
<item type="id" name="recovery" />
<item type="id" name="bootloader" />
<item type="id" name="text_recovery" />
<item type="id" name="text_bootloader" />
- add to res/values/strings.xml
Code:
<string name="global_action_recovery">Recovery</string>
<string name="global_action_bootloader">Bootloader</string>
- in res/drawable, copy ic_lock_power.xml to ic_lock_recovery.xml, ic_lock_bootloader.xml (comment at end of #1 applies here)
3. Build framework-zte-res.apk using apktool, which is nice enough to assign all the new IDs needed. Now decompile the new apk and open res/values/public.xml to obtain two IDs
used for step 4 smali changes:
Code:
<public type="id" name="recovery" id="[COLOR="Red"]0x06060067[/COLOR]" />
<public type="id" name="bootloader" id="[COLOR="red"]0x06060068[/COLOR]" />
You must save those two IDs somewhere for the next step. If you don't, you risk bootlooping or worse!
4. Our target for the actual code changes is GlobalActions.smali in services.odex. Search for '.method private createDialogMF40' and find the following code:
Code:
new-instance v6, Lcom/android/server/policy/GlobalActions$7;
invoke-direct {v6, p0}, Lcom/android/server/policy/GlobalActions$7;-><init>(Lcom/android/server/policy/GlobalActions;\V
invoke-virtual {v3, v6}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
Just after that last line will be our insertion point for the following code:
Code:
iget-object v6, p0, Lcom/android/server/policy/GlobalActions;->contentView:Landroid/view/View;
const v9, [COLOR="red"]0x6060067[/COLOR]
invoke-virtual {v6, v9}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v3
.line 270
.local v3, "recoveryAction":Landroid/view/View;
new-instance v6, Lcom/android/server/policy/GlobalActions$19;
invoke-direct {v6, p0}, Lcom/android/server/policy/GlobalActions$19;-><init>(Lcom/android/server/policy/GlobalActions;)V
invoke-virtual {v3, v6}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
iget-object v6, p0, Lcom/android/server/policy/GlobalActions;->contentView:Landroid/view/View;
const v9, [COLOR="red"]0x6060068[/COLOR]
invoke-virtual {v6, v9}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v3
.line 270
.local v3, "bootloaderAction":Landroid/view/View;
new-instance v6, Lcom/android/server/policy/GlobalActions$20;
invoke-direct {v6, p0}, Lcom/android/server/policy/GlobalActions$20;-><init>(Lcom/android/server/policy/GlobalActions;)V
invoke-virtual {v3, v6}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
5. Now we have associated our new buttons with GlobalActions$19 & 20 above. To create these two files, used GlobalActions$7.smali (which is the reboot code) as a template. Be sure to change any $7 to $19 / $20 in the appropriate files. Our last modifications are simple one-liners to direct the reboot behavior.
Find 'const/4 v3, 0x0' around line 69 and change to:
GlobalActions$19.smali:
Code:
const-string/jumbo v3, "recovery"
GlobalActions$20.smali:
Code:
const-string/jumbo v3, "bootloader"
Compile your changes and update services.jar. You are now ready to flash the new framework-zte-res.apk and services.jar to /system/framework. Reboot and cross your fingers!
Version History:
1.0(3/26/17): Initial release
1.1 (3/29/17): Moved portrait layout up 80 pixels to center vertically

You wouldn't be happen to already have a zip readily available to share With that knowledge would you be willing to look at that edits needed to get 3minit battery mod working? I tried it but the standard edits do not work, someone had got it working but pulled down how he did it . Anyways great thread thanks for the info!

neo4uo said:
You wouldn't be happen to already have a zip readily available to share With that knowledge would you be willing to look at that edits needed to get 3minit battery mod working? I tried it but the standard edits do not work, someone had got it working but pulled down how he did it . Anyways great thread thanks for the info!
Click to expand...
Click to collapse
I just updated the OP with the modified apk+jar. That should help
I'm not familiar with the 3minit mod.

neo4uo said:
You wouldn't be happen to already have a zip readily available to share With that knowledge would you be willing to look at that edits needed to get 3minit battery mod working? I tried it but the standard edits do not work, someone had got it working but pulled down how he did it . Anyways great thread thanks for the info!
Click to expand...
Click to collapse
I had 3mint workink on our BadBoyz rom but i havn't updated it for 7.1.1 yet...coming soon
---------- Post added at 07:57 PM ---------- Previous post was at 07:55 PM ----------
jeboo said:
I figured this mod was long overdue, given that we're without Xposed on Nougat. Those who used to have the Galaxy S2/4 know how fond I am of this feature! This is a straightforward mod to add 2 buttons to the longpress power menu, specifically to reboot directly to recovery and bootloader. I'm not including a flashable zip as it won't run with stock kernel (modifies /system) and this is really intended for ROM devs to cook.
Click to expand...
Click to collapse
Nice work Sir !! May we use this ?

benny3 said:
I had 3mint workink on our BadBoyz rom but i havn't updated it for 7.1.1 yet...coming soon
---------- Post added at 07:57 PM ---------- Previous post was at 07:55 PM ----------
Nice work Sir !! May we use this ?
Click to expand...
Click to collapse
Sure :good:

jeboo said:
It should be mentioned I simply reused the power button graphic for the additional buttons. You can customize the buttons by generating vector xml and replacing ic_lock_recovery/bootloader.xml.
(If you do generate nice icons, please post them!)
Click to expand...
Click to collapse
Here's what I came up with for icons if you or anyone wants to use them.
EDIT: I don't know how to do the vector thing you mentioned or why the power off is vectored but also included as a .PNG in res\drawable-xhdpi-v4 but I made some .PNGs based off ic_lock_power_off.png to be used as icons. If it's possible to use these somehow, cool. If not, let me know and I can remove them.

-Duir- said:
Here's what I came up with for icons if you or anyone wants to use them.
EDIT: I don't know how to do the vector thing you mentioned or why the power off is vectored but also included as a .PNG in res\drawable-xhdpi-v4 but I made some .PNGs based off ic_lock_power_off.png to be used as icons. If it's possible to use these somehow, cool. If not, let me know and I can remove them.
Click to expand...
Click to collapse
That'd be dope as hell dude. Gonna see about using these for mine if you're ok with that.

-Duir- said:
Here's what I came up with for icons if you or anyone wants to use them.
EDIT: I don't know how to do the vector thing you mentioned or why the power off is vectored but also included as a .PNG in res\drawable-xhdpi-v4 but I made some .PNGs based off ic_lock_power_off.png to be used as icons. If it's possible to use these somehow, cool. If not, let me know and I can remove them.
Click to expand...
Click to collapse
Awesome man! I actually tried using a 96x96 PNG from framework-res.apk, but it distorted (too large and ovoid).

tylerlawhon said:
That'd be dope as hell dude. Gonna see about using these for mine if you're ok with that.
Click to expand...
Click to collapse
Go for it. I'd use them myself if I knew how. :silly:

Updated OP to fix vertical alignment in portrait mode. :good:

Here is a flashable for peeps to flash in recovery. I can mirror if needed.

neo4uo said:
You wouldn't be happen to already have a zip readily available to share With that knowledge would you be willing to look at that edits needed to get 3minit battery mod working? I tried it but the standard edits do not work, someone had got it working but pulled down how he did it . Anyways great thread thanks for the info!
Click to expand...
Click to collapse
EDIT

benny3 said:
Here is 3Mint for 7.1.1..Enjoy......http://www.mediafire.com/file/2xr733xwzhfbxy6/BadBoyZ_7.1.1_3Mint_Battery.zip
Click to expand...
Click to collapse
You should start a thread if not already thx bunches!

benny3 said:
Here is 3Mint for 7.1.1..Enjoy......http://www.mediafire.com/file/2xr733xwzhfbxy6/BadBoyZ_7.1.1_3Mint_Battery.zip
Click to expand...
Click to collapse
I tried flashing the file and it jacked my phone up. I do not know what was wrong with it. I have redownloaded it and tried reflashing with no luck. I am looking for a stock version(B19) to try to get my phone back working. I figured that I can replace the systemui_ui apk to get back going anyways just figured that I would let you know that that file was not working!

neo4uo said:
I tried flashing the file and it jacked my phone up. I do not know what was wrong with it. I have redownloaded it and tried reflashing with no luck. I am looking for a stock version(B19) to try to get my phone back working. I figured that I can replace the systemui_ui apk to get back going anyways just figured that I would let you know that that file was not working!
Click to expand...
Click to collapse
Same here. I can't enter my decryption password when flashing the 3minit battery mod

Is there a screen shot of what the apm look like?

gpz1100 said:
Is there a screen shot of what the apm look like?
Click to expand...
Click to collapse
Here ya go

neo4uo said:
I tried flashing the file and it jacked my phone up. I do not know what was wrong with it. I have redownloaded it and tried reflashing with no luck. I am looking for a stock version(B19) to try to get my phone back working. I figured that I can replace the systemui_ui apk to get back going anyways just figured that I would let you know that that file was not working!
Click to expand...
Click to collapse
It flashed and worked just fine for me. Strange. This is for a deodex rom, what rom are you on ?

benny3 said:
It flashed and worked just fine for me. Strange. This is for a deodex rom, what rom are you on ?
Click to expand...
Click to collapse
I'm in stock B19. Might be due to the rom being odexed. I didn't think of that

jimbo77 said:
I'm in stock B19. Might be due to the rom being odexed. I didn't think of that
Click to expand...
Click to collapse
It really shouldn't matter. You can have some files deodexed and some not. If this was the case then 3minit wouldn't work on any stock rooted ROMs. I am thinking a bad download. I might try downloading and flashing again. Maybe we can get a Md5 so we can check the download.

Related

[Q] no DATE in notification bar expanded view

I am making a theme for a rom and wanted to add date just below the quick panel settings.
I edited the status_bar_expanded.xml with the below code.
----------------------------------------------------------------------------
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.ExpandedView android:orientation="vertical" android:focusable="true" android:descendantFocusability="afterDescendants"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:orientation="horizontal" android:background="@drawable/title_bar_portrait" android:paddingTop="3.0dip" android:paddingRight="3.0dip" android:paddingBottom="5.0dip" android:layout_width="fill_parent" android:layout_height="40.0sp">
[B][COLOR="Red"]<com.android.systemui.statusbar.DateView android:textStyle="bold" android:textSize="9.0sp" android:id="@id/date" android:textColor="#ffffffff" android:layout_gravity="center_vertical" android:paddingLeft="1.0dip" android:paddingBottom="1.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:layout_marginTop="1.0dip" android:layout_weight="1.0" />[/COLOR][/B]
<com.android.systemui.statusbar.RecentAppButton android:textSize="10.0dip" android:textStyle="normal" android:textColor="#ffffffff" android:layout_gravity="center_vertical" android:id="@id/recent_app_button" android:background="@drawable/btn_recent_app" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<TextView android:textSize="0.0sp" android:textColor="#00000000" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:background="@drawable/btn_clear_default_small_normal" android:paddingLeft="15.0dip" android:paddingRight="15.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="4.0dip" android:layout_marginBottom="1.0dip" android:text="" style="\?android:attr/buttonStyle" />
</LinearLayout>
<FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0">
<ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:overScrollMode="ifContentScrolls">
<com.android.systemui.statusbar.NotificationLinearLayout android:orientation="vertical" android:id="@id/notificationLinearLayout" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Title" android:textColor="#ff47DDFE" android:id="@id/noNotificationsTitle" android:background="@drawable/shade_header_background" android:paddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/status_bar_no_notifications_title" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Title" android:textColor="#ff47DDFE" android:id="@id/ongoingTitle" android:background="#d7000000" android:paddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/status_bar_ongoing_events_title" />
<LinearLayout android:orientation="vertical" android:id="@id/ongoingItems" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Title" android:textColor="#ff47DDFE" android:id="@id/latestTitle" android:background="#d7000000" android:paddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/status_bar_latest_events_title" />
<LinearLayout android:orientation="vertical" android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</com.android.systemui.statusbar.NotificationLinearLayout>
</ScrollView>
<ImageView android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/title_bar_shadow" android:scaleType="fitXY" />
</FrameLayout>
</com.android.systemui.statusbar.ExpandedView>
---------------------------------------------------------------------------
but still date is not displayed. Screenshot attached
can anyone help me out.?
also the colour of date doesnt change.
any ideas???
thanx
mirajp1 said:
I am making a theme for a rom and wanted to add date just below the quick panel settings.
I edited the status_bar_expanded.xml with the below code.
----------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.ExpandedView androidrientation="vertical" android:focusable="true" android:descendantFocusability="afterDescendants"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout androidrientation="horizontal" android:background="@drawable/title_bar_portrait" androidaddingTop="3.0dip" androidaddingRight="3.0dip" androidaddingBottom="5.0dip" android:layout_width="fill_parent" android:layout_height="40.0sp">
<com.android.systemui.statusbar.DateView android:textStyle="bold" android:textSize="9.0sp" android:id="@id/date" android:textColor="#ffffffff" android:layout_gravity="center_vertical" androidaddingLeft="1.0dip" androidaddingBottom="1.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:layout_marginTop="1.0dip" android:layout_weight="1.0" />
<com.android.systemui.statusbar.RecentAppButton android:textSize="10.0dip" android:textStyle="normal" android:textColor="#ffffffff" android:layout_gravity="center_vertical" android:id="@id/recent_app_button" android:background="@drawable/btn_recent_app" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<TextView android:textSize="0.0sp" android:textColor="#00000000" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:background="@drawable/btn_clear_default_small_normal" androidaddingLeft="15.0dip" androidaddingRight="15.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="4.0dip" android:layout_marginBottom="1.0dip" android:text="" style="\?android:attr/buttonStyle" />
</LinearLayout>
<FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0">
<ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" androidverScrollMode="ifContentScrolls">
<com.android.systemui.statusbar.NotificationLinearLayout androidrientation="vertical" android:id="@id/notificationLinearLayout" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Title" android:textColor="#ff47DDFE" android:id="@id/noNotificationsTitle" android:background="@drawable/shade_header_background" androidaddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/status_bar_no_notifications_title" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Title" android:textColor="#ff47DDFE" android:id="@id/ongoingTitle" android:background="#d7000000" androidaddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/status_bar_ongoing_events_title" />
<LinearLayout androidrientation="vertical" android:id="@id/ongoingItems" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Title" android:textColor="#ff47DDFE" android:id="@id/latestTitle" android:background="#d7000000" androidaddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/status_bar_latest_events_title" />
<LinearLayout androidrientation="vertical" android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</com.android.systemui.statusbar.NotificationLinearLayout>
</ScrollView>
<ImageView android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/title_bar_shadow" android:scaleType="fitXY" />
</FrameLayout>
</com.android.systemui.statusbar.ExpandedView>
---------------------------------------------------------------------------
but still date is not displayed. Screenshot attached
can anyone help me out.?
also the colour of date doesnt change.
any ideas???
thanx
Click to expand...
Click to collapse
are you trying to use the stock dateview and just move it, if so it will not work. because it has to be told to show lookup the sources for the systemui.apk (github aosp framework_base/packages/systemui/) in aosp there is not much differnece between it and the sony one. and you will see that the date view is told when to show and hide.
so you either have to modify the smali to tell it to show your new view (that is in a dfferent parent) OR you create a new dateview class and call that (thats what i did lol)
hope thats not too vauge for you. also use code tags around your code and stuff in future it is easyer to read that way.
Pvy.
thats what i did
thanx pvyparts for reply.
now i got a start so i guess I will find out a way.
I dont know how to edit smali files so i guess will try adding a new class.
can you tell me how to add a class?
EDIT:
also i dont want to show date at specific date and time.I want it permanently there.
there's a thread here from which i tried to port the dateview smali: http://forum.xda-developers.com/showthread.php?t=1316574
but it didn't work, so i'm wondering how i can add it to the systemUI.apk. also, i'm wondering how can we put the settings button there - i can place the button beside the dateview (or in my case the placeholder text) but i can't make it initiate any action and to launch settings.apk.
do you have any clue maybe, pvyParts?
thanks!
mirajp1 said:
thats what i did
thanx pvyparts for reply.
now i got a start so i guess I will find out a way.
I dont know how to edit smali files so i guess will try adding a new class.
can you tell me how to add a class?
EDIT:
also i dont want to show date at specific date and time.I want it permanently there.
Click to expand...
Click to collapse
I know that's what you did cause that's what I did first too LOL!!
See my reply below
donjamal said:
there's a thread here from which i tried to port the dateview smali: http://forum.xda-developers.com/showthread.php?t=1316574
but it didn't work, so i'm wondering how i can add it to the systemUI.apk. also, i'm wondering how can we put the settings button there - i can place the button beside the dateview (or in my case the placeholder text) but i can't make it initiate any action and to launch settings.apk.
do you have any clue maybe, pvyParts?
thanks!
Click to expand...
Click to collapse
Yes and yes and yes.
that dateview is still the android one and needs to be configured/called to work.
Grab my system ui from the team Rom and have a look at how did it. that class may not work with it some other stuff tho but your free to try it.
I will removed the team stuff from my dateview and post the smali here for you and you are welcome to use it. just gimme a day or so.
Creating a class is not add easy as it sounds you need a way to compile it ect ect. I use eclipse and dummy apps * many programming skillz required*
As for settings button that would require either smali mods or a custom button again. Not small task in smali.... Easy from sources. I might make one aswell. Depends if get time or not. :-B
Pvy.
Sent from my TEAM Powered Arc S
pvyParts said:
I know that's what you did cause that's what I did first too LOL!!
See my reply below
Yes and yes and yes.
that dateview is still the android one and needs to be configured/called to work.
Grab my system ui from the team Rom and have a look at how did it. that class may not work with it some other stuff tho but your free to try it.
I will removed the team stuff from my dateview and post the smali here for you and you are welcome to use it. just gimme a day or so.
Creating a class is not add easy as it sounds you need a way to compile it ect ect. I use eclipse and dummy apps * many programming skillz required*
As for settings button that would require either smali mods or a custom button again. Not small task in smali.... Easy from sources. I might make one aswell. Depends if get time or not. :-B
Pvy.
Sent from my TEAM Powered Arc S
Click to expand...
Click to collapse
thanx pvy
waiting for that.
till then i will try it out from your rom(downloading takes time for me..slow connection lol )
thnx pvyParts! i wonder if you could share the "how-to" not just the results i wanna learn as much as i can... thnx again!
donjamal said:
thnx pvyParts! i wonder if you could share the "how-to" not just the results i wanna learn as much as i can... thnx again!
Click to expand...
Click to collapse
Of course mate
Sent from my TEAM Powered Arc S
pvyParts said:
Of course mate
Sent from my TEAM Powered Arc S
Click to expand...
Click to collapse
hey pvyparts any updates?
btw do you know which programming language is used in smali files.
google didnt give any satisfactory answer...
mirajp1 said:
hey pvyparts any updates?
btw do you know which programming language is used in smali files.
google didnt give any satisfactory answer...
Click to expand...
Click to collapse
Sorry guys got sent away with work and totally forgot. Lol. be back soon
Smali is smali lol.... google davlic opcode will get you some more info on it
Sent from my Transformer TF101 using XDA Premium HD app
Thanx for the reply...
And yes waiting for answer
Sent from my X10

[ROM][CM10-Kang] cm-10-20120827-UNOFFICIAL-quincyatt Discontinued

This is my first attempt at building a rom. It is a kang build straight off of the cyanogen mod's repos.
I have a decent amount of free time and trouble sleeping so I will attempt to build an updated rom every other night or sometimes even nightly.
I apologize to the guys with issues but this ROM is perfect for me.
On that note, with the official cm10 nightlies out now, and with how happy I am with this last ROM, I am retiring my cm10 kangs.
I am going to work on a new ROM now so you guys might still see me around if all goes well.
Thank you to everyone who contributed in this awesome thread, and thank you to everyone who sent donations.
{
"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"
}
What doesn't work (08/27):
You tell me
What was changed from last build to this one (08/27):
ROM seems even smoother!
Flappjaxxx's overclock kernel!
Netflix working!
3rd party cameras working!
HSDPA+ has it's own icon
Build was made fresh
Tons of system changes
All fixes are made by Cyanogen team!
cm-10-20120827-UNOFFICIAL-quincyatt:
Download
natewiebe13's site will be the exclusive host for my ROMs. It should provide more stability then the other servers. Do not make mirrors, I'll make them if they are needed.
Don't forget to wipe and install the 20120726 jb Gapps
If you like my work, show me, after all, I am an unemployed recent college grad.
For all the flashing addicts like myself I have made a folder in natewiebe13's site called addicts. I will post all of my latest work there with the latest cyanogen, h0tw1r3, and TeamChopsticks fixes. Once I deem they are stable enough and provide worth it changes I'll post links for them in the OP. Please do not post links to these roms in the thread or mirror them.
Older Roms:
What doesn't work (08/25):
Netflix
3rd party cameras
You tell me
What was changed from last build to this one (08/25):
ROM seems even smoother!
New Kernel (3.0.41)
Reboots/freezes may have been fixed (I'm noticing double the RAM vs the previous ROM)
Added official bootanimation
Storage mode working properly (no need to do anything)
Data Usage added!
1080p video recording works
Built strictly on Cyanogen Mod repos
Build was made fresh
Tons of system changes
cm-10-20120825-UNOFFICIAL-quincyatt:
Download
natewiebe13's site will be the exclusive host for my ROMs. It should provide more stability then the other servers. Do not make mirrors, I'll make them if they are needed.
Don't forget to wipe and install the 20120726 jb Gapps
What doesn't work (08/20):
Netflix
You tell me
What was changed from last build to this one (08/20):
ROM seems even smoother!
Screen flicker fix! (thanks to R4INS)
Unlock + answer screen perfectly centered! (thanks to Moose0704)
Built strictly on Cyanogen Mod repos
Build was made fresh
In storage settings press menu and USB computer connection to enable Mass Storage
cm-10-20120820-UNOFFICIAL-quincyatt:
Download
Mirror
Mirror
Don't forget to wipe and install the 20120726 jb Gapps
If you are on an early version of 08/20 and your unlock screen or call answer screen isn't perfect, don't panick, flash this.
If you're getting random freezes/reboots try this
Ltilt2 said:
Just today I have sent maybe like 200 texts and 2 calls with no reboots and the day is still young. running beautiful.
I do have this set up though/ Performance/ Memory management I have Zram at 26% and checked; Allow Purging of assets.
And No Task Killer
Click to expand...
Click to collapse
What doesn't work (08/18):
Netflix
Occasional screen flicker (checking "disable hw overlay" in developer options solves this)
You tell me
What was changed from last build to this one (08/18):
ROM seems smoother!
Added a boot animation, credit goes to nozergravity
I haven't gotten any reboots yet
cm-10-20120818-UNOFFICIAL-quincyatt:
Download
Mirror
Mirror
Don't forget to wipe and install the newest jb Gapps
What doesn't work (08/16):
Netflix
Occasional reboots
You tell me
What was changed from last build to this one (08/16):
HD video playback in YouTube and gallery working!
Video recording working! (720p only! don't even mess with the settings)
cm-10-20120816-UNOFFICIAL-quincyatt:
Download
DropBox Mirror
Orange_furball's Mirror
Don't forget to wipe and install the newest jb Gapps
What doesn't work (08/15):
HD Youtube (checking "disable hw overlay" in developer options helps HQ video)
Video Camera doesn't work
you tell me
What was fixed from last build to this one (08/15):
Google Now now works properly
Trebuchet grid can be re-sized
WiFi idle timeout added
Torch can be enabled from notification drawer
many under the hood fixes
you tell me
cm-10-20120815-UNOFFICIAL-quincyatt:
Download
bigjoe2675's mirror
Orange_furball said:
Made a mirror for the ROM and Gapps. Feel free to add them to the OP. Thanks for the hard work!
ROM: http://tinyurl.com/8d7rvjx
Gapps: http://tinyurl.com/9somy9c
Click to expand...
Click to collapse
cm-10-20120810-UNOFFICIAL-quincyatt:
Download
DropBox Mirror
Thanks to:
H0tw1r3 for setting up the local_manifest and repos
DaGr8 for helping me with my error
Cyanogen Mod team for the constant improvements
If any dev wants this removed please let me know.
Good job. Downloading now.
Oh yeah¡
FIRST!
Sent from my SAMSUNG-SGH-I997 using Tapatalk 2
bigfau said:
Good job. Downloading now.
Oh yeah¡
FIRST!
Sent from my SAMSUNG-SGH-I997 using Tapatalk 2
Click to expand...
Click to collapse
Thanks, let me know of any issues you run into or any changes worth mentioning so I can update the OP
Thank you. Downloading now.
Sent from my SAMSUNG-SGH-I717 using Tapatalk 2
Thanks for hard work,
All working perfect , except Google now doesn't connect for voice search.
Sent from my SAMSUNG-SGH-I717R using xda app-developers app
Right on, man!!! Good to see you sharing your work here...Keep on keeping on!
I'll play, thx
thanks for the Rom man!
Sent from my SAMSUNG-SGH-I717 using xda app-developers app
good job just installing
gotshoaib said:
Thanks for hard work,
All working perfect , except Google now doesn't connect for voice search.
Sent from my SAMSUNG-SGH-I717R using xda app-developers app
Click to expand...
Click to collapse
Nice Job, looking forward to NOW as well
bigjoe2675 said:
I'll play, thx
Click to expand...
Click to collapse
you're such a "playa"...
Liking it
wase4711 said:
you're such a "playa"...
Click to expand...
Click to collapse
I haven't been play with the JBean, more with the JimBean, ha. But this is pretty cool, different and ya know there is more coming around here, Thx OP. Nova Launcher running great and smooth gonna run this puppy around the block, see if she holds
bigjoe2675 said:
I haven't been play with the JBean, more with the JimBean, ha. But this is pretty cool, different and ya know there is more coming around here, Thx OP. Nova Launcher running great and smooth gonna run this puppy around the block, see if she holds
Click to expand...
Click to collapse
down to 91 in Yuma?? cold wave!
Heat is gone from chicago now too; its been in the 60's and 70's the last few days..
the grass is even getting green again, so insted of just smoking it, you can now cut it..:laugh:
I'll give this a go
Thnx a bunch
Sent from my SAMSUNG-SGH-I717 using Tapatalk 2
I'm going to try to figure out what happen to google now's voice search
Everything is good so far only thing I noticed is the led flashlight toggle for the notification bar is grayed out? Otherwise super smooth with apex launchers newest beta v2
Sent from my SAMSUNG-SGH-I717 using xda app-developers app
ManelScout4Life said:
I'm going to try to figure out what happen to google now's voice search
Click to expand...
Click to collapse
thanks would like to have google now
Not to darn bad for your first ROM
Sent from my SAMSUNG-SGH-I717 using xda app-developers app
Maybe no likey quickpic, or did i miss a settings double folders?
I use quickpic, not gallery but no double folders in default gallery btw. so not ROM related, prob just quickpic?
Just fyi, unless someone knows of some settings I need to adjust, thx
Sent from my SAMSUNG-SGH-I717 using xda premium
For those of you that may interested I have spent about 3 to 4 hours trying to get that lockscreen circle centered, I have succeeded! Here are the two files I edited and the changes I made. Enjoy!
This code is for: "keyguard_screen_tab_unlock"
Code:
<?xml version="1.0" encoding="utf-8"?>
<GridLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@id/root" android:gravity="center_horizontal"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<com.android.internal.widget.DigitalClock android:id="@id/time" android:layout_marginTop="@dimen/keyguard_lockscreen_status_line_clockfont_top_margin" android:layout_marginBottom="12.0dip" android:layout_marginRight="@dimen/keyguard_lockscreen_status_line_font_right_margin" android:layout_gravity="right"
>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/timeDisplayBackground" android:layout_marginBottom="6.0dip" android:singleLine="true" android:ellipsize="none" android:textSize="@dimen/keyguard_lockscreen_clock_font_size" android:textAppearance="?textAppearanceMedium" android:textColor="@color/lockscreen_clock_background"
/>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/timeDisplayForeground" android:layout_marginBottom="6.0dip" android:singleLine="true" android:ellipsize="none" android:textSize="@dimen/keyguard_lockscreen_clock_font_size" android:textAppearance="?textAppearanceMedium" android:textColor="@color/lockscreen_clock_foreground" android:layout_alignLeft="@id/timeDisplayBackground" android:layout_alignTop="@id/timeDisplayBackground"
/>
</com.android.internal.widget.DigitalClock>
<LinearLayout android:orientation="horizontal" android:layout_marginRight="@dimen/keyguard_lockscreen_status_line_font_right_margin" android:layout_gravity="right"
>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/date" android:singleLine="true" android:ellipsize="marquee" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:textAppearance="?textAppearanceMedium"
/>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/alarm_status" android:singleLine="true" android:ellipsize="marquee" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:textAppearance="?textAppearanceMedium" android:layout_marginLeft="16.0dip" android:drawablePadding="4.0dip"
/>
</LinearLayout>
<TextView android:id="@id/status1" android:layout_marginRight="@dimen/keyguard_lockscreen_status_line_font_right_margin" android:layout_gravity="right" android:singleLine="true" android:ellipsize="marquee" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:textAppearance="?textAppearanceMedium" android:drawablePadding="4.0dip"
/>
<RelativeLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@id/weather_panel" android:paddingTop="4.0dip"
>
<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/weather_image" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:paddingLeft="8.0dip" android:paddingRight="8.0dip" android:src="@drawable/ic_dialog_alert"
/>
<RelativeLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_toLeftOf="@id/weather_image" android:padding="4.0dip"
>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/weather_city" android:gravity="right" android:singleLine="true" android:ellipsize="marquee" android:textSize="14.0sp" android:textColor="?textColorPrimary" android:textStyle="bold" android:layout_alignParentRight="true"
/>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/weather_condition" android:gravity="right" android:singleLine="true" android:ellipsize="marquee" android:textSize="12.0sp" android:textColor="?textColorPrimary" android:layout_alignParentRight="true" android:layout_below="@id/weather_city"
/>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/update_time" android:gravity="right" android:textSize="6.0sp" android:textColor="?textColorSecondary" android:layout_alignParentRight="true" android:layout_below="@id/weather_condition"
/>
</RelativeLayout>
<RelativeLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/weather_temps_panel" android:layout_centerVertical="true" android:layout_toRightOf="@id/weather_image"
>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/weather_temp" android:textSize="20.0sp" android:textColor="?textColorPrimary" android:layout_centerHorizontal="true"
/>
<View android:layout_width="44.0dip" android:layout_height="1.0dip" android:id="@id/weather_divider" android:layout_below="@id/weather_temp" android:background="@drawable/divider_horizontal_dark"
/>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/weather_low_high" android:textSize="12.0sp" android:textColor="?textColorPrimary" android:paddingTop="2.0dip" android:layout_centerHorizontal="true" android:layout_below="@id/weather_divider"
/>
</RelativeLayout>
</RelativeLayout>
<Space android:layout_gravity="fill" />
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/emergencyCallButton" android:layout_marginTop="4.0dip" android:layout_marginRight="16.0dip" android:layout_gravity="right" android:drawablePadding="4.0dip" android:drawableLeft="@drawable/lockscreen_emergency_button" android:text="@string/lockscreen_emergency_call" android:visibility="gone" style="?android:attr/buttonBarButtonStyle"
/>
<RelativeLayout android:layout_width="fill_parent" android:layout_height="302.0dip"
>
<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@id/calendar_panel" android:gravity="center_vertical" android:paddingLeft="12.0dip" android:paddingRight="12.0dip" android:minHeight="28.0dip"
>
<ImageView android:layout_width="36.0dip" android:layout_height="wrap_content" android:gravity="center" android:layout_gravity="center_vertical" android:src="@drawable/ic_lock_idle_calendar"
/>
<View android:layout_width="1.0dip" android:layout_height="fill_parent" android:paddingTop="6.0dip" android:background="@drawable/divider_horizontal_dark" android:paddingBottom="6.0dip"
/>
<RelativeLayout android:layout_width="0.0dip" android:layout_height="wrap_content" android:paddingTop="6.0dip" android:paddingLeft="4.0dip" android:paddingBottom="6.0dip" android:layout_weight="1.0"
>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/calendar_event_title" android:singleLine="true" android:ellipsize="marquee" android:textSize="14.0sp" android:textColor="?textColorPrimary" android:fadingEdge="horizontal"
/>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/calendar_event_details" android:singleLine="true" android:ellipsize="marquee" android:textSize="12.0sp" android:textColor="?textColorSecondary" android:layout_alignLeft="@id/calendar_event_title" android:layout_below="@id/calendar_event_title" android:fadingEdge="horizontal" android:marqueeRepeatLimit="marquee_forever" android:scrollHorizontally="true" android:focusable="true" android:focusableInTouchMode="true"
/>
</RelativeLayout>
</LinearLayout>
<com.android.internal.widget.multiwaveview.GlowPadView android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@id/unlock_widget" android:gravity="left" android:focusable="true" android:layout_alignParentBottom="true" android:targetDrawables="@array/lockscreen_targets_with_camera" android:targetDescriptions="@array/lockscreen_target_descriptions_with_camera" android:directionDescriptions="@array/lockscreen_direction_descriptions" android:handleDrawable="@drawable/ic_lockscreen_handle" android:outerRingDrawable="@drawable/ic_lockscreen_outerring" android:outerRadius="@dimen/glowpadview_target_placement_radius" android:innerRadius="@dimen/glowpadview_inner_radius" android:snapMargin="@dimen/glowpadview_snap_margin" android:feedbackCount="1" android:vibrationDuration="20" android:glowRadius="@dimen/glowpadview_glow_radius" android:pointDrawable="@drawable/ic_lockscreen_glowdot"
/>
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@id/carrier" android:gravity="center_horizontal" android:layout_marginBottom="12.0dip" android:singleLine="true" android:ellipsize="marquee" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:textAppearance="?textAppearanceMedium" android:textColor="?textColorSecondary" android:layout_alignParentBottom="true"
/>
</RelativeLayout>
<LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:gravity="center_horizontal" android:weightSum="2.0" style="?android:attr/buttonBarStyle"
>
<Button android:layout_width="0.0dip" android:layout_height="wrap_content" android:id="@id/emergencyCallButton" android:layout_gravity="center_horizontal" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:drawablePadding="0.0dip" android:drawableLeft="@drawable/lockscreen_emergency_button" android:text="@string/lockscreen_emergency_call" android:visibility="gone" android:layout_weight="1.0" style="?android:attr/buttonBarButtonStyle"
/>
</LinearLayout>
<include android:layout_width="0.0dip" android:layout_height="0.0dip" android:id="@id/transport" android:layout_gravity="fill" android:layout_row="0" android:layout_column="0" android:layout_rowSpan="5" android:layout_columnSpan="1" layout="@layout/keyguard_transport_control"
/>
</GridLayout>
This code is for: "keyguard_screen_unlock_portrait"
Code:
<?xml version="1.0" encoding="utf-8"?>
<GridLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_horizontal" android:id="@id/root"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<com.android.internal.widget.DigitalClock android:id="@id/time" android:layout_marginTop="@dimen/keyguard_lockscreen_status_line_clockfont_top_margin" android:layout_marginBottom="@dimen/keyguard_lockscreen_status_line_clockfont_bottom_margin" android:layout_marginRight="@dimen/keyguard_lockscreen_status_line_font_right_margin" android:layout_gravity="center_horizontal"
>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/timeDisplayBackground" android:singleLine="true" android:ellipsize="none" android:textSize="@dimen/keyguard_lockscreen_clock_font_size" android:textAppearance="?textAppearanceMedium" android:textColor="@color/lockscreen_clock_background"
/>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/timeDisplayForeground" android:singleLine="true" android:ellipsize="none" android:textSize="@dimen/keyguard_lockscreen_clock_font_size" android:textAppearance="?textAppearanceMedium" android:textColor="@color/lockscreen_clock_foreground"
/>
</com.android.internal.widget.DigitalClock>
<LinearLayout android:orientation="horizontal" android:layout_marginRight="@dimen/keyguard_lockscreen_status_line_font_right_margin" android:layout_gravity="center_horizontal"
>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/date" android:singleLine="true" android:ellipsize="marquee" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:textAppearance="?textAppearanceMedium"
/>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/alarm_status" android:singleLine="true" android:ellipsize="marquee" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:textAppearance="?textAppearanceMedium" android:layout_marginLeft="16.0dip" android:drawablePadding="4.0dip"
/>
</LinearLayout>
<TextView android:id="@id/status1" android:layout_marginRight="@dimen/keyguard_lockscreen_status_line_font_right_margin" android:layout_gravity="center_horizontal" android:singleLine="true" android:ellipsize="marquee" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:textAppearance="?textAppearanceMedium" android:drawablePadding="4.0dip"
/>
<Space android:layout_gravity="fill" />
<com.android.internal.widget.LockPatternView android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@id/lockPattern" android:layout_marginBottom="4.0dip" android:layout_marginRight="8.0dip" android:layout_gravity="center_horizontal" android:layout_marginLeft="8.0dip"
/>
<TextView android:id="@id/carrier" android:layout_gravity="center_horizontal" android:singleLine="true" android:ellipsize="marquee" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:textAppearance="?textAppearanceMedium"
/>
<LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:gravity="center_horizontal" android:weightSum="2.0" style="?android:attr/buttonBarStyle"
>
<Button android:layout_width="0.0dip" android:layout_height="wrap_content" android:id="@id/emergencyCallButton" android:layout_gravity="center_horizontal" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:drawablePadding="0.0dip" android:layout_weight="1.0" android:text="@string/lockscreen_emergency_call" android:drawableLeft="@drawable/lockscreen_emergency_button" style="?android:attr/buttonBarButtonStyle"
/>
<Button android:layout_width="0.0dip" android:layout_height="wrap_content" android:id="@id/forgotPatternButton" android:layout_gravity="center_horizontal" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:drawablePadding="0.0dip" android:layout_weight="1.0" android:text="@string/lockscreen_forgot_pattern_button_text" android:drawableLeft="@drawable/lockscreen_forgot_password_button" style="?android:attr/buttonBarButtonStyle"
/>
</LinearLayout>
<include android:layout_width="0.0dip" android:layout_height="0.0dip" android:id="@id/transport" android:layout_gravity="fill" android:layout_row="0" android:layout_column="0" android:layout_rowSpan="4" android:layout_columnSpan="1" layout="@layout/keyguard_transport_control"
/>
<RelativeLayout android:layout_width="0.0dip" android:layout_height="0.0dip" android:id="@id/faceLockAreaView" android:layout_marginBottom="4.0dip" android:layout_gravity="fill" android:layout_row="4" android:layout_column="0" android:layout_rowSpan="1" android:layout_columnSpan="1" android:visibility="invisible" android:background="@drawable/intro_bg"
>
<View android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@id/spotlightMask" android:background="@color/facelock_spotlight_mask"
/>
<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/cancel_button" android:padding="5.0dip" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:src="@drawable/ic_facial_backup"
/>
</RelativeLayout>
</GridLayout>

[2-in-1 TUT][MOD][PORT] Swipe To Remove Notification for Froyo [Updated - 24/2/13]

Swipe-to-remove Notification for Froyo​
Well I finally figure it all out. It looks simple, but it took me nearly two months to finish this. This should work in other Froyo phones as well.
Disclaimer: I take no responsibility whatsoever. This is based on stock XXJPS framework, but it should also work with others.
To developers and themers, you are free to use this in your ROM, but please post a link to this thread and give proper credits to me and hansip87.
Credits/Thanks:
Big thanks to hansip87 for the original guide and for helping me.
Big thanks to marcellusbe for porting CM6. Can't make this without those codes.
Thanks to Arjav23 and kyrillos13 for some help.
Step 1
Click to expand...
Click to collapse
a. Decompile "framework-res.apk"
b. Download "swipe-framework-res.zip" and extract those two files to "/res/anim/"
c. Open "/res/layout/status_bar_latest_event.xml"
Now change the "<LinearLayout" to "<com.android.server.status.LatestItemContainer" like this:
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="65.0sp"
xmlns:android="http://schemas.android.com/apk/res/android">
<com.android.server.status.LatestItemView android:id="@id/content" android:background="@drawable/status_bar_item_background" android:paddingRight="6.0sp" android:focusable="true" android:clickable="true" android:layout_width="fill_parent" android:layout_height="64.0sp" />
<View android:background="@drawable/divider_horizontal_bright" android:layout_width="fill_parent" android:layout_height="1.0sp" />
</LinearLayout>
to this:
Code:
<?xml version="1.0" encoding="utf-8"?>
<[B]com.android.server.status.LatestItemContainer [/B]android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="65.0sp"
xmlns:android="http://schemas.android.com/apk/res/android">
<com.android.server.status.LatestItemView android:id="@id/content" android:background="@drawable/status_bar_item_background" android:paddingRight="6.0sp" android:focusable="true" android:clickable="true" android:layout_width="fill_parent" android:layout_height="64.0sp" />
<View android:background="@drawable/divider_horizontal_bright" android:layout_width="fill_parent" android:layout_height="1.0sp" />
</[B]com.android.server.status.LatestItemContainer[/B]>
d. Now the IDs for "slide_out_left_basic.xml" and "slide_out_right_basic.xml", so basically, compile it and then decompile it again.
e. Open "/res/value/public.xml" in Notepad++ and you should get something like this:
Code:
<public type="anim" name="slide_out_left_basic" id="[B]0x010a0048[/B]" />
<public type="anim" name="slide_out_right_basic" id="[B]0x010a0049[/B]" />
You may have a different ID depending on the ROM you're using, so just keep a note of it.
Step 2
Click to expand...
Click to collapse
a. Decompile "services.jar"
b. Download "swipe-services.zip" and extract all three files to "/out/com/android/server/status/"
(If you already have the JB mods installed, then change "StatusBarService$41.smali" to "StatusBarService$42.smali".)
c. Open "LatestItemContainer$1.smali" and find this line:
Code:
.line 47
const v1,[B] 0x10a0049[/B]
(This code refers to the "slide_out_right_basic.xml" ID, so if you have a different one, just change it)
And this line:
Code:
.line 49
:cond_3c
const v1, [B]0x10a0048[/B]
(This one refers to the "slide_out_left_basic.xml" ID, so if you have a different one, just change it)
Save and close.
d. Open "/out/com/android/server/status/StatusBarService.smali"
Find this line:
Code:
invoke-virtual {v0, v1, v2, v3}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
and below "move-result-object v17", remove these following line:
Code:
.line 1346
.local v17, row:Landroid/view/View;
then paste these lines:
Code:
[B] check-cast v17, Lcom/android/server/status/LatestItemContainer;
.line 1346
.local v17, row:Lcom/android/server/status/LatestItemContainer;
iget-boolean v4, v15, Lcom/android/server/status/NotificationData;->clearable:Z
if-eqz v4, :cond_ae
.line 1600
new-instance v4, Lcom/android/server/status/StatusBarService$41;
move-object v0, v4
move-object/from16 v1, p0
move-object v2, v15
invoke-direct {v0, v1, v2}, Lcom/android/server/status/StatusBarService$41;-><init>(Lcom/android/server/status/StatusBarService;Lcom/android/server/status/NotificationData;)V
move-object/from16 v0, v17
move-object v1, v4
invoke-virtual {v0, v1}, Lcom/android/server/status/LatestItemContainer;->setOnSwipeCallback(Ljava/lang/Runnable;)V
.line 1606
:cond_ae[/B]
const v4, 0x1020002
move-object/from16 v0, v17
move v1, v4
[B]invoke-virtual {v0, v1}, Lcom/android/server/status/LatestItemContainer;->findViewById(I)Landroid/view/View;[/B]
(remember, "StatusBarService$41")
Find this line:
Code:
invoke-virtual {v0, v1}, Landroid/view/View;->setDrawingCacheEnabled(Z)V
change to:
Code:
invoke-virtual {v0, v1}, Lcom/android/server/status/LatestItemContainer;->setDrawingCacheEnabled(Z)V
e. Open "/out/com/android/server/status/StatusBarService$NotificationCallbacks.smali" and add this code above "onNotificationClick"
Code:
.method public abstract onNotificationClear(Ljava/lang/String;Ljava/lang/String;I)V
.end method
f. Open "/out/com/android/server/NotificationManagerService$1.smali" and also add these codes above "onNotificationClick"
Code:
.method public onNotificationClear(Ljava/lang/String;Ljava/lang/String;I)V
.registers 10
.parameter "pkg"
.parameter "tag"
.parameter "id"
.prologue
.line 346
iget-object v0, p0, Lcom/android/server/NotificationManagerService$1;->this$0:Lcom/android/server/NotificationManagerService;
const/4 v4, 0x0
const/16 v5, 0x40
move-object v1, p1
move-object v2, p2
move v3, p3
#calls: Lcom/android/server/NotificationManagerService;->cancelNotification(Ljava/lang/String;Ljava/lang/String;III)V
invoke-static/range {v0 .. v5}, Lcom/android/server/NotificationManagerService;->access$500(Lcom/android/server/NotificationManagerService;Ljava/lang/String;Ljava/lang/String;III)V
.line 347
return-void
.end method
g. Save everything, compile, and you're finished
{
"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"
}
NOTE (if you have JB mod installed): Tricky part is the smali numbering. You can't only change the file number, you also need to change the codes inside StatusBarService.smali to refer to it. Remember, $41 to $42. DO NOT GET BOTH MIXED UP!
JellyBean Styled Notification Drawer​
Disclaimer: I take no responsibility whatsoever. Please note that this tutorial is for "deodex-ed" frameworks only. If your current ROM is "odex-ed", then deodex it using this method or just grab a copy of a deodex-ed theme. And if you want this in a custom ROM you like, then I suggest you to ask the developer to apply these features themselves.
To developers and themers, you are free to use this in your ROM or Theme, but please give proper credits.
Credits/Thanks:
AChep & petrukgrinder for developing and creating a guide.
Jason-EX (me) for changing the code for Galaxy 3.
Requirement:
APK Multi-Tool for de-compiling and compiling APKs.
Smali/Baksmali for de-compiling and compiling JARs.
Notepad++ for editing XML and SMALI files.
Adobe Photoshop or GIMP for editing framework images (optional).
A copy of "twframework-res.apk" and "services.jar" from "/system/framework/".
And a backup copy of those two framework files.
How to de-compile and compile APK and JAR files
Click to expand...
Click to collapse
For APKs,
1. Download APK Multi-Tool from here. (Skip this part if you already have "APK Manager" or APKTool".)
2. Extract and run "Setup.exe". (Skip this part if you already have "APK Manager" or APKTool".)
3. Place the file needed for this mod in "place-apk-here-for-modding".
4. Decompile it (no.9), and start editing files needed.
5. After that, set compression level to "0" (no.21), then compile (no.11).
For JARs,
1. Download Smali/Baksmali from here.
2. Cut and paste them to a directory that is easy to get access (I recommend "C:/").
3. Place the required file to be edit to the same directory.
4. Now type in command prompt: "cd\" (enter) "cd /directory/".
5. To de-compile, type: "java -jar baksmali.jar -x for-modding.jar -o out".
6. To compile, type: "java -jar smali.jar -x out -o classes.dex".
7. Then replace the classes.dex with the original JAR file that you want to edit.
Adding Time and Date
Click to expand...
Click to collapse
1. De-compile "services.jar".
2. Download "JB-time-date.zip" from attachment, then extract both files to "/out/com/android/server/status/".
3. Compile "services.jar".
4. De-compile "twframework-res.apk" then open "twframework-res/res/layout/status_bar_expanded.xml".
Add this code above the first "<LinearLayout"
Code:
<RelativeLayout android:orientation="horizontal" android:background="@color/tw_color002" android:layout_width="fill_parent" android:layout_height="47.0dip">
<LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true">
<com.android.server.status.StatusBarJellyHeaderView android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
</RelativeLayout>
6. Save and compile "twframework-res.apk"
Adding Clear button
Click to expand...
Click to collapse
1. Download "JB-clear-btn.zip" from attachment below.
2. Decompile "twframework-res.apk"
3. Extract "JB-clear-btn.zip" and copy those two images to "/res/drawable-ldpi/"
4. Copy "btn_clear.xml" to "/res/drawable"
5. Open "/res/layout/status_bar_expanded.xml"
Find this code added from the Time and Date:
Code:
<RelativeLayout android:orientation="horizontal" android:background="@color/tw_color002" android:layout_width="fill_parent" android:layout_height="47.0dip">
<LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true">
<com.android.server.status.StatusBarJellyHeaderView android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
</RelativeLayout>
Then add this code:
Code:
<RelativeLayout android:orientation="horizontal" android:background="@color/tw_color002" android:layout_width="fill_parent" android:layout_height="47.0dip">
<LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true">
<com.android.server.status.StatusBarJellyHeaderView android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
[B]<LinearLayout android:orientation="horizontal" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true">
<Button android:textColor="@android:color/transparent" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_clear_all_button" style="@style/Btn.Clear" />
</LinearLayout>[/B]
</RelativeLayout>
And remove this code:
Code:
<Button android:textSize="14.0sp" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:layout_width="75.0dip" android:layout_height="wrap_content" android:layout_marginTop="5.0dip" android:layout_marginRight="6.0dip" android:text="@string/status_bar_clear_all_button" style="?android:attr/buttonStyleSmall" />
6. Open "/res/value/styles.xml"
Paste this code at the end of the file:
Code:
<style name="Btn.Clear" parent="@*android:style/Widget.Button">
<item name="android:textColor">#ffffffff</item>
<item name="android:gravity">center</item>
<item name="android:background">@drawable/btn_clear</item>
<item name="android:clickable">true</item>
</style>
7. Save everything and compile "twframework-res.apk"
Adding Settings shortcut button
Click to expand...
Click to collapse
1. Download "JB-settings-btn.zip" from attachment below.
2. Decompile "twframework-res.apk" and open "/res/layout/status_bar_expanded.xml"
Find the code added from Clear button
Code:
<RelativeLayout android:orientation="horizontal" android:background="@color/tw_color002" android:layout_width="fill_parent" android:layout_height="47.0dip">
<LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true">
<com.android.server.status.StatusBarJellyHeaderView android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true">
<Button android:textColor="@android:color/transparent" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_clear_all_button" style="@style/Btn.Clear" />
</LinearLayout>
</RelativeLayout>
Then add these two lines:
Code:
<RelativeLayout android:orientation="horizontal" android:background="@color/tw_color002" android:layout_width="fill_parent" android:layout_height="47.0dip">
<LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true">
<com.android.server.status.StatusBarJellyHeaderView android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true">
<Button android:textColor="@*android:color/transparent" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_clear_all_button" style="@style/Btn.Clear" />
[B]<View android:visibility="invisible" android:layout_width="1.0dip" android:layout_height="wrap_content" />
<ImageView android:layout_gravity="center_vertical" android:id="@id/settings_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_notify_quicksettings" android:contentDescription="@string/accessibility_settings_button" />[/B]
</LinearLayout>
</RelativeLayout>
3. Open "/res/value/ids.xml" and add this code at the end of the file:
Code:
<item type="id" name="settings_button">false</item>
4. Open "/res/value/strings.xml" and add this code at the end of the file:
Code:
<string name="accessibility_settings_button">System settings.</string>
4. Extract the two images from "JB-settings-btn.zip" and paste it in "/res/drawable-ldpi/", then extract "ic_notify_quicksettings.xml" and paste it in "/res/drawable/".
5. Now you'll have to compile "twframework-res.apk" and decompile it again
6. Open "/res/value/public.xml" and find this line:
Code:
<public type="id" name="settings_button" id="[B]0x02040061[/B]" />
(Keep a note of the ID value)
7. Decompile "services.jar" and open "/out/com/android/server/status/StatusBarServices.smali"
8. Find this line:
Code:
.field mScrollView:Landroid/widget/ScrollView;
Then paste these two lines below:
Code:
.field mSettingsBut:Landroid/view/View;
.field private mSettingsButListener:Landroid/view/View$OnClickListener;
9. Find this line:
Code:
iput-object v0, p0, Lcom/android/server/status/StatusBarService;->mStopTracing:Ljava/lang/Runnable;
Then paste these lines below:
Code:
.line 4000
new-instance v0, Lcom/android/server/status/StatusBarService$41;
invoke-direct {v0, p0}, Lcom/android/server/status/StatusBarService$41;-><init>(Lcom/android/server/status/StatusBarService;)V
iput-object v0, p0, Lcom/android/server/status/StatusBarService;->mSettingsButListener:Landroid/view/View$OnClickListener;
10. Find this line:
Code:
iput v7, p0, Lcom/android/server/status/StatusBarService;->mEdgeBorder:I
Then paste these lines below:
Code:
.line 611
const v7, 0x2040061
invoke-virtual {v1, v7}, Lcom/android/server/status/ExpandedView;->findViewById(I)Landroid/view/View;
move-result-object v7
iput-object v7, p0, Lcom/android/server/status/StatusBarService;->mSettingsBut:Landroid/view/View;
.line 612
iget-object v7, p0, Lcom/android/server/status/StatusBarService;->mSettingsBut:Landroid/view/View;
iget-object v8, p0, Lcom/android/server/status/StatusBarService;->mSettingsButListener:Landroid/view/View$OnClickListener;
invoke-virtual {v7, v8}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
(Change the ID if you got a different one)
Code:
.line 611
const v7, [B]0x2040061[/B]
11. Now extract "StatusBarServices$41" from "JB-settings-btn" and paste it in "/out/com/android/server/status/"
12. Compile both "twframework-res.apk" and "services.jar"
Hiding the Status Bar when expanded
Click to expand...
Click to collapse
1. Grab a "framework-res.apk" and de-compile it
2. Go to "/res/layout/status_bar.xml"
3. Find the "DateView" code at the bottom of the file:
Code:
<com.android.server.status.DateView
Remove the whole line and replace it with this code:
Code:
<com.android.server.status.DateView android:textSize="0.00999999dip" android:textStyle="normal" android:textColor="#ff000000" android:gravity="center" android:id="@id/date" android:background="@color/black" android:paddingLeft="6.0px" android:paddingRight="6.0px" android:layout_width="fill_parent" android:layout_height="fill_parent" android:singleLine="true" />
Adding Carrier Label
Click to expand...
Click to collapse
1. Decompile "services.jar"
2. Download "JB-carrier-label.zip" from attachment and extract those files to "/out/com/android/server/status/"
3. Save and compile "services.jar"
4. Decompile "twframework-res.apk" and open "/res/layout/status_bar_tracking.xml"
5. Find this line:
Code:
<com.android.server.status.CloseDragHandle android:orientation="vertical" android:id="@id/close" android:layout_width="fill_parent" android:layout_height="wrap_content">
Then paste this line below:
Code:
<com.android.server.status.CarrierLabel android:textSize="15.0dip" android:textColor="#ffffffff" android:gravity="center_horizontal" android:background="@drawable/status_bar_background" android:paddingBottom="4.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" />
6. Then open "/res/layout/status_bar_expanded.xml" and find this code:
Code:
<LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content">
<LinearLayout android:layout_gravity="center_vertical" android:orientation="vertical" android:paddingBottom="1.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:layout_marginTop="1.0dip" android:layout_weight="1.0">
<TextView android:textAppearance="?android:textAppearanceMedium" android:textColor="@color/tw_color001" android:layout_gravity="center_vertical" android:id="@id/plmnLabel" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<TextView android:textAppearance="?android:textAppearanceMedium" android:textColor="@color/tw_color001" android:layout_gravity="center_vertical" android:id="@id/spnLabel" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
<Button android:textSize="14.0sp" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:layout_width="75.0dip" android:layout_height="wrap_content" android:layout_marginTop="5.0dip" android:layout_marginRight="6.0dip" android:text="@string/status_bar_clear_all_button" style="?android:attr/buttonStyleSmall" />
</LinearLayout>
And change the height of the first "Linear Layout" to "0.0dip":
Code:
<LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="[B]0.0dip[/B]">
<LinearLayout android:layout_gravity="center_vertical" android:orientation="vertical" android:paddingBottom="1.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:layout_marginTop="1.0dip" android:layout_weight="1.0">
<TextView android:textAppearance="?android:textAppearanceMedium" android:textColor="@color/tw_color001" android:layout_gravity="center_vertical" android:id="@id/plmnLabel" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<TextView android:textAppearance="?android:textAppearanceMedium" android:textColor="@color/tw_color001" android:layout_gravity="center_vertical" android:id="@id/spnLabel" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
<Button android:textSize="14.0sp" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:layout_width="75.0dip" android:layout_height="wrap_content" android:layout_marginTop="5.0dip" android:layout_marginRight="6.0dip" android:text="@string/status_bar_clear_all_button" style="?android:attr/buttonStyleSmall" />
</LinearLayout>
7. Save and compile "twframework-res.apk"
Making the Tracking Bar clickable
Click to expand...
Click to collapse
1. Decompile "twframework-res.apk" and open "/res/layout/status_bar_tracking.xml"
2. Replace the whole "<ImageView" code with:
Code:
<ImageView android:layout_gravity="bottom" android:layout_width="fill_parent" android:layout_height="wrap_content" android:src="@drawable/status_bar_tracker" android:scaleType="fitXY" style="@style/Closer.bar" />
3. Download "JB-pressed-tracker.zip" from attachment below, and extract "status_bar_tracker.xml" to "/res/drawable/"
4. Open "/res/value/styles.xml" and add these code at the end of the file:
Code:
<style name="Closer.bar" parent="@android:style/Widget.Button">
<item name="android:gravity">center</item>
<item name="android:background">@drawable/status_bar_close_on</item>
<item name="android:clickable">true</item>
</style>
5. Now create a image in "/res/drawable-ldpi/" and name it "status_bar_close_pressed.png"
Examples:
"status_bar_close_on.png"
"status_bar_close_pressed.png"
Adding that little space between the notifications
Click to expand...
Click to collapse
1. Decompile "framework-res.apk"
2. Open "/res/layout/status_bar_latest_event.xml"
3. You'll see this:
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.server.status.LatestItemContainer android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="65.0sp"
xmlns:android="http://schemas.android.com/apk/res/android">
<com.android.server.status.LatestItemView android:id="@id/content" android:background="@drawable/status_bar_item_background" android:paddingRight="6.0sp" android:focusable="true" android:clickable="true" android:layout_width="fill_parent" android:layout_height="64.0sp" />
<View android:background="@drawable/something" android:layout_width="fill_parent" android:layout_height="1.0sp" />
</com.android.server.status.LatestItemContainer>
change it to this:
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.server.status.LatestItemContainer android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="68.0sp"
xmlns:android="http://schemas.android.com/apk/res/android">
<View android:background="@null" android:layout_width="fill_parent" android:layout_height="4.0sp" />
<com.android.server.status.LatestItemView android:id="@id/content" android:background="@drawable/status_bar_item_background" android:paddingRight="6.0sp" android:focusable="true" android:clickable="true" android:layout_width="fill_parent" android:layout_height="64.0sp" />
</com.android.server.status.LatestItemContainer>
Optional Customization
Click to expand...
Click to collapse
Moving Time and Date layout below the Toggle Buttons
Click to expand...
Click to collapse
If you've finish all the guide from the first post, then you should end up with something like this in "/res/layout/status_bar_expanded.xml":
Code:
<RelativeLayout android:orientation="horizontal" android:background="@color/tw_color002" android:layout_width="fill_parent" android:layout_height="47.0dip">
<LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true">
<com.android.server.status.StatusBarJellyHeaderView android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true">
<Button android:textColor="@*android:color/transparent" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_clear_all_button" style="@style/Btn.Clear" />
<View android:visibility="invisible" android:layout_width="1.0dip" android:layout_height="wrap_content" />
<ImageView android:layout_gravity="center_vertical" android:id="@id/settings_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_notify_quicksettings" android:contentDescription="@string/accessibility_settings_button" />
</LinearLayout>
</RelativeLayout>
<LinearLayout android:orientation="vertical" android:id="@id/quickpanel_container" android:layout_width="fill_parent" android:layout_height="wrap_content">
<LinearLayout android:orientation="horizontal" android:background="@drawable/status_bar_background" android:layout_width="fill_parent" android:layout_height="50.0dip" android:layout_weight="1.0">
<TextView android:textSize="0.0dip" android:textColor="@color/tw_color002" android:gravity="center" android:id="@id/quickpanel_wifi_btn" android:background="@null" android:paddingTop="1.0dip" android:paddingBottom="1.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawableTop="@drawable/quick_panel_icon_wifi_off" android:layout_weight="1.0" />
<TextView android:textSize="0.0dip" android:textColor="@color/tw_color002" android:gravity="center" android:id="@id/quickpanel_data_btn" android:background="@null" android:paddingTop="1.0dip" android:paddingBottom="1.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawableTop="@drawable/quick_panel_icon_data_off" android:layout_weight="1.0" />
<TextView android:textSize="0.0dip" android:textColor="@color/tw_color002" android:gravity="center" android:id="@id/quickpanel_bt_btn" android:background="@null" android:paddingTop="1.0dip" android:paddingBottom="1.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawableTop="@drawable/quick_panel_icon_bluetooth_off" android:layout_weight="1.0" />
<TextView android:textSize="0.0dip" android:textColor="@color/tw_color002" android:gravity="center" android:id="@id/quickpanel_gps_btn" android:background="@null" android:paddingTop="1.0dip" android:paddingBottom="1.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawableTop="@drawable/quick_panel_icon_gps_off" android:layout_weight="1.0" />
<TextView android:textSize="0.0dip" android:textColor="@color/tw_color002" android:gravity="center" android:id="@id/quickpanel_sound_btn" android:background="@null" android:paddingTop="1.0dip" android:paddingBottom="1.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawableTop="@drawable/quick_panel_icon_silent_off" android:layout_weight="1.0" android:soundEffectsEnabled="false" />
<TextView android:textSize="0.0dip" android:textColor="@color/tw_color002" android:gravity="center" android:id="@id/quickpanel_orientation_btn" android:background="@null" android:paddingTop="1.0dip" android:paddingBottom="1.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawableTop="@drawable/quick_panel_icon_orientation_off" android:layout_weight="1.0" />
</LinearLayout>
</LinearLayout>
Now, to move it below the Toggle Buttons, just move the whole "Relative Layout" below the "Linear Layout".
Code:
<LinearLayout android:orientation="vertical" android:id="@id/quickpanel_container" android:layout_width="fill_parent" android:layout_height="wrap_content">
<LinearLayout android:orientation="horizontal" android:background="@drawable/status_bar_background" android:layout_width="fill_parent" android:layout_height="50.0dip" android:layout_weight="1.0">
<TextView android:textSize="0.0dip" android:textColor="@color/tw_color002" android:gravity="center" android:id="@id/quickpanel_wifi_btn" android:background="@null" android:paddingTop="1.0dip" android:paddingBottom="1.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawableTop="@drawable/quick_panel_icon_wifi_off" android:layout_weight="1.0" />
<TextView android:textSize="0.0dip" android:textColor="@color/tw_color002" android:gravity="center" android:id="@id/quickpanel_data_btn" android:background="@null" android:paddingTop="1.0dip" android:paddingBottom="1.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawableTop="@drawable/quick_panel_icon_data_off" android:layout_weight="1.0" />
<TextView android:textSize="0.0dip" android:textColor="@color/tw_color002" android:gravity="center" android:id="@id/quickpanel_bt_btn" android:background="@null" android:paddingTop="1.0dip" android:paddingBottom="1.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawableTop="@drawable/quick_panel_icon_bluetooth_off" android:layout_weight="1.0" />
<TextView android:textSize="0.0dip" android:textColor="@color/tw_color002" android:gravity="center" android:id="@id/quickpanel_gps_btn" android:background="@null" android:paddingTop="1.0dip" android:paddingBottom="1.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawableTop="@drawable/quick_panel_icon_gps_off" android:layout_weight="1.0" />
<TextView android:textSize="0.0dip" android:textColor="@color/tw_color002" android:gravity="center" android:id="@id/quickpanel_sound_btn" android:background="@null" android:paddingTop="1.0dip" android:paddingBottom="1.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawableTop="@drawable/quick_panel_icon_silent_off" android:layout_weight="1.0" android:soundEffectsEnabled="false" />
<TextView android:textSize="0.0dip" android:textColor="@color/tw_color002" android:gravity="center" android:id="@id/quickpanel_orientation_btn" android:background="@null" android:paddingTop="1.0dip" android:paddingBottom="1.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawableTop="@drawable/quick_panel_icon_orientation_off" android:layout_weight="1.0" />
</LinearLayout>
</LinearLayout>
[B] <RelativeLayout android:orientation="horizontal" android:background="@color/tw_color002" android:layout_width="fill_parent" android:layout_height="47.0dip">
<LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true">
<com.android.server.status.StatusBarJellyHeaderView android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true">
<Button android:textColor="@*android:color/transparent" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_clear_all_button" style="@style/Btn.Clear" />
<View android:visibility="invisible" android:layout_width="1.0dip" android:layout_height="wrap_content" />
<ImageView android:layout_gravity="center_vertical" android:id="@id/settings_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_notify_quicksettings" android:contentDescription="@string/accessibility_settings_button" />
</LinearLayout>
</RelativeLayout>[/B]
Moving the Settings Shortcut Button to the right
Click to expand...
Click to collapse
If you follow the Settings Shortbut Button guide from the first post, you'll end up with this in "/res/layout/status_bar_expanded.xml":
Code:
<RelativeLayout android:orientation="horizontal" android:background="@color/tw_color002" android:layout_width="fill_parent" android:layout_height="47.0dip">
<LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true">
<com.android.server.status.StatusBarJellyHeaderView android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true">
<Button android:textColor="@*android:color/transparent" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_clear_all_button" style="@style/Btn.Clear" />
<View android:visibility="invisible" android:layout_width="1.0dip" android:layout_height="wrap_content" />
<ImageView android:layout_gravity="center_vertical" android:id="@id/settings_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_notify_quicksettings" android:contentDescription="@string/accessibility_settings_button" />
</LinearLayout>
</RelativeLayout>
To move it to the left (like in JB 4.1.x), just change it like the following:
Code:
<RelativeLayout android:orientation="horizontal" android:background="@color/tw_color002" android:layout_width="fill_parent" android:layout_height="47.0dip">
<LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true">
<com.android.server.status.StatusBarJellyHeaderView android:layout_width="wrap_content" android:layout_height="wrap_content" />
[B]<ImageView android:layout_gravity="center_vertical" android:id="@id/settings_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_notify_quicksettings" android:contentDescription="@string/accessibility_settings_button" /> [/B]
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true">
<Button android:textColor="@*android:color/transparent" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_clear_all_button" style="@style/Btn.Clear" />
</LinearLayout>
</RelativeLayout>
Note: If you're a developer or a themer, you can change it however you like. And if you find more optional tweaks, please feel free to post it here.
could you pls also post a short tut on how to decompile services.jar and twframework-res.apk
Arjav23 said:
could you pls also post a short tut on how to decompile services.jar and twframework-res.apk
Click to expand...
Click to collapse
Done!
Great work jason
Gonna implement this in pkh.
Everything ready
shwetanklal said:
Great work jason
Gonna implement this in pkh.
Click to expand...
Click to collapse
That would be fantastic
you read my mind!
good one jason puru.... nice guide
You Sir - are keeping this community alive! SUPER THANKS!
Update. Some short guides for optional customization
noob here. i am not able to decompile jar. its showing some error.
srgudhka said:
noob here. i am not able to decompile jar. its showing some error.
Click to expand...
Click to collapse
Put your Smali/Baksmali de-compiler and compiler with "services.jar", then in command prompt, type:
cd\
cd /directory/
java -jar baksmali.jar -x services.jar -o out
You shouldn't get any problem.
i did just that... gonna try everything again.
again. it saying unexpected top level exception. zip file services.jar does not contain dex file.
srgudhka said:
i did just that... gonna try everything again.
again. it saying unexpected top level exception. zip file services.jar does not contain dex file.
Click to expand...
Click to collapse
Every services.jar has a classes.dex in it.
EDIT: You have to install Java JDK
Jason-EX said:
Every services.jar has a classes.dex in it.
EDIT: You have to install Java JDK
Click to expand...
Click to collapse
i already had that installed. am getting still same errors.
srgudhka said:
i already had that installed. am getting still same errors.
Click to expand...
Click to collapse
Alright, check this one: http://www.youtube.com/watch?v=9h8kzHTp6fA
there is not classes.dex inside services.jar.
srgudhka said:
there is not classes.dex inside services.jar.
Click to expand...
Click to collapse
which rom are you using? and from where did you get the service.jar?

[GUIDE][MOD][SYSTEMUI] How to add 0.00KB/s meter on statusbar GB/ICS/JB 10-08-2013

{
"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"
}
UPDATE NEW SMALI FILES AND LINES ON 2ND POST *TEST AND WORK ON FROYO ROM, GB ROM & MTK DEVICE
I just wanna share how to add speed meter (0.00k/s) data on statusbar simple and fastway
1.Basic knowledge how to compile/decompile using Apktool/Apkmanager/
Tickle My Android(I try it and so easy) Credits to Ticklefish
2.Brain and brave :laugh:
MOD LIST
@[STRIKE]Dzol Cp[/STRIKE] @Ticklefish *IF HE'S NOT BUSY
- *please pm/ed your name to me if you interested being an X-Mod in this thread.
Method :
-Download smali.zip attachment and extract it
-Decompile your SystemUI.apk
-In your smali,,copy/paste extract file
systemUi/smali/here = smali/fx/heriawan
-Then go to res/layout/status_bar.xml and add this line (copy from here)
Code:
<fx.heriawan.Kecepatan android:textAppearance="@style/TextAppearance.StatusBar.Kecil" android:gravity="left|center" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
-Example
Code:
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Kecil" android:gravity="center" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
<LinearLayout android:gravity="right|center" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" android:layout_alignParentRight="true">
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
<ImageView android:layout_gravity="center_vertical" android:id="@id/stat_no_sim" android:paddingLeft="4.0dip" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" />
[COLOR="Red"]<fx.heriawan.Kecepatan android:textAppearance="@style/TextAppearance.StatusBar.Kecil" android:gravity="left|center" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />[/COLOR]
<LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="1.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" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
-Save and close file.
-Then open res/values/styles.xml
edit this at the end of line or you can copy/paste from here
Code:
<style name="TextAppearance.StatusBar.Kecil" parent="@style/TextAppearance.StatusBar.Clock">
<item name="android:textSize">14.0dip</item>
<item name="android:textColor">#ffffffff</item>
</style>
</resources>
-Save and close file.
-Recompile back your SystemUi.apk..
-And let me know the result :good:
Status_bar.xml for SCREENSHOT
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:orientation="horizontal" android:id="@id/icons" android:paddingLeft="3.0dip" android:paddingRight="3.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0">
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Kecil" android:layout_gravity="left|center" android:id="@id/battery_text" android:paddingLeft="3.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_settings_settings_button" android:singleLine="true" style="@style/StatusBarNotificationText" />
<ImageView android:layout_gravity="center_vertical" android:id="@id/battery" android:paddingLeft="3.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" />
<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>
<DigitalClock android:textAppearance="@style/TextAppearance.StatusBar.Kecil" android:gravity="center" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
<LinearLayout android:gravity="right|center" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" android:layout_alignParentRight="true">
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
<ImageView android:layout_gravity="center_vertical" android:id="@id/stat_no_sim" android:paddingLeft="4.0dip" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" />
[COLOR="Red"]<fx.heriawan.Kecepatan android:textAppearance="@style/TextAppearance.StatusBar.Kecil" android:gravity="left|center" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />[/COLOR]
<LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="1.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" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:id="@id/ticker" 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>
CREDITS TO : REPENCIS For his 0.00k/s smali files
CREDITS TO : ROMWIZ For his nice video tutorial
CREDITS TO : TICKLEFISH For his AWESOME Tools
CREDITS TO : SANJAY KUMAR For his FROYO tutorial
CREDITS TO : BLUE SHARKY For his fix SystemUI FC's tutorial
CREDITS TO : SIEUAN For MTK Devices mod
CREDITS TO : TABOO5200 For latest version - Modified smali's
Not modded for any user anymore *Can check with @Ticklefish Please include your device name and android version if you want Me to Re-Mod your SystemUI
*Try to upload here via XDA attachment uploader and not to link to any download server out of XDA unless there is no more option
New Smali files/lines
NEW SMALI FILES AND LINES
This new smali will show the KB/s meter only appear when you have data or wifi connection
NEW VERSION *MODIFIED SMALI'S - TEST ONLY ON GB
http://forum.xda-developers.com/showpost.php?p=48333101&postcount=793
FOR FROYO ROM
http://forum.xda-developers.com/showthread.php?t=2400335
FOR GB ROM
http://forum.xda-developers.com/showpost.php?p=44893138&postcount=191
FOR MTK DEVICE
http://forum.xda-developers.com/showpost.php?p=45963193&postcount=682
FIX FC FOR JB
http://forum.xda-developers.com/showpost.php?p=45710770&postcount=636
Copy this line to res/layout/status_bar.xml
Code:
<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" />
this line to add in res/values/ids.xml
Code:
<item type="id" name="traffic">false</item>
and this one as usual res/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>
Status_bar.xml for SCREENSHOT
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.phone.PhoneStatusBarView android:orientation="vertical" android:background="@drawable/status_bar_custom_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">
<ViewFlipper android:id="@id/status_bar_flipper" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">
<RelativeLayout 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="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" android:layout_alignParentLeft="true">
<ImageView android:gravity="right|center" android:id="@id/battery" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Traffic" android:layout_gravity="left|center" android:id="@id/battery_text" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_settings_settings_button" android:singleLine="true" style="@style/StatusBarNotificationText" />
<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" />
</LinearLayout>
</LinearLayout>
<DigitalClock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="center" android:id="@id/center_clock" android:layout_width="fill_parent" android:layout_height="fill_parent" android:singleLine="true" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" />
<RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" android:layout_alignParentRight="true">
<LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentRight="true">
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
<ImageView android:layout_gravity="center_vertical" android:id="@id/stat_no_sim" android:paddingLeft="4.0dip" android:visibility="gone" 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">
[COLOR="Blue"] <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" /> [/COLOR]
<include android:id="@id/signal_cluster" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/signal_cluster_view" />
</LinearLayout>
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="left|center" android:id="@id/clock" android:paddingLeft="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
</LinearLayout>
</RelativeLayout>
</RelativeLayout>
<LinearLayout android:orientation="horizontal" android:id="@id/ticker" 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>
</LinearLayout>
<RelativeLayout android:layout_width="fill_parent" android:layout_height="@*android:dimen/status_bar_height" android:layout_alignParentLeft="true">
<DigitalClock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="left|center" android:paddingLeft="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
<LinearLayout android:gravity="right|center" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentRight="true">
<com.serajr.dataspeedmeter.DataSpeedMeter android:textAppearance="@style/TextAppearance.StatusBar.Traffic" android:gravity="center" android:id="@id/data_speed_meter" android:layout_width="wrap_content" android:layout_height="fill_parent" />
<View android:layout_width="8.0dip" android:layout_height="fill_parent" />
<include android:id="@id/signal_cluster_2" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/signal_cluster_view" />
<View android:layout_width="4.0dip" android:layout_height="fill_parent" />
</LinearLayout>
</RelativeLayout>
</ViewFlipper>
</com.android.systemui.statusbar.phone.PhoneStatusBarView>
biopsin said:
New smali : Works even better, no more traffic spam in catlog..excellent work!
Click to expand...
Click to collapse
copy the smali files to this
smali/com/android/systemui/statusbar/policy/here[/SIZE]
*Please include your device name and android version if you want Me to Re-Mod your SystemUI
*Try to upload here via XDA attachment uploader and not to link to any download server out of XDA unless there is no more option
Ticklefish said:
Yup, that's pretty much it.
framework-res.apk is what I call a "resource apk". It contains information that is needed to be able to decompile certain system apk's.
To make matters more confusing, the creator of apktool (the tool used by most people to decompile apk files) calls these sort of files "framework apk's".
Hopefully you'll start experimenting with decompiling apk's yourself before too long and you'll understand what this is all about. I was a newbie when I registered here and none of this made any sense to me at all! But keep with it, and it will all become second nature to you.
Click to expand...
Click to collapse
Re: [MOD][TUT] How to add 0.00k/s meter on statusbar ICS/JB
Lol funny i was just going to start à thread asking how todo that thanks alot will try it soon!
Btw do you know how to add cpu usage on statusbar?
Envoyé depuis mon SK17i
better tutorial please not everyone is developer or programer :/
thank you
Thanks. That works.
View attachment 1837281
Anyone can add cwm zip add 0.00k/s meter on statusbar
Upload your SystemUI.apk here,,maybe i can help
dhana999 said:
Anyone can add cwm zip add 0.00k/s meter on statusbar
Click to expand...
Click to collapse
dzolcp said:
Upload your SystemUI.apk here,,maybe i can help
Click to expand...
Click to collapse
Here please..
dzolcp said:
Upload your SystemUI.apk here,,maybe i can help
Click to expand...
Click to collapse
This is my SystemUI plz help me bro
I only have status_bar.xml into layout folder and there is no such line as
Code:
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Kecil" android:gravity="center" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
<LinearLayout android:gravity="right|center" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" android:layout_alignParentRight="true">
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
<ImageView android:layout_gravity="center_vertical" android:id="@id/stat_no_sim" android:paddingLeft="4.0dip" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="1.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" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
Diaz1999 said:
Here please..
Click to expand...
Click to collapse
Im so sorry Master 3 types apktool and all k/s mod i try and all give me an error :blur:
my suggest to try from here :
http://forum.xda-developers.com/showthread.php?t=2129247
dhana999 said:
This is my SystemUI plz help me bro
Click to expand...
Click to collapse
Here you go Master
http://www.mediafire.com/?4p6rstamyk3pfns
jokamaciek said:
I only have status_bar.xml into layout folder and there is no such line as
Code:
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Kecil" android:gravity="center" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
<LinearLayout android:gravity="right|center" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" android:layout_alignParentRight="true">
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
<ImageView android:layout_gravity="center_vertical" android:id="@id/stat_no_sim" android:paddingLeft="4.0dip" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="1.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" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
Click to expand...
Click to collapse
Upload your SystemUI.apk here and i'l give a try
Here you go Master
http://www.mediafire.com/?4p6rstamyk3pfns
Thanks :good:
Would be better if would only appear when data/wifi is turned ON..
Thanks anyways..
Re: [MOD][TUT] How to add 0.00k/s meter on statusbar ICS/JB
Hello
Run on Xperia z
Tks
Xperia Tapatalked
Re: [MOD][TUT] How to add 0.00k/s meter on statusbar ICS/JB
You can share your systemui.apk? The one in the picture? This very good! Please
Google translator xD
Enviado Desde Mi Live with Walkman
Here you go Brov!! :good:
http://www.mediafire.com/?9678v0t28d8ec2s
Some more Mod by me
http://forum.xda-developers.com/showthread.php?t=2129247
joznathan said:
You can share your systemui.apk? The one in the picture? This very good! Please
Google translator xD
Enviado Desde Mi Live with Walkman
Click to expand...
Click to collapse
Sorry little bit out of topic..how to port from mdpi to hdpi ???
Re: [MOD][TUT] How to add 0.00k/s meter on statusbar ICS/JB
b1716tl said:
Sorry little bit out of topic..how to port from mdpi to hdpi ???
Click to expand...
Click to collapse
If you using mdpi app to hdpi phones, that's OK
And if you using hdpi app to mdpi phones, that might buggy like my Timescape
via XDA for Timescape™
Tried, failed
Compiles the application very well, but doesnot start the SystemUI after reboot..
Uploading my systemUI, please do the need full, or tell me where I am wrong...
Please..please....create a tutorial how to make 5 osb icon like this :fingers-crossed:

[MOD][GUIDE] How to Add Carrier Label in Statusbar

This guide is for adding Carrier Label in Statusbar, inspired by Motorola Moto X and HTC First
{
"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"
}
Click to expand...
Click to collapse
Don't know how to decompile? You can ask me to build your SystemUI :good:
Things you will need
PC or Laptop
apktool, zipalign and others
WinRAR or WinZip
Notepad++
Patience!
Click to expand...
Click to collapse
So, lets begin..
INSTALLING APKTOOL AND OTHER TOOLS
STEP 1
You must install apktool to your PC from HERE and other tools HERE
Extract it to a same directory same as the screenshot below
Then, copy cmd from Windows/System32 Directory (ex. C:\Windows\System32) and move it your apktool directory​
STEP 2
Download zipalign from HERE, move it to Windows Directory (ex. C:\Windows)​
GUIDE FOR ADDING CARRIER LABEL TO STATUSBAR
STEP 1
Before continuing, please MAKE SURE your apktool version is v1.5.2 or lower. Newer version of apktool will gives you error! See here
Copy your framework-res.apk from system/framework and SystemUI.apk from /system/app/ (/system/priv-app/ For KK-Based) then place it in your apktool directory​
STEP 2
Open cmd in your apktool directory, type
Code:
apktool if framework-res.apk
and
Code:
apktool if SystemUI.apk
then
Code:
apktool d SystemUI.apk
STEP 3
Go to SystemUI\res\layout\
Open status_bar.xml with Notepad++
Go to this
For ICS-Based SystemUI
Code:
<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" />
For JB-Based SystemUI
Code:
<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">
<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" />
For JB-4.2/4.3-Based SystemUI
Code:
<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">
<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" />
For KK-Based SystemUI
Code:
<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">
<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" />
add this between those line
Code:
<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" />
so it will look like this
For ICS-Based
Code:
<LinearLayout android:orientation="horizontal" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">
<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" />
<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" />
For JB-Based
Code:
<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">
<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" />
<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" />
For JB-4.2/4.3-Based
Code:
<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">
<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" />
<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" />
For KK-Based
Code:
<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">
<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" />
<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" />
and save​
STEP 4
For JB-Based, Go to SystemUI\res\layout\
Open status_bar_expanded_header.xml with Notepad++
Go to this
Code:
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" [COLOR="red"]android:background="@drawable/notification_header_bg"[/COLOR] android:layout_width="fill_parent" android:layout_height="wrap_content" android:baselineAligned="false"
change to
Code:
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" [COLOR="Red"]android:background="#ff000000"[/COLOR] android:layout_width="fill_parent" android:layout_height="wrap_content" android:baselineAligned="false"
and save​
STEP 5
Download this, place to the correct location on your compiled SystemUI​
STEP 6
Open cmd in your apktool directory, type
Code:
apktool b SystemUI al.apk
then open al.apk and SystemUI.apk with WinRAR, drag META-INF folder and AndroidManifest.xml from SystemUI.apk to al.apk same as the screenshot below, when it ask to compress click OK​
STEP 7
Open cmd in your apktool directory, type
Code:
zipalign -v 4 al.apk SystemUImod.apk
STEP 8
Move your SystemUImod.apk to your phone, rename to SystemUI.apk, move it to /system/app/ (/system/priv-app/ For KK-Based) and change permission to rw-r--r--
Then reboot​
reserved
CARRIER LABEL BEHAVIOR
CarrierLabel (for desired your custom color for Carrier Label, but if you using CM theme that changing your Clock's color to red, then CarrierLabel color will NOT changing (still white/holo_blue_light)
Clock (for following Clock's color, so if you using CM theme that changing your Clock's color to red, then Carrier Label color will turn to red too)
Click to expand...
Click to collapse
COLOR
holo_blue_light (for Holo Blue ex. Motorola Moto X Carrier Label on post #1)
white (for White ex. HTC First Carrier Label on post #1)
Click to expand...
Click to collapse
CREDITS TO
@Adi Aisiteru Reborn for his original guide here​[/CENTER]
Hmmm...nice guide my friends....
just one questions, is it possible to make the carrier label temporary disappear then a notification appear???
if you look closely, the status bar will stack up with a lot on icon if the the carrier label doesn't disappear and it will become more worse if they use center clock on their status bar....
@Adi Aisiteru Reborn, there's a question from another member, from my device forum, here's the question
iPusak Gaoq™ said:
Hmmm...nice guide my friends....
just one questions, is it possible to make the carrier label temporary disappear then a notification appear???
if you look closely, the status bar will stack up with a lot on icon if the the carrier label doesn't disappear and it will become more worse if they use center clock on their status bar....
Click to expand...
Click to collapse
Actually he's right. I'm not using Center Clock, but my Status Bar nearly full
(Vodafone in Indonesia lolz )
Are it's possible to make Carrier Label gone if there's a ongoing or unopened notification(s)?
Sent from my cm-10.1.2-coconut using Tapatalk 4 Beta
Diaz1999 said:
@Adi Aisiteru Reborn, there's a question from another member, from my device forum, here's the question
Actually he's right. I'm not using Center Clock, but my Status Bar nearly full
(Vodafone in Indonesia lolz )
Are it's possible to make Carrier Label gone if there's a ongoing or unopened notification(s)?
Sent from my cm-10.1.2-coconut using Tapatalk 4 Beta
Click to expand...
Click to collapse
good idea, but don't know yet where to start,. it can be improving smali code,.
Few links here worth reading - http://forum.xda-developers.com/showthread.php?t=1566639
Diaz1999 said:
@Adi Aisiteru Reborn, there's a question from another member, from my device forum, here's the question
Actually he's right. I'm not using Center Clock, but my Status Bar nearly full
(Vodafone in Indonesia lolz )
Are it's possible to make Carrier Label gone if there's a ongoing or unopened notification(s)?
Sent from my cm-10.1.2-coconut using Tapatalk 4 Beta
Click to expand...
Click to collapse
Hmm.. Yeah, it should be.
In fact, now that I think about it, it should be pretty simple.
I'll do some experimenting and I'll get back to you. It won't be today, sadly, because I'm not near a pc but it'll be the next few days for sure.
Sent from my Xperia Z using XDA Premium
..Have you tried Tickle My Android yet?
So, this is how we can have the carrier label and our notification icons, without it all taking up too much room. We want the carrier label to be on the left side of the statusbar, but to vanish when a notification comes in.
This is the code for the stock ICS statusbar, with the carrier label added:
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:orientation="horizontal" android:id="@id/icons" android:paddingLeft="6.0dip" android:paddingRight="6.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.systemui.statusbar.phone.CarrierLabel android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="left|center" android:id="@id/carrier_label" android:layout_width="wrap_content" 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:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:visibility="gone" android:src="@drawable/stat_notify_more" />
<com.android.systemui.statusbar.phone.IconMerger android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_vertical" android:layout_alignParentLeft="true" />
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" android:gravity="center_vertical" />
<ImageView android:id="@id/stat_no_sim" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="gone" android:layout_gravity="center_vertical" />
<LinearLayout android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:gravity="center">
<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="8.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
<com.android.systemui.statusbar.policy.Clock android:id="@id/clock" android:paddingLeft="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:gravity="left|center" android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:singleLine="true" />
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:id="@id/ticker" android:paddingLeft="6.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent" android:animationCache="false">
<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:paddingRight="10.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0" android:paddingTop="2.0dip">
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:singleLine="true" />
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:singleLine="true" />
</com.android.systemui.statusbar.phone.TickerView>
</LinearLayout>
</com.android.systemui.statusbar.phone.PhoneStatusBarView>
Without going into too much detail the statusbar basically consists of two horizontal LinearLayouts, one on top of the other.
The first LinearLayout, which is the full width of the statusbar, contains all our notification icons, status icons, signal icons, clock and so on. In the above code, it's called the '@id/icons' LinearLayout.
The second LinearLayout, which is also the full width of the statusbar, contains our notification text. This is what we see when a notification arrives. This is called the '@id/ticker' LinearLayout. (In case you were wondering, this is a reference to tickertape.)
Normally the ticker layout is empty because, although you may have uncleared notifications, you're not getting one all the time. When you do get a notification, the layout stops being empty and now contains icons and text for a second or two. During this time, the icons layout is pushed upwards, effectively making it disappear off the top of the screen.
To make our carrier label disappear once there's at least one notification icon to display, all we need to do is basically do the same thing.
So, this bit of code here goes from:
Code:
<com.android.systemui.statusbar.phone.CarrierLabel android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="left|center" android:id="@id/carrier_label" android:layout_width="wrap_content" 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:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:visibility="gone" android:src="@drawable/stat_notify_more" />
<com.android.systemui.statusbar.phone.IconMerger android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_vertical" android:layout_alignParentLeft="true" />
</LinearLayout>
to:
Code:
<LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="fill_parent"
<com.android.systemui.statusbar.phone.CarrierLabel android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="left|center" android:id="@id/carrier_label" android:layout_width="wrap_content" 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:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:visibility="gone" android:src="@drawable/stat_notify_more" />
<com.android.systemui.statusbar.phone.IconMerger android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_vertical" android:layout_alignParentLeft="true" />
</LinearLayout>
</LinearLayout>
Now, here's the catch. This is untested. I can't currently test this on my phone as it's too heavily modified and I don't have the stock SystemUI.apk anymore.
So it's up to you to try it out. Give it a whirl, see what happens and let me know...but make sure to always make a backup!
Ticklefish said:
So, this is how we can have the carrier label and our notification icons, without it all taking up too much room. We want the carrier label to be on the left side of the statusbar, but to vanish when a notification comes in.
This is the code for the stock ICS statusbar, with the carrier label added:
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:orientation="horizontal" android:id="@id/icons" android:paddingLeft="6.0dip" android:paddingRight="6.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.systemui.statusbar.phone.CarrierLabel android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="left|center" android:id="@id/carrier_label" android:layout_width="wrap_content" 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:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:visibility="gone" android:src="@drawable/stat_notify_more" />
<com.android.systemui.statusbar.phone.IconMerger android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_vertical" android:layout_alignParentLeft="true" />
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" android:gravity="center_vertical" />
<ImageView android:id="@id/stat_no_sim" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="gone" android:layout_gravity="center_vertical" />
<LinearLayout android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:gravity="center">
<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="8.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
<com.android.systemui.statusbar.policy.Clock android:id="@id/clock" android:paddingLeft="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:gravity="left|center" android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:singleLine="true" />
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:id="@id/ticker" android:paddingLeft="6.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent" android:animationCache="false">
<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:paddingRight="10.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0" android:paddingTop="2.0dip">
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:singleLine="true" />
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:singleLine="true" />
</com.android.systemui.statusbar.phone.TickerView>
</LinearLayout>
</com.android.systemui.statusbar.phone.PhoneStatusBarView>
Without going into too much detail the statusbar basically consists of two horizontal LinearLayouts, one on top of the other.
The first LinearLayout, which is the full width of the statusbar, contains all our notification icons, status icons, signal icons, clock and so on. In the above code, it's called the '@id/icons' LinearLayout.
The second LinearLayout, which is also the full width of the statusbar, contains our notification text. This is what we see when a notification arrives. This is called the '@id/ticker' LinearLayout. (In case you were wondering, this is a reference to tickertape.)
Normally the ticker layout is empty because, although you may have uncleared notifications, you're not getting one all the time. When you do get a notification, the layout stops being empty and now contains icons and text for a second or two. During this time, the icons layout is pushed upwards, effectively making it disappear off the top of the screen.
To make our carrier label disappear once there's at least one notification icon to display, all we need to do is basically do the same thing.
So, this bit of code here goes from:
Code:
<com.android.systemui.statusbar.phone.CarrierLabel android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="left|center" android:id="@id/carrier_label" android:layout_width="wrap_content" 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:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:visibility="gone" android:src="@drawable/stat_notify_more" />
<com.android.systemui.statusbar.phone.IconMerger android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_vertical" android:layout_alignParentLeft="true" />
</LinearLayout>
to:
Code:
<LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="fill_parent"
<com.android.systemui.statusbar.phone.CarrierLabel android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="left|center" android:id="@id/carrier_label" android:layout_width="wrap_content" 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:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:visibility="gone" android:src="@drawable/stat_notify_more" />
<com.android.systemui.statusbar.phone.IconMerger android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_vertical" android:layout_alignParentLeft="true" />
</LinearLayout>
</LinearLayout>
Now, here's the catch. This is untested. I can't currently test this on my phone as it's too heavily modified and I don't have the stock SystemUI.apk anymore.
So it's up to you to try it out. Give it a whirl, see what happens and let me know...but make sure to always make a backup!
Click to expand...
Click to collapse
Could you upload pics, carrier label with notifications working?
Enviado desde mi Nexus 7 usando Tapatalk 4 Beta
hi,
@op is it possible for you to add this mod to my system ui? in withe please
i only have pc on work, and i can not use it to personal works...
my phone is a neo v, with darkrom (cm 10.1 legacyxperia based)
i leave a link to my systemui and framework https://app.box.com/s/awblj9kf7kd40dzrdsxm
many thanks
AF_624 said:
hi,
@op is it possible for you to add this mod to my system ui? in withe please
i only have pc on work, and i can not use it to personal works...
my phone is a neo v, with darkrom (cm 10.1 legacyxperia based)
i leave a link to my systemui and framework https://app.box.com/s/awblj9kf7kd40dzrdsxm
many thanks
Click to expand...
Click to collapse
OK, give me some minutes to work
Sent from my cm-10.1.2-coconut using Tapatalk 4 Beta
AF_624 said:
hi,
@op is it possible for you to add this mod to my system ui? in withe please
i only have pc on work, and i can not use it to personal works...
my phone is a neo v, with darkrom (cm 10.1 legacyxperia based)
i leave a link to my systemui and framework https://app.box.com/s/awblj9kf7kd40dzrdsxm
many thanks
Click to expand...
Click to collapse
Done.
Here your SystemUI, download at the attachment
one is holo_blue_light Carrier Label
and another is white Carrier Label
Hmmm...i got another challenge for you guys :fingers-crossed:
this is for CM base roms that use CM Themes....is it possible to auto change the carrier label color matching the color in CM Themes??? it would be nice if the carrier label color change after we change our phone themes.... lets take an example HueRed Themes in Hue Themes By Kroz....all color in the status bar are red...so if the carrier label color auto change to match the themes color, it be perfect right???
iPusak Gaoq™ said:
Hmmm...i got another challenge for you guys :fingers-crossed:
this is for CM base roms that use CM Themes....is it possible to auto change the carrier label color matching the color in CM Themes??? it would be nice if the carrier label color change after we change our phone themes.... lets take an example HueRed Themes in Hue Themes By Kroz....all color in the status bar are red...so if the carrier label color auto change to match the themes color, it be perfect right???
Click to expand...
Click to collapse
Decompile yours, Go to /res/layout/
Open status_bar.xml
Search this line
Code:
android:textAppearance="@style/TextAppearance.StatusBar.[COLOR="Red"]CarrierLabel[/COLOR]"
change to
Code:
android:textAppearance="@style/TextAppearance.StatusBar.[COLOR="Red"]Clock[/COLOR]"
and erase all this inside /res/values/
styles.xml
Code:
[COLOR="Red"] <style name="TextAppearance.StatusBar.CarrierLabel" parent="@*android:style/TextAppearance.StatusBar.Icon">
<item name="android:textSize">16.0dip</item>
<item name="android:textStyle">normal</item>
<item name="android:textColor">@*android:color/(for color; look at [URL="http://forum.xda-developers.com/showpost.php?p=43996483&postcount=4"][COLOR="Black"]post #4[/COLOR][/URL])</item>
</style>[/COLOR]
Then Carrier Label will follow your Clock's colour
Diaz1999 said:
Done.
Here your SystemUI, download at the attachment
one is holo_blue_light Carrier Label
and another is white Carrier Label
Click to expand...
Click to collapse
thanks bro, it works really nice
Sent from my Xperia Neo V using Tapatalk 2
Mod Help
Hello @Diaz1999,
Could you make me the status bar mod to my SystemUI.apk? I don't want to do it myself as I know I'm going to mess up something. If you would want to help me, I would like it in blue, just like the Moto X. Anyway, I hope you can help me. My email is https :// www . dropbox . com /s/ k4gpygje0su4mss/ SystemUI.apk (no spaces). Thanks!
williamgravel2000 said:
Hello @Diaz1999,
Could you make me the status bar mod to my SystemUI.apk? I don't want to do it myself as I know I'm going to mess up something. If you would want to help me, I would like it in blue, just like the Moto X. Anyway, I hope you can help me. My email is https :// www . dropbox . com /s/ k4gpygje0su4mss/ SystemUI.apk (no spaces). Thanks!
Click to expand...
Click to collapse
In progress, tomorrow will be uploaded
Will try tonight!!! good post as always

Categories

Resources