Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP - Issue #116 - OBA Google Glass GDK #219

Open
wants to merge 42 commits into
base: master
from

Conversation

@barbeau
Copy link
Member

barbeau commented Feb 24, 2015

This is somewhat dated now (most recent work mid-2014), but I wanted to open this as a WIP so it doesn't get lost, and is more visible if someone else wants to contribute to the Glass work.

Options to install an alpha version (this PR contents):

  1. Download the current APK here, and follow these directions to install it on Glass, or...
  2. If you have the Android dev environment setup w/ GDK installed - run gradlew installDebug from root of project using command-line

OBA Glassware is activated by using voice commands "ok glass", then "show me transit times".

show_me_transit_times

It will figure out your region (Puget Sound, Tampa, Atlanta, Washington DC, or York Canada):
finding_your_transit_services

...find the closest bus stop to your real-time location, and then show you the arrival times for that stop:
arrivals_uatc6-arrow

Times are refreshed every minute until you dismiss the Activity by swiping down. You can scroll up/down the list of arrival times by tilting your head up and down. You can pause/resume scrolling the list by long pressing with two fingers on the touch pad. Tapping with two fingers will automatically scroll to the top of the list. The arrow points towards your stop from your current position and orientation (so in the example above, you'd turn to your right a little over 90 degrees to face your stop).

Long-term goal is to get the GDK version of OBA Android merged back into the main project, hopefully using Gradle build flavors and/or project modules (see also work related to Wear in #181). Main differences between the main OBA app project and this PR is that Glass does not support the Google APIs add-on (including maps and GeoPoint object) or Google Play Services, and apparently has poor support for Fragments (hence use of a ListActivity instead of ListFragment). Most of the internal infrastructure for API calls and various utilities are the same, though, and could be shared between projects.

I'd like to get feedback from others for what features they'd like to see, so please let me know what features you think would be useful.

See #116 for more details.

barbeau added 30 commits Mar 13, 2014
…your real-time location. Changed to use ListActivity instead of Fragments, as Fragments don't seem to be well-supported in current GDK. Still need to working on styles.
…quest to execute before regions task finishes, if a region already exists. Added abbreviaton for Downtown.
…ven location to the tasks (helps with spoofing location for testing).
…efactor existing logic in the Service into this Activity, so we no longer need the Service.
…, since the service isn't needed. Add progress messages. Loading arrival times is really slow, need to examine why.
…ly show bus icon after arrival times are obtained.
…ate when a non-production voice trigger is used.
…it times", since this will be the official transit info voice command.
… as a workaround to broken swipe-based scrolling in XE16.X.
…ssed in https://developers.google.com/glass/develop/gdk/ui-widgets#main_layout, including more padding on the edges of cards.  Make the text slightly smaller to fit in new layout dimensions, and truncate route direction so it doesn't run into the arrival time.
…w and arrow into its own centralized OrientationManager. TODO - point arrow to nearest stop location, update distance text.
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'

This comment has been minimized.

Copy link
@cagryInside

This comment has been minimized.

Copy link
@barbeau

barbeau Feb 25, 2015

Author Member

@cagryInside Yes, this (and the Gradle wrapper) likely need to be updated before this will build in the most recent version of Android Studio.

This comment has been minimized.

Copy link
@barbeau

barbeau Feb 25, 2015

Author Member

I'll push an update for this shortly.

Log.d(TAG, "Found stops.");
// Find closest stop
ObaStop closestStop;
closestStop = UIHelp.getClosestStop(this, response.getStops(), mLastKnownLocation);

This comment has been minimized.

Copy link
@cagryInside

cagryInside Feb 25, 2015

Contributor

@barbeau I would use these together:

ObaStop closestStop = UIHelp.getClosestStop(this, response.getStops(), mLastKnownLocation);

This comment has been minimized.

Copy link
@barbeau

barbeau Feb 25, 2015

Author Member

Agreed! Code in this PR isn't my best work :). It's more of a shortest path to get something working on Glass.

@barbeau
Copy link
Member Author

barbeau commented Feb 25, 2015

Thanks for the feedback @cagryInside, just pushed a few commits to fix those items.

@barbeau barbeau added this to the Future milestone Dec 1, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants
You can’t perform that action at this time.