[guide]taking care of lidroid in statusbar expanded - Galaxy Y GT-S5360 Themes and Apps

how to taking care of lidroid in statusbar expanded.xml
i found the tuts by aory utamie on galaxy Y fb group
how to make the toggles lay on the bottom of notification bar...and its gave
me some idea...why not we take it full control
of lidroid from xml instead of play around with smali which is really such as pain in the ass....
so...long story short...lets dig in.
1. dec.. systemui
2. open statusbarservice.smali
paste these code below #instance fields
.field l1:Landroid/widget/LinearLayout;
3.next go to public.xml... find the last id and add one more... in my case the last id is
0x7f090028 ....and then i add one id with name="awesomelidroid" id="0x7f090029"
then open ids.xml and add new id name awesomelidroid and give it values...false
4.on the statusbarservice.smali ...go to .line 336 and paste this below thoose group's line
.line 337
const v2, 0x7f090029 //these id must define in public.xml and ids.xml also
invoke-virtual {v1, v2}, Lcom/android/systemui/statusbar/ExpandedView;->findViewById(I)Landroid/view/View;
move-result-object v2
check-cast v2, Landroid/widget/LinearLayout;
iput-object v2, p0, Lcom/android/systemui/statusbar/StatusBarService;->l1:Landroid/widget/LinearLayout;
5. and finally... the important part...we move the lidroid inflater into our own view
find .line 344 and modified it...
.line 344
.local v3, qsv:Lcom/lidroid/systemui/quickpanel/PowerWidget;
const/4 v8, 0x0
invoke-virtual {v3}, Lcom/lidroid/systemui/quickpanel/PowerWidget;->setupWidget()V
iget-object v2, p0, Lcom/android/systemui/statusbar/StatusBarService;->l1:Landroid/widget/LinearLayout;
invoke-virtual {v2, v3, v8}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;I)V
6.then on statusbar-expanded.xml.. create some linearlayout and give it id="@id/awesomelidroid"
put it everywhere u want
...build n push...
NB:
-OUT OF TOPIC question...will be ignored (ask ur question in the proper thread)
-i dont take any responsibility of ur failure...
-think b4 u reply this thread
-think again
thanx to :
Allah SWT
Lidroid
Aoury Utamie
and U
enjoy...
if this post help ya.... u know what to do
{
"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"
}
Sent from my GT-S5360 using Tapatalk 2

nice guide i was looking for it
b/w share your systemui for referance

hey sir, i stuck on point 6. i'm added linear layout on expanded <LinearLayout androidrientation="horizontal" android:id="@id/awesomelidroid" android:layout_width="fill_parent" android:layout_height="wrap_content" but when decompile i have error

Awesome man!!.Now we can put the toggles anywhere you want.

ocoot said:
hey sir, i stuck on point 6. i'm added linear layout on expanded <LinearLayout androidrientation="horizontal" android:id="@id/awesomelidroid" android:layout_width="fill_parent" android:layout_height="wrap_content" but when decompile i have error
Click to expand...
Click to collapse
Please read point 3
Sent from my GT-S5360 using Tapatalk 2

yes sir, I've added that in the point 3 in ids. but when it gets to point 6, I added
<LinearLayout androidrientation = "horizontal" android: id = "@ id / awesomelidroid" android: layout_width = "fill_parent" android: layout_height = "wrap_content"
then I add this again
</ linearlayout>
be like this
<LinearLayout androidrientation = "horizontal" android: id = "@ id / awesomelidroid" android: layout_width = "fill_parent" android: layout_height = "wrap_content"
</ linearlayout>
and when recompiled, in case of error

kill3d said:
how to taking care of lidroid in statusbar expanded.xml
i found the tuts by aory utamie on galaxy Y fb group
how to make the toggles lay on the bottom of notification bar...and its gave
me some idea...why not we take it full control
of lidroid from xml instead of play around with smali which is really such as pain in the ass....
so...long story short...lets dig in.
1. dec.. systemui
2. open statusbarservice.smali
paste these code below #instance fields
.field l1:Landroid/widget/LinearLayout;
3.next go to public.xml... find the last id and add one more... in my case the last id is
0x7f090028 ....and then i add one id with name="awesomelidroid" id="0x7f090029"
then open ids.xml and add new id name awesomelidroid and give it values...false
4.on the statusbarservice.smali ...go to .line 336 and paste this below thoose group's line
.line 337
const v2, 0x7f090029 //these id must define in public.xml and ids.xml also
invoke-virtual {v1, v2}, Lcom/android/systemui/statusbar/ExpandedView;->findViewById(I)Landroid/view/View;
move-result-object v2
check-cast v2, Landroid/widget/LinearLayout;
iput-object v2, p0, Lcom/android/systemui/statusbar/StatusBarService;->l1:Landroid/widget/LinearLayout;
5. and finally... the important part...we move the lidroid inflater into our own view
find .line 344 and modified it...
.line 344
.local v3, qsv:Lcom/lidroid/systemui/quickpanel/PowerWidget;
const/4 v8, 0x0
invoke-virtual {v3}, Lcom/lidroid/systemui/quickpanel/PowerWidget;->setupWidget()V
iget-object v2, p0, Lcom/android/systemui/statusbar/StatusBarService;->l1:Landroid/widget/LinearLayout;
invoke-virtual {v2, v3, v8}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;I)V
6.then on statusbar-expanded.xml.. create some linearlayout and give it id="@id/awesomelidroid"
put it everywhere u want
...build n push...
NB:
-OUT OF TOPIC question...will be ignored (ask ur question in the proper thread)
-i dont take any responsibility of ur failure...
-think b4 u reply this thread
-think again
thanx to :
Allah SWT
Lidroid
Aoury Utamie
and U
enjoy...
if this post help ya.... u know what to do
View attachment 1426824
Sent from my GT-S5360 using Tapatalk 2
Click to expand...
Click to collapse
Man how u added weather in statusbar??
Sent from my GT-S6102 using xda premium

samsoul16 said:
Man how u added weather in statusbar??
Sent from my GT-S6102 using xda premium
Click to expand...
Click to collapse
Nothing is imposible when kill3d plays in statusbar :banghead::banghead::banghead:
Sent from my Android System using Busybox Commands.

ocoot said:
yes sir, I've added that in the point 3 in ids. but when it gets to point 6, I added
<LinearLayout androidrientation = "horizontal" android: id = "@ id / awesomelidroid" android: layout_width = "fill_parent" android: layout_height = "wrap_content"
then I add this again
</ linearlayout>
be like this
<LinearLayout androidrientation = "horizontal" android: id = "@ id / awesomelidroid" android: layout_width = "fill_parent" android: layout_height = "wrap_content"
</ linearlayout>
and when recompiled, in case of error
Click to expand...
Click to collapse
What exactly error u got??
Id not define???
Have set those awesomelidroid to false in ids.xml...???
Sent from my GT-S5360 using Tapatalk 2

kill3d said:
What exactly error u got??
Id not define???
Have set those awesomelidroid to false in ids.xml...???
Sent from my GT-S5360 using Tapatalk 2
Click to expand...
Click to collapse
yes sir, I have complied with all the steps you give, but I stopped in that section. when compile error always occur
this is the logcat
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) Client VM (build 23.5-b02, mixed mode, sharing)
Could Not Find D:\file\APKmanager\place-apk-here-for-modding\../place-apk-here-for-modding/signedSettings.apk
Could Not Find D:\file\APKmanager\place-apk-here-for-modding\../place-apk-here-for-modding/unsignedSettings.apk
I: Baksmaling...
I: Loading resource table...
I: Loaded.
I: Loading resource table from file: C:\Users\octo\apktool\framework\1.apk
I: Loaded.
I: Decoding file-resources...
I: Loading resource table from file: C:\Users\octo\apktool\framework\2.apk
I: Loaded.
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...
Could Not Find D:\file\APKmanager\place-apk-here-for-modding\../place-apk-here-for-modding/signedSystemUI.apk
Could Not Find D:\file\APKmanager\place-apk-here-for-modding\../place-apk-here-for-modding/unsignedSystemUI.apk
I: Baksmaling...
I: Loading resource table...
I: Loaded.
I: Loading resource table from file: C:\Users\octo\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...
Exception in thread "main" java.lang.NullPointerException
at org.jf.util.PathUtil.getRelativeFile(PathUtil.java:44)
at org.jf.smali.smaliFlexLexer.getSourceName(smaliFlexLexer.java:2569)
at org.jf.smali.smaliFlexLexer.getErrorHeader(smaliFlexLexer.java:2661)
at org.jf.smali.smaliFlexLexer.nextToken(smaliFlexLexer.java:2530)
at org.antlr.runtime.CommonTokenStream.fillBuffer(CommonTokenStream.java:119)
at org.antlr.runtime.CommonTokenStream.LT(CommonTokenStream.java:238)
at org.jf.smali.smaliParser.smali_file(smaliParser.java:430)
at brut.androlib.mod.SmaliMod.assembleSmaliFile(SmaliMod.java:71)
at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java:43)
at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java:33)
at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:64)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:48)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:35)
at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:222)
at brut.androlib.Androlib.buildSources(Androlib.java:179)
at brut.androlib.Androlib.build(Androlib.java:170)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:174)
at brut.apktool.Main.main(Main.java:59)
I: Checking whether sources has changed...
I: Smaling...
Exception in thread "main" java.lang.NullPointerException
at org.jf.util.PathUtil.getRelativeFile(PathUtil.java:44)
at org.jf.smali.smaliFlexLexer.getSourceName(smaliFlexLexer.java:2569)
at org.jf.smali.smaliFlexLexer.getErrorHeader(smaliFlexLexer.java:2661)
at org.jf.smali.smaliFlexLexer.nextToken(smaliFlexLexer.java:2530)
at org.antlr.runtime.CommonTokenStream.fillBuffer(CommonTokenStream.java:119)
at org.antlr.runtime.CommonTokenStream.LT(CommonTokenStream.java:238)
at org.jf.smali.smaliParser.smali_file(smaliParser.java:430)
at brut.androlib.mod.SmaliMod.assembleSmaliFile(SmaliMod.java:71)
at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java:43)
at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java:33)
at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:64)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:48)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:35)
at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:222)
at brut.androlib.Androlib.buildSources(Androlib.java:179)
at brut.androlib.Androlib.build(Androlib.java:170)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:174)
at brut.apktool.Main.main(Main.java:59)
Benchmark.apk==None was unexpected at this time.
Click to expand...
Click to collapse

I think this is smali matter...
Please compare it with mine
http://db.tt/JJZ0xshE
Sent from my GT-S5360 using Tapatalk 2

kill3d said:
I think this is smali matter...
Please compare it with mine
http://db.tt/JJZ0xshE
Sent from my GT-S5360 using Tapatalk 2
Click to expand...
Click to collapse
oke thanks. i'll try

kill3d said:
I think this is smali matter...
Please compare it with mine
http://db.tt/JJZ0xshE
Sent from my GT-S5360 using Tapatalk 2
Click to expand...
Click to collapse
I don't wanna spam the thread. So plz check Ur inbox. Anyways nice work love it. Will try today. As my xams are over today...
And can u plz make a tutorial if u have a little time on how to make 2 different tabs for notifications and toggles...
Sent from my GT-S6102 using xda premium

ah, i get the problem from the last error. on your tuts, your last id is 0x7f090028. but on me, my last id is
<public type="id" name="dcsmscarrier" id="0x7f090028" />
<public type="id" name="tombolnotif" id="0x7f090029" />
why i fix that?

ocoot said:
ah, i get the problem from the last error. on your tuts, your last id is 0x7f090028. but on me, my last id is
<public type="id" name="dcsmscarrier" id="0x7f090028" />
<public type="id" name="tombolnotif" id="0x7f090029" />
why i fix that?
Click to expand...
Click to collapse
+1 those id =>> 0x7f09002a
Sent from my GT-S5360 using Tapatalk 2

i will try this sir..thanks for the tut!!:good:

Killed cab u share systemui for comparison
"T}{@ÑK$" ÑøT TÕ $Ä¥ Jû§T Pr€ë$ ÎT...!!!
Sent From MY ¥ Dûø$ Üs!nG ËvÕ X RoM V¡Å XpArEnT TaPtAlK 2

Dcsms plz SHARE ur systemui. I need to do some comparison...
"T}{@ÑK$" ÑøT TÕ $Ä¥ Jû§T Pr€ë$ ÎT...!!!
Sent From MY ¥ Dûø$ Üs!nG ËvÕ X RoM V¡Å XpArEnT TaPtAlK 2

Sir i tried your guide and no error when compile it but now my statusbar not the same as yours.
How can i fix that?
Note: i compare your statusbarservice.smali has :
.field l1:Landroid/widget/LinearLayout
.field l2:Landroid/widget/LinearLayout
But in your guide you only put .fieldl1 ?

d3cka said:
Sir i tried your guide and no error when compile it but now my statusbar not the same as yours.
View attachment 1631022
How can i fix that?
Note: i compare your statusbarservice.smali has :
.field l1:Landroid/widget/LinearLayout
.field l2:Landroid/widget/LinearLayout
But in your guide you only put .fieldl1 ?
Click to expand...
Click to collapse
Hey dude It depends on where have u created the linear layout with that id. Create it before ongoing titles layout...
"T}{@ÑK$" ÑøT TÕ $Ä¥ Jû§T Pr€ë$ ÎT...!!!
Sent From MY ¥ Dûø$ Üs!nG ËvÕ X RoM V¡Å XpArEnT TaPtAlK 2

Related

How to add Reboot to power menu for Xperia's phones

I learn it from this thread:http://forum.xda-developers.com/showthread.php?t=811532
this is the final method for Xperia phones that will add reboot options to the power menu
updated 2011/08/07
================================================== ==========
Step 1.
the first thing we need to do is add string and image resources to framwork-res
for this example I am using a MT15i_4.0.A.368_HK.ftf ROM
your resource id's will be different if on another ROM
use apk_manager to decompile framework-res
open "values\strings.xml" and add our string resources
Code:
<string name="reboot">Reboot</string>
save and close
open "values-zh-rCN\strings.xml" and add our string resources
Code:
<string name="reboot">重启手机</string>
save and close
open "values\public.xml" and assign our strings resource id's
scroll until you get to the end of the "<public type="string"" id list
note the id of the last string, in this example it is "0x010403e0" sometimes
the id's are out of order so search for "0x010403e0 + 1" or "0x010403e1"
if the next id is unused then we can start assigning id's to the strings
we added.
Code:
<public type="string" name="reboot" id="0x010403e1" />
now is a good time to add the image resources(reboot.png) so add your icons to
"res\drawable-hdpi"
and assign id's to them the same way we did for the strings(using the sorted funtion of microsoft-office-excel may be much more easier)
in this example, using the example icons in the zip file I had
Code:
<public type="drawable" name="reboot" id="0x01080526" />
save and close
now framework-res has the resources needed for this mod use
apk_manager to compile.
================================================== ==========
Step 2.
next we need to modify Xperia's shutdown method to accept 3 more options
so decompile framework and open "com\android\internal\app\ShutdownThread.smali "
since we are going to pass an integer to ShutdownThread and then evaluate
that integer when the code runs we have to have a spot for the integer so
change this
Code:
.field private static mReboot:Z
to
Code:
.field public static mReboot:I
.field private static mReboot:Z
then in method(add the red color code)
Code:
.line 409
:goto_1f
const-string v2, "ShutdownThread"
const-string v2, "Performing low-level shutdown..."
invoke-static {v4, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
Code:
sget v1, Lcom/android/internal/app/ShutdownThread;->mReboot:I
const/4 v2, 0x1
if-eq v1, v2, :cond_2f
Code:
.line 410
invoke-static {}, Landroid/os/Power;->shutdown()V
.line 411
return-void
Code:
:cond_2f
const-string v4, "reboot"
invoke-static {v4}, Landroid/os/Power;->reboot(Ljava/lang/String;)V
return-void
Code:
.line 388
:catch_2a
move-exception v0
save and close
compile framework
================================================== ==========
Step 3.
now we are going to add the extra options to the power menu
decompile android.policy
open "com\android\internal\policy\impl\GlobalActions.sm ali"
the first thing that we need to do is increase the array length by 3
so in method createDialog change this
Code:
const/4 v0, 0x3
new-array v0, v0, [Lcom/android/internal/policy/impl/GlobalActions$Action;
to this
Code:
const/4 v0, 0x4
new-array v0, v0, [Lcom/android/internal/policy/impl/GlobalActions$Action;
now add the new menu items this is where the resource id's that we added
to framework-res com into play so after
Code:
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$3;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
add this code
Code:
aput-object v2, v0, v1
const/4 v1, 0x3
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$7;
const v3, 0x1080526 # reboot icon resource id
const v4, 0x10403e1 # reboot string resource id
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$7;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
make sure to change the resource id's to match what you added to to framework-res
save and close
next add the code that runs when the menu item is pressed
copy GlobalActions$3.smali and name it GlobalActions$7.smali
open GlobalActions$7 and replace all instances of GlobalActions$3(ctrl+h)
with GlobalActions$7 then change
Code:
const/4 v1, 0x1
to
Code:
const/4 v1, 0x1
const/4 p0, 0x1
sput p0, Lcom/android/internal/app/ShutdownThread;->mReboot:I
save and close
compile android.policy
done test on the phone.
flash the attached update.zip with the stock updater.enjoy~
Click to expand...
Click to collapse
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Thank u EQ,Let me have a try
Any one can help me add new options reboot directly to CWM
quangnhut123 said:
Any one can help me add new options reboot directly to CWM
Click to expand...
Click to collapse
?
Sent Via LT15i - FXP46-CM7
quangnhut123 said:
Any one can help me add new options reboot directly to CWM
Click to expand...
Click to collapse
He wants boot to recovery
Sent from my MT15i using xda premium
blade buddy solves this problem
copy GlobalActions$3.smali and name it GlobalActions$7.smali
open GlobalActions$7 and "replace all instances of GlobalActions$3(ctrl+h)
with GlobalActions$7 then change"
can you tell me ho to do that with qoute?
copy "GlobalActions$3.smali" and name it "GlobalActions$7.smali"
open "GlobalActions$7.smali" and replace all instances of "GlobalActions$3" (ctrl+h)
with GlobalActions$7
example in first column:
.class Lcom/android/internal/policy/impl/GlobalActions$3;
change to
.class Lcom/android/internal/policy/impl/GlobalActions$7;
correct if am wrong
----------------------------------------------------------------------
indonesia:
copy "GlobalActions$3.smali" ganti nama jadi "GlobalActions$7.smali"
buka "GlobalActions$7.smali" dan ganti semua tulisan "GlobalActions$3" (ctrl+h)
dengan "GlobalActions$7"
contoh pada baris pertama:
.class Lcom/android/internal/policy/impl/GlobalActions$3;
menjadi
.class Lcom/android/internal/policy/impl/GlobalActions$7;
adoet_t said:
copy "GlobalActions$3.smali" and name it "GlobalActions$7.smali"
open "GlobalActions$7.smali" and replace all instances of "GlobalActions$3" (ctrl+h)
with GlobalActions$7
example in first column:
.class Lcom/android/internal/policy/impl/GlobalActions$3;
change to
.class Lcom/android/internal/policy/impl/GlobalActions$7;
correct if am wrong
----------------------------------------------------------------------
indonesia:
copy "GlobalActions$3.smali" ganti nama jadi "GlobalActions$7.smali"
buka "GlobalActions$7.smali" dan ganti semua tulisan "GlobalActions$3" (ctrl+h)
dengan "GlobalActions$7"
contoh pada baris pertama:
.class Lcom/android/internal/policy/impl/GlobalActions$3;
menjadi
.class Lcom/android/internal/policy/impl/GlobalActions$7;
Click to expand...
Click to collapse
You can use my mod from Ray here It is 99%(if not 100%) compatible with Arc..
Thank you MM!!!:D:D
error while recompiling
I apologize if this question is in wrong section but i ran into a small problem with my sony xperia ray ics 4.0.4 ...587,
I read the given tutorial on adding reboot, . But after i edit public xml i try to compile and it gives me an error
error: Public symbol drawable/reboot declared here is not defined.
i have followed the tutorial properly (i think)..plz help me where m i going wrong?
mandar_ez said:
I apologize if this question is in wrong section but i ran into a small problem with my sony xperia ray ics 4.0.4 ...587,
I read the given tutorial on adding reboot, . But after i edit public xml i try to compile and it gives me an error
error: Public symbol drawable/reboot declared here is not defined.
i have followed the tutorial properly (i think)..plz help me where m i going wrong?
Click to expand...
Click to collapse
did you add the drawable to the working folder?
PVy.
@ How to add Reboot to power menu for Xperia's phones
or install this theme..
http://forum.xda-developers.com/showthread.php?t=1952567
pvyParts said:
did you add the drawable to the working folder?
PVy.
Click to expand...
Click to collapse
thank you for replying..
yes i pasted the reboot.png in drawable-hdpi folder..on recompile there is that error..
thanks again
also i extracted the framework-res.apk from /system/framework/framework-res.apk from my xperia using the file manager..is it necessary to extract from the stock rom?
log:
C:\apktool>java -jar apktool.jar b frame NEWframework-res.apk
W: Could not find sources
I: Checking whether resources has changed...
I: Building resources...
C:\apktool\frame\res\values\public.xml:6621: error: Public entry identifier 0x10
808bc entry index is larger than available symbols (index 2236, total symbols 20
38).
C:\apktool\frame\res\values\public.xml:6621: error: Public symbol drawable/ic_lo
ck_reboot declared here is not defined.
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutExce
ption: could not exec command: [aapt, p, --min-sdk-version, 15, --target-sdk-ver
sion, 15, -F, C:\Users\Kate\AppData\Local\Temp\APKTOOL3008729626159014937.tmp, -
x, -S, C:\apktool\frame\res, -M, C:\apktool\frame\AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:255)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:324)
at brut.androlib.Androlib.buildResources(Androlib.java:269)
at brut.androlib.Androlib.build(Androlib.java:192)
at brut.androlib.Androlib.build(Androlib.java:174)
at brut.apktool.Main.cmdBuild(Main.java:188)
at brut.apktool.Main.main(Main.java:70)
Caused by: brut.common.BrutException: could not exec command: [aapt, p, --min-sd
k-version, 15, --target-sdk-version, 15, -F, C:\Users\Kate\AppData\Local\Temp\AP
KTOOL3008729626159014937.tmp, -x, -S, C:\apktool\frame\res, -M, C:\apktool\frame
\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:253)
... 6 more
Hi
what about ics?
i need it plz help...
in ics the following line :
Code:
const/4 v0, 0x3
new-array v0, v0, [Lcom/android/internal/policy/impl/GlobalActions$Action;
doesn't exist in android.policy.jar\com\android\internal\policy\impl\GlobalActions.smali
poria1999 said:
Hi
what about ics?
i need it plz help...
in ics the following line :
Code:
const/4 v0, 0x3
new-array v0, v0, [Lcom/android/internal/policy/impl/GlobalActions$Action;
doesn't exist in android.policy.jar\com\android\internal\policy\impl\GlobalActions.smali
Click to expand...
Click to collapse
Can anyone help me?
poria1999 said:
Can anyone help me?
Click to expand...
Click to collapse
do you use stock ics????
s.bluedreams said:
do you use stock ics????
Click to expand...
Click to collapse
Yep...
Is it work for u?
poria1999 said:
Yep...
Is it work for u?
Click to expand...
Click to collapse
doesnt work at stock i think !
use one mod like Ultimate HD MOD by eagle boy and then try...
i didnt test it
هموطن
Does work at stock for sure.
Recoded it, mine works, this one maybe not.

How to: Implement 3G/2G switch to LidroidBar 05/01/2013

Hello friends today I want to share with you this little mod on how to integrate a button to switch 3G/2G in lidroidbar......:laugh:
We need to change 4 packages which include: lidroid-res.apk, the Secphone.apk, the quikpanel.apk and SystemUI.apk
First we have to add the receivers at Secphone.Apk and register them at runtime throug phone app startup..
Download this zip and paste into SecPhone.apk classes
1- Decompile Secphone.apk classes with apktool or simply extract the classes.dex and decompile with smali utility
Find the class PhoneApp.smali ( \com\android\phone ) and add this values : .
field private final mModeReceiver:Landroid/content/BroadcastReceiver; *
Code:
.field private mLastNumber:Ljava/lang/String;
.field private mLastPhoneState:Lcom/android/internal/telephony/Phone$State;
.field private mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
.field private final mMediaButtonReceiver:Landroid/content/BroadcastReceiver;
[COLOR=DarkRed].field private final mModeReceiver:Landroid/content/BroadcastReceiver;[/COLOR] *
.field public mMmiInitMsg:Landroid/os/AsyncResult;
Search for new-instance v0, Lcom/android/phone/PhoneApp$PhoneAppBroadcastReceiver;
And after this line add this :
Code:
new-instance v0, Lcom/android/phone/NetworkModeReceiver;
invoke-direct {v0}, Lcom/android/phone/NetworkModeReceiver;-><init>()V
iput-object v0, p0, Lcom/android/phone/PhoneApp;->mModeReceiver:Landroid/content/BroadcastReceiver;
Now search this line iget-object v1, p0, Lcom/android/phone/PhoneApp;->mReceiver:Landroid/content/BroadcastReceiver;
and after invoke-virtual {p0, v1, v0}, Lcom/android/phone/PhoneApp;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilterLandroid/content/Intent;
Add this code :
Code:
new-instance v0, Landroid/content/IntentFilter;
const-string v1, "com.android.phone.CHANGE_NETWORK_MODE"
invoke-direct {v0, v1}, Landroid/content/IntentFilter;-><init>(Ljava/lang/String;)V
iget-object v1, p0, Lcom/android/phone/PhoneApp;->mModeReceiver:Landroid/content/BroadcastReceiver;
invoke-virtual {p0, v1, v0}, Lcom/android/phone/PhoneApp;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
Thats all for Secphone.apk and you can recompile them.....
2- Now we need to add the button values to lidroid-res.apk ( easy part )
Decompile the lidroid framework and add this values to string : <string name="quickpanel_networkmode_text">2G/3G/Auto</string>
After we need to add to drawable-hdmi 3 png image and renaming in stat_gsm_on stat_gsm_off stat_gsm_auto, search for your favorite icon araund the web. Thats all for lidroid framework recompile.
After compiling lidroid-res.apk you need to decompile again and copy the corresponding values from the public file : Example in my case the string
quickpanel_networkmode_text have this value 0x050b0063 ( 0x50b0063 in systemui ), do this even for images that you have added ....We will need these values ​​when we're going to add the button to lidroidbar within the systemui.
3- Add button to lidroid values inside the systemui:
Decompile your SystemUI classes.dex ( where the lidroidbar setting are ) and copy this file inside \com\lidroid\systemui\quickpanel
Search the power button.smali and add this values
Code:
[COLOR=DarkRed]sget-object v0, Lcom/lidroid/systemui/quickpanel/PowerButton;->BUTTONS:Ljava/util/HashMap;
const-string v1, "toggleNetworkMode"
const-class v2, Lcom/lidroid/systemui/quickpanel/NetworkModeButton;
invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;[/COLOR]
.line 71
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
sput-object v0, Lcom/lidroid/systemui/quickpanel/PowerButton;->BUTTONS_LOADED:Ljava/util/HashMap;
.line 80
sput-object v3, Lcom/lidroid/systemui/quickpanel/PowerButton;->GLOBAL_ON_CLICK_LISTENER:Landroid/view/View$OnClickListener;
.line 83
sput-object v3, Lcom/lidroid/systemui/quickpanel/PowerButton;->GLOBAL_ON_LONG_CLICK_LISTENER:Landroid/view/View$OnLongClickListener;
return-void
.end method
In case adjust for your directory...
Now enter to com/lidroid/constants/ and open statusbar.smali and add this line:
.field public static final BUTTON_NETWORKMODE:Ljava/lang/String; = "toggleNetworkMode"
Now open out/lidroid and search for R$drawable.smali open and add this values:
Code:
.field public static final stat_gsm_on:I = 0x50200ff
.field public static final stat_gsm_off:I = 0x50200fe
.field public static final stat_gsm_auto:I = 0x5020100
adjusted values ​​with those of your lidroid framework.....
Now open R$string.smali and add this line:
.field public static final quickpanel_networkmode_text:I = 0x50b0063
Also adjusted again values ​​with those of your lidroid framework.....
Finally open the file we added before: the "NetworkModeButton.smali"
We have to adjust the values for the image and string take from the lidroid framework....
Thats all for SystemUI you can recompile.....:laugh:
4- Final part...Add toggle in the quikpanel.apk
Decompile the quikpanel.apk and insert this value to string.xml ( inside values/string )
<string name="title_toggle_NetworkMode">Toggle 2G/3G</string>
Compile and after decompile again, We need the string value that we added, take this value...
Now search into smali files the PowerWidjetUtil.smali and add another button like this:
Code:
const-string v1, "toggleNetworkMode"
new-instance v2, Lcom/goatrip/statusbar/PowerWidgetUtil$ButtonInfo;
const-string v3, "toggleNetworkMode"
const v4, 0x7f080049
const-string v5, "goatrip:drawable/stat_gsm_on"
invoke-direct {v2, v3, v4, v5}, Lcom/goatrip/statusbar/PowerWidgetUtil$ButtonInfo;-><init>(Ljava/lang/String;ILjava/lang/String;)V
invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
The button structure may be different than mine simply copy and paste a your existing button source.
Now adjust the string value with the one obtained first
Thats all Enjoy
If you like this mod simply give me a thanks!!!!!!
{
"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"
}
Added Modded Lidroid Framework......:laugh:
Hey, first of all, many thanks for your work.
But, I can´t make it work. I do all changes in SecPhone.apk, but any time I reboot the phone, all I get is SecPhone has sttoped. Any ideas to fix it.
The first point said: Download this zip and paste into SecPhone.apk classes
I decompiled SecPhone.apk first and copy the files later into \com\android\phone, I guess this the right order, isn´t it?.
If I replace the SecPhone.apk with the original one, there are not any fc, but this toggle does not appear anywhere. I can´t see it into the lidroidSettings.
ROM. LS8
Kernel: Jeboo
Thanks in advance, any help would be appreciated.
Josehg said:
Hey, first of all, many thanks for your work.
But, I can´t make it work. I do all changes in SecPhone.apk, but any time I reboot the phone, all I get is SecPhone has sttoped. Any ideas to fix it.
The first point said: Download this zip and paste into SecPhone.apk classes
I decompiled SecPhone.apk first and copy the files later into \com\android\phone, I guess this the right order, isn´t it?.
If I replace the SecPhone.apk with the original one, there are not any fc, but this toggle does not appear anywhere. I can´t see it into the lidroidSettings.
ROM. LS8
Kernel: Jeboo
Thanks in advance, any help would be appreciated.
Click to expand...
Click to collapse
+1
Does the toggle switch between 2G & 3G bands?
hi Neme77
Can you tell me how I can add 23 Toggles in In this SystemUI here
I want to add lidroid-res - LidroidSettings
Please,
Someone made work this mod on LSD or LSE?
Enviado desde mi GT-I9100 usando Tapatalk 2
Devil_1210 said:
Someone made work this mod on LSD or LSE?
Enviado desde mi GT-I9100 usando Tapatalk 2
Click to expand...
Click to collapse
+1
that would be awesome
anyone?
Josehg said:
Hey, first of all, many thanks for your work.
But, I can´t make it work. I do all changes in SecPhone.apk, but any time I reboot the phone, all I get is SecPhone has sttoped. Any ideas to fix it.
The first point said: Download this zip and paste into SecPhone.apk classes
I decompiled SecPhone.apk first and copy the files later into \com\android\phone, I guess this the right order, isn´t it?.
If I replace the SecPhone.apk with the original one, there are not any fc, but this toggle does not appear anywhere. I can´t see it into the lidroidSettings.
ROM. LS8
Kernel: Jeboo
Thanks in advance, any help would be appreciated.
Click to expand...
Click to collapse
in SecPhone, after all the changes, delete this string in the AndroidManifest.xml:
Code:
<uses-permission android:name="android.permission.DUMP" />
Recompile and Sign apk
Troy.main said:
hi Neme77
Can you tell me how I can add 23 Toggles in In this SystemUI here
I want to add lidroid-res - LidroidSettings
Please,
Click to expand...
Click to collapse
In LidroidSetting.apk\smali\com\lidroid\settings\statusbar\ PowerWidgetUtil.smali add this command to the end of the following method:
.method public static getButtons(Landroid/content/ContextLjava/util/HashMap;
Add the RED lines
Code:
const-string v6, "lidroid:drawable/stat_multiwindow_on"
invoke-direct {v3, v4, v5, v6}, Lcom/lidroid/settings/statusbar/PowerWidgetUtil$ButtonInfo;-><init>(Ljava/lang/String;ILjava/lang/String;)V
invoke-virtual {v1, v2, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 189
:cond_18
[COLOR="DarkRed"] const-string v1, "toggleNetworkMode"
invoke-virtual {v0, v1, v7}, Lcom/lidroid/settings/Features;->has(Ljava/lang/String;Z)Z
move-result v1
if-eqz v1, :cond_mak
.line 186
sget-object v1, Lcom/lidroid/settings/statusbar/PowerWidgetUtil;->BUTTONS:Ljava/util/HashMap;
const-string v2, "toggleNetworkMode"
new-instance v3, Lcom/lidroid/settings/statusbar/PowerWidgetUtil$ButtonInfo;
const-string v4, "toggleNetworkMode"
const v5, 0x7f09009f
const-string v6, "lidroid:drawable/stat_gsm_on"
invoke-direct {v3, v4, v5, v6}, Lcom/lidroid/settings/statusbar/PowerWidgetUtil$ButtonInfo;-><init>(Ljava/lang/String;ILjava/lang/String;)V
invoke-virtual {v1, v2, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 190
:cond_mak[/COLOR]
sget-object v1, Lcom/lidroid/settings/statusbar/PowerWidgetUtil;->BUTTONS:Ljava/util/HashMap;
goto/16 :goto_0
.end method
If you have the lidroid of wanam, edit the smali NetworkModeButton.smali, replacing all the words "lidroid" with "wanam"
example:
Code:
Before:
.class public Lcom/lidroid/systemui/quickpanel/NetworkModeButton;
.super Lcom/lidroid/systemui/quickpanel/PowerButton;
Later:
.class public Lcom/wanam/systemui/quickpanel/NetworkModeButton;
.super Lcom/wanam/systemui/quickpanel/PowerButton;
hi please help
i can't do this changes to my rom
here is files you need
LGTeleService.apk
View attachment 4269150
the network toggle is here but don't work ( it can't change network )
i spend a lot of time , i hope some one can fix it
actually can't understand what should i do with lgteleservice.apk ( how to add toggles to this apk?) how to add this codes to lgteleservice?
sorry for my bad english

[GUIDE][GB] Status bar and notification panel color changer | owner pic mod

Long story short. I decided to port some of my mods to a stock status bar .I tried to make the process relatively easy. So it shouldn't be too much of a problem trying.
Status bar and notification panel color changer
Step 1
Decompile your systemui.apk. Extract the attached zip file. Copy the contents into the smali folder.
Step 2
Open res/layout/status_bar.xml.
Find the first line
Code:
<com.android.systemui.statusbar.StatusBarView android:orientation="vertical" android:background="#ff000000" android:focusable="true" android:descendantFocusability="afterDescendants"
Change it to
Code:
<com.android.systemui.statusbar.StatusBarView android:orientation="vertical" android:background="#00000000" android:focusable="true" android:descendantFocusability="afterDescendants"
We just changed the background color to transparent in the above step
After the first line paste this
Code:
<com.b16h22.statusbar.StatusBar android:id="@id/status_bar" android:layout_width="fill_parent" android:layout_height="fill_parent" />
Now save this file
Step 3
Open res/layout/status_bar_tracking.xml
Find this code just below first line
Code:
<View android:background="#ff8e979f" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0" />
Change it to this
Code:
<com.b16h22.statusbar.Pulldown android:id="@id/view" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0" />
Now save this file
Step 4
Open res/values/ids.xml and add these at the end
Code:
<item type="id" name="status_bar">false</item>
<item type="id" name="view">false</item>
Save the file and compile systemui.apk.
Step 5
Now decompile the systemui again
Open public.xml and find these
Code:
<public type="id" name="status_bar" id="[COLOR="DeepSkyBlue"]0x7f090028[/COLOR]" />
<public type="id" name="view" id="[COLOR="Red"]0x7f090029[/COLOR]" />
Open smali/com/b16h22/statusbar/StatusBar.smali
Find
Code:
const v2, [COLOR="DeepSkyBlue"]0x7f090026[/COLOR]
Change it to the id in blue in public.xml
Code:
const v2, [COLOR="DeepSkyBlue"]0x7f090028[/COLOR]
Now open smali/com/b16h22/statusbar/Pulldown.smali
Find
Code:
const v2, [COLOR="Red"]0x7f090027[/COLOR]
Change it to the id in red in public.xml
Code:
const v2, [COLOR="Red"]0x7f090029[/COLOR]
Now re-compile systemui again and push it to phone. Use StatusBarMods.apk from the attachment to change the color.
Click to expand...
Click to collapse
Status bar owner picture
This mod is a little complicated.But if you follow the steps well enough,it's going to be fairly easy.Think twice before asking a doubt.
We are adding owner picture functionality to status bar like android 4.2 and integrate the photo picker to the settings.apk. So let's start with integrating photo picker to settings.I wrote a few classes for this.Extract the "Owner_mod_files_settings.zip" and get the smali files and resource files from it.
Step 1
Get these files from the extracted zip
Code:
res/layout/profile_info.xml
res/drawable/done.xml
res/drawable/pick_profile_picture.xml
res/drawable-ldpi/done_normal.png
res/drawable-ldpi/done_pressed.png
res/drawable-ldpi/ic_qs_default_user.png
res/drawable-ldpi/ic_settings_owner.png
res/drawable-ldpi/pick_profile_normal.png
res/drawable-ldpi/pick_profile_pressed.png
Decompile settings.apk and put the above files in respective folders
Step 2
Get these smali files from the extracted zip and place it in the smali/ folder of decompiled apk
Code:
smali/com/b16h22/Profile.smali
smali/com/b16h22/Profile$1.smali
smali/com/b16h22/Profile$2.smali
Step 3
Now open the ids.xml and add these ids in it
Code:
<item type="id" name="image">false</item>
<item type="id" name="owner">false</item>
<item type="id" name="linear_layout">false</item>
<item type="id" name="profile_pic">false</item>
<item type="id" name="layout1">false</item>
<item type="id" name="change_picture_text">false</item>
<item type="id" name="photo_picker">false</item>
<item type="id" name="linear_layout1">false</item>
<item type="id" name="layout2">false</item>
<item type="id" name="name_field">false</item>
<item type="id" name="name_edit">false</item>
Open strings.xml and add these strings
Code:
<string name="change_pic">Change profile picture</string>
<string name="profile_pic">SET PROFILE PICTURE</string>
<string name="profile_name">CHANGE PROFILE NAME</string>
Step 4
Now recompile the apk and decompile it again. Now open the public.xml and find these ids.These may not be the same in your apk. It may differ.I have color coded them to make it easier to distinguish in the upcoming steps
Code:
<public type="layout" name="profile_info" id="[COLOR="Blue"]0x7f03005a[/COLOR]" />
<public type="drawable" name="ic_qs_default_user" id="[COLOR="Indigo"]0x7f0200b2[/COLOR]" />
<public type="id" name="image" id="[COLOR="Magenta"]0x7f0b011b[/COLOR]" />
<public type="id" name="owner" id="[COLOR="Orange"]0x7f0b011c[/COLOR]" />
<public type="id" name="photo_picker" id="[COLOR="DarkOrchid"]0x7f0b0121[/COLOR]" />
<public type="id" name="name_field" id="[COLOR="YellowGreen"]0x7f0b0124[/COLOR]" />
<public type="id" name="name_edit" id="[COLOR="SeaGreen"]0x7f0b0125[/COLOR]" />
Now open smali/com/b16h22/Profile.smali and find the method
Code:
.method protected onCreate(Landroid/os/Bundle;)V
And replace the ids in it with the ones from public.xml
Code:
.method protected onCreate(Landroid/os/Bundle;)V
.locals 4
.parameter "savedInstanceState"
.prologue
.line 27
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
.line 28
const v2, [COLOR="blue"]0x7f03005a[/COLOR] # profile_info
invoke-virtual {p0, v2}, Lcom/b16h22/Profile;->setContentView(I)V
.line 30
const v2, [COLOR="DarkOrchid"]0x7f0b0121[/COLOR] #photo_picker
invoke-virtual {p0, v2}, Lcom/b16h22/Profile;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/ImageView;
.line 31
.local v0, photo:Landroid/widget/ImageView;
const v2, [COLOR="Orange"]0x7f0b011c[/COLOR] # owner
invoke-virtual {p0, v2}, Lcom/b16h22/Profile;->findViewById(I)Landroid/view/View;
move-result-object v2
check-cast v2, Landroid/widget/TextView;
iput-object v2, p0, Lcom/b16h22/Profile;->owner:Landroid/widget/TextView;
.line 32
const v2, [COLOR="YellowGreen"]0x7f0b0124[/COLOR] # name_field
invoke-virtual {p0, v2}, Lcom/b16h22/Profile;->findViewById(I)Landroid/view/View;
move-result-object v2
check-cast v2, Landroid/widget/EditText;
iput-object v2, p0, Lcom/b16h22/Profile;->name:Landroid/widget/EditText;
.line 33
const v2, [COLOR="SeaGreen"]0x7f0b0125[/COLOR] # name_edit
invoke-virtual {p0, v2}, Lcom/b16h22/Profile;->findViewById(I)Landroid/view/View;
move-result-object v2
check-cast v2, Landroid/widget/ImageView;
iput-object v2, p0, Lcom/b16h22/Profile;->done:Landroid/widget/ImageView;
.line 34
const v2, [COLOR="Magenta"]0x7f0b011b[/COLOR] # image
invoke-virtual {p0, v2}, Lcom/b16h22/Profile;->findViewById(I)Landroid/view/View;
move-result-object v2
check-cast v2, Landroid/widget/ImageView;
iput-object v2, p0, Lcom/b16h22/Profile;->imageView:Landroid/widget/ImageView;
.line 37
const-string v2, "EvoPrefsFile"
const/4 v3, 0x0
invoke-virtual {p0, v2, v3}, Lcom/b16h22/Profile;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
move-result-object v1
.line 38
.local v1, sharedPreferences:Landroid/content/SharedPreferences;
const-string v2, "profileName"
const-string v3, "null"
invoke-interface {v1, v2, v3}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
iput-object v2, p0, Lcom/b16h22/Profile;->profName:Ljava/lang/String;
.line 39
iget-object v2, p0, Lcom/b16h22/Profile;->profName:Ljava/lang/String;
const-string v3, "null"
if-ne v2, v3, :cond_0
.line 40
iget-object v2, p0, Lcom/b16h22/Profile;->owner:Landroid/widget/TextView;
const-string v3, "Owner"
invoke-virtual {v2, v3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 46
:goto_0
const-string v2, "profilePic"
const-string v3, "null"
invoke-interface {v1, v2, v3}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
iput-object v2, p0, Lcom/b16h22/Profile;->imageUri:Ljava/lang/String;
.line 47
iget-object v2, p0, Lcom/b16h22/Profile;->imageUri:Ljava/lang/String;
const-string v3, "null"
if-ne v2, v3, :cond_1
.line 48
iget-object v2, p0, Lcom/b16h22/Profile;->imageView:Landroid/widget/ImageView;
const v3, [COLOR="Indigo"]0x7f0200b2[/COLOR] #ic_qs_default_user
invoke-virtual {v2, v3}, Landroid/widget/ImageView;->setImageResource(I)V
.line 53
:goto_1
new-instance v2, Lcom/b16h22/Profile$1;
invoke-direct {v2, p0}, Lcom/b16h22/Profile$1;-><init>(Lcom/b16h22/Profile;)V
invoke-virtual {v0, v2}, Landroid/widget/ImageView;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 64
iget-object v2, p0, Lcom/b16h22/Profile;->done:Landroid/widget/ImageView;
new-instance v3, Lcom/b16h22/Profile$2;
invoke-direct {v3, p0}, Lcom/b16h22/Profile$2;-><init>(Lcom/b16h22/Profile;)V
invoke-virtual {v2, v3}, Landroid/widget/ImageView;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 80
return-void
.line 42
:cond_0
iget-object v2, p0, Lcom/b16h22/Profile;->owner:Landroid/widget/TextView;
iget-object v3, p0, Lcom/b16h22/Profile;->profName:Ljava/lang/String;
invoke-virtual {v2, v3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 43
iget-object v2, p0, Lcom/b16h22/Profile;->name:Landroid/widget/EditText;
iget-object v3, p0, Lcom/b16h22/Profile;->profName:Ljava/lang/String;
invoke-virtual {v2, v3}, Landroid/widget/EditText;->setText(Ljava/lang/CharSequence;)V
goto :goto_0
.line 50
:cond_1
iget-object v2, p0, Lcom/b16h22/Profile;->imageView:Landroid/widget/ImageView;
iget-object v3, p0, Lcom/b16h22/Profile;->imageUri:Ljava/lang/String;
invoke-static {v3}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v3
invoke-virtual {v2, v3}, Landroid/widget/ImageView;->setImageURI(Landroid/net/Uri;)V
goto :goto_1
.end method
Step 5
Now open the res/xml/settings.xml
and add this iconpreferencescreen.You can add it anywhere you want.I'm assuming you have basic knowledge about preference xmls.
Code:
<com.android.settings.IconPreferenceScreen android:title="Owner Profile" settings:icon="@drawable/ic_settings_owner">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.b16h22.Profile" />
</com.android.settings.IconPreferenceScreen>
EDIT:I forgot to write the step to assign new activity to the android manifest. Thanks to 3r41nl33n for remembering me
Open AndroidManifest.xml and add this
Code:
<activity android:label="@string/change_pic" android:name="com.b16h22.Profile">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
Now save files and compile the settings.apk and push it to system.You have to resign the apk and other system apks or disable signature verification. Now you will have somethng like this
{
"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"
}
Now we can move on to modifying the systemui.apk.Decompile systemui.apk
Step 6
Open status_bar_expanded.xml and paste this where you want to put the owner image.
Code:
<LinearLayout android:layout_width="106.66699dip" android:layout_height="106.66699dip">
<com.b16h22.statusbar.ProfilePicture android:id="@id/profile" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginLeft="1.0px" android:layout_marginTop="1.0px" android:layout_marginRight="1.0px" android:layout_marginBottom="1.0px" android:scaleType="centerCrop" />
<com.b16h22.statusbar.ProfileName android:textStyle="normal" android:textColor="#ffffffff" android:gravity="center" android:layout_gravity="center_vertical" android:id="@id/profile_name" android:background="#cc000000" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="1.0px" android:layout_marginRight="1.0px" android:layout_marginBottom="1.0px" android:layout_alignParentBottom="true" />
</LinearLayout >
Now extract the "Owner_mod_files_systemui.zip" and put the smali folder in the systemui smali folder and the pngs in the drawable-ldpi folder.
Step 7
Open ids.xml and add these
Code:
<item type="id" name="profile">false</item>
<item type="id" name="profile_name">false</item>
Recompile the apk and decompile it again
Step 8
Open public.xml and note these ids
Code:
<public type="id" name="profile" id="0x7f09003a" />
<public type="id" name="profile_name" id="0x7f09003b" />
<public type="drawable" name="ic_qs_default_user" id="0x7f02012e" />
Step 9
Open smali/com/b16h22/statusbar/ProfilePicture.smali and find this
Code:
.line 21
const v4, 0x7f09003a
replace the id with the id of "profile"
find
Code:
const v5, 0x7f02012e
replace it with the id of drawable "ic_qs_default_user"
Open smali/com/b16h22/statusbar/ProfilePicture$2.smali
Find
Code:
const v2, 0x7f02012e
replace it with id of drawable "ic_qs_default_user"
Open smali/com/b16h22/statusbar/ProfileName.smali
find
Code:
.line 19
const v2, 0x7f09003b
replace it with the id of "profile_name"
Now recompile the apk and push to system. You should be able to change picture from the settings. Think twice before askin anything. Please point out the faults in the guide if there is any.
DOWNLOADS
owner_mod_files_systemui.zip
owner_mod_files_settings.zip
Click to expand...
Click to collapse
Anyone can use this mods but give credits where its due and keep the spirit of open source. Kanging is bad mmkay
Click to expand...
Click to collapse
Awesome guide,like your rom bro:thumbup:
GREEEEETZ WITH BEATZ!!!
awesome guide
i have problem to decompile ure systemui
haha
bt now i know where the secret
haha
i like ure rom brother
Awesome
Can you make one for the 3 layouts of statusbar too
And AOKP Toggles?
Excited
i wanna try bro ! good job :laugh:
Hey b16h22, dont make tuts for other stuff, ur rom will not be uniqe!
Sent from my GT-S5360 using xda app-developers app
m4RinKo2 said:
Hey b16h22, dont make tuts for other stuff, ur rom will not be uniqe!
Sent from my GT-S5360 using xda app-developers app
Click to expand...
Click to collapse
I guess so bro
Sent From With Connection
Visit My blog : Dvikzz.com
awesome
thanx bro. gonna hav it in our rom maybe..
Great guide. Gonna try to make my own sir.
thanks to your guide..
Sent from my GT-S5360 using xda premium
it didnt worked fr me..
b16h22 said:
Long story short. I decided to port some of my mods to a stock status bar .I tried to make the process relatively easy. So it shouldn't be too much of a problem trying.
​
Click to expand...
Click to collapse
i tried it. but it didnt worked fr me. i am attaching the systemui. can u please help me to point out what i did wrong? thanx in advance..
I m getting this error when recompiling back systemui
l0lh4rd said:
I m getting this error when recompiling back systemui
Click to expand...
Click to collapse
Check your status_bar.xml for error.One of the lines is not well formed.
Sent from my GT-S5360
Tks u sir ! i got it (^.,,.^)
Do you have free time ? Check your PM
markmellarpes said:
thanks to your guide..
View attachment 2076180
View attachment 2076181
Sent from my GT-S5360 using xda premium
Click to expand...
Click to collapse
Can you share your systemui.apk...nd icon pack you used....plsss
Hit
Button If This Post Helped You
awesome dude, I tried :fingers-crossed:
Good work Op, I am using your rom and its really great looking.. and the statusbar is fully customisable..
Edit: the mod is working great too.
Plz tell me the procedure to use the Moded StatusBarMods.apk on my stock rom.I'm new to this.. @admin
b16h22 said:
Long story short. I decided to port some of my mods to a stock status bar .I tried to make the process relatively easy. So it shouldn't be too much of a problem trying.
​
Click to expand...
Click to collapse
You are doing a very good job mate. Educating users how to modify and add tweaks for ROMS will prevent them from kanging your work and maybe they will come up with a different tweak with your guide. Keep it up. I always admire your work and thank you for believing in the spirit of open source

[MOD][GUIDE][CM10][CM10.1][CM11] Task Manager Recent Apps, Xperia Z2 Recent Apps etc.

This guide is for Transparent Statusbar, Transparent Notification Drawer, Task Manager in Recent Apps, and Faster & Smoother Notification Panel, and even Xperia Z2 Recent Apps
Transparent Notification Drawer is for CM10 only, no need to CM10.1 (already transparent )
Xperia Z2 Recent Apps only for CM11 atm, will port it to another CM / res later
Don't know how to decompile? Don't have time to decompile? You could ask me to build your own SystemUI :good:
Things you will need
PC or Laptop
apktool, zipalign and others
WinRAR or WinZip
Notepad++
Patience!
Click to expand...
Click to collapse
So, lets begin..
INSTALLING APKTOOL AND OTHER TOOLS
STEP 1
You must install apktool to your PC from HERE and other tools HERE
Extract it to a same directory same as the screenshot below
Then, copy cmd from Windows/System32 Directory (ex. C:\Windows\System32) and move it your apktool directory​
STEP 2
Download zipalign from HERE, move it to Windows Directory (ex. C:\Windows)​
GUIDE FOR TRANSPARENT STATUSBAR
SOON​
STEP 1
Copy your android.policy.jar from /system/framework/ and place it in your apktool directory
For CM10, Download PhoneWindowManager.zip and extract it to your apktool directory​
STEP 2
Open cmd in your apktool directory, type
Code:
apktool d android.policy.jar
STEP 3
For CM10
Go to android.policy.jar.out\smali\com\android\internal\policy\impl
Delete PhoneWindowManager.smali, replace with my PhoneWindowManager.smali
For CM10.1
Go to android.policy.jar.out\smali\com\android\internal\policy\impl
Open PhoneWindowManager.smali
Go to this
Code:
.method public getSystemDecorRectLw(Landroid/graphics/Rect;)I
Delete this
Code:
.method public getSystemDecorRectLw(Landroid/graphics/Rect;)I
.registers 3
.parameter "systemRect"
.prologue
.line 3057
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemLeft:I
iput v0, p1, Landroid/graphics/Rect;->left:I
.line 3058
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemTop:I
iput v0, p1, Landroid/graphics/Rect;->top:I
.line 3059
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemRight:I
iput v0, p1, Landroid/graphics/Rect;->right:I
.line 3060
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemBottom:I
iput v0, p1, Landroid/graphics/Rect;->bottom:I
.line 3061
[COLOR="Red"] iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_1b
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;
invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I
move-result v0
.line 3063
:goto_1a
return v0
.line 3062
:cond_1b
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_26
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;
invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I
move-result v0
goto :goto_1a
.line 3063
:cond_26
const/4 v0, 0x0
goto :goto_1a
.end method[/COLOR]
And replace with this
Code:
[COLOR="red"]const/4 v0, 0x0
return v0
.end method[/COLOR]
So it will look like this
Code:
.method public getSystemDecorRectLw(Landroid/graphics/Rect;)I
.registers 3
.parameter "systemRect"
.prologue
.line 3057
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemLeft:I
iput v0, p1, Landroid/graphics/Rect;->left:I
.line 3058
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemTop:I
iput v0, p1, Landroid/graphics/Rect;->top:I
.line 3059
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemRight:I
iput v0, p1, Landroid/graphics/Rect;->right:I
.line 3060
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemBottom:I
iput v0, p1, Landroid/graphics/Rect;->bottom:I
.line 3061
[COLOR="Red"]const/4 v0, 0x0
return v0
.end method[/COLOR]
and save​
STEP 4
Open cmd in your apktool directory, type
Code:
apktool b android.policy.jar.out
Go to android.policy.jar.out\dist, then open android.policy.jar and original android.policy.jar with WinRAR, drag META-INF folder from original android.policy.jar to android.policy.jar, when it ask to compress click OK
Move your android.policy.jar to your phone, move it to /system/framework/ and change permission to rw-r--r--
Then reboot​
STEP 5
Download Xposed Framework and Xposed Tweakbox Module, Install and Open Xposed Framework, Tap on Install/Update, then Tap on Modules, enable Xposed Tweakbox Module, Open Xposed Tweakbox Module, Tap on Status Bar, enable background color and change color/transparency whatever you want​
GUIDE FOR TRANSPARENT NOTIFICATION DRAWER (CM10 ONLY)
{
"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"
}
STEP 1
Copy your framework-res.apk from system/framework and SystemUI.apk from /system/app/ then place it in your apktool directory​
STEP 2
Open cmd in your apktool directory, type
Code:
apktool if framework-res.apk
and
Code:
apktool if SystemUI.apk
then
Code:
apktool d SystemUI.apk
STEP 3
Go to SystemUI\smali\com\android\system ui\statusbar\phone
Open PhoneStatusBar$FastColorDrawable.smali with Notepad++
Go to this and edit
Code:
# virtual methods
.method public draw(Landroid/graphics/Canvas;)V
.locals 2
.parameter "canvas"
.prologue
.line 2856
[COLOR="Red"]iget v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$FastColorDrawable;->mColor:I[/COLOR]
sget-object v1, Landroid/graphics/PorterDuff$Mode;->SRC:Landroid/graphics/PorterDuff$Mode;
invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->drawColor(ILandroid/graphics/PorterDuff$Mode;)V
.line 2857
return-void
.end method
to this
Code:
# virtual methods
.method public draw(Landroid/graphics/Canvas;)V
.locals 2
.parameter "canvas"
.prologue
.line 2856
[COLOR="Red"]const v0, (your transparency values; look at [URL="http://forum.xda-developers.com/showpost.php?p=40251761&postcount=4"]post #4[/URL])[/COLOR]
sget-object v1, Landroid/graphics/PorterDuff$Mode;->SRC:Landroid/graphics/PorterDuff$Mode;
invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->drawColor(ILandroid/graphics/PorterDuff$Mode;)V
.line 2857
return-void
.end method
and save​
STEP 4
Open cmd in your apktool directory, type
Code:
apktool b SystemUI al.apk
then open al.apk and SystemUI.apk with WinRAR, drag META-INF folder and AndroidManifest.xml from SystemUI.apk to al.apk, when it ask to compress click OK​
STEP 5
Open cmd in your apktool directory, type
Code:
zipalign -v 4 al.apk SystemUImod.apk
STEP 6
Move your SystemUImod.apk to your phone, rename to SystemUI.apk, move it to /system/app/ and change permission to rw-r--r--
Then reboot​
GUIDE FOR ADDING TASK MANAGER IN RECENT APP
Due to infringement copyright with TopDroid, you could found this guide here
[MOD][JB/CM10.1] Task Manager In Recent Apps [UPDATED][ALPHA 8] View Single Post
Many thanks to him!
GUIDE FOR FASTER & SMOOTHER NOTIFICATION DRAWER
Due to infringement copyright with TopDroid, you could found this guide here
[GUIDE][MOD][JB/CM10.1]Faster & Smoother Notification Panel
Many thanks to him!
GUIDE FOR XPERIA Z2 RECENT APPS (CM11 ONLY ATM)
STEP 1
Copy your framework-res.apk from system/framework and SystemUI.apk from /system/app/ then place it in your apktool directory​
STEP 2
Open cmd in your apktool directory, type
Code:
apktool if framework-res.apk
and
Code:
apktool if SystemUI.apk
then
Code:
apktool d SystemUI.apk
STEP 3
Go to SystemUI\res\layout\
Open status_bar_recent_item.xml with Notepad++
Clear all and change to this
Code:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:paddingTop="@dimen/status_bar_recents_item_padding" android:paddingBottom="@dimen/status_bar_recents_item_padding" android:clipChildren="false" android:layout_width="fill_parent" android:layout_height="wrap_content" android:importantForAccessibility="no"
xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout android:layout_gravity="center_horizontal" android:id="@id/recent_item" android:clipChildren="false" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:textSize="@dimen/status_bar_recents_app_label_text_size" android:textColor="@color/status_bar_recents_app_label_color" android:ellipsize="marquee" android:id="@id/app_label" android:paddingTop="2.0dip" android:fadingEdge="horizontal" android:fadingEdgeLength="@dimen/status_bar_recents_text_fading_edge_length" android:layout_width="@dimen/status_bar_recents_app_label_width" android:layout_height="wrap_content" android:scrollHorizontally="true" android:singleLine="true" android:importantForAccessibility="no" android:textAlignment="viewStart" android:layout_marginStart="@dimen/status_bar_recents_app_label_left_margin" android:layout_alignParentStart="true" />
<FrameLayout android:id="@id/app_thumbnail" android:background="@drawable/recents_thumbnail_bg" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:foreground="@drawable/recents_thumbnail_fg" android:layout_alignParentTop="true" android:layout_marginStart="@dimen/status_bar_recents_thumbnail_left_margin" android:layout_toEndOf="@id/app_label">
<ImageView android:id="@id/app_thumbnail_image" android:layout_width="@dimen/status_bar_recents_thumbnail_width" android:layout_height="@dimen/status_bar_recents_thumbnail_height" />
</FrameLayout>
<View android:id="@id/recents_callout_line" android:background="@drawable/recents_callout_line" android:layout_width="@dimen/status_bar_recents_app_label_width" android:layout_height="1.0dip" android:layout_marginTop="3.0dip" android:layout_below="@id/app_label" android:layout_marginStart="@dimen/status_bar_recents_app_label_left_margin" android:layout_marginEnd="0.0dip" android:layout_alignParentStart="true" />
<ImageView android:id="@id/app_icon" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="@dimen/status_bar_recents_app_icon_top_margin" android:scaleType="centerInside" android:adjustViewBounds="true" android:maxWidth="@dimen/status_bar_recents_app_icon_max_width" android:maxHeight="@dimen/status_bar_recents_app_icon_max_height" android:layout_marginStart="@dimen/status_bar_recents_app_icon_left_margin" android:layout_below="@id/app_label" android:layout_alignStart="@id/app_label" />
<TextView android:textSize="@dimen/status_bar_recents_app_description_text_size" android:ellipsize="marquee" android:id="@id/app_description" android:fadingEdge="horizontal" android:fadingEdgeLength="@dimen/status_bar_recents_text_fading_edge_length" android:layout_width="@dimen/status_bar_recents_app_label_width" android:layout_height="wrap_content" android:layout_marginTop="3.0dip" android:scrollHorizontally="true" android:singleLine="true" android:layout_below="@id/recents_callout_line" android:textAlignment="viewStart" android:layout_marginStart="@dimen/status_bar_recents_app_label_left_margin" android:layout_alignParentStart="true" />
</RelativeLayout>
</FrameLayout>
and save​
STEP 4
Go to SystemUI\res\layout\
Open status_bar_recent_panel.xml with Notepad++
Clear all and change to this
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.recent.RecentsPanelView android:id="@id/recents_root" android:layout_width="fill_parent" android:layout_height="fill_parent" android:foreground="@drawable/bg_protect" systemui:recentItemLayout="@layout/status_bar_recent_item"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<FrameLayout android:id="@id/recents_bg_protect" android:background="@drawable/status_bar_recents_background" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentBottom="true">
<com.android.systemui.recent.RecentsVerticalScrollView android:layout_gravity="start|bottom|center" android:id="@id/recents_container" android:scrollbars="none" android:fadingEdge="vertical" android:fadingEdgeLength="@dimen/status_bar_recents_scroll_fading_edge_length" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="wrap_content" android:stackFromBottom="true" android:divider="@null" android:layout_marginEnd="0.0dip">
<LinearLayout android:orientation="vertical" android:id="@id/recents_linear_layout" android:fitsSystemWindows="true" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</com.android.systemui.recent.RecentsVerticalScrollView>
<ImageView android:layout_gravity="bottom|left|center" android:id="@id/recents_clear" android:clickable="true" android:layout_width="@dimen/status_bar_recents_app_icon_max_width" android:layout_height="@dimen/status_bar_recents_app_icon_max_height" android:src="@drawable/ic_recents_clear" android:scaleType="center" />
</FrameLayout>
<include android:id="@id/recents_no_apps" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/status_bar_no_recent_apps" />
</com.android.systemui.recent.RecentsPanelView>
and save​
STEP 5
Go to SystemUI\res\values\
Open dimens.xml with Notepad++
Go to this and edit
Code:
<dimen name="status_bar_recents_thumbnail_left_margin">[COLOR="Red"]20.0dip[/COLOR]</dimen>
<dimen name="status_bar_recents_text_description_padding">8.0dip</dimen>
<dimen name="status_bar_recents_app_label_width">88.0dip</dimen>
<dimen name="status_bar_recents_app_label_left_margin">[COLOR="red"]0.0dip[/COLOR]</dimen>
<dimen name="status_bar_recents_item_padding">0.0dip</dimen>
<dimen name="status_bar_recents_app_icon_translate_distance">35.0dip</dimen>
<dimen name="status_bar_recents_app_icon_left_margin">0.0dip</dimen>
<dimen name="status_bar_recents_app_icon_top_margin">[COLOR="red"]8.0dip[/COLOR]</dimen>
to this
Code:
<dimen name="status_bar_recents_thumbnail_left_margin">[COLOR="Green"]10.0dip[/COLOR]</dimen>
<dimen name="status_bar_recents_text_description_padding">8.0dip</dimen>
<dimen name="status_bar_recents_app_label_width">88.0dip</dimen>
<dimen name="status_bar_recents_app_label_left_margin">[COLOR="Green"]20.0dip[/COLOR]</dimen>
<dimen name="status_bar_recents_item_padding">0.0dip</dimen>
<dimen name="status_bar_recents_app_icon_translate_distance">35.0dip</dimen>
<dimen name="status_bar_recents_app_icon_left_margin">0.0dip</dimen>
<dimen name="status_bar_recents_app_icon_top_margin">[COLOR="Green"]10.0dip[/COLOR]</dimen>
and save​
STEP 6
Open cmd in your apktool directory, type
Code:
apktool b SystemUI al.apk
then open al.apk and SystemUI.apk with WinRAR, drag META-INF folder and AndroidManifest.xml from SystemUI.apk to al.apk, when it ask to compress click OK​
STEP 7
Open cmd in your apktool directory, type
Code:
zipalign -v 4 al.apk SystemUImod.apk
STEP 8
Move your SystemUImod.apk to your phone, rename to SystemUI.apk, move it to /system/app/ and change permission to rw-r--r--
Then reboot​
WAIT! Reserved...
CREDITS TO
@powerpoint45 for his Compiling Guide here
@reaper61616 for his Transparent Notification Drawer Guide here
@Adi_ai****eru for his PhoneWindowManager.smali here
@Adi Aisiteru Reborn for his Transparent Status Bar Guide here
@galaxynote2 for his Transparent Status Bar Guide here
@TopDroid for his Task Manager in Recent App Guide here​
!
@Diaz1999
first! u makin a new thread for cleaning up?
also have a problem:
can u help me increase transparency of notification drawer?? i mean ur right it is already transparent, but i wish transparency at 50% or more personally also tried with TuT for cm 10 (i'm on cm10.1) but the file ''PhoneStatusBar$FastColorDrawable.smali'' dont exist there , any ideas ??
also did u have an idea, hoe to remove carrier logo in notification?? u tried method with ''eri.xml'' and pushed it to phone/data -> not work.
also edited it directly in framework-res , recompiled and pushed to system it didnt works...
any ideas where i can look for?
thanks! peace, bejunk
Thread Completed! Sorry for waiting, yesterday I'm going to village with my family, so no internet connection there
bejunk said:
@Diaz1999
first! u makin a new thread for cleaning up?
also have a problem:
can u help me increase transparency of notification drawer?? i mean ur right it is already transparent, but i wish transparency at 50% or more personally also tried with TuT for cm 10 (i'm on cm10.1) but the file ''PhoneStatusBar$FastColorDrawable.smali'' dont exist there , any ideas ??
also did u have an idea, hoe to remove carrier logo in notification?? u tried method with ''eri.xml'' and pushed it to phone/data -> not work.
also edited it directly in framework-res , recompiled and pushed to system it didnt works...
any ideas where i can look for?
thanks! peace, bejunk
Click to expand...
Click to collapse
Yes, for CM10.1 go to SystemUI\smali\com\android\systemui\statusbar\phone, Open NotificationPanelView.smali and SettingsPanelView.smali
I found this line
Code:
.method public draw(Landroid/graphics/Canvas;)V
But I don't know about smali editing, which line for changing Notification Drawer Transparency :crying:
EDIT @bejunk what's your mean by removing 'carrier logo' in notification? there's no carrier logo there
Hi @Diaz1999
Nice mod tutorial you have! Anyway, do you know how to add a dimming animation when we pull down the status bar? If so, can you provide the codes on your thread? ^_^
Btw, here's the sample video: http://www.youtube.com/watch?feature=player_embedded&v=VFwRxJSIaXI
EDIT
I tried the mod for Smoother and faster notification drawer, it works! but it's not really smooth. Anyway, what line should I change in order to modify the speed of notification drawer by dropping down and pulling up? I want the speed one like on CM10, it's very smooth when dropping down the notification drawer
Diaz1999 said:
Thread Completed! Sorry for waiting, yesterday I'm going to village with my family, so no internet connection there
Yes, for CM10.1 go to SystemUI\smali\com\android\systemui\statusbar\phone, Open NotificationPanelView.smali and SettingsPanelView.smali
I found this line
Code:
.method public draw(Landroid/graphics/Canvas;)V
But I don't know about smali editing, which line for changing Notification Drawer Transparency :crying:
EDIT @bejunk what's your mean by removing 'carrier logo' in notification? there's no carrier logo there
Click to expand...
Click to collapse
no problem bro, thanks for providung u this thread all @ one place (AND CLEAN! woohoo!)
i taked only a quick look into ur mentioned file for notification drawer transparency, but i didnt found anything like u :crying:, but im looking forward into this if i find sth i post it here, thank u anyway that u helped
for the carrier logo i wanna REMOVE, look in pics, i mean there some threads about this which say u must edit eri.xml (done) but i didnt work for me (tried several times:crying.....
you can ADD ALSO THIS TO UR THREAD: http://forum.xda-developers.com/showpost.php?p=40278487&postcount=4
(probably u know it) it works very well on cm 9,10 (.1) and (.2) BUT!!!! DONT USE 1ST STEP (otherwise systemUI wont work) so start at step 2 ''. /res/values/integers.xml''', and all will be fine
peace, bejunk
Hey, I try to add Task Manager on CM10 rom, but I don't found the RecentsActivity.smali, this file don't exist, can you help me with this?
For @bejunk and everyone :
There's actually NO need to play with smali (or other hard things)
to get the notification drawer transparency (in any level) as well as change it's color..
The only thing u need is just edit the res/drawable-mdpi/notification_panel_bg.9.png
i'm using photoshop because it's easier and it's the only software i have to edit 9.png properly..
But please note that i recommended to use un-moded SystemUI for best result..
Oh and for anyone who didn't get any idea on how to play with 9.png yet,
u can go here to learn the basic stuff
(just to remind: There're plenty tuts on Google)
Good luck
Edit :
Again, i have a couple very easy tricks to remove carrier label,
but i think this one is easiest :
1. open res/values/dimens.xml
2. find carrier_label_height
3. change the value to 0dip
bejunk said:
no problem bro, thanks for providung u this thread all @ one place (AND CLEAN! woohoo!)
i taked only a quick look into ur mentioned file for notification drawer transparency, but i didnt found anything like u :crying:, but im looking forward into this if i find sth i post it here, thank u anyway that u helped
for the carrier logo i wanna REMOVE, look in pics, i mean there some threads about this which say u must edit eri.xml (done) but i didnt work for me (tried several times:crying.....
you can ADD ALSO THIS TO UR THREAD: http://forum.xda-developers.com/showpost.php?p=40278487&postcount=4
(probably u know it) it works very well on cm 9,10 (.1) and (.2) BUT!!!! DONT USE 1ST STEP (otherwise systemUI wont work) so start at step 2 ''. /res/values/integers.xml''', and all will be fine
peace, bejunk
Click to expand...
Click to collapse
That's carrier label, not logo :silly:
I've found this method, give thanks to him, not me!
>http://forum.xda-developers.com/showpost.php?p=41823335&postcount=2<
marc3l0 said:
Hey, I try to add Task Manager on CM10 rom, but I don't found the RecentsActivity.smali, this file don't exist, can you help me with this?
Click to expand...
Click to collapse
Based on this thread
(Guide) CM9/10 add Samsung Taskmanager to Recent Panel
For CM10, Go to smali/com/android/systemui/
Open SystemUIService.smali
Add this to the bottom/ the last line
Code:
.method public openTaskManager(Landroid/view/View;)V
.locals 5
.parameter "view"
.prologue
.line 99
.line 100
:try_start_0
new-instance v1, Landroid/content/Intent;
invoke-direct {v1}, Landroid/content/Intent;-><init>()V
.line 102
.local v1, intent:Landroid/content/Intent;
const-string v2, "android.intent.action.MAIN"
invoke-virtual {v1, v2}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
.line 105
const/high16 v2, 0x1000
invoke-virtual {v1, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
.line 107
const-string v2, "com.sec.android.app.controlpanel"
const-string v3, "com.sec.android.app.controlpanel.activity.JobManagerActivity"
invoke-virtual {v1, v2, v3}, Landroid/content/Intent;->setClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
invoke-virtual {p0, v1}, Lcom/android/systemui/SystemUIService;->startActivity(Landroid/content/Intent;)V
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
.line 109
.line 112
.end local v1 #intent:Landroid/content/Intent;
:goto_0
return-void
.line 115
:catch_0
move-exception v0
.line 117
.local v0, e:Ljava/lang/Exception;
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
goto :goto_0
.end method
Updated with Guide for Xperia Z2 Recent Apps! (CM11 ONLY ATM)
hey, i very appreciate your tutorial for z2 taskswitcher , its very easy to apply but i have one thing. as you see in the attached picture i use OSB. those cover the clear all button. i want this button above OSB. can you atleast say me which is the value for place of clear all button?? i can test the dips myself . very thx
also a tip for those who are not familiar with''cmd apktool'', you can use this http://forum.xda-developers.com/showthread.php?t=2639400 (every n00b should can do this with this) also it sign automazic
Sorry but what's the difference b/w Z2 recents app and default (CM11)??
bejunk said:
hey, i very appreciate your tutorial for z2 taskswitcher , its very easy to apply but i have one thing. as you see in the attached picture i use OSB. those cover the clear all button. i want this button above OSB. can you atleast say me which is the value for place of clear all button?? i can test the dips myself . very thx
also a tip for those who are not familiar with''cmd apktool'', you can use this http://forum.xda-developers.com/showthread.php?t=2639400 (every n00b should can do this with this) also it sign automazic
Click to expand...
Click to collapse
Perhaps you could add some layout_marginBottom at the recents_clear button, same as the nav bar height
noumanhamid said:
Sorry but what's the difference b/w Z2 recents app and default (CM11)??
Click to expand...
Click to collapse
The App icon didn't cover up the App thumbnail, which is quite useful, at least for me
Sent from my WT19i using Tapatalk

[GUIDE] [MOD] Changeable StatusBar Label...

Hey Guys, I'm back with another guide and with the help of this guide u can create StatusBar Label Mod like the one in Lenox Evolution v2.
StatusBar Label Mod
Screenshot:
{
"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"
}
So let's start with Settings.apk. Extract the "settings.zip" and get the smali files and resource files from it.
Step 1
Decompile Settings.apk and put the extracted files in their respective folders.
Step 2
Open ids.xml and add these ids in it
Code:
<item type="id" name="Owner">false</item>
<item type="id" name="name_field">false</item>
<item type="id" name="name">false</item>
Step 3
Now recompile the apk and decompile it again. Now open the public.xml and find these ids.These may not be the same in your apk.
It may differ.I have color coded them to make it easier to distinguish in the upcoming steps
Code:
<public type="layout" name="lenoxlabel" id="[COLOR="Red"]0x7f030008[/COLOR]" />
<public type="id" name="Owner" id="[COLOR="Orange"]0x7f08001d[/COLOR]" />
<public type="id" name="name_field" id="[COLOR="Magenta"]0x7f08001e[/COLOR]" />
<public type="id" name="name" id="[COLOR="Green"]0x7f08001f"[/COLOR] />
Now open smali/com/lenox/label/LenoxLabel.smali and find this method
Code:
.method protected onCreate(Landroid/os/Bundle;)V
And replace the ids in it with the ones from public.xml
Code:
.method protected onCreate(Landroid/os/Bundle;)V
.locals 3
.parameter "bundle"
.prologue
.line 24
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
.line 25
const v1, [COLOR="Red"]0x7f030008[/COLOR]
invoke-virtual {p0, v1}, Lcom/lenox/label/LenoxLabel;->setContentView(I)V
.line 27
const v1, [COLOR="Orange"]0x7f08001d[/COLOR]
invoke-virtual {p0, v1}, Lcom/lenox/label/LenoxLabel;->findViewById(I)Landroid/view/View;
move-result-object v1
check-cast v1, Landroid/widget/TextView;
iput-object v1, p0, Lcom/lenox/label/LenoxLabel;->owner:Landroid/widget/TextView;
.line 28
const v1, [COLOR="Magenta"]0x7f08001e[/COLOR]
invoke-virtual {p0, v1}, Lcom/lenox/label/LenoxLabel;->findViewById(I)Landroid/view/View;
move-result-object v1
check-cast v1, Landroid/widget/EditText;
iput-object v1, p0, Lcom/lenox/label/LenoxLabel;->name:Landroid/widget/EditText;
.line 29
const v1, [COLOR="Green"]0x7f08001f[/COLOR]
invoke-virtual {p0, v1}, Lcom/lenox/label/LenoxLabel;->findViewById(I)Landroid/view/View;
move-result-object v1
check-cast v1, Landroid/widget/Button;
iput-object v1, p0, Lcom/lenox/label/LenoxLabel;->done:Landroid/widget/Button;
.line 31
const-string v1, "EvoPrefsFile"
const/4 v2, 0x0
invoke-virtual {p0, v1, v2}, Lcom/lenox/label/LenoxLabel;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
move-result-object v0
.line 32
.local v0, sharedPreferences:Landroid/content/SharedPreferences;
const-string v1, "profileName"
const-string v2, "null"
invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/lenox/label/LenoxLabel;->profName:Ljava/lang/String;
.line 33
iget-object v1, p0, Lcom/lenox/label/LenoxLabel;->profName:Ljava/lang/String;
const-string v2, "null"
if-ne v1, v2, :cond_0
.line 34
iget-object v1, p0, Lcom/lenox/label/LenoxLabel;->owner:Landroid/widget/TextView;
const-string v2, "Lenox"
invoke-virtual {v1, v2}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 39
:goto_0
iget-object v1, p0, Lcom/lenox/label/LenoxLabel;->done:Landroid/widget/Button;
new-instance v2, Lcom/lenox/label/LenoxLabel$1;
invoke-direct {v2, p0}, Lcom/lenox/label/LenoxLabel$1;->(Lcom/lenox/label/LenoxLabel;)V
invoke-virtual {v1, v2}, Landroid/widget/Button;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 55
return-void
.line 36
:cond_0
iget-object v1, p0, Lcom/lenox/label/LenoxLabel;->owner:Landroid/widget/TextView;
iget-object v2, p0, Lcom/lenox/label/LenoxLabel;->profName:Ljava/lang/String;
invoke-virtual {v1, v2}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 37
iget-object v1, p0, Lcom/lenox/label/LenoxLabel;->name:Landroid/widget/EditText;
iget-object v2, p0, Lcom/lenox/label/LenoxLabel;->profName:Ljava/lang/String;
invoke-virtual {v1, v2}, Landroid/widget/EditText;->setText(Ljava/lang/CharSequence;)V
goto :goto_0
.end method
Step 5
Now open the res/xml/settings.xml
and add this iconpreferencescreen.You can add it anywhere you want.
I'm assuming you have basic knowledge about preference xmls.
Code:
<com.android.settings.IconPreferenceScreen android:title="StatusBar Label" android:summary="Add label at statusbar">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.lenox.label.LenoxLabel" />
</com.android.settings.IconPreferenceScreen>
Open AndroidManifest.xml and add this
Code:
<activity android:name="com.lenox.label.LenoxLabel">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
Now save files and compile the settings.apk and push it to system.
You have to resign the apk and other system apks or disable signature verification. Now you will have somethng like this
Now we can move on to modifying the systemui.apk.Decompile systemui.apk
Step 6
Open status_bar.xml and find this line
Code:
<com.android.systemui.statusbar.IconMerger android:gravity="left" android:orientation="horizontal" android:id="@id/notificationIcons" android:paddingLeft="3.0dip" android:paddingRight="10.0px" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" android:layout_alignParentLeft="true" />
and paste this line above that line
Code:
<com.b16h22.statusbar.ProfileName2 android:textSize="15.0px" android:textStyle="normal" android:textColor="#ffffffff" android:gravity="left" android:layout_gravity="center_vertical" android:id="@id/profile_name2" android:layout_width="wrap_content" android:layout_height="wrap_content" />
Step 7
Open ids.xml and add this id
Code:
<item type="id" name="profile_name2">false</item>
Recompile the apk and decompile it again
Step 8
Open public.xml and note this id
Code:
<public type="id" name="profile_name2" id="0x7f090035" />
Step 9
Open smali/com/b16h22/statusbar/ProfileName2.smali and find this
Code:
const v2, 0x7f090035
replace the id with the id of "profile_name2"
Now recompile the apk and push to system. You should be able to add label from the settings.
Please point out the faults in the guide if there is any.
Downloads
Settings.zip
SystemUI.zip
Click to expand...
Click to collapse
Credits:
b16h22
tentenponce
LenoxDevs​
Click to expand...
Click to collapse
nice guide sir
i have a lil understanding with smali and i think you have to review your codes
because when u implement it with evo mods like what i did
you would encounter bug where panel texts are same even though statusbar got different strings
i got a solution just by changing profileName to profileName2
here are my screenies where texts have been fixed
try your codes with evo and youl get what i mean
thanks again sir
jsarunotres said:
nice guide sir
i have a lil understanding with smali and i think you have to review your codes
because when u implement it with evo mods like what i did
you would encounter bug where panel texts are same even though statusbar got different strings
i got a solution just by changing profileName to profileName2
here are my screenies where texts have been fixed
try your codes with evo and youl get what i mean
thanks again sir
Click to expand...
Click to collapse
Sorry, I can't understand u......
if u port your settings.zip to evomods.apk
the same text would appear to Label Name text panel and Set profile name text panel
as simple as that
jsarunotres said:
if u port your settings.zip to evomods.apk
the same text would appear to Label Name text panel and Set profile name text panel
as simple as that
Click to expand...
Click to collapse
Ohhk....
Check ur PM..
Settings.zip updated with some changes in smali files...
Thanks to @jsarunotres
help sir
i always got an error saying error mismatch parsing of xml at android manifest, i almost got it but i can't recompile it cuz of this, please help sir
KenEmerenciana said:
i always got an error saying error mismatch parsing of xml at android manifest, i almost got it but i can't recompile it cuz of this, please help sir
Click to expand...
Click to collapse
Can u provide the log?
MuSaddiq1410 said:
Can u provide the log?
Click to expand...
Click to collapse
at sir op, nevermind that sir i got it, i compiled my settings and it works, BUT i'm stuck at step 6, i can't seem to find the line you said, this line <com.android.systemui.statusbar.IconMerger android:gravity="left" androidrientation="..........
i can't find it in hyperion 8 final, please help me sir, the statusbar is the only thing i'm not done with
KenEmerenciana said:
at sir op, nevermind that sir i got it, i compiled my settings and it works, BUT i'm stuck at step 6, i can't seem to find the line you said, this line <com.android.systemui.statusbar.IconMerger android:gravity="left" androidrientation="..........
i can't find it in hyperion 8 final, please help me sir, the statusbar is the only thing i'm not done with
Click to expand...
Click to collapse
In Hyperion 8 Final find this line..
Code:
<com.android.systemui.statusbar.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:paddingLeft="6.0dip" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0" android:layout_alignParentLeft="true" />
plz make an app to change the status bar label whenever a user want....
Excuse me OP, but can I ask to edit the thread to change ,my name in the credits and make it LenoxDevs especially tentenponce, he has the original idea in implementing it in LenoxEvolution. Thanks. Nice guide though.
PineappleOwl said:
Excuse me OP, but can I ask to edit the thread to change ,my name in the credits and make it LenoxDevs especially tentenponce, he has the original idea in implementing it in LenoxEvolution. Thanks. Nice guide though.
Click to expand...
Click to collapse
Ya sure I will change it and Thanks
good work
get error at stock settings
sir,why i get error resource entry already defined when i decompile settings after i edit ids.xml.can you explain
Dragonslayer656 said:
sir,why i get error resource entry already defined when i decompile settings after i edit ids.xml.can you explain
Click to expand...
Click to collapse
It is because you already have that entry defined in ids.xml
In other words you have wrote the same line twice or when you copied the line from the guide it was already in the xml
In notepad++ if you highlight an entry it will also highlight any duplicates
Apktool would have told you which line was already defined
Just delete the duplicate line
Dragonslayer656 said:
sir,why i get error resource entry already defined when i decompile settings after i edit ids.xml.can you explain
Click to expand...
Click to collapse
As Marcussmith2626 told u have wrote the the same id twice
sorry but it finished
marcussmith2626 said:
It is because you already have that entry defined in ids.xml
In other words you have wrote the same line twice or when you copied the line from the guide it was already in the xml
In notepad++ if you highlight an entry it will also highlight any duplicates
Apktool would have told you which line was already defined
Just delete the duplicate line
Click to expand...
Click to collapse
thanks sir.i have sucessfully finished this.thanks
jsarunotres said:
nice guide sir
i have a lil understanding with smali and i think you have to review your codes
because when u implement it with evo mods like what i did
you would encounter bug where panel texts are same even though statusbar got different strings
i got a solution just by changing profileName to profileName2
here are my screenies where texts have been fixed
try your codes with evo and youl get what i mean
thanks again sir
Click to expand...
Click to collapse
Can I get ur evo mods.apk
Sent from my GT-S6102 using Xparent BlueTapatalk 2
thanks sir.i will study this guide of yours

Categories

Resources