The 4.4 release of Android broke my LifeSaver 2 app, which migrates phone-call and SMS logs from your old phone to a new one. It was my fault not Android’s, because the API for the SMS database was undocumented and thus unofficial. With KitKat, now it’s official. And slightly different.
So I just uploaded v2.3, which seems to fix the problem.
Thanks Chris! · I actually didn’t do the work for KitKat; a nice Googler named Chris Jones got it 80% of the way there and the last lap was pretty easy. Something had changed in the SDK in a way that screwed up my layouts, so I had to refiddle those a bit, and then Chris’ changes exposed a couple of other useful little refactorings.
The source is at Google code; I suppose I should shift it over to GitHub one of these years.
Visible changes · They’re minor. On KitKat, LifeSaver prompts you twice: Once to get you to let it act as the “Default SMS app” for a few minutes while it does its work, and again when it’s finished to bless putting the former default back.
Also, LifeSaver formerly didn’t do anything in particular when it finished; now it at least tells you that it’s done.
I’ve been thinking of switching from using the storage in App Engine to blasting the backed-up history into the user’s Google Drive, and maybe I will one of these years.
QA · I tested it pumping data back and forth between a few devices, notably my nice new Nexus 5 and a crufty old Nexus S. It’s possible one of the handset makers has changed things in a way that will cause problems, but I’ve gotten remarkably few bug reports on LifeSaver over the years, so I’m optimistic that it will Just Work.
Lessons? · Hm, it’s a rare programming project, no matter how minor, that doesn’t carry a useful lesson to pass along here. But this would be one of those, I guess. Android development doesn’t feel exotic or exciting any more, it’s just sitting there with Eclipse on the screen, slinging Java code and pumping JSON bloblets back and forth over the network. Meh.