Source code from Google I/O.
- modify GCM into Gradle-like project instead of standard