|Free42/Android skin handling change|
Message #1 Posted by Thomas Okken on 17 Apr 2011, 11:32 a.m.
Yesterday I updated Free42 in the Android Market and on my web site. I posted four updates in quick succession, but only the release notes for the most recent one (188.8.131.52) appear on the Market page, and to make things even more confusing, the "updated" date still shows April 10th.
There have been a couple of minor bug fixes, but the important change is skin handling. Originally, the app would look for the *.gif and *.layout files in /sdcard/Free42, but that causes problems on some devices, because of an incorrect /sdcard symlink, or because of case-smashing in the FAT32 filesystem. This new version of Free42 for Android is meant to avoid these problems, by letting the user select skins from anywhere, using a file selection dialog.
I had originally planned to make the skins directory location configurable, but then it occurred to me that making the user select the directory in one place and then choose the skin in another made no sense; I might as well combine the two.
Note that if a skin is selected from an SD card, Free42 will not be able to load that skin if it is relaunched later when that SD card has been removed. In that case, Free42 will revert to the built-in skin, but it will remember the external skin's path, and when it is relaunched with the SD card once again present, it will load the external skin again.
If you want to have a set of custom skins permanently available, regardless if what's in the SD card slot, you may have to root your phone and/or use a file manager to copy the skins to a directory in the built-in storage. Free42 does not help with the process of copying skins, but it can use them once they are copied.
This new implementation is not perfect, but I think it will meet the needs of most users, without adding a lot of complexity to the code or the user interface.