├── LICENSE
├── README.md
├── android-actions
├── README.md
├── begin
│ ├── .gitignore
│ ├── app
│ │ ├── .gitignore
│ │ ├── build.gradle
│ │ ├── libs
│ │ │ └── .gitignore
│ │ ├── proguard-rules.txt
│ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── _DS_Store
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── jarekandshawnmusic
│ │ │ │ └── m
│ │ │ │ ├── ArtistActivity.java
│ │ │ │ ├── MainActivity.java
│ │ │ │ ├── MediaPlayerService.java
│ │ │ │ ├── MyMusicStore.java
│ │ │ │ └── PlaylistFragment.java
│ │ │ └── res
│ │ │ ├── _DS_Store
│ │ │ ├── drawable-hdpi
│ │ │ ├── ic_action_add_to_queue.png
│ │ │ ├── ic_action_full_screen.png
│ │ │ ├── ic_action_next.png
│ │ │ ├── ic_action_pause.png
│ │ │ ├── ic_action_play.png
│ │ │ ├── ic_action_previous.png
│ │ │ ├── ic_action_return_from_full_screen.png
│ │ │ └── ic_launcher.png
│ │ │ ├── drawable-mdpi
│ │ │ ├── ic_action_add_to_queue.png
│ │ │ ├── ic_action_full_screen.png
│ │ │ ├── ic_action_next.png
│ │ │ ├── ic_action_pause.png
│ │ │ ├── ic_action_play.png
│ │ │ ├── ic_action_previous.png
│ │ │ ├── ic_action_return_from_full_screen.png
│ │ │ └── ic_launcher.png
│ │ │ ├── drawable-xhdpi
│ │ │ ├── ic_action_add_to_queue.png
│ │ │ ├── ic_action_full_screen.png
│ │ │ ├── ic_action_next.png
│ │ │ ├── ic_action_pause.png
│ │ │ ├── ic_action_play.png
│ │ │ ├── ic_action_previous.png
│ │ │ ├── ic_action_return_from_full_screen.png
│ │ │ └── ic_launcher.png
│ │ │ ├── drawable-xxhdpi
│ │ │ ├── artist_image_dual_core.jpg
│ │ │ ├── ic_action_add_to_queue.png
│ │ │ ├── ic_action_full_screen.png
│ │ │ ├── ic_action_good.png
│ │ │ ├── ic_action_next.png
│ │ │ ├── ic_action_pause.png
│ │ │ ├── ic_action_play.png
│ │ │ ├── ic_action_previous.png
│ │ │ ├── ic_action_return_from_full_screen.png
│ │ │ └── ic_launcher.png
│ │ │ ├── layout
│ │ │ ├── activity_artist.xml
│ │ │ ├── activity_main.xml
│ │ │ ├── activity_playlist.xml
│ │ │ ├── artist_tile.xml
│ │ │ └── fragment_playlist.xml
│ │ │ ├── raw
│ │ │ ├── dual_core_all_the_things.mp3
│ │ │ └── dual_core_mastering_success_and_failure.mp3
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── dimens.xml
│ │ │ ├── integers.xml
│ │ │ ├── strings.xml
│ │ │ └── themes.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ └── settings.gradle
├── end
│ ├── .gitignore
│ ├── app
│ │ ├── .gitignore
│ │ ├── build.gradle
│ │ ├── libs
│ │ │ └── .gitignore
│ │ ├── proguard-rules.txt
│ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── _DS_Store
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── jarekandshawnmusic
│ │ │ │ └── m
│ │ │ │ ├── ArtistActivity.java
│ │ │ │ ├── MainActivity.java
│ │ │ │ ├── MediaPlayerService.java
│ │ │ │ ├── MyMusicStore.java
│ │ │ │ └── PlaylistFragment.java
│ │ │ └── res
│ │ │ ├── _DS_Store
│ │ │ ├── drawable-hdpi
│ │ │ ├── ic_action_add_to_queue.png
│ │ │ ├── ic_action_full_screen.png
│ │ │ ├── ic_action_next.png
│ │ │ ├── ic_action_pause.png
│ │ │ ├── ic_action_play.png
│ │ │ ├── ic_action_previous.png
│ │ │ ├── ic_action_return_from_full_screen.png
│ │ │ └── ic_launcher.png
│ │ │ ├── drawable-mdpi
│ │ │ ├── ic_action_add_to_queue.png
│ │ │ ├── ic_action_full_screen.png
│ │ │ ├── ic_action_next.png
│ │ │ ├── ic_action_pause.png
│ │ │ ├── ic_action_play.png
│ │ │ ├── ic_action_previous.png
│ │ │ ├── ic_action_return_from_full_screen.png
│ │ │ └── ic_launcher.png
│ │ │ ├── drawable-xhdpi
│ │ │ ├── ic_action_add_to_queue.png
│ │ │ ├── ic_action_full_screen.png
│ │ │ ├── ic_action_next.png
│ │ │ ├── ic_action_pause.png
│ │ │ ├── ic_action_play.png
│ │ │ ├── ic_action_previous.png
│ │ │ ├── ic_action_return_from_full_screen.png
│ │ │ └── ic_launcher.png
│ │ │ ├── drawable-xxhdpi
│ │ │ ├── artist_image_dual_core.jpg
│ │ │ ├── ic_action_add_to_queue.png
│ │ │ ├── ic_action_full_screen.png
│ │ │ ├── ic_action_good.png
│ │ │ ├── ic_action_next.png
│ │ │ ├── ic_action_pause.png
│ │ │ ├── ic_action_play.png
│ │ │ ├── ic_action_previous.png
│ │ │ ├── ic_action_return_from_full_screen.png
│ │ │ └── ic_launcher.png
│ │ │ ├── layout
│ │ │ ├── activity_artist.xml
│ │ │ ├── activity_main.xml
│ │ │ ├── activity_playlist.xml
│ │ │ ├── artist_tile.xml
│ │ │ └── fragment_playlist.xml
│ │ │ ├── raw
│ │ │ ├── dual_core_all_the_things.mp3
│ │ │ └── dual_core_mastering_success_and_failure.mp3
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── dimens.xml
│ │ │ ├── integers.xml
│ │ │ ├── strings.xml
│ │ │ └── themes.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ └── settings.gradle
└── simulator
│ ├── actions-simulator.apk
│ └── actions-simulator
│ ├── README.md
│ ├── app
│ ├── build.gradle
│ ├── lint.xml
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ └── com
│ │ │ └── google
│ │ │ └── developers
│ │ │ └── actions
│ │ │ └── debugger
│ │ │ ├── ActionsListFragment.java
│ │ │ ├── CayleyActivity.java
│ │ │ ├── MainActivity.java
│ │ │ └── util
│ │ │ ├── ActionData.java
│ │ │ ├── CayleyResult.java
│ │ │ └── Utils.java
│ │ └── res
│ │ ├── drawable-hdpi
│ │ ├── ic_av_upload.png
│ │ ├── ic_launcher.png
│ │ ├── ic_voice_search.png
│ │ ├── play_artist.png
│ │ └── play_genre.png
│ │ ├── drawable-mdpi
│ │ ├── ic_av_upload.png
│ │ ├── ic_launcher.png
│ │ ├── ic_mailboxes_accounts.png
│ │ ├── ic_menu_refresh.png
│ │ ├── ic_voice_search.png
│ │ ├── play_artist.png
│ │ └── play_genre.png
│ │ ├── drawable-xhdpi
│ │ ├── ic_av_upload.png
│ │ ├── ic_launcher.png
│ │ ├── ic_menu_refresh.png
│ │ ├── ic_voice_search.png
│ │ ├── list_divider_holo_dark.png
│ │ ├── play_artist.png
│ │ └── play_genre.png
│ │ ├── drawable-xxhdpi
│ │ ├── ic_av_upload.png
│ │ ├── ic_launcher.png
│ │ ├── ic_voice_search.png
│ │ ├── play_artist.png
│ │ └── play_genre.png
│ │ ├── drawable
│ │ ├── cayley_transparent.png
│ │ └── list_divider_horizontal_inset.xml
│ │ ├── layout
│ │ ├── activity_cayley.xml
│ │ ├── activity_main.xml
│ │ ├── list_fragment.xml
│ │ └── list_item.xml
│ │ ├── menu
│ │ ├── activity_main.xml
│ │ └── review.xml
│ │ ├── raw
│ │ └── intents.json
│ │ ├── values-sw600dp-land
│ │ └── refs.xml
│ │ ├── values-sw600dp
│ │ └── dimens.xml
│ │ ├── values-sw720dp-land
│ │ └── dimens.xml
│ │ ├── values-sw720dp
│ │ └── dimens.xml
│ │ └── values
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ ├── build.gradle
│ ├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ └── settings.gradle
├── chrome-apps
├── begin
│ ├── assets
│ │ ├── icon_128.png
│ │ └── icon_16.png
│ ├── background.js
│ ├── index.html
│ ├── main.js
│ ├── manifest.json
│ └── styles.css
└── end
│ ├── assets
│ ├── icon_128.png
│ └── icon_16.png
│ ├── background.js
│ ├── board.js
│ ├── index.html
│ ├── main.js
│ ├── manifest.json
│ └── styles.css
├── dart-start
├── begin
│ ├── pubspec.yaml
│ └── web
│ │ ├── piratebadge.css
│ │ ├── piratebadge.dart
│ │ └── piratebadge.html
├── end
│ ├── pubspec.yaml
│ └── web
│ │ ├── piratebadge.css
│ │ ├── piratebadge.dart
│ │ ├── piratebadge.html
│ │ └── piratenames.json
├── step3
│ ├── pubspec.yaml
│ └── web
│ │ ├── piratebadge.css
│ │ ├── piratebadge.dart
│ │ └── piratebadge.html
├── step4
│ ├── pubspec.yaml
│ └── web
│ │ ├── piratebadge.css
│ │ ├── piratebadge.dart
│ │ └── piratebadge.html
├── step5
│ ├── pubspec.yaml
│ └── web
│ │ ├── piratebadge.css
│ │ ├── piratebadge.dart
│ │ └── piratebadge.html
└── step6
│ ├── pubspec.yaml
│ └── web
│ ├── piratebadge.css
│ ├── piratebadge.dart
│ └── piratebadge.html
├── go-codelab
├── solution
│ ├── app.go
│ ├── app.yaml
│ ├── static
│ └── utils.go
├── static
│ ├── favicon.ico
│ ├── partials
│ │ ├── home.html
│ │ └── list.html
│ ├── todo.css
│ ├── todo.html
│ └── todo.js
├── step1
│ ├── app.go
│ ├── app.yaml
│ ├── static
│ └── utils.go
├── step2
│ ├── app.go
│ ├── app.yaml
│ ├── static
│ └── utils.go
├── step3
│ ├── app.go
│ ├── app.yaml
│ ├── static
│ └── utils.go
├── step4
│ ├── app.go
│ ├── app.yaml
│ ├── static
│ └── utils.go
└── step5
│ ├── app.go
│ ├── app.yaml
│ ├── static
│ └── utils.go
├── instant-buy
└── end
│ ├── .gitignore
│ ├── build.gradle
│ ├── demo.iml
│ ├── demo
│ ├── .gitignore
│ ├── build.gradle
│ ├── demo-demo.iml
│ ├── proguard-rules.txt
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── gen
│ │ └── com
│ │ │ └── google
│ │ │ └── io
│ │ │ └── instantbuy
│ │ │ └── demo
│ │ │ ├── BuildConfig.java
│ │ │ ├── Manifest.java
│ │ │ └── R.java
│ │ ├── java
│ │ └── com
│ │ │ └── google
│ │ │ └── io
│ │ │ └── instantbuy
│ │ │ └── demo
│ │ │ └── MainActivity.java
│ │ ├── main.iml
│ │ └── res
│ │ ├── drawable-hdpi
│ │ └── ic_launcher.png
│ │ ├── drawable-mdpi
│ │ └── ic_launcher.png
│ │ ├── drawable-xhdpi
│ │ └── ic_launcher.png
│ │ ├── drawable-xxhdpi
│ │ └── ic_launcher.png
│ │ ├── layout
│ │ └── activity_main.xml
│ │ ├── menu
│ │ └── main.xml
│ │ ├── values-w820dp
│ │ └── dimens.xml
│ │ └── values
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ ├── gradle.properties
│ ├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ └── settings.gradle
├── mobile-backend-starter
└── begin
│ ├── LICENSE
│ ├── MobileBackend
│ ├── build.gradle
│ ├── libs
│ │ └── gcm-server.jar
│ ├── snippets
│ │ └── BlobEndpoint.java
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── google
│ │ │ └── cloud
│ │ │ └── backend
│ │ │ ├── beans
│ │ │ ├── EntityDto.java
│ │ │ ├── EntityListDto.java
│ │ │ ├── FilterDto.java
│ │ │ └── QueryDto.java
│ │ │ ├── config
│ │ │ ├── BackendConfigManager.java
│ │ │ ├── CloudEndpointsConfigManager.java
│ │ │ ├── ConfigurationServlet.java
│ │ │ ├── StringUtility.java
│ │ │ └── XSRFTokenUtility.java
│ │ │ ├── pushnotification
│ │ │ ├── Configuration.java
│ │ │ ├── DeviceCleanupServlet.java
│ │ │ ├── NotificationCleanupServlet.java
│ │ │ ├── PushFeedbackProcessingServlet.java
│ │ │ ├── Sender.java
│ │ │ ├── Utility.java
│ │ │ ├── Worker.java
│ │ │ └── WorkerServlet.java
│ │ │ └── spi
│ │ │ ├── BlobAccess.java
│ │ │ ├── BlobEndpoint.java
│ │ │ ├── BlobManager.java
│ │ │ ├── BlobMetadata.java
│ │ │ ├── BlobUrl.java
│ │ │ ├── BlobUrlManager.java
│ │ │ ├── CrudOperations.java
│ │ │ ├── DeviceSubscription.java
│ │ │ ├── EndpointV1.java
│ │ │ ├── ImageTransformer.java
│ │ │ ├── ProspectiveSearchServlet.java
│ │ │ ├── QueryOperations.java
│ │ │ ├── QuerySubscriptions.java
│ │ │ ├── SecurityChecker.java
│ │ │ ├── SubscriptionRemovalServlet.java
│ │ │ └── SubscriptionUtility.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── appengine-web.xml
│ │ ├── cron.xml
│ │ ├── datastore-indexes.xml
│ │ ├── logging.properties
│ │ ├── queue.xml
│ │ └── web.xml
│ │ ├── admin
│ │ ├── configure.jsp
│ │ ├── img
│ │ │ └── bg.gif
│ │ └── style.css
│ │ ├── favicon.ico
│ │ └── index.html
│ ├── app
│ ├── .gitignore
│ ├── build.gradle
│ ├── proguard-rules.txt
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ └── com
│ │ │ └── google
│ │ │ └── cloud
│ │ │ └── backend
│ │ │ └── sample
│ │ │ └── guestbook
│ │ │ ├── GuestbookActivity.java
│ │ │ ├── IntroFirstFragment.java
│ │ │ ├── IntroSecondFragment.java
│ │ │ ├── IntroThirdFragment.java
│ │ │ ├── IntroductionActivity.java
│ │ │ ├── OnIntroNavListener.java
│ │ │ ├── PostAdapter.java
│ │ │ └── SplashFragment.java
│ │ └── res
│ │ ├── anim
│ │ └── translate_progress.xml
│ │ ├── drawable-hdpi
│ │ ├── ic_camera.png
│ │ ├── ic_launcher_guestbook.png
│ │ ├── ic_left_arrow.png
│ │ ├── ic_menu_guestbook.png
│ │ ├── ic_right_arrow.png
│ │ ├── ic_send.png
│ │ ├── img_connect.png
│ │ ├── img_done.png
│ │ ├── img_dots_1.png
│ │ ├── img_dots_2.png
│ │ ├── img_dots_3.png
│ │ ├── img_guestbook_splash.png
│ │ └── img_logo_splash.png
│ │ ├── drawable-ldpi
│ │ ├── ic_camera.png
│ │ ├── ic_launcher_guestbook.png
│ │ ├── ic_left_arrow.png
│ │ ├── ic_menu_guestbook.png
│ │ ├── ic_right_arrow.png
│ │ ├── ic_send.png
│ │ ├── img_connect.png
│ │ ├── img_done.png
│ │ ├── img_dots_1.png
│ │ ├── img_dots_2.png
│ │ ├── img_dots_3.png
│ │ ├── img_guestbook_splash.png
│ │ └── img_logo_splash.png
│ │ ├── drawable-mdpi
│ │ ├── ic_camera.png
│ │ ├── ic_launcher_guestbook.png
│ │ ├── ic_left_arrow.png
│ │ ├── ic_menu_guestbook.png
│ │ ├── ic_right_arrow.png
│ │ ├── ic_send.png
│ │ ├── img_connect.png
│ │ ├── img_done.png
│ │ ├── img_dots_1.png
│ │ ├── img_dots_2.png
│ │ ├── img_dots_3.png
│ │ ├── img_guestbook_splash.png
│ │ └── img_logo_splash.png
│ │ ├── drawable-xhdpi
│ │ ├── ic_camera.png
│ │ ├── ic_launcher_guestbook.png
│ │ ├── ic_left_arrow.png
│ │ ├── ic_menu_guestbook.png
│ │ ├── ic_right_arrow.png
│ │ ├── ic_send.png
│ │ ├── img_connect.png
│ │ ├── img_done.png
│ │ ├── img_dots_1.png
│ │ ├── img_dots_2.png
│ │ ├── img_dots_3.png
│ │ ├── img_guestbook_splash.png
│ │ └── img_logo_splash.png
│ │ ├── layout
│ │ ├── activity_introduction.xml
│ │ ├── activity_main.xml
│ │ ├── fragment_intro_first.xml
│ │ ├── fragment_intro_second.xml
│ │ ├── fragment_intro_third.xml
│ │ ├── fragment_splash.xml
│ │ └── row_post.xml
│ │ ├── menu
│ │ ├── activity_main.xml
│ │ └── image_processing.xml
│ │ ├── values-v11
│ │ └── styles.xml
│ │ ├── values-v14
│ │ └── styles.xml
│ │ └── values
│ │ ├── colors.xml
│ │ ├── integers.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── mobile-backend-starter-android-client-core
│ ├── .gitignore
│ ├── build.gradle
│ ├── proguard-rules.txt
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ └── com
│ │ │ └── google
│ │ │ └── cloud
│ │ │ └── backend
│ │ │ ├── GCMBroadcastReceiver.java
│ │ │ ├── GCMIntentService.java
│ │ │ ├── core
│ │ │ ├── CloudBackend.java
│ │ │ ├── CloudBackendAsync.java
│ │ │ ├── CloudBackendFragment.java
│ │ │ ├── CloudBackendMessaging.java
│ │ │ ├── CloudCallbackHandler.java
│ │ │ ├── CloudEndpointUtils.java
│ │ │ ├── CloudEntity.java
│ │ │ ├── CloudQuery.java
│ │ │ ├── Consts.java
│ │ │ └── Filter.java
│ │ │ └── volleyutil
│ │ │ └── BitmapLruCache.java
│ │ └── res
│ │ ├── drawable-hdpi
│ │ └── ic_launcher.png
│ │ ├── drawable-mdpi
│ │ └── ic_launcher.png
│ │ ├── drawable-xhdpi
│ │ └── ic_launcher.png
│ │ ├── drawable-xxhdpi
│ │ └── ic_launcher.png
│ │ └── values
│ │ └── strings.xml
│ └── settings.gradle
├── play-games
├── begin
│ └── Squash
│ │ ├── Squash.iml
│ │ ├── app
│ │ ├── app.iml
│ │ ├── build.gradle
│ │ ├── lint.xml
│ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── google
│ │ │ │ └── example
│ │ │ │ ├── games
│ │ │ │ └── basegameutils
│ │ │ │ │ ├── BaseGameActivity.java
│ │ │ │ │ ├── GameHelper.java
│ │ │ │ │ └── GameHelperUtils.java
│ │ │ │ └── squash
│ │ │ │ ├── Ball.java
│ │ │ │ ├── ParseDeepLinkActivity.java
│ │ │ │ ├── SquashActivity.java
│ │ │ │ └── SquashView.java
│ │ │ └── res
│ │ │ ├── drawable-hdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── drawable-mdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── drawable-xhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── drawable-xxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── layout
│ │ │ └── activity_squash.xml
│ │ │ ├── menu
│ │ │ └── squash.xml
│ │ │ ├── values-sw600dp
│ │ │ └── dimens.xml
│ │ │ ├── values-sw720dp-land
│ │ │ └── dimens.xml
│ │ │ ├── values-v14
│ │ │ └── styles.xml
│ │ │ └── values
│ │ │ ├── dimens.xml
│ │ │ ├── gamehelper_strings.xml
│ │ │ ├── ids.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ ├── build.gradle
│ │ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── import-summary.txt
│ │ ├── local.properties
│ │ └── settings.gradle
└── end
│ └── Squash
│ ├── Squash-Complete.iml
│ ├── Squash.iml
│ ├── app
│ ├── app.iml
│ ├── build.gradle
│ ├── lint.xml
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ └── com
│ │ │ └── google
│ │ │ └── example
│ │ │ ├── games
│ │ │ └── basegameutils
│ │ │ │ ├── BaseGameActivity.java
│ │ │ │ ├── GameHelper.java
│ │ │ │ └── GameHelperUtils.java
│ │ │ └── squash
│ │ │ ├── Ball.java
│ │ │ ├── ParseDeepLinkActivity.java
│ │ │ ├── SquashActivity.java
│ │ │ └── SquashView.java
│ │ └── res
│ │ ├── drawable-hdpi
│ │ └── ic_launcher.png
│ │ ├── drawable-mdpi
│ │ └── ic_launcher.png
│ │ ├── drawable-xhdpi
│ │ └── ic_launcher.png
│ │ ├── drawable-xxhdpi
│ │ └── ic_launcher.png
│ │ ├── layout
│ │ └── activity_squash.xml
│ │ ├── menu
│ │ └── squash.xml
│ │ ├── values-sw600dp
│ │ └── dimens.xml
│ │ ├── values-sw720dp-land
│ │ └── dimens.xml
│ │ ├── values-v14
│ │ └── styles.xml
│ │ └── values
│ │ ├── dimens.xml
│ │ ├── gamehelper_strings.xml
│ │ ├── ids.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ ├── build.gradle
│ ├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── import-summary.txt
│ ├── local.properties
│ └── settings.gradle
├── polymer-and-dart
├── .gitignore
├── build.dart
├── pubspec.lock
├── pubspec.yaml
└── web
│ ├── begin
│ ├── app.css
│ ├── codelab_element.dart
│ ├── codelab_element.html
│ ├── codelab_form.dart
│ ├── codelab_form.html
│ ├── codelab_list.dart
│ ├── codelab_list.html
│ ├── index.html
│ └── model.dart
│ └── end
│ ├── app.css
│ ├── codelab_element.dart
│ ├── codelab_element.html
│ ├── codelab_form.dart
│ ├── codelab_form.html
│ ├── codelab_list.dart
│ ├── codelab_list.html
│ ├── index.html
│ └── model.dart
├── polymer-build-mobile
├── README
├── begin
│ ├── bower.json
│ ├── index.html
│ └── styles.css
├── end
│ ├── bower.json
│ ├── codelab-app.html
│ ├── index.html
│ └── styles.css
├── step2
│ ├── bower.json
│ ├── codelab-app.html
│ ├── index.html
│ └── styles.css
├── step3
│ ├── bower.json
│ ├── codelab-app.html
│ ├── index.html
│ └── styles.css
├── step4
│ ├── bower.json
│ ├── codelab-app.html
│ ├── index.html
│ └── styles.css
├── step5
│ ├── bower.json
│ ├── codelab-app.html
│ ├── index.html
│ └── styles.css
├── step6
│ ├── bower.json
│ ├── codelab-app.html
│ ├── index.html
│ └── styles.css
├── step7
│ ├── bower.json
│ ├── codelab-app.html
│ ├── index.html
│ └── styles.css
└── step8
│ ├── bower.json
│ ├── codelab-app.html
│ ├── index.html
│ └── styles.css
├── wallet-objects
└── end
│ └── wallet-objects
│ ├── app
│ ├── .gitignore
│ ├── app.iml
│ ├── build.gradle
│ ├── proguard-rules.txt
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ └── com
│ │ │ └── google
│ │ │ └── io
│ │ │ └── wallet
│ │ │ └── objects
│ │ │ └── demo
│ │ │ └── MainActivity.java
│ │ └── res
│ │ ├── drawable-hdpi
│ │ ├── ic_launcher.png
│ │ ├── wallet_button_background_enabled.9.png
│ │ └── wallet_button_save_to_foreground_enabled.png
│ │ ├── drawable-mdpi
│ │ └── ic_launcher.png
│ │ ├── drawable-xhdpi
│ │ └── ic_launcher.png
│ │ ├── drawable-xxhdpi
│ │ └── ic_launcher.png
│ │ ├── layout
│ │ └── activity_main.xml
│ │ ├── menu
│ │ └── main.xml
│ │ ├── values-w820dp
│ │ └── dimens.xml
│ │ └── values
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── local.properties
│ ├── settings.gradle
│ └── wallet-objects-io.iml
└── webrtc-file-sharing
├── begin
└── index.html
├── js
└── lib
│ └── adapter.js
├── server.js
├── step2
├── index.html
└── js
│ └── main.js
├── step3
├── index.html
└── js
│ ├── lib
│ └── adapter.js
│ └── main.js
├── step4
├── index.html
└── js
│ ├── lib
│ └── adapter.js
│ └── main.js
├── step5
├── index.html
├── js
│ ├── lib
│ │ └── adapter.js
│ └── main.js
└── server.js
├── step6
├── index.html
├── js
│ ├── lib
│ │ └── adapter.js
│ └── main.js
└── server.js
└── step7
├── css
└── main.css
├── index.html
├── js
├── lib
│ └── adapter.js
└── main.js
└── server.js
/README.md:
--------------------------------------------------------------------------------
1 | Google I/O 2014 Codelab Source Code
2 | =============
3 |
4 | This is the beginning and solution code for the Google I/O 2014 Codelabs. A
5 | separate subdirectory is defined for each codelab. Navigate
6 | [here](https://io2014codelabs.appspot.com/) for instructions on how to complete
7 | the codelabs or navigate to the codelabs /end directory for finished sample code.
8 |
9 | If you believe a codelab has a bug please file it on the
10 | [issues page](https://github.com/googlesamples/io2014-codelabs/issues)
11 |
--------------------------------------------------------------------------------
/android-actions/begin/.gitignore:
--------------------------------------------------------------------------------
1 | lt application files
2 | *.apk
3 | *.ap_
4 |
5 | # files for the dex VM
6 | *.dex
7 |
8 | # Java class files
9 | *.class
10 |
11 | # generated files
12 | bin/
13 | gen/
14 | out/
15 | build/
16 |
17 | # Local configuration file (sdk path, etc)
18 | local.properties
19 |
20 | # Eclipse project files
21 | .classpath
22 | .project
23 |
24 | # Windows thumbnail db
25 | .DS_Store
26 |
27 | # IDEA/Android Studio project files, because
28 | # the project can be imported from settings.gradle
29 | .idea
30 | *.iml
31 |
32 | # Old-style IDEA project files
33 | *.ipr
34 | *.iws
35 |
36 | # Local IDEA workspace
37 | .idea/workspace.xml
38 |
39 | # Gradle cache
40 | .gradle
41 |
42 | # Sandbox stuff
43 | _sandbox
44 |
--------------------------------------------------------------------------------
/android-actions/begin/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/android-actions/begin/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'android'
2 |
3 | android {
4 | compileSdkVersion 19
5 | buildToolsVersion '19.1.0'
6 | defaultConfig {
7 | minSdkVersion 10
8 | targetSdkVersion 19
9 | versionCode 1
10 | versionName '1.0'
11 | }
12 | buildTypes {
13 | release {
14 | runProguard false
15 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
16 | }
17 | }
18 | productFlavors {
19 | }
20 | }
21 |
22 | dependencies {
23 | compile 'com.android.support:appcompat-v7:19.+'
24 | }
25 |
--------------------------------------------------------------------------------
/android-actions/begin/app/libs/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/libs/.gitignore
--------------------------------------------------------------------------------
/android-actions/begin/app/proguard-rules.txt:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Applications/Android Studio.app/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the ProGuard
5 | # include property in project.properties.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/_DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/_DS_Store
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/_DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/_DS_Store
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-hdpi/ic_action_add_to_queue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-hdpi/ic_action_add_to_queue.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-hdpi/ic_action_full_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-hdpi/ic_action_full_screen.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-hdpi/ic_action_next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-hdpi/ic_action_next.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-hdpi/ic_action_pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-hdpi/ic_action_pause.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-hdpi/ic_action_play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-hdpi/ic_action_play.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-hdpi/ic_action_previous.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-hdpi/ic_action_previous.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-hdpi/ic_action_return_from_full_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-hdpi/ic_action_return_from_full_screen.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-mdpi/ic_action_add_to_queue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-mdpi/ic_action_add_to_queue.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-mdpi/ic_action_full_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-mdpi/ic_action_full_screen.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-mdpi/ic_action_next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-mdpi/ic_action_next.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-mdpi/ic_action_pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-mdpi/ic_action_pause.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-mdpi/ic_action_play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-mdpi/ic_action_play.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-mdpi/ic_action_previous.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-mdpi/ic_action_previous.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-mdpi/ic_action_return_from_full_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-mdpi/ic_action_return_from_full_screen.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-xhdpi/ic_action_add_to_queue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-xhdpi/ic_action_add_to_queue.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-xhdpi/ic_action_full_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-xhdpi/ic_action_full_screen.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-xhdpi/ic_action_next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-xhdpi/ic_action_next.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-xhdpi/ic_action_pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-xhdpi/ic_action_pause.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-xhdpi/ic_action_play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-xhdpi/ic_action_play.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-xhdpi/ic_action_previous.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-xhdpi/ic_action_previous.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-xhdpi/ic_action_return_from_full_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-xhdpi/ic_action_return_from_full_screen.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-xxhdpi/artist_image_dual_core.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-xxhdpi/artist_image_dual_core.jpg
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-xxhdpi/ic_action_add_to_queue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-xxhdpi/ic_action_add_to_queue.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-xxhdpi/ic_action_full_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-xxhdpi/ic_action_full_screen.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-xxhdpi/ic_action_good.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-xxhdpi/ic_action_good.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-xxhdpi/ic_action_next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-xxhdpi/ic_action_next.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-xxhdpi/ic_action_pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-xxhdpi/ic_action_pause.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-xxhdpi/ic_action_play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-xxhdpi/ic_action_play.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-xxhdpi/ic_action_previous.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-xxhdpi/ic_action_previous.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-xxhdpi/ic_action_return_from_full_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-xxhdpi/ic_action_return_from_full_screen.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
14 |
15 |
27 |
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/layout/artist_tile.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
12 |
22 |
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/raw/dual_core_all_the_things.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/raw/dual_core_all_the_things.mp3
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/raw/dual_core_mastering_success_and_failure.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/app/src/main/res/raw/dual_core_mastering_success_and_failure.mp3
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #C00
4 |
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/values/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4
4 | 50
5 |
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Jarek & Shawn Music
4 | @string/app_name
5 | Dual Core
6 | Brought together by the power of the internet (and perhaps a touch of musical providence), California based computer programmer / rapper int eighty and English web designer / music producer c64 have been rocking the more studious side of the hip hop underground since 2007.
7 | http://jarekandshawnmusic.com/artist/DualCore
8 |
9 |
--------------------------------------------------------------------------------
/android-actions/begin/app/src/main/res/values/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
12 |
13 |
20 |
--------------------------------------------------------------------------------
/android-actions/begin/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | mavenCentral()
6 | }
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:0.12.+'
9 | }
10 | }
11 |
12 | allprojects {
13 | repositories {
14 | mavenCentral()
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/android-actions/begin/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Settings specified in this file will override any Gradle settings
5 | # configured through the IDE.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m
13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
14 |
15 | # When configured, Gradle will run in incubating parallel mode.
16 | # This option should only be used with decoupled projects. More details, visit
17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
18 | # org.gradle.parallel=true
--------------------------------------------------------------------------------
/android-actions/begin/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/begin/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/android-actions/begin/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Sat Jun 14 22:51:48 EDT 2014
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-all.zip
7 |
--------------------------------------------------------------------------------
/android-actions/begin/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/android-actions/end/.gitignore:
--------------------------------------------------------------------------------
1 | lt application files
2 | *.apk
3 | *.ap_
4 |
5 | # files for the dex VM
6 | *.dex
7 |
8 | # Java class files
9 | *.class
10 |
11 | # generated files
12 | bin/
13 | gen/
14 | out/
15 | build/
16 |
17 | # Local configuration file (sdk path, etc)
18 | local.properties
19 |
20 | # Eclipse project files
21 | .classpath
22 | .project
23 |
24 | # Windows thumbnail db
25 | .DS_Store
26 |
27 | # IDEA/Android Studio project files, because
28 | # the project can be imported from settings.gradle
29 | .idea
30 | *.iml
31 |
32 | # Old-style IDEA project files
33 | *.ipr
34 | *.iws
35 |
36 | # Local IDEA workspace
37 | .idea/workspace.xml
38 |
39 | # Gradle cache
40 | .gradle
41 |
42 | # Sandbox stuff
43 | _sandbox
44 |
--------------------------------------------------------------------------------
/android-actions/end/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/android-actions/end/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'android'
2 |
3 | android {
4 | compileSdkVersion 19
5 | buildToolsVersion '19.1.0'
6 | defaultConfig {
7 | minSdkVersion 10
8 | targetSdkVersion 19
9 | versionCode 1
10 | versionName '1.0'
11 | }
12 | buildTypes {
13 | release {
14 | runProguard false
15 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
16 | }
17 | }
18 | productFlavors {
19 | }
20 | }
21 |
22 | dependencies {
23 | compile 'com.android.support:appcompat-v7:19.+'
24 | compile 'com.google.android.gms:play-services:5.+'
25 | }
26 |
--------------------------------------------------------------------------------
/android-actions/end/app/libs/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/libs/.gitignore
--------------------------------------------------------------------------------
/android-actions/end/app/proguard-rules.txt:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Applications/Android Studio.app/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the ProGuard
5 | # include property in project.properties.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/_DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/_DS_Store
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/_DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/_DS_Store
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-hdpi/ic_action_add_to_queue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-hdpi/ic_action_add_to_queue.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-hdpi/ic_action_full_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-hdpi/ic_action_full_screen.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-hdpi/ic_action_next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-hdpi/ic_action_next.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-hdpi/ic_action_pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-hdpi/ic_action_pause.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-hdpi/ic_action_play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-hdpi/ic_action_play.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-hdpi/ic_action_previous.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-hdpi/ic_action_previous.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-hdpi/ic_action_return_from_full_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-hdpi/ic_action_return_from_full_screen.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-mdpi/ic_action_add_to_queue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-mdpi/ic_action_add_to_queue.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-mdpi/ic_action_full_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-mdpi/ic_action_full_screen.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-mdpi/ic_action_next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-mdpi/ic_action_next.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-mdpi/ic_action_pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-mdpi/ic_action_pause.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-mdpi/ic_action_play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-mdpi/ic_action_play.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-mdpi/ic_action_previous.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-mdpi/ic_action_previous.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-mdpi/ic_action_return_from_full_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-mdpi/ic_action_return_from_full_screen.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-xhdpi/ic_action_add_to_queue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-xhdpi/ic_action_add_to_queue.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-xhdpi/ic_action_full_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-xhdpi/ic_action_full_screen.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-xhdpi/ic_action_next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-xhdpi/ic_action_next.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-xhdpi/ic_action_pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-xhdpi/ic_action_pause.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-xhdpi/ic_action_play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-xhdpi/ic_action_play.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-xhdpi/ic_action_previous.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-xhdpi/ic_action_previous.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-xhdpi/ic_action_return_from_full_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-xhdpi/ic_action_return_from_full_screen.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-xxhdpi/artist_image_dual_core.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-xxhdpi/artist_image_dual_core.jpg
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-xxhdpi/ic_action_add_to_queue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-xxhdpi/ic_action_add_to_queue.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-xxhdpi/ic_action_full_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-xxhdpi/ic_action_full_screen.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-xxhdpi/ic_action_good.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-xxhdpi/ic_action_good.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-xxhdpi/ic_action_next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-xxhdpi/ic_action_next.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-xxhdpi/ic_action_pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-xxhdpi/ic_action_pause.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-xxhdpi/ic_action_play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-xxhdpi/ic_action_play.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-xxhdpi/ic_action_previous.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-xxhdpi/ic_action_previous.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-xxhdpi/ic_action_return_from_full_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-xxhdpi/ic_action_return_from_full_screen.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
14 |
15 |
27 |
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/layout/artist_tile.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
12 |
22 |
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/raw/dual_core_all_the_things.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/raw/dual_core_all_the_things.mp3
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/raw/dual_core_mastering_success_and_failure.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/app/src/main/res/raw/dual_core_mastering_success_and_failure.mp3
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #C00
4 |
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/values/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4
4 | 50
5 |
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Jarek & Shawn Music
4 | @string/app_name
5 | Dual Core
6 | Brought together by the power of the internet (and perhaps a touch of musical providence), California based computer programmer / rapper int eighty and English web designer / music producer c64 have been rocking the more studious side of the hip hop underground since 2007.
7 | http://jarekandshawnmusic.com/artist/DualCore
8 |
9 |
--------------------------------------------------------------------------------
/android-actions/end/app/src/main/res/values/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
12 |
13 |
20 |
--------------------------------------------------------------------------------
/android-actions/end/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | mavenCentral()
6 | }
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:0.12.+'
9 | }
10 | }
11 |
12 | allprojects {
13 | repositories {
14 | mavenCentral()
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/android-actions/end/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Settings specified in this file will override any Gradle settings
5 | # configured through the IDE.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m
13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
14 |
15 | # When configured, Gradle will run in incubating parallel mode.
16 | # This option should only be used with decoupled projects. More details, visit
17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
18 | # org.gradle.parallel=true
--------------------------------------------------------------------------------
/android-actions/end/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/end/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/android-actions/end/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Sat Jun 14 22:51:48 EDT 2014
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-all.zip
7 |
--------------------------------------------------------------------------------
/android-actions/end/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator.apk
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/README.md:
--------------------------------------------------------------------------------
1 | Actions Simulator
2 | ===========
3 |
4 | The code is a reference implemention to simulate Google Search Actions. It gets a deeplink to a
5 | handler app through a Cayley instance and fires the appropriate intent to play the music from
6 | requested artist/genre.
7 |
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'android'
2 |
3 | android {
4 | compileSdkVersion 19
5 | buildToolsVersion "19.1.0"
6 |
7 | defaultConfig {
8 | applicationId "com.google.developers.actions.debugger"
9 | minSdkVersion 16
10 | targetSdkVersion 19
11 | }
12 |
13 | buildTypes {
14 | release {
15 | runProguard false
16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
17 | }
18 | }
19 | }
20 |
21 | dependencies {
22 | compile 'com.google.code.gson:gson:2.2.4'
23 | compile 'org.apache.commons:commons-lang3:3.3.2'
24 | compile 'com.android.support:support-v13:+'
25 | }
26 |
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-hdpi/ic_av_upload.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-hdpi/ic_av_upload.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-hdpi/ic_voice_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-hdpi/ic_voice_search.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-hdpi/play_artist.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-hdpi/play_artist.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-hdpi/play_genre.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-hdpi/play_genre.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-mdpi/ic_av_upload.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-mdpi/ic_av_upload.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-mdpi/ic_mailboxes_accounts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-mdpi/ic_mailboxes_accounts.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-mdpi/ic_menu_refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-mdpi/ic_menu_refresh.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-mdpi/ic_voice_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-mdpi/ic_voice_search.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-mdpi/play_artist.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-mdpi/play_artist.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-mdpi/play_genre.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-mdpi/play_genre.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xhdpi/ic_av_upload.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xhdpi/ic_av_upload.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xhdpi/ic_menu_refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xhdpi/ic_menu_refresh.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xhdpi/ic_voice_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xhdpi/ic_voice_search.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xhdpi/list_divider_holo_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xhdpi/list_divider_holo_dark.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xhdpi/play_artist.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xhdpi/play_artist.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xhdpi/play_genre.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xhdpi/play_genre.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xxhdpi/ic_av_upload.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xxhdpi/ic_av_upload.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xxhdpi/ic_voice_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xxhdpi/ic_voice_search.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xxhdpi/play_artist.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xxhdpi/play_artist.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xxhdpi/play_genre.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable-xxhdpi/play_genre.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable/cayley_transparent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/app/src/main/res/drawable/cayley_transparent.png
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/drawable/list_divider_horizontal_inset.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
23 |
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/menu/activity_main.xml:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/menu/review.xml:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/raw/intents.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "mActionType":"PLAY_ARTIST",
4 | "mAction":"android.media.action.MEDIA_PLAY_FROM_SEARCH",
5 | "mActionExtras":[
6 | {
7 | "first":"query",
8 | "second":"Nerdcore"
9 | }
10 | ]
11 | },
12 | {
13 | "mActionType":"PLAY_GENRE",
14 | "mAction":"android.media.action.MEDIA_PLAY_FROM_SEARCH",
15 | "mActionExtras":[
16 | {
17 | "first":"query",
18 | "second":"Dual Core"
19 | }
20 | ]
21 | }
22 | ]
23 |
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/values-sw600dp-land/refs.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 | -
7 | @layout/activity_main
8 |
9 |
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/values-sw600dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 96dp
4 | 400dp
5 | 16dp
6 | 80dp
7 |
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/values-sw720dp-land/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 128dp
8 |
9 |
10 |
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/values-sw720dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 80dp
4 | 48dp
5 | 200dp
6 | 8dp
7 | 16dp
8 |
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 | 80dp
17 | 48dp
18 | 200dp
19 | 8dp
20 | 16dp
21 | 16dp
22 | 16dp
23 |
24 |
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 | buildscript {
3 | repositories {
4 | mavenCentral()
5 | }
6 | dependencies {
7 | classpath 'com.android.tools.build:gradle:0.11.+'
8 | }
9 | }
10 |
11 | allprojects {
12 | repositories {
13 | mavenCentral()
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/android-actions/simulator/actions-simulator/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Apr 10 15:27:10 PDT 2013
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-all.zip
7 |
--------------------------------------------------------------------------------
/android-actions/simulator/actions-simulator/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/chrome-apps/begin/assets/icon_128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/chrome-apps/begin/assets/icon_128.png
--------------------------------------------------------------------------------
/chrome-apps/begin/assets/icon_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/chrome-apps/begin/assets/icon_16.png
--------------------------------------------------------------------------------
/chrome-apps/begin/background.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Listens for the app launching then creates the window.
3 | *
4 | * @see http://developer.chrome.com/apps/app.runtime.html
5 | * @see http://developer.chrome.com/apps/app.window.html
6 | */
7 | chrome.app.runtime.onLaunched.addListener(function() {
8 | chrome.app.window.create(
9 | "index.html",
10 | {
11 | id: "mainWindow",
12 | bounds: {
13 | width: 500,
14 | height: 300
15 | }
16 | }
17 | );
18 | });
19 |
--------------------------------------------------------------------------------
/chrome-apps/begin/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | TicTacToe
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/chrome-apps/begin/main.js:
--------------------------------------------------------------------------------
1 | var greeting = document.querySelector('#greeting');
2 | greeting.innerText = "Hello, World!";
3 |
--------------------------------------------------------------------------------
/chrome-apps/begin/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "manifest_version": 2,
3 | "name": "TicTacToe",
4 | "description": "",
5 | "version": "0.0.1",
6 | "minimum_chrome_version": "23",
7 | "icons": {
8 | "16": "assets/icon_16.png",
9 | "128": "assets/icon_128.png"
10 | },
11 | "app": {
12 | "background": {
13 | "scripts": ["background.js"]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/chrome-apps/begin/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | background-color: #F8F8F8;
3 | font-family: 'Open Sans', sans-serif;
4 | font-size: 14px;
5 | margin: 15px;
6 | }
7 |
--------------------------------------------------------------------------------
/chrome-apps/end/assets/icon_128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/chrome-apps/end/assets/icon_128.png
--------------------------------------------------------------------------------
/chrome-apps/end/assets/icon_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/chrome-apps/end/assets/icon_16.png
--------------------------------------------------------------------------------
/chrome-apps/end/background.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Listens for the app launching then creates the window.
3 | *
4 | * @see http://developer.chrome.com/apps/app.runtime.html
5 | * @see http://developer.chrome.com/apps/app.window.html
6 | */
7 | chrome.app.runtime.onLaunched.addListener(function() {
8 | chrome.app.window.create(
9 | "index.html",
10 | {
11 | id: "mainWindow",
12 | bounds: {
13 | width: 500,
14 | height: 300
15 | }
16 | }
17 | );
18 | });
19 |
--------------------------------------------------------------------------------
/chrome-apps/end/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 | TicTacToe
8 |
9 |
10 |
11 |
12 |
13 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/chrome-apps/end/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "manifest_version": 2,
3 | "name": "TicTacToe",
4 | "description": "",
5 | "version": "0.0.1",
6 | "minimum_chrome_version": "23",
7 | "icons": {
8 | "16": "assets/icon_16.png",
9 | "128": "assets/icon_128.png"
10 | },
11 | "app": {
12 | "background": {
13 | "scripts": ["background.js"]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/dart-start/begin/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: avast_ye_pirates
2 | description: Write a Dart web app code lab
3 | dependencies:
4 | browser: any
5 |
--------------------------------------------------------------------------------
/dart-start/begin/web/piratebadge.dart:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 | // for details. All rights reserved. Use of this source code is governed by a
3 | // BSD-style license that can be found in the LICENSE file.
4 |
5 | void main() {
6 | // Your app starts here.
7 | }
8 |
--------------------------------------------------------------------------------
/dart-start/begin/web/piratebadge.html:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Pirate badge
12 |
14 |
15 |
16 |
17 | Pirate badge
18 |
19 |
20 | TO DO: Put the UI widgets here.
21 |
22 |
23 |
24 | Arrr! Me name is
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/dart-start/end/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: avast_ye_pirates
2 | description: Write a Dart web app code lab
3 | dependencies:
4 | browser: any
5 |
--------------------------------------------------------------------------------
/dart-start/end/web/piratenames.json:
--------------------------------------------------------------------------------
1 | { "names": [ "Anne", "Bette", "Cate", "Dawn",
2 | "Elise", "Faye", "Ginger", "Harriot",
3 | "Izzy", "Jane", "Kaye", "Liz",
4 | "Maria", "Nell", "Olive", "Pat",
5 | "Queenie", "Rae", "Sal", "Tam",
6 | "Uma", "Violet", "Wilma", "Xana",
7 | "Yvonne", "Zelda",
8 | "Abe", "Billy", "Caleb", "Davie",
9 | "Eb", "Frank", "Gabe", "House",
10 | "Icarus", "Jack", "Kurt", "Larry",
11 | "Mike", "Nolan", "Oliver", "Pat",
12 | "Quib", "Roy", "Sal", "Tom",
13 | "Ube", "Val", "Walt", "Xavier",
14 | "Yvan", "Zeb"],
15 | "appellations": [ "Awesome", "Captain",
16 | "Even", "Fighter", "Great", "Hearty",
17 | "Jackal", "King", "Lord",
18 | "Mighty", "Noble", "Old", "Powerful",
19 | "Quick", "Red", "Stalwart", "Tank",
20 | "Ultimate", "Vicious", "Wily", "aXe", "Young",
21 | "Brave", "Eager",
22 | "Kind", "Sandy",
23 | "Xeric", "Yellow", "Zesty"]}
24 |
--------------------------------------------------------------------------------
/dart-start/step3/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: avast_ye_pirates
2 | description: Write a Dart web app code lab
3 | dependencies:
4 | browser: any
5 |
--------------------------------------------------------------------------------
/dart-start/step3/web/piratebadge.dart:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 | // for details. All rights reserved. Use of this source code is governed by a
3 | // BSD-style license that can be found in the LICENSE file.
4 |
5 | import 'dart:html';
6 |
7 | void main() {
8 | querySelector('#inputName').onInput.listen(updateBadge);
9 | }
10 |
11 | void updateBadge(Event e) {
12 | querySelector('#badgeName').text = (e.target as InputElement).value;
13 | }
14 |
--------------------------------------------------------------------------------
/dart-start/step3/web/piratebadge.html:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Pirate badge
12 |
14 |
15 |
16 |
17 | Pirate badge
18 |
19 |
24 |
25 |
26 | Arrr! Me name is
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/dart-start/step4/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: avast_ye_pirates
2 | description: Write a Dart web app code lab
3 | dependencies:
4 | browser: any
5 |
--------------------------------------------------------------------------------
/dart-start/step4/web/piratebadge.dart:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 | // for details. All rights reserved. Use of this source code is governed by a
3 | // BSD-style license that can be found in the LICENSE file.
4 |
5 | import 'dart:html';
6 |
7 | ButtonElement genButton;
8 |
9 | void main() {
10 | querySelector('#inputName').onInput.listen(updateBadge);
11 | genButton = querySelector('#generateButton');
12 | genButton.onClick.listen(generateBadge);
13 | }
14 |
15 | void updateBadge(Event e) {
16 | String inputName = (e.target as InputElement).value;
17 |
18 | setBadgeName(inputName);
19 | if (inputName.trim().isEmpty) {
20 | genButton..disabled = false
21 | ..text = 'Aye! Gimme a name!';
22 | } else {
23 | genButton..disabled = true
24 | ..text = 'Arrr! Write yer name!';
25 | }
26 | }
27 |
28 | void generateBadge(Event e) {
29 | setBadgeName('Anne Bonney');
30 | }
31 |
32 | void setBadgeName(String newName) {
33 | querySelector('#badgeName').text = newName;
34 | }
35 |
--------------------------------------------------------------------------------
/dart-start/step4/web/piratebadge.html:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Pirate badge
12 |
14 |
15 |
16 |
17 | Pirate badge
18 |
19 |
27 |
28 |
29 | Arrr! Me name is
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/dart-start/step5/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: avast_ye_pirates
2 | description: Write a Dart web app code lab
3 | dependencies:
4 | browser: any
5 |
--------------------------------------------------------------------------------
/dart-start/step5/web/piratebadge.html:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Pirate badge
12 |
14 |
15 |
16 |
17 | Pirate badge
18 |
19 |
27 |
28 |
29 | Arrr! Me name is
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/dart-start/step6/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: avast_ye_pirates
2 | description: Write a Dart web app code lab
3 | dependencies:
4 | browser: any
5 |
--------------------------------------------------------------------------------
/go-codelab/solution/app.yaml:
--------------------------------------------------------------------------------
1 | # Copyright 2011 The Go Authors. All rights reserved.
2 | # Use of this source code is governed by a BSD-style
3 | # license that can be found in the LICENSE file.
4 |
5 | application: go-at-io
6 | version: solution
7 | runtime: go
8 | api_version: go1
9 |
10 | handlers:
11 | - url: /static
12 | static_dir: static
13 | - url: /favicon.ico
14 | static_files: static/favicon.ico
15 | upload: static/favicon.ico
16 | - url: /api/.*
17 | script: _go_app
18 | - url: /.*
19 | static_files: static/todo.html
20 | upload: static/todo.html
21 |
--------------------------------------------------------------------------------
/go-codelab/solution/static:
--------------------------------------------------------------------------------
1 | ../static
--------------------------------------------------------------------------------
/go-codelab/static/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/go-codelab/static/favicon.ico
--------------------------------------------------------------------------------
/go-codelab/static/partials/home.html:
--------------------------------------------------------------------------------
1 |
2 | All the
3 | Yourlists
4 |
9 |
10 |
14 |
--------------------------------------------------------------------------------
/go-codelab/static/partials/list.html:
--------------------------------------------------------------------------------
1 | {{list.Name}}
2 |
3 |
4 | -
5 | {{t.Text}}
6 |
7 |
8 |
9 |
13 |
16 |
17 | Back home
18 |
--------------------------------------------------------------------------------
/go-codelab/step1/app.yaml:
--------------------------------------------------------------------------------
1 | # Copyright 2011 The Go Authors. All rights reserved.
2 | # Use of this source code is governed by a BSD-style
3 | # license that can be found in the LICENSE file.
4 |
5 | application: go-at-io
6 | version: one
7 | runtime: go
8 | api_version: go1
9 |
10 | handlers:
11 | - url: /static
12 | static_dir: static
13 | - url: /favicon.ico
14 | static_files: static/favicon.ico
15 | upload: static/favicon.ico
16 | - url: /api/.*
17 | script: _go_app
18 | - url: /.*
19 | static_files: static/todo.html
20 | upload: static/todo.html
21 |
--------------------------------------------------------------------------------
/go-codelab/step1/static:
--------------------------------------------------------------------------------
1 | ../static
--------------------------------------------------------------------------------
/go-codelab/step2/app.yaml:
--------------------------------------------------------------------------------
1 | # Copyright 2011 The Go Authors. All rights reserved.
2 | # Use of this source code is governed by a BSD-style
3 | # license that can be found in the LICENSE file.
4 |
5 | application: go-at-io
6 | version: two
7 | runtime: go
8 | api_version: go1
9 |
10 | handlers:
11 | - url: /static
12 | static_dir: static
13 | - url: /favicon.ico
14 | static_files: static/favicon.ico
15 | upload: static/favicon.ico
16 | - url: /api/.*
17 | script: _go_app
18 | - url: /.*
19 | static_files: static/todo.html
20 | upload: static/todo.html
21 |
--------------------------------------------------------------------------------
/go-codelab/step2/static:
--------------------------------------------------------------------------------
1 | ../static
--------------------------------------------------------------------------------
/go-codelab/step3/app.yaml:
--------------------------------------------------------------------------------
1 | # Copyright 2011 The Go Authors. All rights reserved.
2 | # Use of this source code is governed by a BSD-style
3 | # license that can be found in the LICENSE file.
4 |
5 | application: go-at-io
6 | version: three
7 | runtime: go
8 | api_version: go1
9 |
10 | handlers:
11 | - url: /static
12 | static_dir: static
13 | - url: /favicon.ico
14 | static_files: static/favicon.ico
15 | upload: static/favicon.ico
16 | - url: /api/.*
17 | script: _go_app
18 | - url: /.*
19 | static_files: static/todo.html
20 | upload: static/todo.html
21 |
--------------------------------------------------------------------------------
/go-codelab/step3/static:
--------------------------------------------------------------------------------
1 | ../static
--------------------------------------------------------------------------------
/go-codelab/step4/app.yaml:
--------------------------------------------------------------------------------
1 | # Copyright 2011 The Go Authors. All rights reserved.
2 | # Use of this source code is governed by a BSD-style
3 | # license that can be found in the LICENSE file.
4 |
5 | application: go-at-io
6 | version: four
7 | runtime: go
8 | api_version: go1
9 |
10 | handlers:
11 | - url: /static
12 | static_dir: static
13 | - url: /favicon.ico
14 | static_files: static/favicon.ico
15 | upload: static/favicon.ico
16 | - url: /api/.*
17 | script: _go_app
18 | - url: /.*
19 | static_files: static/todo.html
20 | upload: static/todo.html
21 |
--------------------------------------------------------------------------------
/go-codelab/step4/static:
--------------------------------------------------------------------------------
1 | ../static
--------------------------------------------------------------------------------
/go-codelab/step5/app.yaml:
--------------------------------------------------------------------------------
1 | # Copyright 2011 The Go Authors. All rights reserved.
2 | # Use of this source code is governed by a BSD-style
3 | # license that can be found in the LICENSE file.
4 |
5 | application: go-at-io
6 | version: five
7 | runtime: go
8 | api_version: go1
9 |
10 | handlers:
11 | - url: /static
12 | static_dir: static
13 | - url: /favicon.ico
14 | static_files: static/favicon.ico
15 | upload: static/favicon.ico
16 | - url: /api/.*
17 | script: _go_app
18 | - url: /.*
19 | static_files: static/todo.html
20 | upload: static/todo.html
21 |
--------------------------------------------------------------------------------
/go-codelab/step5/static:
--------------------------------------------------------------------------------
1 | ../static
--------------------------------------------------------------------------------
/instant-buy/end/.gitignore:
--------------------------------------------------------------------------------
1 | .gradle
2 | /local.properties
3 | /.idea/workspace.xml
4 | .DS_Store
5 | ._*
6 |
--------------------------------------------------------------------------------
/instant-buy/end/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | mavenCentral()
6 | }
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:0.11.+'
9 | }
10 | }
11 |
12 | allprojects {
13 | repositories {
14 | mavenCentral()
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/instant-buy/end/demo.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/instant-buy/end/demo/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/instant-buy/end/demo/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'android'
2 |
3 | android {
4 | compileSdkVersion 19
5 | buildToolsVersion "19.1.0"
6 |
7 | defaultConfig {
8 | minSdkVersion 9
9 | targetSdkVersion 19
10 | versionCode 1
11 | versionName "1.0"
12 | }
13 | buildTypes {
14 | release {
15 | runProguard false
16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
17 | }
18 | }
19 | }
20 |
21 | dependencies {
22 | compile fileTree(dir: 'libs', include: ['*.jar'])
23 | compile 'com.android.support:support-v4:19.1.0'
24 | compile 'com.android.support:appcompat-v7:19.+'
25 | compile 'com.google.android.gms:play-services:4.4.52'
26 | }
27 |
--------------------------------------------------------------------------------
/instant-buy/end/demo/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
10 |
11 |
12 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/instant-buy/end/demo/src/main/gen/com/google/io/instantbuy/demo/BuildConfig.java:
--------------------------------------------------------------------------------
1 | /*___Generated_by_IDEA___*/
2 |
3 | package com.google.io.instantbuy.demo;
4 |
5 | /* This stub is only used by the IDE. It is NOT the BuildConfig class actually packed into the APK */
6 | public final class BuildConfig {
7 | public final static boolean DEBUG = Boolean.parseBoolean(null);
8 | }
--------------------------------------------------------------------------------
/instant-buy/end/demo/src/main/gen/com/google/io/instantbuy/demo/Manifest.java:
--------------------------------------------------------------------------------
1 | /*___Generated_by_IDEA___*/
2 |
3 | package com.google.io.instantbuy.demo;
4 |
5 | /* This stub is only used by the IDE. It is NOT the Manifest class actually packed into the APK */
6 | public final class Manifest {
7 | }
--------------------------------------------------------------------------------
/instant-buy/end/demo/src/main/gen/com/google/io/instantbuy/demo/R.java:
--------------------------------------------------------------------------------
1 | /*___Generated_by_IDEA___*/
2 |
3 | package com.google.io.instantbuy.demo;
4 |
5 | /* This stub is only used by the IDE. It is NOT the R class actually packed into the APK */
6 | public final class R {
7 | }
--------------------------------------------------------------------------------
/instant-buy/end/demo/src/main/main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/instant-buy/end/demo/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/instant-buy/end/demo/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/instant-buy/end/demo/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/instant-buy/end/demo/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/instant-buy/end/demo/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/instant-buy/end/demo/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/instant-buy/end/demo/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/instant-buy/end/demo/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/instant-buy/end/demo/src/main/res/menu/main.xml:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/instant-buy/end/demo/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/instant-buy/end/demo/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
--------------------------------------------------------------------------------
/instant-buy/end/demo/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Google IO Instant Buy Demo
5 | Hello world!
6 | Settings
7 |
8 |
9 |
--------------------------------------------------------------------------------
/instant-buy/end/demo/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/instant-buy/end/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Settings specified in this file will override any Gradle settings
5 | # configured through the IDE.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m
13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
14 |
15 | # When configured, Gradle will run in incubating parallel mode.
16 | # This option should only be used with decoupled projects. More details, visit
17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
18 | # org.gradle.parallel=true
--------------------------------------------------------------------------------
/instant-buy/end/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/instant-buy/end/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/instant-buy/end/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Jun 18 11:09:38 PDT 2014
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-all.zip
7 |
--------------------------------------------------------------------------------
/instant-buy/end/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':demo'
2 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/MobileBackend/libs/gcm-server.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/MobileBackend/libs/gcm-server.jar
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/MobileBackend/src/main/java/com/google/cloud/backend/config/StringUtility.java:
--------------------------------------------------------------------------------
1 | package com.google.cloud.backend.config;
2 |
3 | import com.google.appengine.api.datastore.Text;
4 |
5 | /**
6 | * Utility class contains utility methods for String type objects.
7 | */
8 | public class StringUtility {
9 |
10 | private StringUtility() {}
11 |
12 | /**
13 | * Determine if an input string is null or empty.
14 | *
15 | * @param string Input string that might contain null, empty string or non-empty string
16 | * @return True if the input string is null or empty; false, the otherwise
17 | */
18 | public static boolean isNullOrEmpty(String string) {
19 | return (string == null || string.isEmpty());
20 | }
21 |
22 | /**
23 | * Determine if an input text is null or empty.
24 | *
25 | * @param text Input text that might contain null, empty text or non-empty text
26 | * @return True if the input text is null or empty; false, the otherwise
27 | */
28 | public static boolean isNullOrEmpty(Text text) {
29 | return (text == null || text.getValue() == null || text.getValue().isEmpty());
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/MobileBackend/src/main/java/com/google/cloud/backend/spi/ImageTransformer.java:
--------------------------------------------------------------------------------
1 | package com.google.cloud.backend.spi;
2 |
3 | import com.google.appengine.api.images.Image;
4 |
5 | /**
6 | * Interface for a image transformer.
7 | */
8 | public interface ImageTransformer {
9 |
10 | /**
11 | * Applies some transformations to the old image and returns the transformed image.
12 | *
13 | * @param oldImage
14 | * @return
15 | */
16 | public Image transform(Image oldImage);
17 | }
18 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/MobileBackend/src/main/java/com/google/cloud/backend/spi/QuerySubscriptions.java:
--------------------------------------------------------------------------------
1 | package com.google.cloud.backend.spi;
2 |
3 | import java.util.List;
4 |
5 | /**
6 | * Class manages CloudEntities query unsubscription.
7 | */
8 | public class QuerySubscriptions {
9 |
10 | private static final QuerySubscriptions _instance = new QuerySubscriptions();
11 |
12 | /**
13 | * Returns an instance of {@link QuerySubscriptions}.
14 | *
15 | * @return a singleton
16 | */
17 | public static QuerySubscriptions getInstance() {
18 | return _instance;
19 | }
20 |
21 | private QuerySubscriptions() {
22 | }
23 |
24 | /**
25 | * Remove all subscriptions for this device.
26 | *
27 | * @param deviceId a unique identifier for the device
28 | */
29 | protected void unsubscribe(String deviceId) {
30 | List id = SubscriptionUtility.extractRegIdAsList(deviceId);
31 | SubscriptionUtility.clearSubscriptionAndDeviceEntity(id);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/MobileBackend/src/main/webapp/WEB-INF/appengine-web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | myApplicationId
4 | 1
5 | true
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/MobileBackend/src/main/webapp/WEB-INF/cron.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | /admin/push/feedbackservice/process
5 | Query APNS Feedback service and remove inactive deviecs
6 |
7 | every 4 hours
8 |
9 |
10 | /admin/push/notifications/cleanup
11 | Remove no longer needed records of processed notifications
12 |
13 | worker
14 |
16 | every day 04:45
17 | America/New_York
18 |
19 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/MobileBackend/src/main/webapp/WEB-INF/datastore-indexes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/MobileBackend/src/main/webapp/WEB-INF/logging.properties:
--------------------------------------------------------------------------------
1 | # A default java.util.logging configuration.
2 | # (All App Engine logging is through java.util.logging by default).
3 | #
4 | # To use this configuration, copy it into your application's WEB-INF
5 | # folder and add the following to your appengine-web.xml:
6 | #
7 | #
8 | #
9 | #
10 | #
11 |
12 | # Set the default logging level for all loggers to WARNING
13 | .level = INFO
14 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/MobileBackend/src/main/webapp/WEB-INF/queue.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | notification-delivery
4 | pull
5 |
6 |
7 | notification-device-token-cleanup
8 | 10/s
9 | 20
10 | default
11 |
12 |
13 | subscription-removal
14 | 100/s
15 | 20
16 | default
17 |
18 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/MobileBackend/src/main/webapp/admin/img/bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/MobileBackend/src/main/webapp/admin/img/bg.gif
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/MobileBackend/src/main/webapp/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/MobileBackend/src/main/webapp/favicon.ico
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/MobileBackend/src/main/webapp/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Redirecting
4 |
5 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'android'
2 |
3 | android {
4 | compileSdkVersion 19
5 | buildToolsVersion '19.1.0'
6 | defaultConfig {
7 | minSdkVersion 15
8 | targetSdkVersion 19
9 | versionCode 1
10 | versionName '1.0'
11 | }
12 | buildTypes {
13 | release {
14 | runProguard false
15 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
16 | }
17 | }
18 | productFlavors {
19 | }
20 | enforceUniquePackageName = false
21 | dexOptions {
22 | preDexLibraries = false
23 | }
24 | }
25 |
26 | dependencies {
27 | compile project(':mobile-backend-starter-android-client-core')
28 | }
29 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/java/com/google/cloud/backend/sample/guestbook/OnIntroNavListener.java:
--------------------------------------------------------------------------------
1 | package com.google.cloud.backend.sample.guestbook;
2 |
3 | /**
4 | * Listener used by the introductory Fragments to interact with each other and
5 | * with the Guestbook Activity. The hosting Guestbook Activity should implement
6 | * this listener.
7 | */
8 | public interface OnIntroNavListener {
9 | public void toFirst(String fromTag);
10 |
11 | public void toSecond(String fromTag);
12 |
13 | public void toThird(String fromTag);
14 |
15 | public void done(boolean skipFutureIntro);
16 | }
17 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/java/com/google/cloud/backend/sample/guestbook/SplashFragment.java:
--------------------------------------------------------------------------------
1 | package com.google.cloud.backend.sample.guestbook;
2 |
3 | import android.app.Fragment;
4 | import android.os.Bundle;
5 | import android.view.LayoutInflater;
6 | import android.view.View;
7 | import android.view.ViewGroup;
8 |
9 | import com.google.cloud.backend.R;
10 |
11 | /**
12 | * This Fragment provides the splash screen that is shown when the guestbook app
13 | * is retrieving entries from the server.
14 | */
15 | public class SplashFragment extends Fragment {
16 | @Override
17 | public View onCreateView(
18 | LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
19 | return inflater.inflate(R.layout.fragment_splash, container, false);
20 | }
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/anim/translate_progress.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
9 |
10 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/ic_camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/ic_camera.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/ic_launcher_guestbook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/ic_launcher_guestbook.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/ic_left_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/ic_left_arrow.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/ic_menu_guestbook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/ic_menu_guestbook.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/ic_right_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/ic_right_arrow.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/ic_send.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/ic_send.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/img_connect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/img_connect.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/img_done.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/img_done.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/img_dots_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/img_dots_1.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/img_dots_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/img_dots_2.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/img_dots_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/img_dots_3.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/img_guestbook_splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/img_guestbook_splash.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/img_logo_splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-hdpi/img_logo_splash.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/ic_camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/ic_camera.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/ic_launcher_guestbook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/ic_launcher_guestbook.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/ic_left_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/ic_left_arrow.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/ic_menu_guestbook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/ic_menu_guestbook.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/ic_right_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/ic_right_arrow.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/ic_send.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/ic_send.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/img_connect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/img_connect.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/img_done.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/img_done.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/img_dots_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/img_dots_1.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/img_dots_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/img_dots_2.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/img_dots_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/img_dots_3.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/img_guestbook_splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/img_guestbook_splash.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/img_logo_splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-ldpi/img_logo_splash.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/ic_camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/ic_camera.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/ic_launcher_guestbook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/ic_launcher_guestbook.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/ic_left_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/ic_left_arrow.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/ic_menu_guestbook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/ic_menu_guestbook.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/ic_right_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/ic_right_arrow.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/ic_send.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/ic_send.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/img_connect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/img_connect.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/img_done.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/img_done.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/img_dots_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/img_dots_1.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/img_dots_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/img_dots_2.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/img_dots_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/img_dots_3.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/img_guestbook_splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/img_guestbook_splash.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/img_logo_splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-mdpi/img_logo_splash.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/ic_camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/ic_camera.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/ic_launcher_guestbook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/ic_launcher_guestbook.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/ic_left_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/ic_left_arrow.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/ic_menu_guestbook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/ic_menu_guestbook.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/ic_right_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/ic_right_arrow.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/ic_send.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/ic_send.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/img_connect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/img_connect.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/img_done.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/img_done.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/img_dots_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/img_dots_1.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/img_dots_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/img_dots_2.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/img_dots_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/img_dots_3.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/img_guestbook_splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/img_guestbook_splash.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/img_logo_splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/app/src/main/res/drawable-xhdpi/img_logo_splash.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/layout/activity_introduction.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
13 |
14 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/layout/fragment_splash.xml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
15 |
16 |
24 |
25 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/layout/row_post.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
20 |
21 |
27 |
28 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/menu/activity_main.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/menu/image_processing.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 | #000000
3 | #ffffff
4 | #acacac
5 | #333333
6 | #212121
7 | #33b4e5
8 | #ffbb33
9 | #eeeeee
10 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/app/src/main/res/values/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 1
4 |
5 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | mavenCentral()
6 | }
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:0.11.+'
9 | }
10 | }
11 |
12 | allprojects {
13 | repositories {
14 | mavenLocal()
15 | mavenCentral()
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Settings specified in this file will override any Gradle settings
5 | # configured through the IDE.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m
13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
14 |
15 | # When configured, Gradle will run in incubating parallel mode.
16 | # This option should only be used with decoupled projects. More details, visit
17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
18 | # org.gradle.parallel=true
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Sun Jun 08 21:36:53 JST 2014
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip
7 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/mobile-backend-starter-android-client-core/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/mobile-backend-starter-android-client-core/proguard-rules.txt:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /usr/local/google/home/thagikura/android-studio/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the ProGuard
5 | # include property in project.properties.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/mobile-backend-starter-android-client-core/src/main/java/com/google/cloud/backend/GCMBroadcastReceiver.java:
--------------------------------------------------------------------------------
1 | package com.google.cloud.backend;
2 |
3 | import android.app.Activity;
4 | import android.content.ComponentName;
5 | import android.content.Context;
6 | import android.content.Intent;
7 | import android.support.v4.content.WakefulBroadcastReceiver;
8 |
9 | public class GCMBroadcastReceiver extends WakefulBroadcastReceiver {
10 |
11 | @Override
12 | public void onReceive(Context context, Intent intent) {
13 | // Explicitly specify that GcmIntentService will handle the intent.
14 | ComponentName comp = new ComponentName(context.getPackageName(),
15 | com.google.cloud.backend.GCMIntentService.class.getName());
16 | // Start the service, keeping the device awake while it is launching.
17 | startWakefulService(context, (intent.setComponent(comp)));
18 | setResultCode(Activity.RESULT_OK);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/mobile-backend-starter-android-client-core/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/mobile-backend-starter-android-client-core/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/mobile-backend-starter-android-client-core/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/mobile-backend-starter-android-client-core/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/mobile-backend-starter-android-client-core/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/mobile-backend-starter-android-client-core/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/mobile-backend-starter-android-client-core/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/mobile-backend-starter/begin/mobile-backend-starter-android-client-core/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/mobile-backend-starter-android-client-core/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/mobile-backend-starter/begin/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app', ':mobile-backend-starter-android-client-core', ':MobileBackend'
2 |
--------------------------------------------------------------------------------
/play-games/begin/Squash/Squash.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/play-games/begin/Squash/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'android'
2 |
3 | android {
4 | compileSdkVersion 19
5 | buildToolsVersion '19.1.0'
6 |
7 | defaultConfig {
8 | minSdkVersion 9
9 | targetSdkVersion 19
10 | }
11 |
12 | buildTypes {
13 | release {
14 | runProguard false
15 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
16 | }
17 | }
18 | }
19 |
20 | dependencies {
21 | compile 'com.android.support:support-v4:+'
22 | compile 'com.google.android.gms:play-services:+'
23 | }
24 |
--------------------------------------------------------------------------------
/play-games/begin/Squash/app/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/play-games/begin/Squash/app/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/play-games/begin/Squash/app/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/play-games/begin/Squash/app/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/play-games/begin/Squash/app/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/play-games/begin/Squash/app/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/play-games/begin/Squash/app/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/play-games/begin/Squash/app/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/play-games/begin/Squash/app/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/play-games/begin/Squash/app/src/main/res/menu/squash.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/play-games/begin/Squash/app/src/main/res/values-sw600dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
--------------------------------------------------------------------------------
/play-games/begin/Squash/app/src/main/res/values-sw720dp-land/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 128dp
8 |
9 |
--------------------------------------------------------------------------------
/play-games/begin/Squash/app/src/main/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/play-games/begin/Squash/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 16dp
5 | 16dp
6 |
7 |
--------------------------------------------------------------------------------
/play-games/begin/Squash/app/src/main/res/values/gamehelper_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Failed to sign in. Please check your network connection and try again.
4 | The application is incorrectly configured. Check that the package name and signing certificate match the client ID created in Developer Console. Also, if the application is not yet published, check that the account you are trying to sign in with is listed as a tester account. See logs for more information.
5 | License check failed.
6 | Unknown error.
7 |
8 |
--------------------------------------------------------------------------------
/play-games/begin/Squash/app/src/main/res/values/ids.xml:
--------------------------------------------------------------------------------
1 |
2 | 1066863964070
3 |
4 | CgkIpt-wsIYfEAIQAQ
5 | CgkIpt-wsIYfEAIQAg
6 | CgkIpt-wsIYfEAIQAw
7 |
--------------------------------------------------------------------------------
/play-games/begin/Squash/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Squash
5 | Hello world!
6 | Reset
7 | Play Game
8 | Sign Out
9 |
10 |
--------------------------------------------------------------------------------
/play-games/begin/Squash/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
14 |
15 |
16 |
19 |
20 |
--------------------------------------------------------------------------------
/play-games/begin/Squash/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 | buildscript {
3 | repositories {
4 | mavenCentral()
5 | }
6 | dependencies {
7 | classpath 'com.android.tools.build:gradle:0.12.+'
8 | }
9 | }
10 |
11 | allprojects {
12 | repositories {
13 | mavenCentral()
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/play-games/begin/Squash/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/play-games/begin/Squash/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/play-games/begin/Squash/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 20 11:15:53 PDT 2014
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-all.zip
7 |
--------------------------------------------------------------------------------
/play-games/begin/Squash/local.properties:
--------------------------------------------------------------------------------
1 | ## This file is automatically generated by Android Studio.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must *NOT* be checked into Version Control Systems,
5 | # as it contains information specific to your local configuration.
6 | #
7 | # Location of the SDK. This is only used by Gradle.
8 | # For customization when using a Version Control System, please read the
9 | # header note.
10 | #Mon Jun 16 11:16:16 PDT 2014
11 | sdk.dir=/Applications/Android Studio.app/sdk
12 |
--------------------------------------------------------------------------------
/play-games/begin/Squash/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/play-games/end/Squash/Squash-Complete.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/play-games/end/Squash/Squash.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-games/end/Squash/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'android'
2 |
3 | android {
4 | compileSdkVersion 19
5 | buildToolsVersion '19.1.0'
6 |
7 | defaultConfig {
8 | minSdkVersion 9
9 | targetSdkVersion 19
10 | }
11 |
12 | buildTypes {
13 | release {
14 | runProguard false
15 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
16 | }
17 | }
18 | }
19 |
20 | dependencies {
21 | compile 'com.android.support:support-v4:+'
22 | compile 'com.google.android.gms:play-services:+'
23 | }
24 |
--------------------------------------------------------------------------------
/play-games/end/Squash/app/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/play-games/end/Squash/app/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/play-games/end/Squash/app/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/play-games/end/Squash/app/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/play-games/end/Squash/app/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/play-games/end/Squash/app/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/play-games/end/Squash/app/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/play-games/end/Squash/app/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/play-games/end/Squash/app/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/play-games/end/Squash/app/src/main/res/menu/squash.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/play-games/end/Squash/app/src/main/res/values-sw600dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
--------------------------------------------------------------------------------
/play-games/end/Squash/app/src/main/res/values-sw720dp-land/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 128dp
8 |
9 |
--------------------------------------------------------------------------------
/play-games/end/Squash/app/src/main/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/play-games/end/Squash/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 16dp
5 | 16dp
6 |
7 |
--------------------------------------------------------------------------------
/play-games/end/Squash/app/src/main/res/values/gamehelper_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Failed to sign in. Please check your network connection and try again.
4 | The application is incorrectly configured. Check that the package name and signing certificate match the client ID created in Developer Console. Also, if the application is not yet published, check that the account you are trying to sign in with is listed as a tester account. See logs for more information.
5 | License check failed.
6 | Unknown error.
7 |
8 |
--------------------------------------------------------------------------------
/play-games/end/Squash/app/src/main/res/values/ids.xml:
--------------------------------------------------------------------------------
1 |
2 | 1066863964070
3 |
4 | CgkIpt-wsIYfEAIQAQ
5 | CgkIpt-wsIYfEAIQAg
6 | CgkIpt-wsIYfEAIQAw
7 |
--------------------------------------------------------------------------------
/play-games/end/Squash/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Multisquash
5 | Hello world!
6 | Reset
7 | High Score
8 | Send Gift
9 | Gift Inbox
10 | Achievements
11 | Sign Out
12 | Play Game
13 |
14 |
--------------------------------------------------------------------------------
/play-games/end/Squash/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
14 |
15 |
16 |
19 |
20 |
--------------------------------------------------------------------------------
/play-games/end/Squash/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 | buildscript {
3 | repositories {
4 | mavenCentral()
5 | }
6 | dependencies {
7 | classpath 'com.android.tools.build:gradle:0.12.+'
8 | }
9 | }
10 |
11 | allprojects {
12 | repositories {
13 | mavenCentral()
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/play-games/end/Squash/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/play-games/end/Squash/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/play-games/end/Squash/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 20 11:17:55 PDT 2014
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-all.zip
7 |
--------------------------------------------------------------------------------
/play-games/end/Squash/local.properties:
--------------------------------------------------------------------------------
1 | ## This file is automatically generated by Android Studio.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must *NOT* be checked into Version Control Systems,
5 | # as it contains information specific to your local configuration.
6 | #
7 | # Location of the SDK. This is only used by Gradle.
8 | # For customization when using a Version Control System, please read the
9 | # header note.
10 | #Mon Jun 16 11:23:24 PDT 2014
11 | sdk.dir=/Applications/Android Studio.app/sdk
12 |
--------------------------------------------------------------------------------
/play-games/end/Squash/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/polymer-and-dart/.gitignore:
--------------------------------------------------------------------------------
1 | .buildlog
2 | packages
3 |
--------------------------------------------------------------------------------
/polymer-and-dart/build.dart:
--------------------------------------------------------------------------------
1 | import 'package:polymer/builder.dart';
2 |
3 | main(args) {
4 | build(entryPoints: ['web/index.html'],
5 | options: parseOptions(args));
6 | }
7 |
--------------------------------------------------------------------------------
/polymer-and-dart/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: polymer_and_dart
2 | description: Sample app built with the polymer.dart package
3 | environment:
4 | sdk: '>=1.2.0 <2.0.0'
5 | dependencies:
6 | polymer: '>=0.10.0 <0.11.0'
7 | dev_dependencies:
8 | unittest: '>=0.10.0 <0.11.0'
9 | transformers:
10 | - polymer:
11 | entry_points:
12 | - web/begin/index.html
13 | - web/step2/index.html
14 | - web/step3/index.html
15 | - web/step4/index.html
16 | - web/step5/index.html
17 | - web/step6/index.html
18 | - web/step7/index.html
19 | - web/end/index.html
20 |
--------------------------------------------------------------------------------
/polymer-and-dart/web/begin/app.css:
--------------------------------------------------------------------------------
1 | * {
2 | margin: 0;
3 | padding: 0;
4 | margin-bottom: 12px;
5 | font-family: sans-serif;
6 | color: #666;
7 | }
8 |
9 | body {
10 | padding: 30px;
11 | }
12 |
--------------------------------------------------------------------------------
/polymer-and-dart/web/begin/codelab_element.dart:
--------------------------------------------------------------------------------
1 | import 'package:polymer/polymer.dart';
2 | import 'model.dart' show Codelab;
3 | import 'dart:html' show Event, Node, CustomEvent;
4 |
5 | @CustomTag('codelab-element')
6 | class CodelabElement extends PolymerElement {
7 | CodelabElement.created(): super.created() {}
8 | }
9 |
--------------------------------------------------------------------------------
/polymer-and-dart/web/begin/codelab_element.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/polymer-and-dart/web/begin/codelab_form.dart:
--------------------------------------------------------------------------------
1 | import 'package:polymer/polymer.dart';
2 | import 'model.dart' show Codelab;
3 | import 'dart:html' show CustomEvent, Event, Node;
4 |
5 |
6 | @CustomTag('codelab-form')
7 | class CodelabFormElement extends PolymerElement {
8 | CodelabFormElement.created() : super.created() {}
9 | }
10 |
--------------------------------------------------------------------------------
/polymer-and-dart/web/begin/codelab_list.dart:
--------------------------------------------------------------------------------
1 | import 'package:polymer/polymer.dart';
2 | import 'model.dart' show Codelab;
3 | import 'dart:html' show Event, Node;
4 |
5 | @CustomTag('codelab-list')
6 | class CodelabList extends PolymerElement {
7 | CodelabList.created() : super.created() {}
8 | }
9 |
--------------------------------------------------------------------------------
/polymer-and-dart/web/begin/codelab_list.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/polymer-and-dart/web/begin/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Polymer: Build an Admin Console Using Dart
7 |
8 |
9 |
10 |
11 |
12 |
13 | Polymer: Build an Admin Console Using Dart
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/polymer-and-dart/web/begin/model.dart:
--------------------------------------------------------------------------------
1 | library polymer_and_dart.web.models;
2 |
3 | import 'package:polymer/polymer.dart';
4 |
5 | class Codelab extends Observable {
6 | }
7 |
--------------------------------------------------------------------------------
/polymer-and-dart/web/end/app.css:
--------------------------------------------------------------------------------
1 | * {
2 | margin: 0;
3 | padding: 0;
4 | margin-bottom: 12px;
5 | font-family: sans-serif;
6 | color: #666;
7 | }
8 |
9 | body {
10 | padding: 30px;
11 | }
12 |
--------------------------------------------------------------------------------
/polymer-and-dart/web/end/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Polymer: Build an Admin Console Using Dart
7 |
8 |
9 |
10 |
11 |
12 |
13 | Polymer: Build an Admin Console Using Dart
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/polymer-and-dart/web/end/model.dart:
--------------------------------------------------------------------------------
1 | library polymer_and_dart.web.models;
2 |
3 | import 'package:polymer/polymer.dart';
4 |
5 | /*
6 | * The barebones model for a codelab. Defines constants used for validation.
7 | */
8 | class Codelab extends Observable {
9 | static const List LEVELS = const ['easy', 'intermediate', 'advanced'];
10 | static const MIN_TITLE_LENGTH = 10;
11 | static const MAX_TITLE_LENGTH = 30;
12 | static const MAX_DESCRIPTION_LENGTH = 140;
13 |
14 | @observable String title;
15 | @observable String description;
16 | @observable String level;
17 |
18 | Codelab([this.title = "", this.description = ""]);
19 | }
--------------------------------------------------------------------------------
/polymer-build-mobile/README:
--------------------------------------------------------------------------------
1 | This is a sample code for the Google IO 2014 codelab
2 | "Polymer: Build a Material Design Mobile Web App with Paper Elements".
3 |
4 | Codelab instructions: http://io2014codelabs.appspot.com/static/codelabs/polymer-build-mobile/
5 |
6 | ***
7 | This code sample uses [Bower](http://bower.io/) to manage code dependencies. Plese run
8 |
9 | $ bower install
10 |
11 | in each directory you wish to test before running the sample in the browser.
12 | ***
13 |
14 | ***
15 | Polymer requires files to be served over HTTP server rather than as local files.
16 | E.g. if you have python (2.x) installed, run
17 |
18 | $ python -m SimpleHTTPServer
19 |
20 | (or another server of your choice) to view the sample in the browser.
21 | ***
22 |
23 |
--------------------------------------------------------------------------------
/polymer-build-mobile/begin/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "PolymerMobileCodelab",
3 | "description": "",
4 | "homepage": "",
5 | "keywords": [
6 | ],
7 | "author": "",
8 | "private": true,
9 | "dependencies": {
10 | "polymer": "Polymer/polymer#master",
11 | "paper-elements": "Polymer/paper-elements#master"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/polymer-build-mobile/begin/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PolymerMobileCodelab
6 |
7 |
8 | +
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/polymer-build-mobile/begin/styles.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: sans-serif;
3 | font-size: 16px;
4 | display: flex;
5 | flex-flow: row;
6 | align-items: center;
7 | justify-content: center;
8 | }
9 |
10 | core-header-panel {
11 | float: left;
12 | width: 360px;
13 | height: 400px;
14 | margin: 5px;
15 | }
16 |
17 | core-header-panel::shadow #mainContainer {
18 | margin: 0 10px;
19 | box-shadow: 0 10px 40px 0 #aaa;
20 | }
21 |
22 | .core-header {
23 | height: 60px;
24 | line-height: 60px;
25 | font-size: 18px;
26 | padding: 0 10px;
27 | background-color: #4F7DC9;
28 | color: #FFF;
29 | transition: height 0.2s;
30 | }
31 |
32 | .core-header.tall {
33 | height: 180px;
34 | }
35 |
36 | .core-header.medium-tall {
37 | height: 120px;
38 | }
39 |
40 | .content {
41 | height: auto;
42 | color: black;
43 | background: linear-gradient(rgb(214, 227, 231), lightblue);
44 | text-align: center;
45 | }
46 |
--------------------------------------------------------------------------------
/polymer-build-mobile/end/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "PolymerMobileCodelab",
3 | "description": "",
4 | "homepage": "",
5 | "keywords": [
6 | ],
7 | "author": "",
8 | "private": true,
9 | "dependencies": {
10 | "polymer": "Polymer/polymer#master",
11 | "core-elements": "Polymer/core-elements#master",
12 | "paper-elements": "Polymer/paper-elements#master",
13 | "font-roboto": "Polymer/font-roboto#master"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/polymer-build-mobile/end/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PolymerMobileCodelab
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/polymer-build-mobile/step2/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "PolymerMobileCodelab",
3 | "description": "",
4 | "homepage": "",
5 | "keywords": [
6 | ],
7 | "author": "",
8 | "private": true,
9 | "dependencies": {
10 | "polymer": "Polymer/polymer#master",
11 | "core-elements": "Polymer/core-elements#master",
12 | "paper-elements": "Polymer/paper-elements#master",
13 | "font-roboto": "Polymer/font-roboto#master"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/polymer-build-mobile/step2/codelab-app.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Hello Polymer!
8 |
9 |
13 |
--------------------------------------------------------------------------------
/polymer-build-mobile/step2/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PolymerMobileCodelab
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/polymer-build-mobile/step2/styles.css:
--------------------------------------------------------------------------------
1 | :host {
2 | font-family: Roboto, 'Helvetica Neue', Helvetica, Arial;
3 | }
--------------------------------------------------------------------------------
/polymer-build-mobile/step3/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "PolymerMobileCodelab",
3 | "description": "",
4 | "homepage": "",
5 | "keywords": [
6 | ],
7 | "author": "",
8 | "private": true,
9 | "dependencies": {
10 | "polymer": "Polymer/polymer#master",
11 | "core-elements": "Polymer/core-elements#master",
12 | "paper-elements": "Polymer/paper-elements#master",
13 | "font-roboto": "Polymer/font-roboto#master"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/polymer-build-mobile/step3/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PolymerMobileCodelab
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/polymer-build-mobile/step3/styles.css:
--------------------------------------------------------------------------------
1 | :host {
2 | font-family: Roboto, 'Helvetica Neue', Helvetica, Arial;
3 | }
4 |
5 | [drawer] {
6 | background-color: #fff;
7 | }
8 |
9 | [main] > div {
10 | padding: 2em;
11 | }
12 |
13 | [drawer] > core-item {
14 | padding: 1em;
15 | }
16 |
17 | [main] paper-checkbox {
18 | margin-right: 1em;
19 | }
20 |
21 | [main] {
22 | height: 100%;
23 | background-color: #f1f1f3;
24 | }
25 |
26 | [drawer] core-toolbar {
27 | background-color: #4F7DC9;
28 | color: #fff;
29 | }
30 |
31 | [main] core-toolbar {
32 | background-color: #526E9C;
33 | color: #fff;
34 | }
--------------------------------------------------------------------------------
/polymer-build-mobile/step4/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "PolymerMobileCodelab",
3 | "description": "",
4 | "homepage": "",
5 | "keywords": [
6 | ],
7 | "author": "",
8 | "private": true,
9 | "dependencies": {
10 | "polymer": "Polymer/polymer#master",
11 | "core-elements": "Polymer/core-elements#master",
12 | "paper-elements": "Polymer/paper-elements#master",
13 | "font-roboto": "Polymer/font-roboto"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/polymer-build-mobile/step4/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PolymerMobileCodelab
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/polymer-build-mobile/step4/styles.css:
--------------------------------------------------------------------------------
1 | :host {
2 | font-family: Roboto, 'Helvetica Neue', Helvetica, Arial;
3 | }
4 |
5 | [drawer] {
6 | background-color: #fff;
7 | }
8 |
9 | [main] > div {
10 | padding: 2em;
11 | }
12 |
13 | [drawer] > core-item {
14 | padding: 1em;
15 | }
16 |
17 | [main] paper-checkbox {
18 | margin-right: 1em;
19 | }
20 |
21 | [main] {
22 | height: 100%;
23 | background-color: #f1f1f3;
24 | }
25 |
26 | [drawer] core-toolbar {
27 | background-color: #4F7DC9;
28 | color: #fff;
29 | }
30 |
31 | [main] core-toolbar {
32 | background-color: #526E9C;
33 | color: #fff;
34 | }
--------------------------------------------------------------------------------
/polymer-build-mobile/step5/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "PolymerMobileCodelab",
3 | "description": "",
4 | "homepage": "",
5 | "keywords": [
6 | ],
7 | "author": "",
8 | "private": true,
9 | "dependencies": {
10 | "polymer": "Polymer/polymer#master",
11 | "core-elements": "Polymer/core-elements#master",
12 | "paper-elements": "Polymer/paper-elements#master",
13 | "font-roboto": "Polymer/font-roboto"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/polymer-build-mobile/step5/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PolymerMobileCodelab
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/polymer-build-mobile/step5/styles.css:
--------------------------------------------------------------------------------
1 | :host {
2 | font-family: Roboto, 'Helvetica Neue', Helvetica, Arial;
3 | }
4 |
5 | [drawer] {
6 | background-color: #fff;
7 | }
8 |
9 | [main] > div {
10 | padding: 2em;
11 | }
12 |
13 | [drawer] > core-item {
14 | padding: 1em;
15 | }
16 |
17 | [main] paper-checkbox {
18 | margin-right: 1em;
19 | }
20 |
21 | [main] {
22 | height: 100%;
23 | background-color: #f1f1f3;
24 | }
25 |
26 | [drawer] core-toolbar {
27 | background-color: #4F7DC9;
28 | color: #fff;
29 | }
30 |
31 | [main] core-toolbar {
32 | background-color: #526E9C;
33 | color: #fff;
34 | }
35 |
36 | paper-fab {
37 | background-color: #e0a30b;
38 | position: absolute !important;
39 | bottom: -27px;
40 | right: 1em;
41 | z-index: 10;
42 | }
43 |
44 | .card {
45 | width: 300px;
46 | background-color: #fff;
47 | padding: 1em;
48 | margin: 1em;
49 | position: relative;
50 | }
--------------------------------------------------------------------------------
/polymer-build-mobile/step6/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "PolymerMobileCodelab",
3 | "description": "",
4 | "homepage": "",
5 | "keywords": [
6 | ],
7 | "author": "",
8 | "private": true,
9 | "dependencies": {
10 | "polymer": "Polymer/polymer#master",
11 | "core-elements": "Polymer/core-elements#master",
12 | "paper-elements": "Polymer/paper-elements#master",
13 | "font-roboto": "Polymer/font-roboto"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/polymer-build-mobile/step6/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PolymerMobileCodelab
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/polymer-build-mobile/step6/styles.css:
--------------------------------------------------------------------------------
1 | :host {
2 | font-family: Roboto, 'Helvetica Neue', Helvetica, Arial;
3 | }
4 |
5 | [drawer] {
6 | background-color: #fff;
7 | }
8 |
9 | [main] > div {
10 | padding: 2em;
11 | }
12 |
13 | [drawer] > core-item {
14 | padding: 1em;
15 | }
16 |
17 | [main] paper-checkbox {
18 | margin-right: 1em;
19 | }
20 |
21 | [main] {
22 | height: 100%;
23 | background-color: #f1f1f3;
24 | }
25 |
26 | [drawer] core-toolbar {
27 | background-color: #4F7DC9;
28 | color: #fff;
29 | }
30 |
31 | [main] core-toolbar {
32 | background-color: #526E9C;
33 | color: #fff;
34 | }
35 |
36 | paper-fab {
37 | background-color: #e0a30b;
38 | position: absolute !important;
39 | bottom: -27px;
40 | right: 1em;
41 | z-index: 10;
42 | }
43 |
44 | .card {
45 | width: 300px;
46 | background-color: #fff;
47 | padding: 1em;
48 | margin: 1em;
49 | position: relative;
50 | }
--------------------------------------------------------------------------------
/polymer-build-mobile/step7/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "PolymerMobileCodelab",
3 | "description": "",
4 | "homepage": "",
5 | "keywords": [
6 | ],
7 | "author": "",
8 | "private": true,
9 | "dependencies": {
10 | "polymer": "Polymer/polymer#master",
11 | "core-elements": "Polymer/core-elements#master",
12 | "paper-elements": "Polymer/paper-elements#master",
13 | "font-roboto": "Polymer/font-roboto"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/polymer-build-mobile/step7/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PolymerMobileCodelab
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/polymer-build-mobile/step7/styles.css:
--------------------------------------------------------------------------------
1 | :host {
2 | font-family: Roboto, 'Helvetica Neue', Helvetica, Arial;
3 | }
4 |
5 | [drawer] {
6 | background-color: #fff;
7 | }
8 |
9 | [main] > div {
10 | padding: 2em;
11 | }
12 |
13 | [drawer] > core-item {
14 | padding: 1em;
15 | }
16 |
17 | [main] paper-checkbox {
18 | margin-right: 1em;
19 | }
20 |
21 | [main] {
22 | height: 100%;
23 | background-color: #f1f1f3;
24 | }
25 |
26 | [drawer] core-toolbar {
27 | background-color: #4F7DC9;
28 | color: #fff;
29 | }
30 |
31 | [main] core-toolbar {
32 | background-color: #526E9C;
33 | color: #fff;
34 | }
35 |
36 | paper-fab {
37 | background-color: #e0a30b;
38 | position: absolute !important;
39 | bottom: -27px;
40 | right: 1em;
41 | z-index: 10;
42 | }
43 |
44 | .card {
45 | width: 300px;
46 | background-color: #fff;
47 | padding: 1em;
48 | margin: 1em;
49 | position: relative;
50 | }
51 |
52 | *[data-fade-selected="true"] .item[data-done="true"] {
53 | opacity: 0.3;
54 | }
55 |
56 | paper-button[raisedButton].colored {
57 | width: 100%;
58 | background: #4285f4;
59 | color: #fff;
60 | fill: #fff;
61 | }
--------------------------------------------------------------------------------
/polymer-build-mobile/step8/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "PolymerMobileCodelab",
3 | "description": "",
4 | "homepage": "",
5 | "keywords": [
6 | ],
7 | "author": "",
8 | "private": true,
9 | "dependencies": {
10 | "polymer": "Polymer/polymer#master",
11 | "core-elements": "Polymer/core-elements#master",
12 | "paper-elements": "Polymer/paper-elements#master",
13 | "font-roboto": "Polymer/font-roboto#master"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/polymer-build-mobile/step8/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PolymerMobileCodelab
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'android'
2 |
3 | android {
4 | compileSdkVersion 19
5 | buildToolsVersion "19.1.0"
6 |
7 | defaultConfig {
8 | minSdkVersion 9
9 | targetSdkVersion 19
10 | versionCode 1
11 | versionName "1.0"
12 | }
13 | buildTypes {
14 | release {
15 | runProguard false
16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
17 | }
18 | }
19 | }
20 |
21 | repositories {
22 | mavenCentral()
23 | flatDir {
24 | dirs 'libs'
25 | }
26 | }
27 |
28 | dependencies {
29 | compile fileTree(dir: 'libs', include: ['*.jar'])
30 | compile 'com.android.support:appcompat-v7:19.+'
31 | //compile 'com.google.android.gms:play-services:4.4.52'
32 | compile 'com.google.android.gms:google-play-services-wallettester-second-party-5033600:5.0.33-600@aar'
33 | }
34 |
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/app/proguard-rules.txt:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/pying/Documents/sdks/android-sdk-macosx/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the ProGuard
5 | # include property in project.properties.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
10 |
12 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/app/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/wallet-objects/end/wallet-objects/app/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/app/src/main/res/drawable-hdpi/wallet_button_background_enabled.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/wallet-objects/end/wallet-objects/app/src/main/res/drawable-hdpi/wallet_button_background_enabled.9.png
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/app/src/main/res/drawable-hdpi/wallet_button_save_to_foreground_enabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/wallet-objects/end/wallet-objects/app/src/main/res/drawable-hdpi/wallet_button_save_to_foreground_enabled.png
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/app/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/wallet-objects/end/wallet-objects/app/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/app/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/wallet-objects/end/wallet-objects/app/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/app/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/wallet-objects/end/wallet-objects/app/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/app/src/main/res/menu/main.xml:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/app/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Wobs Gradle
5 | Hello world!
6 | Settings
7 |
8 |
9 |
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | mavenCentral()
6 | flatDir{
7 | dirs 'app/libs'
8 | }
9 | }
10 | dependencies {
11 | classpath 'com.android.tools.build:gradle:0.11.+'
12 | }
13 | }
14 |
15 | allprojects {
16 | repositories {
17 | mavenCentral()
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Settings specified in this file will override any Gradle settings
5 | # configured through the IDE.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m
13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
14 |
15 | # When configured, Gradle will run in incubating parallel mode.
16 | # This option should only be used with decoupled projects. More details, visit
17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
18 | # org.gradle.parallel=true
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/googlesamples/io2014-codelabs/cb0438141df93a628f4930e36a72d6bd9ff8f6ca/wallet-objects/end/wallet-objects/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Tue Jun 17 16:57:16 PDT 2014
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-all.zip
7 |
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/local.properties:
--------------------------------------------------------------------------------
1 | ## This file is automatically generated by Android Studio.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file should *NOT* be checked into Version Control Systems,
5 | # as it contains information specific to your local configuration.
6 | #
7 | # Location of the SDK. This is only used by Gradle.
8 | # For customization when using a Version Control System, please read the
9 | # header note.
10 | sdk.dir=/Users/pying/Documents/sdks/android-sdk-macosx
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/wallet-objects/end/wallet-objects/wallet-objects-io.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/webrtc-file-sharing/begin/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | WebRTC codelab: begin
6 |
7 |
8 |
9 |
10 | Hello I/O!
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/webrtc-file-sharing/server.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var nodeStatic = require('node-static');
4 | var http = require('http');
5 | var file = new(nodeStatic.Server)();
6 | var app = http.createServer(function(req, res) {
7 | file.serve(req, res);
8 | }).listen(2014);
9 |
--------------------------------------------------------------------------------
/webrtc-file-sharing/step2/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | WebRTC codelab step 2
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/webrtc-file-sharing/step2/js/main.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | navigator.getUserMedia = navigator.getUserMedia ||
4 | navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
5 |
6 | var constraints = {video: true};
7 |
8 | function successCallback(stream) {
9 | window.stream = stream; // stream available to console
10 | var video = document.querySelector("video");
11 | video.src = window.URL.createObjectURL(stream);
12 | video.play();
13 | }
14 |
15 | function errorCallback(error){
16 | console.log("navigator.getUserMedia error: ", error);
17 | }
18 |
19 | navigator.getUserMedia(constraints, successCallback, errorCallback);
20 |
--------------------------------------------------------------------------------
/webrtc-file-sharing/step3/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | WebRTC codelab: step 3
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/webrtc-file-sharing/step4/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | WebRTC codelab: step 4
6 |
7 |
8 |
9 |
10 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/webrtc-file-sharing/step5/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | WebRTC codelab: step 5
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/webrtc-file-sharing/step5/js/main.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var isInitiator;
4 |
5 | window.room = prompt("Enter room name:");
6 |
7 | var socket = io.connect();
8 |
9 | if (room !== "") {
10 | console.log('Message from client: Asking to join room ' + room);
11 | socket.emit('create or join', room);
12 | }
13 |
14 | socket.on('created', function(room, clientId) {
15 | isInitiator = true;
16 | });
17 |
18 | socket.on('full', function(room) {
19 | console.log('Message from client: Room ' + room + ' is full :^(');
20 | });
21 |
22 | socket.on('ipaddr', function(ipaddr) {
23 | console.log('Message from client: Server IP address is ' + ipaddr);
24 | });
25 |
26 | socket.on('joined', function(room, clientId) {
27 | isInitiator = false;
28 | });
29 |
30 | socket.on('log', function(array) {
31 | console.log.apply(console, array);
32 | });
33 |
--------------------------------------------------------------------------------
/webrtc-file-sharing/step6/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | WebRTC codelab: step 6
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/webrtc-file-sharing/step7/css/main.css:
--------------------------------------------------------------------------------
1 | canvas.incomingPhoto {
2 | display: inline-block;
3 | margin: 10px;
4 | width: 200px;
5 | height: 150px;
6 | border: 1px solid #ccc;
7 | }
8 |
9 | canvas#photo {
10 | height: 240px;
11 | width: 320px;
12 | border: 1px solid #ccc;
13 | }
14 |
15 | div#buttons {
16 | border-bottom: 1px solid #ccc;
17 | margin: 0 0 20px 0;
18 | padding: 0 0 20px 0;
19 | }
20 |
21 | div#videoCanvas {
22 | height: 240px;
23 | margin: 0 0 20px 0;
24 | }
25 |
26 | video#camera {
27 | width: 320px;
28 | min-height: 240px;
29 | float: left;
30 | margin: 0 20px 0 0;
31 | border: 1px solid #aaa;
32 | }
33 |
--------------------------------------------------------------------------------
/webrtc-file-sharing/step7/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | WebRTC codelab: step 7
7 |
8 |
9 |
10 |
11 |
12 |
13 | Room URL: ...
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | then
23 | or
24 |
25 |
26 |
27 |
28 |
Incoming photos
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------