[MOD][CM7][CM9]Mms Apk Modded For Enter Key Activity - LG Optimus Me P350

Were you ever frustrated because there was no enter button in your messaging app after installing CM7, CM9 well if you were just follow this guide to remove that frustration.
Proof :highfive: :-
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
THIS GUIDE IS ONLY FOR OPTIMUS ME P350 AND NOT ANY OTHER.
Click to expand...
Click to collapse
Credits :good: :-
mikko3024 for guide.
crackeron for helping me out.
and finally system.img for his post which left me to find this mod.
Pre-Requisites :-
1. APK Tool can be downloaded from here.
2. Smali.jar no need to download it is included the apktools file.
3. Mms.apk can be found in your ROM's system\app\ folder.
4. Notepad++ because odinary Notepad or Wordpad may damage the file NP++ can be downloaded from here.
Instructions :angel: :-
1. Extract apktools.rar to some folder named APKTOOLS in your PC.
2. Install Notepad++.
3. Put the Mms.apk and framework-res.apk(found in system\framework) in the APKTOOLS folder.
4. Shift+Right Click the APKTOOLS.
5. Select Open Command Window Here from the list it should open a command prompt if you did properly.
6. Type
Code:
apktool d framework-res.apk
.
7. Type
Code:
apktool if framework-res.apk
.
8. Type
Code:
apktool d Mms.apk
.
9. After it has finished decompiling open up Mms folder(will be created after decompiling).
10. Navigate to res\layout\.
11. Open compose_message_activity using NP++.
12. Find this part |textShortMessage and delete only this part and not the entire line save it.
13. Recompile the apk by typing the following in the command prompt window.
Code:
apktool b Mms
14. Now go back to Mms folder.
15. Navigate to \smali\com\android\mms\ui folder.
16. Open ComposeMessageActivity.smali using NP++.
17. Find this line .method public onEditorAction(Landroid/widget/TextView;ILandroid/view/KeyEventZ.
18. Just modify the .method snippet to below.
Code:
.method public onEditorAction(Landroid/widget/TextView;ILandroid/view/KeyEvent;)Z
.locals 4
.parameter "v"
.parameter "actionId"
.parameter "event"
.prologue
const/4 v3, 0x1
const/4 v2, 0x0
.line 3171
if-eqz p3, :cond_4
.line 3173
invoke-virtual {p3}, Landroid/view/KeyEvent;->getKeyCode()I
move-result v0
const/16 v1, 0x17
if-eq v0, v1, :cond_0
invoke-virtual {p3}, Landroid/view/KeyEvent;->getKeyCode()I
move-result v0
const/16 v1, 0x42
if-ne v0, v1, :cond_1
:cond_0
iget-boolean v0, p0, Lcom/android/mms/ui/ComposeMessageActivity;->mSendOnEnter:Z
if-nez v0, :cond_1
move v0, v2
.line 3190
:goto_0
return v0
.line 3178
:cond_1
invoke-virtual {p3}, Landroid/view/KeyEvent;->isShiftPressed()Z
move-result v0
if-nez v0, :cond_3
.line 3179
invoke-direct {p0}, Lcom/android/mms/ui/ComposeMessageActivity;->isPreparedForSending()Z
move-result v0
if-eqz v0, :cond_2
.line 3180
invoke-direct {p0}, Lcom/android/mms/ui/ComposeMessageActivity;->confirmSendMessageIfNeeded()V
:cond_2
move v0, v3
.line 3182
goto :goto_0
:cond_3
move v0, v2
.line 3184
goto :goto_0
.line 3187
:cond_4
invoke-direct {p0}, Lcom/android/mms/ui/ComposeMessageActivity;->isPreparedForSending()Z
move-result v0
if-eqz v0, :cond_5
.line 3188
invoke-direct {p0}, Lcom/android/mms/ui/ComposeMessageActivity;->confirmSendMessageIfNeeded()V
:cond_5
move v0, v3
.line 3190
goto :goto_0
.end method
19. Save it.
20. Now copy the smali folder to someother directory just in case for a backup.
21. Copy the smali.jar to Mms folder
21. Now in the Command Prompt window type
Code:
cd Mms
and the type
Code:
java -jar ./smali.jar -o ./classes.dex ./smali
to create a classes.dex file.
22. In the Mms folder navigate to dist folder and then open Mms.apk using WinRAR or WinZip or any other similar programs.
23. Copy the classes.dex file into the archive select the mode Add or Replace the files.
24. Copy it your SDCard.
25. Delete the Mms.apk in system\app in you phone using Root Explorer or something similar.
26. Copy the new Mms.apk from your SDCard to system\app in your and set the permissions to rw-r--r--.
27. Reboot Phone
28. Enjoy the new Mms with next line command :victory:.
IF YOU ARE SO LAZY OF DOING ALL THOSE STEPS JUST DOWNLOAD THE PREMODDED MMS.APK FROM HERE AND FOLLOW FROM STEP NO 24.
Click to expand...
Click to collapse
ENCOURAGE ME TO POST MORE MODS AND HACKS AND ROMS LIKE THIS YOU CAN ENCOURAGE ME BY PRESSING THE THANKS BUTTON :good:
Click to expand...
Click to collapse

thx for it..

pkprasanna said:
thx for it..
Click to expand...
Click to collapse
Welcome bro

The button doesn't work. It works like the send button and not enter.
How to fix this?

Dragonforce said:
The button doesn't work. It works like the send button and not enter.
How to fix this?
Click to expand...
Click to collapse
Go to settings uncheck send on enter option.

Thnx

Dragonforce said:
Thnx
Click to expand...
Click to collapse
Welcome bro and don't just say it click it

The Chain Hacker said:
Welcome bro and don't just say it click it
Click to expand...
Click to collapse
Already done that ^^

Related

Mms.apk - Skin Active + No MMS Convert + No contact Limit + Sent Time

MMS.apk mod for Samsung Galaxy Gio by greg_h_w (me)
First of all, I have to say Thanks to muveszur for his guide on Galaxy S2 thread
The Mms.apk has the following moddings:
- Message Skin (Default, Edge, Gloss, Sticky Note, Memo)
- Sent Time displayed instead of the Received Time
- No AutoConverting messages to MMS after 4 SMS. In my mod, it will be converted to MMS after 200 SMS.
- Possible to add to the message 200 contacts instead of 10 contacts.
Click to expand...
Click to collapse
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Click to expand...
Click to collapse
HOW TO - For Developers
Change the AutoConverting:
In /res/xml/mms_config.xml change the following values
Code:
<int name="smsToMmsTextThreshold">4</int>
to:
Code:
<int name="smsToMmsTextThreshold">200</int>
Increase Contacts adding for the message
In /res/xml/mms_config.xml change the following values
Code:
<int name="recipientLimit">10</int>
to:
Code:
<int name="recipientLimit">200</int>
Display Sent Time instead of the Received Time
In /smali/com/android/mms/transaction/SMSReceiverService.smali there are 2 following value like this
Code:
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
change the first one to:
Code:
invoke-virtual {p1}, Landroid/telephony/SmsMessage;->getTimestampMillis()J
then the second one to:
Code:
invoke-virtual {v0}, Landroid/telephony/gsm/CbMessage;->getTimestampMillis()J
Activated Message Skin:
In /res/xml/preferences.xml add the following values
Code:
<ListPreference android:entries="@array/pref_entries_message_skin" android:title="@string/pref_title_message_skin" android:key="pref_key_message_skin" android:defaultValue="Default" android:dialogTitle="@string/pref_dialog_title_message_skin" android:entryValues="@array/pref_entry_values_message_skin" />
after
Code:
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
In /smali/com/android/mms/ui/MessagingPreferenceActivity.smali
Change the following values
Code:
.method public static getMessageSkin(Landroid/content/Context;)I
.locals 1
.parameter "context"
.prologue
.line 631
const/4 v0, 0x0
return v0
.end method
to :
Code:
.method public static getMessageSkin(Landroid/content/Context;)I
.locals 6
.parameter "context"
.prologue
.line 631
const/4 v4, 0x0
const-string v5, "Default"
.line 578
invoke-static {p0}, Landroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences;
move-result-object v0
.line 579
.local v0, pref:Landroid/content/SharedPreferences;
const-string v2, "pref_key_message_skin"
const-string v3, "Default"
invoke-interface {v0, v2, v5}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 580
.local v1, skinType:Ljava/lang/String;
const-string v2, "Default"
invoke-virtual {v5, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
move v2, v4
.line 591
:goto_0
return v2
.line 582
:cond_0
const-string v2, "Edge"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_1
.line 583
const/4 v2, 0x1
goto :goto_0
.line 584
:cond_1
const-string v2, "Gloss"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_2
.line 585
const/4 v2, 0x2
goto :goto_0
.line 586
:cond_2
const-string v2, "Sticker note"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_3
.line 587
const/4 v2, 0x3
goto :goto_0
.line 588
:cond_3
const-string v2, "Memo"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_4
.line 589
const/4 v2, 0x4
goto :goto_0
:cond_4
move v2, v4
.line 591
goto :goto_0
.end method
Click to expand...
Click to collapse
For Stock Rom
1. Download the modified Mms.apk (Attached file)
2. Backup your Mms.apk and mms.odex in /system/app (Use Root Explorer).
3. Mount /system/app as R/W
3. Copy the modified Mms.apk to /system/app
4. Set the permissions to rw-r--r--
5. Delete mms.odex
6. Reboot
Click to expand...
Click to collapse
For Deodexed Rom
1. Download the modified Mms.apk (Attached file)
2. Backup your Mms.apk in /system/app (Use Root Explorer).
3. Mount /system/app as R/W
3. Copy the modified Mms.apk to /system/app
4. Set the permissions to rw-r--r--
5. Reboot
Click to expand...
Click to collapse
Note :
- Don't forget to Clear Messaging Data on Manage Application
- If you are using TouchWizLauncher, you have to erase the data of the launcher in the Settings
Click to expand...
Click to collapse
This mod working on Stock and Deodexed Rom
I tested on DXKT8 on Galaxy Gio and DXKK2 on Galaxy Y​
If you like my work, give me a beer, or just hit the the Thanks button
DONATE
Thanks for the upload, that works with cm 7.2?
thexavier said:
Thanks for the upload, that works with cm 7.2?
Click to expand...
Click to collapse
I don't know. I don't try it yet. Maybe you can report it to me later.
But don't forget to backup your mms.apk before try it
The thems didnt work in stock... And its only in english?
greg_h_w said:
I don't know. I don't try it yet. Maybe you can report it to me later.
But don't forget to backup your mms.apk before try it
Click to expand...
Click to collapse
I tried, sadly don't works. i hope for an update.
I need to delete all the messages I already received, right?
This mod works on odex rom?
MatZ69 said:
The thems didnt work in stock... And its only in english?
Click to expand...
Click to collapse
I have try it on my stock rom DXKP6 without deodexed. I'm sorry, what do you mean only in english?
thexavier said:
I tried, sadly don't works. i hope for an update.
Click to expand...
Click to collapse
I'm so sorry. Maybe I can give the guide to Mod it.
Josenhans said:
I need to delete all the messages I already received, right?
Click to expand...
Click to collapse
Only need to clear the cache and I think it didn't delete all the message. cmiiw
Rausio said:
This mod works on odex rom?
Click to expand...
Click to collapse
yup..
I have update the first post. I give the tutorial how to mod it.
Ask it if someone have a question.
Hope it helpful
greg_h_w said:
I have try it on my stock rom DXKP6 without deodexed. I'm sorry, what do you mean only in english?
Click to expand...
Click to collapse
The definitions are in english while my room are in portuguese,but i will try to modify my own application
Thanks
MatZ69 said:
The definitions are in english while my room are in portuguese,but i will try to modify my own application
Thanks
Click to expand...
Click to collapse
you're welcome
MatZ69 said:
The definitions are in english while my room are in portuguese,but i will try to modify my own application
Thanks
Click to expand...
Click to collapse
Boas!
Chegaste a modificar o teu mms.apk para Portugues?
Se sim, podes enviar-me?
Obrigado!
Can this modified apk solves this problem;
not work on cyanogen 7.2 rc5.6
DarkShadow69 said:
Can this modified apk solves this problem;
Click to expand...
Click to collapse
according to your screenshot. You using go sms. So it can't solve your problem
iman1396 said:
not work on cyanogen 7.2 rc5.6
Click to expand...
Click to collapse
Have you try to mod it by your self ??
greg_h_w said:
Have you try to mod it by your self ??
Click to expand...
Click to collapse
i'm not, where is problem ?
I tried to change the skin but does not happen.
stock ROM DXKT4.
thank you so much you helped me a lot
thx for your share
thanks
thanks very much

[MOD] 4-Way Reboot - How to (GB) (ICS) (JB)

Thanks to snq- for original 4-way reboot.
Got the idea from THIS thread.
This is just simple mod that adds 4 booting options behind power menus "power off" -button ( 1. reboot 2. hot boot 3. recovery 4. download ).
So, compared to advanced power menu, this has only one new button. But I made this because now there is no need for framework.jar/framework-res changes. This is much more friendly to update.
I only make this tutorial and attach needed files. Everyone can use it way they want to, but give credit to original maker.
Check THIS post for Samsung ICS roms
Check THIS post for Samsung JB roms
Problem? Check THESE for help.
What you need to do is:
-Decompile android.policy.jar of your rom
-Copy attached folder to yours
-Open GlobalActions.smali
-Search line "Lcom/android/internal/policy/impl/GlobalActions$4;" ( some roms might have different number on shutdown button. You find right one by for example tracing shutdown icon id )
-Change number 4 to 99 ( two of them )
Before
Code:
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$4;
const v3, 0x1080030
const v4, 0x1040150
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$4;->(Lcom/android/internal/policy/impl/GlobalActions;II)V
After
Code:
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$99;
const v3, 0x1080030
const v4, 0x1040150
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$99;->(Lcom/android/internal/policy/impl/GlobalActions;II)V
-Open GlobalActions$SinglePressAction.smali
-Before line "# instance fields"
paste following code
Code:
# static fields
.field protected static rebootMode:I
.field protected static final rebootOptions:[Ljava/lang/String;
-Then after line "# direct methods"
paste following code
Code:
.method static constructor ()V
.registers 3
const/4 v0, 0x5
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, "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
const/4 v1, 0x4
const-string v2, "Shutdown"
aput-object v2, v0, v1
sput-object v0, Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;->rebootOptions:[Ljava/lang/String;
return-void
.end method
-So your file should look something like this after those changes
Code:
.class abstract Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
.super Ljava/lang/Object;
.source "GlobalActions.java"
# interfaces
.implements Lcom/android/internal/policy/impl/GlobalActions$Action;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/internal/policy/impl/GlobalActions;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x40a
name = "SinglePressAction"
.end annotation
# static fields
.field protected static rebootMode:I
.field protected static final rebootOptions:[Ljava/lang/String;
# instance fields
.field private final mIconResId:I
.field private final mMessageResId:I
# direct methods
.method static constructor ()V
.registers 3
const/4 v0, 0x5
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, "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
const/4 v1, 0x4
const-string v2, "Shutdown"
aput-object v2, v0, v1
sput-object v0, Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;->rebootOptions:[Ljava/lang/String;
return-void
.end method
.method protected constructor (II)V
.registers 3
.parameter "iconResId"
.........
.........
-Compile .jar and your done.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Additional
If you don't want that "Shutdown Method" text on top of that menu then:
-Open GlobalActions$99.smali
-Remove following code
Code:
const-string v2, "Shutdown Method"
invoke-virtual {v1, v2}, Landroid/app/AlertDialog$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;
move-result-object v1
Problem? Check following posts for help.
When pressing restart/shutdown button and you only see title and "ok" and "cancel" -buttons, then see THIS post.
Hot reboot does not work? See HERE.
Hi, i tried to do this mod but not work....the option menu disappears and system reboot...
I renamed the file and his path in GlobalActions$15.smali but I can not make it work...
barikke74 said:
Hi, i tried to do this mod but not work....the option menu disappears and system reboot...
I renamed the file and his path in GlobalActions$15.smali but I can not make it work...
Click to expand...
Click to collapse
Hi!
You have to change those three files names then. In your case like 15, 15$1, 15$2. Then you changed that path in globalactions from 4 to 15? Great so far. Now you need to change every name called globalactions$10 to that $15 inside those three files i attached. You might want to use notepad++ for this. There's addon that can do this easily.
Maybe i rename those files to something else, since people have so big numbers on globalactions.
EDIT. I uploaded new source files. Now It's named $99, so i bet that none have that already existing. Edited tutorial also, so you name 4 to 99 in GlobalActions.smali
Hi kahvitahra and thanks for the quick response
I did all that you said but it does not work
Now I try with the new source
Thanks again
barikke74 said:
Hi kahvitahra and thanks for the quick response
I did all that you said but it does not work
Now I try with the new source
Thanks again
Click to expand...
Click to collapse
If you still have problems, then please attach logcat, so i can see what causes it.
I do not work ...
I put the logcat, I hope will be helpful to
http://dl.dropbox.com/u/52103175/alogcat.2012-03-31-14-38-49+0200.txt
and this is the policy
http://dl.dropbox.com/u/52103175/android.policy.jar
barikke74 said:
I do not work ...
I put the logcat, I hope will be helpful to
http://dl.dropbox.com/u/52103175/alogcat.2012-03-31-14-38-49+0200.txt
and this is the policy
http://dl.dropbox.com/u/52103175/android.policy.jar
Click to expand...
Click to collapse
What rom is that? is it ICS?
My bad that i have not been using ICS yet. Atleast your rom have build that global.actions differently. Your power off button is number $5. So instead of changing that 4 to 99, you should change 5 to 99. There can be something else changed also, but you can try just that if you like. Or since you have restart button already(?) then if i was you i would replace that button ($6) and then remove that shutdown from my files.
I should flash ICS and test this on it.
Yes, my ROM is ICS based...
If you try on ICS i wait your notice
Thanks for your time
Will test this out now
Moved to themes and apps.
Btw, nice work
Samsung ICS roms
What you need to do is:
-Decompile android.policy.jar of your rom
-Copy attached ICS folder to yours (POST 1)
-In file "GlobalActions$99.smali" there is id 0x1110008, you might want to check that this id is same in you roms puplic.xml ( config_sf_slowBlur ). In gingerbread roms this did not change, but not I'm not sure about these ICS roms.
( check also that ids 0x104000a = "ok" -string and 0x104 = "cancel" -string matches in your framework. )
-Open GlobalActions.smali
-Search line "new-instance v0, Lcom/android/internal/policy/impl/GlobalActions$6;" ( some roms might have different number on reboot button. You find right one by for example tracking mRestart. See example below. )
-Change number 6 to 99 ( two of them )
Before
Code:
new-instance v0, Lcom/android/internal/policy/impl/GlobalActions$6;
const v1, 0x1080640
const v2, 0x1040165
invoke-direct {v0, p0, v1, v2}, Lcom/android/internal/policy/impl/GlobalActions$6;->(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;
After
Code:
new-instance v0, Lcom/android/internal/policy/impl/GlobalActions$99;
const v1, 0x1080640
const v2, 0x1040165
invoke-direct {v0, p0, v1, v2}, Lcom/android/internal/policy/impl/GlobalActions$99;->(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;
-Open GlobalActions$SinglePressAction.smali
-Before line "# instance fields"
paste following code
Code:
# static fields
.field protected static rebootMode:I
.field protected static final rebootOptions:[Ljava/lang/String;
-Then after line "# direct methods"
paste following code
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, "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
-So your file should look something like this after those changes
Code:
.class abstract Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
.super Ljava/lang/Object;
.source "GlobalActions.java"
# interfaces
.implements Lcom/android/internal/policy/impl/GlobalActions$Action;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/internal/policy/impl/GlobalActions;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x40a
name = "SinglePressAction"
.end annotation
# static fields
.field protected static rebootMode:I
.field protected static final rebootOptions:[Ljava/lang/String;
# instance fields
.field private final mIconResId:I
.field private final mMessageResId:I
# direct methods
.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, "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
.method protected constructor <init>(II)V
.registers 3
.parameter "iconResId"
.........
.........
-Compile .jar and your done.
I'm sorry but can not seem to make it work
I follow your instructions to the letter.....i don't understand
EDIT: ok ok.....finally I succeeded
Thanks 10000000
barikke74 said:
I'm sorry but can not seem to make it work
I follow your instructions to the letter.....i don't understand
EDIT: ok ok.....finally I succeeded
Thanks 10000000
Click to expand...
Click to collapse
It should work. Tested it on couple of ICS roms. Attach logcat with error, then maybe i could help you.
Edit. Great man.
I can't decompile android.policy.jar. It said it doesn't contain classes.dex. I opened it with winrar, it only has 1 folder META-INF. It's a SGS2 with ICS LP3
interpol2050 said:
I can't decompile android.policy.jar. It said it doesn't contain classes.dex. I opened it with winrar, it only has 1 folder META-INF. It's a SGS2 with ICS LP3
Click to expand...
Click to collapse
Your rom must be odexed then?
See THIS thread for how to decompile and odex those back.
I tried to deodex android.policy.jar but got this error. Could you help?
C:\Users\Q*****\Documents\Samsung\Deodex-Odex>java -Xmx1024m -jar baksmali.jar
-c :core.jar:core-junit.jar:bouncycastle.jar:ext.jar:framework.jar:framework2.j
ar:android.policy.jar:services.jar:apache-xml.jar:filterfw.jar -x android.policy
.odex
UNEXPECTED TOP-LEVEL EXCEPTION:
org.jf.dexlib.Util.ExceptionWithContext: Unknown opcode: f1
at org.jf.dexlib.Util.ExceptionWithContext.withContext(ExceptionWithCont
ext.java:54)
at org.jf.dexlib.Code.InstructionIterator.IterateInstructions(Instructio
nIterator.java:87)
at org.jf.dexlib.CodeItem.readItem(CodeItem.java:157)
at org.jf.dexlib.Item.readFrom(Item.java:76)
at org.jf.dexlib.OffsettedSection.readItems(OffsettedSection.java:48)
at org.jf.dexlib.Section.readFrom(Section.java:143)
at org.jf.dexlib.DexFile.<init>(DexFile.java:431)
at org.jf.baksmali.main.main(main.java:250)
Caused by: java.lang.RuntimeException: Unknown opcode: f1
at org.jf.dexlib.Code.InstructionIterator.IterateInstructions(InstructionIterator.java:51)
... 6 more
Error occured at code address 28
code_item @0x12c04
interpol2050 said:
I tried to deodex android.policy.jar but got this error. Could you help?
C:\Users\Q*****\Documents\Samsung\Deodex-Odex>java -Xmx1024m -jar baksmali.jar
-c :core.jar:core-junit.jar:bouncycastle.jar:ext.jar:framework.jar:framework2.j
ar:android.policy.jar:services.jar:apache-xml.jar:filterfw.jar -x android.policy
.odex
UNEXPECTED TOP-LEVEL EXCEPTION:
org.jf.dexlib.Util.ExceptionWithContext: Unknown opcode: f1
at org.jf.dexlib.Util.ExceptionWithContext.withContext(ExceptionWithCont
ext.java:54)
at org.jf.dexlib.Code.InstructionIterator.IterateInstructions(Instructio
nIterator.java:87)
at org.jf.dexlib.CodeItem.readItem(CodeItem.java:157)
at org.jf.dexlib.Item.readFrom(Item.java:76)
at org.jf.dexlib.OffsettedSection.readItems(OffsettedSection.java:48)
at org.jf.dexlib.Section.readFrom(Section.java:143)
at org.jf.dexlib.DexFile.<init>(DexFile.java:431)
at org.jf.baksmali.main.main(main.java:250)
Caused by: java.lang.RuntimeException: Unknown opcode: f1
at org.jf.dexlib.Code.InstructionIterator.IterateInstructions(InstructionIterator.java:51)
... 6 more
Error occured at code address 28
code_item @0x12c04
Click to expand...
Click to collapse
DL latest baksmali/smali 1.3.2 and for ICS files you also need to use API Level: 15. So add "-a 15" command when baksmalin. See HERE.
I did this: Deodex -> decompile -> modify -> compile -> reodex -> copy signature. No error occured and all seem fine as expected. I placed original android.policy.jar and patched and signed android.policy.odex to /system/framework but my SG2 stuck at boot animation. Any idea? ( I restored my SG2 btw )

[GUIDE][How-to] Enable 5 lockscreen shortcuts JB

Enable 5 lockscreen shortcuts in Jellybean.
Credits to Mirko DDD and Jeboo for this.
SecSettings.apk - smali edit
smali\com\android\settings\lockscreenshortcut\Lock ScreenShortcutSettings.smali
Before:
Code:
# direct methods
.method static constructor <clinit>()V
.registers 2
.prologue
const/4 v1, 0x0
.line 79
[COLOR="Red"]const/4 v0, 0x3[/COLOR]
sput v0, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->MAX_SHORTCUT_ICON:I
.line 80
sput v1, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->DEFAULT_CURSOR_WIDTH:I
.line 81
sput v1, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->ICON_5_CURSOR_WIDTH:I
return-void
.end method
After:
Code:
# direct methods
.method static constructor <clinit>()V
.registers 2
.prologue
const/4 v1, 0x0
.line 79
[COLOR="Red"] const/4 v0, 0x5[/COLOR]
sput v0, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->MAX_SHORTCUT_ICON:I
.line 80
sput v1, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->DEFAULT_CURSOR_WIDTH:I
.line 81
sput v1, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->ICON_5_CURSOR_WIDTH:I
return-void
.end method
Before:
Code:
const-string v30, "SPR"
invoke-static {}, Lcom/android/settings/Utils;->readSalesCode()Ljava/lang/String;
move-result-object v31
invoke-virtual/range {v30 .. v31}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v30
if-eqz v30, :cond_99
.line 160
:cond_29b
[COLOR="Red"]const/16 v30, 0x4[/COLOR]
After:
Code:
const-string v30, "SPR"
invoke-static {}, Lcom/android/settings/Utils;->readSalesCode()Ljava/lang/String;
move-result-object v31
invoke-virtual/range {v30 .. v31}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v30
if-eqz v30, :cond_99
.line 160
:cond_29b
[COLOR="Red"]const/16 v30, 0x5[/COLOR]
Framework-res.apk edit:
res/values/dimens.xml
Change:
Code:
<dimen name="keyguard_lockscreen_application_shortcut_icon_width">52.0dip</dimen>
<dimen name="keyguard_lockscreen_application_shortcut_icon_height">50.0dip</dimen>
Is there any way to get a flashable zip of this mod. Just asking
Sent from my SPH-D710 using Tapatalk 2
tdunham said:
Enable 5 lockscreen shortcuts in Jellybean.
Credits to Mirko DDD and Jeboo for this.
SecSettings.apk - smali edit
smali\com\android\settings\lockscreenshortcut\Lock ScreenShortcutSettings.smali
Before:
Code:
# direct methods
.method static constructor <clinit>()V
.registers 2
.prologue
const/4 v1, 0x0
.line 79
[COLOR="Red"]const/4 v0, 0x3[/COLOR]
sput v0, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->MAX_SHORTCUT_ICON:I
.line 80
sput v1, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->DEFAULT_CURSOR_WIDTH:I
.line 81
sput v1, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->ICON_5_CURSOR_WIDTH:I
return-void
.end method
After:
Code:
# direct methods
.method static constructor <clinit>()V
.registers 2
.prologue
const/4 v1, 0x0
.line 79
[COLOR="Red"] const/4 v0, 0x5[/COLOR]
sput v0, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->MAX_SHORTCUT_ICON:I
.line 80
sput v1, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->DEFAULT_CURSOR_WIDTH:I
.line 81
sput v1, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->ICON_5_CURSOR_WIDTH:I
return-void
.end method
Before:
Code:
const-string v30, "SPR"
invoke-static {}, Lcom/android/settings/Utils;->readSalesCode()Ljava/lang/String;
move-result-object v31
invoke-virtual/range {v30 .. v31}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v30
if-eqz v30, :cond_99
.line 160
:cond_29b
[COLOR="Red"]const/16 v30, 0x4[/COLOR]
After:
Code:
const-string v30, "SPR"
invoke-static {}, Lcom/android/settings/Utils;->readSalesCode()Ljava/lang/String;
move-result-object v31
invoke-virtual/range {v30 .. v31}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v30
if-eqz v30, :cond_99
.line 160
:cond_29b
[COLOR="Red"]const/16 v30, 0x5[/COLOR]
Framework-res.apk edit:
res/values/dimens.xml
Change:
Code:
<dimen name="keyguard_lockscreen_application_shortcut_icon_width">52.0dip</dimen>
<dimen name="keyguard_lockscreen_application_shortcut_icon_height">50.0dip</dimen>
Click to expand...
Click to collapse
is this is for tw only?
christian devs01 said:
is this is for tw only?
Click to expand...
Click to collapse
Yes.
Sent from my SPH-D710 using xda premium
TD, Can you post a quick link on how to do this? I assume RTB can do it.
byrdcfmma said:
TD, Can you post a quick link on how to do this? I assume RTB can do it.
Click to expand...
Click to collapse
Both files need to be decompiled to be edited and this cannot be done on the phone. Apktool is the weapon of choice for many devs and there are guides specific to using it (or what versions work best) with Jellybean around the forums.
tdunham said:
Both files need to be decompiled to be edited and this cannot be done on the phone. Apktool is the weapon of choice for many devs and there are guides specific to using it (or what versions work best) with Jellybean around the forums.
Click to expand...
Click to collapse
Okay, Thanks!! I thought it was the same process as doing the lockscreen and launcher edits when JB first came on the scene so our phone would act like the S3.
@tdunham, can i use this tutorial for xperia s jb?
slink722 said:
@tdunham, can i use this tutorial for xperia s jb?
Click to expand...
Click to collapse
Probably not, but that's what nandroids are for
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
bilgerryan said:
Probably not, but that's what nandroids are for
Click to expand...
Click to collapse
awts! so sad but is it possible to have on my device? or do you know how to do it? help me please :crying:
slink722 said:
awts! so sad but is it possible to have on my device? or do you know how to do it? help me please :crying:
Click to expand...
Click to collapse
Follow the guide

[MOD][HOW-TO] Even more toggles! Lockscreen + Screen Timeout [4.3 | 4.4 coming ASAP]

Hey guys! Today I'll be showing you how to add the Lockscreen and Screen Timeout toggles to your quick toggles.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Enable zip can be found HERE. WILL ONLY WORK IF YOU HAVE ALREADY DONE THE MOD BELOW, AND WILL ONLY MAKE THE TOGGLES VISIBLE.
Items you will need
SystemUI.apk from the rom you are modding
SecSettings.apk from the rom you are modding
Notepad++ or another text editor of your choice (NOT regular Notepad, it messes up the encoding)
apktool 1.5.2
Click to expand...
Click to collapse
Overview of mod
Step 1: Modding SystemUI.apk and android.policy.jar (jar is for lockscreen toggle
Step 2: Modding SecSettings.apk
Click to expand...
Click to collapse
Now before we get started, download the attachment with the files you will need for this mod (attached to this post...make sure you grab the right version for the system you are modifying)
Now lets get started!
[size=+1]Step 1: Modding SystemUI.apk and android.policy.jar[/size]
Decompile SystemUI.apk and navigate to com/android/systemui/statusbar/policy/quicksetting in your file browser
Copy and paste the smali files from inside the zip you downloaded (toggle_files.zip/SystemUI/) into this folder
Navigate to SystemUI/res/drawable-xhdpi (or SystemUI/res/drawable-xxhdpi depending on your device)
Copy and paste the four pngs from the SystemUI folder of the attachment into the decompiled drawable folder you opened above
Now navigate to SystemUI/res/values and add the following to the end of your strings.xml file
PHP:
Screen Timeout
Lockscreen
Now decompile android.policy.jar and open com/android/internal/policy/impl/keyguard/KeyguardViewMediator.smali and find the following method
PHP:
.method private doKeyguardLocked(Landroid/os/Bundle;)V
Find the first instance of
PHP:
Landroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z
in this method and add the following code immediately after it (if there is a :cond_numberHere line, add the following code immediately AFTER that line )
PHP:
iget-object v10, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewMediator;->mContext:Landroid/content/Context;
invoke-virtual {v10}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v1
const-string v10, "disable_lock"
const/4 v11, 0x0
invoke-static {v1, v10, v11}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v10
if-eqz v10, :cond_continue
const-string v10, "KeyguardViewMediator"
const-string v11, "doKeyguard: not showing because moar_disable_lock is set to 1"
invoke-static {v10, v11}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
invoke-virtual {p0}, Lcom/android/internal/policy/impl/keyguard/KeyguardViewMediator;->wakeUpIfNeeded()V
return-void
:cond_continue
After the last step, your doKeyguardLocked method should look something like below (note how the additional code is inserted AFTER the sendMessage line and AFTER the :cond_XX line that follows it)
PHP:
iget v11, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewMediator;->WAKE_UP_TIMEOUT_DURATION:I
int-to-long v11, v11
invoke-virtual {v10, v5, v11, v12}, Landroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z
:cond_0
iget-object v10, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewMediator;->mContext:Landroid/content/Context;
invoke-virtual {v10}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v1
const-string v10, "disable_lock"
const/4 v11, 0x0
invoke-static {v1, v10, v11}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v10
if-eqz v10, :cond_continue
const-string v10, "KeyguardViewMediator"
const-string v11, "doKeyguard: not showing because moar_disable_lock is set to 1"
invoke-static {v10, v11}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
invoke-virtual {p0}, Lcom/android/internal/policy/impl/keyguard/KeyguardViewMediator;->wakeUpIfNeeded()V
return-void
:cond_continue[/HIDE]
[*]That's it for SystemUI and android.policy.jar. Now recompile both and move on to step 2. At this point, the toggles will show up in the full toggles view (when you add ";LockScreen;ScreenTimeout" to the CscFeature (and clean flash)... or to the notification_panel_active_app_list in /data/data/com.android.providers.settings/settings.db, or flash the enable zip linked at the BEGINNING of this post) in the status bar, but Settings will FC if you try to go into edit mode/rearrange toggles mode
Click to expand...
Click to collapse
[SIZE=+1]Step 2: Modding SecSettings.apk[/SIZE]
Decompile SecSettings and navigate to com/android/settings
Open NotificationPanelMenu.smali and search for the method ".method private makeConvertPanelName"
Add the following code to the end of the method before the
Code:
return-void
PHP:
iget-object v0, p0, Lcom/android/settings/NotificationPanelMenu;->mConvertPanelItemstring:Ljava/util/HashMap;
const-string v1, "LockScreen"
const-string v2, "notification_panel_lockscreen"
invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object v0, p0, Lcom/android/settings/NotificationPanelMenu;->mConvertPanelItemstring:Ljava/util/HashMap;
const-string v1, "notification_panel_lockscreen"
const-string v2, "LockScreen"
invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object v0, p0, Lcom/android/settings/NotificationPanelMenu;->mConvertPanelItemstring:Ljava/util/HashMap;
const-string v1, "ScreenTimeout"
const-string v2, "notification_panel_timeout"
invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object v0, p0, Lcom/android/settings/NotificationPanelMenu;->mConvertPanelItemstring:Ljava/util/HashMap;
const-string v1, "notification_panel_timeout"
const-string v2, "ScreenTimeout"
invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
Now save the file and close it and navigate to SecSettings/res/values/strings.xml
Add the following line to your strings.xml
PHP:
<string name="notification_panel_lockscreen">Lockscreen</string>
<string name="notification_panel_timeout">Screen Timeout</string>
Save and close strings.xml and navigate to SecSettings/res/drawable-xhdpi or drawable-xxhdpi depending on your device
Extract the PNGs from the toggles.zip/SecSettings and copy it into the drawable folder from above
Finally, recompile SecSettings with your modifications
Click to expand...
Click to collapse
Now for the final step, take your modified SecSettings.apk, SystemUI.apk, and android.policy.jar and add them to the /system/app folder of your rom and you are good to go!
Congratulations, you just added the Lockscreen and Screen Timeout toggles to your rom. Enjoy
Note: Devs are free to use this mod in their rom. Just make sure you give credits where they are due
If you have any issues, I'd be more than happy to help :good:
Thanks to:
Google for the Android OS
Great work, waiting for screenshots
Thanks for your great and useful mod
I tried on my I9305 but both mods dont work.
I have SystemUI FC when i tap on Screen Timeout toggle, and i havent Lockscreen toggle (there is, instead, in Settings-Notification panel)
Awesome, can't wait to try it.
Step 6 for android.policy.jar
Now decompile android.policy.jar and navigate to com/android/ and find the following method
Click to expand...
Click to collapse
what file??
djb77 said:
Step 6 for android.policy.jar
what file??
Click to expand...
Click to collapse
Sorry! Fixed now
LeoDeos said:
Thanks for your great and useful mod
I tried on my I9305 but both mods dont work.
I have SystemUI FC when i tap on Screen Timeout toggle, and i havent Lockscreen toggle (there is, instead, in Settings-Notification panel)
Click to expand...
Click to collapse
Grab a logcat
CNexus said:
Grab a logcat
Click to expand...
Click to collapse
I think this will suffice:
D/AndroidRuntime(24085): Shutting down VM
W/dalvikvm(24085): threadid=1: thread exiting with uncaught exception (group=0x41e4c700)
E/AndroidRuntime(24085): FATAL EXCEPTION: main
E/AndroidRuntime(24085): java.lang.NoSuchMethodError: com.android.systemui.statusbar.policy.quicksetting.ScreenTimeoutQuickSettingButton.checkStatusBarCollapse
E/AndroidRuntime(24085): at com.android.systemui.statusbar.policy.quicksetting.ScreenTimeoutQuickSettingButton.setTimeout(ScreenTimeoutQuickSettingButton.java:76)
E/AndroidRuntime(24085): at com.android.systemui.statusbar.policy.quicksetting.ScreenTimeoutQuickSettingButton.onClick(ScreenTimeoutQuickSettingButton.java:91)
E/AndroidRuntime(24085): at com.android.systemui.statusbar.policy.quicksetting.QuickSettingButton.onClick(QuickSettingButton.java:184)
E/AndroidRuntime(24085): at android.view.View.performClick(View.java:4475)
E/AndroidRuntime(24085): at android.view.View$PerformClick.run(View.java:18786)
E/AndroidRuntime(24085): at android.os.Handler.handleCallback(Handler.java:730)
E/AndroidRuntime(24085): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(24085): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(24085): at android.app.ActivityThread.main(ActivityThread.java:5419)
E/AndroidRuntime(24085): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(24085): at java.lang.reflect.Method.invoke(Method.java:525)
E/AndroidRuntime(24085): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1209)
E/AndroidRuntime(24085): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1025)
E/AndroidRuntime(24085): at dalvik.system.NativeStart.main(Native Method)
I/ActivityManager( 3117): Notify an ApplicationCrash
W/ActivityManager( 3117): Process com.android.systemui has crashed too many times: killing!
I/dumpstate(24202): begin
D/SPenGesture( 3117): SpenGestureView: setFocusedWindow
D/CrashAnrDetector( 3117): processName: com.android.systemui
D/CrashAnrDetector( 3117): broadcastEvent : com.android.systemui system_app_crash
V/WindowManager( 3117): Window{432f2968 u0 Keyguard}mOrientationRequetedFromKeyguard=false
I/SurfaceFlinger( 1999): id=687 createSurf (1x1),1 flag=4, tystemui
V/WindowManager( 3117): Window{432f2968 u0 Keyguard}mOrientationRequetedFromKeyguard=false
D/SSRMv2:Monitor( 3117): SIOP:: AP = 300 (read only)
V/LvOutput( 2617): initCheck: 0
V/LvOutput( 2617): detachEffects: detach processing for output 2, stream 1, session 1144
V/LvOutput( 2617): detachEffects: no output processing was attached to this stream
more useless toggles? thanks cnexus!!! great job as always ruining my day. lol. great work, i wish i had half the smarts you do. now go do something i need or want. lol
LeoDeos said:
I think this will suffice:
Click to expand...
Click to collapse
DOH
I left something in there specific to MOAR
Just remove the line (in both lockscreen and screen timeout smali files if there) that contains this
Code:
;->checkStatusBarCollapse
CNexus said:
DOH
I left something in there specific to MOAR
Just remove the line (in both lockscreen and screen timeout smali files if there) that contains this
Code:
;->checkStatusBarCollapse
Click to expand...
Click to collapse
ok thanks...now i try
this will fix also Lockscreen toggle missed?
LeoDeos said:
ok thanks...now i try
this will fix also Lockscreen toggle missed?
Click to expand...
Click to collapse
I'm not sure why lockscreen is missing, but this will fix the FC when clicking the timeout toggle
Are you sure you added all the smali files into systemui? That's the only reason I can think of that would keep it from showing in the pulldown if it shows in edit mode
CNexus said:
I'm not sure why lockscreen is missing, but this will fix the FC when clicking the timeout toggle
Are you sure you added all the smali files into systemui? That's the only reason I can think of that would keep it from showing in the pulldown if it shows in edit mode
Click to expand...
Click to collapse
ok screen timeout now works well
about lockscreen toggle, yes i added png file and smali file...like for screen timeout.
I have only one doubt about android.policy.
in my keyguardviewmediator file i have this line:
invoke-virtual {v10, v5, v11, v12}, Landroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z
.line 1353
.end local v5 # "msg":Landroid/os/Message;
:cond_29
in this case, i have to add your code first or after :cond_29?
LeoDeos said:
ok screen timeout now works well
about lockscreen toggle, yes i added png file and smali file...like for screen timeout.
I have only one doubt about android.policy.
in my keyguardviewmediator file i have this line:
invoke-virtual {v10, v5, v11, v12}, Landroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z
.line 1353
.end local v5 # "msg":Landroid/os/Message;
:cond_29
in this case, i have to add your code first or after :cond_29?
Click to expand...
Click to collapse
After cond_29
Like specified in the instructions you add after the next cond that follows the sendMessageDelayed, if applicable
The extra .end local and .line things are because you decompiled with apktool in debug mode
CNexus said:
After cond_29
Like specified in the instructions you add after the next cond that follows the sendMessageDelayed, if applicable
The extra .end local and .line things are because you decompiled with apktool in debug mode
Click to expand...
Click to collapse
I tried to insert the code after the condition but did not work, then I tried to insert it before but did not work.
Now I put the code after the condition but still does not work ... hahaha
Thanks for the moment, I'll check the cause of the lack of the toggle.
LeoDeos said:
I tried to insert the code after the condition but did not work, then I tried to insert it before but did not work.
Now I put the code after the condition but still does not work ... hahaha
Thanks for the moment, I'll check the cause of the lack of the toggle.
Click to expand...
Click to collapse
What do you mean by "it does not work"? It won't compile or what?
If you add it there it should work fine, but only via the toggle
Very Nice :good::good:
CNexus said:
What do you mean by "it does not work"? It won't compile or what?
If you add it there it should work fine, but only via the toggle
Click to expand...
Click to collapse
android.policy is compiled well
sorry..."doesnt work" mean that i havent toggle.
I'll try to mod secsettingsprovider as I did for the flashlight toggle, and make a full wipe
LeoDeos said:
android.policy is compiled well
sorry..."doesnt work" mean that i havent toggle.
I'll try to mod secsettingsprovider as I did for the flashlight toggle, and make a full wipe
Click to expand...
Click to collapse
Cool, let me know

[Guide]How to add Lollipop Easter Egg in your Rom for updated to v2(For GingerBread

Hey Guys, I am back with another guide and this time i will show you how to add Lollipop Easter Egg in your ROM.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Disclaimer: I and XDA are not responsible for the damage of your phone. Take necessary backup if you are indoubt.
Requirements:
framework2.jar from your ROM (for kitkat roms)
framework.jar for gb+ Rom
Know how to decompile APK
Easter Egg app attached below
Let's start
1. Decompile framework2.jar
2. Go to smali/com/android/internal/app
and open PlatLogoActivity.smali
3. Select all and replace it with this code:
Code:
.class public Lcom/android/internal/app/PlatLogoActivity;
.super Landroid/app/Activity;
.source "PlatLogoActivity.java"
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 12
invoke-direct {p0}, Landroid/app/Activity;-><init>()V
return-void
.end method
# virtual methods
.method protected onCreate(Landroid/os/Bundle;)V
.registers 7
.parameter "savedInstanceState"
.prologue
.line 16
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
.line 18
new-instance v1, Landroid/content/Intent;
const-string v2, "android.intent.action.MAIN"
invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 19
.local v1, intent:Landroid/content/Intent;
new-instance v2, Landroid/content/ComponentName;
const-string v3, "com.Droidbuster.droidbuster_LollipopEasterEgg"
const-string v4, "com.Droidbuster.droidbuster_LollipopEasterEgg.MainActivity"
invoke-direct {v2, v3, v4}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v1, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
.line 23
:try_start_16
invoke-virtual {p0, v1}, Lcom/android/internal/app/PlatLogoActivity;->startActivity(Landroid/content/Intent;)V
:try_end_19
.catch Landroid/content/ActivityNotFoundException; {:try_start_16 .. :try_end_19} :catch_1d
.line 39
:goto_19
invoke-virtual {p0}, Lcom/android/internal/app/PlatLogoActivity;->finish()V
.line 41
return-void
.line 31
:catch_1d
move-exception v0
.line 35
.local v0, e:Landroid/content/ActivityNotFoundException;
const-string v2, "First install that app Droidbuster told you to!"
const/4 v3, 0x0
invoke-static {p0, v2, v3}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object v2
invoke-virtual {v2}, Landroid/widget/Toast;->show()V
goto :goto_19
.end method
4. Recompile framework.jar
Push it into system/framework
Set correct permissions(rw-r--r--)
5. Install this app by me, it Contain important the Easter Egg code and that smali above redirects to it:
V1.2 Announced for GB
Change Log
Force close fixed while holding long on Platlogo:fingers-crossed:
size decreased
Some layout problem fixed
V2 Announced for GB
Change Log
Finally Fixed Color Issue fixed
Multiple Density Support no need to download Different apks For different density
More Crispy.
Size Decreased
​
Download For GingerBread Platform Device: Idpi , Mdpi , Hdpi , Xdpi​​Download For Ics+ Platform Device: Idpi , Mdpi , Hdpi , Xdpi
Download For GingerBread Platform Device V1.2: Idpi , Mdpi , Hdpi , Xdpi
Note = Random Color Change Feature not work on 2.3 platform But on ICs + device its working Like a charm
Download For GingerBread Platform Device V2 : Multiple Density Support
XDA:DevDB Information
Droidbuster lollipop Easter Egg, Theme for the All Devices
Download source code of Droidbuster_lollipop_platelogo_2.3+ :https://github.com/Droidbuster/Droidbuster_lollipop_Platelogo_2.3-Support
Download source code of Droidbuster_lollipop_Platelogo_3.0+ : https://github.com/Droidbuster/Droidbuster_lollipop_Platelogo_3.0-Support
Download source code of Droidbuster_lollipop_platelogo_2.3+ :https://github.com/Droidbuster/Droidbuster_lollipop_Platelogo_2.3-Support
Download source code of Droidbuster_lollipop_Platelogo_Finalversion 2.3+ : https://github.com/Droidbuster/Final-Version-Lollipop-Platelogo-GingerBread
Contributors
Droidbuster, m4rinko2, iamareebjamal, MuSaddiq
Version Information
Status: Stable
Current Stable Version: V2
Stable Release Date: 2015-05-16
Created 2015-01-25
Last Updated 2015-05-16
Wow! Thanks.
But as I and many don't know to decompile ROM, can you make this a flashable zip?
Decompile rom
surajdhanuki said:
Wow! Thanks.
But as I and many don't know to decompile ROM, can you make this a flashable zip?
Click to expand...
Click to collapse
Bro you want just empty flashable zip ?
or moded?
Thanks Bro @Droidbuster
I'll Surely Include Lollipop Easter Egg in The Next Edition of CrysTal ROM!
Droidbuster said:
Bro you want just empty flashable zip ?
or moded?
Click to expand...
Click to collapse
Hey bro I want the modded flashable zip so if I flash the file I'll get the easter egg.
surajdhanuki said:
Hey bro I want the modded flashable zip so if I flash the file I'll get the easter egg.
Click to expand...
Click to collapse
Bro tell me on which rom you because but i can only give only for single time rest you have to do by own
this does not seem to be rom dev related. plz move it in general or app section @zelendel
Droidbuster said:
Bro tell me on which rom you because but i can only give only for single time rest you have to do by own
Click to expand...
Click to collapse
Yeah..sure..Its only a matter of trying after all.
I'm at cm11 r16....with xcelerate kernel.
Success!
Droidbuster said:
Hey Guys, I am back with another guide and this time i will show you how to add Lollipop Easter Egg in your ROM.
Disclaimer: I and XDA are not responsible for the damage of your phone. Take necessary backup if you are indoubt.
Requirements:
framework.jar from your ROM
Know how to decompile APK
Easter Egg app attached below
Let's start
1. Decompile framework.jar
2. Go to smali/com/android/internal/app
and open PlatLogoActivity.smali
3. Select all and replace it with this code:
Code:
.class public Lcom/android/internal/app/PlatLogoActivity;
.super Landroid/app/Activity;
.source "PlatLogoActivity.java"
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 12
invoke-direct {p0}, Landroid/app/Activity;-><init>()V
return-void
.end method
# virtual methods
.method protected onCreate(Landroid/os/Bundle;)V
.registers 7
.parameter "savedInstanceState"
.prologue
.line 16
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
.line 18
new-instance v1, Landroid/content/Intent;
const-string v2, "android.intent.action.MAIN"
invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 19
.local v1, intent:Landroid/content/Intent;
new-instance v2, Landroid/content/ComponentName;
const-string v3, "com.Droidbuster.droidbuster_LollipopEasterEgg"
const-string v4, "com.Droidbuster.droidbuster_LollipopEasterEgg.MainActivity"
invoke-direct {v2, v3, v4}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v1, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
.line 23
:try_start_16
invoke-virtual {p0, v1}, Lcom/android/internal/app/PlatLogoActivity;->startActivity(Landroid/content/Intent;)V
:try_end_19
.catch Landroid/content/ActivityNotFoundException; {:try_start_16 .. :try_end_19} :catch_1d
.line 39
:goto_19
invoke-virtual {p0}, Lcom/android/internal/app/PlatLogoActivity;->finish()V
.line 41
return-void
.line 31
:catch_1d
move-exception v0
.line 35
.local v0, e:Landroid/content/ActivityNotFoundException;
const-string v2, "First install that app Droidbuster told you to!"
const/4 v3, 0x0
invoke-static {p0, v2, v3}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object v2
invoke-virtual {v2}, Landroid/widget/Toast;->show()V
goto :goto_19
.end method
4. Recompile framework.jar
Push it into system/framework
Set correct permissions(rw-r--r--)
5. Install this app by me, it Contain important the Easter Egg code and that smali above redirects to it:
V1.2 Announced for GB
Change Log
Force close fixed while holding long on Platlogo:fingers-crossed:
size decreased
Some layout problem fixed
Download For GingerBread Platform Device: Idpi , Mdpi , Hdpi , Xdpi​​Download For Ics+ Platform Device: Idpi , Mdpi , Hdpi , Xdpi
Download For GingerBread Platform Device V1.2: Idpi , Mdpi , Hdpi , Xdpi
Note = Random Color Change Feature not work on 2.3 platform But on ICs + device its working Like a charm
XDA:DevDB Information
Droidbuster lollipop Easter Egg, Theme for the All Devices
Contributors
Droidbuster, m4rinko2, iamareebjamal, MuSaddiq
Version Information
Status: Stable
Current Stable Version: 1.0
Stable Release Date: 2015-01-25
Created 2015-01-25
Last Updated 2015-01-25
Click to expand...
Click to collapse
thanks bro
smali is not present inside framework.jar ? what can i do?
Rom : Cm11
[GUIDE][NOOBS] Adding Lollipop Easter Egg for 4.4+ ROM (CM11, PA, PAC-MAN, AOSP etc)
Hello all,
I rewrite this tutorial for Android 4.4+
Note you must have a deodexed ROM for this if you try on stock ROM.
I also have attached a flashable zip in the end that'll work for all users on any android version. GB, JB or KK
Let's begin
GUIDE
Tools we need for this are Notepad++, Jar editing tool (don't just use any apktool or you'll end up with smaling error) and your correct dpi resolution apk
Download the tool to decompile from here http://www.mediafire.com/download/h...l+-+baksmali+-+Signer+v3+Mixed+by+ibanez7.zip (thanks to @ibanez7) or this tool from here http://www.mediafire.com/download/yx8lswms7ocd4oh/Apk+Changer+forked+by+gamzekal+11.3.2014.exe (thanks to @gamzekal)
1) Pull out framework2.jar from your device. Make sure you have necessary adb files or minimal-sdk package (adb files). If you dont have then download from below adb.zip and extract them to C:/adb(Recommended for ease of use) or any folder.
Now connect your device with PC make sure USB Debugging is on and accept any RSA Fingerprint prompt on your device.
Now hold right Shift and press right click. From the menu choose "Open command window here" and copy or type the following code.
adb pull framework2.jar /system/framework
You'll see a file named framework2.jar in the adb folder. Congrats you got your file! Now moving on.
2) Decompile using any of the given tools, here I explain using ibanez7 tool. Download the tool and extract it to C:\Users\here don't keep spaces between any folder/file name. For more accurate tutorial how to setup the tool go to this thread here http://forum.xda-developers.com/showthread.php?t=2251719
- Copy framework2.jar file to apktool folder (make sure is the same folder).
- Open framework2.jar using Winrar or 7zip and extract classes.dex file (Recommended WinRAR)
- Drag & drop classes.dex to Quick-Baksmali.cmd (decompile process)
- Wait and you will see a folder with the name "classout"
- Now you can start editing smali file on classout folder (use Notepad++ only for editing it)
- Go to classout/smali/com/android/internal/app and search for PlatLogoActivity.smali, right click it and open it with Notepad++
- Easy just select all of the code and delete it and replace it with OP's code, Here
Code:
.class public Lcom/android/internal/app/PlatLogoActivity;
.super Landroid/app/Activity;
.source "PlatLogoActivity.java"
# direct methods
.method public constructor ()V
.registers 1
.prologue
.line 12
invoke-direct {p0}, Landroid/app/Activity;->()V
return-void
.end method
# virtual methods
.method protected onCreate(Landroid/os/Bundle;)V
.registers 7
.parameter "savedInstanceState"
.prologue
.line 16
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
.line 18
new-instance v1, Landroid/content/Intent;
const-string v2, "android.intent.action.MAIN"
invoke-direct {v1, v2}, Landroid/content/Intent;->(Ljava/lang/String;)V
.line 19
.local v1, intent:Landroid/content/Intent;
new-instance v2, Landroid/content/ComponentName;
const-string v3, "com.Droidbuster.droidbuster_LollipopEasterEgg"
const-string v4, "com.Droidbuster.droidbuster_LollipopEasterEgg.MainActivity"
invoke-direct {v2, v3, v4}, Landroid/content/ComponentName;->(Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v1, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
.line 23
:try_start_16
invoke-virtual {p0, v1}, Lcom/android/internal/app/PlatLogoActivity;->startActivity(Landroid/content/Intent;)V
:try_end_19
.catch Landroid/content/ActivityNotFoundException; {:try_start_16 .. :try_end_19} :catch_1d
.line 39
:goto_19
invoke-virtual {p0}, Lcom/android/internal/app/PlatLogoActivity;->finish()V
.line 41
return-void
.line 31
:catch_1d
move-exception v0
.line 35
.local v0, e:Landroid/content/ActivityNotFoundException;
const-string v2, "First install that app Droidbuster told you to!"
const/4 v3, 0x0
invoke-static {p0, v2, v3}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object v2
invoke-virtual {v2}, Landroid/widget/Toast;->show()V
goto :goto_19
.end method
After pasting make sure that every line that begins with # Blabla has two lines gap before it and after the .end method line when next # Blabla line start it should have two line gap. For eg
Code:
# direct methods
.method public constructor ()V
- Code here
.end method
1st line gap
2nd line gap
# virtual methods
.method (rest code here)
-Code here
.end method
Hope you got my point. If you still dont get it the check the existing smali's in the folder for example.
-After editing the file save it and close Notepad++.
- After editing is complete, Drag & drop classout folder to Quick-Smali.cmd (recompile process)
- After recompile is complete, there will be a file with a name "new-classes.dex"
- Open framework2.jar using WinRAR or 7zip (Recommended WinRAR)
- Rename new-classes.dex to classes.dex, and Drag & drop to framework2.jar with normal compression and your done.
For noobs who have trouble with framework2.jar flashing I have attached flashable zip in the post below just make necessary changes and then open the flashable zip package attached below and add framework2.jar[For 4.4.x]/framework.jar[For 2.3-4.3] to framework folder with normal compression and flash the zip through custom recovery. Remember to make a nandroid backup before you flash anything and make sure to Wipe Cache and Dalvik cache before flashing
Next install the apk as suggested by OP and enjoy
All credits to @Droidbuster for this awesome guide and congrats to be on portal
Eggster an Exposed Module
Already did it!!
Khizar Ali said:
smali is not present inside framework.jar ? what can i do?
Rom : Cm11
Click to expand...
Click to collapse
Check my post
Sir please check the download link for GingerBread Platform Device V1.2: Idpi and Xdpi are the same download link (d-h.st/IOXs)
surajdhanuki said:
Hey bro I want the modded flashable zip so if I flash the file I'll get the easter egg.
Click to expand...
Click to collapse
This guide will not work for KK. Here check my post I explained all in details. Don't be a noob! BTW Guide is noob friendly that I wrote
Tried your tutorial. returns this error, while recompiling :
Code:
framework.jar.out\smali\com\android\internal\app\PlatLogoActivity.smali[21,4] Er
ror for input '.parameter': Invalid directive
framework.jar.out\smali\com\android\internal\app\PlatLogoActivity.smali[21,15] m
ismatched input '"savedInstanceState"' expecting END_METHOD_DIRECTIVE
Exception in thread "main" brut.androlib.AndrolibException: Could not smali file
: com/android/internal/app/PlatLogoActivity.smali
at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:72)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:56)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:41)
at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:338)
at brut.androlib.Androlib.buildSources(Androlib.java:299)
at brut.androlib.Androlib.build(Androlib.java:285)
at brut.androlib.Androlib.build(Androlib.java:258)
at brut.apktool.Main.cmdBuild(Main.java:236)
at brut.apktool.Main.main(Main.java:88)
Also, ICS + ldpi version is unavailable.
Hope you look in this, I am not expert in compiling/decompiling. I may be making some silly mistakes, because I get same error in other cases too.
EDIT : I tried initially with smali 2.0.3, after debugging issue, I tried smali 1.4.2, still same. Hope you help.
EDIT2 : Its for JB 4.1.2. Should I attach my framework.jar for your perusal and if you have time?
EDIT3 : Done! Used older apktool and got it working. Thanks a lot.
Tech N You said:
Hello all,
I rewrite this tutorial for Android 4.4+
Note you must have a deodexed ROM for this if you try on stock ROM.
I also have attached a flashable zip in the end that'll work for all users on any android version. GB, JB or KK
Let's begin
GUIDE
Tools we need for this are Notepad++, Jar editing tool (don't just use any apktool or you'll end up with smaling error) and your correct dpi resolution apk
Download the tool to decompile from here http://www.mediafire.com/download/h...l+-+baksmali+-+Signer+v3+Mixed+by+ibanez7.zip (thanks to @ibanez7) or this tool from here http://www.mediafire.com/download/yx8lswms7ocd4oh/Apk+Changer+forked+by+gamzekal+11.3.2014.exe (thanks to @gamzekal)
1) Pull out framework2.jar from your device. Make sure you have necessary adb files or minimal-sdk package (adb files). If you dont have then download from below adb.zip and extract them to C:/adb(Recommended for ease of use) or any folder.
Now connect your device with PC make sure USB Debugging is on and accept any RSA Fingerprint prompt on your device.
Now hold right Shift and press right click. From the menu choose "Open command window here" and copy or type the following code.
adb pull framework2.jar /system/framework
You'll see a file named framework2.jar in the adb folder. Congrats you got your file! Now moving on.
2) Decompile using any of the given tools, here I explain using ibanez7 tool. Download the tool and extract it to C:\Users\here don't keep spaces between any folder/file name. For more accurate tutorial how to setup the tool go to this thread here http://forum.xda-developers.com/showthread.php?t=2251719
- Copy framework2.jar file to apktool folder (make sure is the same folder).
- Open framework2.jar using Winrar or 7zip and extract classes.dex file (Recommended WinRAR)
- Drag & drop classes.dex to Quick-Baksmali.cmd (decompile process)
- Wait and you will see a folder with the name "classout"
- Now you can start editing smali file on classout folder (use Notepad++ only for editing it)
- Go to classout/smali/com/android/internal/app and search for PlatLogoActivity.smali, right click it and open it with Notepad++
- Easy just select all of the code and delete it and replace it with OP's code, Here
Code:
.class public Lcom/android/internal/app/PlatLogoActivity;
.super Landroid/app/Activity;
.source "PlatLogoActivity.java"
# direct methods
.method public constructor ()V
.registers 1
.prologue
.line 12
invoke-direct {p0}, Landroid/app/Activity;->()V
return-void
.end method
# virtual methods
.method protected onCreate(Landroid/os/Bundle;)V
.registers 7
.parameter "savedInstanceState"
.prologue
.line 16
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
.line 18
new-instance v1, Landroid/content/Intent;
const-string v2, "android.intent.action.MAIN"
invoke-direct {v1, v2}, Landroid/content/Intent;->(Ljava/lang/String;)V
.line 19
.local v1, intent:Landroid/content/Intent;
new-instance v2, Landroid/content/ComponentName;
const-string v3, "com.Droidbuster.droidbuster_LollipopEasterEgg"
const-string v4, "com.Droidbuster.droidbuster_LollipopEasterEgg.MainActivity"
invoke-direct {v2, v3, v4}, Landroid/content/ComponentName;->(Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v1, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
.line 23
:try_start_16
invoke-virtual {p0, v1}, Lcom/android/internal/app/PlatLogoActivity;->startActivity(Landroid/content/Intent;)V
:try_end_19
.catch Landroid/content/ActivityNotFoundException; {:try_start_16 .. :try_end_19} :catch_1d
.line 39
:goto_19
invoke-virtual {p0}, Lcom/android/internal/app/PlatLogoActivity;->finish()V
.line 41
return-void
.line 31
:catch_1d
move-exception v0
.line 35
.local v0, e:Landroid/content/ActivityNotFoundException;
const-string v2, "First install that app Droidbuster told you to!"
const/4 v3, 0x0
invoke-static {p0, v2, v3}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object v2
invoke-virtual {v2}, Landroid/widget/Toast;->show()V
goto :goto_19
.end method
After pasting make sure that every line that begins with # Blabla has two lines gap before it and after the .end method line when next # Blabla line start it should have two line gap. For eg
Code:
# direct methods
.method public constructor ()V
- Code here
.end method
1st line gap
2nd line gap
# virtual methods
.method (rest code here)
-Code here
.end method
Hope you got my point. If you still dont get it the check the existing smali's in the folder for example.
-After editing the file save it and close Notepad++.
- After editing is complete, Drag & drop classout folder to Quick-Smali.cmd (recompile process)
- After recompile is complete, there will be a file with a name "new-classes.dex"
- Open framework2.jar using WinRAR or 7zip (Recommended WinRAR)
- Rename new-classes.dex to classes.dex, and Drag & drop to framework2.jar with normal compression and your done.
For noobs who have trouble with framework2.jar flashing I have attached flashable zip in the post below just make necessary changes and then open the flashable zip package attached below and add framework2.jar[For 4.4.x]/framework.jar[For 2.3-4.3] to framework folder with normal compression and flash the zip through custom recovery. Remember to make a nandroid backup before you flash anything and make sure to Wipe Cache and Dalvik cache before flashing
Next install the apk as suggested by OP and enjoy
All credits to @Droidbuster for this awesome guide and congrats to be on portal
Click to expand...
Click to collapse
thanks bro .you made my work to easy . and thanks for wishes for xda portal post but i missed that portal post
Droidbuster said:
thanks bro .you made my work to easy . and thanks for wishes for xda portal post but i missed that portal post
Click to expand...
Click to collapse
Wow congrats bro :laugh:
now ur thread is on XDA portal
LuanTeles said:
Eggster an Exposed Module
Already did it!!
Click to expand...
Click to collapse
I know bro my platlogo based of xposed but i did not find any single guide to make it inbuilt in system and any working Lollipop easter egg for Gb too.
so i did
Dont for get press thanks button if you like my work​
missed portal
pritish sahoo said:
Wow congrats bro :laugh:
now ur thread is on XDA portal
Click to expand...
Click to collapse
thanks bro but i missed that portal news

Categories

Resources