[MOD]BatteryMod | Changeable Position

Search This thread

AuliaYF

Senior Member
Jun 7, 2013
236
203
26
Bekasi, Indonesia
icon.png

Hi guys! It's been a long time. Now i present you my new mod called 'BatteryMod'. What is it? It will replace your current battery icon to my circle battery icon(oh yeah i made that icon by myself). And you can change the position left/right.
What to do?
1. Modding SystemUI
2. Install my app.

Step 1. Modding SystemUI
1. Download the attachment below.
2. Extract drawable folder into SystemUI folder.
3. Compile your SystemUI.
4. And Decompile your new compiled SystemUI.
5. Open public.xml, search for 'batt' & 'batt_charge'. Remember the public value!
6. Extract smali folder into SystemUI folder.
7. Open ucup.tech.batteryicon.BatteryIcon$1.smali, scroll down.
8. Replace '0x7f02009d' into your batt_charge's public value.
9. Replace '0x7f02009c' into your batt's public value.
10. Open your status_bar.xml(this will remove the clock.)
11. Replace the lines inside the first LinearLayout(id: icons) with this
Code:
<ucup.tech.batteryicon.StatusBarLayout android:layout_width="fill_parent" android:layout_height="fill_parent">
	<ucup.tech.batteryicon.BatteryIcon android:id="@id/battIcon" android:gravity="center_vertical" android:layout_width="18.5px" android:layout_height="18.5px" />
	<com.android.systemui.statusbar.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:paddingLeft="6.0dip" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0" />
	<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
</ucup.tech.batteryicon.StatusBarLayout>
12. Register the 'battIcon' in your ids.xml and public.xml(this time you don't need to remember the public values)
13. Open your com.android.systemui.statusbar.policy.StatusBarPolicy(this will remove the EDT's battery mod)
14. Replace the updateBattery method with mine.
Code:
.method private final updateBattery(Landroid/content/Intent;)V
    .locals 13
    .parameter "intent"

    .prologue
    const/4 v11, 0x3

    const/4 v10, 0x1

    const/4 v9, 0x0

    const-string v8, "level"

    const-string v12, "alarm"

    .line 633
    const-string v6, "icon-small"

    invoke-virtual {p1, v6, v9}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I

    move-result v2

    .line 634
    .local v2, id:I
    const-string v6, "level"

    invoke-virtual {p1, v8, v9}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I

    move-result v3

    .line 635
    .local v3, level:I
    iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mService:Landroid/app/StatusBarManager;

    const-string v7, "battery"

    invoke-virtual {v6, v7, v2, v3}, Landroid/app/StatusBarManager;->setIcon(Ljava/lang/String;II)V

    [COLOR="Lime"]const v2, 0x0

    invoke-virtual {v6, v7, v2}, Landroid/app/StatusBarManager;->setIconVisibility(Ljava/lang/String;Z)V[/COLOR]

    .line 637
    const-string v6, "plugged"

    invoke-virtual {p1, v6, v9}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I

    move-result v6

    if-eqz v6, :cond_4

    move v5, v10

    .line 638
    .local v5, plugged:Z
    :goto_0
    const-string v6, "level"

    const/4 v6, -0x1

    invoke-virtual {p1, v8, v6}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I

    move-result v3

    .line 647
    iget-boolean v4, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mBatteryPlugged:Z

    .line 649
    .local v4, oldPlugged:Z
    iput-boolean v5, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mBatteryPlugged:Z

    .line 650
    iput v3, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mBatteryLevel:I

    .line 652
    iget-boolean v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mBatteryFirst:Z

    if-eqz v6, :cond_0

    .line 653
    iput-boolean v9, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mBatteryFirst:Z

    .line 667
    :cond_0
    iput-object p1, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIntent:Landroid/content/Intent;

    .line 669
    const-string v6, "status"

    invoke-virtual {p1, v6, v10}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I

    move-result v1

    .line 670
    .local v1, batteryStatus:I
    const-string v6, "health"

    invoke-virtual {p1, v6, v10}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I

    move-result v0

    .line 671
    .local v0, batteryHealth:I
    const-string v6, "StatusBarPolicy"

    new-instance v7, Ljava/lang/StringBuilder;

    invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V

    const-string v8, "BAT. S:"

    invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v7

    invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v7

    const-string v8, " H:"

    invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v7

    invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v7

    invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v7

    invoke-static {v6, v7}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I

    .line 673
    if-ne v1, v11, :cond_5

    .line 674
    iget-boolean v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsDisCharged:Z

    if-eqz v6, :cond_2

    .line 675
    iput-boolean v9, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsDisCharged:Z

    .line 676
    iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mDisChargeDialog:Landroid/app/AlertDialog;

    if-eqz v6, :cond_1

    .line 677
    iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mDisChargeDialog:Landroid/app/AlertDialog;

    invoke-virtual {v6}, Landroid/app/AlertDialog;->dismiss()V

    .line 680
    :cond_1
    iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mBattIntent:Landroid/app/PendingIntent;

    if-eqz v6, :cond_2

    .line 681
    iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mContext:Landroid/content/Context;

    const-string v7, "alarm"

    invoke-virtual {v6, v12}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v6

    check-cast v6, Landroid/app/AlarmManager;

    iget-object v7, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mBattIntent:Landroid/app/PendingIntent;

    invoke-virtual {v6, v7}, Landroid/app/AlarmManager;->cancel(Landroid/app/PendingIntent;)V

    .line 685
    :cond_2
    iget-boolean v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsFullCharged:Z

    if-eqz v6, :cond_3

    .line 686
    iput-boolean v9, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsFullCharged:Z

    .line 687
    invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->removeFullChargeNotification()V

    .line 717
    :cond_3
    :goto_1
    return-void

    .end local v0           #batteryHealth:I
    .end local v1           #batteryStatus:I
    .end local v4           #oldPlugged:Z
    .end local v5           #plugged:Z
    :cond_4
    move v5, v9

    .line 637
    goto :goto_0

    .line 690
    .restart local v0       #batteryHealth:I
    .restart local v1       #batteryStatus:I
    .restart local v4       #oldPlugged:Z
    .restart local v5       #plugged:Z
    :cond_5
    const/4 v6, 0x4

    if-ne v1, v6, :cond_8

    .line 691
    if-eq v0, v11, :cond_6

    const/4 v6, 0x7

    if-ne v0, v6, :cond_3

    .line 693
    :cond_6
    iget-boolean v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsDisCharged:Z

    if-nez v6, :cond_7

    iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mDisChargeDialog:Landroid/app/AlertDialog;

    if-nez v6, :cond_7

    .line 694
    iget-boolean v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsDisCharged:Z

    invoke-direct {p0, v6}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->showDisChargePopup(Z)V

    .line 696
    :cond_7
    iput-boolean v10, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsDisCharged:Z

    goto :goto_1

    .line 699
    :cond_8
    const/4 v6, 0x5

    if-ne v1, v6, :cond_9

    .line 700
    iget-boolean v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsFullCharged:Z

    if-nez v6, :cond_3

    .line 701
    iput-boolean v10, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsFullCharged:Z

    .line 702
    invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->addFullChargeNotification()V

    goto :goto_1

    .line 705
    :cond_9
    iget-boolean v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsDisCharged:Z

    if-eqz v6, :cond_3

    const/4 v6, 0x2

    if-ne v0, v6, :cond_3

    .line 706
    iput-boolean v9, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsDisCharged:Z

    .line 708
    iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mDisChargeDialog:Landroid/app/AlertDialog;

    if-eqz v6, :cond_a

    .line 709
    iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mDisChargeDialog:Landroid/app/AlertDialog;

    invoke-virtual {v6}, Landroid/app/AlertDialog;->dismiss()V

    .line 712
    :cond_a
    iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mBattIntent:Landroid/app/PendingIntent;

    if-eqz v6, :cond_3

    .line 713
    iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mContext:Landroid/content/Context;

    const-string v7, "alarm"

    invoke-virtual {v6, v12}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v6

    check-cast v6, Landroid/app/AlarmManager;

    iget-object v7, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mBattIntent:Landroid/app/PendingIntent;

    invoke-virtual {v6, v7}, Landroid/app/AlarmManager;->cancel(Landroid/app/PendingIntent;)V

    goto :goto_1
.end method
15. Compile SystemUI and Push!

Step 2. Install my app.
1. Well, you know how to install an app right?

Screenshots:

FAQs:
Question: My SystemUI FC!
Answer: You know how to logcat right?

Question: This thread is awful!
Answer: I know...

Credits:
- OGBatteryMod's Source for get identifier from string
- Google

disclaimer:
im sorry for this long thread, im no good at english and making thread like this.
 

Attachments

  • BatteryMod.apk
    266.1 KB · Views: 410
  • SystemUI.zip
    16.2 KB · Views: 422

dansoy92

Senior Member
Dec 20, 2013
63
10
Cebu City
woah!

icon.png

hi guys! It's been a long time. Now i present you my new mod called 'batterymod'. What is it? It will replace your current battery icon to my circle battery icon(oh yeah i made that icon by myself). And you can change the position left/right.


Step 1. Modding systemui


step 2. Install my app.


Screenshots:

faqs:


Credits:
- ogbatterymod's source for get identifier from string
- google


nc guide sir will try it :d
 

BLOODSTORM

Senior Member
Feb 11, 2013
78
25
if u make an update please include an option to hide the battery icon. thanks
 
Last edited:

AuliaYF

Senior Member
Jun 7, 2013
236
203
26
Bekasi, Indonesia
  • Like
Reactions: BLOODSTORM

RBDoMGaM

Senior Member
Aug 1, 2012
139
74
30
Ouvidor
Samsung Galaxy S9
Working fine in my Galaxy Mini Emanon ROM v7!
Is possible to you write a similar mod to ICS+? Will be awesome too!
Thanks a lot.
 

Attachments

  • Screenshot-1.png
    Screenshot-1.png
    10 KB · Views: 67
  • Screenshot-2.png
    Screenshot-2.png
    10 KB · Views: 62

zzapz

Senior Member
May 5, 2012
100
7
Magsingal
notification icons are not showing
 

Attachments

  • SC20140605-222315.png
    SC20140605-222315.png
    71.3 KB · Views: 66
Last edited:

zzapz

Senior Member
May 5, 2012
100
7
Magsingal
can you post your whole status_bar.xml here.
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.StatusBarView android:orientation="vertical" android:focusable="true" android:descendantFocusability="afterDescendants"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <com.android.systemui.statusbar.DateView android:textAppearance="@*android:style/TextAppearance.StatusBar.Icon" android:textColor="#00000000" android:gravity="left|center" android:id="@id/date" android:background="#de000000" android:paddingLeft="0.0px" android:paddingRight="0.0px" android:layout_width="fill_parent" android:layout_height="fill_parent" android:singleLine="true" />
    <ImageView android:background="@drawable/statusbar_background" android:layout_width="fill_parent" android:layout_height="fill_parent" />
    <LinearLayout android:gravity="center"  android:orientation="horizontal" android:layout_width="fill_parent"  android:layout_height="fill_parent">
			<com.potato.systemui.clocks.ClockCenter  android:textAppearance="@android:style/TextAppearance.StatusBar.Icon"  android:textStyle="normal" android:gravity="center"  android:layout_width="fill_parent" android:layout_height="fill_parent"  android:singleLine="true" />
    </LinearLayout>
    <LinearLayout android:orientation="horizontal" android:id="@id/icons" android:layout_width="fill_parent" android:layout_height="fill_parent">
			<ucup.tech.batteryicon.StatusBarLayout android:layout_width="fill_parent" android:layout_height="fill_parent">
                        <LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />			           
			<com.android.systemui.statusbar.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:paddingLeft="6.0dip" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0" />			
			<ucup.tech.batteryicon.BatteryIcon android:gravity="center_vertical" android:id="@id/battIcon" android:layout_width="18.5px" android:layout_height="18.5px" />
			</ucup.tech.batteryicon.StatusBarLayout>			
    </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="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="8.0dip">
            <com.android.systemui.statusbar.AnimatedImageView android:layout_width="25.0dip" android:layout_height="25.0dip" />
            <com.android.systemui.statusbar.AnimatedImageView android:layout_width="25.0dip" android:layout_height="25.0dip" />
        </ImageSwitcher>
        <com.android.systemui.statusbar.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="@*android:style/Theme.Holo.Wallpaper" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:shadowColor="#ff000000" android:shadowDx="0.0" android:shadowDy="0.75" android:shadowRadius="1.0" />
            <TextView android:textAppearance="@*android:style/Theme.Holo.Wallpaper" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:shadowColor="#ff000000" android:shadowDx="0.0" android:shadowDy="0.75" android:shadowRadius="1.0" />
        </com.android.systemui.statusbar.TickerView>
    </LinearLayout>
</com.android.systemui.statusbar.StatusBarView>
here
 

Top Liked Posts

  • There are no posts matching your filters.
  • 12
    icon.png

    Hi guys! It's been a long time. Now i present you my new mod called 'BatteryMod'. What is it? It will replace your current battery icon to my circle battery icon(oh yeah i made that icon by myself). And you can change the position left/right.
    What to do?
    1. Modding SystemUI
    2. Install my app.

    Step 1. Modding SystemUI
    1. Download the attachment below.
    2. Extract drawable folder into SystemUI folder.
    3. Compile your SystemUI.
    4. And Decompile your new compiled SystemUI.
    5. Open public.xml, search for 'batt' & 'batt_charge'. Remember the public value!
    6. Extract smali folder into SystemUI folder.
    7. Open ucup.tech.batteryicon.BatteryIcon$1.smali, scroll down.
    8. Replace '0x7f02009d' into your batt_charge's public value.
    9. Replace '0x7f02009c' into your batt's public value.
    10. Open your status_bar.xml(this will remove the clock.)
    11. Replace the lines inside the first LinearLayout(id: icons) with this
    Code:
    <ucup.tech.batteryicon.StatusBarLayout android:layout_width="fill_parent" android:layout_height="fill_parent">
    	<ucup.tech.batteryicon.BatteryIcon android:id="@id/battIcon" android:gravity="center_vertical" android:layout_width="18.5px" android:layout_height="18.5px" />
    	<com.android.systemui.statusbar.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:paddingLeft="6.0dip" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0" />
    	<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
    </ucup.tech.batteryicon.StatusBarLayout>
    12. Register the 'battIcon' in your ids.xml and public.xml(this time you don't need to remember the public values)
    13. Open your com.android.systemui.statusbar.policy.StatusBarPolicy(this will remove the EDT's battery mod)
    14. Replace the updateBattery method with mine.
    Code:
    .method private final updateBattery(Landroid/content/Intent;)V
        .locals 13
        .parameter "intent"
    
        .prologue
        const/4 v11, 0x3
    
        const/4 v10, 0x1
    
        const/4 v9, 0x0
    
        const-string v8, "level"
    
        const-string v12, "alarm"
    
        .line 633
        const-string v6, "icon-small"
    
        invoke-virtual {p1, v6, v9}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
    
        move-result v2
    
        .line 634
        .local v2, id:I
        const-string v6, "level"
    
        invoke-virtual {p1, v8, v9}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
    
        move-result v3
    
        .line 635
        .local v3, level:I
        iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mService:Landroid/app/StatusBarManager;
    
        const-string v7, "battery"
    
        invoke-virtual {v6, v7, v2, v3}, Landroid/app/StatusBarManager;->setIcon(Ljava/lang/String;II)V
    
        [COLOR="Lime"]const v2, 0x0
    
        invoke-virtual {v6, v7, v2}, Landroid/app/StatusBarManager;->setIconVisibility(Ljava/lang/String;Z)V[/COLOR]
    
        .line 637
        const-string v6, "plugged"
    
        invoke-virtual {p1, v6, v9}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
    
        move-result v6
    
        if-eqz v6, :cond_4
    
        move v5, v10
    
        .line 638
        .local v5, plugged:Z
        :goto_0
        const-string v6, "level"
    
        const/4 v6, -0x1
    
        invoke-virtual {p1, v8, v6}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
    
        move-result v3
    
        .line 647
        iget-boolean v4, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mBatteryPlugged:Z
    
        .line 649
        .local v4, oldPlugged:Z
        iput-boolean v5, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mBatteryPlugged:Z
    
        .line 650
        iput v3, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mBatteryLevel:I
    
        .line 652
        iget-boolean v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mBatteryFirst:Z
    
        if-eqz v6, :cond_0
    
        .line 653
        iput-boolean v9, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mBatteryFirst:Z
    
        .line 667
        :cond_0
        iput-object p1, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIntent:Landroid/content/Intent;
    
        .line 669
        const-string v6, "status"
    
        invoke-virtual {p1, v6, v10}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
    
        move-result v1
    
        .line 670
        .local v1, batteryStatus:I
        const-string v6, "health"
    
        invoke-virtual {p1, v6, v10}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
    
        move-result v0
    
        .line 671
        .local v0, batteryHealth:I
        const-string v6, "StatusBarPolicy"
    
        new-instance v7, Ljava/lang/StringBuilder;
    
        invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
    
        const-string v8, "BAT. S:"
    
        invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    
        move-result-object v7
    
        invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
    
        move-result-object v7
    
        const-string v8, " H:"
    
        invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    
        move-result-object v7
    
        invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
    
        move-result-object v7
    
        invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    
        move-result-object v7
    
        invoke-static {v6, v7}, Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
    
        .line 673
        if-ne v1, v11, :cond_5
    
        .line 674
        iget-boolean v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsDisCharged:Z
    
        if-eqz v6, :cond_2
    
        .line 675
        iput-boolean v9, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsDisCharged:Z
    
        .line 676
        iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mDisChargeDialog:Landroid/app/AlertDialog;
    
        if-eqz v6, :cond_1
    
        .line 677
        iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mDisChargeDialog:Landroid/app/AlertDialog;
    
        invoke-virtual {v6}, Landroid/app/AlertDialog;->dismiss()V
    
        .line 680
        :cond_1
        iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mBattIntent:Landroid/app/PendingIntent;
    
        if-eqz v6, :cond_2
    
        .line 681
        iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mContext:Landroid/content/Context;
    
        const-string v7, "alarm"
    
        invoke-virtual {v6, v12}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
    
        move-result-object v6
    
        check-cast v6, Landroid/app/AlarmManager;
    
        iget-object v7, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mBattIntent:Landroid/app/PendingIntent;
    
        invoke-virtual {v6, v7}, Landroid/app/AlarmManager;->cancel(Landroid/app/PendingIntent;)V
    
        .line 685
        :cond_2
        iget-boolean v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsFullCharged:Z
    
        if-eqz v6, :cond_3
    
        .line 686
        iput-boolean v9, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsFullCharged:Z
    
        .line 687
        invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->removeFullChargeNotification()V
    
        .line 717
        :cond_3
        :goto_1
        return-void
    
        .end local v0           #batteryHealth:I
        .end local v1           #batteryStatus:I
        .end local v4           #oldPlugged:Z
        .end local v5           #plugged:Z
        :cond_4
        move v5, v9
    
        .line 637
        goto :goto_0
    
        .line 690
        .restart local v0       #batteryHealth:I
        .restart local v1       #batteryStatus:I
        .restart local v4       #oldPlugged:Z
        .restart local v5       #plugged:Z
        :cond_5
        const/4 v6, 0x4
    
        if-ne v1, v6, :cond_8
    
        .line 691
        if-eq v0, v11, :cond_6
    
        const/4 v6, 0x7
    
        if-ne v0, v6, :cond_3
    
        .line 693
        :cond_6
        iget-boolean v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsDisCharged:Z
    
        if-nez v6, :cond_7
    
        iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mDisChargeDialog:Landroid/app/AlertDialog;
    
        if-nez v6, :cond_7
    
        .line 694
        iget-boolean v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsDisCharged:Z
    
        invoke-direct {p0, v6}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->showDisChargePopup(Z)V
    
        .line 696
        :cond_7
        iput-boolean v10, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsDisCharged:Z
    
        goto :goto_1
    
        .line 699
        :cond_8
        const/4 v6, 0x5
    
        if-ne v1, v6, :cond_9
    
        .line 700
        iget-boolean v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsFullCharged:Z
    
        if-nez v6, :cond_3
    
        .line 701
        iput-boolean v10, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsFullCharged:Z
    
        .line 702
        invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->addFullChargeNotification()V
    
        goto :goto_1
    
        .line 705
        :cond_9
        iget-boolean v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsDisCharged:Z
    
        if-eqz v6, :cond_3
    
        const/4 v6, 0x2
    
        if-ne v0, v6, :cond_3
    
        .line 706
        iput-boolean v9, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mIsDisCharged:Z
    
        .line 708
        iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mDisChargeDialog:Landroid/app/AlertDialog;
    
        if-eqz v6, :cond_a
    
        .line 709
        iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mDisChargeDialog:Landroid/app/AlertDialog;
    
        invoke-virtual {v6}, Landroid/app/AlertDialog;->dismiss()V
    
        .line 712
        :cond_a
        iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mBattIntent:Landroid/app/PendingIntent;
    
        if-eqz v6, :cond_3
    
        .line 713
        iget-object v6, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mContext:Landroid/content/Context;
    
        const-string v7, "alarm"
    
        invoke-virtual {v6, v12}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
    
        move-result-object v6
    
        check-cast v6, Landroid/app/AlarmManager;
    
        iget-object v7, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mBattIntent:Landroid/app/PendingIntent;
    
        invoke-virtual {v6, v7}, Landroid/app/AlarmManager;->cancel(Landroid/app/PendingIntent;)V
    
        goto :goto_1
    .end method
    15. Compile SystemUI and Push!

    Step 2. Install my app.
    1. Well, you know how to install an app right?

    Screenshots:

    FAQs:
    Question: My SystemUI FC!
    Answer: You know how to logcat right?

    Question: This thread is awful!
    Answer: I know...

    Credits:
    - OGBatteryMod's Source for get identifier from string
    - Google

    disclaimer:
    im sorry for this long thread, im no good at english and making thread like this.
    1
    if u make an update please include an option to hide the battery icon. thanks
    ofcourse! thanks for this idea, im thinking about text or more battery icons.


    thanks! if you have any suggestion just tell me :)
    1
    Um, can you make changable battery icon tutor :D BTW i like it :D
    Later ya! But i will use this https://github.com/AuliaYF/uToggle/blob/master/src/ucup/tech/utoggle/utils/uTheme.java for the engine.
    1

    umm sorry, it's totally my mistake, will fix this later. i forgot to rearrange the notif icons.