DashClock and the problem with the worldReadable flag

As of DashClock version 1.5 a new optional “worldReadable” flag was introduced to the DashClock API. Here is the Manifest declaration:

 <meta-data android:name="worldReadable" android:value="true" />

This flag indicates whether only the official DashClock app (signed by Roman Nurik) or all apps can access an extension. Basically this is a good idea, because if your extension has some sensitive data not every app should be allowed to access this data.

Unfortunately this also brings some problems. When I first updated my app DashClock custom extension to use the newest DashClock API I hadn’t set this flag, because I simply didn’t knew that it exists. For this reason the flag automatically had a value of “false” and this brought some trouble.

After the update I got a lot of negative reviews from people who are using custom roms, that the extension isn’t visible for them. It took me a lot of time to figure out that the problem had to do with the worldReadable flag. For whatever reason some custom roms (e.g. Slimbean or Carbon rom) include their own version of DashClock as a system app in the rom. As this isn’t the official DashClock app and I hadn’t set the worldReadable flag the extension (as intended) didn’t show up for those people!

For my app the solution is really easy. As custom extension doesn’t show any sensible data, I just set the worldReadable flag to true and everything works as expected now. Nevertheless if there is an extension which really shows sensitive data, this is a problem! On the one hand, If it doesn’t set the worldReadable flag it disappoints lots of customers but on the other hand, if the flag is set to true, this is a potential security risk!

Summing up, the worldReadable flag is basically a good idea but in it’s current form it’s more a big problem! As it’s default value is false and only very few developers know of this flag when they are creating their first extension, this produces lots of trouble and annoyance because the extension doesn’t work for apparently no reason. We can only hope that the flag gets either replaced or that custom roms are shipping the official DashClock app in the future.


IntelliScreen – great update to version 3.0

After a long time since the last update (we are mainly working on other apps already) IntelliScreen has got a great new Update again. Beside some bugfixes and improvements there are also cool new features like an interactive help (just click on the questionmark in the top right corner) and app specific screen brightness settings available now. In addition to that, there is a brand new tablet layout and a quick setup included in the update!

Here is the full Changelog:

  • Optimized function for detecting the active foreground app
  • Added integrated help system
  • Added option for setting app specific display brightness
  • From now, all rules are disabled when the lockscreen is in foreground
  • Different Bug fixes and improved translations
  • added optimised layout for tablets
  • integrated Google Backup Service
  • added “instant off” functionality for proximity sensor
  • added Quick-Setup
  • improved help functionality
  • different Bugfixes and layout optimisations

So lets go to the Play Store and download the update ;-)


Toggle plugin for custom extension

Today I released a new Update to DashClock custom extension which (beside a few other great new features) enables it to use toggles!:-)

I haven’t integrated the toggle functionality directly into custom extension because many users appreciate that the app doesn’ need any additional permission. Instead I made an extra app (the toggle plugin) which has to be installed first in order to use toggles. I think thats a good compromise!

Unfortunately it isn’t possible to toggle actions without unlocking the screen. This is a restriction of the DashClock API and I will change it as soon as it’s possible!

The currently available toggles are:

  • Toggle Bluetooth
  • Toggle Wifi
  • Toggle Wifi tethering
  • Toggle Silent mode
  • Toggle Vibration mode
  • Toggle Auto screen rotation