Sorry, but I also confirm that airplane mode makes it impossible to rely on any cache. Theoretically, if the application was connected to the network and the pingolo license server just before going offline, this might work. However, if the phone is disconnected for any significant period of time, there is no caching mechanism. Just look at the code. I filed an error against android:
http://code.google.com/p/android/issues/detail?id=12978
Because my users Shout n 'Snap shoutnsnap.com ALREADY confirm this silly behavior.
, . EG:
IF LICENSED:
PERSIST random key as LK
PERSIST obfuscated random key as OLK
ELSE:
if (deobfuscate(OLK) == LK)
GRANT ACCESS
ELSE:
GET LOST
: http://code.google.com/p/androidbest/