OneBusAway/onebusaway-android — pull request #90 by barbeau (2013-12-06 17:37:28+00:00)
Title: Fix #89 - Add support for experimental servers.

As specified in #89, this patch:

1. Consumes a new experimental boolean value for each region from the new Regions API v3
2. Only uses servers with experimental set to false AND active set to true, by default
3. Allows the user to opt-in to including experimental servers (i.e., experimental set to true) for manual or automatic selection, via a preference

I've also discretely surfaced the currently selected region in a few places in the UI, so its more obvious to the user when an incorrect region is selected (we've had several users contact us that were connected to the wrong region due to location errors, and evidently didn't realize this, and didn't realize they could change the region in the preferences).

Upon initial startup following the `Finding transit services...` dialog, and at any time when a region is automatically chosen and changes from the previous value, a Toast saying `Found X region` is shown to the user:

![image](https://f.cloud.github.com/assets/928045/1694026/98109db4-5e99-11e3-899b-15b78e5802eb.png)

After a region is selected, if the user is out of range of the selected region, the dialog now names the region specifically (vs. the old dialog that said generically "You're out of the OneBusAway service area"):
![image](https://f.cloud.github.com/assets/928045/1694134/8e782356-5e9b-11e3-9598-5b30d8b37297.png)

I've also updated the Region preference to show the currently selected region in the summary of the preference, which is the currently suggested best-practice for Android preferences:

![image](https://f.cloud.github.com/assets/928045/1694047/f16026e6-5e99-11e3-88c0-af426f7781b9.png)

When a custom API URL is entered, the summary for the Region and OneBusAway API Server preferences is also changed to reflect that the app is using the entered API, instead of a chosen region:

![image](https://f.cloud.github.com/assets/928045/1694057/244ae4f6-5e9a-11e3-8f62-ecfce3ae169f.png)

@paulcwatts please review and make sure you're ok with the text that is displayed, and general behavior. I would suggest putting this out in a beta release to let @kurtraschke test locally with the experimental D.C. instance (if he has access to an Android device) before doing a public release on Google Play. I've tested from Tampa, including setting Tampa as an experimental region in my own Region API to see how it would react to me being closest to an experimental region, on a Samsung Galaxy S3 and everything seems fine, but it would be good to have a few others test as well.

And btw, Android Studio is very nice. Seems fairly stable, I've only encountered a few bugs (cut/paste clipboard history going wild, some resource string values being displayed incorrectly in the code folding). Will definitely be moving my other apps to Android Studio as time allows.