yashsingh1/xdaforums huggingface dataset:
[Samsung Galaxy S 5 Unified Development] Kamy:
OK for start, I am asking to see whether if in theory I am understanding it correctly or not.

I am trying adding a new observe for battery color as once shared by [MENTION=5292754]remuntada78[/MENTION].

I added this in my settings observer

const-string v1, "battery_color"

invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;

move-result-object v1

invoke-virtual {v0, v1, v2, p0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V

and

iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$SettingsObserver;->this$0:Lcom/android/systemui/BatteryMeterView;

invoke-virtual {v0}, Lcom/android/systemui/BatteryMeterView;->setBatteryColor()V

and then in

BatteryMeterView.smali

.class public Lcom/android/systemui/BatteryMeterView;
.super Landroid/view/View;
.source "BatteryMeterView.java"

# interfaces
.implements Lcom/android/systemui/DemoMode;
.implements Lcom/android/systemui/statusbar/policy/BatteryController$BatteryStateChangeCallback;

# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
[COLOR="Red"] Lcom/android/systemui/statusbar/phone/PhoneStatusBar$SettingsObserver;,[/COLOR]
Lcom/android/systemui/BatteryMeterView$BatteryTracker;
}
.end annotation

in the same smali:

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.locals [COLOR="red"]2[/COLOR]

const/4 v0, 0x0

invoke-direct {p0, p1, p2, v0}, Lcom/android/systemui/BatteryMeterView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

[COLOR="red"]	new-instance v1, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$SettingsObserver;

new-instance v2, Landroid/os/Handler;

invoke-direct {v2}, Landroid/os/Handler;-><init>()V

invoke-direct {v1, p0, v2}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$SettingsObserver;-><init>(Lcom/android/systemui/BatteryMeterView;Landroid/os/Handler;)V

invoke-virtual {v1}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$SettingsObserver;->observe()V[/COLOR]

return-void
.end method

and as my smali does not support mcontext I added following method in red

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V [COLOR="SeaGreen"]#last public constructor[/COLOR]
.
.
.
.end method

.method static synthetic access$000(Lcom/android/systemui/BatteryMeterView;)Landroid/os/Handler;
.locals 1

iget-object v0, p0, Lcom/android/systemui/BatteryMeterView;->mPostInvalidateHandler:Landroid/os/Handler;

return-object v0
.end method

[COLOR="red"].method static synthetic access$001(Lcom/android/systemui/BatteryMeterView;)Landroid/content/Context;
.locals 1

invoke-virtual {p0}, Lcom/android/systemui/BatteryMeterView;->getContext()Landroid/content/Context;

move-result-object v0

return-object v0
.end method[/COLOR]

And lastly have done those samli modification described here I don't try it.
[Samsung Galaxy S 5 Unified Development] daxgirl:
Look at the red class declaration. You added observer class that belongs to a different class. You need an observer for this class. Not for PhoneStatusBar.smali

Sent from my awesome g920f powered by 6thGear
[Samsung Galaxy S 5 Unified Development] Kamy:
You are saying I need another observer to create as BatteryMeterView$SettingsObserver.smali right?
[Samsung Galaxy S 5 Unified Development] daxgirl:
Exactly. Observer is in this case an inner class. BatteryMeterView class cannot have an inner class that's called PhoneStatusBar$SettingsObserver.

http://www.javaworld.com/article/2077411/core-java/inner-classes.html

Sent from my awesome g920f powered by 6thGear
[Samsung Galaxy S 5 Unified Development] tdunham:
[MENTION=4714483]daxgirl[/MENTION]

Looking for an alternate method to add an observer where one wouldn't normally work. No rush on this. :)
[Samsung Galaxy S 5 Unified Development] daxgirl:
Lol... hi there. On this side "looking forward to finishing properly handling assets and scripts for the new custom settings app so I cac concentrate on other things" ;)

Just to clarify the thing...

We have built a settings app a while ago for ourselves. Since we both work with java, we don't need it to be as automated as ficeto's app is. So now the biggest challenge is to make it available for all, by providing a code that wouldn't require an entire forum on xda to couch devs to use it and minimize your exposure to java where possible. Our goal is to provide as clean code is possible, so minimal changes to code would be required to operate the app. That is because we understand that most devs have minimal skills when it comes to original development. We dont want to force people to build special conditions and make huge changes to the java part of the app. So the automating part... It's taking time.... :)

We have so far fully automated and integrative nav drawer, where items can be added easily with little guiding, theme change support, automated preference fragments, automated scripts execution from the app assets and automated preference handling from the get go, no matter how deep the preference tree goes (as many nesting preference screens as you want). Right now I am working on handling those things in separate classes, so the devs wouldn't need to copy huge chunks of code when they want to create another new preference fragment for their drawer.... and as much as it's fun, little time is left for anything else for now... :P

Sent from my awesome g920f powered by 6thGear
[Samsung Galaxy S 5 Unified Development] remuntada78:
[MENTION=4714483]daxgirl[/MENTION], you said we can do an observer file for every file right?

most of instance of observer that i saw are in the .method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V of the files, so what is the relation between the instance and the <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V ?

can we add the instance in other method?
[Samsung Galaxy S 5 Unified Development] daxgirl:
Sorry dear friend.. I got caught up in finishing the custom settings app and it completely took up all my time... as soon as I get to modding again, I will write something about it......

Sent from my awesome g920f powered by 6thGear
[Samsung Galaxy S 5 Unified Development] remuntada78:
take your time ,no problem.

Meanwhile , i think i can answer my question

I noticed the following method on PhoneStatusBar.smali

.method private resetBatteryPercentageObserver()V
.locals 5

.prologue
const/4 v4, 0x0

.line 6452
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

move-result-object v0

iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBatteryTextObserver:Lcom/android/systemui/statusbar/phone/PhoneStatusBar$BatteryTextObserver;

invoke-virtual {v0, v1}, Landroid/content/ContentResolver;->unregisterContentObserver(Landroid/database/ContentObserver;)V

.line 6453
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBatteryTextObserver:Lcom/android/systemui/statusbar/phone/PhoneStatusBar$BatteryTextObserver;

invoke-virtual {v0, v4}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$BatteryTextObserver;->onChange(Z)V

.line 6454
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

move-result-object v0

const-string v1, "display_battery_percentage"

invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;

move-result-object v1

iget-object v2, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBatteryTextObserver:Lcom/android/systemui/statusbar/phone/PhoneStatusBar$BatteryTextObserver;

iget v3, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mCurrentUserId:I

invoke-virtual {v0, v1, v4, v2, v3}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;I)V

.line 6457
return-void
.end method

i think we can use it as example
[Samsung Galaxy S 5 Unified Development] remuntada78:
can you post a logcat of your fc, at first look you forgot to add synthetic access method in LDateBar.smali
[Samsung Galaxy S 5 Unified Development] xenreon:
But my smali dont have 000.... So should I add 000 and then 001... Also do I need to make a custom method and match it here:

invoke-virtual {v0}, Lcom/tenten/LDateBar;-

>onFinishInflate()V
[Samsung Galaxy S 5 Unified Development] tdunham:
Only add new access$001 in parent class.

The settings$observers are provided are working EXAMPLES only.

The onFinishInflate()V that you see is really an existing method that will update the view. If it does not exist in your parent class, you need to find method that does update the view and it is sometimes hard to find. For your smali, I think the method might be for updateclock since you are working in a dateview .

Edit: Also, if having problems try removing the line

invoke-virtual {v0}, Lcom/tenten/LDateBar;->onFinishInflate()V line

(for you probably replace onFinishInflate with updateclock method) to see if phone boots without errors.

As someone already said, if you should use error logs to find problems. It can be very helpful.
[Samsung Galaxy S 5 Unified Development] xenreon:
Thank you sir for the confirmation.... But now the problem is that I don't have any extra method.... Is using method public constructor would work
[Samsung Galaxy S 5 Unified Development] tdunham:
Do you mean for the invoke-virtual in the onchange method of settings observer smali? Look for a method called 'updateclock' in your parent smali and invoke that one instead.

Many smalis already have the onfinishinflate but if yours does not, we try to find a different way to update the view. I've never tried to invoke the public constructor.

Like I said, if you're sure the code is good in parent smali, try removing the line for invoke-virtual in the onchange method of the observer as a test. If phone runs fine without error, then you can start testing which method to call from settings observer to update the view with different invoke-virtuals.
[Samsung Galaxy S 5 Unified Development] xenreon:
Hmmm..... But well sir can we create a new method on LDateBar to invoke..... Actually I don't have any experience on creating a method..... Do we need to take public constructor's end method and put it somewhere above and lock the text part of the smali in a method of any name
[Samsung Galaxy S 5 Unified Development] tdunham:
Attach your lbar smali so we can look at it please.
[Samsung Galaxy S 5 Unified Development] xenreon:
Modded or original sir
[Samsung Galaxy S 5 Unified Development] tdunham:
Post both please, rename the modified smali so I can tell which one it is. It is easier for us to see the changes to your original smali to see if you placed everything correctly. Also, add in your new settings$observer so we can take a look at that also.
[Samsung Galaxy S 5 Unified Development] xenreon:
Sorry for disappearing...... Xda app was giving me some trouble ...... But meanwhile I did everything from the very beginning and able to boot without any problem..... So now I need to make a custom method and set it to invoke in observers.smali right, but I'm confused what.... If you can show me the steps for making the method or give me some hints it'll be great for ...... And again i have very few knowledge of smali so brief language is needed .....
[Samsung Galaxy S 5 Unified Development] tdunham:
Do you have an updateclock method in the parent smali?

For instance, mine I have in my parent smali:

.method protected updateClock()V

so I use that to invoke in settings observer to make view change to the clock and I think you are doing something very much the same:

Settings$observer onchange invoke:

invoke-virtual {v0}, Lcom/android/systemui/statusbar/policy/DateView;->[COLOR="Blue"]updateClock()V
[/COLOR]
[Samsung Galaxy S 5 Unified Development] xenreon:
No I don't.... Here's my smali sir:

https://www.sendspace.com/file/ikjq8b
[Samsung Galaxy S 5 Unified Development] tdunham:
Ok, bad news. There is no method you can use in this smali to update the view.

This smali must be called from somewhere else so you would have to have to create an observer there but it definitely isn't going to work for this one.
[Samsung Galaxy S 5 Unified Development] xenreon:
Okay :/ ..... But thanks for your time sir :D
[Samsung Galaxy S 5 Unified Development] remuntada78:
Hi, has anybody tried to add observer for QSTileView.smali?

i tried (without success) with this way

adding the following code in QSTileView.smali in .method public constructor <init>(Landroid/content/Context;)V

.line 106
invoke-direct {p0}, Lcom/android/systemui/qs/QSTileView;->updateTopPadding()V

.line 107[COLOR="Red"]
new-instance v1, Lcom/android/systemui/qs/QSTileView$SettingsObserver;

new-instance v2, Landroid/os/Handler;

invoke-direct {v2}, Landroid/os/Handler;-><init>()V

invoke-direct {v1, p0, v2}, Lcom/android/systemui/qs/QSTileView$SettingsObserver;-><init>(Lcom/android/systemui/qs/QSTileView;Landroid/os/Handler;)V

invoke-virtual {v1}, Lcom/android/systemui/qs/QSTileView$SettingsObserver;->observe()V[/COLOR]

return-void
.end method

then addind the following method

.method static synthetic access$000(Lcom/android/systemui/qs/QSTileView;)Landroid/content/Context;
.locals 1

.prologue
iget-object v0, p0, Lcom/android/systemui/qs/QSTileView;->mContext:Landroid/content/Context;

return-object v0
.end method

and in .method public onChange(Z)V of QSTileView$SettingsObserver.smali i have

.method public onChange(Z)V
.locals 1

.prologue
.line 291
iget-object v0, p0, Lcom/android/systemui/qs/QSTileView$SettingsObserver;->this$0:Lcom/android/systemui/qs/QSTileView;

invoke-direct {v0}, Lcom/android/systemui/qs/QSTileView;->recreateLabel()V

.line 292
return-void
.end method

as result i have a FC and a restart of SystemUI, log says

E/AndroidRuntime( 1266): java.lang.IllegalAccessError: Method 'void com.android.systemui.qs.QSTileView.recreateLabel()' is inaccessible to class 'com.android.systemui.qs.QSTileView$SettingsObserver' (declaration of 'com.android.systemui.qs.QSTileView$SettingsObserver' appears in /system/priv-app/SystemUI/SystemUI.apk)

E/AndroidRuntime( 1266):	at com.android.systemui.qs.QSTileView$SettingsObserver.onChange(QSTileView.java:291)

E/AndroidRuntime( 1266):	at android.database.ContentObserver.onChange(ContentObserver.java:130)

E/AndroidRuntime( 1266):	at android.database.ContentObserver.onChange(ContentObserver.java:145)

E/AndroidRuntime( 1266):	at android.database.ContentObserver$NotificationRunnable.run(ContentObserver.java:216)

E/AndroidRuntime( 1266):	at android.os.Handler.handleCallback(Handler.java:739)

E/AndroidRuntime( 1266):	at android.os.Handler.dispatchMessage(Handler.java:95)

E/AndroidRuntime( 1266):	at android.os.Looper.loop(Looper.java:145)

E/AndroidRuntime( 1266):	at android.app.ActivityThread.main(ActivityThread.java:5832)

E/AndroidRuntime( 1266):	at java.lang.reflect.Method.invoke(Native Method)

E/AndroidRuntime( 1266):	at java.lang.reflect.Method.invoke(Method.java:372)

E/AndroidRuntime( 1266):	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)

E/AndroidRuntime( 1266):	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

any suggestions?

thanks in advance
[Samsung Galaxy S 5 Unified Development] tdunham:
I think I did in ours, so remind me later if I don't get to it right away
[Samsung Galaxy S 5 Unified Development] tdunham:
I didn't do a settingsobserver for QsTileview unfortunately but I see your mistake. You cant invoke direct from the settingsobserver, you have to invoke virtual instead to a method that does the invoke-direct for you in the parent smali. I had to do this in several settings observers.

Example: In the settings observer I added this invoke-virtual for onchange:

.method public onChange(Z)V
.locals 1

iget-object v0, p0, Lcom/android/systemui/qs/QSPanel$SettingsObserver;->this$0:Lcom/android/systemui/qs/QSPanel;

[COLOR="Blue"] invoke-virtual {v0}, Lcom/android/systemui/qs/QSPanel;->handleToggles()V

[/COLOR] return-void
.end method

Then in the parent smali the new method does the invoke-direct there:

.method handleToggles()V
.locals 0

invoke-direct {p0}, Lcom/android/systemui/qs/QSPanel;->refreshAllTiles()V

return-void
.end method

For you, the invoke-direct {p0} in the handleToggles()V method gets changed to what yours is (and this should be p0 not v0 btw):

invoke-direct {p0}, Lcom/android/systemui/qs/QSTileView;->recreateLabel()V
[Samsung Galaxy S 5 Unified Development] remuntada78:
perfect ,it work now:good:
[Samsung Galaxy S 5 Unified Development] tdunham:
[MENTION=5292754]remuntada78[/MENTION]

Just curious if this settingsobserver is working for you and what you use it for. I see now that I removed it from ours because I couldn't get it to do anything helpful.
[Samsung Galaxy S 5 Unified Development] remuntada78:
i use it for change toggles text color on the fly and work, i added this method in QSTileView.smali

.method refreshTilesText()V
.locals 0

invoke-direct {p0}, Lcom/android/systemui/qs/QSTileView;->recreateLabel()V

return-void
.end method

then in QSTileView$SettingsObserver.smali

.method public onChange(Z)V
.locals 1

.prologue
.line 291
iget-object v0, p0, Lcom/android/systemui/qs/QSTileView$SettingsObserver;->this$0:Lcom/android/systemui/qs/QSTileView;

invoke-virtual {v0}, Lcom/android/systemui/qs/QSTileView;->refreshTilesText()V

.line 292
return-void
.end method

i choose .method private recreateLabel()V because i edited it from

invoke-direct {v3, v4}, Landroid/widget/TextView;-><init>(Landroid/content/Context;)V

iput-object v3, p0, Lcom/android/systemui/qs/QSTileView;->mLabel:Landroid/widget/TextView;

.line 202
iget-object v3, p0, Lcom/android/systemui/qs/QSTileView;->mLabel:Landroid/widget/TextView;

invoke-virtual {v3, v5}, Landroid/widget/TextView;->setId(I)V

.line 203
iget-object v3, p0, Lcom/android/systemui/qs/QSTileView;->mLabel:Landroid/widget/TextView;
[COLOR="Red"]
invoke-virtual {v2, v8}, Landroid/content/res/Resources;->getColor(I)I

move-result v4
[/COLOR]
invoke-virtual {v3, v4}, Landroid/widget/TextView;->setTextColor(I)V

.line 204
iget-object v3, p0, Lcom/android/systemui/qs/QSTileView;->mLabel:Landroid/widget/TextView;

invoke-virtual {v3, v7}, Landroid/widget/TextView;->setGravity(I)V

to

invoke-virtual {v3, v5}, Landroid/widget/TextView;->setId(I)V

.line 203
iget-object v3, p0, Lcom/android/systemui/qs/QSTileView;->mLabel:Landroid/widget/TextView;
[COLOR="Red"]
invoke-virtual {p0}, Lcom/android/systemui/qs/QSTileView;->setTilesTextColor()V

iget v4, p0, Lcom/android/systemui/qs/QSTileView;->mTilesTextColor:I[/COLOR]

invoke-virtual {v3, v4}, Landroid/widget/TextView;->setTextColor(I)V

.line 204
iget-object v3, p0, Lcom/android/systemui/qs/QSTileView;->mLabel:Landroid/widget/TextView;

invoke-virtual {v3, v7}, Landroid/widget/TextView;->setGravity(I)V

i tried with toggles icon color too but no luck at the moment
[Samsung Galaxy S 5 Unified Development] tdunham:
I have 4 different things in this smali that don't update on the fly so it would be nice to figure out the settingsobserver, know what I mean? ;)
[Samsung Galaxy S 5 Unified Development] remuntada78:
well it work always at the same way

.class public Lcom/android/systemui/qs/QSTileView$SettingsObserver;
.super Landroid/database/ContentObserver;
.source "QSTileView.java"

# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/systemui/qs/QSTileView;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4
name = "SettingsObserver"
.end annotation

# instance fields
.field final synthetic this$0:Lcom/android/systemui/qs/QSTileView;

# direct methods
.method constructor <init>(Lcom/android/systemui/qs/QSTileView;Landroid/os/Handler;)V
.locals 0

.prologue
.line 268
iput-object p1, p0, Lcom/android/systemui/qs/QSTileView$SettingsObserver;->this$0:Lcom/android/systemui/qs/QSTileView;

.line 269
invoke-direct {p0, p2}, Landroid/database/ContentObserver;-><init>(Landroid/os/Handler;)V

.line 270
return-void
.end method

# virtual methods
.method observe()V
.locals 3

.prologue
const/4 v2, 0x0

.line 273
iget-object v1, p0, Lcom/android/systemui/qs/QSTileView$SettingsObserver;->this$0:Lcom/android/systemui/qs/QSTileView;

invoke-static {v1}, Lcom/android/systemui/qs/QSTileView;->access$000(Lcom/android/systemui/qs/QSTileView;)Landroid/content/Context;

move-result-object v1

invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

move-result-object v0

const-string v1, "tiles_text_color"

invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;

move-result-object v1

invoke-virtual {v0, v1, v2, p0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V

return-void
.end method

.method public onChange(Z)V
.locals 1

.prologue
.line 291
iget-object v0, p0, Lcom/android/systemui/qs/QSTileView$SettingsObserver;->this$0:Lcom/android/systemui/qs/QSTileView;

invoke-virtual {v0}, Lcom/android/systemui/qs/QSTileView;->refreshTilesText()V

.line 292
return-void
.end method

added in .method public constructor <init>(Landroid/content/Context;)V the following lines

.line 107
new-instance v1, Lcom/android/systemui/qs/QSTileView$SettingsObserver;

new-instance v2, Landroid/os/Handler;

invoke-direct {v2}, Landroid/os/Handler;-><init>()V

invoke-direct {v1, p0, v2}, Lcom/android/systemui/qs/QSTileView$SettingsObserver;-><init>(Lcom/android/systemui/qs/QSTileView;Landroid/os/Handler;)V

invoke-virtual {v1}, Lcom/android/systemui/qs/QSTileView$SettingsObserver;->observe()V

return-void
.end method

then the method

.method static synthetic access$000(Lcom/android/systemui/qs/QSTileView;)Landroid/content/Context;
.locals 1

.prologue
iget-object v0, p0, Lcom/android/systemui/qs/QSTileView;->mContext:Landroid/content/Context;

return-object v0
.end method

it's all
[Samsung Galaxy S 5 Unified Development] tdunham:
Right but wasn't it you that said if method below does not exist, the settingsobserver wont really work?:

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

And I have seen this too in other smali that settingsobserver invoke doesn't launch every time unless it gets placed in the correct method. I think you see this because as you said, its not doing your other changes in this smali right?

I put the same exact edits you just showed and none of the 4 mods I have in qstileview make any difference with it so I don't think the invoke is working where it is placed.
[Samsung Galaxy S 5 Unified Development] remuntada78:
oh yes we don't have <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V so i tried in <init>(Landroid/content/Context;)V

it was an attempt:p

currently i have working only tiles text color, yes for other mods we need to check where put the invokes
[Samsung Galaxy S 5 Unified Development] tdunham:
Righton. I see your edit that does work. I think it may work without the settingsobserver. I keep coming back to this qstileview smali now and then just for those 4 that require ui restart but no luck with mine yet. :(
[Samsung Galaxy S 5 Unified Development] remuntada78:
no it does not work without settingsobserver

edit: [MENTION=1042140]tdunham[/MENTION] , now for me work tiles text visibility too
[Samsung Galaxy S 5 Unified Development] tdunham:
I had text instant change working at one point also but it stopped and I never did find what I did to fix (or break) it from working. :rolleyes:

I saw your logcat post and see you are still working in tileview.

Do you have toggle color in that smali also?