[TUTORIAL] [Z] [UPDATE :- 22.04.2014] Make Advanced Volume Control Mod .101 Deodexed

Search This thread

Rajeev

Recognized Contributor
Nov 24, 2012
16,306
26,540
Chennai , I N D I A
Xiaomi 13 Pro
Hi Friends

Here I Am Going To Teach You How To Make Advanced Volume Control Mod For Xperia Z Stock Deodexed .101 JB 4.3 Firmwares. This Mod Will Only Work In Deodexed .101 Roms. We Are Going To Edit Framework.jar. For That You Must Know How To De Compile And Edit framework.jar ( I Mean jar files ).

If U Don't Know De Compiling jar Files Means Go To Here.

( http://xdaforums.com/showthread.php?t=2251719 ) And Follow The Tutorial...

Ok. Lets Begin.


STEP 1


De Compile Ur framework.jar And Go To " classout\android\view\ Folder"


There U Can Find 10 Smali Files With These Names

VolumePanel$1.smali
VolumePanel$2.smali
VolumePanel$3.smali
VolumePanel$4.smali
VolumePanel$5.smali
VolumePanel$6.smali
VolumePanel$StreamControl.smali
VolumePanel$StreamResources.smali
VolumePanel.smali

So We Are Going To Edit These Smali Files...


(A)

Open " VolumePanel$1.smali " File With Notepad ++ and Serach for This Line

Code:
invoke-virtual {p0}, Landroid/app/Dialog;->isShowing()Z

Then Replace The Above Line With This Line

Code:
invoke-virtual {p0}, Landroid/view/VolumePanel$1;->isShowing()Z

Save And Exit Notepad ++


(B)

Open " VolumePanel$2.smali " File With Notepad ++ and Serach for This Line

Code:
invoke-direct {p0}, Ljava/lang/Object;-><init>()V

Then Replace The Above Line With This Line

Code:
invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V

Save And Exit Notepad ++


(C)

Open " VolumePanel$3.smali " File With Notepad ++ and Serach for This Line

Code:
invoke-direct {p0}, Ljava/lang/Object;-><init>()V

Then Replace The Above Line With This Line

Code:
invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V

Save And Exit Notepad ++


(D)

Open " VolumePanel$4.smali " File With Notepad ++ and Serach for These Lines

Code:
invoke-virtual {v0, v2}, Landroid/os/Handler;->removeMessages(I)V
invoke-virtual {v1, v2}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
invoke-virtual {v0, v1}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z

Then Replace The Above Lines With These Lines

Code:
invoke-virtual {v0, v2}, Landroid/view/VolumePanel;->removeMessages(I)V
invoke-virtual {v1, v2}, Landroid/view/VolumePanel;->obtainMessage(I)Landroid/os/Message;
invoke-virtual {v0, v1}, Landroid/view/VolumePanel;->sendMessage(Landroid/os/Message;)Z

Save And Exit Notepad ++


(E)

Open " VolumePanel$5.smali " File With Notepad ++ and Serach for These Lines

Code:
invoke-virtual {v1, v3}, Landroid/os/Handler;->removeMessages(I)V
invoke-virtual {v2, v3}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
invoke-virtual {v1, v2}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z

Then Replace The Above Lines With These Lines

Code:
invoke-virtual {v1, v3}, Landroid/view/VolumePanel;->removeMessages(I)V
invoke-virtual {v2, v3}, Landroid/view/VolumePanel;->obtainMessage(I)Landroid/os/Message;
invoke-virtual {v1, v2}, Landroid/view/VolumePanel;->sendMessage(Landroid/os/Message;)Z

Save And Exit Notepad ++


(F)

Open " VolumePanel$6.smali " File With Notepad ++ and Serach for This Line

Code:
invoke-direct {p0}, Ljava/lang/Object;-><init>()V

Then Replace The Above Line With This Line

Code:
invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V

Save And Exit Notepad ++


(G)

Open " VolumePanel$StreamControl.smali " File With Notepad ++ and Serach for This Line

Code:
invoke-direct {p0}, Ljava/lang/Object;-><init>()V

Then Replace The Above Line With This Line

Code:
invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V

Save And Exit Notepad ++


STEP 2

Download And Extract The Files From The Attachment. Copy The Two Extracted Files and Paste It To " classout\android\view\ Folder ". It Will Ask For Replacement. Click Yes. ( Replace It )


STEP 3

Re Compile The framework.jar and Move To system/framework with Right Permission and Reboot. Or Make A Flashable Zip and Flash It Via Recovery , Wipe Cache and Dalvik Cache and Reboot..

Enjoy...


DOWNLOADS

View attachment SmaliS.zip


CREDIT

My Brother @DaRk-L0rD For Some Tips
 
Last edited:

Xenon1978

Senior Member
Mar 7, 2014
167
80
Bangalore
Advanced Volume Control

hi there thanks for tut bro.
I tried this on Xperia C but the this files are not present in framework.jar.
But I found this files in secondary-framework.jar
only VolumePanel$1 to $5 are present.
Pls can you help in moding this files. thanks
 

Attachments

  • VolumePanel.png
    VolumePanel.png
    5.4 KB · Views: 196

Hamidreza2010

Senior Member
Jan 29, 2013
1,520
467
31
Www.Hamidreza71.Mihanblog.Com
hi bro
thanks for good tut

but 2 thing:

1- in the first post you said we should edit to:

VolumePanel$1.smali
VolumePanel$2.smali
VolumePanel$3.smali
VolumePanel$4.smali
VolumePanel$5.smali
VolumePanel$6.smali
VolumePanel$StreamControl.smali
VolumePanel$StreamResources.smali
VolumePanel.smali

but dont say any thing about VolumePanel$StreamResources.smali?


2- im try on sp , but not work, im work on and find out the problem , the problem is the attachment file.attachment file special for z and should be change for work on sp

now please tell about VolumePanel$StreamResources.smali and if can please change the attachment file for sp

special thanks bro
 
Last edited:

Rajeev

Recognized Contributor
Nov 24, 2012
16,306
26,540
Chennai , I N D I A
Xiaomi 13 Pro
hi bro
thanks for good tut

but 2 thing:

1- in the first post you said we should edit to:

VolumePanel$1.smali
VolumePanel$2.smali
VolumePanel$3.smali
VolumePanel$4.smali
VolumePanel$5.smali
VolumePanel$6.smali
VolumePanel$StreamControl.smali
VolumePanel$StreamResources.smali
VolumePanel.smali

but dont say any thing about VolumePanel$StreamResources.smali?


2- im try on sp , but not work, im work on and find out the problem , the problem is the attachment file.attachment file special for z and should be change for work on sp

now please tell about VolumePanel$StreamResources.smali and if can please change the attachment file for sp

special thanks bro

Hi

VolumePanel$StreamResources.smali and volumepanel.smali is for specialy edited for XZ. It won't work in Other Phones. I don't hav time to edit that smalis for other phones.. Sorry
 

Hamidreza2010

Senior Member
Jan 29, 2013
1,520
467
31
Www.Hamidreza71.Mihanblog.Com
Hi

VolumePanel$StreamResources.smali and volumepanel.smali is for specialy edited for XZ. It won't work in Other Phones. I don't hav time to edit that smalis for other phones.. Sorry

:crying::crying::crying:

i have those file for sp bro.
no problem for that , my problem is other thing ( i want to learn , like first post )

thanks anyway pro

its very good tut
 
Last edited:

jancsessz

Senior Member
Aug 16, 2013
724
1,160
Guys pls help, from your smali.zip

..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[31,4] Error for input '.parameter': Invalid directive
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[32,4] Error for input '.parameter': Invalid directive
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[31,15] mismatched input '"context"' expecting END_METHOD_DIRECTIVE
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[33,4] Error for input '.parameter': Invalid directive
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[115,4] Error for input '.parameter': Invalid directive
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[115,15] mismatched input '"unused"' expecting END_METHOD_DIRECTIVE
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[132,4] Error for input '.parameter': Invalid directive
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[133,4] Error for input '.parameter': Invalid directive
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[132,15] mismatched input '"context"' expecting END_METHOD_DIRECTIVE
Exception in thread "main" brut.androlib.AndrolibException: Could not smali file: android/view/VolumePanel$WarningDialogReceiver.smali
 

dipesh1502

Senior Member
Sep 16, 2013
2,400
3,832
MUMbai
Guys pls help, from your smali.zip

..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[31,4] Error for input '.parameter': Invalid directive
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[32,4] Error for input '.parameter': Invalid directive
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[31,15] mismatched input '"context"' expecting END_METHOD_DIRECTIVE
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[33,4] Error for input '.parameter': Invalid directive
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[115,4] Error for input '.parameter': Invalid directive
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[115,15] mismatched input '"unused"' expecting END_METHOD_DIRECTIVE
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[132,4] Error for input '.parameter': Invalid directive
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[133,4] Error for input '.parameter': Invalid directive
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[132,15] mismatched input '"context"' expecting END_METHOD_DIRECTIVE
Exception in thread "main" brut.androlib.AndrolibException: Could not smali file: android/view/VolumePanel$WarningDialogReceiver.smali

Use another apktool
 

jancsessz

Senior Member
Aug 16, 2013
724
1,160
I use advanced apktool by BDFreak.

Its not problem fully working latest fw.

Tapatalk-kal küldve az én C5303-el
 

Ticklefish

Inactive Recognized Themer
Oct 27, 2011
6,773
8,633
Hampshire, UK
Guys pls help, from your smali.zip

..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[31,4] Error for input '.parameter': Invalid directive
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[32,4] Error for input '.parameter': Invalid directive
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[31,15] mismatched input '"context"' expecting END_METHOD_DIRECTIVE
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[33,4] Error for input '.parameter': Invalid directive
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[115,4] Error for input '.parameter': Invalid directive
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[115,15] mismatched input '"unused"' expecting END_METHOD_DIRECTIVE
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[132,4] Error for input '.parameter': Invalid directive
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[133,4] Error for input '.parameter': Invalid directive
..\3-Out\framework.jar\smali\android\view\VolumePanel$WarningDialogReceiver.smali[132,15] mismatched input '"context"' expecting END_METHOD_DIRECTIVE
Exception in thread "main" brut.androlib.AndrolibException: Could not smali file: android/view/VolumePanel$WarningDialogReceiver.smali

This is because you're using a version of apktool 2 to compile smali files that are only compatible with versions of apktool 1..

Basically you need to decompile your apk's with apktool 1.5.2., then add your smali files, then recompile with apktool 1.5.2. again.

Once you've recompiled and the smali's been 'absorbed' into your apk, you can go back to using apktool 2 again next time you decompile.

Hope this helps!

(I should probably point out that Tickle My Android (tinyurl.com/ticklemyandroid) lets you switch from different versions of apktool with ease.. ;))
 
Last edited:

Rajeev

Recognized Contributor
Nov 24, 2012
16,306
26,540
Chennai , I N D I A
Xiaomi 13 Pro
This is because you're using a version of apktool 2 to compile smali files that are only compatible with versions of apktool 1..

Basically you need to decompile your apk's with apktool 1.5.2., then add your smali files, then recompile with apktool 1.5.2. again.

Once you've recompiled and the smali's been 'absorbed' into your apk, you can go back to using apktool 2 again next time you decompile.

Hope this helps!

(I should probably point out that Tickle My Android (tinyurl.com/ticklemyandroid) lets you switch from different versions of apktool with ease.. ;))

Yea.. I forget to mention him about ur Tickle My Android... Already used ur Work... Its awsom bro...
 
  • Like
Reactions: Ticklefish

Top Liked Posts

  • There are no posts matching your filters.
  • 15
    Hi Friends

    Here I Am Going To Teach You How To Make Advanced Volume Control Mod For Xperia Z Stock Deodexed .101 JB 4.3 Firmwares. This Mod Will Only Work In Deodexed .101 Roms. We Are Going To Edit Framework.jar. For That You Must Know How To De Compile And Edit framework.jar ( I Mean jar files ).

    If U Don't Know De Compiling jar Files Means Go To Here.

    ( http://xdaforums.com/showthread.php?t=2251719 ) And Follow The Tutorial...

    Ok. Lets Begin.


    STEP 1


    De Compile Ur framework.jar And Go To " classout\android\view\ Folder"


    There U Can Find 10 Smali Files With These Names

    VolumePanel$1.smali
    VolumePanel$2.smali
    VolumePanel$3.smali
    VolumePanel$4.smali
    VolumePanel$5.smali
    VolumePanel$6.smali
    VolumePanel$StreamControl.smali
    VolumePanel$StreamResources.smali
    VolumePanel.smali

    So We Are Going To Edit These Smali Files...


    (A)

    Open " VolumePanel$1.smali " File With Notepad ++ and Serach for This Line

    Code:
    invoke-virtual {p0}, Landroid/app/Dialog;->isShowing()Z

    Then Replace The Above Line With This Line

    Code:
    invoke-virtual {p0}, Landroid/view/VolumePanel$1;->isShowing()Z

    Save And Exit Notepad ++


    (B)

    Open " VolumePanel$2.smali " File With Notepad ++ and Serach for This Line

    Code:
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    Then Replace The Above Line With This Line

    Code:
    invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V

    Save And Exit Notepad ++


    (C)

    Open " VolumePanel$3.smali " File With Notepad ++ and Serach for This Line

    Code:
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    Then Replace The Above Line With This Line

    Code:
    invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V

    Save And Exit Notepad ++


    (D)

    Open " VolumePanel$4.smali " File With Notepad ++ and Serach for These Lines

    Code:
    invoke-virtual {v0, v2}, Landroid/os/Handler;->removeMessages(I)V
    invoke-virtual {v1, v2}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
    invoke-virtual {v0, v1}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z

    Then Replace The Above Lines With These Lines

    Code:
    invoke-virtual {v0, v2}, Landroid/view/VolumePanel;->removeMessages(I)V
    invoke-virtual {v1, v2}, Landroid/view/VolumePanel;->obtainMessage(I)Landroid/os/Message;
    invoke-virtual {v0, v1}, Landroid/view/VolumePanel;->sendMessage(Landroid/os/Message;)Z

    Save And Exit Notepad ++


    (E)

    Open " VolumePanel$5.smali " File With Notepad ++ and Serach for These Lines

    Code:
    invoke-virtual {v1, v3}, Landroid/os/Handler;->removeMessages(I)V
    invoke-virtual {v2, v3}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
    invoke-virtual {v1, v2}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z

    Then Replace The Above Lines With These Lines

    Code:
    invoke-virtual {v1, v3}, Landroid/view/VolumePanel;->removeMessages(I)V
    invoke-virtual {v2, v3}, Landroid/view/VolumePanel;->obtainMessage(I)Landroid/os/Message;
    invoke-virtual {v1, v2}, Landroid/view/VolumePanel;->sendMessage(Landroid/os/Message;)Z

    Save And Exit Notepad ++


    (F)

    Open " VolumePanel$6.smali " File With Notepad ++ and Serach for This Line

    Code:
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    Then Replace The Above Line With This Line

    Code:
    invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V

    Save And Exit Notepad ++


    (G)

    Open " VolumePanel$StreamControl.smali " File With Notepad ++ and Serach for This Line

    Code:
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    Then Replace The Above Line With This Line

    Code:
    invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V

    Save And Exit Notepad ++


    STEP 2

    Download And Extract The Files From The Attachment. Copy The Two Extracted Files and Paste It To " classout\android\view\ Folder ". It Will Ask For Replacement. Click Yes. ( Replace It )


    STEP 3

    Re Compile The framework.jar and Move To system/framework with Right Permission and Reboot. Or Make A Flashable Zip and Flash It Via Recovery , Wipe Cache and Dalvik Cache and Reboot..

    Enjoy...


    DOWNLOADS

    View attachment SmaliS.zip


    CREDIT

    My Brother @DaRk-L0rD For Some Tips
    2
    Great one bro! :highfive:
    1
    Gonna try that asap
    Well done bro
    Proud of you;)
    1
    This is because you're using a version of apktool 2 to compile smali files that are only compatible with versions of apktool 1..

    Basically you need to decompile your apk's with apktool 1.5.2., then add your smali files, then recompile with apktool 1.5.2. again.

    Once you've recompiled and the smali's been 'absorbed' into your apk, you can go back to using apktool 2 again next time you decompile.

    Hope this helps!

    (I should probably point out that Tickle My Android (tinyurl.com/ticklemyandroid) lets you switch from different versions of apktool with ease.. ;))

    Yea.. I forget to mention him about ur Tickle My Android... Already used ur Work... Its awsom bro...
    1
    Yea.. I forget to mention him about ur Tickle My Android... Already used ur Work... Its awsom bro...

    Well, I'm using your 4.4.2 rom and that's awesome too. It's all good. :D