[Motorola Photon 4G] chrystal0925:
No I didn't and it works fine

edit: above may not work on other roms with my files so heres a guide need to be deodex odex is not working:

use apk_manager to decompile framework-res

open "values\strings.xml add this to it

<string name="reboot_recovery">Recovery</string>
<string name="reboot">Reboot</string>

next add png icons here (i attached some to use )

"framework-res.apk\res\drawable-hdpi"

make sure they are named

"ic_lock_reboot.png

"ic_lock_recovery.png

recompile then decompile to get it to auto generate the public id's

now to add the option to the shutdown

so decompile framework.jar and open "com\android\internal\app\ShutdownThread.smali

add to line 40 keep the lines spaced(skipping a line between )

.field public static mReboot:I

then at line 542 before "invoke-static {}, Landroid/os/Power;->shutdown()V" add this

sget v1, Lcom/android/internal/app/ShutdownThread;->mReboot:I

const/4 v2, 0x1

if-eq v1, v2, :reboot

const/4 v2, 0x2

if-eq v1, v2, :rebootRecovery

then at line 557 or about line 554 after this

.line 512

return-void

add this

:reboot

const-string v4, "now"

invoke-static {v4}, Landroid/os/Power;->reboot(Ljava/lang/String;)V

return-void

:rebootRecovery

const-string v4, "recovery"

invoke-static {v4}, Landroid/os/Power;->reboot(Ljava/lang/String;)V

return-void

next save and recompile

now decompile androidpolicy.jar

open com\android\internal\policy\impl\GlobalActions.smali

look for .method private createDialog()Landroid/app/AlertDialog;

and at line 624 edit to add two more methods

.line 232
const/4 v0, 0x4

(change the 0x4 to 0x6)

and at line 657 edit out the ids from your public.xml (]do not add this reference here )

add this

const/4 v1, 0x4

new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$10;

const v3, 0x1080501 ([COLOR="Red"]change this to drawable reboot id[/COLOR])

const v4, 0x10404ed [COLOR="red"](reboot string id[/COLOR])

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

aput-object v2, v0, v1

const/4 v1, 0x5

new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$11;

const v3, 0x1080502( [COLOR="red"]drawable recovery id[/COLOR])

const v4, 0x10404ee ([COLOR="red"]recovery string id[/COLOR])

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

aput-object v2, v0, v1

so you need to go back to your framework.apk

open res/values/public to get the id's to change the above..

save and go to

GlobalActions$5.smali and copy it and name it GlobalActions$10.smali

open GlobalActions$10 and replace all instances ( so any where you see) of GlobalActions$5

with GlobalActions$10 then add this code

sput v2, Lcom/android/internal/app/ShutdownThread;->mReboot:I

to line 52 before

invoke-static {v0, v1}, Lcom/android/internal/app/ShutdownThread;->shutdown(Landroid/content/Context;Z)V

now copy GlobalActions$10.smali and name it GlobalActions$11.smali

replace all instances of GlobalActions$10 with GlobalActions$11

then save recompile and everything is now added to run this mod!