Shady 22.47 contains the first re-write of the SMS and Call History filters in about 4 months. It is a tremendous improvement. The new code uses persistent content observers to constantly monitor the SMS and Call History databases. Theoretically it is impossible for the filters to fail. The SMS filter scans all incoming messages, every time the content changes, resulting in a double checking mechanic. This design should even work on old phones like the HTC Hero, Samsung Moment, LG Ally, and Droid Eris. Shady uses a service to ensure that the content observers are always registers and in either cause when a new call comes in, or a new SMS comes in, the content observers are checked to ensure registration. The combination of registering the observers when a new message or call is received, and the service, results in the observers being perpetually registers and functioning with an extremely high likelihood of reliability.
22.47 contains a host of new features that started about a month ago with 22.20. Shady now contains a password recovery feature. Set a recovery phrase, in the main settings, and text your phone the phrase from any cellphone. Shady automatically responds with your access code.
My favorite new feature is the auto archive. Since the messager has to be completely processed in the UI thread, having a large thread was extremely slow. Now Shady only loads the last 50 messages, thus reducing the load time of the messager tremendously. When the archive is less than 500 messages the archive button says “normal”. When above 500 it says “large”, and when above 1000 it says “too large” and turns red. Handling large threads is difficult and slow. Above 500 messages the load time will be in the seconds. Above 1000 it may take several seconds for all messages to load. The read it takes time to load is because all messages need to be processed in the UI thread, and cannot be executed in a background thread. This causes the UI thread to hand until the entire thread is processed and displayed. I want to code a delete the entire archive button, which will conveniently save recent messages while also cleaning up the thread without requiring a full delete of the entire thread.
The archive is a big feature because is substantially decreases the load time, of the messager, when a contact has a large thread. Before the archive was coded some users mentioned the messager took a long time to load, and the only solution was to delete the entire thread. Now the messager is much more versatile. When I add the delete archive feature it will be even better.
There have been countless improvements since 22.19. The contact list is much better formatted with the large contact name. Instead of the “text” and “call” words, on the contact list, the contact animates showing the type of new message. Also convenient is the red message count at the top of the contact list. While I really want to work on re-organizing the contact list, particularly moving contacts with new messages to the top, I may hold off on such a feature until Shady 2.0. I don’t want to jeopardize stability! Shady’s data storage mechanism doesn’t make it easy to reorganize the list, and ultimately I want to recode Shady to use an entirely different storage mechanism, which will much better facilitate reorganizing the list.
Some improvements to the messager include the new larger editor at the bottom. It gives much more room to edit your message. In combination with the new font selection menu, if you reduce the font size, you can really fit a lot of text in message editor. The messager’s timing has also been adjusted making the animations much more smooth. Note that when your editing a message using the keyboard, the keyboard closes first then the message begins to send approximately .5 seconds later. Previously the message began to send immediately, which caused a stutter in the UI. This stutter was completely resolved using the new message send delay of .5 seconds; a much better UI feel.
Shady needed some tweaking to the screen off protection code. If the screen was turned off, and any dialog was open, it would causes a window to leak. This would cause Shady to crash. No good! I ended up create auto close code, for each dialog, to close the dialog automatically if it was left open when the program terminates. This completely eliminates a nasty crash condition associated with the screen off protection feature.
A little fix was the smileys in the stock theme. Fixed line wrapping and caps in landscape mode. I added an additional default login code; 321.
Shady 22.47 should be around for some time. I hope not as long as 22.19, which was around for 2 months I like updating, but many users post nasty comments about me updating too much; what a shame. If you want to remove Shady from your Market downloads tab please root your device and using Titanium Backup. With Titanium Backup you can backup Shady, uninstall using the remove from downloads tab option, and then restore the app. A simple solution for many users that constantly and unnecessarily complain about the downloads tab.
I have some more work to do on Shady before I begin working on a second generation. I want Shady 1.0 to be the best it can be, and then I will take it to another level. I have many plans for 2.0, most of which require a complete re-working of the data storage mechanism.