├── .gitignore
├── CONTRIBUTING.md
├── LICENSE
├── MaterialThemeBuilder
├── README.md
├── app
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── ic_launcher-web.png
│ │ ├── java
│ │ └── io
│ │ │ └── material
│ │ │ └── materialthemebuilder
│ │ │ ├── App.kt
│ │ │ ├── data
│ │ │ └── PreferenceRepository.kt
│ │ │ ├── ui
│ │ │ ├── MainActivity.kt
│ │ │ ├── MainViewPagerAdapter.kt
│ │ │ ├── component
│ │ │ │ ├── BottomSheetFragment.kt
│ │ │ │ ├── Component.kt
│ │ │ │ ├── ComponentAdapter.kt
│ │ │ │ ├── ComponentFragment.kt
│ │ │ │ └── ComponentViewHolder.kt
│ │ │ ├── instruction
│ │ │ │ └── InstructionsFragment.kt
│ │ │ └── themesummary
│ │ │ │ ├── Subsystem.kt
│ │ │ │ ├── SubsystemAdapter.kt
│ │ │ │ ├── SubsystemViewHolder.kt
│ │ │ │ └── ThemeSummaryFragment.kt
│ │ │ └── widget
│ │ │ ├── ColorAttributeView.kt
│ │ │ ├── ColorDotView.kt
│ │ │ ├── LabelLinkView.kt
│ │ │ ├── ShapeAttributeView.kt
│ │ │ └── TypeAttributeView.kt
│ │ └── res
│ │ ├── anim
│ │ ├── bottom_sheet_slide_in.xml
│ │ └── bottom_sheet_slide_out.xml
│ │ ├── drawable-v24
│ │ └── ic_launcher_foreground.xml
│ │ ├── drawable
│ │ ├── ic_add_on_secondary_24dp.xml
│ │ ├── ic_bookmark_24dp.xml
│ │ ├── ic_bookmark_control_normal_24dp.xml
│ │ ├── ic_bookmark_on_surface_24dp.xml
│ │ ├── ic_colorize_24dp.xml
│ │ ├── ic_favorite_on_surface_24dp.xml
│ │ ├── ic_format_size_24dp.xml
│ │ ├── ic_inbox_24dp.xml
│ │ ├── ic_launcher_background.xml
│ │ ├── ic_material_icon_24dp.xml
│ │ ├── ic_menu_control_normal_24dp.xml
│ │ ├── ic_menu_on_surface_24dp.xml
│ │ ├── ic_more_vert_on_surface_24dp.xml
│ │ ├── ic_music_note_on_surface_24dp.xml
│ │ ├── ic_news_on_surface_24dp.xml
│ │ ├── ic_open_in_new_24dp.xml
│ │ ├── ic_place_on_surface_24dp.xml
│ │ ├── ic_rounded_corner_24dp.xml
│ │ ├── ic_search_control_normal_24dp.xml
│ │ ├── ic_search_on_surface_24dp.xml
│ │ ├── ic_send_24dp.xml
│ │ ├── ic_share_control_normal_24dp.xml
│ │ ├── ic_share_on_surface_24dp.xml
│ │ ├── ic_star_24dp.xml
│ │ └── sample_image.png
│ │ ├── font
│ │ └── roboto_black_italic.xml
│ │ ├── layout
│ │ ├── activity_main.xml
│ │ ├── color_attribute_view_layout.xml
│ │ ├── component_bottom_app_bar.xml
│ │ ├── component_bottom_navigation.xml
│ │ ├── component_bottom_sheet.xml
│ │ ├── component_buttons.xml
│ │ ├── component_cards.xml
│ │ ├── component_checkbox.xml
│ │ ├── component_chips.xml
│ │ ├── component_dialog.xml
│ │ ├── component_drawer.xml
│ │ ├── component_fabs.xml
│ │ ├── component_radio_button.xml
│ │ ├── component_snackbar.xml
│ │ ├── component_switch.xml
│ │ ├── component_tabs.xml
│ │ ├── component_text_field.xml
│ │ ├── component_top_app_bar.xml
│ │ ├── drawer_header_layout.xml
│ │ ├── fragment_bottom_sheet.xml
│ │ ├── fragment_component.xml
│ │ ├── fragment_instructions.xml
│ │ ├── fragment_theme_summary.xml
│ │ ├── label_view_layout.xml
│ │ ├── shape_attribute_view_layout.xml
│ │ ├── subsystem_color.xml
│ │ ├── subsystem_shape.xml
│ │ ├── subsystem_type.xml
│ │ └── type_attribute_view_layout.xml
│ │ ├── menu
│ │ ├── bottom_app_bar_menu.xml
│ │ ├── bottom_navigation_menu.xml
│ │ ├── navigation_view_menu.xml
│ │ └── top_app_bar_menu.xml
│ │ ├── mipmap-anydpi-v26
│ │ ├── ic_launcher.xml
│ │ └── ic_launcher_round.xml
│ │ ├── mipmap-hdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_foreground.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-mdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_foreground.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xhdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_foreground.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxhdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_foreground.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxxhdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_foreground.png
│ │ └── ic_launcher_round.png
│ │ ├── values-night
│ │ └── themes.xml
│ │ └── values
│ │ ├── attrs.xml
│ │ ├── color.xml
│ │ ├── dimens.xml
│ │ ├── font_certs.xml
│ │ ├── ic_launcher_background.xml
│ │ ├── motion.xml
│ │ ├── preloaded_fonts.xml
│ │ ├── shape.xml
│ │ ├── strings.xml
│ │ ├── styles.xml
│ │ ├── themes.xml
│ │ └── type.xml
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
├── Owl
├── .google
│ └── packaging.yaml
├── README.md
├── app
│ ├── build.gradle
│ ├── proguard-rules.pro
│ ├── sampledata
│ │ ├── courses.json
│ │ ├── lessons.json
│ │ ├── steps.json
│ │ └── topics.json
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ └── com
│ │ │ └── materialstudies
│ │ │ └── owl
│ │ │ ├── OwlApplication.kt
│ │ │ ├── model
│ │ │ ├── Course.kt
│ │ │ ├── Lesson.kt
│ │ │ └── Topic.kt
│ │ │ ├── ui
│ │ │ ├── MainActivity.kt
│ │ │ ├── featured
│ │ │ │ ├── FeaturedAdapter.kt
│ │ │ │ └── FeaturedFragment.kt
│ │ │ ├── learn
│ │ │ │ ├── LearnFragment.kt
│ │ │ │ └── RelatedAdapter.kt
│ │ │ ├── lessons
│ │ │ │ ├── LessonAdapter.kt
│ │ │ │ ├── LessonBottomSheetBehavior.kt
│ │ │ │ ├── LessonFragment.kt
│ │ │ │ ├── LessonsSheetFragment.kt
│ │ │ │ └── StepsAdapter.kt
│ │ │ ├── mycourses
│ │ │ │ ├── MyCoursesAdapter.kt
│ │ │ │ └── MyCoursesFragment.kt
│ │ │ ├── onboarding
│ │ │ │ ├── OnboardingFragment.kt
│ │ │ │ ├── TopicThumbnailDrawable.kt
│ │ │ │ ├── TopicThumbnailTransformation.kt
│ │ │ │ └── TopicsAdapter.kt
│ │ │ └── search
│ │ │ │ ├── SearchAdapter.kt
│ │ │ │ └── SearchFragment.kt
│ │ │ └── util
│ │ │ ├── AnimationUtils.kt
│ │ │ ├── BindingAdapters.kt
│ │ │ ├── ContentViewBindingDelegate.kt
│ │ │ ├── GlideUtils.kt
│ │ │ ├── GraphicsExtensions.kt
│ │ │ ├── ShapeAppearanceTransformation.kt
│ │ │ ├── SpringAddItemAnimator.kt
│ │ │ ├── ViewExtensions.kt
│ │ │ └── transition
│ │ │ ├── DiagonalSlide.kt
│ │ │ ├── MaterialContainerTransition.kt
│ │ │ └── Recede.kt
│ │ └── res
│ │ ├── anim
│ │ ├── shrink_fade_out_center.xml
│ │ ├── slide_in_up.xml
│ │ └── slide_out_down.xml
│ │ ├── animator
│ │ └── topic_selection.xml
│ │ ├── color
│ │ ├── bottom_nav_item.xml
│ │ ├── divider.xml
│ │ ├── primary_sheet.xml
│ │ └── topic_tint.xml
│ │ ├── drawable-v26
│ │ ├── ic_launcher_background.xml
│ │ └── ic_launcher_foreground.xml
│ │ ├── drawable
│ │ ├── asl_featured.xml
│ │ ├── asl_my_courses.xml
│ │ ├── asl_search.xml
│ │ ├── avatar_outline.xml
│ │ ├── avd_featured_off.xml
│ │ ├── avd_featured_on.xml
│ │ ├── avd_my_courses_off.xml
│ │ ├── avd_my_courses_on.xml
│ │ ├── avd_search_off.xml
│ │ ├── avd_search_on.xml
│ │ ├── course_image_placeholder.xml
│ │ ├── divider.xml
│ │ ├── ic_account.xml
│ │ ├── ic_add.xml
│ │ ├── ic_add_alt.xml
│ │ ├── ic_arrow_down.xml
│ │ ├── ic_avatar_placeholder.xml
│ │ ├── ic_back.xml
│ │ ├── ic_checkmark.xml
│ │ ├── ic_compass.xml
│ │ ├── ic_course.xml
│ │ ├── ic_featured.xml
│ │ ├── ic_gear.xml
│ │ ├── ic_lockup_blue.xml
│ │ ├── ic_lockup_white.xml
│ │ ├── ic_logo.xml
│ │ ├── ic_my_courses.xml
│ │ ├── ic_pause.xml
│ │ ├── ic_play.xml
│ │ ├── ic_playlist.xml
│ │ ├── ic_search.xml
│ │ ├── inset_divider.xml
│ │ ├── learn_image_scrim.xml
│ │ ├── lesson_video_scrim.xml
│ │ ├── seekbar_track.xml
│ │ ├── sheet_expand.xml
│ │ ├── small_component_foreground.xml
│ │ ├── stroked_course_image_placeholder.xml
│ │ └── topic_foreground.xml
│ │ ├── font
│ │ ├── rubik.xml
│ │ ├── rubik_bold.xml
│ │ └── rubik_medium.xml
│ │ ├── layout
│ │ ├── activity_main.xml
│ │ ├── course_item.xml
│ │ ├── featured_item.xml
│ │ ├── fragment_featured.xml
│ │ ├── fragment_learn.xml
│ │ ├── fragment_lesson.xml
│ │ ├── fragment_lessons_sheet.xml
│ │ ├── fragment_my_courses.xml
│ │ ├── fragment_onboarding.xml
│ │ ├── fragment_search.xml
│ │ ├── lesson_item.xml
│ │ ├── onboarding_topic_item.xml
│ │ ├── related_course_item.xml
│ │ ├── search_item.xml
│ │ └── step_item.xml
│ │ ├── menu
│ │ ├── account.xml
│ │ ├── learn.xml
│ │ └── main.xml
│ │ ├── mipmap-anydpi-v26
│ │ └── ic_launcher.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
│ │ ├── navigation
│ │ └── navigation.xml
│ │ ├── values-h600dp
│ │ └── dimens.xml
│ │ ├── values-night
│ │ ├── aliases.xml
│ │ └── theme.xml
│ │ ├── values-v29
│ │ └── color.xml
│ │ ├── values-w600dp
│ │ └── dimens.xml
│ │ └── values
│ │ ├── aliases.xml
│ │ ├── attrs.xml
│ │ ├── color.xml
│ │ ├── dimens.xml
│ │ ├── font_certs.xml
│ │ ├── ids.xml
│ │ ├── preloaded_fonts.xml
│ │ ├── shape.xml
│ │ ├── strings.xml
│ │ ├── styles.xml
│ │ ├── theme.xml
│ │ └── type.xml
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── screenshots
│ ├── collage_header.png
│ ├── color_header.png
│ ├── owl_demo.gif
│ ├── owl_demo_dark.gif
│ ├── shape_header.png
│ └── type_header.png
└── settings.gradle
├── README.md
├── Reply
├── .google
│ └── packaging.yaml
├── README.md
├── app
│ ├── .gitignore
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── ic_launcher-web.png
│ │ ├── java
│ │ └── com
│ │ │ └── materialstudies
│ │ │ └── reply
│ │ │ ├── data
│ │ │ ├── Account.kt
│ │ │ ├── AccountStore.kt
│ │ │ ├── Email.kt
│ │ │ ├── EmailAttachment.kt
│ │ │ ├── EmailFolder.kt
│ │ │ ├── EmailStore.kt
│ │ │ ├── SearchSuggestion.kt
│ │ │ └── SearchSuggestionStore.kt
│ │ │ ├── ui
│ │ │ ├── MainActivity.kt
│ │ │ ├── MenuBottomSheetDialogFragment.kt
│ │ │ ├── common
│ │ │ │ ├── EmailAttachmentAdapter.kt
│ │ │ │ └── EmailAttachmentViewHolder.kt
│ │ │ ├── compose
│ │ │ │ └── ComposeFragment.kt
│ │ │ ├── email
│ │ │ │ ├── EmailAttachmentGridAdapter.kt
│ │ │ │ └── EmailFragment.kt
│ │ │ ├── home
│ │ │ │ ├── EmailAdapter.kt
│ │ │ │ ├── EmailSwipeActionDrawable.kt
│ │ │ │ ├── EmailViewHolder.kt
│ │ │ │ ├── HomeFragment.kt
│ │ │ │ ├── Mailbox.kt
│ │ │ │ └── ReboundingSwipeActionCallback.kt
│ │ │ ├── nav
│ │ │ │ ├── AccountAdapter.kt
│ │ │ │ ├── AccountViewHolder.kt
│ │ │ │ ├── BottomNavDrawerFragment.kt
│ │ │ │ ├── BottomNavigationDrawerCallback.kt
│ │ │ │ ├── NavigationAdapter.kt
│ │ │ │ ├── NavigationModel.kt
│ │ │ │ ├── NavigationModelItem.kt
│ │ │ │ ├── NavigationViewHolder.kt
│ │ │ │ ├── OnSandwichSlideAction.kt
│ │ │ │ ├── OnSlideAction.kt
│ │ │ │ ├── OnStateChangedAction.kt
│ │ │ │ └── SemiCircleEdgeCutoutTreatment.kt
│ │ │ └── search
│ │ │ │ └── SearchFragment.kt
│ │ │ └── util
│ │ │ ├── AnimationUtils.kt
│ │ │ ├── BindingAdapter.kt
│ │ │ ├── ContentViewBindingDelegate.kt
│ │ │ ├── ContextExtensions.kt
│ │ │ └── ViewExtensions.kt
│ │ └── res
│ │ ├── animator
│ │ ├── fab_hide.xml
│ │ └── fab_show.xml
│ │ ├── color
│ │ ├── color_navigation_drawer_menu_item.xml
│ │ ├── color_on_primary_surface_divider.xml
│ │ ├── color_on_primary_surface_emphasis_disabled.xml
│ │ ├── color_on_primary_surface_emphasis_high.xml
│ │ ├── color_on_primary_surface_emphasis_medium.xml
│ │ ├── color_on_surface_divider.xml
│ │ ├── color_on_surface_emphasis_disabled.xml
│ │ ├── color_on_surface_emphasis_high.xml
│ │ └── color_on_surface_emphasis_medium.xml
│ │ ├── drawable
│ │ ├── asl_edit_reply.xml
│ │ ├── avatar_0.jpg
│ │ ├── avatar_1.jpeg
│ │ ├── avatar_10.jpeg
│ │ ├── avatar_2.jpg
│ │ ├── avatar_3.jpg
│ │ ├── avatar_4.jpg
│ │ ├── avatar_5.jpeg
│ │ ├── avatar_6.jpg
│ │ ├── avatar_7.jpeg
│ │ ├── avatar_8.jpeg
│ │ ├── avatar_9.jpg
│ │ ├── avatar_express.png
│ │ ├── avatar_none.xml
│ │ ├── avd_edit_to_reply.xml
│ │ ├── avd_reply_to_edit.xml
│ │ ├── bottom_app_bar_title_foreground.xml
│ │ ├── divider.xml
│ │ ├── ic_archive.xml
│ │ ├── ic_arrow_back.xml
│ │ ├── ic_arrow_down.xml
│ │ ├── ic_arrow_drop_up.xml
│ │ ├── ic_circle.xml
│ │ ├── ic_close.xml
│ │ ├── ic_close_small.xml
│ │ ├── ic_delete.xml
│ │ ├── ic_done.xml
│ │ ├── ic_edit.xml
│ │ ├── ic_forward.xml
│ │ ├── ic_home.xml
│ │ ├── ic_launcher_foreground.xml
│ │ ├── ic_mic.xml
│ │ ├── ic_reply.xml
│ │ ├── ic_reply_all.xml
│ │ ├── ic_reply_logo.xml
│ │ ├── ic_schedule.xml
│ │ ├── ic_search.xml
│ │ ├── ic_settings.xml
│ │ ├── ic_twotone_add_circle_outline.xml
│ │ ├── ic_twotone_delete.xml
│ │ ├── ic_twotone_drafts.xml
│ │ ├── ic_twotone_error.xml
│ │ ├── ic_twotone_folder.xml
│ │ ├── ic_twotone_forward.xml
│ │ ├── ic_twotone_inbox.xml
│ │ ├── ic_twotone_send.xml
│ │ ├── ic_twotone_star.xml
│ │ ├── ic_twotone_star_on_background.xml
│ │ ├── ic_twotone_stars.xml
│ │ ├── nav_divider_top.xml
│ │ ├── paris_1.jpg
│ │ ├── paris_2.jpg
│ │ ├── paris_3.jpg
│ │ └── paris_4.jpg
│ │ ├── font
│ │ ├── work_sans.xml
│ │ ├── work_sans_bold.xml
│ │ ├── work_sans_extrabold.xml
│ │ ├── work_sans_medium.xml
│ │ └── work_sans_semibold.xml
│ │ ├── layout
│ │ ├── account_item_layout.xml
│ │ ├── activity_main.xml
│ │ ├── compose_recipient_chip.xml
│ │ ├── email_attachment_grid_item_layout.xml
│ │ ├── email_attachment_preview_item_layout.xml
│ │ ├── email_item_layout.xml
│ │ ├── fragment_bottom_nav_drawer.xml
│ │ ├── fragment_compose.xml
│ │ ├── fragment_email.xml
│ │ ├── fragment_home.xml
│ │ ├── fragment_search.xml
│ │ ├── menu_bottom_sheet_dialog_layout.xml
│ │ ├── nav_divider_item_layout.xml
│ │ ├── nav_email_folder_item_layout.xml
│ │ ├── nav_menu_item_layout.xml
│ │ ├── search_suggestion_item.xml
│ │ ├── search_suggestion_title.xml
│ │ └── spinner_item_layout.xml
│ │ ├── menu-v29
│ │ └── dark_theme_bottom_sheet_menu.xml
│ │ ├── menu
│ │ ├── bottom_app_bar_email_menu.xml
│ │ ├── bottom_app_bar_home_menu.xml
│ │ ├── bottom_app_bar_settings_menu.xml
│ │ ├── dark_theme_bottom_sheet_menu.xml
│ │ └── email_bottom_sheet_menu.xml
│ │ ├── mipmap-anydpi-v26
│ │ ├── ic_launcher.xml
│ │ └── ic_launcher_round.xml
│ │ ├── mipmap-hdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-mdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxxhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── navigation
│ │ └── navigation_graph.xml
│ │ ├── values-night
│ │ └── themes.xml
│ │ ├── values-v29
│ │ └── color.xml
│ │ └── values
│ │ ├── attrs.xml
│ │ ├── color.xml
│ │ ├── dimens.xml
│ │ ├── elevation.xml
│ │ ├── font_certs.xml
│ │ ├── ids.xml
│ │ ├── layout.xml
│ │ ├── motion.xml
│ │ ├── preloaded_fonts.xml
│ │ ├── shape.xml
│ │ ├── strings.xml
│ │ ├── styles.xml
│ │ ├── themes.xml
│ │ └── type.xml
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── screenshots
│ ├── 1_home_screen.png
│ ├── 2_navigation_drawer.png
│ ├── 3_account_sandwich.png
│ ├── 4_star_email_action.png
│ ├── 5_email_details.png
│ ├── 6_email_compose.png
│ ├── collage_header.png
│ ├── color_header.png
│ ├── shape_header.png
│ └── typography_header.png
└── settings.gradle
└── screenshots
└── mdc_samples.gif
/.gitignore:
--------------------------------------------------------------------------------
1 | build
2 | captures
3 | *.iml
4 | out
5 | .idea
6 | prebuilts
7 | .DS_Store
8 | local.properties
9 | .gradle
10 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # How to Contribute
2 |
3 | We'd love to accept your patches and contributions to this project. There are
4 | just a few small guidelines you need to follow.
5 |
6 | ## Contributor License Agreement
7 |
8 | Contributions to this project must be accompanied by a Contributor License
9 | Agreement. You (or your employer) retain the copyright to your contribution;
10 | this simply gives us permission to use and redistribute your contributions as
11 | part of the project. Head over to to see
12 | your current agreements on file or to sign a new one.
13 |
14 | You generally only need to submit a CLA once, so if you've already submitted one
15 | (even if it was for a different project), you probably don't need to do it
16 | again.
17 |
18 | ## Code reviews
19 |
20 | All submissions, including submissions by project members, require review. We
21 | use GitHub pull requests for this purpose. Consult
22 | [GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
23 | information on using pull requests.
24 |
25 | ## Community Guidelines
26 |
27 | This project follows
28 | [Google's Open Source Community Guidelines](https://opensource.google.com/conduct/).
29 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 | apply plugin: 'kotlin-android'
3 |
4 | android {
5 | compileSdkVersion 30
6 | defaultConfig {
7 | applicationId "io.material.materialthemebuilder"
8 | minSdkVersion 23
9 | targetSdkVersion 30
10 | versionCode 1
11 | versionName "1.0"
12 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
13 | }
14 | buildTypes {
15 | release {
16 | minifyEnabled false
17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18 | }
19 | }
20 | compileOptions {
21 | sourceCompatibility JavaVersion.VERSION_1_8
22 | targetCompatibility JavaVersion.VERSION_1_8
23 | }
24 | kotlinOptions {
25 | jvmTarget = "1.8"
26 | }
27 | }
28 |
29 | dependencies {
30 | implementation fileTree(dir: 'libs', include: ['*.jar'])
31 |
32 | // Kotlin
33 | implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
34 |
35 | // AndroidX
36 | implementation 'androidx.appcompat:appcompat:1.2.0'
37 | implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
38 | implementation 'androidx.recyclerview:recyclerview:1.2.0-alpha06'
39 | implementation 'androidx.core:core-ktx:1.3.2'
40 |
41 | //MDC
42 | implementation 'com.google.android.material:material:1.2.1'
43 | }
44 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/ic_launcher-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/MaterialThemeBuilder/app/src/main/ic_launcher-web.png
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/java/io/material/materialthemebuilder/App.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2019 The Android Open Source Project
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 io.material.materialthemebuilder
18 |
19 | import android.app.Application
20 | import android.content.Context
21 | import io.material.materialthemebuilder.data.PreferenceRepository
22 |
23 | class App : Application() {
24 |
25 | lateinit var preferenceRepository: PreferenceRepository
26 |
27 | override fun onCreate() {
28 | super.onCreate()
29 | preferenceRepository = PreferenceRepository(
30 | getSharedPreferences(DEFAULT_PREFERENCES, Context.MODE_PRIVATE)
31 | )
32 | }
33 |
34 | companion object {
35 | const val DEFAULT_PREFERENCES = "default_preferences"
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/java/io/material/materialthemebuilder/ui/component/Component.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2019 The Android Open Source Project
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 io.material.materialthemebuilder.ui.component
18 |
19 | /**
20 | * Enumeration of all components to be displayed by [ComponentAdapter].
21 | *
22 | * All components in this enum will be shown by [ComponentAdapter]. The order of the components
23 | * here will be the order they are displayed in by [ComponentAdapter].
24 | */
25 | enum class Component {
26 | BUTTON,
27 | FAB,
28 | CARD,
29 | TOP_APP_BAR,
30 | CHIP,
31 | DRAWER,
32 | TEXT_FIELD,
33 | BOTTOM_NAVIGATION,
34 | SWITCH,
35 | RADIO_BUTTON,
36 | CHECKBOX,
37 | BOTTOM_APP_BAR,
38 | TABS,
39 | SNACKBAR,
40 | DIALOG,
41 | BOTTOM_SHEET
42 | }
43 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/java/io/material/materialthemebuilder/ui/themesummary/Subsystem.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2019 The Android Open Source Project
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 io.material.materialthemebuilder.ui.themesummary
18 |
19 | /**
20 | * Enumeration of all subsystems to be displayed by [SubsystemAdapter].
21 | *
22 | * All components in this enum will be shown by [SubsystemAdapter]. The order or the components
23 | * here will be the order they are displayed in by [SubsystemAdapter].
24 | */
25 | enum class Subsystem {
26 | COLOR, SHAPE, TYPE
27 | }
28 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/anim/bottom_sheet_slide_in.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
21 |
22 |
25 |
26 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/anim/bottom_sheet_slide_out.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
21 |
22 |
25 |
26 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_add_on_secondary_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_bookmark_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_bookmark_control_normal_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_bookmark_on_surface_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_colorize_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_favorite_on_surface_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_format_size_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_inbox_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_menu_control_normal_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_menu_on_surface_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_more_vert_on_surface_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_music_note_on_surface_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_news_on_surface_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_open_in_new_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_place_on_surface_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_rounded_corner_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_search_control_normal_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_search_on_surface_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_send_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/ic_star_24dp.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/drawable/sample_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/MaterialThemeBuilder/app/src/main/res/drawable/sample_image.png
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/font/roboto_black_italic.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
23 |
24 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/layout/fragment_component.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
23 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/layout/fragment_theme_summary.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
23 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/MaterialThemeBuilder/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/MaterialThemeBuilder/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/MaterialThemeBuilder/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/MaterialThemeBuilder/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/MaterialThemeBuilder/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/MaterialThemeBuilder/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/MaterialThemeBuilder/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/MaterialThemeBuilder/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/MaterialThemeBuilder/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/MaterialThemeBuilder/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/MaterialThemeBuilder/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/MaterialThemeBuilder/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/MaterialThemeBuilder/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/MaterialThemeBuilder/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/MaterialThemeBuilder/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 | 2dp
20 | 4dp
21 | 8dp
22 | 16dp
23 | 24dp
24 |
25 | @dimen/keyline_4
26 | 4dp
27 |
28 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 | #FFFFFF
20 |
21 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/values/motion.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/app/src/main/res/values/preloaded_fonts.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 | - @font/roboto_black_italic
21 |
22 |
23 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/build.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5 | * in compliance with the License. You may obtain a copy of the License at
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software distributed under the License
9 | *
10 | * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11 | * or implied. See the License for the specific language governing permissions and limitations under
12 | * the License.
13 | */
14 |
15 | buildscript {
16 | ext {
17 | kotlin_version = '1.4.10'
18 | }
19 | repositories {
20 | google()
21 | jcenter()
22 | }
23 | dependencies{
24 | classpath 'com.android.tools.build:gradle:4.1.0'
25 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
26 | }
27 | }
28 |
29 | allprojects {
30 | repositories {
31 | google()
32 | jcenter()
33 | }
34 | }
35 |
36 | task clean(type: Delete) {
37 | delete rootProject.buildDir
38 | }
39 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | android.enableJetifier=true
10 | android.useAndroidX=true
11 | org.gradle.jvmargs=-Xmx1536m
12 | # When configured, Gradle will run in incubating parallel mode.
13 | # This option should only be used with decoupled projects. More details, visit
14 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
15 | # org.gradle.parallel=true
16 |
17 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/MaterialThemeBuilder/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/MaterialThemeBuilder/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jan 17 09:04:41 PST 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.5-all.zip
7 |
--------------------------------------------------------------------------------
/MaterialThemeBuilder/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/Owl/.google/packaging.yaml:
--------------------------------------------------------------------------------
1 | # Copyright 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 | # http://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 | # This file is used by Google as part of our samples packaging process.
16 | # End users may safely ignore this file. It has no relevance to other systems.
17 | ---
18 | status: PUBLISHED
19 | technologies: [Android]
20 | categories: [Material Components]
21 | languages: [Kotlin]
22 | solutions: [Mobile]
23 | github: material-components/material-components-android-examples
24 | level: ADVANCED
25 | license: apache2
26 |
--------------------------------------------------------------------------------
/Owl/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/Owl/app/sampledata/lessons.json:
--------------------------------------------------------------------------------
1 | {
2 | "data": [
3 | {
4 | "title": "An introduction to the Landscape",
5 | "formattedStepNumber": "01",
6 | "length": "4:14"
7 | },
8 | {
9 | "title": "Movement and Expression",
10 | "formattedStepNumber": "02",
11 | "length": "7:28"
12 | },
13 | {
14 | "title": "Composition and the Urban Canvas",
15 | "formattedStepNumber": "03",
16 | "length": "3:43"
17 | },
18 | {
19 | "title": "Lighting Techniques and Aesthetics",
20 | "formattedStepNumber": "04",
21 | "length": "4:45"
22 | },
23 | {
24 | "title": "Special Effects",
25 | "formattedStepNumber": "05",
26 | "length": "6:19"
27 | },
28 | {
29 | "title": "Techniques with Structures",
30 | "formattedStepNumber": "06",
31 | "length": "9:41"
32 | },
33 | {
34 | "title": "Deep Focus Using a Camera Dolly",
35 | "formattedStepNumber": "07",
36 | "length": "4:43"
37 | },
38 | {
39 | "title": "Point of View Shots with Structures",
40 | "formattedStepNumber": "08",
41 | "length": "9:41"
42 | },
43 | {
44 | "title": "Photojournalism: Street Art",
45 | "formattedStepNumber": "09",
46 | "length": "9:41"
47 | }
48 | ]
49 | }
--------------------------------------------------------------------------------
/Owl/app/sampledata/steps.json:
--------------------------------------------------------------------------------
1 | {
2 | "data": [
3 | {
4 | "title": "Step 1",
5 | "body": "@string/step_0"
6 | },
7 | {
8 | "title": "Step 2",
9 | "body": "@string/step_1"
10 | },
11 | {
12 | "title": "Step 3",
13 | "body": "@string/step_2"
14 | },
15 | {
16 | "title": "Step 4",
17 | "body": "@string/step_0"
18 | },
19 | {
20 | "title": "Step 5",
21 | "body": "@string/step_1"
22 | },
23 | {
24 | "title": "Step 6",
25 | "body": "@string/step_2"
26 | },
27 | {
28 | "title": "Step 7",
29 | "body": "@string/step_0"
30 | },
31 | {
32 | "title": "Step 8",
33 | "body": "@string/step_1"
34 | },
35 | {
36 | "title": "Step 9",
37 | "body": "@string/step_2"
38 | }
39 | ]
40 | }
--------------------------------------------------------------------------------
/Owl/app/sampledata/topics.json:
--------------------------------------------------------------------------------
1 | {
2 | "data": [
3 | {
4 | "name": "Architecture",
5 | "courses": "58"
6 | },
7 | {
8 | "name": "Arts & Crafts",
9 | "courses": "121"
10 | },
11 | {
12 | "name": "Business",
13 | "courses": "78"
14 | },
15 | {
16 | "name": "Culinary",
17 | "courses": "118"
18 | },
19 | {
20 | "name": "Design",
21 | "courses": "423"
22 | },
23 | {
24 | "name": "Fashion",
25 | "courses": "92"
26 | },
27 | {
28 | "name": "Film",
29 | "courses": "165"
30 | },
31 | {
32 | "name": "Gaming",
33 | "courses": "164"
34 | },
35 | {
36 | "name": "Illustration",
37 | "courses": "326"
38 | },
39 | {
40 | "name": "Lifestyle",
41 | "courses": "305"
42 | },
43 | {
44 | "name": "Music",
45 | "courses": "212"
46 | },
47 | {
48 | "name": "Painting",
49 | "courses": "172"
50 | },
51 | {
52 | "name": "Photography",
53 | "courses": "321"
54 | },
55 | {
56 | "name": "Technology",
57 | "courses": "118"
58 | }
59 | ]
60 | }
--------------------------------------------------------------------------------
/Owl/app/src/main/java/com/materialstudies/owl/OwlApplication.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2019 Google LLC
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 | * https://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.materialstudies.owl
18 |
19 | import android.app.Application
20 | import android.os.Build.VERSION.SDK_INT
21 | import android.os.Build.VERSION_CODES.Q
22 | import androidx.appcompat.app.AppCompatDelegate
23 |
24 | class OwlApplication : Application() {
25 |
26 | override fun onCreate() {
27 | super.onCreate()
28 | val nightMode = if (SDK_INT >= Q) {
29 | AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM
30 | } else {
31 | AppCompatDelegate.MODE_NIGHT_AUTO_BATTERY
32 | }
33 | AppCompatDelegate.setDefaultNightMode(nightMode)
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/Owl/app/src/main/java/com/materialstudies/owl/ui/lessons/LessonBottomSheetBehavior.kt:
--------------------------------------------------------------------------------
1 | package com.materialstudies.owl.ui.lessons
2 |
3 | import android.content.Context
4 | import android.util.AttributeSet
5 | import android.view.MotionEvent
6 | import android.view.View
7 | import androidx.coordinatorlayout.widget.CoordinatorLayout
8 | import com.google.android.material.bottomsheet.BottomSheetBehavior
9 |
10 | /**
11 | * A [BottomSheetBehavior] that helps to restrict touchable area depends on translationX
12 | */
13 | class LessonBottomSheetBehavior(context: Context, attrs: AttributeSet?) :
14 | BottomSheetBehavior(context, attrs) {
15 |
16 | override fun onTouchEvent(parent: CoordinatorLayout, child: T, event: MotionEvent): Boolean {
17 | if (event.x < child.translationX) {
18 | return false
19 | }
20 | return super.onTouchEvent(parent, child, event)
21 | }
22 | }
--------------------------------------------------------------------------------
/Owl/app/src/main/java/com/materialstudies/owl/ui/onboarding/TopicThumbnailTransformation.kt:
--------------------------------------------------------------------------------
1 | package com.materialstudies.owl.ui.onboarding
2 |
3 | import android.graphics.Bitmap
4 | import android.graphics.drawable.Drawable
5 | import android.widget.ImageView
6 | import androidx.annotation.ColorInt
7 | import androidx.annotation.Px
8 | import com.bumptech.glide.request.target.ImageViewTarget
9 |
10 | /**
11 | * A Glide [com.bumptech.glide.request.target.Target] which wraps a loaded [Bitmap] in a
12 | * [TopicThumbnailDrawable].
13 | */
14 | class TopicThumbnailTarget(
15 | imageView: ImageView,
16 | @ColorInt private val selectedTint: Int,
17 | @Px private val selectedTopLeftCornerRadius: Int,
18 | private val selectedDrawable: Drawable
19 | ) : ImageViewTarget(imageView) {
20 |
21 | override fun setResource(resource: Bitmap?) {
22 | resource?.let {
23 | val d = (currentDrawable as? TopicThumbnailDrawable) ?: TopicThumbnailDrawable(
24 | selectedTint,
25 | selectedTopLeftCornerRadius,
26 | selectedDrawable
27 | )
28 | d.bitmap = it
29 | setDrawable(d)
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/anim/shrink_fade_out_center.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
18 |
27 |
32 |
33 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/anim/slide_in_up.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
21 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/anim/slide_out_down.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
21 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/color/bottom_nav_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/color/divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/color/primary_sheet.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/color/topic_tint.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/asl_featured.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
21 |
22 |
25 |
26 |
30 |
31 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/asl_my_courses.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
21 |
22 |
25 |
26 |
30 |
31 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/asl_search.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
21 |
22 |
25 |
26 |
30 |
31 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/avatar_outline.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
18 |
19 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/course_image_placeholder.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/ic_account.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
21 |
24 |
25 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/ic_add_alt.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
21 |
24 |
25 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/ic_arrow_down.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
21 |
24 |
25 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/ic_avatar_placeholder.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
21 |
27 |
31 |
32 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/ic_back.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
21 |
24 |
25 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/ic_checkmark.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
21 |
24 |
25 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/ic_compass.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
21 |
24 |
25 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/ic_pause.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
21 |
24 |
25 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/ic_play.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
21 |
24 |
25 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/ic_search.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
21 |
24 |
25 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/inset_divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/learn_image_scrim.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
18 |
23 |
24 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/lesson_video_scrim.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
18 |
23 |
24 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/sheet_expand.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
18 | -
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/small_component_foreground.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
18 | -
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/stroked_course_image_placeholder.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
18 |
19 |
20 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/drawable/topic_foreground.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
20 |
21 | -
22 |
23 |
-
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/font/rubik.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
21 |
22 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/font/rubik_bold.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
21 |
22 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/font/rubik_medium.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
21 |
22 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/menu/account.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
26 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/menu/learn.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
26 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/menu/main.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
33 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Owl/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Owl/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Owl/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Owl/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Owl/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Owl/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Owl/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Owl/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Owl/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Owl/app/src/main/res/values-h600dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | 3
18 | 240dp
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/values-night/aliases.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | @drawable/ic_lockup_white
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/values-v29/color.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | @android:color/transparent
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/values-w600dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | 3
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/values/aliases.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 | @drawable/ic_lockup_blue
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | 4dp
18 | 8dp
19 | 12dp
20 | 16dp
21 | 24dp
22 | 32dp
23 |
24 | 1dp
25 | 128dp
26 | 1dp
27 |
28 | 2
29 | 2
30 | 160dp
31 |
32 |
33 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/values/ids.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/Owl/app/src/main/res/values/preloaded_fonts.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | - @font/rubik
18 | - @font/rubik_bold
19 | - @font/rubik_medium
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Owl/build.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5 | * in compliance with the License. You may obtain a copy of the License at
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software distributed under the License
9 | *
10 | * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11 | * or implied. See the License for the specific language governing permissions and limitations under
12 | * the License.
13 | */
14 |
15 | buildscript {
16 | ext.kotlin_version = '1.4.10'
17 | ext.nav_version = '2.3.1'
18 | repositories {
19 | google()
20 | jcenter()
21 | }
22 | dependencies {
23 | classpath 'com.android.tools.build:gradle:4.1.0'
24 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
25 | classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"
26 | }
27 | }
28 |
29 | allprojects {
30 | repositories {
31 | google()
32 | jcenter()
33 | }
34 | }
35 |
36 | task clean(type: Delete) {
37 | delete rootProject.buildDir
38 | }
39 |
--------------------------------------------------------------------------------
/Owl/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | org.gradle.jvmargs=-Xmx1536m
10 | # When configured, Gradle will run in incubating parallel mode.
11 | # This option should only be used with decoupled projects. More details, visit
12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13 | # org.gradle.parallel=true
14 | # AndroidX package structure to make it clearer which packages are bundled with the
15 | # Android operating system, and which are packaged with your app's APK
16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn
17 | android.useAndroidX=true
18 | # Kotlin code style for this project: "official" or "obsolete":
19 | kotlin.code.style=official
20 |
--------------------------------------------------------------------------------
/Owl/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Owl/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/Owl/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Nov 02 08:45:57 GMT 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.5-bin.zip
7 |
--------------------------------------------------------------------------------
/Owl/screenshots/collage_header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Owl/screenshots/collage_header.png
--------------------------------------------------------------------------------
/Owl/screenshots/color_header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Owl/screenshots/color_header.png
--------------------------------------------------------------------------------
/Owl/screenshots/owl_demo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Owl/screenshots/owl_demo.gif
--------------------------------------------------------------------------------
/Owl/screenshots/owl_demo_dark.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Owl/screenshots/owl_demo_dark.gif
--------------------------------------------------------------------------------
/Owl/screenshots/shape_header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Owl/screenshots/shape_header.png
--------------------------------------------------------------------------------
/Owl/screenshots/type_header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Owl/screenshots/type_header.png
--------------------------------------------------------------------------------
/Owl/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 | rootProject.name='Owl'
3 |
--------------------------------------------------------------------------------
/Reply/.google/packaging.yaml:
--------------------------------------------------------------------------------
1 | # Copyright 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 | # http://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 | # This file is used by Google as part of our samples packaging process.
16 | # End users may safely ignore this file. It has no relevance to other systems.
17 | ---
18 | status: PUBLISHED
19 | technologies: [Android]
20 | categories: [Material Components]
21 | languages: [Kotlin]
22 | solutions: [Mobile]
23 | github: material-components/material-components-android-examples
24 | level: ADVANCED
25 | license: apache2
26 |
--------------------------------------------------------------------------------
/Reply/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/Reply/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/Reply/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Reply/app/src/main/ic_launcher-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/ic_launcher-web.png
--------------------------------------------------------------------------------
/Reply/app/src/main/java/com/materialstudies/reply/data/EmailAttachment.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2019 Google LLC
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 | * https://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.materialstudies.reply.data
18 |
19 | import androidx.annotation.DrawableRes
20 |
21 | data class EmailAttachment(
22 | @DrawableRes val resId: Int,
23 | val contentDesc: String
24 | )
--------------------------------------------------------------------------------
/Reply/app/src/main/java/com/materialstudies/reply/data/EmailFolder.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2019 Google LLC
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 | * https://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.materialstudies.reply.data
18 |
19 | import androidx.recyclerview.widget.DiffUtil
20 |
21 | /**
22 | * Alias to represent a folder (a String title) into which emails can be placed.
23 | */
24 | typealias EmailFolder = String
25 |
26 | object EmailFolderDiff : DiffUtil.ItemCallback() {
27 | override fun areItemsTheSame(oldItem: EmailFolder, newItem: EmailFolder) = oldItem == newItem
28 | override fun areContentsTheSame(oldItem: EmailFolder, newItem: EmailFolder) = oldItem == newItem
29 | }
30 |
--------------------------------------------------------------------------------
/Reply/app/src/main/java/com/materialstudies/reply/data/SearchSuggestion.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2020 Google LLC
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 | * https://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.materialstudies.reply.data
18 |
19 | import androidx.annotation.DrawableRes
20 |
21 | /**
22 | * An object which represents a search suggestion.
23 | */
24 | data class SearchSuggestion(
25 | @DrawableRes val iconResId: Int,
26 | val title: String,
27 | val subtitle: String
28 | )
29 |
--------------------------------------------------------------------------------
/Reply/app/src/main/java/com/materialstudies/reply/ui/home/Mailbox.kt:
--------------------------------------------------------------------------------
1 | package com.materialstudies.reply.ui.home
2 |
3 | /**
4 | * An enumeration of mailboxes into which emails can be placed.
5 | */
6 | enum class Mailbox {
7 | INBOX, STARRED, SENT, TRASH, SPAM, DRAFTS
8 | }
--------------------------------------------------------------------------------
/Reply/app/src/main/res/color/color_navigation_drawer_menu_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/color/color_on_primary_surface_divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/color/color_on_primary_surface_emphasis_disabled.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/color/color_on_primary_surface_emphasis_high.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/color/color_on_primary_surface_emphasis_medium.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/color/color_on_surface_divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/color/color_on_surface_emphasis_disabled.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/color/color_on_surface_emphasis_high.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/color/color_on_surface_emphasis_medium.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/asl_edit_reply.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
21 |
22 |
26 |
27 |
31 |
32 |
36 |
37 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/avatar_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/drawable/avatar_0.jpg
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/avatar_1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/drawable/avatar_1.jpeg
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/avatar_10.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/drawable/avatar_10.jpeg
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/avatar_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/drawable/avatar_2.jpg
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/avatar_3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/drawable/avatar_3.jpg
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/avatar_4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/drawable/avatar_4.jpg
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/avatar_5.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/drawable/avatar_5.jpeg
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/avatar_6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/drawable/avatar_6.jpg
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/avatar_7.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/drawable/avatar_7.jpeg
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/avatar_8.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/drawable/avatar_8.jpeg
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/avatar_9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/drawable/avatar_9.jpg
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/avatar_express.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/drawable/avatar_express.png
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/avatar_none.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/bottom_app_bar_title_foreground.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
18 | -
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/divider.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_archive.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
23 |
24 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_arrow_back.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
23 |
24 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_arrow_down.xml:
--------------------------------------------------------------------------------
1 |
14 |
21 |
24 |
25 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_arrow_drop_up.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
23 |
24 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_circle.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
17 |
19 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_close.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
22 |
25 |
26 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_close_small.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
22 |
25 |
26 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_delete.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
23 |
24 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_done.xml:
--------------------------------------------------------------------------------
1 |
14 |
21 |
24 |
25 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_edit.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
23 |
24 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_forward.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
23 |
24 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_home.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
23 |
24 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_mic.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
23 |
24 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_reply.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
23 |
24 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_reply_all.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
23 |
24 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_schedule.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
23 |
26 |
27 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_search.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
23 |
24 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_twotone_add_circle_outline.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
23 |
24 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_twotone_delete.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
25 |
28 |
29 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_twotone_drafts.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
25 |
28 |
29 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_twotone_error.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
25 |
28 |
29 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_twotone_folder.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
24 |
27 |
28 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_twotone_forward.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
25 |
28 |
29 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_twotone_send.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
25 |
28 |
29 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_twotone_star.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
25 |
28 |
29 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/ic_twotone_star_on_background.xml:
--------------------------------------------------------------------------------
1 |
14 |
20 |
25 |
28 |
29 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/nav_divider_top.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
19 |
20 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/paris_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/drawable/paris_1.jpg
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/paris_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/drawable/paris_2.jpg
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/paris_3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/drawable/paris_3.jpg
--------------------------------------------------------------------------------
/Reply/app/src/main/res/drawable/paris_4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/drawable/paris_4.jpg
--------------------------------------------------------------------------------
/Reply/app/src/main/res/font/work_sans.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
20 |
21 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/font/work_sans_bold.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
20 |
21 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/font/work_sans_extrabold.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
20 |
21 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/font/work_sans_medium.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
20 |
21 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/font/work_sans_semibold.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
20 |
21 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/layout/compose_recipient_chip.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
17 |
18 |
19 |
22 |
23 |
24 |
31 |
32 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/layout/email_attachment_grid_item_layout.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
21 |
22 |
23 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/layout/email_attachment_preview_item_layout.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
21 |
22 |
23 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/layout/menu_bottom_sheet_dialog_layout.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
22 |
23 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/layout/search_suggestion_title.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
21 |
22 |
23 |
32 |
33 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/layout/spinner_item_layout.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
25 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/menu-v29/dark_theme_bottom_sheet_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/menu/bottom_app_bar_home_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/menu/bottom_app_bar_settings_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/menu/dark_theme_bottom_sheet_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Reply/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/Reply/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Reply/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/Reply/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Reply/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/Reply/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Reply/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/Reply/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Reply/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/Reply/app/src/main/res/values-v29/color.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
15 | @android:color/transparent
16 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/values/elevation.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | 0dp
18 | 1dp
19 | 2dp
20 | 6dp
21 | 8dp
22 | 16dp
23 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/values/ids.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/values/layout.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | 2dp
22 | 4dp
23 |
24 |
25 | 8dp
26 | 16dp
27 | 24dp
28 | 32dp
29 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/values/motion.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 |
18 |
19 | 300
20 | 225
21 | 175
22 |
23 |
--------------------------------------------------------------------------------
/Reply/app/src/main/res/values/preloaded_fonts.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
17 | - @font/work_sans
18 | - @font/work_sans_bold
19 | - @font/work_sans_extrabold
20 | - @font/work_sans_medium
21 | - @font/work_sans_semibold
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Reply/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | android.enableJetifier=true
10 | android.useAndroidX=true
11 | org.gradle.jvmargs=-Xmx1536m
12 | # When configured, Gradle will run in incubating parallel mode.
13 | # This option should only be used with decoupled projects. More details, visit
14 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
15 | # org.gradle.parallel=true
16 |
17 |
--------------------------------------------------------------------------------
/Reply/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/Reply/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Tue Aug 11 20:17:06 EDT 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 |
--------------------------------------------------------------------------------
/Reply/screenshots/1_home_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/screenshots/1_home_screen.png
--------------------------------------------------------------------------------
/Reply/screenshots/2_navigation_drawer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/screenshots/2_navigation_drawer.png
--------------------------------------------------------------------------------
/Reply/screenshots/3_account_sandwich.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/screenshots/3_account_sandwich.png
--------------------------------------------------------------------------------
/Reply/screenshots/4_star_email_action.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/screenshots/4_star_email_action.png
--------------------------------------------------------------------------------
/Reply/screenshots/5_email_details.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/screenshots/5_email_details.png
--------------------------------------------------------------------------------
/Reply/screenshots/6_email_compose.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/screenshots/6_email_compose.png
--------------------------------------------------------------------------------
/Reply/screenshots/collage_header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/screenshots/collage_header.png
--------------------------------------------------------------------------------
/Reply/screenshots/color_header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/screenshots/color_header.png
--------------------------------------------------------------------------------
/Reply/screenshots/shape_header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/screenshots/shape_header.png
--------------------------------------------------------------------------------
/Reply/screenshots/typography_header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/Reply/screenshots/typography_header.png
--------------------------------------------------------------------------------
/Reply/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/screenshots/mdc_samples.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrisbanes/material-components-android-examples/e4fa57d3b58f88da6fd60356d62f80468b25fea6/screenshots/mdc_samples.gif
--------------------------------------------------------------------------------