├── .github
├── scripts
│ └── gradlew_recursive.sh
└── workflows
│ ├── android.yml
│ └── copy-branch.yml
├── .gitignore
├── .google
└── packaging.yaml
├── CONTRIB.md
├── LICENSE
├── NOTICE
├── README.markdown
├── app
├── build.gradle
└── src
│ └── main
│ └── AndroidManifest.xml
├── base
├── build.gradle
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── google
│ │ └── samples
│ │ └── apps
│ │ └── topeka
│ │ ├── Login.kt
│ │ ├── activity
│ │ └── SignInActivityTest.kt
│ │ ├── helper
│ │ ├── AnswerHelperAndroidTest.kt
│ │ ├── ParcelableHelperAndroidTest.kt
│ │ └── PreferencesHelperAndroidTest.kt
│ │ └── model
│ │ └── PlayerAndroidTest.kt
│ ├── debug
│ └── AndroidManifest.xml
│ ├── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── com
│ │ │ └── google
│ │ │ └── samples
│ │ │ └── apps
│ │ │ └── topeka
│ │ │ ├── activity
│ │ │ └── SignInActivity.kt
│ │ │ ├── adapter
│ │ │ └── AvatarAdapter.kt
│ │ │ ├── fragment
│ │ │ └── SignInFragment.kt
│ │ │ ├── helper
│ │ │ ├── ActivityLaunchHelper.kt
│ │ │ ├── AnswerHelper.kt
│ │ │ ├── ApiLevelHelper.kt
│ │ │ ├── ContextExtensions.kt
│ │ │ ├── CredentialsHelper.kt
│ │ │ ├── FragmentExtensions.kt
│ │ │ ├── JsonExtensions.kt
│ │ │ ├── ParcelExtensions.kt
│ │ │ ├── TransitionHelper.kt
│ │ │ └── ViewExtensions.kt
│ │ │ ├── model
│ │ │ ├── Avatar.kt
│ │ │ ├── Category.kt
│ │ │ ├── JsonAttributes.kt
│ │ │ ├── Player.kt
│ │ │ ├── Theme.kt
│ │ │ └── quiz
│ │ │ │ ├── AlphaPickerQuiz.kt
│ │ │ │ ├── FillBlankQuiz.kt
│ │ │ │ ├── FillTwoBlanksQuiz.kt
│ │ │ │ ├── FourQuarterQuiz.kt
│ │ │ │ ├── MultiSelectQuiz.kt
│ │ │ │ ├── OptionsQuiz.kt
│ │ │ │ ├── PickerQuiz.kt
│ │ │ │ ├── Quiz.kt
│ │ │ │ ├── QuizType.kt
│ │ │ │ ├── SelectItemQuiz.kt
│ │ │ │ ├── ToggleTranslateQuiz.kt
│ │ │ │ └── TrueFalseQuiz.kt
│ │ │ ├── persistence
│ │ │ ├── CategoryTable.kt
│ │ │ ├── QuizTable.kt
│ │ │ └── TopekaDatabaseHelper.kt
│ │ │ └── widget
│ │ │ ├── AvatarView.kt
│ │ │ ├── OffsetDecoration.kt
│ │ │ ├── TextWatcherAdapter.kt
│ │ │ ├── TransitionListenerAdapter.kt
│ │ │ └── outlineprovider
│ │ │ └── RoundOutlineProvider.kt
│ └── res
│ │ ├── drawable-hdpi
│ │ ├── avatar_10_raster.png
│ │ ├── avatar_11_raster.png
│ │ ├── avatar_12_raster.png
│ │ ├── avatar_13_raster.png
│ │ ├── avatar_14_raster.png
│ │ ├── avatar_15_raster.png
│ │ ├── avatar_16_raster.png
│ │ ├── avatar_1_raster.png
│ │ ├── avatar_2_raster.png
│ │ ├── avatar_3_raster.png
│ │ ├── avatar_4_raster.png
│ │ ├── avatar_5_raster.png
│ │ ├── avatar_6_raster.png
│ │ ├── avatar_7_raster.png
│ │ ├── avatar_8_raster.png
│ │ ├── avatar_9_raster.png
│ │ ├── ic_arrow_back_black.png
│ │ ├── ic_check_black.png
│ │ ├── ic_close_black.png
│ │ └── ic_play_arrow_black.png
│ │ ├── drawable-mdpi
│ │ ├── avatar_10_raster.png
│ │ ├── avatar_11_raster.png
│ │ ├── avatar_12_raster.png
│ │ ├── avatar_13_raster.png
│ │ ├── avatar_14_raster.png
│ │ ├── avatar_15_raster.png
│ │ ├── avatar_16_raster.png
│ │ ├── avatar_1_raster.png
│ │ ├── avatar_2_raster.png
│ │ ├── avatar_3_raster.png
│ │ ├── avatar_4_raster.png
│ │ ├── avatar_5_raster.png
│ │ ├── avatar_6_raster.png
│ │ ├── avatar_7_raster.png
│ │ ├── avatar_8_raster.png
│ │ ├── avatar_9_raster.png
│ │ ├── ic_arrow_back_black.png
│ │ ├── ic_check_black.png
│ │ ├── ic_close_black.png
│ │ └── ic_play_arrow_black.png
│ │ ├── drawable-v21
│ │ ├── ic_arrow_back.xml
│ │ ├── ic_cross.xml
│ │ ├── ic_play.xml
│ │ ├── ic_tick.xml
│ │ ├── selector_button.xml
│ │ ├── selector_checkable.xml
│ │ └── selector_subtle.xml
│ │ ├── drawable-v22
│ │ ├── avatar_1.xml
│ │ ├── avatar_10.xml
│ │ ├── avatar_11.xml
│ │ ├── avatar_12.xml
│ │ ├── avatar_13.xml
│ │ ├── avatar_14.xml
│ │ ├── avatar_15.xml
│ │ ├── avatar_16.xml
│ │ ├── avatar_2.xml
│ │ ├── avatar_3.xml
│ │ ├── avatar_4.xml
│ │ ├── avatar_5.xml
│ │ ├── avatar_6.xml
│ │ ├── avatar_7.xml
│ │ ├── avatar_8.xml
│ │ └── avatar_9.xml
│ │ ├── drawable-xhdpi
│ │ ├── avatar_10_raster.png
│ │ ├── avatar_11_raster.png
│ │ ├── avatar_12_raster.png
│ │ ├── avatar_13_raster.png
│ │ ├── avatar_14_raster.png
│ │ ├── avatar_15_raster.png
│ │ ├── avatar_16_raster.png
│ │ ├── avatar_1_raster.png
│ │ ├── avatar_2_raster.png
│ │ ├── avatar_3_raster.png
│ │ ├── avatar_4_raster.png
│ │ ├── avatar_5_raster.png
│ │ ├── avatar_6_raster.png
│ │ ├── avatar_7_raster.png
│ │ ├── avatar_8_raster.png
│ │ ├── avatar_9_raster.png
│ │ ├── ic_arrow_back_black.png
│ │ ├── ic_check_black.png
│ │ ├── ic_close_black.png
│ │ └── ic_play_arrow_black.png
│ │ ├── drawable-xxhdpi
│ │ ├── avatar_10_raster.png
│ │ ├── avatar_11_raster.png
│ │ ├── avatar_12_raster.png
│ │ ├── avatar_13_raster.png
│ │ ├── avatar_14_raster.png
│ │ ├── avatar_15_raster.png
│ │ ├── avatar_16_raster.png
│ │ ├── avatar_1_raster.png
│ │ ├── avatar_2_raster.png
│ │ ├── avatar_3_raster.png
│ │ ├── avatar_4_raster.png
│ │ ├── avatar_5_raster.png
│ │ ├── avatar_6_raster.png
│ │ ├── avatar_7_raster.png
│ │ ├── avatar_8_raster.png
│ │ ├── avatar_9_raster.png
│ │ ├── ic_arrow_back_black.png
│ │ ├── ic_check_black.png
│ │ ├── ic_close_black.png
│ │ └── ic_play_arrow_black.png
│ │ ├── drawable-xxxhdpi
│ │ ├── avatar_10_raster.png
│ │ ├── avatar_11_raster.png
│ │ ├── avatar_12_raster.png
│ │ ├── avatar_13_raster.png
│ │ ├── avatar_14_raster.png
│ │ ├── avatar_15_raster.png
│ │ ├── avatar_16_raster.png
│ │ ├── avatar_1_raster.png
│ │ ├── avatar_2_raster.png
│ │ ├── avatar_3_raster.png
│ │ ├── avatar_4_raster.png
│ │ ├── avatar_5_raster.png
│ │ ├── avatar_6_raster.png
│ │ ├── avatar_7_raster.png
│ │ ├── avatar_8_raster.png
│ │ ├── avatar_9_raster.png
│ │ ├── ic_arrow_back_black.png
│ │ ├── ic_check_black.png
│ │ ├── ic_close_black.png
│ │ └── ic_play_arrow_black.png
│ │ ├── drawable
│ │ ├── avatar_1.xml
│ │ ├── avatar_10.xml
│ │ ├── avatar_11.xml
│ │ ├── avatar_12.xml
│ │ ├── avatar_13.xml
│ │ ├── avatar_14.xml
│ │ ├── avatar_15.xml
│ │ ├── avatar_16.xml
│ │ ├── avatar_2.xml
│ │ ├── avatar_3.xml
│ │ ├── avatar_4.xml
│ │ ├── avatar_5.xml
│ │ ├── avatar_6.xml
│ │ ├── avatar_7.xml
│ │ ├── avatar_8.xml
│ │ ├── avatar_9.xml
│ │ ├── ic_arrow_back.xml
│ │ ├── ic_cross.xml
│ │ ├── ic_play.xml
│ │ ├── ic_tick.xml
│ │ ├── selector_avatar.xml
│ │ ├── selector_button.xml
│ │ ├── selector_checkable.xml
│ │ ├── selector_list.xml
│ │ └── selector_subtle.xml
│ │ ├── layout-land
│ │ └── fragment_sign_in.xml
│ │ ├── layout
│ │ ├── activity_sign_in.xml
│ │ ├── fab_done.xml
│ │ ├── fragment_sign_in.xml
│ │ ├── item_avatar.xml
│ │ ├── sign_in_avatars.xml
│ │ └── sign_in_username.xml
│ │ ├── menu
│ │ └── menu_category.xml
│ │ ├── mipmap-hdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-mdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xhdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxhdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxxhdpi
│ │ └── ic_launcher.png
│ │ ├── raw
│ │ └── categories.json
│ │ ├── transition-v21
│ │ ├── signin_enter.xml
│ │ └── signin_exit.xml
│ │ ├── values-land
│ │ └── dimens.xml
│ │ ├── values-sw600dp
│ │ └── dimens.xml
│ │ ├── values-v21
│ │ └── styles.xml
│ │ └── values
│ │ ├── attrs.xml
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ ├── ids.xml
│ │ ├── strings.xml
│ │ ├── styles.xml
│ │ ├── tick_cross.xml
│ │ ├── transition_names.xml
│ │ └── transitions.xml
│ └── test
│ └── java
│ └── com
│ └── google
│ └── samples
│ └── apps
│ └── topeka
│ ├── helper
│ └── AnswerHelperTest.kt
│ └── model
│ ├── CategoryTest.kt
│ └── quiz
│ ├── AbsQuizTestCase.kt
│ ├── AlphaPickerQuizTest.kt
│ ├── FillBlankQuizTest.kt
│ ├── FillTwoBlanksQuizTest.kt
│ ├── FourQuarterQuizTest.kt
│ ├── MultiSelectQuizTest.kt
│ ├── PickerQuizTest.kt
│ ├── SelectItemQuizTest.kt
│ ├── ToggleTranslateQuizTest.kt
│ └── TrueFalseQuizTest.kt
├── build.gradle
├── categories
├── build.gradle
├── proguard.pro
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── google
│ │ └── samples
│ │ └── apps
│ │ └── topeka
│ │ └── activity
│ │ └── CategorySelectionActivityTest.kt
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── com
│ │ └── google
│ │ └── samples
│ │ └── apps
│ │ └── topeka
│ │ ├── Login.kt
│ │ ├── activity
│ │ └── CategorySelectionActivity.kt
│ │ ├── adapter
│ │ └── CategoryAdapter.kt
│ │ └── fragment
│ │ └── CategorySelectionFragment.kt
│ └── res
│ ├── drawable-hdpi
│ ├── icon_category_entertainment_raster.png
│ ├── icon_category_food_raster.png
│ ├── icon_category_geography_raster.png
│ ├── icon_category_history_raster.png
│ ├── icon_category_knowledge_raster.png
│ ├── icon_category_leaderboard_raster.png
│ ├── icon_category_music_raster.png
│ ├── icon_category_science_raster.png
│ ├── icon_category_sports_raster.png
│ └── icon_category_tvmovies_raster.png
│ ├── drawable-mdpi
│ ├── icon_category_entertainment_raster.png
│ ├── icon_category_food_raster.png
│ ├── icon_category_geography_raster.png
│ ├── icon_category_history_raster.png
│ ├── icon_category_knowledge_raster.png
│ ├── icon_category_leaderboard_raster.png
│ ├── icon_category_music_raster.png
│ ├── icon_category_science_raster.png
│ ├── icon_category_sports_raster.png
│ └── icon_category_tvmovies_raster.png
│ ├── drawable-v22
│ ├── icon_category_entertainment.xml
│ ├── icon_category_food.xml
│ ├── icon_category_geography.xml
│ ├── icon_category_history.xml
│ ├── icon_category_knowledge.xml
│ ├── icon_category_leaderboard.xml
│ ├── icon_category_music.xml
│ ├── icon_category_science.xml
│ ├── icon_category_sports.xml
│ └── icon_category_tvmovies.xml
│ ├── drawable-xhdpi
│ ├── icon_category_entertainment_raster.png
│ ├── icon_category_food_raster.png
│ ├── icon_category_geography_raster.png
│ ├── icon_category_history_raster.png
│ ├── icon_category_knowledge_raster.png
│ ├── icon_category_leaderboard_raster.png
│ ├── icon_category_music_raster.png
│ ├── icon_category_science_raster.png
│ ├── icon_category_sports_raster.png
│ └── icon_category_tvmovies_raster.png
│ ├── drawable-xxhdpi
│ ├── icon_category_entertainment_raster.png
│ ├── icon_category_food_raster.png
│ ├── icon_category_geography_raster.png
│ ├── icon_category_history_raster.png
│ ├── icon_category_knowledge_raster.png
│ ├── icon_category_leaderboard_raster.png
│ ├── icon_category_music_raster.png
│ ├── icon_category_science_raster.png
│ ├── icon_category_sports_raster.png
│ └── icon_category_tvmovies_raster.png
│ ├── drawable-xxxhdpi
│ ├── icon_category_entertainment_raster.png
│ ├── icon_category_food_raster.png
│ ├── icon_category_geography_raster.png
│ ├── icon_category_history_raster.png
│ ├── icon_category_knowledge_raster.png
│ ├── icon_category_leaderboard_raster.png
│ ├── icon_category_music_raster.png
│ ├── icon_category_science_raster.png
│ ├── icon_category_sports_raster.png
│ └── icon_category_tvmovies_raster.png
│ ├── drawable
│ ├── icon_category_entertainment.xml
│ ├── icon_category_food.xml
│ ├── icon_category_geography.xml
│ ├── icon_category_history.xml
│ ├── icon_category_knowledge.xml
│ ├── icon_category_leaderboard.xml
│ ├── icon_category_music.xml
│ ├── icon_category_science.xml
│ ├── icon_category_sports.xml
│ └── icon_category_tvmovies.xml
│ ├── layout
│ ├── activity_category_selection.xml
│ ├── fragment_categories.xml
│ └── item_category.xml
│ ├── transition-v21
│ ├── category_enter.xml
│ ├── category_exit.xml
│ └── category_shared_enter.xml
│ ├── values-v21
│ └── styles.xml
│ └── values
│ └── styles.xml
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── quiz
├── build.gradle
├── proguard.pro
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── google
│ │ └── samples
│ │ └── apps
│ │ └── topeka
│ │ ├── Login.kt
│ │ ├── SolveQuizUtil.kt
│ │ └── activity
│ │ └── quiz
│ │ ├── BaseQuizActivityTest.kt
│ │ ├── EntertainmentQuizTest.kt
│ │ ├── FoodAndDrinkQuizTest.kt
│ │ ├── GeneralKnowledgeQuizTest.kt
│ │ ├── GeographyQuizTest.kt
│ │ ├── HistoryQuizTest.kt
│ │ ├── MusicQuizTest.kt
│ │ ├── ScienceAndNatureQuizTest.kt
│ │ ├── SportsQuizTest.kt
│ │ └── TVAndMoviesQuizTest.kt
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── com
│ │ └── google
│ │ └── samples
│ │ └── apps
│ │ └── topeka
│ │ ├── activity
│ │ └── QuizActivity.kt
│ │ ├── adapter
│ │ ├── OptionsQuizAdapter.kt
│ │ ├── QuizAdapter.kt
│ │ └── ScoreAdapter.kt
│ │ ├── fragment
│ │ └── QuizFragment.kt
│ │ └── widget
│ │ ├── SeekBarListener.kt
│ │ ├── TextResizeTransition.kt
│ │ ├── TextSharedElementCallback.kt
│ │ ├── fab
│ │ └── CheckableFab.kt
│ │ └── quiz
│ │ ├── AbsQuizView.kt
│ │ ├── AlphaPickerQuizView.kt
│ │ ├── FillBlankQuizView.kt
│ │ ├── FillTwoBlanksQuizView.kt
│ │ ├── FourQuarterQuizView.kt
│ │ ├── MultiSelectQuizView.kt
│ │ ├── PickerQuizView.kt
│ │ ├── SelectItemQuizView.kt
│ │ ├── TextInputQuizView.kt
│ │ ├── ToggleTranslateQuizView.kt
│ │ └── TrueFalseQuizView.kt
│ └── res
│ ├── animator-v21
│ ├── cross_to_tick_line_1.xml
│ ├── cross_to_tick_line_2.xml
│ ├── rotate_cross_to_tick.xml
│ ├── rotate_tick_to_cross.xml
│ ├── slide_in_bottom.xml
│ ├── slide_out_top.xml
│ ├── tick_to_cross_line_1.xml
│ └── tick_to_cross_line_2.xml
│ ├── drawable-hdpi
│ ├── image_category_entertainment_raster.png
│ ├── image_category_food_raster.png
│ ├── image_category_geography_raster.png
│ ├── image_category_history_raster.png
│ ├── image_category_knowledge_raster.png
│ ├── image_category_music_raster.png
│ ├── image_category_science_raster.png
│ ├── image_category_sports_raster.png
│ └── image_category_tvmovies_raster.png
│ ├── drawable-mdpi
│ ├── image_category_entertainment_raster.png
│ ├── image_category_food_raster.png
│ ├── image_category_geography_raster.png
│ ├── image_category_history_raster.png
│ ├── image_category_knowledge_raster.png
│ ├── image_category_music_raster.png
│ ├── image_category_science_raster.png
│ ├── image_category_sports_raster.png
│ └── image_category_tvmovies_raster.png
│ ├── drawable-v22
│ ├── image_category_entertainment.xml
│ ├── image_category_food.xml
│ ├── image_category_geography.xml
│ ├── image_category_history.xml
│ ├── image_category_knowledge.xml
│ ├── image_category_music.xml
│ ├── image_category_science.xml
│ ├── image_category_sports.xml
│ └── image_category_tvmovies.xml
│ ├── drawable-xhdpi
│ ├── image_category_entertainment_raster.png
│ ├── image_category_food_raster.png
│ ├── image_category_geography_raster.png
│ ├── image_category_history_raster.png
│ ├── image_category_knowledge_raster.png
│ ├── image_category_music_raster.png
│ ├── image_category_science_raster.png
│ ├── image_category_sports_raster.png
│ └── image_category_tvmovies_raster.png
│ ├── drawable-xxhdpi
│ ├── image_category_entertainment_raster.png
│ ├── image_category_food_raster.png
│ ├── image_category_geography_raster.png
│ ├── image_category_history_raster.png
│ ├── image_category_knowledge_raster.png
│ ├── image_category_music_raster.png
│ ├── image_category_science_raster.png
│ ├── image_category_sports_raster.png
│ └── image_category_tvmovies_raster.png
│ ├── drawable-xxxhdpi
│ ├── image_category_entertainment_raster.png
│ ├── image_category_food_raster.png
│ ├── image_category_geography_raster.png
│ ├── image_category_history_raster.png
│ ├── image_category_knowledge_raster.png
│ ├── image_category_music_raster.png
│ ├── image_category_science_raster.png
│ ├── image_category_sports_raster.png
│ └── image_category_tvmovies_raster.png
│ ├── drawable
│ ├── answer_quiz_fab.xml
│ ├── image_category_entertainment.xml
│ ├── image_category_food.xml
│ ├── image_category_geography.xml
│ ├── image_category_history.xml
│ ├── image_category_knowledge.xml
│ ├── image_category_music.xml
│ ├── image_category_science.xml
│ ├── image_category_sports.xml
│ ├── image_category_tvmovies.xml
│ ├── selector_avatar.xml
│ ├── selector_checkable.xml
│ ├── selector_false.xml
│ ├── selector_list.xml
│ └── selector_true.xml
│ ├── layout
│ ├── activity_quiz.xml
│ ├── answer_submit.xml
│ ├── fragment_quiz.xml
│ ├── item_answer.xml
│ ├── item_answer_start.xml
│ ├── item_scorecard.xml
│ ├── question.xml
│ ├── quiz_edit_text.xml
│ ├── quiz_fill_blank_with_surroundings.xml
│ ├── quiz_layout_picker.xml
│ └── quiz_radio_group_true_false.xml
│ ├── transition-v21
│ └── quiz_shared_enter.xml
│ ├── values-v21
│ └── styles.xml
│ └── values
│ ├── arrays.xml
│ └── styles.xml
├── screenshots
├── categories.png
├── category_history.png
├── ic_web.png
└── quiz_shakespeare.png
└── settings.gradle
/.github/workflows/android.yml:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2020 The Android Open Source Project
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # https://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
15 | name: Android CI
16 |
17 | on:
18 | push:
19 | branches: [ master ]
20 | pull_request:
21 | branches: [ master ]
22 |
23 | jobs:
24 |
25 | build:
26 | name: Build
27 | runs-on: ubuntu-18.04
28 |
29 | steps:
30 | - uses: actions/checkout@v1
31 | - name: set up JDK 1.8
32 | uses: actions/setup-java@v1
33 | with:
34 | java-version: 1.8
35 | - name: Build project
36 | run: .github/scripts/gradlew_recursive.sh assembleDebug
37 | - name: Zip artifacts
38 | run: zip -r assemble.zip . -i '**/build/*.apk' '**/build/*.aab' '**/build/*.aar' '**/build/*.so'
39 | - name: Upload artifacts
40 | uses: actions/upload-artifact@v1
41 | with:
42 | name: assemble
43 | path: assemble.zip
44 |
--------------------------------------------------------------------------------
/.github/workflows/copy-branch.yml:
--------------------------------------------------------------------------------
1 | # Duplicates default main branch to the old master branch
2 |
3 | name: Duplicates main to old master branch
4 |
5 | # Controls when the action will run. Triggers the workflow on push or pull request
6 | # events but only for the main branch
7 | on:
8 | push:
9 | branches: [ main ]
10 |
11 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel
12 | jobs:
13 | # This workflow contains a single job called "copy-branch"
14 | copy-branch:
15 | # The type of runner that the job will run on
16 | runs-on: ubuntu-latest
17 |
18 | # Steps represent a sequence of tasks that will be executed as part of the job
19 | steps:
20 | # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it,
21 | # but specifies master branch (old default).
22 | - uses: actions/checkout@v2
23 | with:
24 | fetch-depth: 0
25 | ref: master
26 |
27 | - run: |
28 | git config user.name github-actions
29 | git config user.email github-actions@github.com
30 | git merge origin/main
31 | git push
32 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .gradle
2 | .idea
3 | .build
4 | local.properties
5 | *.iml
6 | build
7 |
--------------------------------------------------------------------------------
/.google/packaging.yaml:
--------------------------------------------------------------------------------
1 | # GOOGLE SAMPLE PACKAGING DATA
2 | #
3 | # This file is used by Google as part of our samples packaging process.
4 | # End users may safely ignore this file. It has no relevance to other systems.
5 | ---
6 | status: PUBLISHED
7 | technologies: [Android]
8 | categories: [Design]
9 | languages: [Kotlin]
10 | solutions: [Mobile]
11 |
12 | github: googlesamples/android-topeka
13 |
14 | level: INTERMEDIATE
15 |
16 | icon: screenshots/ic_web.png
17 |
18 | apiRefs:
19 | - android:android.animation.Animator
20 | - android:android.animation.AnimatorListenerAdapter
21 | - android:android.animation.ObjectAnimator
22 | - android:android.widget.AdapterViewAnimator
23 | - android:android.view.ViewAnimationUtils
24 | - android:android.view.animation.AnimationUtils
25 | - android:android.view.animation.Interpolator
26 | - android:android.view.ViewOutlineProvider
27 | - android:android.view.ContextThemeWrapper
28 |
29 | license: apache2
30 |
--------------------------------------------------------------------------------
/NOTICE:
--------------------------------------------------------------------------------
1 | This sample uses the following software:
2 |
3 | Copyright 2015 Google Inc.
4 |
5 | Licensed under the Apache License, Version 2.0 (the "License");
6 | you may not use this file except in compliance with the License.
7 | You may obtain a copy of the License at
8 |
9 | http://www.apache.org/licenses/LICENSE-2.0
10 |
11 | Unless required by applicable law or agreed to in writing, software
12 | distributed under the License is distributed on an "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | See the License for the specific language governing permissions and
15 | limitations under the License.
16 |
--------------------------------------------------------------------------------
/app/build.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | apply plugin: 'com.android.application'
18 | apply plugin: 'kotlin-android'
19 |
20 | android {
21 | compileSdkVersion rootProject.compileSdk
22 |
23 | defaultConfig {
24 | targetSdkVersion rootProject.targetSdk
25 | minSdkVersion rootProject.minSdk
26 | versionCode 1
27 | }
28 |
29 | buildTypes {
30 | release {
31 | signingConfig signingConfigs.debug
32 | }
33 | }
34 |
35 | dynamicFeatures = [":categories", ":quiz"]
36 | }
37 |
38 | dependencies {
39 | implementation project(":base")
40 | }
41 |
--------------------------------------------------------------------------------
/base/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
20 |
24 |
25 |
--------------------------------------------------------------------------------
/base/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/base/src/main/java/com/google/samples/apps/topeka/helper/ContextExtensions.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.helper
18 |
19 | import android.content.Context
20 | import android.view.LayoutInflater
21 | import android.view.View
22 | import android.view.ViewGroup
23 | import com.google.samples.apps.topeka.persistence.TopekaDatabaseHelper
24 |
25 | const val TAG = "Topeka"
26 |
27 | fun Context.database() = TopekaDatabaseHelper.getInstance(this)
28 |
29 | fun Context.inflate(resource: Int, root: ViewGroup?, attachToRoot: Boolean): View =
30 | LayoutInflater.from(this).inflate(resource, root, attachToRoot)
--------------------------------------------------------------------------------
/base/src/main/java/com/google/samples/apps/topeka/helper/FragmentExtensions.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.helper
18 |
19 | import androidx.annotation.IdRes
20 | import androidx.fragment.app.Fragment
21 | import androidx.fragment.app.FragmentActivity
22 |
23 | fun FragmentActivity.replaceFragment(@IdRes id: Int, fragment: Fragment) {
24 | supportFragmentManager.beginTransaction().replace(id, fragment).commit()
25 | }
26 |
27 | fun FragmentActivity.findFragmentByTag(tag: String): Fragment? =
28 | supportFragmentManager.findFragmentByTag(tag)
29 |
30 | fun FragmentActivity.findFragmentById(tag: Int): Fragment? =
31 | supportFragmentManager.findFragmentById(tag)
32 |
--------------------------------------------------------------------------------
/base/src/main/java/com/google/samples/apps/topeka/helper/JsonExtensions.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.helper
18 |
19 | import org.json.JSONArray
20 |
21 | /**
22 | * Make an [Array] of type [String] out of this JSONArray.
23 | */
24 | fun JSONArray.toStringArray(): Array = Array(this.length()) { this.getString(it) }
25 |
26 | /**
27 | * Make an [IntArray] out of this JSONArray.
28 | */
29 | fun JSONArray.toIntArray(): IntArray = IntArray(this.length()) { this.getInt(it) }
--------------------------------------------------------------------------------
/base/src/main/java/com/google/samples/apps/topeka/helper/ParcelExtensions.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.helper
18 |
19 | import android.os.Parcel
20 |
21 | /**
22 | * Writes a single boolean to a [Parcel].
23 |
24 | * @param toWrite Value to write.
25 | */
26 | fun Parcel.writeBoolean(toWrite: Boolean) = writeInt(if (toWrite) 0 else 1)
27 |
28 | /**
29 | * Retrieves a single boolean from a [Parcel].
30 | */
31 | fun Parcel.readBoolean() = 0 == this.readInt()
--------------------------------------------------------------------------------
/base/src/main/java/com/google/samples/apps/topeka/model/JsonAttributes.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.model
18 |
19 | object JsonAttributes {
20 |
21 | const val ANSWER = "answer"
22 | const val END = "end"
23 | const val ID = "id"
24 | const val MAX = "max"
25 | const val MIN = "min"
26 | const val NAME = "name"
27 | const val OPTIONS = "options"
28 | const val QUESTION = "question"
29 | const val QUIZZES = "quizzes"
30 | const val START = "start"
31 | const val STEP = "step"
32 | const val THEME = "theme"
33 | const val TYPE = "type"
34 | const val SCORES = "scores"
35 | const val SOLVED = "solved"
36 | }
--------------------------------------------------------------------------------
/base/src/main/java/com/google/samples/apps/topeka/model/quiz/AlphaPickerQuiz.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.model.quiz
18 |
19 | data class AlphaPickerQuiz(
20 | override val question: String,
21 | override val answer: String,
22 | override var solved: Boolean
23 | ) : Quiz(question, answer, solved) {
24 |
25 | override val type get() = QuizType.ALPHA_PICKER
26 |
27 | override val stringAnswer: String get() = answer
28 | }
29 |
--------------------------------------------------------------------------------
/base/src/main/java/com/google/samples/apps/topeka/model/quiz/FillBlankQuiz.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.model.quiz
18 |
19 | data class FillBlankQuiz(
20 | override val question: String,
21 | override val answer: String,
22 | val start: String?, val end: String?,
23 | override var solved: Boolean
24 | ) : Quiz(question, answer, solved) {
25 |
26 | override val stringAnswer get() = answer
27 |
28 | override val type get() = QuizType.FILL_BLANK
29 |
30 | override fun isAnswerCorrect(answer: String?): Boolean = this.answer
31 | .equals(answer, ignoreCase = true)
32 | }
33 |
--------------------------------------------------------------------------------
/base/src/main/java/com/google/samples/apps/topeka/model/quiz/FourQuarterQuiz.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.model.quiz
18 |
19 | data class FourQuarterQuiz(
20 | override val question: String,
21 | override val answer: IntArray,
22 | override var options: Array,
23 | override var solved: Boolean
24 | ) : OptionsQuiz(question, answer, options, solved) {
25 |
26 | override val type get() = QuizType.FOUR_QUARTER
27 |
28 | override val stringAnswer get() = getAnswer(answer, options)
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/base/src/main/java/com/google/samples/apps/topeka/model/quiz/MultiSelectQuiz.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.model.quiz
18 |
19 | data class MultiSelectQuiz(
20 | override val question: String,
21 | override val answer: IntArray,
22 | override var options: Array,
23 | override var solved: Boolean
24 | ) : OptionsQuiz(question, answer, options, solved) {
25 |
26 | override val type get() = QuizType.MULTI_SELECT
27 |
28 | override val stringAnswer get() = getAnswer(answer, options)
29 | }
30 |
--------------------------------------------------------------------------------
/base/src/main/java/com/google/samples/apps/topeka/model/quiz/PickerQuiz.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.model.quiz
18 |
19 | data class PickerQuiz(
20 | override val question: String,
21 | override val answer: Int,
22 | val min: Int, val max: Int, val step: Int,
23 | override var solved: Boolean
24 | ) : Quiz(question, answer, solved) {
25 |
26 | override val type get() = QuizType.PICKER
27 |
28 | override val stringAnswer get() = answer.toString()
29 | }
30 |
--------------------------------------------------------------------------------
/base/src/main/java/com/google/samples/apps/topeka/model/quiz/SelectItemQuiz.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.model.quiz
18 |
19 | data class SelectItemQuiz(
20 | override val question: String,
21 | override val answer: IntArray,
22 | override var options: Array,
23 | override var solved: Boolean
24 | ) : OptionsQuiz(question, answer, options, solved) {
25 |
26 | override val type get() = QuizType.SINGLE_SELECT
27 |
28 | override val stringAnswer get() = getAnswer(answer, options)
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/base/src/main/java/com/google/samples/apps/topeka/model/quiz/ToggleTranslateQuiz.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.model.quiz
18 |
19 | data class ToggleTranslateQuiz(
20 | override val question: String,
21 | override val answer: IntArray,
22 | override var options: Array>,
23 | override var solved: Boolean
24 | ) : OptionsQuiz>(question, answer, options, solved) {
25 |
26 | val readableOptions get() = Array(options.size, { createReadablePair(options[it]) })
27 |
28 | override val type get() = QuizType.TOGGLE_TRANSLATE
29 |
30 | override val stringAnswer get() = getAnswer(answer, readableOptions)
31 |
32 | private fun createReadablePair(option: Array) = "${option[0]} <> ${option[1]}"
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/base/src/main/java/com/google/samples/apps/topeka/model/quiz/TrueFalseQuiz.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.model.quiz
18 |
19 | data class TrueFalseQuiz(
20 | override val question: String,
21 | override val answer: Boolean,
22 | override var solved: Boolean
23 | ) : Quiz(question, answer, solved) {
24 |
25 | override val stringAnswer get() = answer.toString()
26 |
27 | override val type get() = QuizType.TRUE_FALSE
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/base/src/main/java/com/google/samples/apps/topeka/widget/OffsetDecoration.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.widget
18 |
19 | import android.graphics.Rect
20 | import androidx.recyclerview.widget.RecyclerView
21 | import android.view.View
22 |
23 | class OffsetDecoration(private val offset: Int) : RecyclerView.ItemDecoration() {
24 |
25 | override fun getItemOffsets(outRect: Rect,
26 | view: View,
27 | parent: RecyclerView,
28 | state: RecyclerView.State) {
29 | outRect.set(offset, offset, offset, offset)
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/base/src/main/java/com/google/samples/apps/topeka/widget/TextWatcherAdapter.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.widget
18 |
19 | import android.text.Editable
20 | import android.text.TextWatcher
21 |
22 | object TextWatcherAdapter : TextWatcher {
23 | override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) = Unit
24 |
25 | override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) = Unit
26 |
27 | override fun afterTextChanged(s: Editable) = Unit
28 |
29 | }
--------------------------------------------------------------------------------
/base/src/main/java/com/google/samples/apps/topeka/widget/TransitionListenerAdapter.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.widget
18 |
19 | import android.annotation.TargetApi
20 | import android.os.Build
21 | import android.transition.Transition
22 |
23 | /**
24 | * Empty implementation of [Transition.TransitionListener].
25 | */
26 |
27 | @TargetApi(Build.VERSION_CODES.KITKAT)
28 | object TransitionListenerAdapter : Transition.TransitionListener {
29 |
30 | override fun onTransitionStart(transition: Transition) = Unit
31 |
32 | override fun onTransitionEnd(transition: Transition) = Unit
33 |
34 | override fun onTransitionCancel(transition: Transition) = Unit
35 |
36 | override fun onTransitionPause(transition: Transition) = Unit
37 |
38 | override fun onTransitionResume(transition: Transition) = Unit
39 | }
40 |
--------------------------------------------------------------------------------
/base/src/main/java/com/google/samples/apps/topeka/widget/outlineprovider/RoundOutlineProvider.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.widget.outlineprovider
18 |
19 | import android.annotation.TargetApi
20 | import android.graphics.Outline
21 | import android.os.Build
22 | import android.view.View
23 | import android.view.ViewOutlineProvider
24 |
25 | /**
26 | * Creates round outlines for views.
27 | */
28 | @TargetApi(Build.VERSION_CODES.LOLLIPOP)
29 | class RoundOutlineProvider(private val size: Int) : ViewOutlineProvider() {
30 |
31 | init {
32 | if (0 > size) throw IllegalArgumentException("size needs to be > 0. Actually was $size")
33 | }
34 |
35 | override fun getOutline(view: View, outline: Outline) = outline.setOval(0, 0, size, size)
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/avatar_10_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/avatar_10_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/avatar_11_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/avatar_11_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/avatar_12_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/avatar_12_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/avatar_13_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/avatar_13_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/avatar_14_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/avatar_14_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/avatar_15_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/avatar_15_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/avatar_16_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/avatar_16_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/avatar_1_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/avatar_1_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/avatar_2_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/avatar_2_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/avatar_3_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/avatar_3_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/avatar_4_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/avatar_4_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/avatar_5_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/avatar_5_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/avatar_6_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/avatar_6_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/avatar_7_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/avatar_7_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/avatar_8_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/avatar_8_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/avatar_9_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/avatar_9_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/ic_arrow_back_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/ic_arrow_back_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/ic_check_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/ic_check_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/ic_close_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/ic_close_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-hdpi/ic_play_arrow_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-hdpi/ic_play_arrow_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/avatar_10_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/avatar_10_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/avatar_11_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/avatar_11_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/avatar_12_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/avatar_12_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/avatar_13_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/avatar_13_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/avatar_14_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/avatar_14_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/avatar_15_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/avatar_15_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/avatar_16_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/avatar_16_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/avatar_1_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/avatar_1_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/avatar_2_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/avatar_2_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/avatar_3_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/avatar_3_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/avatar_4_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/avatar_4_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/avatar_5_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/avatar_5_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/avatar_6_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/avatar_6_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/avatar_7_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/avatar_7_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/avatar_8_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/avatar_8_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/avatar_9_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/avatar_9_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/ic_arrow_back_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/ic_arrow_back_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/ic_check_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/ic_check_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/ic_close_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/ic_close_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-mdpi/ic_play_arrow_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-mdpi/ic_play_arrow_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-v21/ic_arrow_back.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
22 |
25 |
26 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable-v21/ic_play.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
22 |
25 |
26 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable-v21/selector_button.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 | -
20 |
21 |
-
22 |
23 |
24 | -
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable-v21/selector_checkable.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 | -
20 |
21 |
-
22 |
23 |
24 | -
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable-v21/selector_subtle.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 | -
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/avatar_10_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/avatar_10_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/avatar_11_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/avatar_11_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/avatar_12_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/avatar_12_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/avatar_13_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/avatar_13_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/avatar_14_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/avatar_14_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/avatar_15_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/avatar_15_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/avatar_16_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/avatar_16_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/avatar_1_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/avatar_1_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/avatar_2_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/avatar_2_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/avatar_3_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/avatar_3_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/avatar_4_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/avatar_4_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/avatar_5_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/avatar_5_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/avatar_6_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/avatar_6_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/avatar_7_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/avatar_7_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/avatar_8_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/avatar_8_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/avatar_9_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/avatar_9_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/ic_arrow_back_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/ic_arrow_back_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/ic_check_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/ic_check_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/ic_close_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/ic_close_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xhdpi/ic_play_arrow_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xhdpi/ic_play_arrow_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/avatar_10_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/avatar_10_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/avatar_11_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/avatar_11_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/avatar_12_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/avatar_12_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/avatar_13_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/avatar_13_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/avatar_14_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/avatar_14_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/avatar_15_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/avatar_15_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/avatar_16_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/avatar_16_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/avatar_1_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/avatar_1_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/avatar_2_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/avatar_2_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/avatar_3_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/avatar_3_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/avatar_4_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/avatar_4_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/avatar_5_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/avatar_5_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/avatar_6_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/avatar_6_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/avatar_7_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/avatar_7_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/avatar_8_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/avatar_8_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/avatar_9_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/avatar_9_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/ic_arrow_back_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/ic_arrow_back_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/ic_check_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/ic_check_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/ic_close_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/ic_close_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxhdpi/ic_play_arrow_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxhdpi/ic_play_arrow_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/avatar_10_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/avatar_10_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/avatar_11_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/avatar_11_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/avatar_12_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/avatar_12_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/avatar_13_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/avatar_13_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/avatar_14_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/avatar_14_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/avatar_15_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/avatar_15_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/avatar_16_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/avatar_16_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/avatar_1_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/avatar_1_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/avatar_2_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/avatar_2_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/avatar_3_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/avatar_3_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/avatar_4_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/avatar_4_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/avatar_5_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/avatar_5_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/avatar_6_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/avatar_6_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/avatar_7_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/avatar_7_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/avatar_8_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/avatar_8_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/avatar_9_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/avatar_9_raster.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/ic_arrow_back_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/ic_arrow_back_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/ic_check_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/ic_check_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/ic_close_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/ic_close_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable-xxxhdpi/ic_play_arrow_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/drawable-xxxhdpi/ic_play_arrow_black.png
--------------------------------------------------------------------------------
/base/src/main/res/drawable/avatar_1.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/avatar_10.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/avatar_11.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/avatar_12.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/avatar_13.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/avatar_14.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/avatar_15.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/avatar_16.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/avatar_2.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/avatar_3.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/avatar_4.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/avatar_5.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/avatar_6.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/avatar_7.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/avatar_8.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/avatar_9.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/ic_arrow_back.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
19 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/ic_cross.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/ic_play.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/ic_tick.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/selector_avatar.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/selector_button.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 | -
19 |
20 |
21 | -
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/selector_checkable.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 | -
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/selector_list.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/base/src/main/res/drawable/selector_subtle.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
--------------------------------------------------------------------------------
/base/src/main/res/layout/activity_sign_in.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
26 |
--------------------------------------------------------------------------------
/base/src/main/res/layout/fab_done.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
30 |
--------------------------------------------------------------------------------
/base/src/main/res/layout/item_avatar.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
24 |
--------------------------------------------------------------------------------
/base/src/main/res/menu/menu_category.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
--------------------------------------------------------------------------------
/base/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/base/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/base/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/base/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/base/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/base/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/base/src/main/res/transition-v21/signin_enter.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/base/src/main/res/transition-v21/signin_exit.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/base/src/main/res/values-land/dimens.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 | 72dp
19 |
20 |
--------------------------------------------------------------------------------
/base/src/main/res/values-sw600dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 | 24dp
19 |
20 |
--------------------------------------------------------------------------------
/base/src/main/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
23 |
24 |
28 |
29 |
30 |
33 |
34 |
--------------------------------------------------------------------------------
/base/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/base/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 | 2dp
19 | 4dp
20 | 8dp
21 | 16dp
22 | 72dp
23 |
24 | 56dp
25 | 40dp
26 | 24dp
27 |
28 | 4dp
29 |
30 | 48dp
31 | 144dp
32 |
33 | 4dp
34 |
35 | 18sp
36 | 14sp
37 |
38 |
--------------------------------------------------------------------------------
/base/src/main/res/values/ids.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/base/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 | Topeka
19 | Last Initial
20 | First Name
21 | Sign In
22 | Choose an Avatar
23 | An Avatar
24 | %1$d / %2$d
25 | True
26 | False
27 | Category
28 | Sign out
29 | %1$d pts
30 | back
31 |
--------------------------------------------------------------------------------
/base/src/main/res/values/transition_names.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 | AvatarTransition
19 | ToolbarTransition
20 |
--------------------------------------------------------------------------------
/base/src/main/res/values/transitions.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 | - 350
20 |
--------------------------------------------------------------------------------
/base/src/test/java/com/google/samples/apps/topeka/model/quiz/AlphaPickerQuizTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package com.google.samples.apps.topeka.model.quiz
17 |
18 | import org.hamcrest.CoreMatchers.`is`
19 | import org.hamcrest.MatcherAssert.assertThat
20 |
21 | class AlphaPickerQuizTest : AbsQuizTestCase() {
22 |
23 | private val ANSWER = "answer"
24 |
25 | override val quiz get() = AlphaPickerQuiz(QUESTION, ANSWER, false)
26 |
27 | override val expectedQuizType get() = QuizType.ALPHA_PICKER
28 |
29 | override fun quiz_answer_correctlyStored() = assertThat(ANSWER, `is`(quiz.answer))
30 |
31 | override fun quiz_answer_isCorrect() = assertThat(quiz.isAnswerCorrect(quiz.answer), `is`(true))
32 |
33 |
34 | }
--------------------------------------------------------------------------------
/base/src/test/java/com/google/samples/apps/topeka/model/quiz/FillTwoBlanksQuizTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package com.google.samples.apps.topeka.model.quiz
17 |
18 | import org.hamcrest.CoreMatchers.`is`
19 | import org.hamcrest.MatcherAssert.assertThat
20 |
21 | class FillTwoBlanksQuizTest : AbsQuizTestCase() {
22 |
23 | override val quiz get() = FillTwoBlanksQuiz(QUESTION, STRING_ARRAY, false)
24 |
25 | override val expectedQuizType get() = QuizType.FILL_TWO_BLANKS
26 |
27 | override fun quiz_answer_isCorrect() = assertThat(quiz.isAnswerCorrect(quiz.answer), `is`(true))
28 |
29 | override fun quiz_answer_correctlyStored() = assertThat(STRING_ARRAY, `is`(quiz.answer))
30 | }
--------------------------------------------------------------------------------
/base/src/test/java/com/google/samples/apps/topeka/model/quiz/FourQuarterQuizTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package com.google.samples.apps.topeka.model.quiz
17 |
18 | import org.hamcrest.CoreMatchers.`is`
19 | import org.hamcrest.MatcherAssert.assertThat
20 |
21 | class FourQuarterQuizTest : AbsQuizTestCase() {
22 |
23 | override val quiz get() = FourQuarterQuiz(QUESTION, INT_ARRAY, STRING_ARRAY, false)
24 |
25 | override val expectedQuizType get() = QuizType.FOUR_QUARTER
26 |
27 | override fun quiz_answer_isCorrect() = assertThat(quiz.isAnswerCorrect(quiz.answer), `is`(true))
28 |
29 | override fun quiz_answer_correctlyStored() = assertThat(INT_ARRAY, `is`(quiz.answer))
30 | }
--------------------------------------------------------------------------------
/base/src/test/java/com/google/samples/apps/topeka/model/quiz/MultiSelectQuizTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package com.google.samples.apps.topeka.model.quiz
17 |
18 | import org.hamcrest.CoreMatchers.`is`
19 | import org.hamcrest.MatcherAssert.assertThat
20 |
21 | class MultiSelectQuizTest : AbsQuizTestCase() {
22 |
23 | override val quiz get() = MultiSelectQuiz(QUESTION, INT_ARRAY, STRING_ARRAY, false)
24 |
25 | override val expectedQuizType get() = QuizType.MULTI_SELECT
26 |
27 | override fun quiz_answer_isCorrect() = assertThat(quiz.isAnswerCorrect(quiz.answer), `is`(true))
28 |
29 | override fun quiz_answer_correctlyStored() = assertThat(INT_ARRAY, `is`(quiz.answer))
30 | }
--------------------------------------------------------------------------------
/base/src/test/java/com/google/samples/apps/topeka/model/quiz/SelectItemQuizTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package com.google.samples.apps.topeka.model.quiz
17 |
18 | import org.hamcrest.CoreMatchers.`is`
19 | import org.hamcrest.MatcherAssert.assertThat
20 |
21 | class SelectItemQuizTest : AbsQuizTestCase() {
22 |
23 | override val quiz get() = SelectItemQuiz(QUESTION, INT_ARRAY, STRING_ARRAY, false)
24 |
25 | override val expectedQuizType get() = QuizType.SINGLE_SELECT
26 |
27 | override fun quiz_answer_isCorrect() = assertThat(quiz.isAnswerCorrect(quiz.answer), `is`(true))
28 |
29 | override fun quiz_answer_correctlyStored() = assertThat(INT_ARRAY, `is`(quiz.answer))
30 | }
--------------------------------------------------------------------------------
/base/src/test/java/com/google/samples/apps/topeka/model/quiz/ToggleTranslateQuizTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package com.google.samples.apps.topeka.model.quiz
17 |
18 | import org.hamcrest.CoreMatchers.`is`
19 | import org.hamcrest.MatcherAssert.assertThat
20 |
21 | class ToggleTranslateQuizTest : AbsQuizTestCase() {
22 |
23 | private val OPTIONS = arrayOf(STRING_ARRAY, STRING_ARRAY)
24 | private val CORRECT_ANSWER = intArrayOf(0, 1)
25 |
26 | override val quiz get() = ToggleTranslateQuiz(QUESTION, CORRECT_ANSWER, OPTIONS, false)
27 |
28 | override val expectedQuizType get() = QuizType.TOGGLE_TRANSLATE
29 |
30 | override fun quiz_answer_isCorrect() = assertThat(quiz.isAnswerCorrect(quiz.answer), `is`(true))
31 |
32 | override fun quiz_answer_correctlyStored() = assertThat(CORRECT_ANSWER, `is`(quiz.answer))
33 |
34 | }
--------------------------------------------------------------------------------
/base/src/test/java/com/google/samples/apps/topeka/model/quiz/TrueFalseQuizTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package com.google.samples.apps.topeka.model.quiz
17 |
18 | import org.hamcrest.CoreMatchers.`is`
19 | import org.hamcrest.MatcherAssert.assertThat
20 |
21 | class TrueFalseQuizTest : AbsQuizTestCase() {
22 |
23 | private val ANSWER = true
24 |
25 | override val quiz get() = TrueFalseQuiz(QUESTION, ANSWER, false)
26 |
27 | override val expectedQuizType get() = QuizType.TRUE_FALSE
28 |
29 | override fun quiz_answer_isCorrect() = assertThat(quiz.isAnswerCorrect(quiz.answer), `is`(true))
30 |
31 | override fun quiz_answer_correctlyStored() = assertThat(ANSWER, `is`(quiz.answer))
32 | }
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
18 |
19 | buildscript {
20 | ext.kotlin_version = '1.4.0'
21 | repositories {
22 | google()
23 | jcenter()
24 | }
25 | dependencies {
26 | classpath 'com.android.tools.build:gradle:4.0.1'
27 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
28 |
29 | // NOTE: Do not place your application dependencies here; they belong
30 | // in the individual module build.gradle files
31 | }
32 | }
33 |
34 | allprojects {
35 | repositories {
36 | google()
37 | jcenter()
38 | }
39 | }
40 |
41 | ext {
42 | compileSdk = 29
43 | targetSdk = 29
44 | minSdkInstant = 21
45 | minSdk = 14
46 |
47 | }
48 |
--------------------------------------------------------------------------------
/categories/proguard.pro:
--------------------------------------------------------------------------------
1 | -dontobfuscate
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-hdpi/icon_category_entertainment_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-hdpi/icon_category_entertainment_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-hdpi/icon_category_food_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-hdpi/icon_category_food_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-hdpi/icon_category_geography_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-hdpi/icon_category_geography_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-hdpi/icon_category_history_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-hdpi/icon_category_history_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-hdpi/icon_category_knowledge_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-hdpi/icon_category_knowledge_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-hdpi/icon_category_leaderboard_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-hdpi/icon_category_leaderboard_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-hdpi/icon_category_music_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-hdpi/icon_category_music_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-hdpi/icon_category_science_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-hdpi/icon_category_science_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-hdpi/icon_category_sports_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-hdpi/icon_category_sports_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-hdpi/icon_category_tvmovies_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-hdpi/icon_category_tvmovies_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-mdpi/icon_category_entertainment_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-mdpi/icon_category_entertainment_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-mdpi/icon_category_food_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-mdpi/icon_category_food_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-mdpi/icon_category_geography_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-mdpi/icon_category_geography_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-mdpi/icon_category_history_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-mdpi/icon_category_history_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-mdpi/icon_category_knowledge_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-mdpi/icon_category_knowledge_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-mdpi/icon_category_leaderboard_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-mdpi/icon_category_leaderboard_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-mdpi/icon_category_music_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-mdpi/icon_category_music_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-mdpi/icon_category_science_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-mdpi/icon_category_science_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-mdpi/icon_category_sports_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-mdpi/icon_category_sports_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-mdpi/icon_category_tvmovies_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-mdpi/icon_category_tvmovies_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xhdpi/icon_category_entertainment_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xhdpi/icon_category_entertainment_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xhdpi/icon_category_food_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xhdpi/icon_category_food_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xhdpi/icon_category_geography_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xhdpi/icon_category_geography_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xhdpi/icon_category_history_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xhdpi/icon_category_history_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xhdpi/icon_category_knowledge_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xhdpi/icon_category_knowledge_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xhdpi/icon_category_leaderboard_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xhdpi/icon_category_leaderboard_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xhdpi/icon_category_music_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xhdpi/icon_category_music_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xhdpi/icon_category_science_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xhdpi/icon_category_science_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xhdpi/icon_category_sports_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xhdpi/icon_category_sports_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xhdpi/icon_category_tvmovies_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xhdpi/icon_category_tvmovies_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxhdpi/icon_category_entertainment_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxhdpi/icon_category_entertainment_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxhdpi/icon_category_food_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxhdpi/icon_category_food_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxhdpi/icon_category_geography_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxhdpi/icon_category_geography_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxhdpi/icon_category_history_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxhdpi/icon_category_history_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxhdpi/icon_category_knowledge_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxhdpi/icon_category_knowledge_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxhdpi/icon_category_leaderboard_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxhdpi/icon_category_leaderboard_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxhdpi/icon_category_music_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxhdpi/icon_category_music_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxhdpi/icon_category_science_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxhdpi/icon_category_science_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxhdpi/icon_category_sports_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxhdpi/icon_category_sports_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxhdpi/icon_category_tvmovies_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxhdpi/icon_category_tvmovies_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxxhdpi/icon_category_entertainment_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxxhdpi/icon_category_entertainment_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxxhdpi/icon_category_food_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxxhdpi/icon_category_food_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxxhdpi/icon_category_geography_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxxhdpi/icon_category_geography_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxxhdpi/icon_category_history_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxxhdpi/icon_category_history_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxxhdpi/icon_category_knowledge_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxxhdpi/icon_category_knowledge_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxxhdpi/icon_category_leaderboard_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxxhdpi/icon_category_leaderboard_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxxhdpi/icon_category_music_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxxhdpi/icon_category_music_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxxhdpi/icon_category_science_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxxhdpi/icon_category_science_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxxhdpi/icon_category_sports_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxxhdpi/icon_category_sports_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable-xxxhdpi/icon_category_tvmovies_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/categories/src/main/res/drawable-xxxhdpi/icon_category_tvmovies_raster.png
--------------------------------------------------------------------------------
/categories/src/main/res/drawable/icon_category_entertainment.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/categories/src/main/res/drawable/icon_category_food.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/categories/src/main/res/drawable/icon_category_geography.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/categories/src/main/res/drawable/icon_category_history.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/categories/src/main/res/drawable/icon_category_knowledge.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/categories/src/main/res/drawable/icon_category_leaderboard.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/categories/src/main/res/drawable/icon_category_music.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/categories/src/main/res/drawable/icon_category_science.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/categories/src/main/res/drawable/icon_category_sports.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/categories/src/main/res/drawable/icon_category_tvmovies.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/categories/src/main/res/layout/fragment_categories.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
33 |
--------------------------------------------------------------------------------
/categories/src/main/res/transition-v21/category_enter.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/categories/src/main/res/transition-v21/category_exit.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/categories/src/main/res/transition-v21/category_shared_enter.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/categories/src/main/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
26 |
--------------------------------------------------------------------------------
/categories/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Sat Sep 05 17:53:09 MSK 2020
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
7 |
--------------------------------------------------------------------------------
/quiz/proguard.pro:
--------------------------------------------------------------------------------
1 | -dontobfuscate
--------------------------------------------------------------------------------
/quiz/src/androidTest/java/com/google/samples/apps/topeka/activity/quiz/EntertainmentQuizTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.activity.quiz
18 |
19 | class EntertainmentQuizTest : BaseQuizActivityTest() {
20 |
21 | override val category get() = ENTERTAINMENT
22 | }
23 |
--------------------------------------------------------------------------------
/quiz/src/androidTest/java/com/google/samples/apps/topeka/activity/quiz/FoodAndDrinkQuizTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.activity.quiz
18 |
19 | class FoodAndDrinkQuizTest : BaseQuizActivityTest() {
20 |
21 | override val category get() = FOOD
22 | }
23 |
--------------------------------------------------------------------------------
/quiz/src/androidTest/java/com/google/samples/apps/topeka/activity/quiz/GeneralKnowledgeQuizTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.activity.quiz
18 |
19 | class GeneralKnowledgeQuizTest : BaseQuizActivityTest() {
20 |
21 | override val category get() = GENERAL_KNOWLEDGE
22 | }
23 |
--------------------------------------------------------------------------------
/quiz/src/androidTest/java/com/google/samples/apps/topeka/activity/quiz/GeographyQuizTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.activity.quiz
18 |
19 | class GeographyQuizTest : BaseQuizActivityTest() {
20 |
21 | override val category get() = GEOGRAPHY
22 | }
23 |
--------------------------------------------------------------------------------
/quiz/src/androidTest/java/com/google/samples/apps/topeka/activity/quiz/HistoryQuizTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.activity.quiz
18 |
19 | class HistoryQuizTest : BaseQuizActivityTest() {
20 |
21 | override val category get() = HISTORY
22 | }
23 |
--------------------------------------------------------------------------------
/quiz/src/androidTest/java/com/google/samples/apps/topeka/activity/quiz/MusicQuizTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.activity.quiz
18 |
19 | class MusicQuizTest : BaseQuizActivityTest() {
20 |
21 | override val category get() = MUSIC
22 | }
23 |
--------------------------------------------------------------------------------
/quiz/src/androidTest/java/com/google/samples/apps/topeka/activity/quiz/ScienceAndNatureQuizTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.activity.quiz
18 |
19 | class ScienceAndNatureQuizTest : BaseQuizActivityTest() {
20 |
21 | override val category get() = SCIENCE_AND_NATURE
22 | }
23 |
--------------------------------------------------------------------------------
/quiz/src/androidTest/java/com/google/samples/apps/topeka/activity/quiz/SportsQuizTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.activity.quiz
18 |
19 | class SportsQuizTest : BaseQuizActivityTest() {
20 |
21 | override val category get() = SPORTS
22 | }
23 |
--------------------------------------------------------------------------------
/quiz/src/androidTest/java/com/google/samples/apps/topeka/activity/quiz/TVAndMoviesQuizTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.activity.quiz
18 |
19 | class TVAndMoviesQuizTest : BaseQuizActivityTest() {
20 |
21 | override val category get() = TV_AND_MOVIES
22 | }
23 |
--------------------------------------------------------------------------------
/quiz/src/main/java/com/google/samples/apps/topeka/widget/SeekBarListener.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.samples.apps.topeka.widget
18 |
19 | import android.widget.SeekBar
20 |
21 | object SeekBarListener : SeekBar.OnSeekBarChangeListener {
22 |
23 | override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) = Unit
24 |
25 | override fun onStartTrackingTouch(seekBar: SeekBar) = Unit
26 |
27 | override fun onStopTrackingTouch(seekBar: SeekBar) = Unit
28 |
29 | }
--------------------------------------------------------------------------------
/quiz/src/main/res/animator-v21/cross_to_tick_line_1.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
25 |
--------------------------------------------------------------------------------
/quiz/src/main/res/animator-v21/cross_to_tick_line_2.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
25 |
--------------------------------------------------------------------------------
/quiz/src/main/res/animator-v21/rotate_cross_to_tick.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
24 |
--------------------------------------------------------------------------------
/quiz/src/main/res/animator-v21/rotate_tick_to_cross.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
24 |
--------------------------------------------------------------------------------
/quiz/src/main/res/animator-v21/slide_in_bottom.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
25 |
--------------------------------------------------------------------------------
/quiz/src/main/res/animator-v21/slide_out_top.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
25 |
--------------------------------------------------------------------------------
/quiz/src/main/res/animator-v21/tick_to_cross_line_1.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
25 |
--------------------------------------------------------------------------------
/quiz/src/main/res/animator-v21/tick_to_cross_line_2.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
25 |
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-hdpi/image_category_entertainment_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-hdpi/image_category_entertainment_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-hdpi/image_category_food_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-hdpi/image_category_food_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-hdpi/image_category_geography_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-hdpi/image_category_geography_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-hdpi/image_category_history_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-hdpi/image_category_history_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-hdpi/image_category_knowledge_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-hdpi/image_category_knowledge_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-hdpi/image_category_music_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-hdpi/image_category_music_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-hdpi/image_category_science_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-hdpi/image_category_science_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-hdpi/image_category_sports_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-hdpi/image_category_sports_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-hdpi/image_category_tvmovies_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-hdpi/image_category_tvmovies_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-mdpi/image_category_entertainment_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-mdpi/image_category_entertainment_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-mdpi/image_category_food_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-mdpi/image_category_food_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-mdpi/image_category_geography_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-mdpi/image_category_geography_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-mdpi/image_category_history_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-mdpi/image_category_history_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-mdpi/image_category_knowledge_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-mdpi/image_category_knowledge_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-mdpi/image_category_music_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-mdpi/image_category_music_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-mdpi/image_category_science_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-mdpi/image_category_science_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-mdpi/image_category_sports_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-mdpi/image_category_sports_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-mdpi/image_category_tvmovies_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-mdpi/image_category_tvmovies_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xhdpi/image_category_entertainment_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xhdpi/image_category_entertainment_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xhdpi/image_category_food_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xhdpi/image_category_food_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xhdpi/image_category_geography_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xhdpi/image_category_geography_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xhdpi/image_category_history_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xhdpi/image_category_history_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xhdpi/image_category_knowledge_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xhdpi/image_category_knowledge_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xhdpi/image_category_music_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xhdpi/image_category_music_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xhdpi/image_category_science_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xhdpi/image_category_science_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xhdpi/image_category_sports_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xhdpi/image_category_sports_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xhdpi/image_category_tvmovies_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xhdpi/image_category_tvmovies_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xxhdpi/image_category_entertainment_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xxhdpi/image_category_entertainment_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xxhdpi/image_category_food_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xxhdpi/image_category_food_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xxhdpi/image_category_geography_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xxhdpi/image_category_geography_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xxhdpi/image_category_history_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xxhdpi/image_category_history_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xxhdpi/image_category_knowledge_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xxhdpi/image_category_knowledge_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xxhdpi/image_category_music_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xxhdpi/image_category_music_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xxhdpi/image_category_science_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xxhdpi/image_category_science_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xxhdpi/image_category_sports_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xxhdpi/image_category_sports_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xxhdpi/image_category_tvmovies_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xxhdpi/image_category_tvmovies_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xxxhdpi/image_category_entertainment_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xxxhdpi/image_category_entertainment_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xxxhdpi/image_category_food_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xxxhdpi/image_category_food_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xxxhdpi/image_category_geography_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xxxhdpi/image_category_geography_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xxxhdpi/image_category_history_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xxxhdpi/image_category_history_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xxxhdpi/image_category_knowledge_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xxxhdpi/image_category_knowledge_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xxxhdpi/image_category_music_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xxxhdpi/image_category_music_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xxxhdpi/image_category_science_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xxxhdpi/image_category_science_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xxxhdpi/image_category_sports_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xxxhdpi/image_category_sports_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable-xxxhdpi/image_category_tvmovies_raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/quiz/src/main/res/drawable-xxxhdpi/image_category_tvmovies_raster.png
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable/answer_quiz_fab.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable/image_category_entertainment.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable/image_category_food.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable/image_category_geography.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable/image_category_history.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable/image_category_knowledge.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable/image_category_music.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable/image_category_science.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable/image_category_sports.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable/image_category_tvmovies.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable/selector_avatar.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable/selector_checkable.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 | -
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable/selector_false.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 | -
18 |
19 |
20 | -
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable/selector_list.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/quiz/src/main/res/drawable/selector_true.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 | -
19 |
20 |
21 | -
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/quiz/src/main/res/layout/answer_submit.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
--------------------------------------------------------------------------------
/quiz/src/main/res/layout/item_answer.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
24 |
--------------------------------------------------------------------------------
/quiz/src/main/res/layout/item_answer_start.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
29 |
--------------------------------------------------------------------------------
/quiz/src/main/res/layout/question.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
--------------------------------------------------------------------------------
/quiz/src/main/res/layout/quiz_edit_text.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
30 |
--------------------------------------------------------------------------------
/quiz/src/main/res/transition-v21/quiz_shared_enter.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/quiz/src/main/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
21 |
22 |
--------------------------------------------------------------------------------
/screenshots/categories.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/screenshots/categories.png
--------------------------------------------------------------------------------
/screenshots/category_history.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/screenshots/category_history.png
--------------------------------------------------------------------------------
/screenshots/ic_web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/screenshots/ic_web.png
--------------------------------------------------------------------------------
/screenshots/quiz_shakespeare.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/android/topeka/40737032a604383eca118827a12700dffa2c1cc6/screenshots/quiz_shakespeare.png
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | include ':app'
18 | include ':base', ':quiz', ':categories'
19 |
--------------------------------------------------------------------------------