├── demo ├── app │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── values │ │ │ │ │ ├── dimens.xml │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ └── styles.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 │ │ │ │ ├── drawable │ │ │ │ │ ├── ic_launcher_square.png │ │ │ │ │ ├── gradient.xml │ │ │ │ │ ├── shape.xml │ │ │ │ │ └── ic_assistant_black_24dp.xml │ │ │ │ ├── values-ru │ │ │ │ │ └── strings.xml │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── layout │ │ │ │ │ ├── list_activity.xml │ │ │ │ │ ├── details_activity.xml │ │ │ │ │ ├── activity_2.xml │ │ │ │ │ ├── activity_3.xml │ │ │ │ │ ├── activity_1.xml │ │ │ │ │ ├── content_main.xml │ │ │ │ │ ├── layouts_test.xml │ │ │ │ │ ├── details_view.xml │ │ │ │ │ ├── test.xml │ │ │ │ │ └── activity_main.xml │ │ │ │ ├── menu │ │ │ │ │ └── menu_main.xml │ │ │ │ ├── layout-land │ │ │ │ │ ├── list_activity.xml │ │ │ │ │ └── test.xml │ │ │ │ └── drawable-v24 │ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── java │ │ │ │ └── ru │ │ │ │ │ └── spbstu │ │ │ │ │ └── icc │ │ │ │ │ └── kspt │ │ │ │ │ └── andrei │ │ │ │ │ └── mydemoapplication │ │ │ │ │ ├── MyBroadcastReceiver.java │ │ │ │ │ ├── DetailsActivity.java │ │ │ │ │ ├── Activity1.java │ │ │ │ │ ├── Activity3.java │ │ │ │ │ ├── Activity2.java │ │ │ │ │ ├── DetailsFragment.java │ │ │ │ │ ├── ArticleListFragment.java │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ ├── MyNewActivity.java │ │ │ │ │ └── ArticleListActivity.java │ │ │ └── AndroidManifest.xml │ │ ├── test │ │ │ └── java │ │ │ │ └── ru │ │ │ │ └── spbstu │ │ │ │ └── icc │ │ │ │ └── kspt │ │ │ │ └── andrei │ │ │ │ └── mydemoapplication │ │ │ │ ├── ExampleUnitTest.java │ │ │ │ ├── ArticleRobolectricListFragmentTest.java │ │ │ │ └── ArticleListFragmentTest.java │ │ └── androidTest │ │ │ └── java │ │ │ └── ru │ │ │ └── spbstu │ │ │ └── icc │ │ │ └── kspt │ │ │ └── andrei │ │ │ └── mydemoapplication │ │ │ ├── UiAutomatorTest.java │ │ │ └── ExampleInstrumentedTest.java │ ├── proguard-rules.pro │ └── build.gradle ├── settings.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── build.gradle ├── gradle.properties ├── .gitignore ├── gradlew.bat └── gradlew ├── lectures ├── .gitignore ├── res │ ├── anr.png │ ├── 01-arch.png │ ├── camera2.png │ ├── lab_qr.png │ ├── pyramid.png │ ├── recents.png │ ├── x2eq25.png │ ├── 01-build.png │ ├── 01-project.png │ ├── 02-buttons.png │ ├── 02-cross.png │ ├── 02-spinner.png │ ├── 03-win-ar.jpg │ ├── dalvik-oom.png │ ├── fragments.png │ ├── gen-heap.png │ ├── share_via.png │ ├── 01-build-new.png │ ├── 01-build-pkg.png │ ├── 02-checkbox.png │ ├── 02-edittext.png │ ├── 02-layerlist.png │ ├── 02-levellist.png │ ├── 02-pat-a-cat.png │ ├── 02-res-types.png │ ├── 02-statelist.png │ ├── 03-layout-dp.png │ ├── 03-layout-px.png │ ├── Nexus_5_(1).jpg │ ├── ape_fwk_all.png │ ├── art-overview.png │ ├── c1-vs-tired.png │ ├── cms-major-gc.png │ ├── g1-mixed-gc.png │ ├── gen-full-gc.png │ ├── gen-minor-gc.png │ ├── layoutparams.png │ ├── notification.png │ ├── t-mobile-g1.jpg │ ├── top-app-bar.png │ ├── viewgroup_2x.png │ ├── 01-android-com.png │ ├── 01-perm-sample.png │ ├── 01-qr-lectures.png │ ├── 02-imeoptions.png │ ├── 02-radiobutton.png │ ├── 03-activity-fw.png │ ├── activity-states.png │ ├── am_instrument.png │ ├── android-startup.png │ ├── espresso_sync.png │ ├── happens-before.png │ ├── intents-common.png │ ├── keeps-stopping.png │ ├── kotlin-elizarov.png │ ├── oreo-gc-regions.png │ ├── run-time-perms.png │ ├── studio-profiler.png │ ├── test_manifest.png │ ├── 02-common-layouts.png │ ├── bottom-navigation.png │ ├── diagram_backstack.png │ ├── g1-heap-structure.png │ ├── navigation-idioms.png │ ├── observer-diagram.png │ ├── observer-pattern.gif │ ├── observer-sequence.png │ ├── overview-criteria.png │ ├── room_architecture.png │ ├── service-lc-bound.png │ ├── service_lifecycle.png │ ├── storage_dataflow.png │ ├── storage_datamodel.png │ ├── synchronizes-with.png │ ├── testing-workflow.png │ ├── 02-adapter-layouts.png │ ├── 03-dpi-bitmap-sizes.png │ ├── 03-generalized-sizes.png │ ├── activity-lifecycle.png │ ├── app-architecture-gdd.png │ ├── dalvik-gc-for-alloc.png │ ├── densities-phone_2x.png │ ├── diagram_multitasking.png │ ├── espresso-cheatsheet.png │ ├── fragment_lifecycle.png │ ├── fragment_lifecycle_1.png │ ├── fragment_lifecycle_2.png │ ├── install-time-perms.png │ ├── postfix-arithmetics.jpg │ ├── profiling-jug-async.png │ ├── profiling-jug-prog.png │ ├── service-lc-started.png │ ├── task-category-tree.png │ ├── viewmodel-lifecycle.png │ ├── weak-gen-hypothesis.png │ ├── 01-uses-feature-sample.png │ ├── 03-activity-backstack.png │ ├── definework-flex-period.png │ ├── content-provider-overview.png │ ├── doc_intent-filter-element.png │ ├── profiling-jug-jvisualvm.png │ ├── profiling-jug-safepoints.png │ ├── res-selection-flowchart.png │ ├── activity_fragment_lifecycle.png │ ├── dalvik-oom-on-halffull-heap.png │ ├── diagram_multiple_instances.png │ ├── save-restore-instance-state.png │ ├── Motorola-milestone-wikipedia.png │ ├── android-profiler-no-safepoint.png │ ├── android_test_orchestrator_flow.png │ ├── layout-adaptive-breakpoints_2x.png │ ├── lifecycleowner-implementations.png │ ├── navigation-graph_2x-callouts.png │ ├── service_binding_tree_lifecycle.png │ ├── user-data-overview-permissions-flow01.jpg │ └── diagram_backstack_singletask_multiactivity.png └── README.md ├── labs ├── 04 │ └── res │ │ └── reference │ │ ├── app │ │ ├── .gitignore │ │ ├── src │ │ │ ├── main │ │ │ │ ├── res │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ │ ├── values │ │ │ │ │ │ ├── dimens.xml │ │ │ │ │ │ ├── strings.xml │ │ │ │ │ │ ├── colors.xml │ │ │ │ │ │ └── themes.xml │ │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ │ ├── drawable │ │ │ │ │ │ ├── ic_home_black_24dp.xml │ │ │ │ │ │ ├── ic_dashboard_black_24dp.xml │ │ │ │ │ │ └── ic_notifications_black_24dp.xml │ │ │ │ │ ├── menu │ │ │ │ │ │ └── bottom_nav_menu.xml │ │ │ │ │ ├── layout │ │ │ │ │ │ ├── activity_about.xml │ │ │ │ │ │ ├── fragment1.xml │ │ │ │ │ │ ├── fragment2.xml │ │ │ │ │ │ ├── fragment3.xml │ │ │ │ │ │ └── activity_main.xml │ │ │ │ │ ├── values-night │ │ │ │ │ │ └── themes.xml │ │ │ │ │ ├── navigation │ │ │ │ │ │ └── mobile_navigation.xml │ │ │ │ │ └── drawable-v24 │ │ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── java │ │ │ │ │ └── com │ │ │ │ │ │ └── example │ │ │ │ │ │ └── myapplication │ │ │ │ │ │ ├── AboutActivity.kt │ │ │ │ │ │ ├── BaseFragment.kt │ │ │ │ │ │ └── MainActivity.kt │ │ │ │ └── AndroidManifest.xml │ │ │ └── androidTest │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── myapplication │ │ │ │ ├── NavigationTest.kt │ │ │ │ └── AboutUtils.kt │ │ ├── proguard-rules.pro │ │ └── build.gradle │ │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── .gitignore │ │ ├── settings.gradle │ │ ├── build.gradle │ │ ├── gradle.properties │ │ └── gradlew.bat ├── 02 │ ├── continuewatch │ │ ├── app │ │ │ ├── .gitignore │ │ │ ├── src │ │ │ │ └── main │ │ │ │ │ ├── res │ │ │ │ │ ├── values │ │ │ │ │ │ ├── strings.xml │ │ │ │ │ │ ├── colors.xml │ │ │ │ │ │ └── styles.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 │ │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ │ ├── layout-land │ │ │ │ │ │ └── activity_main.xml │ │ │ │ │ ├── layout │ │ │ │ │ │ └── activity_main.xml │ │ │ │ │ └── drawable-v24 │ │ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ └── java │ │ │ │ │ └── ru │ │ │ │ │ └── spbstu │ │ │ │ │ └── icc │ │ │ │ │ └── kspt │ │ │ │ │ └── lab2 │ │ │ │ │ └── continuewatch │ │ │ │ │ └── MainActivity.kt │ │ │ ├── proguard-rules.pro │ │ │ └── build.gradle │ │ ├── .gitignore │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── settings.gradle │ │ ├── README.md │ │ ├── build.gradle │ │ ├── gradle.properties │ │ └── gradlew.bat │ ├── stat │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ └── sum.png │ └── VARIANTS02.md ├── RecyclerView │ ├── biblib │ │ ├── .gitignore │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── README.md │ │ ├── build.gradle │ │ ├── src │ │ │ ├── test │ │ │ │ ├── resources │ │ │ │ │ └── references.bib │ │ │ │ └── java │ │ │ │ │ └── name │ │ │ │ │ └── ank │ │ │ │ │ └── lab4 │ │ │ │ │ └── BibDatabaseTest.java │ │ │ └── main │ │ │ │ └── java │ │ │ │ └── name │ │ │ │ └── ank │ │ │ │ └── lab4 │ │ │ │ ├── BibConfig.java │ │ │ │ ├── Types.java │ │ │ │ ├── Keys.java │ │ │ │ ├── BibEntry.java │ │ │ │ └── BibDatabase.java │ │ └── gradlew.bat │ └── TASK.md ├── 01 │ ├── .gitignore │ ├── comment01.png │ ├── linear │ │ ├── 01.png │ │ ├── 02.png │ │ ├── 03.png │ │ ├── 04.png │ │ ├── 05.png │ │ ├── 06.png │ │ ├── 07.png │ │ ├── 08.png │ │ ├── 09.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 13.png │ │ ├── 14.png │ │ ├── 15.png │ │ ├── 16.png │ │ ├── 17.png │ │ ├── 18.png │ │ ├── 19.png │ │ ├── 20.png │ │ ├── 21.png │ │ └── 22.png │ ├── constraint │ │ ├── lab01_constraint_v01.png │ │ ├── lab01_constraint_v02.png │ │ ├── lab01_constraint_v03.png │ │ ├── lab01_constraint_v04.png │ │ ├── lab01_constraint_v05.png │ │ ├── lab01_constraint_v06.png │ │ ├── lab01_constraint_v07.png │ │ ├── lab01_constraint_v08.png │ │ ├── lab01_constraint_v09.png │ │ ├── lab01_constraint_v10.png │ │ ├── lab01_constraint_v11.png │ │ ├── lab01_constraint_v12.png │ │ ├── lab01_constraint_v13.png │ │ ├── lab01_constraint_v14.png │ │ ├── lab01_constraint_v15.png │ │ ├── lab01_constraint_v16.png │ │ ├── lab01_constraint_v17.png │ │ ├── lab01_constraint_v18.png │ │ ├── lab01_constraint_v19.png │ │ ├── lab01_constraint_v20.png │ │ ├── lab01_constraint_v21.png │ │ ├── lab01_constraint_v22.png │ │ ├── lab01_constraint_v23.png │ │ ├── lab01_constraint_v24.png │ │ ├── lab01_constraint_v25.png │ │ ├── lab01_constraint_v26.png │ │ ├── lab01_constraint_v27.png │ │ ├── lab01_constraint_v28.png │ │ ├── lab01_constraint_v29.png │ │ ├── lab01_constraint_v30.png │ │ └── meta.txt │ ├── .idea │ │ ├── kotlinc.xml │ │ ├── vcs.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── libraries │ │ │ └── KotlinJavaRuntime.xml │ ├── variants.txt │ ├── 01.iml │ └── TASK.md ├── 03 │ ├── stat │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ └── sum.png │ ├── activities.dia │ └── ANSWER02.md ├── 07 │ └── TASK.md └── 06 │ └── TASK.md ├── multithreading-demo.bundle └── navigation-demo-2019.bundle /demo/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /lectures/.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | -------------------------------------------------------------------------------- /demo/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /labs/04/res/reference/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /labs/02/continuewatch/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /labs/RecyclerView/biblib/.gitignore: -------------------------------------------------------------------------------- 1 | out 2 | build 3 | .gradle 4 | -------------------------------------------------------------------------------- /labs/01/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /.idea/shelf/ 3 | /.idea/workspace.xml 4 | /out -------------------------------------------------------------------------------- /labs/02/stat/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/02/stat/1.png -------------------------------------------------------------------------------- /labs/02/stat/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/02/stat/2.png -------------------------------------------------------------------------------- /labs/02/stat/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/02/stat/3.png -------------------------------------------------------------------------------- /labs/02/stat/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/02/stat/4.png -------------------------------------------------------------------------------- /labs/03/stat/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/03/stat/1.png -------------------------------------------------------------------------------- /labs/03/stat/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/03/stat/2.png -------------------------------------------------------------------------------- /labs/03/stat/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/03/stat/3.png -------------------------------------------------------------------------------- /labs/03/stat/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/03/stat/4.png -------------------------------------------------------------------------------- /labs/03/stat/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/03/stat/5.png -------------------------------------------------------------------------------- /labs/01/comment01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/comment01.png -------------------------------------------------------------------------------- /labs/01/linear/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/01.png -------------------------------------------------------------------------------- /labs/01/linear/02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/02.png -------------------------------------------------------------------------------- /labs/01/linear/03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/03.png -------------------------------------------------------------------------------- /labs/01/linear/04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/04.png -------------------------------------------------------------------------------- /labs/01/linear/05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/05.png -------------------------------------------------------------------------------- /labs/01/linear/06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/06.png -------------------------------------------------------------------------------- /labs/01/linear/07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/07.png -------------------------------------------------------------------------------- /labs/01/linear/08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/08.png -------------------------------------------------------------------------------- /labs/01/linear/09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/09.png -------------------------------------------------------------------------------- /labs/01/linear/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/10.png -------------------------------------------------------------------------------- /labs/01/linear/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/11.png -------------------------------------------------------------------------------- /labs/01/linear/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/12.png -------------------------------------------------------------------------------- /labs/01/linear/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/13.png -------------------------------------------------------------------------------- /labs/01/linear/14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/14.png -------------------------------------------------------------------------------- /labs/01/linear/15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/15.png -------------------------------------------------------------------------------- /labs/01/linear/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/16.png -------------------------------------------------------------------------------- /labs/01/linear/17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/17.png -------------------------------------------------------------------------------- /labs/01/linear/18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/18.png -------------------------------------------------------------------------------- /labs/01/linear/19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/19.png -------------------------------------------------------------------------------- /labs/01/linear/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/20.png -------------------------------------------------------------------------------- /labs/01/linear/21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/21.png -------------------------------------------------------------------------------- /labs/01/linear/22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/linear/22.png -------------------------------------------------------------------------------- /labs/02/stat/sum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/02/stat/sum.png -------------------------------------------------------------------------------- /labs/03/activities.dia: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/03/activities.dia -------------------------------------------------------------------------------- /labs/03/stat/sum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/03/stat/sum.png -------------------------------------------------------------------------------- /lectures/res/anr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/anr.png -------------------------------------------------------------------------------- /demo/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 16dp 3 | 4 | -------------------------------------------------------------------------------- /lectures/res/01-arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/01-arch.png -------------------------------------------------------------------------------- /lectures/res/camera2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/camera2.png -------------------------------------------------------------------------------- /lectures/res/lab_qr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/lab_qr.png -------------------------------------------------------------------------------- /lectures/res/pyramid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/pyramid.png -------------------------------------------------------------------------------- /lectures/res/recents.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/recents.png -------------------------------------------------------------------------------- /lectures/res/x2eq25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/x2eq25.png -------------------------------------------------------------------------------- /lectures/res/01-build.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/01-build.png -------------------------------------------------------------------------------- /lectures/res/01-project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/01-project.png -------------------------------------------------------------------------------- /lectures/res/02-buttons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/02-buttons.png -------------------------------------------------------------------------------- /lectures/res/02-cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/02-cross.png -------------------------------------------------------------------------------- /lectures/res/02-spinner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/02-spinner.png -------------------------------------------------------------------------------- /lectures/res/03-win-ar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/03-win-ar.jpg -------------------------------------------------------------------------------- /lectures/res/dalvik-oom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/dalvik-oom.png -------------------------------------------------------------------------------- /lectures/res/fragments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/fragments.png -------------------------------------------------------------------------------- /lectures/res/gen-heap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/gen-heap.png -------------------------------------------------------------------------------- /lectures/res/share_via.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/share_via.png -------------------------------------------------------------------------------- /multithreading-demo.bundle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/multithreading-demo.bundle -------------------------------------------------------------------------------- /navigation-demo-2019.bundle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/navigation-demo-2019.bundle -------------------------------------------------------------------------------- /lectures/res/01-build-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/01-build-new.png -------------------------------------------------------------------------------- /lectures/res/01-build-pkg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/01-build-pkg.png -------------------------------------------------------------------------------- /lectures/res/02-checkbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/02-checkbox.png -------------------------------------------------------------------------------- /lectures/res/02-edittext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/02-edittext.png -------------------------------------------------------------------------------- /lectures/res/02-layerlist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/02-layerlist.png -------------------------------------------------------------------------------- /lectures/res/02-levellist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/02-levellist.png -------------------------------------------------------------------------------- /lectures/res/02-pat-a-cat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/02-pat-a-cat.png -------------------------------------------------------------------------------- /lectures/res/02-res-types.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/02-res-types.png -------------------------------------------------------------------------------- /lectures/res/02-statelist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/02-statelist.png -------------------------------------------------------------------------------- /lectures/res/03-layout-dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/03-layout-dp.png -------------------------------------------------------------------------------- /lectures/res/03-layout-px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/03-layout-px.png -------------------------------------------------------------------------------- /lectures/res/Nexus_5_(1).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/Nexus_5_(1).jpg -------------------------------------------------------------------------------- /lectures/res/ape_fwk_all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/ape_fwk_all.png -------------------------------------------------------------------------------- /lectures/res/art-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/art-overview.png -------------------------------------------------------------------------------- /lectures/res/c1-vs-tired.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/c1-vs-tired.png -------------------------------------------------------------------------------- /lectures/res/cms-major-gc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/cms-major-gc.png -------------------------------------------------------------------------------- /lectures/res/g1-mixed-gc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/g1-mixed-gc.png -------------------------------------------------------------------------------- /lectures/res/gen-full-gc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/gen-full-gc.png -------------------------------------------------------------------------------- /lectures/res/gen-minor-gc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/gen-minor-gc.png -------------------------------------------------------------------------------- /lectures/res/layoutparams.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/layoutparams.png -------------------------------------------------------------------------------- /lectures/res/notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/notification.png -------------------------------------------------------------------------------- /lectures/res/t-mobile-g1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/t-mobile-g1.jpg -------------------------------------------------------------------------------- /lectures/res/top-app-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/top-app-bar.png -------------------------------------------------------------------------------- /lectures/res/viewgroup_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/viewgroup_2x.png -------------------------------------------------------------------------------- /lectures/res/01-android-com.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/01-android-com.png -------------------------------------------------------------------------------- /lectures/res/01-perm-sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/01-perm-sample.png -------------------------------------------------------------------------------- /lectures/res/01-qr-lectures.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/01-qr-lectures.png -------------------------------------------------------------------------------- /lectures/res/02-imeoptions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/02-imeoptions.png -------------------------------------------------------------------------------- /lectures/res/02-radiobutton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/02-radiobutton.png -------------------------------------------------------------------------------- /lectures/res/03-activity-fw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/03-activity-fw.png -------------------------------------------------------------------------------- /lectures/res/activity-states.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/activity-states.png -------------------------------------------------------------------------------- /lectures/res/am_instrument.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/am_instrument.png -------------------------------------------------------------------------------- /lectures/res/android-startup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/android-startup.png -------------------------------------------------------------------------------- /lectures/res/espresso_sync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/espresso_sync.png -------------------------------------------------------------------------------- /lectures/res/happens-before.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/happens-before.png -------------------------------------------------------------------------------- /lectures/res/intents-common.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/intents-common.png -------------------------------------------------------------------------------- /lectures/res/keeps-stopping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/keeps-stopping.png -------------------------------------------------------------------------------- /lectures/res/kotlin-elizarov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/kotlin-elizarov.png -------------------------------------------------------------------------------- /lectures/res/oreo-gc-regions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/oreo-gc-regions.png -------------------------------------------------------------------------------- /lectures/res/run-time-perms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/run-time-perms.png -------------------------------------------------------------------------------- /lectures/res/studio-profiler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/studio-profiler.png -------------------------------------------------------------------------------- /lectures/res/test_manifest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/test_manifest.png -------------------------------------------------------------------------------- /lectures/res/02-common-layouts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/02-common-layouts.png -------------------------------------------------------------------------------- /lectures/res/bottom-navigation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/bottom-navigation.png -------------------------------------------------------------------------------- /lectures/res/diagram_backstack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/diagram_backstack.png -------------------------------------------------------------------------------- /lectures/res/g1-heap-structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/g1-heap-structure.png -------------------------------------------------------------------------------- /lectures/res/navigation-idioms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/navigation-idioms.png -------------------------------------------------------------------------------- /lectures/res/observer-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/observer-diagram.png -------------------------------------------------------------------------------- /lectures/res/observer-pattern.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/observer-pattern.gif -------------------------------------------------------------------------------- /lectures/res/observer-sequence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/observer-sequence.png -------------------------------------------------------------------------------- /lectures/res/overview-criteria.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/overview-criteria.png -------------------------------------------------------------------------------- /lectures/res/room_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/room_architecture.png -------------------------------------------------------------------------------- /lectures/res/service-lc-bound.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/service-lc-bound.png -------------------------------------------------------------------------------- /lectures/res/service_lifecycle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/service_lifecycle.png -------------------------------------------------------------------------------- /lectures/res/storage_dataflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/storage_dataflow.png -------------------------------------------------------------------------------- /lectures/res/storage_datamodel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/storage_datamodel.png -------------------------------------------------------------------------------- /lectures/res/synchronizes-with.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/synchronizes-with.png -------------------------------------------------------------------------------- /lectures/res/testing-workflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/testing-workflow.png -------------------------------------------------------------------------------- /lectures/res/02-adapter-layouts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/02-adapter-layouts.png -------------------------------------------------------------------------------- /lectures/res/03-dpi-bitmap-sizes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/03-dpi-bitmap-sizes.png -------------------------------------------------------------------------------- /lectures/res/03-generalized-sizes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/03-generalized-sizes.png -------------------------------------------------------------------------------- /lectures/res/activity-lifecycle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/activity-lifecycle.png -------------------------------------------------------------------------------- /lectures/res/app-architecture-gdd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/app-architecture-gdd.png -------------------------------------------------------------------------------- /lectures/res/dalvik-gc-for-alloc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/dalvik-gc-for-alloc.png -------------------------------------------------------------------------------- /lectures/res/densities-phone_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/densities-phone_2x.png -------------------------------------------------------------------------------- /lectures/res/diagram_multitasking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/diagram_multitasking.png -------------------------------------------------------------------------------- /lectures/res/espresso-cheatsheet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/espresso-cheatsheet.png -------------------------------------------------------------------------------- /lectures/res/fragment_lifecycle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/fragment_lifecycle.png -------------------------------------------------------------------------------- /lectures/res/fragment_lifecycle_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/fragment_lifecycle_1.png -------------------------------------------------------------------------------- /lectures/res/fragment_lifecycle_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/fragment_lifecycle_2.png -------------------------------------------------------------------------------- /lectures/res/install-time-perms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/install-time-perms.png -------------------------------------------------------------------------------- /lectures/res/postfix-arithmetics.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/postfix-arithmetics.jpg -------------------------------------------------------------------------------- /lectures/res/profiling-jug-async.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/profiling-jug-async.png -------------------------------------------------------------------------------- /lectures/res/profiling-jug-prog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/profiling-jug-prog.png -------------------------------------------------------------------------------- /lectures/res/service-lc-started.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/service-lc-started.png -------------------------------------------------------------------------------- /lectures/res/task-category-tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/task-category-tree.png -------------------------------------------------------------------------------- /lectures/res/viewmodel-lifecycle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/viewmodel-lifecycle.png -------------------------------------------------------------------------------- /lectures/res/weak-gen-hypothesis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/weak-gen-hypothesis.png -------------------------------------------------------------------------------- /demo/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/demo/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /labs/02/continuewatch/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Continue Watch 3 | 4 | -------------------------------------------------------------------------------- /lectures/res/01-uses-feature-sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/01-uses-feature-sample.png -------------------------------------------------------------------------------- /lectures/res/03-activity-backstack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/03-activity-backstack.png -------------------------------------------------------------------------------- /lectures/res/definework-flex-period.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/definework-flex-period.png -------------------------------------------------------------------------------- /lectures/res/content-provider-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/content-provider-overview.png -------------------------------------------------------------------------------- /lectures/res/doc_intent-filter-element.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/doc_intent-filter-element.png -------------------------------------------------------------------------------- /lectures/res/profiling-jug-jvisualvm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/profiling-jug-jvisualvm.png -------------------------------------------------------------------------------- /lectures/res/profiling-jug-safepoints.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/profiling-jug-safepoints.png -------------------------------------------------------------------------------- /lectures/res/res-selection-flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/res-selection-flowchart.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v01.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v02.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v03.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v04.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v05.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v06.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v07.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v08.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v09.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v10.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v11.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v12.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v13.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v14.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v15.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v16.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v17.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v18.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v19.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v20.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v21.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v22.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v23.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v24.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v25.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v26.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v27.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v28.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v29.png -------------------------------------------------------------------------------- /labs/01/constraint/lab01_constraint_v30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/01/constraint/lab01_constraint_v30.png -------------------------------------------------------------------------------- /lectures/res/activity_fragment_lifecycle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/activity_fragment_lifecycle.png -------------------------------------------------------------------------------- /lectures/res/dalvik-oom-on-halffull-heap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/dalvik-oom-on-halffull-heap.png -------------------------------------------------------------------------------- /lectures/res/diagram_multiple_instances.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/diagram_multiple_instances.png -------------------------------------------------------------------------------- /lectures/res/save-restore-instance-state.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/save-restore-instance-state.png -------------------------------------------------------------------------------- /lectures/res/Motorola-milestone-wikipedia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/Motorola-milestone-wikipedia.png -------------------------------------------------------------------------------- /lectures/res/android-profiler-no-safepoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/android-profiler-no-safepoint.png -------------------------------------------------------------------------------- /lectures/res/android_test_orchestrator_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/android_test_orchestrator_flow.png -------------------------------------------------------------------------------- /lectures/res/layout-adaptive-breakpoints_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/layout-adaptive-breakpoints_2x.png -------------------------------------------------------------------------------- /lectures/res/lifecycleowner-implementations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/lifecycleowner-implementations.png -------------------------------------------------------------------------------- /lectures/res/navigation-graph_2x-callouts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/navigation-graph_2x-callouts.png -------------------------------------------------------------------------------- /lectures/res/service_binding_tree_lifecycle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/service_binding_tree_lifecycle.png -------------------------------------------------------------------------------- /demo/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/demo/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /demo/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/demo/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /demo/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/demo/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demo/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/demo/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /demo/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/demo/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /labs/02/continuewatch/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | .idea 5 | .DS_Store 6 | /build 7 | /captures 8 | .externalNativeBuild 9 | .cxx 10 | -------------------------------------------------------------------------------- /demo/app/src/main/res/drawable/ic_launcher_square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/demo/app/src/main/res/drawable/ic_launcher_square.png -------------------------------------------------------------------------------- /lectures/res/user-data-overview-permissions-flow01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/user-data-overview-permissions-flow01.jpg -------------------------------------------------------------------------------- /demo/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/demo/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /demo/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/demo/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /demo/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/demo/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /demo/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/demo/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /labs/02/continuewatch/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/02/continuewatch/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /labs/04/res/reference/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/04/res/reference/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /demo/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/demo/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /labs/RecyclerView/biblib/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/RecyclerView/biblib/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /lectures/res/diagram_backstack_singletask_multiactivity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/lectures/res/diagram_backstack_singletask_multiactivity.png -------------------------------------------------------------------------------- /labs/04/res/reference/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea 5 | .DS_Store 6 | /build 7 | /captures 8 | .externalNativeBuild 9 | .cxx 10 | local.properties 11 | -------------------------------------------------------------------------------- /labs/02/continuewatch/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/02/continuewatch/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /labs/02/continuewatch/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/02/continuewatch/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /labs/02/continuewatch/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/02/continuewatch/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/04/res/reference/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/04/res/reference/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /labs/02/continuewatch/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/02/continuewatch/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /labs/02/continuewatch/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/02/continuewatch/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/04/res/reference/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/04/res/reference/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /labs/02/continuewatch/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/02/continuewatch/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /labs/02/continuewatch/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/02/continuewatch/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/04/res/reference/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /labs/02/continuewatch/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/02/continuewatch/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /labs/02/continuewatch/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/02/continuewatch/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/04/res/reference/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/04/res/reference/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/04/res/reference/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /labs/02/continuewatch/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/02/continuewatch/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/04/res/reference/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-kuznetsov/android-lectures/HEAD/labs/04/res/reference/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /labs/01/.idea/kotlinc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /labs/01/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /labs/RecyclerView/biblib/README.md: -------------------------------------------------------------------------------- 1 | # Building 2 | ```bash 3 | ./gradlew build 4 | ``` 5 | JAR file will be created in `build/libs/biblib.jar` 6 | 7 | Note that there are 2 failing test. Add the test method body or use `./gradlew assemble` instead. -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | -------------------------------------------------------------------------------- /labs/02/continuewatch/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #008577 4 | #00574B 5 | #D81B60 6 | 7 | -------------------------------------------------------------------------------- /labs/01/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /labs/01/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /labs/02/continuewatch/settings.gradle: -------------------------------------------------------------------------------- 1 | dependencyResolutionManagement { 2 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) 3 | repositories { 4 | google() 5 | mavenCentral() 6 | } 7 | } 8 | include ':app' 9 | rootProject.name='Continue Watch' 10 | -------------------------------------------------------------------------------- /demo/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Nov 22 03:46:45 MSK 2018 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-4.6-all.zip 7 | -------------------------------------------------------------------------------- /labs/02/continuewatch/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Sep 15 22:51:06 AST 2019 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-7.0.2-bin.zip 7 | -------------------------------------------------------------------------------- /labs/04/res/reference/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 31 17:43:12 MSK 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /labs/RecyclerView/biblib/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Sep 15 22:51:06 AST 2019 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-5.4.1-all.zip 7 | -------------------------------------------------------------------------------- /demo/app/src/main/res/values-ru/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | My demo application 3 | Settings 4 | Привет, мир! 5 | Количество раз нажато: %d 6 | 7 | -------------------------------------------------------------------------------- /demo/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /demo/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /demo/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /labs/02/continuewatch/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /labs/02/continuewatch/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /labs/04/res/reference/settings.gradle: -------------------------------------------------------------------------------- 1 | dependencyResolutionManagement { 2 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) 3 | repositories { 4 | google() 5 | mavenCentral() 6 | jcenter() // Warning: this repository is going to shut down soon 7 | } 8 | } 9 | rootProject.name = "My Application" 10 | include ':app' 11 | -------------------------------------------------------------------------------- /labs/RecyclerView/biblib/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java' 2 | 3 | repositories { 4 | mavenCentral() 5 | } 6 | 7 | dependencies { 8 | compile "org.jbibtex:jbibtex:1.0.17" 9 | testCompile "junit:junit:4.12" 10 | } 11 | 12 | jar { 13 | from { 14 | configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /labs/RecyclerView/biblib/src/test/resources/references.bib: -------------------------------------------------------------------------------- 1 | @article{semanticweb, 2 | title = {The semantic web}, 3 | author = {Berners-Lee, Tim and Hendler, James and Lassila, Ora and others}, 4 | journal = {Scientific American}, 5 | volume = {284}, 6 | number = {5}, 7 | pages = {28--37}, 8 | year = {2001}, 9 | publisher = {New York, NY, USA:} 10 | } 11 | -------------------------------------------------------------------------------- /labs/01/variants.txt: -------------------------------------------------------------------------------- 1 | varnt = позиция в алфавитно-упорядоченном списке группы (1, 2, ...) 2 | img1 = ((varnt - 1) % 22) + 1 3 | img2 = ((varnt + 8) % 22) + 1 4 | img3 = varnt 5 | 6 | 1-10 7 | 2-11 8 | 3-12 9 | 4-13 10 | 5-14 11 | 6-15 12 | 7-16 13 | 8-17 14 | 9-18 15 | 10-19 16 | 11-20 17 | 12-21 18 | 13-22 19 | 14-1 20 | 15-2 21 | 16-3 22 | 17-4 23 | 18-5 24 | 19-6 25 | 20-7 26 | 21-8 27 | 22-9 -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/res/drawable/ic_home_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/res/menu/bottom_nav_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | My Application 3 | 4 | About 5 | About text 6 | 7 | To Second 8 | To Third 9 | To First 10 | -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/java/com/example/myapplication/AboutActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.myapplication 2 | 3 | import android.os.Bundle 4 | import androidx.appcompat.app.AppCompatActivity 5 | 6 | class AboutActivity : AppCompatActivity() { 7 | override fun onCreate(savedInstanceState: Bundle?) { 8 | super.onCreate(savedInstanceState) 9 | setContentView(R.layout.activity_about) 10 | } 11 | } -------------------------------------------------------------------------------- /labs/02/continuewatch/README.md: -------------------------------------------------------------------------------- 1 | # Задание 2 | 3 | Разработать приложение, которое считает сколько секунд пользователь провел в 4 | приложении, т.е.: 5 | * Приложение считает секунды, когда оно отображается на экране 6 | * Приложение не считает секунды, когда оно не отображается на экране 7 | 8 | PS: continuewatch - это ассоциация автора на слово stopwatch. Приложение не является 9 | традиционным stopwatch (секундомером), но чем-то на него похоже. -------------------------------------------------------------------------------- /demo/app/src/main/res/layout/list_activity.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/res/drawable/ic_dashboard_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /labs/02/continuewatch/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /demo/app/src/main/res/menu/menu_main.xml: -------------------------------------------------------------------------------- 1 | 5 | 10 | 11 | -------------------------------------------------------------------------------- /demo/app/src/main/res/drawable/gradient.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /demo/app/src/main/res/drawable/shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /demo/app/src/main/res/layout/details_activity.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 11 | -------------------------------------------------------------------------------- /labs/02/VARIANTS02.md: -------------------------------------------------------------------------------- 1 | # Варианты задания №2 (Лабораторная работа №2) 2 | 1. MCC/MNC код 3 | 1. SmallestWidth 4 | 1. Available width 5 | 1. Available height 6 | 1. Screen size 7 | 1. Screen aspect 8 | 1. Round screen 9 | 1. UI mode 10 | 1. Night mode 11 | 1. Touchscreen type 12 | 1. Keyboard availability 13 | 1. Primary text input method 14 | 1. Navigation key availability 15 | 1. Primary non-touch navigation method 16 | 1. Platform Version (API level) 17 | 18 | Варианты 16-30 вычисляются как (var-15). Например, вариант 22 == вариант 7. -------------------------------------------------------------------------------- /demo/app/src/test/java/ru/spbstu/icc/kspt/andrei/mydemoapplication/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package ru.spbstu.icc.kspt.andrei.mydemoapplication; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /demo/app/src/main/res/drawable/ic_assistant_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /labs/01/01.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /demo/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | My demo application 3 | Settings 4 | Hello world! 5 | Start 6 | Clicked count: %d 7 | Create A2 8 | Create A3 9 | Back to 1 10 | Back to 2 11 | 12 | -------------------------------------------------------------------------------- /labs/04/res/reference/app/src/main/res/drawable/ic_notifications_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /demo/app/src/main/java/ru/spbstu/icc/kspt/andrei/mydemoapplication/MyBroadcastReceiver.java: -------------------------------------------------------------------------------- 1 | package ru.spbstu.icc.kspt.andrei.mydemoapplication; 2 | 3 | import android.content.BroadcastReceiver; 4 | import android.content.Context; 5 | import android.content.Intent; 6 | import android.util.Log; 7 | 8 | public class MyBroadcastReceiver extends BroadcastReceiver { 9 | 10 | public static final String TAG = "BROADCAST"; 11 | 12 | @Override 13 | public void onReceive(Context context, Intent intent) { 14 | Log.i(TAG, "Received intent: " + intent); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /labs/04/res/reference/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | repositories { 4 | google() 5 | mavenCentral() 6 | } 7 | dependencies { 8 | classpath "com.android.tools.build:gradle:7.0.0" 9 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20" 10 | 11 | // NOTE: Do not place your application dependencies here; they belong 12 | // in the individual module build.gradle files 13 | } 14 | } 15 | 16 | task clean(type: Delete) { 17 | delete rootProject.buildDir 18 | } -------------------------------------------------------------------------------- /labs/02/continuewatch/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | repositories { 4 | google() 5 | mavenCentral() 6 | } 7 | dependencies { 8 | classpath "com.android.tools.build:gradle:7.0.2" 9 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20" 10 | 11 | // NOTE: Do not place your application dependencies here; they belong 12 | // in the individual module build.gradle files 13 | } 14 | } 15 | 16 | task clean(type: Delete) { 17 | delete rootProject.buildDir 18 | } 19 | -------------------------------------------------------------------------------- /demo/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | 5 | repositories { 6 | google() 7 | jcenter() 8 | } 9 | dependencies { 10 | classpath 'com.android.tools.build:gradle:3.2.1' 11 | 12 | 13 | // NOTE: Do not place your application dependencies here; they belong 14 | // in the individual module build.gradle files 15 | } 16 | } 17 | 18 | allprojects { 19 | repositories { 20 | google() 21 | jcenter() 22 | } 23 | } 24 | 25 | task clean(type: Delete) { 26 | delete rootProject.buildDir 27 | } 28 | -------------------------------------------------------------------------------- /demo/app/src/main/res/layout/activity_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 |