Sunday, February 5, 2017
How to add reboot recovery and bootloader options in Power menu
How to add reboot recovery and bootloader options in Power menu
So lets Start
Required
1-apktool
2-notepad++
3-some brains
STEP-1
Decompile Framework-res.apk
goto to res/vlaues/arrays.xml
and add these lines at the end
now goto res/values/strings
and add these lines at the end
goto add the ic_lock_reboot.png which i have i provided in the resources attached below this post to drawablw-hdpi folder
so before compiling the framework-res.apk follow erorcuns guide to properly recompile framework-res.apk
once recompile is done ....decompile again to get the HEX IDs
STEP-2
decompile android.policy.jar
goto classoutcomandroidinternalpolicyimpl
and add the 3 smalis files which i provided in the resources attached below
Now option classoutcomandroidinternalpolicyimplGlobalAc tions.smali
and find these lines and add the red marked lines between them
now we need to assign the Hex ids as per ur Public.xml
NOTE: the hex ids might be different from mine and yours so be careful while comparing
new as per the above changes in GlobalActions.xml
assign the ids as below
<public type="drawable" name="ic_lock_reboot" id="0x01080827" />
<public type="string" name="reboot" id="0x0104060b" />
Now option up classoutcomandroidinternalpolicyimplGlobalAc tions$11.smali
find and replace the following
@line 70
<public type="string" name="reboot" id="0x0104060b" />
@line 90
<public type="array" name="reboot_options" id="0x0107003b" />
@line 105
<public type="string" name="ok" id="0x0104000a" />
@line 147
<public type="bool" name="config_sf_slowBlur" id="0x0111000b" />
now open up classoutcomandroidinternalpolicyimplGlobalAc tions$11$2.smali
@line 59
<public type="array" name="reboot_actions" id="0x0107003c" />
save it and recompile android.policy.jar
now push all the files into ut phone...will have the new Advanced reboot options
Required
1-apktool
2-notepad++
3-some brains
STEP-1
Decompile Framework-res.apk
goto to res/vlaues/arrays.xml
and add these lines at the end
Code:
<string-array name="reboot_options">
<item>@string/reboot_normal</item>
<item>@string/reboot_recovery</item>
<item>@string/reboot_bootloader</item>
</string-array>
<string-array name="reboot_actions">
<item>now</item>
<item>recovery</item>
<item>bootloader</item>
</string-array>
now goto res/values/strings
and add these lines at the end
Code:
<string name="reboot">Reboot</string>
<string name="reboot_normal">Reboot</string>
<string name="reboot_recovery">Recovery</string>
<string name="reboot_bootloader">Bootloader</string>
goto add the ic_lock_reboot.png which i have i provided in the resources attached below this post to drawablw-hdpi folder
so before compiling the framework-res.apk follow erorcuns guide to properly recompile framework-res.apk
once recompile is done ....decompile again to get the HEX IDs
STEP-2
decompile android.policy.jar
goto classoutcomandroidinternalpolicyimpl
and add the 3 smalis files which i provided in the resources attached below
Now option classoutcomandroidinternalpolicyimplGlobalAc tions.smali
and find these lines and add the red marked lines between them
Code:
.line 235
iget-object v0, p0, Lcom/android/internal/policy/impl/GlobalActions;->mItems:Ljava/util/ArrayList;
new-instance v1, Lcom/android/internal/policy/impl/GlobalActions$2;
const v2, 0x1080030
const v3, 0x10400fa
invoke-direct {v1, p0, v2, v3}, Lcom/android/internal/policy/impl/GlobalActions$2;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 213
move-object/from16 v0, p0
iget-object v1, v0, Lcom/android/internal/policy/impl/GlobalActions;->mItems:Ljava/util/ArrayList;
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$11;
const v3, 0x1080827
const v4, 0x104060b
move-object/from16 v0, p0
invoke-direct {v2, v0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$11;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
invoke-virtual {v1, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 260
iget-object v0, p0, Lcom/android/internal/policy/impl/GlobalActions;->mItems:Ljava/util/ArrayList;
iget-object v1, p0, Lcom/android/internal/policy/impl/GlobalActions;->mAirplaneModeOn:Lcom/android/internal/policy/impl/GlobalActions$ToggleAction;
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
now we need to assign the Hex ids as per ur Public.xml
NOTE: the hex ids might be different from mine and yours so be careful while comparing
new as per the above changes in GlobalActions.xml
assign the ids as below
<public type="drawable" name="ic_lock_reboot" id="0x01080827" />
Code:
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$11;
const v3, 0x1080827
<public type="string" name="reboot" id="0x0104060b" />
Code:
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$11;
const v3, 0x1080827
const v4, 0x104060b
Now option up classoutcomandroidinternalpolicyimplGlobalAc tions$11.smali
find and replace the following
@line 70
<public type="string" name="reboot" id="0x0104060b" />
Code:
const v3, 0x104060b
@line 90
<public type="array" name="reboot_options" id="0x0107003b" />
Code:
const v3, 0x107003b
@line 105
<public type="string" name="ok" id="0x0104000a" />
Code:
const v2, 0x104000a
@line 147
<public type="bool" name="config_sf_slowBlur" id="0x0111000b" />
Code:
const v3, 0x111000b
now open up classoutcomandroidinternalpolicyimplGlobalAc tions$11$2.smali
@line 59
<public type="array" name="reboot_actions" id="0x0107003c" />
Code:
const v2, 0x107003c
save it and recompile android.policy.jar
now push all the files into ut phone...will have the new Advanced reboot options
Available link for download