├── .gitignore ├── LICENSE ├── README.md ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── resources ├── ajax-loader.gif └── logback.xml ├── settings.gradle ├── src ├── contributors │ ├── Contributors.kt │ ├── ContributorsUI.kt │ ├── GitHubService.kt │ ├── Logger.kt │ ├── Params.kt │ └── main.kt ├── samples │ ├── ChannelsSample.kt │ ├── ConcurrencySample.kt │ └── SamplesLogger.kt └── tasks │ ├── Aggregation.kt │ ├── Request1Blocking.kt │ ├── Request2Background.kt │ ├── Request3Callbacks.kt │ ├── Request4Suspend.kt │ ├── Request5Concurrent.kt │ ├── Request5NotCancellable.kt │ ├── Request6Progress.kt │ └── Request7Channels.kt └── test ├── contributors ├── MockGithubService.kt └── testData.kt ├── samples └── SampleTest.kt └── tasks ├── AggregationKtTest.kt ├── Request1BlockingKtTest.kt ├── Request3CallbacksKtTest.kt ├── Request4SuspendKtTest.kt ├── Request5ConcurrentKtTest.kt ├── Request6ProgressKtTest.kt └── Request7ChannelsKtTest.kt /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | .idea 3 | out 4 | build 5 | *.iml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/README.md -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | kotlin.code.style=official -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/gradlew.bat -------------------------------------------------------------------------------- /resources/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/resources/ajax-loader.gif -------------------------------------------------------------------------------- /resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/resources/logback.xml -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'intro-coroutines' 2 | 3 | -------------------------------------------------------------------------------- /src/contributors/Contributors.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/src/contributors/Contributors.kt -------------------------------------------------------------------------------- /src/contributors/ContributorsUI.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/src/contributors/ContributorsUI.kt -------------------------------------------------------------------------------- /src/contributors/GitHubService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/src/contributors/GitHubService.kt -------------------------------------------------------------------------------- /src/contributors/Logger.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/src/contributors/Logger.kt -------------------------------------------------------------------------------- /src/contributors/Params.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/src/contributors/Params.kt -------------------------------------------------------------------------------- /src/contributors/main.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/src/contributors/main.kt -------------------------------------------------------------------------------- /src/samples/ChannelsSample.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/src/samples/ChannelsSample.kt -------------------------------------------------------------------------------- /src/samples/ConcurrencySample.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/src/samples/ConcurrencySample.kt -------------------------------------------------------------------------------- /src/samples/SamplesLogger.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/src/samples/SamplesLogger.kt -------------------------------------------------------------------------------- /src/tasks/Aggregation.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/src/tasks/Aggregation.kt -------------------------------------------------------------------------------- /src/tasks/Request1Blocking.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/src/tasks/Request1Blocking.kt -------------------------------------------------------------------------------- /src/tasks/Request2Background.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/src/tasks/Request2Background.kt -------------------------------------------------------------------------------- /src/tasks/Request3Callbacks.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/src/tasks/Request3Callbacks.kt -------------------------------------------------------------------------------- /src/tasks/Request4Suspend.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/src/tasks/Request4Suspend.kt -------------------------------------------------------------------------------- /src/tasks/Request5Concurrent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/src/tasks/Request5Concurrent.kt -------------------------------------------------------------------------------- /src/tasks/Request5NotCancellable.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/src/tasks/Request5NotCancellable.kt -------------------------------------------------------------------------------- /src/tasks/Request6Progress.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/src/tasks/Request6Progress.kt -------------------------------------------------------------------------------- /src/tasks/Request7Channels.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/src/tasks/Request7Channels.kt -------------------------------------------------------------------------------- /test/contributors/MockGithubService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/test/contributors/MockGithubService.kt -------------------------------------------------------------------------------- /test/contributors/testData.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/test/contributors/testData.kt -------------------------------------------------------------------------------- /test/samples/SampleTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/test/samples/SampleTest.kt -------------------------------------------------------------------------------- /test/tasks/AggregationKtTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/test/tasks/AggregationKtTest.kt -------------------------------------------------------------------------------- /test/tasks/Request1BlockingKtTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/test/tasks/Request1BlockingKtTest.kt -------------------------------------------------------------------------------- /test/tasks/Request3CallbacksKtTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/test/tasks/Request3CallbacksKtTest.kt -------------------------------------------------------------------------------- /test/tasks/Request4SuspendKtTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/test/tasks/Request4SuspendKtTest.kt -------------------------------------------------------------------------------- /test/tasks/Request5ConcurrentKtTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/test/tasks/Request5ConcurrentKtTest.kt -------------------------------------------------------------------------------- /test/tasks/Request6ProgressKtTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/test/tasks/Request6ProgressKtTest.kt -------------------------------------------------------------------------------- /test/tasks/Request7ChannelsKtTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kotlin-hands-on/intro-coroutines/HEAD/test/tasks/Request7ChannelsKtTest.kt --------------------------------------------------------------------------------