[MOD][HOW-TO][4.1.2]StatusBar Toggles+Custom Settings[Controlable]

Search This thread

Biftor

Senior Member
Nov 22, 2012
2,535
12,128
tehran
Hi To all
Me again...

This mod and how to is come from my Rom!
After many request...i decided share that to all but if anybody will use that just dont forget give me a credit:D:laugh:


What is this mod and how to?

this mod and how to have:

how to make custome settings in "secsettings.apk"
how to add make 23 toggle statusbar
how to add toggle between stock and 23 toggle statusbar in custome settings
and many things will come...

what you tools you need?
you need apktools or apk manger or apkmulti tools for decompile and Tools and Not pad++(i always use apkmulti tools this is better or you can use wanam Apk_Manager Repack.
lets Go to start
post 1 have system files download my Attachment "systemfiles.zip" put all of the in your device system\app folder to system\app and system\framework to system\framework
post 2 is "how to make custome settings in "secsettings.apk" and secsettings.apk files"
post 3 is "how to make custome settings in "systemui.apk""

screen shots:

will upload


thanks:

Wanam
 

Attachments

  • systemfiles.zip
    1.8 MB · Views: 823
Last edited:

Biftor

Senior Member
Nov 22, 2012
2,535
12,128
tehran
lets go strat with Secsettings.apk

part1:

decompile "Secsettings.apk"
download my Attachment file "SecSettings.apk.rar" extract that and copy all things from that to your "secsettings.apk"

go to decompiled "secsettings.apk" go "res/xml open "settings_headers.xml" with not pad ++

Find this line:

Code:
    <header android:id="@id/manufacturer_settings" android:fragment="com.android.settings.WirelessSettings">
        <intent android:action="com.android.settings.MANUFACTURER_APPLICATION_SETTING" />
    </header>

put this after that line:

Code:
    <header android:title="Custom Settings" />	
    <header android:icon="@drawable/biftor_rom_control" android:title="Custom Settings" android:fragment="com.android.settings.Biftor.BiftorMain" />
save and compile "secsettings.apk" after you compile that decompile it again you need change id

part 2:

Decompile your modded "Secsettings.apk" Go to res/values and open "public.xml" with not pad
try to find this:

Code:
    <public type="xml" name="biftor_customsettings" id="

copy id of "biftor_customsettings"

Go to smali/com/android/settings/Biftor open "BiftorMain.smali" and try to find this:

Code:
    .locals 5

    const/4 v1, 0x1

    const/4 v2, 0x0

    invoke-super {p0, p1}, Landroid/preference/PreferenceFragment;->onCreate(Landroid/os/Bundle;)V

    const v0, [COLOR="Red"]0x7f07008d[/COLOR]

    invoke-virtual {p0, v0}, Lcom/android/settings/Biftor/BiftorMain;->addPreferencesFromResource(I)V

    const-string v0, "23toggle_statubar"

    invoke-virtual {p0, v0}, Lcom/android/settings/Biftor/BiftorMain;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;

    move-result-object v0

    check-cast v0, Landroid/preference/CheckBoxPreference;

see red line
Chang that to id of "biftor_customsettings" you copied that befor

save and compile
Secsettings.apk finish
Go to post 3 for Systemui.apk
 

Attachments

  • SecSettings.apk.rar
    2.3 KB · Views: 229
Last edited:

Biftor

Senior Member
Nov 22, 2012
2,535
12,128
tehran
lets go start with "Systemui.apk"


part1:

decompile your "Systemui.apk"
download my Attachment file "systemui.apk.rar" extract that and copy all things from that to your "Systemui.apk" decompiled

go to res/values open "ids.xml" with not pad++

add this line to that"

Code:
    <item type="id" name="exp_power_stat">false</item>

after that compile and after compile,decompile that again!


part 2:

Go to smali\com\android\systemui\statusbar\phone and open "PhoneStatusBar.smali" with Not pad++

try to find this line:

Code:
.field mPostCollapseCleanup:Ljava/lang/Runnable;

and add this line after that:

Code:
.field mPowerWidget:Lcom/Biftor/systemui/quickpanel/PowerWidget;


try to find this method:

Code:
.method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
[COLOR="Blue"]    .locals 13[/COLOR]
    .prologue
    .line 521
change the blue line to this:
Code:
.locals 15

try to find this on ".method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;"

Code:
    sget-boolean v9, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->useTouchWizGUI:Z

    if-eqz v9, :cond_9

    .line 532
    const v9, 0x7f03003e

    const/4 v10, 0x0

    invoke-static {v1, v9, v10}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;

    move-result-object v9

    check-cast v9, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

[COLOR="Blue"]    iput-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;[/COLOR]

put this after blue line:

Code:
    iget-object v12, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    invoke-virtual {v12}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v12

    const-string v13, "23toggle_statubar"

    const/4 v14, 0x0

    invoke-static {v12, v13, v14}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

    move-result v12

    if-eqz v12, :cond_Biftor

    const v9, 0x7f030045

    const/4 v10, 0x0

    invoke-static {v1, v9, v10}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;

    move-result-object v9

    check-cast v9, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    iput-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    :cond_Biftor

exactly same this:
you can remove "##############" this is just for hint!
Code:
    sget-boolean v9, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->useTouchWizGUI:Z

    if-eqz v9, :cond_9

    .line 532
    const v9, 0x7f03003e

    const/4 v10, 0x0

    invoke-static {v1, v9, v10}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;

    move-result-object v9

    check-cast v9, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    iput-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
##############################
    iget-object v12, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    invoke-virtual {v12}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v12

    const-string v13, "23toggle_statubar"

    const/4 v14, 0x0

    invoke-static {v12, v13, v14}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

    move-result v12

    if-eqz v12, :cond_Biftor

    const v9, 0x7f030045 [COLOR="Red"]#biftor23_tw_super_status_bar[/COLOR]

    const/4 v10, 0x0

    invoke-static {v1, v9, v10}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;

    move-result-object v9

    check-cast v9, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    iput-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    :cond_Biftor
#################

try to find this on ".method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;":

Code:
    iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v10, 0x7f0d004c

    invoke-virtual {v9, v10}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;

    move-result-object v9

    check-cast v9, Landroid/widget/ScrollView;

    iput-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mScrollView:Landroid/widget/ScrollView;

    .line 700
    iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mScrollView:Landroid/widget/ScrollView;

    const/4 v10, 0x0

[COLOR="Blue"]    invoke-virtual {v9, v10}, Landroid/widget/ScrollView;->setVerticalScrollBarEnabled(Z)V
[/COLOR]

put this lines after blue line:

Code:
    iget-object v12, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    invoke-virtual {v12}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v12

    const-string v13, "23toggle_statubar"

    const/4 v14, 0x0

    invoke-static {v12, v13, v14}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

    move-result v12

    if-eqz v12, :cond_arm

    move-object/from16 v0, p0

    iget-object v9, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v10, 0x7f0d011b [COLOR="Red"]#exp_power_stat[/COLOR]

    invoke-virtual {v9, v10}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;

    move-result-object v9

    check-cast v9, Lcom/Biftor/systemui/quickpanel/PowerWidget;

    move-object/from16 v0, p0

    iput-object v9, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/Biftor/systemui/quickpanel/PowerWidget;

    .line 702
    :cond_arm

exactly same this:

Code:
    iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v10, 0x7f0d004c

    invoke-virtual {v9, v10}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;

    move-result-object v9

    check-cast v9, Landroid/widget/ScrollView;

    iput-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mScrollView:Landroid/widget/ScrollView;

    .line 700
    iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mScrollView:Landroid/widget/ScrollView;

    const/4 v10, 0x0

    invoke-virtual {v9, v10}, Landroid/widget/ScrollView;->setVerticalScrollBarEnabled(Z)V
#################	

    iget-object v12, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    invoke-virtual {v12}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v12

    const-string v13, "23toggle_statubar"

    const/4 v14, 0x0

    invoke-static {v12, v13, v14}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

    move-result v12

    if-eqz v12, :cond_arm

    move-object/from16 v0, p0

    iget-object v9, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v10, 0x7f0d011b [COLOR="Red"]#exp_power_stat[/COLOR]

    invoke-virtual {v9, v10}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;

    move-result-object v9

    check-cast v9, Lcom/Biftor/systemui/quickpanel/PowerWidget;

    move-object/from16 v0, p0

    iput-object v9, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/Biftor/systemui/quickpanel/PowerWidget;

    .line 702
    :cond_arm
#################


try to find this on ".method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;":

Code:
    sget-boolean v9, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->useAttPlmnDisplay:Z

    const/4 v10, 0x1

    if-ne v9, v10, :cond_7

    .line 857
    const-string v9, "android.intent.action.SCREEN_ON"

    invoke-virtual {v2, v9}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V

    .line 860
    :cond_7
    iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBroadcastReceiver:Landroid/content/BroadcastReceiver;

[COLOR="Blue"]    invoke-virtual {v1, v9, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;[/COLOR]

put this after blue line:

Code:
    iget-object v12, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    invoke-virtual {v12}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v12

    const-string v13, "23toggle_statubar"

    const/4 v14, 0x0

    invoke-static {v12, v13, v14}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

    move-result v12

    if-eqz v12, :cond_ar

    move-object/from16 v0, p0

    iget-object v9, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/Biftor/systemui/quickpanel/PowerWidget;

    invoke-virtual {v9}, Lcom/Biftor/systemui/quickpanel/PowerWidget;->setupWidget()V

    .line 863
    :cond_ar

exactly same this:

Code:
    sget-boolean v9, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->useAttPlmnDisplay:Z

    const/4 v10, 0x1

    if-ne v9, v10, :cond_7

    .line 857
    const-string v9, "android.intent.action.SCREEN_ON"

    invoke-virtual {v2, v9}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V

    .line 860
    :cond_7
    iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBroadcastReceiver:Landroid/content/BroadcastReceiver;

    invoke-virtual {v1, v9, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
#################
    iget-object v12, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    invoke-virtual {v12}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v12

    const-string v13, "23toggle_statubar"

    const/4 v14, 0x0

    invoke-static {v12, v13, v14}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

    move-result v12

    if-eqz v12, :cond_ar

    move-object/from16 v0, p0

    iget-object v9, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/Biftor/systemui/quickpanel/PowerWidget;

    invoke-virtual {v9}, Lcom/Biftor/systemui/quickpanel/PowerWidget;->setupWidget()V

    .line 863
    :cond_ar
#################

Important Note 1 Red lines:

Go to res/values open "public.xml" with Not pad++

Find new id of "exp_power_stat" and "biftor23_tw_super_status_bar"
after that replace new id to red lines.


i attached my modded "PhoneStatusBar.smali" you can use that maybe you need that!

final part:

go to decompiled SystemUI.apk open "AndroidManifest.xml"

try to find this:

Code:
    <uses-permission android:name="android.permission.NFC" />
    <uses-permission android:name="com.sprint.permission.SPRINT4G" />
    <uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
[COLOR="Blue"]    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
[/COLOR]
put this after blue line:

Code:
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.REBOOT" />


compile Systemui.apk and Signe that (dont forget do signe)
and put it in your device!


important Note 2:

you need do This [HOW TO][20Mar][How to Disable Signature Checker For System App[Sammy JB]
because you Changed "AndroidManifest.xml" and you singed SystemUi.apk
Dont Forget do this!

i attached my Modded Systemui.apk if you want you can use that!

Enjoy.
 

Attachments

  • systemui.apk.rar
    77.4 KB · Views: 175
  • PhoneStatusBar.rar
    31.9 KB · Views: 159
  • SystemUI.apk
    1.7 MB · Views: 218
Last edited:

Biftor

Senior Member
Nov 22, 2012
2,535
12,128
tehran
I'd like to know what makes this mod.

please post the screenshoot.

thanks

This mod is your statusbar toggle

With this mod
You can make lidroid 23toggle statusbar
And make toggle for switch from stock toggle to lidroid 23 toggle or lidroid to stock toggle....

I haven't screen Shot from that

Goodluck
Armin.

Sent from my GT-I9100 using xda premium
 
  • Like
Reactions: remuntada78

Biftor

Senior Member
Nov 22, 2012
2,535
12,128
tehran
offtopic but apktool is stuck in compiling secsettings.apk ,,, i increased the heap size to 1024mb and still getting stuck :( ,,,whats wrong ?



ok ,,thats why not every rom has this future :silly:

edit : i see that aapt.exe is taking more memory by the passage of time ,,but its a slight increase so its working yea :D

Hi
I suggest use apk multi tools that's much better than apktools for noob peoples...



Goodluck
Armin.

Sent from my GT-I9100 using xda premium
 

bombaybadboy

Senior Member
Apr 22, 2012
7,782
16,693
Wolverhampton
Just a question please, I was looking for a guide almost like this one but from what I have read both stock and 23 toggle mods would look the same. My question is what would it take to have 2 different themes? eg-a full stock theme and a aosp 23 toggle theme, so I can add transparent pulldown, blue % battery ect.

Sent from my GT-I9100 using xda premium
 

Namoi

Senior Member
Oct 14, 2011
1,250
950
Just a question please, I was looking for a guide almost like this one but from what I have read both stock and 23 toggle mods would look the same. My question is what would it take to have 2 different themes? eg-a full stock theme and a aosp 23 toggle theme, so I can add transparent pulldown, blue % battery ect.

Sent from my GT-I9100 using xda premium

Should ask Goldie for this mate, but he is taking a break right now. :p
 

Biftor

Senior Member
Nov 22, 2012
2,535
12,128
tehran
Just a question please, I was looking for a guide almost like this one but from what I have read both stock and 23 toggle mods would look the same. My question is what would it take to have 2 different themes? eg-a full stock theme and a aosp 23 toggle theme, so I can add transparent pulldown, blue % battery ect.

Sent from my GT-I9100 using xda premium
Hi
You can do it same me!
You can change lidorid stock to aosp theme that's easy just change layout xml for lidroid in systemui.apk

Just look again you have one tw_super_statusbar.xml for 23 toggle!!!
Change layouts to aosp style!


Goodluck
Armin.

Sent from my GT-I9100 using xda premium
 

bombaybadboy

Senior Member
Apr 22, 2012
7,782
16,693
Wolverhampton
Hi
You can do it same me!
You can change lidorid stock to aosp theme that's easy just change layout xml for lidroid in systemui.apk

Just look again you have one tw_super_statusbar.xml for 23 toggle!!!
Change layouts to aosp style!


Goodluck
Armin.

Sent from my GT-I9100 using xda premium

Thankyou for the reply but how do you separate 2 tw_statusbar.xml and stat_battery_charge.xml and expandable_header ect can I ask. I will have a proper look when I next get back on my pc

Sent from my GT-I9100 using xda premium
 

Biftor

Senior Member
Nov 22, 2012
2,535
12,128
tehran
Thankyou for the reply but how do you separate 2 tw_statusbar.xml and stat_battery_charge.xml and expandable_header ect can I ask. I will have a proper look when I next get back on my pc

Sent from my GT-I9100 using xda premium

For battery you should add your new xml to batterycontroller.smali with your lidroid toggle switch string I will check that!!

After that lock in Tw_super_statusbar.xml
You can add new Tw_statusbar.xml and new new expanded.xml and in tw_statusbar_expanded.xml
You have tw_statusbar_expanded_header.xml
You can make your aosp layouts and added to new Tw_super_statusbar.xml
Tw_super_statusbar.xml is same controller
Look into the Tw_super_statusbar.xml

I can't access to my pc now!

Goodluck
Armin.

Sent from my GT-I9100 using xda premium
 

bombaybadboy

Senior Member
Apr 22, 2012
7,782
16,693
Wolverhampton
For battery you should add your new xml to batterycontroller.smali with your lidroid toggle switch string I will check that!!

After that lock in Tw_super_statusbar.xml
You can add new Tw_statusbar.xml and new new expanded.xml and in tw_statusbar_expanded.xml
You have tw_statusbar_expanded_header.xml
You can make your aosp layouts and added to new Tw_super_statusbar.xml
Tw_super_statusbar.xml is same controller
Look into the Tw_super_statusbar.xml

I can't access to my pc now!

Goodluck
Armin.

Sent from my GT-I9100 using xda premium

Thankyou for your time and will give me something to look into :) I only have a hour or 2 pc time a day and its hard for me to hunt blind. Thanks again

Sent from my GT-I9100 using xda premium
 

Top Liked Posts

  • There are no posts matching your filters.
  • 22
    Hi To all
    Me again...

    This mod and how to is come from my Rom!
    After many request...i decided share that to all but if anybody will use that just dont forget give me a credit:D:laugh:


    What is this mod and how to?

    this mod and how to have:

    how to make custome settings in "secsettings.apk"
    how to add make 23 toggle statusbar
    how to add toggle between stock and 23 toggle statusbar in custome settings
    and many things will come...

    what you tools you need?
    you need apktools or apk manger or apkmulti tools for decompile and Tools and Not pad++(i always use apkmulti tools this is better or you can use wanam Apk_Manager Repack.
    lets Go to start
    post 1 have system files download my Attachment "systemfiles.zip" put all of the in your device system\app folder to system\app and system\framework to system\framework
    post 2 is "how to make custome settings in "secsettings.apk" and secsettings.apk files"
    post 3 is "how to make custome settings in "systemui.apk""

    screen shots:

    will upload


    thanks:

    Wanam
    16
    lets go start with "Systemui.apk"


    part1:

    decompile your "Systemui.apk"
    download my Attachment file "systemui.apk.rar" extract that and copy all things from that to your "Systemui.apk" decompiled

    go to res/values open "ids.xml" with not pad++

    add this line to that"

    Code:
        <item type="id" name="exp_power_stat">false</item>

    after that compile and after compile,decompile that again!


    part 2:

    Go to smali\com\android\systemui\statusbar\phone and open "PhoneStatusBar.smali" with Not pad++

    try to find this line:

    Code:
    .field mPostCollapseCleanup:Ljava/lang/Runnable;

    and add this line after that:

    Code:
    .field mPowerWidget:Lcom/Biftor/systemui/quickpanel/PowerWidget;


    try to find this method:

    Code:
    .method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
    [COLOR="Blue"]    .locals 13[/COLOR]
        .prologue
        .line 521
    change the blue line to this:
    Code:
    .locals 15

    try to find this on ".method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;"

    Code:
        sget-boolean v9, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->useTouchWizGUI:Z
    
        if-eqz v9, :cond_9
    
        .line 532
        const v9, 0x7f03003e
    
        const/4 v10, 0x0
    
        invoke-static {v1, v9, v10}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;
    
        move-result-object v9
    
        check-cast v9, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
    
    [COLOR="Blue"]    iput-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;[/COLOR]

    put this after blue line:

    Code:
        iget-object v12, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;
    
        invoke-virtual {v12}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
    
        move-result-object v12
    
        const-string v13, "23toggle_statubar"
    
        const/4 v14, 0x0
    
        invoke-static {v12, v13, v14}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
    
        move-result v12
    
        if-eqz v12, :cond_Biftor
    
        const v9, 0x7f030045
    
        const/4 v10, 0x0
    
        invoke-static {v1, v9, v10}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;
    
        move-result-object v9
    
        check-cast v9, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
    
        iput-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
    
        :cond_Biftor

    exactly same this:
    you can remove "##############" this is just for hint!
    Code:
        sget-boolean v9, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->useTouchWizGUI:Z
    
        if-eqz v9, :cond_9
    
        .line 532
        const v9, 0x7f03003e
    
        const/4 v10, 0x0
    
        invoke-static {v1, v9, v10}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;
    
        move-result-object v9
    
        check-cast v9, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
    
        iput-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
    ##############################
        iget-object v12, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;
    
        invoke-virtual {v12}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
    
        move-result-object v12
    
        const-string v13, "23toggle_statubar"
    
        const/4 v14, 0x0
    
        invoke-static {v12, v13, v14}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
    
        move-result v12
    
        if-eqz v12, :cond_Biftor
    
        const v9, 0x7f030045 [COLOR="Red"]#biftor23_tw_super_status_bar[/COLOR]
    
        const/4 v10, 0x0
    
        invoke-static {v1, v9, v10}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;
    
        move-result-object v9
    
        check-cast v9, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
    
        iput-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
    
        :cond_Biftor
    #################

    try to find this on ".method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;":

    Code:
        iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
    
        const v10, 0x7f0d004c
    
        invoke-virtual {v9, v10}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;
    
        move-result-object v9
    
        check-cast v9, Landroid/widget/ScrollView;
    
        iput-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mScrollView:Landroid/widget/ScrollView;
    
        .line 700
        iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mScrollView:Landroid/widget/ScrollView;
    
        const/4 v10, 0x0
    
    [COLOR="Blue"]    invoke-virtual {v9, v10}, Landroid/widget/ScrollView;->setVerticalScrollBarEnabled(Z)V
    [/COLOR]

    put this lines after blue line:

    Code:
        iget-object v12, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;
    
        invoke-virtual {v12}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
    
        move-result-object v12
    
        const-string v13, "23toggle_statubar"
    
        const/4 v14, 0x0
    
        invoke-static {v12, v13, v14}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
    
        move-result v12
    
        if-eqz v12, :cond_arm
    
        move-object/from16 v0, p0
    
        iget-object v9, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
    
        const v10, 0x7f0d011b [COLOR="Red"]#exp_power_stat[/COLOR]
    
        invoke-virtual {v9, v10}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;
    
        move-result-object v9
    
        check-cast v9, Lcom/Biftor/systemui/quickpanel/PowerWidget;
    
        move-object/from16 v0, p0
    
        iput-object v9, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/Biftor/systemui/quickpanel/PowerWidget;
    
        .line 702
        :cond_arm

    exactly same this:

    Code:
        iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
    
        const v10, 0x7f0d004c
    
        invoke-virtual {v9, v10}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;
    
        move-result-object v9
    
        check-cast v9, Landroid/widget/ScrollView;
    
        iput-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mScrollView:Landroid/widget/ScrollView;
    
        .line 700
        iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mScrollView:Landroid/widget/ScrollView;
    
        const/4 v10, 0x0
    
        invoke-virtual {v9, v10}, Landroid/widget/ScrollView;->setVerticalScrollBarEnabled(Z)V
    #################	
    
        iget-object v12, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;
    
        invoke-virtual {v12}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
    
        move-result-object v12
    
        const-string v13, "23toggle_statubar"
    
        const/4 v14, 0x0
    
        invoke-static {v12, v13, v14}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
    
        move-result v12
    
        if-eqz v12, :cond_arm
    
        move-object/from16 v0, p0
    
        iget-object v9, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
    
        const v10, 0x7f0d011b [COLOR="Red"]#exp_power_stat[/COLOR]
    
        invoke-virtual {v9, v10}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;
    
        move-result-object v9
    
        check-cast v9, Lcom/Biftor/systemui/quickpanel/PowerWidget;
    
        move-object/from16 v0, p0
    
        iput-object v9, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/Biftor/systemui/quickpanel/PowerWidget;
    
        .line 702
        :cond_arm
    #################


    try to find this on ".method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;":

    Code:
        sget-boolean v9, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->useAttPlmnDisplay:Z
    
        const/4 v10, 0x1
    
        if-ne v9, v10, :cond_7
    
        .line 857
        const-string v9, "android.intent.action.SCREEN_ON"
    
        invoke-virtual {v2, v9}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
    
        .line 860
        :cond_7
        iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBroadcastReceiver:Landroid/content/BroadcastReceiver;
    
    [COLOR="Blue"]    invoke-virtual {v1, v9, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;[/COLOR]

    put this after blue line:

    Code:
        iget-object v12, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;
    
        invoke-virtual {v12}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
    
        move-result-object v12
    
        const-string v13, "23toggle_statubar"
    
        const/4 v14, 0x0
    
        invoke-static {v12, v13, v14}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
    
        move-result v12
    
        if-eqz v12, :cond_ar
    
        move-object/from16 v0, p0
    
        iget-object v9, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/Biftor/systemui/quickpanel/PowerWidget;
    
        invoke-virtual {v9}, Lcom/Biftor/systemui/quickpanel/PowerWidget;->setupWidget()V
    
        .line 863
        :cond_ar

    exactly same this:

    Code:
        sget-boolean v9, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->useAttPlmnDisplay:Z
    
        const/4 v10, 0x1
    
        if-ne v9, v10, :cond_7
    
        .line 857
        const-string v9, "android.intent.action.SCREEN_ON"
    
        invoke-virtual {v2, v9}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
    
        .line 860
        :cond_7
        iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBroadcastReceiver:Landroid/content/BroadcastReceiver;
    
        invoke-virtual {v1, v9, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
    #################
        iget-object v12, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;
    
        invoke-virtual {v12}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
    
        move-result-object v12
    
        const-string v13, "23toggle_statubar"
    
        const/4 v14, 0x0
    
        invoke-static {v12, v13, v14}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
    
        move-result v12
    
        if-eqz v12, :cond_ar
    
        move-object/from16 v0, p0
    
        iget-object v9, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/Biftor/systemui/quickpanel/PowerWidget;
    
        invoke-virtual {v9}, Lcom/Biftor/systemui/quickpanel/PowerWidget;->setupWidget()V
    
        .line 863
        :cond_ar
    #################

    Important Note 1 Red lines:

    Go to res/values open "public.xml" with Not pad++

    Find new id of "exp_power_stat" and "biftor23_tw_super_status_bar"
    after that replace new id to red lines.


    i attached my modded "PhoneStatusBar.smali" you can use that maybe you need that!

    final part:

    go to decompiled SystemUI.apk open "AndroidManifest.xml"

    try to find this:

    Code:
        <uses-permission android:name="android.permission.NFC" />
        <uses-permission android:name="com.sprint.permission.SPRINT4G" />
        <uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
    [COLOR="Blue"]    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
    [/COLOR]
    put this after blue line:

    Code:
        <uses-permission android:name="android.permission.CAMERA" />
        <uses-permission android:name="android.permission.REBOOT" />


    compile Systemui.apk and Signe that (dont forget do signe)
    and put it in your device!


    important Note 2:

    you need do This [HOW TO][20Mar][How to Disable Signature Checker For System App[Sammy JB]
    because you Changed "AndroidManifest.xml" and you singed SystemUi.apk
    Dont Forget do this!

    i attached my Modded Systemui.apk if you want you can use that!

    Enjoy.
    11
    lets go strat with Secsettings.apk

    part1:

    decompile "Secsettings.apk"
    download my Attachment file "SecSettings.apk.rar" extract that and copy all things from that to your "secsettings.apk"

    go to decompiled "secsettings.apk" go "res/xml open "settings_headers.xml" with not pad ++

    Find this line:

    Code:
        <header android:id="@id/manufacturer_settings" android:fragment="com.android.settings.WirelessSettings">
            <intent android:action="com.android.settings.MANUFACTURER_APPLICATION_SETTING" />
        </header>

    put this after that line:

    Code:
        <header android:title="Custom Settings" />	
        <header android:icon="@drawable/biftor_rom_control" android:title="Custom Settings" android:fragment="com.android.settings.Biftor.BiftorMain" />
    save and compile "secsettings.apk" after you compile that decompile it again you need change id

    part 2:

    Decompile your modded "Secsettings.apk" Go to res/values and open "public.xml" with not pad
    try to find this:

    Code:
        <public type="xml" name="biftor_customsettings" id="

    copy id of "biftor_customsettings"

    Go to smali/com/android/settings/Biftor open "BiftorMain.smali" and try to find this:

    Code:
        .locals 5
    
        const/4 v1, 0x1
    
        const/4 v2, 0x0
    
        invoke-super {p0, p1}, Landroid/preference/PreferenceFragment;->onCreate(Landroid/os/Bundle;)V
    
        const v0, [COLOR="Red"]0x7f07008d[/COLOR]
    
        invoke-virtual {p0, v0}, Lcom/android/settings/Biftor/BiftorMain;->addPreferencesFromResource(I)V
    
        const-string v0, "23toggle_statubar"
    
        invoke-virtual {p0, v0}, Lcom/android/settings/Biftor/BiftorMain;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
    
        move-result-object v0
    
        check-cast v0, Landroid/preference/CheckBoxPreference;

    see red line
    Chang that to id of "biftor_customsettings" you copied that befor

    save and compile
    Secsettings.apk finish
    Go to post 3 for Systemui.apk
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone