Hi guys
This time I will make a tutorial on how to add "EDT" tweak support on your SystemUI
Features of EDT Tweaks
Battery Options
Click to expand...
Click to collapse
Show/Hide Battery Icon (Doesn't work)
Battery Text Style (Regular,Hide and Small %)
Prepend/Append Battery Text
Change Charging Color (For Battery Text)
Change Regular Color (For Battery Text)
Change Medium Level Color (For Battery Text)
Change Low Level Color (For Battery Text)
Clock Options
Click to expand...
Click to collapse
Show AM/PM
Small AM/PM
Hide AM/PM
Hide Clock
Signal Options
Click to expand...
Click to collapse
Show Signal Bars (Doesn't work)
Show Signal Strength (Not available yet)
Show dBm Text (Not released)
Bug List
Click to expand...
Click to collapse
Show/Hide Battery Icon
Show Signal Bars
Show Signal Strength
Show dBm Text
Requirements
Click to expand...
Click to collapse
EDT Files (download in attachment)
EDT Tweaks apk (download in attachment)
SystemUI.apk
Apktool or similar
How to Install
Click to expand...
Click to collapse
Download the EDT Files zip package on your Computer and extract it anywhere in your desktop
Now on your phone, Pull your SystemUI.apk and paste it on your sd card
Now connect your phone to your Computer and Connect USB Storage
Copy the pulled SystemUI.apk and paste it on your apktool folder
Decompile your SystemUI.apk (You know how to do it right?)
Now copy the extracted smali from the EDT Files zip package and paste it on smali/com/android/systemui/statusbar/. Replace if asked
Go to res/layout/ and open status_bar.xml
Copy this code
Code:
<com.android.systemui.statusbar.BatteryText android:textAppearance="@*android:style/TextAppearance.StatusBar.Icon" android:gravity="center_vertical" android:orientation="horizontal" android:paddingRight="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" />
Paste it belowabove this code
Code:
com.android.systemui.statusbar.Clock
Compile the SystemUI.apk (You know how to do it right?)
On your phone, push the SystemUI.apk to system/app using Root Explorer or similar.
Now install EDT.apk and you can now use it's features
Credits
Click to expand...
Click to collapse
Romanbb
BarJei
on my last ROM, edt fully working except show/hide signal bar heheheheh
FIX for the BUG
At the StatusBarPolicy.smali at /smali/com/android/systemui/statusbar/policy
Search for this,
Code:
invoke-virtual {v6, v7, v2, v3}, Landroid/app/StatusBarManager;->setIcon(Ljava/lang/String;II)V
Below it, add these
Code:
iget-object v2, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mContext:Landroid/content/Context;
invoke-virtual {v2}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v2
const-string v3, "show_battery_icon"
invoke-static {v2, v3, v10}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v2
if-nez v2, :cond_0
const v2, 0x0
invoke-virtual {v6, v7, v2}, Landroid/app/StatusBarManager;->setIconVisibility(Ljava/lang/String;Z)V
return-void
Credits to [email protected]
3r41nl33n said:
At the StatusBarPolicy.smali at /smali/com/android/systemui/statusbar/policy
Search for this,
Code:
invoke-virtual {v6, v7, v2, v3}, Landroid/app/StatusBarManager;->setIcon(Ljava/lang/String;II)V
Below it, add these
Code:
iget-object v2, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mContext:Landroid/content/Context;
invoke-virtual {v2}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v2
const-string v3, "show_battery_icon"
invoke-static {v2, v3, v10}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v2
if-nez v2, :cond_0
const v2, 0x0
invoke-virtual {v6, v7, v2}, Landroid/app/StatusBarManager;->setIconVisibility(Ljava/lang/String;Z)V
return-void
Credits to [email protected]
Click to expand...
Click to collapse
Thanks will add it right away :highfive:
Bug fixer tutorial added Thanks to 3r41nl33n :angel:
It works for you sir?
Help!
PineappleOwl said:
It works for you sir?
Click to expand...
Click to collapse
small am/pm doesn't work.
Edit: Problem Solved
recompiling error
I: Smaling...
I: Building resources...
/sdcard/apktool/1app/SystemUI_src/res/layout/status_bar.xml:9: error: Error parsing XML: not well-formed (invalid token)
/sdcard/apktool/1app/SystemUI_src/res/layout/topwise_viewflow.xml:4: error: No resource identifier found for attribute 'sidebuffer' in package 'android'
/sdcard/apktool/1app/SystemUI_src/res/layout/topwise_viewflow.xml:4: error: No resource identifier found for attribute 'cycleType' in package 'android'
/sdcard/apktool/1app/SystemUI_src/res/layout/topwise_viewflow.xml:5: error: No resource identifier found for attribute 'cRadius' in package 'android'
/sdcard/apktool/1app/SystemUI_src/res/layout/topwise_viewflow.xml:5: error: No resource identifier found for attribute 'fadeOut' in package 'android'
/sdcard/apktool/1app/SystemUI_src/res/layout/topwise_viewflow.xml:5: error: No resource identifier found for attribute 'inactiveType' in package 'android'
/sdcard/apktool/1app/SystemUI_src/res/layout/topwise_viewflow.xml:5: error: No resource identifier found for attribute 'slide' in package 'android'
/sdcard/apktool/1app/SystemUI_src/res/layout/topwise_viewflow.xml:5: error: No resource identifier found for attribute 'separation' in package 'android'
Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [/data/data/per.pqy.apktool/lix/aapt4.4, p, --min-sdk-version, 10, --target-sdk-version, 10, -F, /data/data/per.pqy.apktool/APKTOOL7651502029082542169.tmp, -I, /apktool/framework/1.apk, -S, /sdcard/apktool/1app/SystemUI_src/res, -M, /sdcard/apktool/1app/SystemUI_src/AndroidManifest.xml]
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:358)
at brut.androlib.Androlib.buildResources(Androlib.java:283)
at brut.androlib.Androlib.build(Androlib.java:206)
at brut.androlib.Androlib.build(Androlib.java:176)
at brut.apktool.Main.cmdBuild(Main.java:228)
at brut.apktool.Main.main(Main.java:79)
Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [/data/data/per.pqy.apktool/lix/aapt4.4, p, --min-sdk-version, 10, --target-sdk-version, 10, -F, /data/data/per.pqy.apktool/APKTOOL7651502029082542169.tmp, -I, /apktool/framework/1.apk, -S, /sdcard/apktool/1app/SystemUI_src/res, -M, /sdcard/apktool/1app/SystemUI_src/AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:357)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:336)
... 5 more
Caused by: brut.common.BrutException: could not exec command: [/data/data/per.pqy.apktool/lix/aapt4.4, p, --min-sdk-version, 10, --target-sdk-version, 10, -F, /data/data/per.pqy.apktool/APKTOOL7651502029082542169.tmp, -I, /apktool/framework/1.apk, -S, /sdcard/apktool/1app/SystemUI_src/res, -M, /sdcard/apktool/1app/SystemUI_src/AndroidManifest.xml]
at brut.util.OS.exec(OS.java:89)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:355)
... 6 more
Actually i am confused
pranavaryans said:
Actually i am confused
Click to expand...
Click to collapse
Why?
Ok but clock so big and.somes bug
Gửi từ GT-S5360 của tôi bằng cách sử dụng Tapatalk 2
its work sirr.. thankz:good:
Related
[MOD]How to Set Logs type to "View by All Call Logs" - Hide SMS from Call Logs
I made this mod to fix Homam's mod,
Homam tried in his mod to prevent sms from being logged, this mod
worked well for GB Roms, but is not compatible with Stock Email app on
ICS Roms.
So i followed karl999999's idea, and i made a more clean and stable changes.
This mod will :
Not remove any log
Set the Default Call logs type to "View All Call logs" (no SMS)
Let you view/edit all other logs types
You have to decompile "SecContacts.apk" (use my repackedApk_Manager if you have any issue with your apktool).
Edit "Contacts.apk\smali\com\android\contacts\activitie s\DialtactsActivity.smali", search for "onBackPressed" method and make these changes :
Code:
:cond_4
iget-object v0, p0, Lcom/android/contacts/activities/DialtactsActivity;->mCallLogFragment:Lcom/sec/android/app/dialertab/calllog/CallLogFragment;
iget-object v1, p0, Lcom/android/contacts/activities/DialtactsActivity;->mCallLogFragment:Lcom/sec/android/app/dialertab/calllog/CallLogFragment;
const/4 v1, 0x1
[COLOR=SeaGreen]++iput v1, v0, Lcom/sec/android/app/dialertab/calllog/CallLogFragment;->mWhichButton:I[/COLOR]
[COLOR=Red]--iput v0, v0, Lcom/sec/android/app/dialertab/calllog/CallLogFragment;->mWhichButton:I[/COLOR]
goto :goto_0
:cond_5
invoke-virtual {p0}, Lcom/android/contacts/activities/DialtactsActivity;->isTaskRoot()Z
move-result v0
Then edit "Contacts.apk\smali\com\sec\android\app\dialertab\ calllog\CallLogFragment.smali":
Code:
.method public constructor <init>()V
.locals 3
const/4 v0, 0x1
const/4 v2, 0x0
const/4 v1, 0x0
invoke-direct {p0}, Lcom/sec/android/app/dialertab/widget/DialtactsListFragment;-><init>()V
iput-boolean v0, p0, Lcom/sec/android/app/dialertab/calllog/CallLogFragment;->mSweepActionEnabled:Z
iput-object v1, p0, Lcom/sec/android/app/dialertab/calllog/CallLogFragment;->unlockReceiver:Lcom/sec/android/app/dialertab/calllog/CallLogFragment$UnlockReceiver;
iput-boolean v2, p0, Lcom/sec/android/app/dialertab/calllog/CallLogFragment;->mResetMissedCheck:Z
[COLOR=SeaGreen]++iput v0, p0, Lcom/sec/android/app/dialertab/calllog/CallLogFragment;->mWhichButton:I[/COLOR]
[COLOR=Red]--iput v2, p0, Lcom/sec/android/app/dialertab/calllog/CallLogFragment;->mWhichButton:I[/COLOR]
iput v0, p0, Lcom/sec/android/app/dialertab/calllog/CallLogFragment;->CONTEXTMENU_CALL:I
That's all, compile and enjoy.
If you get a different Registers number, you just need to check at the beginning of each method what register has the value "0x1" and put it on "mWhichButton".
GT-I9300_WanamLite.ZSALED.Hide.SMS.From.Call.Logs.zip
Uploaded patches to be used on deodexed Roms.
I'm sure a lot of folks will like this mod. Looks a little too tricky for me but maybe I'll take a stab at it in the future!
sent from my Galaxy S III
Great work, thank you wanam.
..or maybe the great devs in our community can incorporate this mod into their ROM(s) ^^^
sent from my Galaxy S III
Coreym said:
..or maybe the great devs in our community can incorporate this mod into their ROM(s) ^^^
sent from my Galaxy S III
Click to expand...
Click to collapse
It's already included on my WanamLite V1.0.
wanam said:
It's already included on my WanamLite V1.0.
Click to expand...
Click to collapse
Awesome.. I'm still stock rooted. First time in a long time I've stayed stock. I'm enjoying it for the moment but will eventually start flashing and am def gonna be giving this a run. I think I'm gonna enjoy stock ROMs with this phone!
sent from my GummyROM'd Prime
May i ask how to install this mod?
Dovern said:
May i ask how to install this mod?
Click to expand...
Click to collapse
Yes, is there a simpler way to do this (flashing zip with CWM maybe)?
Thanks
Very useful mod. Stock roms should have this as an option.
jerricson said:
Very useful mod. Stock roms should have this as an option.
Click to expand...
Click to collapse
They have... On log screen press menu, press View by, then All calls... Or am I missing something???
CalInTheZone said:
They have... On log screen press menu, press View by, then All calls... Or am I missing something???
Click to expand...
Click to collapse
Your choice won't be saved .
g4rvd4 said:
Yes, is there a simpler way to do this (flashing zip with CWM maybe)?
Click to expand...
Click to collapse
+1
Please give me the instruction how to install it. I tried 10 times
removing
salam WANAM
i flashed your mod from CWM on my stock/rooted firmware
yes i did
and ended up messing my phone app. , it is totally my mistake , is there a way to remove this mod or re-flash the phone app ?
great work by the way
Will this mod work with XXLFB?
Many thanks
Kam
dr.kam said:
Will this mod work with XXLFB?
Many thanks
Kam
Click to expand...
Click to collapse
i am on a rom based on XXLFB
and it works for me
Sent from my GT-I9300 using xda premium
Is it possible to flash that zip file through CWM recovery, or do i have to do all the changes listed above (e.g. changing code and decompiling)
Thanks again guys
Kam
Stock ROM Success
On my stock rooted AT&T rom, I deleted the existing SecContacts.apk and SecContacts.odex and then copied the version from the attached zip. I had to re-add the icons to my home screen, but otherwise it seems to work fine.
edit
solved (thanks Wanam)
_neutron_ said:
can ayone help with this?
Code:
--------------------------------------------------------------------------
|20/07/2012 -- 17:00:35.98|
--------------------------------------------------------------------------
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03, mixed mode)
Could Not Find C:\Apk_Manager_ICS\place-apk-here-for-modding\../place-apk-here-f
or-modding/signedSecContacts.apk
Could Not Find C:\Apk_Manager_ICS\place-apk-here-for-modding\../place-apk-here-f
or-modding/unsignedSecContacts.apk
I: Baksmaling...
I: Loading resource table...
W: Skipping "android" package group
I: Loaded.
I: Loading resource table from file: C:\Users\****\apktool\framework\1.apk
I: Loaded.
I: Decoding file-resources...
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
aapt: warning: string 'phone_call_prohibited' has no default translation in C:\A
pk_Manager_ICS\other\..\projects\SecContacts.apk\res; found: es pt
C:\Apk_Manager_ICS\other\..\projects\SecContacts.apk\res\layout\delete_contacts_
activity.xml:5: error: Error: No resource found that matches the given name (at
'layout' with value '@layout/common_custom_action_bar').
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutExce
ption: could not exec command: [aapt, p, -F, C:\Users\****\AppData\Local\Temp\APK
TOOL9055894213858941346.tmp, -I, C:\Users\****\apktool\framework\1.apk, -S, C:\Ap
k_Manager_ICS\other\..\projects\SecContacts.apk\res, -M, C:\Apk_Manager_ICS\othe
r\..\projects\SecContacts.apk\AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:193)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:301)
at brut.androlib.Androlib.buildResources(Androlib.java:248)
at brut.androlib.Androlib.build(Androlib.java:171)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:182)
at brut.apktool.Main.main(Main.java:67)
Caused by: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\U
sers\****\AppData\Local\Temp\APKTOOL9055894213858941346.tmp, -I, C:\Users\****\apk
tool\framework\1.apk, -S, C:\Apk_Manager_ICS\other\..\projects\SecContacts.apk\r
es, -M, C:\Apk_Manager_ICS\other\..\projects\SecContacts.apk\AndroidManifest.xml
]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:191)
... 6 more
The system cannot find the file specified.
Press any key to continue . . .
C:\Apk_Manager_ICS>
Click to expand...
Click to collapse
Edit "SecContacts.apk\res\values\layouts.xml" and add missing layout :
Code:
<item type="layout" name="common_custom_action_bar">false</item>
++++++++++++++++++++++++++++++++++
UPDATED July 10, 2013: This GUIDE was written back for ICS firmware, although it might still work for JB - I couldn't confirm that due to the fact I had stopped developing/modding. Keep in mind you need to use the latest APKtool - From Here - for JB system. Also don't forget to copy from original apk "AndroidManifest.xml" file and "META-INF" folder for the New "modded" SystemUI.apk to work.
++++++++++++++++++++++++++++++++++
I was helping a member learn how to add the brightness bar slider to his/her status bar. Since I spend a good amount of time typing it up. So I might as well post it here for everyone
General Knowledge
LEARN how to decompile/Compile APK
APK Tool I used APK 1.5.0
Click to expand...
Click to collapse
PART I: Download resource file here: SystemX.zip
Decompile your SystemUI
Copy from the file/folder in SystemX to same location on your SystemUI:
icon: /res/drawable-hdpi/quickpanel_brightness_icon.png
(could be different folder based on your device, where ever your toggle icons put it there)
file: res/layout/quickpanel_brightness_settings.xml
folder: /smali/com/android/systemui/statusbar/quickpanel folder
PART II: Now you need to declare all added variants:
Ids - Open /res/values/ids.xml - Add these three lines at the end. Close & save.
Code:
<item type="id" name="title">false</item>
<item type="id" name="brightness_slider">false</item>
<item type="id" name="automatic">false</item>
Strings - Open /res/values/strings.xml - Add these two lines at the end. Close & save.
Code:
<string name="brightness_settings_title">Brightness</string>
<string name="brightness_settings_automatic">Fixed</string>
Public - Open /res/values/public.xml - Add to end of each section - Continue with the last id called out.
Code:
....
<public type="drawable" name="quickpanel_brightness_icon" id=[color=red]"0x7f020166"[/color] />
....
<public type="layout" name="quickpanel_brightness_settings" id=[color=red]"0x7f03001e"[/color] />
...
<public type="string" name="brightness_settings_title" id=[color=red]"0x7f08009e"[/color] />
<public type="string" name="brightness_settings_automatic" id=[color=red]"0x7f08009f"[/color] />
...
<public type="id" name="title" id=[color=red]"0x7f0e009d"[/color] />
<public type="id" name="brightness_slider" id=[color=red]"0x7f0e009e"[/color] />
<public type="id" name="automatic" id=[color=red]"0x7f0e009f"[/color] />
*Change those in red per your ids - best open public.xml in Excel, sort by id - you will see the last number was used in each section.
PART III: Now we need to edit the Smali associated with your Public.xml Id's:
Open /smali/com/android/systemui/statusbar/quickpanel/BrightnessSettingsView.smali in Notepad++ (or similar) - Change if needed:
@ line 201
Code:
const v1, [color=red]0x7f08009e[/color]
ID associated with public.xml string section name="brightness_setting_title"
@ line 207
Code:
const v1, [color=red]0x7f08009f[/color]
ID associated with public.xml string section name="brightness_settings_automatic"
@ line 257
Code:
const v1, [color=red]0x7f0e009d[/color]
ID associated with public.xml id section name="title"
@ line 267
Code:
const v1, [color=red]0x7f0e009e[/color]
ID associated with public.xml id section name="brightness_slider"
@ line 308
Code:
const v1, [color=red]0x7f0e009f[/color]
ID associated with public.xml id section name="automatic"
Save & Close.
Open /smali/com/android/systemui/statusbar/phone/PhoneStatusBar.smali in Notepad++ (or similar)
Find this Section:
Code:
....
.method protected makeStatusBarView()Landroid/view/View;
.locals 13
.prologue
const/16 v12, 0x8
.....
[i](very long find the last line in this section)[/i]
.....
[color=blue].line 382
return-object v4[/color]
.line 311
.end local v2 #filter:Landroid/content/IntentFilter;
.end local v6 #signalCluster:Lcom/android/systemui/statusbar/SignalClusterView;
.end local v7 #statSysNoSim:Landroid/widget/ImageView;
.end local v8 #tickerView:Lcom/android/systemui/statusbar/phone/TickerView;
:catch_0
move-exception v9
goto/16 :goto_0
.end method
.method onBarViewAttached()V
......
In between .line 382 (this line number is not important - ignore whatever it is, only make sure it's the last line in this section) and return-object v4 - Add:
Code:
[color=indigo][color=blue].line 382[/color]
const v6, [color=red]0x7f03001e[/color]
invoke-static {v0, v6, v11}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;
move-result-object v5
check-cast v5, Lcom/android/systemui/statusbar/quickpanel/BrightnessSettingsView;
invoke-virtual {v5}, Lcom/android/systemui/statusbar/quickpanel/BrightnessSettingsView;->init()V
iget-object v6, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mExpandedView:Lcom/android/systemui/statusbar/phone/ExpandedView;
const/4 p0, 0x1
invoke-virtual {v6, v5, p0}, Lcom/android/systemui/statusbar/phone/ExpandedView;->addView(Landroid/view/View;I)V
[color=blue]return-object v4[/color][/color]
ID associated with public.xml layout section name="quickpanel_brightness_settings"
Note: If you already had Toggle Mod - It should look like this:
Code:
[color=blue].line 382[/color]
iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBroadcastReceiver:Landroid/content/BroadcastReceiver;
invoke-virtual {v0, v9, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
const v6, 0x7f03001c
invoke-static {v0, v6, v11}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;
move-result-object v5
check-cast v5, Lcom/lidroid/systemui/quickpanel/PowerWidget;
invoke-virtual {v5}, Lcom/lidroid/systemui/quickpanel/PowerWidget;->setupWidget()V
iget-object v6, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mExpandedView:Lcom/android/systemui/statusbar/phone/ExpandedView;
invoke-virtual {v6, v5, v11}, Lcom/android/systemui/statusbar/phone/ExpandedView;->addView(Landroid/view/View;I)V
[color=indigo]const v6, [color=red]0x7f03001e[/color]
invoke-static {v0, v6, v11}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;
move-result-object v5
check-cast v5, Lcom/android/systemui/statusbar/quickpanel/BrightnessSettingsView;
invoke-virtual {v5}, Lcom/android/systemui/statusbar/quickpanel/BrightnessSettingsView;->init()V
iget-object v6, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mExpandedView:Lcom/android/systemui/statusbar/phone/ExpandedView;
const/4 p0, 0x1
invoke-virtual {v6, v5, p0}, Lcom/android/systemui/statusbar/phone/ExpandedView;->addView(Landroid/view/View;I)V
[color=blue]return-object v4[/color][/color]
Save & Close
PART IV: Compile & push to your system, don't forget to set your permission to rw-r--r-- ! DONE.
The End: That's all - Wasn't that hard, wasn't it ? :silly: .... Good Luck !!! :highfive:
Disclaimer:
I didn't write up the code for quickpanel brightness settings, it has been pass on from forum to forum - I do not know the original author. If it's your please let me know so we all can give proper thanks.
Click to expand...
Click to collapse
+1
+thanks for you.
Yeeeah, I think we need more people like you
thanks for the tutorial.
How would you go about removing the brightness bar (manually)?
fcb13 said:
How would you go about removing the brightness bar (manually)?
Click to expand...
Click to collapse
The quickest way is take out the Added code in the PhoneStatusBar.smali. You can ignore the rest. But it would be more clean if you reverse the guide.
is it working on other phone such samsung or only xperia??
d3cka said:
is it working on other phone such samsung or only xperia??
Click to expand...
Click to collapse
NO, this guide is for Xperia - Samsung had a different layout in SystemUI
Ohh thanks for the answer
Sent from my GT-S5360 using xda premium
can someuone upload the edited SystemUI? I dont have a pc right now only phone
Awesome work.
Worked for me. Can't say anything changes in touchscreen sensitivity, it was fine before. But the capacitive buttons were always kind of a pain in the .ss, now they respond much better. Thanks a lot for this mod. Xperia Ion.
My phone doesn't have phonestatusbar.smali
Sent from my XT530 using xda app-developers app
I don' t know if this work.
I have a problem, decompile e recompile SystemUI.apk without an error, but when use SystemUI recompileted it's don't work.
Can Someone help me?
Where I should add line from part III? In file extracted from systemX.zip I have no one "line" with needed id.
Oh, it was my mistake - i searched for ".line"
Thank you for this guide!
great tutorial:good:
+1 thanks
Sent from my LT26i using xda app-developers app
I wanna add the slider in 2.3 but i could not find phonestatubar.smali
what can I do?
i think you can code a patch to help every body
Great tutorial! thanks!
on other manufacturers phones, it is /smali/com/android/systemui/statusbar/StatusBarService.smali
Remove Connections Optimizer
I thought I better share this here in case anyone else needs it as well.
There seems to be some confusion over the Connections Optimizer because once the app has been removed from a rom, the menu item still displays causing FC issues when selected.
This will remove the option from Settings/More networks/Mobile networks (screenshot attached).
[Guide] For the Devs
Smali edit.
SecPhone/com/android/phone/PhoneFeature.smali
Remove or comment out the line highlighted in Red.
Cheers - TD
Remove the line highlighted in RED:
Code:
const-string v6, "sprint_connections_optimizer"
invoke-virtual {v9}, Ljava/lang/Boolean;->booleanValue()Z
move-result v2
if-nez v2, :cond_12b5
const/4 v2, 0x0
:goto_d86
invoke-static {v2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v2
[COLOR="Red"]invoke-virtual {v3, v6, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;[/COLOR]
const-string v6, "sprint_connections_optimizer"
invoke-virtual {v9}, Ljava/lang/Boolean;->booleanValue()Z
move-result v2
if-nez v2, :cond_72
const/4 v2, 0x0
:goto_3a
invoke-static {v2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v2
invoke-virtual {v3, v6, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/ObjectLjava/lang/Object; <<REMOVED
Need help with this one seems the Mod doesnt work anymore.
Here are the errors I get with the apktool when building the file after using your method.
C:\apktool>apktool if framework-res.apk
I: Framework installed to: C:\Users\Mr. Street\apktool\framework\1.apk
C:\apktool>apktool if twframework-res.apk
I: Framework installed to: C:\Users\Mr. Street\apktool\framework\2.apk
C:\apktool>apktool if SystemUI.apk
I: Framework installed to: C:\Users\Mr. Street\apktool\framework\127.apk
C:\apktool>apktool b -f SecPhone
I: Using Apktool 2.0.2-dirty
I: Smaling smali folder into classes.dex...
I: Building resources...
E/ResourceType(10252): Failed resolving ResTable_map name at 1244 with ident 0x02040000
W/ResourceType(10252): Attempt to retrieve bag 0x0201001f which is invalid or in a cycle.
W/ResourceType(10252): Attempt to retrieve bag 0x0201001f which is invalid or in a cycle.
warning: Package not found for resource #0201001f
warning: Package not found for resource #0201001f
warning: Package not found for resource #0201001f
I: Building apk file...
I: Copying unknown files/dir...
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
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 , XdpiDownload 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 , XdpiDownload 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