[Sprint Samsung Galaxy S III] timmetal6669:
​

I've been working on some things for my ROM I'm about to release here in about a week and noticed that there wasn't an MC3 4way reboot guide with the updated resource files, so I figured I'd make life easier for some of the devs and anyone who wants to learn how to make the mod. First off I have to say that I couldn't find a guide. I ended up having to do a diff off of one of the reboot menu's from the NoteII forums, So thanks to "Lultima" for the original mod that I diffed from here...http://xdaforums.com/showthread.php?t=2065271 . The biggest difference that I saw was in the resource files themselves. I couldn't get any of the reboot menus from the s3 forums to work. There are quite a few differences with this MC 3 build, especially in the smali. So imagine my suprise when I diffed the Note 2 reboot menu and the only differences between the mod that I had built and thiers was the resource files. I swapped out the necessary codes and it worked like a charm.

​

So heres the resource files and the how to guide....

First Download the resource files that i diffed for this build here, http://d-h.st/GkI

1.Decompile android policy.jar

Navigate to smali\com\android\internal\policy\impl

Copy the Galaxy S3 resource files (GlobalActions$99 ,GlobalActions$99$1 ,GlobalActions$99$2,) to "smali\com\android\internal\policy\impl"

Navigate to smali\com\android\internal\policy\impl\GlobalActions.smali

Find, search for:

new-instance v1, Lcom/android/internal/policy/impl/GlobalActions$5;

and change to ...

new-instance v1, Lcom/android/internal/policy/impl/GlobalActions$99

a few lines down, find/ search for

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

and change to ..

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

save file.

Navigate to GlobalActions$SinglePressAction.smali

Find...

.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x40a
name = "SinglePressAction"
.end annotation

Between " . end annotation" and "#instance fields", paste the following:

# static fields
.field protected static rebootMode:I
.field protected static final rebootOptions:[Ljava/lang/String;

About 4 lines down, just under #direct methods, paste the following code:

.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, "Rejectz Reboot"
aput-object v2, v0, v1
const/4 v1, 0x1
const-string v2, "Hot Boot"
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

**Note: The Above code can be changed between the parentheses to say whatever you want on the reboot menu, like my Rejectz Reboot. :)

Recompile Android Policy Jar ,push to system/framework and Enjoy!!

All devs and rejectz alike are welcome to use this in their ROMS, i did edit the resource files so please throw me some thanks and some credit.. Thanks.

Here is the zip for the development impaired. This is to be flashed over stock MC3 deodexed. You can try it on other ROMS but any other changes that may have been made in the android.policy.jar will be overwritten and may cause mods made by other developers in THAT jar to break. If you do try it on another ROM, please post if it works so that we all know, thanks.

Rejectz Reboot Menu --- http://d-h.st/yKi