GSoC — Week 1

So after a month long community bonding period finally the thing I was waiting for arrived, the coding period started.

This week I worked on the Feedback/Bug report system.

No matter how hard a developer tries but he/she is unable to take in account all the corner cases and at times his/her exception handling fails and the program crashes. In terms of android applications the end user will be faced with the following dialog :

Android app crash dialog

Which is the most annoying dialog of android.

So, to tackle this problem and quickly resolve the issues in the application a proper bug reporting system was needed. The goal of the feedback/bug reporting system was to replace the android force close dialog with a custom dialog and give the user following options :

a. Close the app

b. Restart the app

c. Send the logs and crash report via email

The first two options are self explanatory. For the third option initially I was going to use ACRA[1] , it is an open source android library to automatically post crash reports to a report server but later on I realised it will better not not rely on external libraries for something as crucial as this because they might cease to work for future android versions.

So, now whenever an unhandled exception occurs on the app the user is presented with the following dialog.

Unkown error dialog

The sample body of the email which the user will be presented with can be found here. Along with it the app logs will also be attached as a text file to the email.

References :

[1] https://github.com/ACRA/acra

[1] https://trivedihardik.wordpress.com/2011/08/20/how-to-avoid-force-close-error-in-android/