In this project, you'll update an existing Android app for a VoIP service. This is a fairly easy job.
1) Switch out old screen images (5 total) with new ones and change the service name where applicable. We have changed the name of our service and need to update all images and manifest text for the app. The images are all ready to go; they just need to be switched out. If possible, we'd like this 1.1 release to be an official update to the 1.0 release. Please advise if this is possible with a name and domain change.
2) Minor useability changes:
a) Change the “Set Destination” select box to show the country plus country code. This is accomplished by a calling our new 2.0 API (get_country_names_and_prefixes() instead of the 1.0 API get_country_prefixes()). If you look at the current select box, it's full of just numbers (country dial codes). We'll make this look better by adding the country in the select box as well.
b) Make the same select box default to the currently selected destination country. This will help users save time when setting their destination since most will always use the same country prefix.
3) Bug fixes:
a) Android Java null pointer exceptions: We have a few of these. The good news is that they are all the same thing. I personally had to fix a lot of these in the 1.0 version, but I didn't hit all of them because they still happen every once in a while. They have to do with AsyncTask-derived classes that we use to call API methods. They occur when the AsyncTask-derived object is doing some work and something on the screen changes: orientation or screen change. When that happens, it seems that dangling pointers are leftover and crashes ensue. We have stack traces for you to look at.
b) Do not strip all alphabetic characters from the destination, when setting the destination. This is because of the voicemail special case. In order to route calls to voicemail, we change the country prefix to be “Voicemail”. If you look at the Set Destination screen, you'll notice there are many country codes. At the very bottom is “Voicemail”. When this is set as a country code it tells the server to route all calls to voicemail. Instead, this currently gets stripped out.
c) Unable to use the app after some time (one or two months): Strangely enough, this is common to both the Android and the iPhone app. The apps were created by two different developers which makes me think that there is something common both operating systems. This seems to have something to do with the authentication token that we send to the app through our API method: get_auth_token(). If we clear out the authentication token, then the app works fine. Users are forced to just log in again.
What we provide:
1) An API to do the work of authenticating the user's subscription, changing the destination (scenario 1), initiating a callback (scenario 2), and serving up the customer's DIDs, destinations, and allowed country codes and country names.
2) All artwork. If you need any extra artwork, just let us know in advance.
3) A specification.
Your requirements: You love developing and debugging for Android and are great at it.
We will provide a [url removed, login to view] repository which you'll use to commit code. Code commits should come with each successful task or at the end of every day, whichever is sooner.
This is an easy app for a good Android developer to implement. A seasoned Android developer can probably do this in two days. If you bid, please provide:
1) A description of why you're a good fit.
2) A description of the project you're most proud of and why (just one is fine). We're technical folks here, so feel free to write technically.
3) If you have a project that you worked on that we can check out, that's great too.
NOTE: There is also an identical iPhone project that needs updating as well. If your team can also handle iPhone projects, feel free to PM with a bid for updating both the iPhone and Android apps.