Last Sunday I released a new version (1.05) of LoanShark. The next morning I checked, as usual, whether anyone had had problems with the new version. Sure enough, there was one crash report waiting for me. I tried to figure the problem out before leaving off to work, but I wasn’t able to do so in the short amount of time I had available. I figured that maybe it was a single incident, and that I would later check if any error reports pour in, that would contain a better indication as to what might be the problem.
In the Android Market control panel, the link that goes to the error reports hadn’t changed for a few days (I eventually found out that it displays the number of releases with errors), so I figured there had been no new crashes and didn’t pay attention to the matter any further. As the days went by, I began a little worried about the installations not increasing at their usual rate.
I had received a report from a user to LoanShark’s own page on my site, so I figured there must be something seriously wrong. I decided to check out the error report page at the Android Market control panel, and lo behold, there were 19 error reports in total. Whew!
I think the link to the error reports page should display the total number of errors in the latest release, not the number of releases with errors. Now it just displayed the same number for five days, so I didn’t bother checking the reports behind the link at all.
The reason behind the crash was that I didn’t check for a null pointer in a section of code where the database schema is being upgraded to the latest version. If there were loans that had been returned or repaid in full, the upgrade would fail.
I’ve uploaded a new version (v1.05b) to the Android Market, which fixes the problem. Now existing users are also able to enjoy the plethora of enhancements in the latest version.
Incidentally, when loans are returned or repaid in full, they are not actually deleted from the database, but just marked as being inactive. This is because I’m planning to write a feature which would allow viewing (as read-only) the loan history. Such old loans could then be used, for example, as a template for creating new loans.
If you come up with suggestions for new features, please feel free to leave a comment!
Edit – Fixed one more bug that caused a crash when the quantity of lent/borrowed items was unset. The fix is included in the latest version, v1.05c. I found another bug, although this one is not so fatal: when sending SMS from an overdue loan’s management view, if the contact has more than one phone number set and you select a number, it tries to open the email editor instead of the SMS editor. Haven’t got yet time to fix this but it shouldn’t be a biggie.