I originally didn't post the "how to" on this mod because there are a few ways to accomplish it and I didn't wan't to step anyone's toes or debate about it. But since its been requested to post the guide,here we go...
Firstly there are a few resources you need to download for this MOD. You could just create three new smali's but since they are already done that seems pointless not to mention all of the coding involved. So download the smali resources here;
Extended Power Menu resources-DOWNLOAD HERE
Once you've downloaded those resource smali's , unzip the zip file to your desktop and follow the tree directory till you get to 3 files:
1.GlobalActions$99$1.smali
2.GlobalActions$99$2.smali
3.GlobalActions$99.smali
Now believe it or not all we need to edit (in ICS anyway) is the Android Policy Jar.
1. Open the android.policy.jar (archive) with 7zip and drag out the "classes.dex" to your desktop.
2. Open apktool1.43 or Team RejecZ Quick Fix and baksmali the classes.dex - you should get a classout folder.
3. Go to \com\android\internal\policy\impl and paste the three resource files; (GlobalActions$99$1.smali, GlobalActions$99$2.smali and GlobalActions$99) there with the rest of the smali's.
4.With notepad++ open the GlobalActions.smali. (Note: Don't confuse it with GlobalAction$Action.smali)
**In GlobalActions.smali, go to lines 853 and 859...and change GlobalActions$5 to GlobalActions$99 on both lines, and save it.
**The Code should look like this:
7.Recompile (smali) your jar. If you're Using Team RejectZ Quick Fix to edit your Android policy.jar, (which I highly suggest) and if you did everything right, you will get a "new-classes.dex". Rename it to classes.dex and with 7zip, open the archive of the original Android Policy.jar. Then drag and drop the classes.dex you just compiled into the jar. Push the jar to /system/framework using a root explorer, or just use 7 zip to drag and drop it into a flashable zip.
This is exactly how I made this..Send Thanks to this thread that made it possible for me to port it HERE. Make sure that you've made a NANDROID BACKUP prior to flashing this. Also remember to make sure that your spaces are in line and that there are no typos. Please don't ask me to help you with this mod if you are having trouble, this guide is the best help I can give. Below I have compiled an FI03 version for you to use and/or compare with the mod you're trying to make. I also added CRT off with my mod when I compiled (smali'd) it. Good Luck and Enjoy!!
Thanks to mengpo from the Galaxy Tab 7 forum for the guide I used to help me port this MOD** Check out his link and thank him http://forum.xda-developers.com/showthread.php?t=1900424
Warning: This was made from Stock FI03 android policy jar. I recommend using this mod with FI03
This will replace your android.policy.jar. A nandroid back up is always recommended prior to flashing anything.
Directions:
1. Download Team RejectZ Extended Power Menu zip to your SD card.
2. Boot into Recovery. Wipe Cashe, Wipe Dalvik Cashe
3. Navigate to where you saved the zip on your sd card and flash. Reboot, enjoy!
Firstly there are a few resources you need to download for this MOD. You could just create three new smali's but since they are already done that seems pointless not to mention all of the coding involved. So download the smali resources here;
Extended Power Menu resources-DOWNLOAD HERE
Once you've downloaded those resource smali's , unzip the zip file to your desktop and follow the tree directory till you get to 3 files:
1.GlobalActions$99$1.smali
2.GlobalActions$99$2.smali
3.GlobalActions$99.smali
Now believe it or not all we need to edit (in ICS anyway) is the Android Policy Jar.
1. Open the android.policy.jar (archive) with 7zip and drag out the "classes.dex" to your desktop.
2. Open apktool1.43 or Team RejecZ Quick Fix and baksmali the classes.dex - you should get a classout folder.
3. Go to \com\android\internal\policy\impl and paste the three resource files; (GlobalActions$99$1.smali, GlobalActions$99$2.smali and GlobalActions$99) there with the rest of the smali's.
4.With notepad++ open the GlobalActions.smali. (Note: Don't confuse it with GlobalAction$Action.smali)
**In GlobalActions.smali, go to lines 853 and 859...and change GlobalActions$5 to GlobalActions$99 on both lines, and save it.
**The Code should look like this:
5. Save that smali. Now Open GlobalActions$SinglePressAction.smali with Notepad++. Just above line "# instance fields" lines 17 and 18 place your cursor and hit enter 2 times to make room to paste THIS code;new-instance v0, Lcom/android/internal/policy/impl/GlobalActions$99;
const v1, 0x108064b
const v2, 0x1040169
invoke-direct {v0, p0, v1, v2}, Lcom/android/internal/policy/impl/GlobalActions$99;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
iput-object v0, p0, Lcom/android/internal/policy/impl/GlobalActions;->mRestart:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
6.Still in GlobalActions$SinglePressAction.smali, Go to line 32 (about) and look for the code "direct methods". Place your curser directly behind "direct methods" and hit enter to bring your curser down to the next line. Then paste THIS code:# static fields
.field protected static rebootMode:I
.field protected static final rebootOptions:[Ljava/lang/String;
(*****Note: If you want to customize your menu , this is where you change the lines to say whatever you want, Just remember to change the boolean name value in your framework-res.apk/values/layout to reflect whatever name you put, or it won't work*****).method static constructor <clinit>()V
.registers 3
const/4 v0, 0x4
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
const-string v2, "Reboot"
aput-object v2, v0, v1
const/4 v1, 0x1
const-string v2, "Quick Reboot"
aput-object v2, v0, v1
const/4 v1, 0x2
const-string v2, "Download"
aput-object v2, v0, v1
const/4 v1, 0x3
const-string v2, "Recovery"
aput-object v2, v0, v1
sput-object v0, Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;->rebootOptions:[Ljava/lang/String;
return-void
.end method
7.Recompile (smali) your jar. If you're Using Team RejectZ Quick Fix to edit your Android policy.jar, (which I highly suggest) and if you did everything right, you will get a "new-classes.dex". Rename it to classes.dex and with 7zip, open the archive of the original Android Policy.jar. Then drag and drop the classes.dex you just compiled into the jar. Push the jar to /system/framework using a root explorer, or just use 7 zip to drag and drop it into a flashable zip.
This is exactly how I made this..Send Thanks to this thread that made it possible for me to port it HERE. Make sure that you've made a NANDROID BACKUP prior to flashing this. Also remember to make sure that your spaces are in line and that there are no typos. Please don't ask me to help you with this mod if you are having trouble, this guide is the best help I can give. Below I have compiled an FI03 version for you to use and/or compare with the mod you're trying to make. I also added CRT off with my mod when I compiled (smali'd) it. Good Luck and Enjoy!!
FI03 Team RejectZ Extended Power Menu/CRT off
Team RejectZ Extended Power Menu FI03
Team RejectZ Extended Power Menu FI03
Team RejectZ Extended Power Menu FI03
Team RejectZ Extended Power Menu FI03
Thanks to mengpo from the Galaxy Tab 7 forum for the guide I used to help me port this MOD** Check out his link and thank him http://forum.xda-developers.com/showthread.php?t=1900424
Warning: This was made from Stock FI03 android policy jar. I recommend using this mod with FI03
This will replace your android.policy.jar. A nandroid back up is always recommended prior to flashing anything.
Directions:
1. Download Team RejectZ Extended Power Menu zip to your SD card.
2. Boot into Recovery. Wipe Cashe, Wipe Dalvik Cashe
3. Navigate to where you saved the zip on your sd card and flash. Reboot, enjoy!
Last edited: