Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

[GUIDE][How-to] New Power Menu JB - With Screenshot

OP tdunham

30th January 2013, 02:31 PM   |  #1  
tdunham's Avatar
OP Recognized Contributor
TampaBay
Thanks Meter: 20,280
 
8,917 posts
Join Date:Joined: Jun 2008
Donate to Me
More
This is based off of FL16/GB08 JB 4.1.2.

A touchwiz 4.3 guide has been posted here:

[Guide How-to/MOD] New Power Menu with Screenshot TW 4.3

This will allow you to have Recovery and Bootloader (download mode) right in the Power Menu selections. I grew tired of the extended restart menu so I wrote this.

This is not a flashable mod, it is a guide only.
The attached zip file are support files only that are necessary to create this modification.

Power Menu Guide

[CODE]Framework-res.apk changes:

Add these lines to res/values/strings.xml

Code:
    <string name="download">Bootloader</string>
    <string name="recovery">Recovery</string>
Add the two png files in the attachment to:
res/drawable-hdpi

Recompile framework-res.apk.
Decompile the new framework-res.apk and open res/values/public.xml.
We need to write down these values because we need them later. Yours will probably be different. Leave off the leading zero:

Code:
    <public type="drawable" name="tw_ic_download" id="0x01080ad6" />
    <public type="drawable" name="tw_ic_recovery" id="0x01080ad7" />
    <public type="string" name="download" id="0x01040843" />
    <public type="string" name="recovery" id="0x01040844" />
Android.policy.jar changes:
Add the two smali files in the attachment to com\android\internal\policy\impl

Smali edit:
com\android\internal\policy\impl\GlobalActions.sma li

New line before:

Code:
.field private mDialog:Landroid/app/AlertDialog;

.field private mHandler:Landroid/os/Handler;
After:

Code:
.field private mDialog:Landroid/app/AlertDialog;

.field private mDownload:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

.field private mHandler:Landroid/os/Handler;


New line before:

Code:
.field private mPowerOff:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

.field private mRestart:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
After:

Code:
.field private mPowerOff:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

.field private mRecovery:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

.field private mRestart:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
Find around line 1075:

Code:
    .line 372
    new-instance v1, Lcom/android/internal/policy/impl/GlobalActions$4;

    const v2, 0x10808ee

    const v3, 0x1040192

    move-object/from16 v0, p0

    invoke-direct {v1, v0, v2, v3}, Lcom/android/internal/policy/impl/GlobalActions$4;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V

    move-object/from16 v0, p0

    iput-object v1, v0, Lcom/android/internal/policy/impl/GlobalActions;->mPowerOff:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
    .line 399
Add new lines after this section:
***NOTE THE LINES IN BLUE, THESE MUST MATCH THE VALUES WE GOT FROM FRAMEWORK (without the leading zero)***

Code:
    .line 372
    new-instance v1, Lcom/android/internal/policy/impl/GlobalActions$4;

    const v2, 0x10808ee

    const v3, 0x1040192

    move-object/from16 v0, p0

    invoke-direct {v1, v0, v2, v3}, Lcom/android/internal/policy/impl/GlobalActions$4;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V

    move-object/from16 v0, p0

    iput-object v1, v0, Lcom/android/internal/policy/impl/GlobalActions;->mPowerOff:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    .line 399
    new-instance v1, Lcom/android/internal/policy/impl/GlobalActions$Download;

    const v2, 0x1080ad6

    const v3, 0x1040843

    move-object/from16 v0, p0

    invoke-direct {v1, v0, v2, v3}, Lcom/android/internal/policy/impl/GlobalActions$Download;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V

    move-object/from16 v0, p0

    iput-object v1, v0, Lcom/android/internal/policy/impl/GlobalActions;->mDownload:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    .line 400
    new-instance v1, Lcom/android/internal/policy/impl/GlobalActions$Recovery;

    const v2, 0x1080ad7

    const v3, 0x1040844

    move-object/from16 v0, p0

    invoke-direct {v1, v0, v2, v3}, Lcom/android/internal/policy/impl/GlobalActions$Recovery;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V

    move-object/from16 v0, p0

    iput-object v1, v0, Lcom/android/internal/policy/impl/GlobalActions;->mRecovery:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    .line 401
    new-instance v1, Lcom/android/internal/policy/impl/GlobalActions$5;
Now we are going to expand the existing array to include 2 more entries.

Around line 1138:

Before:

Code:
    .line 428
    const/4 v1, 0x5
After:

Code:
    .line 428
    const/4 v1, 0x7
Find around line 1137:

Code:
    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mAirplaneModeOn:Lcom/android/internal/policy/impl/GlobalActions$ToggleAction;

    aput-object v3, v1, v2

    const/4 v2, 0x4

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mRestart:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    invoke-static {v1}, Lcom/google/android/collect/Lists;->newArrayList([Ljava/lang/Object;)Ljava/util/ArrayList;
Replace with:

Code:
    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mAirplaneModeOn:Lcom/android/internal/policy/impl/GlobalActions$ToggleAction;

    aput-object v3, v1, v2

    const/4 v2, 0x4

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mDownload:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    const/4 v2, 0x5

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mRecovery:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    const/4 v2, 0x6

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mRestart:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    invoke-static {v1}, Lcom/google/android/collect/Lists;->newArrayList([Ljava/lang/Object;)Ljava/util/ArrayList;



How to remove menu items:

Smali edit:
com\android\internal\policy\impl\GlobalActions.sma li


We need to reconfigure the array that displays the options.

Before:

Code:
.line 428
    const/4 v1, 0x7

    new-array v1, v1, [Lcom/android/internal/policy/impl/GlobalActions$Action;

    const/4 v2, 0x0

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mAccessiblityShortcut:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    const/4 v2, 0x1

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mPowerOff:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    const/4 v2, 0x2

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mDataModeToggle:Lcom/android/internal/policy/impl/GlobalActions$ToggleAction;

    aput-object v3, v1, v2

    const/4 v2, 0x3

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mAirplaneModeOn:Lcom/android/internal/policy/impl/GlobalActions$ToggleAction;

    aput-object v3, v1, v2

    const/4 v2, 0x4

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mDownload:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    const/4 v2, 0x5

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mRecovery:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    const/4 v2, 0x6

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mRestart:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    invoke-static {v1}, Lcom/google/android/collect/Lists;->newArrayList([Ljava/lang/Object;)Ljava/util/ArrayList;

    move-result-object v1

    move-object/from16 v0, p0

    iput-object v1, v0, Lcom/android/internal/policy/impl/GlobalActions;->mItems:Ljava/util/ArrayList;
We need to split up the array so that we can easily see the different sections.
It will make it easier to modify the line you want to remove.

Code:
    .line 428
    const/4 v1, 0x7

    new-array v1, v1, [Lcom/android/internal/policy/impl/GlobalActions$Action;

    #	

    const/4 v2, 0x0

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mAccessiblityShortcut:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    #

    const/4 v2, 0x1

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mPowerOff:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    #

    const/4 v2, 0x2

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mDataModeToggle:Lcom/android/internal/policy/impl/GlobalActions$ToggleAction;

    aput-object v3, v1, v2

    #

    const/4 v2, 0x3

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mAirplaneModeOn:Lcom/android/internal/policy/impl/GlobalActions$ToggleAction;

    aput-object v3, v1, v2

    #

    const/4 v2, 0x4

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mDownload:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    #

    const/4 v2, 0x5

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mRecovery:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    #

    const/4 v2, 0x6

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mRestart:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    #

    invoke-static {v1}, Lcom/google/android/collect/Lists;->newArrayList([Ljava/lang/Object;)Ljava/util/ArrayList;

    move-result-object v1

    move-object/from16 v0, p0

    iput-object v1, v0, Lcom/android/internal/policy/impl/GlobalActions;->mItems:Ljava/util/ArrayList;

Now we will remove the Data Network Mode and Airplane Mode choices from the menu. We need to shrink the array by 2 and also renumber the remaining options. Please note the changes in red.

Code:
    .line 428
    const/4 v1, 0x5

    new-array v1, v1, [Lcom/android/internal/policy/impl/GlobalActions$Action;

    #	

    const/4 v2, 0x0

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mAccessiblityShortcut:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    #

    const/4 v2, 0x1

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mPowerOff:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    #

    # const/4 v2, 0x2

    # move-object/from16 v0, p0

    # iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mDataModeToggle:Lcom/android/internal/policy/impl/GlobalActions$ToggleAction;

    # aput-object v3, v1, v2

    #

    # const/4 v2, 0x3

    # move-object/from16 v0, p0

    # iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mAirplaneModeOn:Lcom/android/internal/policy/impl/GlobalActions$ToggleAction;

    # aput-object v3, v1, v2

    #

    const/4 v2, 0x2

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mDownload:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    #

    const/4 v2, 0x3

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mRecovery:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    #

    const/4 v2, 0x4

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mRestart:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    #

    invoke-static {v1}, Lcom/google/android/collect/Lists;->newArrayList([Ljava/lang/Object;)Ljava/util/ArrayList;

    move-result-object v1

    move-object/from16 v0, p0

    iput-object v1, v0, Lcom/android/internal/policy/impl/GlobalActions;->mItems:Ljava/util/ArrayList;
Note: Use of the # symbol is not necessary. I use it simply for clarification and to separate out the sections for easier viewing while editing. Additionally, any lines edited with the # symbol will be ignored when recompiling.


Addendum - Adding Screenshot to Power Menu
(This is an addon to the original Power Menu Guide posted above).
Framework-res.apk changes:

Add these lines to res/values/strings.xml

Code:
    <string name="global_action_screenshot_txt">Screenshot</string>
Add png file in the screenshot attachment to:
res/drawable-hdpi

Recompile framework-res.apk.
Decompile the new framework-res.apk and open res/values/public.xml.
We need to write down these values because we need them later. Yours will probably be different. Leave off the leading zero:

Code:
<public type="string" name="global_action_screenshot_txt" id="0x01040845" />
<public type="drawable" name="tw_ic_screenshot" id="0x01080ad8" />
Android.policy.jar changes:
Add the two smali files in the attachment to com\android\internal\policy\impl

Smali edit:
com\android\internal\policy\impl\GlobalActions.sma li

New line before:
Code:
.field private mRingerModeReceiver:Landroid/content/BroadcastReceiver;

.field private mSilentModeAction:Lcom/android/internal/policy/impl/GlobalActions$SilentModeAction;
After:
Code:
.field private mRingerModeReceiver:Landroid/content/BroadcastReceiver;

.field private mScreenCapture:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

.field private mSilentModeAction:Lcom/android/internal/policy/impl/GlobalActions$SilentModeAction;
New Section Before:
Code:
    .line 372
    new-instance v1, Lcom/android/internal/policy/impl/GlobalActions$4;

    const v2, 0x10808ee

    const v3, 0x1040192

    move-object/from16 v0, p0

    invoke-direct {v1, v0, v2, v3}, Lcom/android/internal/policy/impl/GlobalActions$4;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V

    move-object/from16 v0, p0

    iput-object v1, v0, Lcom/android/internal/policy/impl/GlobalActions;->mPowerOff:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
    .line 399
    new-instance v1, Lcom/android/internal/policy/impl/GlobalActions$Download;

    const v2, 0x1080ad6

    const v3, 0x1040843

    move-object/from16 v0, p0

    invoke-direct {v1, v0, v2, v3}, Lcom/android/internal/policy/impl/GlobalActions$Download;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V

    move-object/from16 v0, p0

    iput-object v1, v0, Lcom/android/internal/policy/impl/GlobalActions;->mDownload:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
After:
***NOTE THE LINES IN BLUE, THESE MUST MATCH THE VALUES WE GOT FROM FRAMEWORK (without the leading zero)***
Code:
    .line 372
    new-instance v1, Lcom/android/internal/policy/impl/GlobalActions$4;

    const v2, 0x10808ee

    const v3, 0x1040192

    move-object/from16 v0, p0

    invoke-direct {v1, v0, v2, v3}, Lcom/android/internal/policy/impl/GlobalActions$4;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V

    move-object/from16 v0, p0

    iput-object v1, v0, Lcom/android/internal/policy/impl/GlobalActions;->mPowerOff:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    .line 388
    new-instance v1, Lcom/android/internal/policy/impl/GlobalActions$16;

    const v2, 0x1080ad8

    const v3, 0x1040845

    move-object/from16 v0, p0

    invoke-direct {v1, v0, v2, v3}, Lcom/android/internal/policy/impl/GlobalActions$16;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V

    move-object/from16 v0, p0

    iput-object v1, v0, Lcom/android/internal/policy/impl/GlobalActions;->mScreenCapture:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    .line 399
    new-instance v1, Lcom/android/internal/policy/impl/GlobalActions$Download;

    const v2, 0x1080ad6

    const v3, 0x1040843

    move-object/from16 v0, p0

    invoke-direct {v1, v0, v2, v3}, Lcom/android/internal/policy/impl/GlobalActions$Download;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V

    move-object/from16 v0, p0

    iput-object v1, v0, Lcom/android/internal/policy/impl/GlobalActions;->mDownload:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

Now to edit the array and add ScreenShot
NOTE: FYI, here we are removing replacing DataToggle with Airplane Mode to keep menu from overlapping the screen.
Find around line 1180:
Code:
    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mDataModeToggle:Lcom/android/internal/policy/impl/GlobalActions$ToggleAction;

    aput-object v3, v1, v2

    const/4 v2, 0x3

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mAirplaneModeOn:Lcom/android/internal/policy/impl/GlobalActions$ToggleAction;

    aput-object v3, v1, v2

    const/4 v2, 0x4

    move-object/from16 v0, p0
Replace with:
Code:
    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mAirplaneModeOn:Lcom/android/internal/policy/impl/GlobalActions$ToggleAction;    
    aput-object v3, v1, v2

    const/4 v2, 0x3

    move-object/from16 v0, p0

    iget-object v3, v0, Lcom/android/internal/policy/impl/GlobalActions;->mScreenCapture:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;

    aput-object v3, v1, v2

    const/4 v2, 0x4

    move-object/from16 v0, p0


If porting this to another phone
Important update info for Screenshot mod
:

You may have to possibly change this value in GlobalActions$16$1.smali which is one of the addon files to match your code.
Code:
invoke-static {v2}, Lcom/android/internal/policy/impl/GlobalActions;->access$200(Lcom/android/internal/policy/impl/GlobalActions;)Landroid/content/Context;
Here is my access$200 in GlobalActions.smali, just search for the line in red. If it is different access$xxx in your smali, also change access$xxx to match in GlobalActions$16$1.smali:
Code:
.method static synthetic access$200(Lcom/android/internal/policy/impl/GlobalActions;)Landroid/content/Context;
    .registers 2
    .parameter "x0"

    .prologue
    .line 88
    iget-object v0, p0, Lcom/android/internal/policy/impl/GlobalActions;->mContext:Landroid/content/Context;

    return-object v0
.end method


Credits to Mirko DDD for the ScreenShot method!!!
Attached Thumbnails
Click image for larger version

Name:	2013-01-07 06.42.09.jpg
Views:	5729
Size:	27.4 KB
ID:	1689056   Click image for larger version

Name:	2013-01-31 07.43.31.jpg
Views:	4490
Size:	24.4 KB
ID:	1691847   Click image for larger version

Name:	2013-06-21 15.31.19.jpg
Views:	2664
Size:	25.8 KB
ID:	2060034  
Attached Files
File Type: zip New Power Menu.zip - [Click for QR Code] (12.9 KB, 2169 views)
File Type: zip ScreenShot_Files.zip - [Click for QR Code] (7.0 KB, 1063 views)
Last edited by tdunham; 24th March 2014 at 03:00 PM.
The Following 58 Users Say Thank You to tdunham For This Useful Post: [ View ]
31st January 2013, 01:45 PM   |  #2  
tdunham's Avatar
OP Recognized Contributor
TampaBay
Thanks Meter: 20,280
 
8,917 posts
Join Date:Joined: Jun 2008
Donate to Me
More
OP updated with new section.
How to remove options from Power Menu. Screenshot attached with modification.
The Following 8 Users Say Thank You to tdunham For This Useful Post: [ View ]
1st February 2013, 12:26 AM   |  #3  
Mirko ddd's Avatar
Recognized Contributor / Recognized Developer
Flag Piazza Armerina
Thanks Meter: 4,730
 
1,453 posts
Join Date:Joined: Nov 2010
Donate to Me
More
thx buddy, i will look into asap.
2nd February 2013, 02:41 AM   |  #4  
Zero Night's Avatar
Senior Member
Flag Under Your Bed
Thanks Meter: 196
 
344 posts
Join Date:Joined: May 2012
Looks Nice
5th February 2013, 02:33 PM   |  #5  
PanchoPlanet's Avatar
Senior Member
Flag Crooklyn
Thanks Meter: 696
 
2,713 posts
Join Date:Joined: Oct 2011
Donate to Me
More
Re: [GUIDE][How-to] New Power Menu JB
So those the zip replace all the script changes in the op?

Not sure, changes to script+zip - or just zip to get new power menu?

Pp.:beer:

sent from a jellybean filled epic touch.
5th February 2013, 03:28 PM   |  #6  
tdunham's Avatar
OP Recognized Contributor
TampaBay
Thanks Meter: 20,280
 
8,917 posts
Join Date:Joined: Jun 2008
Donate to Me
More
Re: [GUIDE][How-to] New Power Menu JB
Quote:
Originally Posted by PanchoPlanet

So those the zip replace all the script changes in the op?

Not sure, changes to script+zip - or just zip to get new power menu?

Pp.:beer:

sent from a jellybean filled epic touch.

The zip contains extra support files that need to be added to the classes.dex file before it gets recompiled. So yes, the last part of what you said.
And also a couple files for the framework edit are in the zip too.
Sent from my SPH-D710 using xda premium
The Following 4 Users Say Thank You to tdunham For This Useful Post: [ View ]
8th February 2013, 02:44 PM   |  #7  
Samsung Fanboy's Avatar
Senior Member
Thanks Meter: 43
 
126 posts
Join Date:Joined: Dec 2012
More
Re: [GUIDE][How-to] New Power Menu JB
This thread got mentioned on Google+, keep up the good work!



Sent from my SPH-D710 using Xparent Skyblue Tapatalk 2
The Following 3 Users Say Thank You to Samsung Fanboy For This Useful Post: [ View ]
8th February 2013, 06:41 PM   |  #8  
Dzol Cp's Avatar
Recognized Contributor / Themer
Flag TB/BF Penang
Thanks Meter: 4,156
 
1,492 posts
Join Date:Joined: Jan 2012
More
Great Job!!
Gonna try this awesomenesssss..
8th February 2013, 09:33 PM   |  #9  
tdunham's Avatar
OP Recognized Contributor
TampaBay
Thanks Meter: 20,280
 
8,917 posts
Join Date:Joined: Jun 2008
Donate to Me
More
Quote:
Originally Posted by Samsung Fanboy

This thread got mentioned on Google+, keep up the good work!


Thanks for keeping an eye out for me.
Yes, another very well written writeup by Egzthunder1.

http://www.xda-developers.com/androi...epic-4g-touch/
The Following 2 Users Say Thank You to tdunham For This Useful Post: [ View ]
8th February 2013, 10:47 PM   |  #10  
Benzonat0r's Avatar
Senior Member
Thanks Meter: 1,251
 
1,298 posts
Join Date:Joined: Sep 2009
More
Very nice, I did that on my Galaxy S3 Mini and works great.

Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes