A cautionary note about the Theme Chooser app (as seen in CM7)

Search This thread

byrong

Senior Member
Jul 9, 2010
695
723
East Coast
I've really been loving CM7. One of the features that caught my eye right away is the Theme Chooser: while it is still being ironed out, it has some great functionality.

That said, I've come to realize that it causes some very strange interactions on my phone and have stopped using it. I just wanted to give the heads up to other users.

Some specific examples:

I use Autoruns to control what apps are allowed to automatically run on my phone. After flashing CM7 and experimenting with the themes, Autoruns stopped working. Specifically, when started, it would no longer show all of the apps that have autostart privileges on the phone. Instead, it just showed a few entries for Android itself.

It didn't occur to me that the issue was because of the Theme Chooser. I thought it was just a Gingerbread and/or CM7 issue with Autostarts. But after speaking with the developer, he related to me that this was a known bug with applying a theme with the chooser. I switched back to "system" in the Theme Chooser and he was right: Autostarts returned to full functionality.

As a workaround, you can apply changes with Autostarts, then apply a theme afterwards. Your changes from Autostarts will stick, but if you need to make future changes you will need to revert back to the system theme temporarily.

The other major issue I was having was with WidgetLocker. WL would remember all my settings and sliders, but if I placed any 3rd party widgets onto my lockscreen, they would disappear on reboot. I tried all sorts of wipes / uninstalls / reinstalls, but the problem persisted. Frustrated, I again believed that this was because of Gingerbread and/or CM7. But as soon as I reverted my theme back to system in the Theme Chooser, this problem also went away completely.

I never contacted the WL devs, so I don't know if this second one is a recognized issue with interaction, but I can reliably induce the problem.


So I just wanted to pass this along. If you are using the Theme Chooser, consider reverting back to system if you are trying to investigate any weird problems. If two of the major apps that I use were affected, I'm sure some others are as well.

I'm not saying that the Theme Chooser has to be avoided: just that it should be considered as a variable when investigating buggy behavior.


(I am posting this outside the Nightlies thread as I'm not sure what other roms might be trying to user this theme chooser.)
 

sunder74

Senior Member
Jan 19, 2010
1,291
188
Washington DC
Well that may be a valid point. However I am more inclined to believe the majority of people having app issues is because a good deal of developers have not yet updated their respective apps for GB compatibility. Seeing how there's only... what the Nexus S running official firmware? Not discrediting your statement of course. Just another idea relating to improper function or nonfunction of apps.

Sent from my HTC Incredible using Tapatalk
 

byrong

Senior Member
Jul 9, 2010
695
723
East Coast
I am more inclined to believe the majority of people having app issues is because a good deal of developers have not yet updated their respective apps for GB compatibility.
I am not saying that Theme Chooser should be considered the primary culprit for all problems. Rather,
...that it should be considered as a variable when investigating buggy behavior.
That is all.

Your point about GB compatibility is of course valid, but I gave two specific examples of repeatable bugs that I was able to directly link to the Theme Chooser.

I also must not be the first person to have experienced the issue with Autostarts, because the developer responded to my initial query within minutes. I thought it was a GB issue and asked when GB would be supported. Right away he asked if I was using the Theme Chooser in one of the CM7 nightly builds, which I was.
 

sunder74

Senior Member
Jan 19, 2010
1,291
188
Washington DC
I understand. I wonder what's happening with it specifically, have you ran a logcat while duplicating it?
I am not saying that Theme Chooser should be considered the primary culprit for all problems. Rather,

That is all.

Your point about GB compatibility is of course valid, but I gave two specific examples of repeatable bugs that I was able to directly link to the Theme Chooser.

I also must not be the first person to have experienced the issue with Autostarts, because the developer responded to my initial query within minutes. I thought it was a GB issue and asked when GB would be supported. Right away he asked if I was using the Theme Chooser in one of the CM7 nightly builds, which I was.



Sent from my HTC Incredible using Tapatalk
 

byrong

Senior Member
Jul 9, 2010
695
723
East Coast
I understand. I wonder what's happening with it specifically, have you ran a logcat while duplicating it?
Here you go...

With theme set to "system" (I.E. Theme Chooser isn't active), starting Autostarts logs the following:
Code:
I/ActivityManager(  170): Start proc com.elsdoerfer.android.autostarts for activity com.elsdoerfer.android.autostarts/.ListActivity: pid=2431 uid=10112 gids={}
I/ActivityManager(  170): Displayed com.elsdoerfer.android.autostarts/.ListActivity: +486ms

With a custom theme applied, starting Autostarts now shows:
Code:
I/ActivityManager(  170): Start proc com.elsdoerfer.android.autostarts for activity com.elsdoerfer.android.autostarts/.ListActivity: pid=2646 uid=10112 gids={}
I/ActivityManager(  170): Displayed com.elsdoerfer.android.autostarts/.ListActivity: +380ms
W/AssetRedirectionManager(  170): No such resource found for com.android.music:drawable/progress_horizontal
W/AssetRedirectionManager(  170): Unable to attach target package assets for com.android.carhome
W/AssetRedirectionManager(  170): No such resource found for com.upwardspiral.theme.Red_Remix:@drawable/wallpaper

Since the Theme Chooser is redirecting the system to utilize separate resources, I guess some apps just don't appreciate having a "middle man."

I'm not knowledgeable enough to say whether:
1. Apps can be modified to deal with this issue
2. Some Theme Chooser themes themselves may be built in a such a way that causes this
3. Theme Chooser itself is the only thing that can be changed
 

igknighted

Senior Member
Oct 26, 2010
79
4
Boston
Hmm... could it be that the theme developer didn't account for extra options that are now available? Seems to me like it could be a theme issue, not a theme-chooser issue.
 

G8351427

Senior Member
Dec 20, 2010
90
19
Thanks for this note; I have been having the issue with Widgetlocker losing all the widgets after a reboot, and switching to the system theme resolved that issue.
 

byrong

Senior Member
Jul 9, 2010
695
723
East Coast
Now that CM7 has a labeled stable release, I'm bumping this thread. A lot of people will be trying CM7 for the first time and may wonder why they are seeing weird behavior.

I've noticed a lot of people asking in the CM7 threads when the CM team will fix this issue. Please understand that the Theme Engine is T-Mobile's app: it was not written by the CM team. Any fixes that come down the pipeline for it will presumably be from T-Mobile, not from the CM team.

Also, just to add some more detail to the issue, here's a quote from the author of WidgetLocker:
WidgetLocker attempts to bind to a widget according to the SDK docs and how Google's launcher2 is implemented. CM7 w/ Theme Chooser denies WL from doing so. If WidgetLocker doesn't have access to the widget, there is nothing to display.

Some users have even reported this problem on their home screen with certain launchers, while other launchers are problem-free. This would seem to suggest that there are two different methods that developers are using to bind to widgets, but that is just speculation on my part.
 
  • Like
Reactions: mmuzzy

mit90

Member
Mar 28, 2011
8
0
How do I disable or remove themechoose as it comes with CM7 builds? And I'm not able to remove system apps.
 

byrong

Senior Member
Jul 9, 2010
695
723
East Coast
How do I disable or remove themechoose as it comes with CM7 builds? And I'm not able to remove system apps.
There are lots of ways to remove system apps. Titanium Backup is probably the easiest, and the newest versions of it also allow you to back-up system apps themselves (rather than just their data, like in the past)

You can also just delete apks from system/app using something like Root Explorer

You can also use ADB

...you get the picture: lots of options :D

The theme chooser apk is "ThemeChooser.apk" under system/app

You could also just remove ThemeChooser.apk from the CM7 flashable zip before you flash the next build.

All that said, removing it is not necessary to avoid interaction issues, but it's your call.
 

sherpajosh

Senior Member
May 11, 2008
94
8
Google Pixel 6 Pro
I have been using Theme Chooser for a while now and have had no problems with autostarts, it seems to run normally for me. But the problem with widgetlocker is there, good to know the cause.
 

watt9493

Senior Member
Dec 27, 2010
8,307
344
Croydon, PA
Its also in OMFGB. Just thought id put my experience in.

Id like to thank everyone that helped me root, rom, & nand.
OMFGB, Slayher#27, CWM 3.0.0.8 :p
 

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    I've really been loving CM7. One of the features that caught my eye right away is the Theme Chooser: while it is still being ironed out, it has some great functionality.

    That said, I've come to realize that it causes some very strange interactions on my phone and have stopped using it. I just wanted to give the heads up to other users.

    Some specific examples:

    I use Autoruns to control what apps are allowed to automatically run on my phone. After flashing CM7 and experimenting with the themes, Autoruns stopped working. Specifically, when started, it would no longer show all of the apps that have autostart privileges on the phone. Instead, it just showed a few entries for Android itself.

    It didn't occur to me that the issue was because of the Theme Chooser. I thought it was just a Gingerbread and/or CM7 issue with Autostarts. But after speaking with the developer, he related to me that this was a known bug with applying a theme with the chooser. I switched back to "system" in the Theme Chooser and he was right: Autostarts returned to full functionality.

    As a workaround, you can apply changes with Autostarts, then apply a theme afterwards. Your changes from Autostarts will stick, but if you need to make future changes you will need to revert back to the system theme temporarily.

    The other major issue I was having was with WidgetLocker. WL would remember all my settings and sliders, but if I placed any 3rd party widgets onto my lockscreen, they would disappear on reboot. I tried all sorts of wipes / uninstalls / reinstalls, but the problem persisted. Frustrated, I again believed that this was because of Gingerbread and/or CM7. But as soon as I reverted my theme back to system in the Theme Chooser, this problem also went away completely.

    I never contacted the WL devs, so I don't know if this second one is a recognized issue with interaction, but I can reliably induce the problem.


    So I just wanted to pass this along. If you are using the Theme Chooser, consider reverting back to system if you are trying to investigate any weird problems. If two of the major apps that I use were affected, I'm sure some others are as well.

    I'm not saying that the Theme Chooser has to be avoided: just that it should be considered as a variable when investigating buggy behavior.


    (I am posting this outside the Nightlies thread as I'm not sure what other roms might be trying to user this theme chooser.)
    1
    Thanks for this thread, will pass the info along to the MT4G guys.
    1
    Now that CM7 has a labeled stable release, I'm bumping this thread. A lot of people will be trying CM7 for the first time and may wonder why they are seeing weird behavior.

    I've noticed a lot of people asking in the CM7 threads when the CM team will fix this issue. Please understand that the Theme Engine is T-Mobile's app: it was not written by the CM team. Any fixes that come down the pipeline for it will presumably be from T-Mobile, not from the CM team.

    Also, just to add some more detail to the issue, here's a quote from the author of WidgetLocker:
    WidgetLocker attempts to bind to a widget according to the SDK docs and how Google's launcher2 is implemented. CM7 w/ Theme Chooser denies WL from doing so. If WidgetLocker doesn't have access to the widget, there is nothing to display.

    Some users have even reported this problem on their home screen with certain launchers, while other launchers are problem-free. This would seem to suggest that there are two different methods that developers are using to bind to widgets, but that is just speculation on my part.