Monday, April 23, 2012

SendLog 1.0.6 - more fixes for Android 2.x variations

I released version 1.0.6 of SendLog. I'm still working around the variations of the logcat program on various 2.x Android devices.

SendLog just uses the system logcat command to generate its output. Up until 2.1 the output was fairly small. With 2.1 the output was much longer, but logcat also gained a new option to limit the output: the -t option. The problem is that some 2.1 devices don't implement the -t option.

Release 1.0.4 used the -t option for 2.1 and higher devices.

Release 1.0.5 explicitly checked whether -t is supported instead of assuming any 2.1 and higher device supported it. This fixed SendLog for the LG Ally and Samsung Moment.

Release 1.0.6 is for devices such as the Samsung Fascinate which have the long output but don't support -t. Instead of using -t I just limited the output by just ignoring a large amount at the beginning.

Unfortunately 1.0.6 still doesn't seem to work on the Samsung Fascinate because there seems to be a limit in the amount of text you can send to an activity. I'm using Intent.EXTRA_TEXT to send the email. This seems to have an undocumented limit of about 50kb, which is enough for the top output and about 300 lines of logcat output. But the Samsung Fascinate seems to unceremoniously truncate the email after about 14 lines of logcat. The reason I added an end marker in release 1.0.4 is so that you can see if the email has been truncated.

I'm not quite sure how to fix the Samsung Fascinate, but I did the fix for 1.0.6 anyway because it seems like a reasonable thing to do, and it's at least a bit of an improvement. Without this fix it would just fail to create the email without giving any indication of what was going on.

What I'll probably try is using EXTRA_STREAM instead of EXTRA_TEXT.

Meanwhile I'm still working on the downloader for MySpeed.