[Galaxy S II Themes and Apps] esgie:
Uh too bad the sources arent open...

...but the idea and the way app is working is very very easy, its strange that NoMorePowah was the only charging screen mod out there.

In short: Samsung devices, when plugged and switched off, loads the kernel from boot partition and run the init process - in a way exactly the same as in regular booting process. The difference is that the process is being cut off on some point, and instead of launching zygote and further android-related stuff, init script launches /system/bin/playlpm binary.

And the binary (the stock one...) prints some lame battery images to the framebuffer.

The most important thing is that the binary is executed in an environment based on regular, stock kernel, with access to the regular filesystem. That means that we may replace it with other binary or even a shell script, without need of messing with kernel, bootloader, etc. The most painful difference is that we do not have any graphical environment running, so the binary has to write the output directly to framebuffer device, which would be a little pain, however, the possible complexity of GUI of such an app shouldn't be to complicated (as you can see in NoMorePowah: few png's processed and sent to framebuffer, nothing more like that...).

Guess that mainatining the activities similiar to what NMP is doing (ie updating the battery status, triggering reboot basing on a few conditions, displaying current time, etc) should not require nothing more, than semi-advanced shell scripting (or, alternatively, linux C programming) skills. The difficult part is to display anything, as we must operate on bare framebuffer.

And here's the question - does anyone know a linux tool or tools, a set of binaries probably, compiled for arm-v7a, which may ease the process of displaying the graphics by providing a command line options that can be triggered within human-readable syntax? Seems that we do not need much more than a possibility of converting some text and image objects ((compressed - jpgs, pngs etc), combined with info about their position and size, to a fb frame, and then displaying it. Example: busybox fbsplash applet can display a .ppm image (a format quite similiar to raw bitmap) file to framebuffer. Yeah, however, it does not provide any other possibilities than displaying single image on a fullscreen framebuffer... too bad that it's the only one I found looking around...

If someone is aware of such a framework/tool set, built for native android, please let know.

The other thing is a touch support. I havent investigated it yet, but it may depend on the kernel, ie. on the init process of "charger screen bootup" - if it does not load touchscreen drivers then touchscreen won't work. We can probably avoid the problem by repacking the kernel with modified lpm.rc (if it is the right init script, didn't checked it yet), with touchscreen support enabled (ie. few lines of code, copied from regular init.rc).

Take note that above (about touchscreen) is only my guess... Guess i'll try to repack kernel I am using on my Note 10.1 in a way described above and let you know if the touchscreen starts to work with NoMorePowah (as it is not working atm, just as in Tab series devices).