Initial directory structure.

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@1 b829dee0-eb3e-11dd-80ed-bda8ba2650cd
Initial DroidMuni import. This works well enough to query the NextMuni website and display predictions, but it's not very robust or fast yet.

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@2 b829dee0-eb3e-11dd-80ed-bda8ba2650cd
Pushed queries into a background thread so the UI doesn't freeze.
When an item is selected that will change a subsequent spinner's list, clear that spinner. This makes the UI less confusing and avoids a bug where you'd select a new route and it wouldn't update the stop list.
Changed the indentation settings to be a little less Eclipse-specific (4-space tabs?!?) but I'm still using Eclipse's broken Format command, so the formatting isn't great.
Made the prediction list redraw every 30s to count down appropriately, and requery from NextMuni every 2 minutes to keep up with any busses that changed speeds. The requery doesn't work yet.
Updated the version number to 0.0.1

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@3 b829dee0-eb3e-11dd-80ed-bda8ba2650cd
Cache the list of directions and stops for each route so that we don't have to do as many round trips to the NextMUNI server. I didn't cache the predictions because invalidating old ones on a new request is tricky (especially if I want to do better than NextMUNI).

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@4 b829dee0-eb3e-11dd-80ed-bda8ba2650cd
Saved the current route across app invocations. Haven't yet saved the current direction when you leave a route and come back.

Automatically scrolled the stop list to the nearest stop, using the phone's location service.

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@5 b829dee0-eb3e-11dd-80ed-bda8ba2650cd
Have the app remember which direction was last selected for each route. This only works while the app is running: I haven't added a database backend yet for longer-term storage, and a mapping doesn't fit well into the preferences.

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@6 b829dee0-eb3e-11dd-80ed-bda8ba2650cd
Moved route loading into the background so the UI is responsive while it happens and so we can show the loading message.

Added "Loading" and "Loading failed" tags for each of the dropdowns so it's more obvious what's going on. The "failed" tags each have a second option, "Retry", so users can explicitly try again.  Retry is only implemented for routes so far, and it's not very well tested even there.

Taught the provider how to requery for routes if the initial request failed.

Predictions also got a "No predictions" state to distinguish when NextMUNI told us there were no predictions from when something just went wrong.  On some entries to "No predictions", the app sometimes flashes through "failed", and I don't know why.

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@7 b829dee0-eb3e-11dd-80ed-bda8ba2650cd
Clean up URI generation a bit (moving away from String.format()), which fixes the Owl routes (they included a space, which broke java.net.URI).

Switch to NextMUNI's multi-prediction query, in preparation for getting predictions for multiple routes at once.

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@9 b829dee0-eb3e-11dd-80ed-bda8ba2650cd
Get predictions for all routes arriving at the selected stop. We really only get all routes that the user has selected during the life of the current process, since there's no backing DB yet, but this is still pretty useful.

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@10 b829dee0-eb3e-11dd-80ed-bda8ba2650cd
Save route information into a persistent database to (1) reduce latency since once you've requested route data once you never or rarely have to wait for the NextMUNI request again, and (2) know all of the routes that serve a particular stop (if you've ever requested data for that route) so we can send a complete prediction request.

Eventually, I'll add a background thread that pre-caches all of the route information so that even your first use of a route is likely to be in the database.

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@11 b829dee0-eb3e-11dd-80ed-bda8ba2650cd
Avoid log spam in Db.addStop() when the stop/route pair already exists. Apparently SQLiteDatabase.insert() raises the same exception as insertOrThrow but then catches and logs it.

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@12 b829dee0-eb3e-11dd-80ed-bda8ba2650cd
Avoid blocking the UI thread for the NextMuniProvider's initial cookie+routes request.

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@13 b829dee0-eb3e-11dd-80ed-bda8ba2650cd
Managed cursors seem to interact badly with CursorAdapters (http://code.google.com/p/android/issues/detail?id=2174), so this change makes all of my cursors unmanaged. It seems to avoid a crash-on-startup I was seeing.

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@14 b829dee0-eb3e-11dd-80ed-bda8ba2650cd
Fix a crash when the cookie request fired in NextMuniProvider.onCreate() failed. It tried to show a Toast from a non-UI thread, but the Toast assumes it can create a Handler from the thread calling Toast.makeText. So now I call that from onCreate instead of from where the error happens.

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@15 b829dee0-eb3e-11dd-80ed-bda8ba2650cd
When the user entered two different queries before the system had a chance to respond to the first one, sometimes the first response would wind up displayed as the answer to the second query. The new AdapterQueryManager class makes sure that outdated queries are ignored.

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@16 b829dee0-eb3e-11dd-80ed-bda8ba2650cd
Add a "manage space" activity accessible through the "Manage Applications" settings page, which can clear the route cache. This may or may not be useful to users, but it gives me a way to test things without worrying about the pre-existing database state, and it gives me a place to hang future space-use preferences.

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@17 b829dee0-eb3e-11dd-80ed-bda8ba2650cd
Set the min Android version to Cupcake.

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@18 b829dee0-eb3e-11dd-80ed-bda8ba2650cd
Switch some of the URLs used to fetch muni info to the public URLs, and fix a parser failure in predictions when the XML feed contained a <message> tag.

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@19 b829dee0-eb3e-11dd-80ed-bda8ba2650cd
Switch to the XML route list, and remove all cookie-handling code. The new NextMuni interface doesn't need it.

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@20 b829dee0-eb3e-11dd-80ed-bda8ba2650cd
Use the predictions URL instead of predictionsForMultiStops so that NextBus returns all predictions for the stop, not just the routes we know about.

git-svn-id: https://droid-muni.googlecode.com/svn/trunk@21 b829dee0-eb3e-11dd-80ed-bda8ba2650cd