在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → Android Apprentice ( raywenderlich.com )

Android Apprentice ( raywenderlich.com )

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:142.33M
  • 下载次数:1
  • 浏览次数:76
  • 发布时间:2021-02-10
  • 实例类别:一般编程问题
  • 发 布 人:好学IT男
  • 文件格式:.zip
  • 所需积分:2
 

实例介绍

【实例简介】
raywenderlich.com 新出的 Android Apprentice 。For Complete Beginners to Android!
【实例截图】
【核心代码】
e851abca-9bf5-45a7-9d90-28a43e765491
├── 01-getting-set-up-with-android-studio
│   └── final
│   └── timefighter
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── timefighter
│   │   │   └── ExampleInstrumentedTest.kt
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── timefighter
│   │   │   │   └── GameActivity.kt
│   │   │   └── res
│   │   │   ├── drawable
│   │   │   │   └── ic_launcher_background.xml
│   │   │   ├── drawable-v24
│   │   │   │   └── ic_launcher_foreground.xml
│   │   │   ├── layout
│   │   │   │   └── activity_game.xml
│   │   │   ├── mipmap-anydpi-v26
│   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   └── ic_launcher.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
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── timefighter
│   │   └── ExampleUnitTest.kt
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 02-layouts
│   ├── final
│   │   └── Timefighter
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── androidTest
│   │   │   │   └── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── timefighter
│   │   │   │   └── ExampleInstrumentedTest.java
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── timefighter
│   │   │   │   │   └── GameActivity.kt
│   │   │   │   └── res
│   │   │   │   ├── layout
│   │   │   │   │   └── activity_game.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
│   │   │   │   └── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── test
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── timefighter
│   │   │   └── ExampleUnitTest.java
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── timefighter
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── timefighter
│   │   │   └── ExampleInstrumentedTest.kt
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── timefighter
│   │   │   │   └── GameActivity.kt
│   │   │   └── res
│   │   │   ├── drawable
│   │   │   │   └── ic_launcher_background.xml
│   │   │   ├── drawable-v24
│   │   │   │   └── ic_launcher_foreground.xml
│   │   │   ├── layout
│   │   │   │   └── activity_game.xml
│   │   │   ├── mipmap-anydpi-v26
│   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   └── ic_launcher.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
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── timefighter
│   │   └── ExampleUnitTest.kt
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 03-activities
│   ├── final
│   │   └── Timefighter
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   └── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── timefighter
│   │   │   │   └── GameActivity.kt
│   │   │   └── res
│   │   │   ├── layout
│   │   │   │   └── activity_game.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
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── Timefighter
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── timefighter
│   │   │   └── ExampleInstrumentedTest.java
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── timefighter
│   │   │   │   └── GameActivity.kt
│   │   │   └── res
│   │   │   ├── layout
│   │   │   │   └── activity_game.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
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── timefighter
│   │   └── ExampleUnitTest.java
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 04-debugging
│   ├── final
│   │   └── Timefighter
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── androidTest
│   │   │   │   └── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── timefighter
│   │   │   │   └── ExampleInstrumentedTest.java
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── timefighter
│   │   │   │   │   └── GameActivity.kt
│   │   │   │   └── res
│   │   │   │   ├── layout
│   │   │   │   │   └── activity_game.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
│   │   │   │   └── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── test
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── timefighter
│   │   │   └── ExampleUnitTest.java
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── Timefighter
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   └── main
│   │   ├── AndroidManifest.xml
│   │   ├── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── timefighter
│   │   │   └── GameActivity.kt
│   │   └── res
│   │   ├── layout
│   │   │   └── activity_game.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
│   │   └── values
│   │   ├── colors.xml
│   │   ├── strings.xml
│   │   └── styles.xml
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 05-prettyifying-the-app
│   ├── final
│   │   └── Timefighter
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── androidTest
│   │   │   │   └── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── timefighter
│   │   │   │   └── ExampleInstrumentedTest.java
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── timefighter
│   │   │   │   │   └── GameActivity.kt
│   │   │   │   └── res
│   │   │   │   ├── anim
│   │   │   │   │   └── bounce.xml
│   │   │   │   ├── layout
│   │   │   │   │   └── activity_game.xml
│   │   │   │   ├── menu
│   │   │   │   │   └── menu.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
│   │   │   │   └── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── test
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── timefighter
│   │   │   └── ExampleUnitTest.java
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── Timefighter
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── timefighter
│   │   │   └── ExampleInstrumentedTest.java
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── timefighter
│   │   │   │   └── GameActivity.kt
│   │   │   └── res
│   │   │   ├── layout
│   │   │   │   └── activity_game.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
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── timefighter
│   │   └── ExampleUnitTest.java
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 06-creating-a-new-project
│   └── final
│   └── ListMaker
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── listmaker
│   │   │   └── ExampleInstrumentedTest.kt
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── listmaker
│   │   │   │   └── MainActivity.kt
│   │   │   └── res
│   │   │   ├── drawable
│   │   │   │   └── ic_launcher_background.xml
│   │   │   ├── layout
│   │   │   │   ├── activity_list.xml
│   │   │   │   └── content_main.xml
│   │   │   ├── menu
│   │   │   │   └── menu_main.xml
│   │   │   ├── mipmap-anydpi-v26
│   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   └── ic_launcher.xml
│   │   │   ├── mipmap-hdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-mdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── dimens.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── listmaker
│   │   └── ExampleUnitTest.kt
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 07-recycler-views
│   ├── final
│   │   └── ListMaker
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── androidTest
│   │   │   │   └── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── listmaker
│   │   │   │   └── ExampleInstrumentedTest.kt
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── listmaker
│   │   │   │   │   ├── ListSelectionRecyclerViewAdapter.kt
│   │   │   │   │   ├── ListSelectionViewHolder.kt
│   │   │   │   │   └── MainActivity.kt
│   │   │   │   └── res
│   │   │   │   ├── drawable
│   │   │   │   │   └── ic_launcher_background.xml
│   │   │   │   ├── layout
│   │   │   │   │   ├── activity_list.xml
│   │   │   │   │   ├── content_main.xml
│   │   │   │   │   └── list_selection_view_holder.xml
│   │   │   │   ├── menu
│   │   │   │   │   └── menu_main.xml
│   │   │   │   ├── mipmap-anydpi-v26
│   │   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   │   └── ic_launcher.xml
│   │   │   │   ├── mipmap-hdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-mdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   └── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── dimens.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── test
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── listmaker
│   │   │   └── ExampleUnitTest.kt
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── ListMaker
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── listmaker
│   │   │   └── ExampleInstrumentedTest.kt
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── listmaker
│   │   │   │   └── MainActivity.kt
│   │   │   └── res
│   │   │   ├── drawable
│   │   │   │   └── ic_launcher_background.xml
│   │   │   ├── layout
│   │   │   │   ├── activity_list.xml
│   │   │   │   └── content_main.xml
│   │   │   ├── menu
│   │   │   │   └── menu_main.xml
│   │   │   ├── mipmap-anydpi-v26
│   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   └── ic_launcher.xml
│   │   │   ├── mipmap-hdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-mdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── dimens.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── listmaker
│   │   └── ExampleUnitTest.kt
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 08-shared-preferences
│   ├── final
│   │   └── ListMaker
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── androidTest
│   │   │   │   └── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── listmaker
│   │   │   │   └── ExampleInstrumentedTest.kt
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── listmaker
│   │   │   │   │   ├── ListDataManager.kt
│   │   │   │   │   ├── ListSelectionRecyclerViewAdapter.kt
│   │   │   │   │   ├── ListSelectionViewHolder.kt
│   │   │   │   │   ├── MainActivity.kt
│   │   │   │   │   └── TaskList.kt
│   │   │   │   └── res
│   │   │   │   ├── drawable
│   │   │   │   │   └── ic_launcher_background.xml
│   │   │   │   ├── layout
│   │   │   │   │   ├── activity_list.xml
│   │   │   │   │   ├── content_main.xml
│   │   │   │   │   └── list_selection_view_holder.xml
│   │   │   │   ├── menu
│   │   │   │   │   └── menu_main.xml
│   │   │   │   ├── mipmap-anydpi-v26
│   │   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   │   └── ic_launcher.xml
│   │   │   │   ├── mipmap-hdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-mdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   └── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── dimens.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── test
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── listmaker
│   │   │   └── ExampleUnitTest.kt
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── ListMaker
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── listmaker
│   │   │   └── ExampleInstrumentedTest.kt
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── listmaker
│   │   │   │   ├── ListSelectionRecyclerViewAdapter.kt
│   │   │   │   ├── ListSelectionViewHolder.kt
│   │   │   │   └── MainActivity.kt
│   │   │   └── res
│   │   │   ├── drawable
│   │   │   │   └── ic_launcher_background.xml
│   │   │   ├── layout
│   │   │   │   ├── activity_list.xml
│   │   │   │   ├── content_main.xml
│   │   │   │   └── list_selection_view_holder.xml
│   │   │   ├── menu
│   │   │   │   └── menu_main.xml
│   │   │   ├── mipmap-anydpi-v26
│   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   └── ic_launcher.xml
│   │   │   ├── mipmap-hdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-mdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── dimens.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── listmaker
│   │   └── ExampleUnitTest.kt
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 09-communicating-between-activities
│   ├── final
│   │   └── ListMaker
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── androidTest
│   │   │   │   └── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── listmaker
│   │   │   │   └── ExampleInstrumentedTest.kt
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── listmaker
│   │   │   │   │   ├── ListDataManager.kt
│   │   │   │   │   ├── ListDetailActivity.kt
│   │   │   │   │   ├── ListSelectionRecyclerViewAdapter.kt
│   │   │   │   │   ├── ListSelectionViewHolder.kt
│   │   │   │   │   ├── MainActivity.kt
│   │   │   │   │   └── TaskList.kt
│   │   │   │   └── res
│   │   │   │   ├── drawable
│   │   │   │   │   └── ic_launcher_background.xml
│   │   │   │   ├── layout
│   │   │   │   │   ├── activity_list_detail.xml
│   │   │   │   │   ├── activity_list.xml
│   │   │   │   │   ├── content_main.xml
│   │   │   │   │   └── list_selection_view_holder.xml
│   │   │   │   ├── menu
│   │   │   │   │   └── menu_main.xml
│   │   │   │   ├── mipmap-anydpi-v26
│   │   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   │   └── ic_launcher.xml
│   │   │   │   ├── mipmap-hdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-mdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   └── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── dimens.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── test
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── listmaker
│   │   │   └── ExampleUnitTest.kt
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── ListMaker
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── listmaker
│   │   │   └── ExampleInstrumentedTest.kt
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── listmaker
│   │   │   │   ├── ListDataManager.kt
│   │   │   │   ├── ListSelectionRecyclerViewAdapter.kt
│   │   │   │   ├── ListSelectionViewHolder.kt
│   │   │   │   ├── MainActivity.kt
│   │   │   │   └── TaskList.kt
│   │   │   └── res
│   │   │   ├── drawable
│   │   │   │   └── ic_launcher_background.xml
│   │   │   ├── layout
│   │   │   │   ├── activity_list.xml
│   │   │   │   ├── content_main.xml
│   │   │   │   └── list_selection_view_holder.xml
│   │   │   ├── menu
│   │   │   │   └── menu_main.xml
│   │   │   ├── mipmap-anydpi-v26
│   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   └── ic_launcher.xml
│   │   │   ├── mipmap-hdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-mdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── dimens.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── listmaker
│   │   └── ExampleUnitTest.kt
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 10-completing-the-detail-view
│   ├── final
│   │   └── ListMaker
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── androidTest
│   │   │   │   └── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── listmaker
│   │   │   │   └── ExampleInstrumentedTest.kt
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── listmaker
│   │   │   │   │   ├── ListDataManager.kt
│   │   │   │   │   ├── ListDetailActivity.kt
│   │   │   │   │   ├── ListItemsRecyclerViewAdapter.kt
│   │   │   │   │   ├── ListItemViewHolder.kt
│   │   │   │   │   ├── ListSelectionRecyclerViewAdapter.kt
│   │   │   │   │   ├── ListSelectionViewHolder.kt
│   │   │   │   │   ├── MainActivity.kt
│   │   │   │   │   └── TaskList.kt
│   │   │   │   └── res
│   │   │   │   ├── drawable
│   │   │   │   │   └── ic_launcher_background.xml
│   │   │   │   ├── layout
│   │   │   │   │   ├── activity_list_detail.xml
│   │   │   │   │   ├── activity_list.xml
│   │   │   │   │   ├── content_main.xml
│   │   │   │   │   ├── list_selection_view_holder.xml
│   │   │   │   │   └── task_view_holder.xml
│   │   │   │   ├── menu
│   │   │   │   │   └── menu_main.xml
│   │   │   │   ├── mipmap-anydpi-v26
│   │   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   │   └── ic_launcher.xml
│   │   │   │   ├── mipmap-hdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-mdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   └── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── dimens.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── test
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── listmaker
│   │   │   └── ExampleUnitTest.kt
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── ListMaker
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── listmaker
│   │   │   └── ExampleInstrumentedTest.kt
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── listmaker
│   │   │   │   ├── ListDataManager.kt
│   │   │   │   ├── ListDetailActivity.kt
│   │   │   │   ├── ListSelectionRecyclerViewAdapter.kt
│   │   │   │   ├── ListSelectionViewHolder.kt
│   │   │   │   ├── MainActivity.kt
│   │   │   │   └── TaskList.kt
│   │   │   └── res
│   │   │   ├── drawable
│   │   │   │   └── ic_launcher_background.xml
│   │   │   ├── layout
│   │   │   │   ├── activity_list_detail.xml
│   │   │   │   ├── activity_list.xml
│   │   │   │   ├── content_main.xml
│   │   │   │   └── list_selection_view_holder.xml
│   │   │   ├── menu
│   │   │   │   └── menu_main.xml
│   │   │   ├── mipmap-anydpi-v26
│   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   └── ic_launcher.xml
│   │   │   ├── mipmap-hdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-mdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── dimens.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── listmaker
│   │   └── ExampleUnitTest.kt
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 11-using-fragments-to-expand-ui
│   ├── final
│   │   └── ListMaker
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── androidTest
│   │   │   │   └── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── listmaker
│   │   │   │   └── ExampleInstrumentedTest.kt
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── listmaker
│   │   │   │   │   ├── ListDataManager.kt
│   │   │   │   │   ├── ListDetailActivity.kt
│   │   │   │   │   ├── ListDetailFragment.kt
│   │   │   │   │   ├── ListItemsRecyclerViewAdapter.kt
│   │   │   │   │   ├── ListItemViewHolder.kt
│   │   │   │   │   ├── ListSelectionFragment.kt
│   │   │   │   │   ├── ListSelectionRecyclerViewAdapter.kt
│   │   │   │   │   ├── ListSelectionViewHolder.kt
│   │   │   │   │   ├── MainActivity.kt
│   │   │   │   │   └── TaskList.kt
│   │   │   │   └── res
│   │   │   │   ├── drawable
│   │   │   │   │   └── ic_launcher_background.xml
│   │   │   │   ├── layout
│   │   │   │   │   ├── activity_list_detail.xml
│   │   │   │   │   ├── activity_list.xml
│   │   │   │   │   ├── content_main.xml
│   │   │   │   │   ├── fragment_list_detail.xml
│   │   │   │   │   ├── fragment_list_selection.xml
│   │   │   │   │   ├── list_selection_view_holder.xml
│   │   │   │   │   └── task_view_holder.xml
│   │   │   │   ├── layout-xlarge
│   │   │   │   │   └── content_main.xml
│   │   │   │   ├── menu
│   │   │   │   │   └── menu_main.xml
│   │   │   │   ├── mipmap-anydpi-v26
│   │   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   │   └── ic_launcher.xml
│   │   │   │   ├── mipmap-hdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-mdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   └── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── dimens.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── test
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── listmaker
│   │   │   └── ExampleUnitTest.kt
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── ListMaker
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── listmaker
│   │   │   └── ExampleInstrumentedTest.kt
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── listmaker
│   │   │   │   ├── ListDataManager.kt
│   │   │   │   ├── ListDetailActivity.kt
│   │   │   │   ├── ListItemsRecyclerViewAdapter.kt
│   │   │   │   ├── ListItemViewHolder.kt
│   │   │   │   ├── ListSelectionRecyclerViewAdapter.kt
│   │   │   │   ├── ListSelectionViewHolder.kt
│   │   │   │   ├── MainActivity.kt
│   │   │   │   └── TaskList.kt
│   │   │   └── res
│   │   │   ├── drawable
│   │   │   │   └── ic_launcher_background.xml
│   │   │   ├── layout
│   │   │   │   ├── activity_list_detail.xml
│   │   │   │   ├── activity_list.xml
│   │   │   │   ├── content_main.xml
│   │   │   │   ├── list_selection_view_holder.xml
│   │   │   │   └── task_view_holder.xml
│   │   │   ├── menu
│   │   │   │   └── menu_main.xml
│   │   │   ├── mipmap-anydpi-v26
│   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   └── ic_launcher.xml
│   │   │   ├── mipmap-hdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-mdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── dimens.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── listmaker
│   │   └── ExampleUnitTest.kt
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 12-material-design
│   ├── final
│   │   └── ListMaker
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── androidTest
│   │   │   │   └── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── listmaker
│   │   │   │   └── ExampleInstrumentedTest.kt
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── listmaker
│   │   │   │   │   ├── ListDataManager.kt
│   │   │   │   │   ├── ListDetailActivity.kt
│   │   │   │   │   ├── ListDetailFragment.kt
│   │   │   │   │   ├── ListItemsRecyclerViewAdapter.kt
│   │   │   │   │   ├── ListItemViewHolder.kt
│   │   │   │   │   ├── ListSelectionFragment.kt
│   │   │   │   │   ├── ListSelectionRecyclerViewAdapter.kt
│   │   │   │   │   ├── ListSelectionViewHolder.kt
│   │   │   │   │   ├── MainActivity.kt
│   │   │   │   │   └── TaskList.kt
│   │   │   │   └── res
│   │   │   │   ├── drawable
│   │   │   │   │   └── ic_launcher_background.xml
│   │   │   │   ├── layout
│   │   │   │   │   ├── activity_list_detail.xml
│   │   │   │   │   ├── activity_list.xml
│   │   │   │   │   ├── content_main.xml
│   │   │   │   │   ├── fragment_list_detail.xml
│   │   │   │   │   ├── fragment_list_selection.xml
│   │   │   │   │   ├── list_selection_view_holder.xml
│   │   │   │   │   └── task_view_holder.xml
│   │   │   │   ├── layout-xlarge
│   │   │   │   │   └── content_main.xml
│   │   │   │   ├── menu
│   │   │   │   │   └── menu_main.xml
│   │   │   │   ├── mipmap-anydpi-v26
│   │   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   │   └── ic_launcher.xml
│   │   │   │   ├── mipmap-hdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-mdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   └── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── dimens.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── test
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── listmaker
│   │   │   └── ExampleUnitTest.kt
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── ListMaker
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── listmaker
│   │   │   └── ExampleInstrumentedTest.kt
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── listmaker
│   │   │   │   ├── ListDataManager.kt
│   │   │   │   ├── ListDetailActivity.kt
│   │   │   │   ├── ListDetailFragment.kt
│   │   │   │   ├── ListItemsRecyclerViewAdapter.kt
│   │   │   │   ├── ListItemViewHolder.kt
│   │   │   │   ├── ListSelectionFragment.kt
│   │   │   │   ├── ListSelectionRecyclerViewAdapter.kt
│   │   │   │   ├── ListSelectionViewHolder.kt
│   │   │   │   ├── MainActivity.kt
│   │   │   │   └── TaskList.kt
│   │   │   └── res
│   │   │   ├── drawable
│   │   │   │   └── ic_launcher_background.xml
│   │   │   ├── layout
│   │   │   │   ├── activity_list_detail.xml
│   │   │   │   ├── activity_list.xml
│   │   │   │   ├── content_main.xml
│   │   │   │   ├── fragment_list_detail.xml
│   │   │   │   ├── fragment_list_selection.xml
│   │   │   │   ├── list_selection_view_holder.xml
│   │   │   │   └── task_view_holder.xml
│   │   │   ├── layout-xlarge
│   │   │   │   └── content_main.xml
│   │   │   ├── menu
│   │   │   │   └── menu_main.xml
│   │   │   ├── mipmap-anydpi-v26
│   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   └── ic_launcher.xml
│   │   │   ├── mipmap-hdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-mdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── dimens.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── listmaker
│   │   └── ExampleUnitTest.kt
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 13-creating-a-map-based-app
│   └── final
│   └── PlaceBook
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── debug
│   │   │   └── res
│   │   │   └── values
│   │   │   └── google_maps_api.xml
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── placebook
│   │   │   │   └── MapsActivity.kt
│   │   │   └── res
│   │   │   ├── layout
│   │   │   │   └── activity_maps.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
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── release
│   │   └── res
│   │   └── values
│   │   └── google_maps_api.xml
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 14-user-location-and-permissions
│   ├── final
│   │   └── PlaceBook
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── debug
│   │   │   │   └── res
│   │   │   │   └── values
│   │   │   │   └── google_maps_api.xml
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── placebook
│   │   │   │   │   └── MapsActivity.kt
│   │   │   │   └── res
│   │   │   │   ├── layout
│   │   │   │   │   └── activity_maps.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
│   │   │   │   └── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── release
│   │   │   └── res
│   │   │   └── values
│   │   │   └── google_maps_api.xml
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── PlaceBook
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── debug
│   │   │   └── res
│   │   │   └── values
│   │   │   └── google_maps_api.xml
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── placebook
│   │   │   │   └── MapsActivity.kt
│   │   │   └── res
│   │   │   ├── layout
│   │   │   │   └── activity_maps.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
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── release
│   │   └── res
│   │   └── values
│   │   └── google_maps_api.xml
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 15-google-places
│   ├── final
│   │   └── PlaceBook
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── debug
│   │   │   │   └── res
│   │   │   │   └── values
│   │   │   │   └── google_maps_api.xml
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── placebook
│   │   │   │   │   ├── adapter
│   │   │   │   │   │   └── BookmarkInfoWindowAdapter.kt
│   │   │   │   │   └── MapsActivity.kt
│   │   │   │   └── res
│   │   │   │   ├── drawable-hdpi
│   │   │   │   │   └── default_photo.png
│   │   │   │   ├── drawable-mdpi
│   │   │   │   │   └── default_photo.png
│   │   │   │   ├── drawable-xhdpi
│   │   │   │   │   └── default_photo.png
│   │   │   │   ├── drawable-xxhdpi
│   │   │   │   │   └── default_photo.png
│   │   │   │   ├── layout
│   │   │   │   │   ├── activity_maps.xml
│   │   │   │   │   └── content_bookmark_info.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
│   │   │   │   └── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── dimens.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── release
│   │   │   └── res
│   │   │   └── values
│   │   │   └── google_maps_api.xml
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── PlaceBook
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── debug
│   │   │   └── res
│   │   │   └── values
│   │   │   └── google_maps_api.xml
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── placebook
│   │   │   │   └── MapsActivity.kt
│   │   │   └── res
│   │   │   ├── drawable-hdpi
│   │   │   │   └── default_photo.png
│   │   │   ├── drawable-mdpi
│   │   │   │   └── default_photo.png
│   │   │   ├── drawable-xhdpi
│   │   │   │   └── default_photo.png
│   │   │   ├── drawable-xxhdpi
│   │   │   │   └── default_photo.png
│   │   │   ├── layout
│   │   │   │   └── activity_maps.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
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── release
│   │   └── res
│   │   └── values
│   │   └── google_maps_api.xml
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 16-saving-bookmarks
│   ├── final
│   │   └── PlaceBook
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── debug
│   │   │   │   └── res
│   │   │   │   └── values
│   │   │   │   └── google_maps_api.xml
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── placebook
│   │   │   │   │   ├── adapter
│   │   │   │   │   │   └── BookmarkInfoWindowAdapter.kt
│   │   │   │   │   ├── db
│   │   │   │   │   │   ├── BookmarkDao.kt
│   │   │   │   │   │   └── PlaceBookDatabase.kt
│   │   │   │   │   ├── model
│   │   │   │   │   │   └── Bookmark.kt
│   │   │   │   │   ├── repository
│   │   │   │   │   │   └── BookmarkRepo.kt
│   │   │   │   │   ├── ui
│   │   │   │   │   │   └── MapsActivity.kt
│   │   │   │   │   └── viewmodel
│   │   │   │   │   └── MapsViewModel.kt
│   │   │   │   └── res
│   │   │   │   ├── drawable-hdpi
│   │   │   │   │   └── default_photo.png
│   │   │   │   ├── drawable-mdpi
│   │   │   │   │   └── default_photo.png
│   │   │   │   ├── drawable-xhdpi
│   │   │   │   │   └── default_photo.png
│   │   │   │   ├── drawable-xxhdpi
│   │   │   │   │   └── default_photo.png
│   │   │   │   ├── layout
│   │   │   │   │   ├── activity_maps.xml
│   │   │   │   │   └── content_bookmark_info.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
│   │   │   │   └── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── dimens.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── release
│   │   │   └── res
│   │   │   └── values
│   │   │   └── google_maps_api.xml
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── PlaceBook
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── debug
│   │   │   └── res
│   │   │   └── values
│   │   │   └── google_maps_api.xml
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── placebook
│   │   │   │   ├── adapter
│   │   │   │   │   └── BookmarkInfoWindowAdapter.kt
│   │   │   │   └── MapsActivity.kt
│   │   │   └── res
│   │   │   ├── drawable-hdpi
│   │   │   │   └── default_photo.png
│   │   │   ├── drawable-mdpi
│   │   │   │   └── default_photo.png
│   │   │   ├── drawable-xhdpi
│   │   │   │   └── default_photo.png
│   │   │   ├── drawable-xxhdpi
│   │   │   │   └── default_photo.png
│   │   │   ├── layout
│   │   │   │   ├── activity_maps.xml
│   │   │   │   └── content_bookmark_info.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
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── dimens.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── release
│   │   └── res
│   │   └── values
│   │   └── google_maps_api.xml
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 17-detail-activity
│   ├── final
│   │   └── PlaceBook
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── debug
│   │   │   │   └── res
│   │   │   │   └── values
│   │   │   │   └── google_maps_api.xml
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── placebook
│   │   │   │   │   ├── adapter
│   │   │   │   │   │   └── BookmarkInfoWindowAdapter.kt
│   │   │   │   │   ├── db
│   │   │   │   │   │   ├── BookmarkDao.kt
│   │   │   │   │   │   └── PlaceBookDatabase.kt
│   │   │   │   │   ├── model
│   │   │   │   │   │   └── Bookmark.kt
│   │   │   │   │   ├── repository
│   │   │   │   │   │   └── BookmarkRepo.kt
│   │   │   │   │   ├── ui
│   │   │   │   │   │   ├── BookmarkDetailsActivity.kt
│   │   │   │   │   │   └── MapsActivity.kt
│   │   │   │   │   ├── util
│   │   │   │   │   │   └── ImageUtils.kt
│   │   │   │   │   └── viewmodel
│   │   │   │   │   ├── BookmarkDetailsViewModel.kt
│   │   │   │   │   └── MapsViewModel.kt
│   │   │   │   └── res
│   │   │   │   ├── drawable-hdpi
│   │   │   │   │   ├── default_photo.png
│   │   │   │   │   └── ic_action_done.png
│   │   │   │   ├── drawable-mdpi
│   │   │   │   │   ├── default_photo.png
│   │   │   │   │   └── ic_action_done.png
│   │   │   │   ├── drawable-xhdpi
│   │   │   │   │   ├── default_photo.png
│   │   │   │   │   └── ic_action_done.png
│   │   │   │   ├── drawable-xxhdpi
│   │   │   │   │   ├── default_photo.png
│   │   │   │   │   └── ic_action_done.png
│   │   │   │   ├── layout
│   │   │   │   │   ├── activity_bookmark_details.xml
│   │   │   │   │   ├── activity_maps.xml
│   │   │   │   │   └── content_bookmark_info.xml
│   │   │   │   ├── menu
│   │   │   │   │   └── menu_bookmark_details.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
│   │   │   │   └── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── dimens.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── release
│   │   │   └── res
│   │   │   └── values
│   │   │   └── google_maps_api.xml
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── PlaceBook
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── debug
│   │   │   └── res
│   │   │   └── values
│   │   │   └── google_maps_api.xml
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── placebook
│   │   │   │   ├── adapter
│   │   │   │   │   └── BookmarkInfoWindowAdapter.kt
│   │   │   │   ├── db
│   │   │   │   │   ├── BookmarkDao.kt
│   │   │   │   │   └── PlaceBookDatabase.kt
│   │   │   │   ├── model
│   │   │   │   │   └── Bookmark.kt
│   │   │   │   ├── repository
│   │   │   │   │   └── BookmarkRepo.kt
│   │   │   │   ├── ui
│   │   │   │   │   └── MapsActivity.kt
│   │   │   │   └── viewmodel
│   │   │   │   └── MapsViewModel.kt
│   │   │   └── res
│   │   │   ├── drawable-hdpi
│   │   │   │   ├── default_photo.png
│   │   │   │   └── ic_action_done.png
│   │   │   ├── drawable-mdpi
│   │   │   │   ├── default_photo.png
│   │   │   │   └── ic_action_done.png
│   │   │   ├── drawable-xhdpi
│   │   │   │   ├── default_photo.png
│   │   │   │   └── ic_action_done.png
│   │   │   ├── drawable-xxhdpi
│   │   │   │   ├── default_photo.png
│   │   │   │   └── ic_action_done.png
│   │   │   ├── layout
│   │   │   │   ├── activity_maps.xml
│   │   │   │   └── content_bookmark_info.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
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── dimens.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── release
│   │   └── res
│   │   └── values
│   │   └── google_maps_api.xml
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 18-navigation-and-photos
│   ├── final
│   │   └── PlaceBook
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── debug
│   │   │   │   └── res
│   │   │   │   └── values
│   │   │   │   └── google_maps_api.xml
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── placebook
│   │   │   │   │   ├── adapter
│   │   │   │   │   │   ├── BookmarkInfoWindowAdapter.kt
│   │   │   │   │   │   └── BookmarkListAdapter.kt
│   │   │   │   │   ├── db
│   │   │   │   │   │   ├── BookmarkDao.kt
│   │   │   │   │   │   └── PlaceBookDatabase.kt
│   │   │   │   │   ├── model
│   │   │   │   │   │   └── Bookmark.kt
│   │   │   │   │   ├── repository
│   │   │   │   │   │   └── BookmarkRepo.kt
│   │   │   │   │   ├── ui
│   │   │   │   │   │   ├── BookmarkDetailsActivity.kt
│   │   │   │   │   │   ├── MapsActivity.kt
│   │   │   │   │   │   └── PhotoOptionDialogFragment.kt
│   │   │   │   │   ├── util
│   │   │   │   │   │   └── ImageUtils.kt
│   │   │   │   │   └── viewmodel
│   │   │   │   │   ├── BookmarkDetailsViewModel.kt
│   │   │   │   │   └── MapsViewModel.kt
│   │   │   │   └── res
│   │   │   │   ├── drawable-hdpi
│   │   │   │   │   ├── default_photo.png
│   │   │   │   │   ├── ic_action_done.png
│   │   │   │   │   └── ic_other.png
│   │   │   │   ├── drawable-mdpi
│   │   │   │   │   ├── default_photo.png
│   │   │   │   │   ├── ic_action_done.png
│   │   │   │   │   └── ic_other.png
│   │   │   │   ├── drawable-xhdpi
│   │   │   │   │   ├── default_photo.png
│   │   │   │   │   ├── ic_action_done.png
│   │   │   │   │   └── ic_other.png
│   │   │   │   ├── drawable-xxhdpi
│   │   │   │   │   ├── default_photo.png
│   │   │   │   │   ├── ic_action_done.png
│   │   │   │   │   └── ic_other.png
│   │   │   │   ├── drawable-xxxhdpi
│   │   │   │   │   └── ic_other.png
│   │   │   │   ├── layout
│   │   │   │   │   ├── activity_bookmark_details.xml
│   │   │   │   │   ├── activity_maps.xml
│   │   │   │   │   ├── bookmark_item.xml
│   │   │   │   │   ├── content_bookmark_info.xml
│   │   │   │   │   ├── drawer_view_maps.xml
│   │   │   │   │   └── main_view_maps.xml
│   │   │   │   ├── menu
│   │   │   │   │   └── menu_bookmark_details.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
│   │   │   │   ├── values
│   │   │   │   │   ├── colors.xml
│   │   │   │   │   ├── dimens.xml
│   │   │   │   │   ├── strings.xml
│   │   │   │   │   └── styles.xml
│   │   │   │   └── xml
│   │   │   │   └── file_paths.xml
│   │   │   └── release
│   │   │   └── res
│   │   │   └── values
│   │   │   └── google_maps_api.xml
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── PlaceBook
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── debug
│   │   │   └── res
│   │   │   └── values
│   │   │   └── google_maps_api.xml
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── placebook
│   │   │   │   ├── adapter
│   │   │   │   │   └── BookmarkInfoWindowAdapter.kt
│   │   │   │   ├── db
│   │   │   │   │   ├── BookmarkDao.kt
│   │   │   │   │   └── PlaceBookDatabase.kt
│   │   │   │   ├── model
│   │   │   │   │   └── Bookmark.kt
│   │   │   │   ├── repository
│   │   │   │   │   └── BookmarkRepo.kt
│   │   │   │   ├── ui
│   │   │   │   │   ├── BookmarkDetailsActivity.kt
│   │   │   │   │   └── MapsActivity.kt
│   │   │   │   ├── util
│   │   │   │   │   └── ImageUtils.kt
│   │   │   │   └── viewmodel
│   │   │   │   ├── BookmarkDetailsViewModel.kt
│   │   │   │   └── MapsViewModel.kt
│   │   │   └── res
│   │   │   ├── drawable-hdpi
│   │   │   │   ├── default_photo.png
│   │   │   │   ├── ic_action_done.png
│   │   │   │   └── ic_other.png
│   │   │   ├── drawable-mdpi
│   │   │   │   ├── default_photo.png
│   │   │   │   ├── ic_action_done.png
│   │   │   │   └── ic_other.png
│   │   │   ├── drawable-xhdpi
│   │   │   │   ├── default_photo.png
│   │   │   │   ├── ic_action_done.png
│   │   │   │   └── ic_other.png
│   │   │   ├── drawable-xxhdpi
│   │   │   │   ├── default_photo.png
│   │   │   │   ├── ic_action_done.png
│   │   │   │   └── ic_other.png
│   │   │   ├── drawable-xxxhdpi
│   │   │   │   └── ic_other.png
│   │   │   ├── layout
│   │   │   │   ├── activity_bookmark_details.xml
│   │   │   │   ├── activity_maps.xml
│   │   │   │   └── content_bookmark_info.xml
│   │   │   ├── menu
│   │   │   │   └── menu_bookmark_details.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
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── dimens.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── release
│   │   └── res
│   │   └── values
│   │   └── google_maps_api.xml
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 19-finishing-touches
│   ├── final
│   │   └── PlaceBook
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── debug
│   │   │   │   └── res
│   │   │   │   └── values
│   │   │   │   └── google_maps_api.xml
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── ic_launcher_round-web.png
│   │   │   │   ├── ic_launcher-web.png
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── placebook
│   │   │   │   │   ├── adapter
│   │   │   │   │   │   ├── BookmarkInfoWindowAdapter.kt
│   │   │   │   │   │   └── BookmarkListAdapter.kt
│   │   │   │   │   ├── db
│   │   │   │   │   │   ├── BookmarkDao.kt
│   │   │   │   │   │   └── PlaceBookDatabase.kt
│   │   │   │   │   ├── model
│   │   │   │   │   │   └── Bookmark.kt
│   │   │   │   │   ├── repository
│   │   │   │   │   │   └── BookmarkRepo.kt
│   │   │   │   │   ├── ui
│   │   │   │   │   │   ├── BookmarkDetailsActivity.kt
│   │   │   │   │   │   ├── MapsActivity.kt
│   │   │   │   │   │   └── PhotoOptionDialogFragment.kt
│   │   │   │   │   ├── util
│   │   │   │   │   │   ├── FileUtils.kt
│   │   │   │   │   │   └── ImageUtils.kt
│   │   │   │   │   └── viewmodel
│   │   │   │   │   ├── BookmarkDetailsViewModel.kt
│   │   │   │   │   └── MapsViewModel.kt
│   │   │   │   └── res
│   │   │   │   ├── drawable-hdpi
│   │   │   │   │   ├── default_photo.png
│   │   │   │   │   ├── ic_action_done.png
│   │   │   │   │   ├── ic_gas.png
│   │   │   │   │   ├── ic_lodging.png
│   │   │   │   │   ├── ic_other.png
│   │   │   │   │   ├── ic_restaurant.png
│   │   │   │   │   ├── ic_search_white.png
│   │   │   │   │   └── ic_shopping.png
│   │   │   │   ├── drawable-mdpi
│   │   │   │   │   ├── default_photo.png
│   │   │   │   │   ├── ic_action_done.png
│   │   │   │   │   ├── ic_gas.png
│   │   │   │   │   ├── ic_lodging.png
│   │   │   │   │   ├── ic_other.png
│   │   │   │   │   ├── ic_restaurant.png
│   │   │   │   │   ├── ic_search_white.png
│   │   │   │   │   └── ic_shopping.png
│   │   │   │   ├── drawable-xhdpi
│   │   │   │   │   ├── default_photo.png
│   │   │   │   │   ├── ic_action_done.png
│   │   │   │   │   ├── ic_gas.png
│   │   │   │   │   ├── ic_lodging.png
│   │   │   │   │   ├── ic_other.png
│   │   │   │   │   ├── ic_restaurant.png
│   │   │   │   │   ├── ic_search_white.png
│   │   │   │   │   └── ic_shopping.png
│   │   │   │   ├── drawable-xxhdpi
│   │   │   │   │   ├── default_photo.png
│   │   │   │   │   ├── ic_action_done.png
│   │   │   │   │   ├── ic_gas.png
│   │   │   │   │   ├── ic_lodging.png
│   │   │   │   │   ├── ic_other.png
│   │   │   │   │   ├── ic_restaurant.png
│   │   │   │   │   ├── ic_search_white.png
│   │   │   │   │   └── ic_shopping.png
│   │   │   │   ├── drawable-xxxhdpi
│   │   │   │   │   ├── ic_gas.png
│   │   │   │   │   ├── ic_lodging.png
│   │   │   │   │   ├── ic_other.png
│   │   │   │   │   ├── ic_restaurant.png
│   │   │   │   │   ├── ic_search_white.png
│   │   │   │   │   └── ic_shopping.png
│   │   │   │   ├── layout
│   │   │   │   │   ├── activity_bookmark_details.xml
│   │   │   │   │   ├── activity_maps.xml
│   │   │   │   │   ├── bookmark_item.xml
│   │   │   │   │   ├── content_bookmark_info.xml
│   │   │   │   │   ├── drawer_view_maps.xml
│   │   │   │   │   └── main_view_maps.xml
│   │   │   │   ├── menu
│   │   │   │   │   └── menu_bookmark_details.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
│   │   │   │   ├── values
│   │   │   │   │   ├── colors.xml
│   │   │   │   │   ├── dimens.xml
│   │   │   │   │   ├── strings.xml
│   │   │   │   │   └── styles.xml
│   │   │   │   └── xml
│   │   │   │   └── file_paths.xml
│   │   │   └── release
│   │   │   └── res
│   │   │   └── values
│   │   │   └── google_maps_api.xml
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── PlaceBook
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── debug
│   │   │   └── res
│   │   │   └── values
│   │   │   └── google_maps_api.xml
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── ic_launcher_round-web.png
│   │   │   ├── ic_launcher-web.png
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── placebook
│   │   │   │   ├── adapter
│   │   │   │   │   ├── BookmarkInfoWindowAdapter.kt
│   │   │   │   │   └── BookmarkListAdapter.kt
│   │   │   │   ├── db
│   │   │   │   │   ├── BookmarkDao.kt
│   │   │   │   │   └── PlaceBookDatabase.kt
│   │   │   │   ├── model
│   │   │   │   │   └── Bookmark.kt
│   │   │   │   ├── repository
│   │   │   │   │   └── BookmarkRepo.kt
│   │   │   │   ├── ui
│   │   │   │   │   ├── BookmarkDetailsActivity.kt
│   │   │   │   │   ├── MapsActivity.kt
│   │   │   │   │   └── PhotoOptionDialogFragment.kt
│   │   │   │   ├── util
│   │   │   │   │   └── ImageUtils.kt
│   │   │   │   └── viewmodel
│   │   │   │   ├── BookmarkDetailsViewModel.kt
│   │   │   │   └── MapsViewModel.kt
│   │   │   └── res
│   │   │   ├── drawable-hdpi
│   │   │   │   ├── default_photo.png
│   │   │   │   ├── ic_action_done.png
│   │   │   │   ├── ic_gas.png
│   │   │   │   ├── ic_lodging.png
│   │   │   │   ├── ic_other.png
│   │   │   │   ├── ic_restaurant.png
│   │   │   │   ├── ic_search_white.png
│   │   │   │   └── ic_shopping.png
│   │   │   ├── drawable-mdpi
│   │   │   │   ├── default_photo.png
│   │   │   │   ├── ic_action_done.png
│   │   │   │   ├── ic_gas.png
│   │   │   │   ├── ic_lodging.png
│   │   │   │   ├── ic_other.png
│   │   │   │   ├── ic_restaurant.png
│   │   │   │   ├── ic_search_white.png
│   │   │   │   └── ic_shopping.png
│   │   │   ├── drawable-xhdpi
│   │   │   │   ├── default_photo.png
│   │   │   │   ├── ic_action_done.png
│   │   │   │   ├── ic_gas.png
│   │   │   │   ├── ic_lodging.png
│   │   │   │   ├── ic_other.png
│   │   │   │   ├── ic_restaurant.png
│   │   │   │   ├── ic_search_white.png
│   │   │   │   └── ic_shopping.png
│   │   │   ├── drawable-xxhdpi
│   │   │   │   ├── default_photo.png
│   │   │   │   ├── ic_action_done.png
│   │   │   │   ├── ic_gas.png
│   │   │   │   ├── ic_lodging.png
│   │   │   │   ├── ic_other.png
│   │   │   │   ├── ic_restaurant.png
│   │   │   │   ├── ic_search_white.png
│   │   │   │   └── ic_shopping.png
│   │   │   ├── drawable-xxxhdpi
│   │   │   │   ├── ic_gas.png
│   │   │   │   ├── ic_lodging.png
│   │   │   │   ├── ic_other.png
│   │   │   │   ├── ic_restaurant.png
│   │   │   │   ├── ic_search_white.png
│   │   │   │   └── ic_shopping.png
│   │   │   ├── layout
│   │   │   │   ├── activity_bookmark_details.xml
│   │   │   │   ├── activity_maps.xml
│   │   │   │   ├── bookmark_item.xml
│   │   │   │   ├── content_bookmark_info.xml
│   │   │   │   ├── drawer_view_maps.xml
│   │   │   │   └── main_view_maps.xml
│   │   │   ├── menu
│   │   │   │   └── menu_bookmark_details.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
│   │   │   ├── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── dimens.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── xml
│   │   │   └── file_paths.xml
│   │   └── release
│   │   └── res
│   │   └── values
│   │   └── google_maps_api.xml
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 20-networking
│   └── final
│   └── PodPlay
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── podplay
│   │   │   └── ExampleInstrumentedTest.kt
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── podplay
│   │   │   │   ├── repository
│   │   │   │   │   └── ItunesRepo.kt
│   │   │   │   ├── service
│   │   │   │   │   ├── ItunesService.kt
│   │   │   │   │   └── PodcastResponse.kt
│   │   │   │   └── ui
│   │   │   │   └── PodcastActivity.kt
│   │   │   └── res
│   │   │   ├── drawable
│   │   │   │   └── ic_launcher_background.xml
│   │   │   ├── layout
│   │   │   │   └── activity_podcast.xml
│   │   │   ├── mipmap-anydpi-v26
│   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   └── ic_launcher.xml
│   │   │   ├── mipmap-hdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-mdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── podplay
│   │   └── ExampleUnitTest.kt
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 21-finding-podcasts
│   ├── final
│   │   └── PodPlay
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── androidTest
│   │   │   │   └── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── podplay
│   │   │   │   └── ExampleInstrumentedTest.kt
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── podplay
│   │   │   │   │   ├── adapter
│   │   │   │   │   │   └── PodcastListAdapter.kt
│   │   │   │   │   ├── repository
│   │   │   │   │   │   └── ItunesRepo.kt
│   │   │   │   │   ├── service
│   │   │   │   │   │   ├── ItunesService.kt
│   │   │   │   │   │   └── PodcastResponse.kt
│   │   │   │   │   ├── ui
│   │   │   │   │   │   └── PodcastActivity.kt
│   │   │   │   │   ├── util
│   │   │   │   │   │   └── DateUtils.kt
│   │   │   │   │   └── viewmodel
│   │   │   │   │   └── SearchViewModel.kt
│   │   │   │   └── res
│   │   │   │   ├── drawable
│   │   │   │   │   └── ic_launcher_background.xml
│   │   │   │   ├── layout
│   │   │   │   │   ├── activity_podcast.xml
│   │   │   │   │   └── search_item.xml
│   │   │   │   ├── menu
│   │   │   │   │   └── menu_search.xml
│   │   │   │   ├── mipmap-anydpi-v26
│   │   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   │   └── ic_launcher.xml
│   │   │   │   ├── mipmap-hdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-mdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── values
│   │   │   │   │   ├── colors.xml
│   │   │   │   │   ├── strings.xml
│   │   │   │   │   └── styles.xml
│   │   │   │   └── xml
│   │   │   │   └── searchable.xml
│   │   │   └── test
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── podplay
│   │   │   └── ExampleUnitTest.kt
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── PodPlay
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── podplay
│   │   │   └── ExampleInstrumentedTest.kt
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── podplay
│   │   │   │   ├── repository
│   │   │   │   │   └── ItunesRepo.kt
│   │   │   │   ├── service
│   │   │   │   │   ├── ItunesService.kt
│   │   │   │   │   └── PodcastResponse.kt
│   │   │   │   └── ui
│   │   │   │   └── PodcastActivity.kt
│   │   │   └── res
│   │   │   ├── drawable
│   │   │   │   └── ic_launcher_background.xml
│   │   │   ├── layout
│   │   │   │   └── activity_podcast.xml
│   │   │   ├── mipmap-anydpi-v26
│   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   └── ic_launcher.xml
│   │   │   ├── mipmap-hdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-mdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── podplay
│   │   └── ExampleUnitTest.kt
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 22-podcasts-details
│   ├── final
│   │   └── PodPlay
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── androidTest
│   │   │   │   └── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── podplay
│   │   │   │   └── ExampleInstrumentedTest.kt
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── podplay
│   │   │   │   │   ├── adapter
│   │   │   │   │   │   └── PodcastListAdapter.kt
│   │   │   │   │   ├── model
│   │   │   │   │   │   ├── Episode.kt
│   │   │   │   │   │   └── Podcast.kt
│   │   │   │   │   ├── repository
│   │   │   │   │   │   ├── ItunesRepo.kt
│   │   │   │   │   │   └── PodcastRepo.kt
│   │   │   │   │   ├── service
│   │   │   │   │   │   ├── ItunesService.kt
│   │   │   │   │   │   └── PodcastResponse.kt
│   │   │   │   │   ├── ui
│   │   │   │   │   │   ├── PodcastActivity.kt
│   │   │   │   │   │   └── PodcastDetailsFragment.kt
│   │   │   │   │   ├── util
│   │   │   │   │   │   └── DateUtils.kt
│   │   │   │   │   └── viewmodel
│   │   │   │   │   ├── PodcastViewModel.kt
│   │   │   │   │   └── SearchViewModel.kt
│   │   │   │   └── res
│   │   │   │   ├── drawable
│   │   │   │   │   └── ic_launcher_background.xml
│   │   │   │   ├── layout
│   │   │   │   │   ├── activity_podcast.xml
│   │   │   │   │   ├── episode_item.xml
│   │   │   │   │   ├── fragment_podcast_details.xml
│   │   │   │   │   └── search_item.xml
│   │   │   │   ├── menu
│   │   │   │   │   ├── menu_details.xml
│   │   │   │   │   └── menu_search.xml
│   │   │   │   ├── mipmap-anydpi-v26
│   │   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   │   └── ic_launcher.xml
│   │   │   │   ├── mipmap-hdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-mdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── values
│   │   │   │   │   ├── colors.xml
│   │   │   │   │   ├── strings.xml
│   │   │   │   │   └── styles.xml
│   │   │   │   └── xml
│   │   │   │   └── searchable.xml
│   │   │   └── test
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── podplay
│   │   │   └── ExampleUnitTest.kt
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── PodPlay
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── podplay
│   │   │   └── ExampleInstrumentedTest.kt
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── podplay
│   │   │   │   ├── adapter
│   │   │   │   │   └── PodcastListAdapter.kt
│   │   │   │   ├── repository
│   │   │   │   │   └── ItunesRepo.kt
│   │   │   │   ├── service
│   │   │   │   │   ├── ItunesService.kt
│   │   │   │   │   └── PodcastResponse.kt
│   │   │   │   ├── ui
│   │   │   │   │   └── PodcastActivity.kt
│   │   │   │   ├── util
│   │   │   │   │   └── DateUtils.kt
│   │   │   │   └── viewmodel
│   │   │   │   └── SearchViewModel.kt
│   │   │   └── res
│   │   │   ├── drawable
│   │   │   │   └── ic_launcher_background.xml
│   │   │   ├── layout
│   │   │   │   ├── activity_podcast.xml
│   │   │   │   └── search_item.xml
│   │   │   ├── menu
│   │   │   │   └── menu_search.xml
│   │   │   ├── mipmap-anydpi-v26
│   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   └── ic_launcher.xml
│   │   │   ├── mipmap-hdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-mdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── xml
│   │   │   └── searchable.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── podplay
│   │   └── ExampleUnitTest.kt
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 23-podcast-episodes
│   ├── final
│   │   └── PodPlay
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── androidTest
│   │   │   │   └── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── podplay
│   │   │   │   └── ExampleInstrumentedTest.kt
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── podplay
│   │   │   │   │   ├── adapter
│   │   │   │   │   │   ├── EpisodeListAdapter.kt
│   │   │   │   │   │   └── PodcastListAdapter.kt
│   │   │   │   │   ├── model
│   │   │   │   │   │   ├── Episode.kt
│   │   │   │   │   │   └── Podcast.kt
│   │   │   │   │   ├── repository
│   │   │   │   │   │   ├── ItunesRepo.kt
│   │   │   │   │   │   └── PodcastRepo.kt
│   │   │   │   │   ├── service
│   │   │   │   │   │   ├── ItunesService.kt
│   │   │   │   │   │   ├── PodcastResponse.kt
│   │   │   │   │   │   ├── RssFeedResponse.kt
│   │   │   │   │   │   └── RssFeedService.kt
│   │   │   │   │   ├── ui
│   │   │   │   │   │   ├── PodcastActivity.kt
│   │   │   │   │   │   └── PodcastDetailsFragment.kt
│   │   │   │   │   ├── util
│   │   │   │   │   │   ├── DateUtils.kt
│   │   │   │   │   │   └── HtmlUtils.kt
│   │   │   │   │   └── viewmodel
│   │   │   │   │   ├── PodcastViewModel.kt
│   │   │   │   │   └── SearchViewModel.kt
│   │   │   │   └── res
│   │   │   │   ├── drawable
│   │   │   │   │   └── ic_launcher_background.xml
│   │   │   │   ├── layout
│   │   │   │   │   ├── activity_podcast.xml
│   │   │   │   │   ├── episode_item.xml
│   │   │   │   │   ├── fragment_podcast_details.xml
│   │   │   │   │   └── search_item.xml
│   │   │   │   ├── menu
│   │   │   │   │   ├── menu_details.xml
│   │   │   │   │   └── menu_search.xml
│   │   │   │   ├── mipmap-anydpi-v26
│   │   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   │   └── ic_launcher.xml
│   │   │   │   ├── mipmap-hdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-mdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── values
│   │   │   │   │   ├── colors.xml
│   │   │   │   │   ├── strings.xml
│   │   │   │   │   └── styles.xml
│   │   │   │   └── xml
│   │   │   │   └── searchable.xml
│   │   │   └── test
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── podplay
│   │   │   └── ExampleUnitTest.kt
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── PodPlay
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── podplay
│   │   │   └── ExampleInstrumentedTest.kt
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── podplay
│   │   │   │   ├── adapter
│   │   │   │   │   └── PodcastListAdapter.kt
│   │   │   │   ├── model
│   │   │   │   │   ├── Episode.kt
│   │   │   │   │   └── Podcast.kt
│   │   │   │   ├── repository
│   │   │   │   │   ├── ItunesRepo.kt
│   │   │   │   │   └── PodcastRepo.kt
│   │   │   │   ├── service
│   │   │   │   │   ├── ItunesService.kt
│   │   │   │   │   └── PodcastResponse.kt
│   │   │   │   ├── ui
│   │   │   │   │   ├── PodcastActivity.kt
│   │   │   │   │   └── PodcastDetailsFragment.kt
│   │   │   │   ├── util
│   │   │   │   │   └── DateUtils.kt
│   │   │   │   └── viewmodel
│   │   │   │   ├── PodcastViewModel.kt
│   │   │   │   └── SearchViewModel.kt
│   │   │   └── res
│   │   │   ├── drawable
│   │   │   │   └── ic_launcher_background.xml
│   │   │   ├── layout
│   │   │   │   ├── activity_podcast.xml
│   │   │   │   ├── episode_item.xml
│   │   │   │   ├── fragment_podcast_details.xml
│   │   │   │   └── search_item.xml
│   │   │   ├── menu
│   │   │   │   ├── menu_details.xml
│   │   │   │   └── menu_search.xml
│   │   │   ├── mipmap-anydpi-v26
│   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   └── ic_launcher.xml
│   │   │   ├── mipmap-hdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-mdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── xml
│   │   │   └── searchable.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── podplay
│   │   └── ExampleUnitTest.kt
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 24-podcast-subscriptions
│   ├── final
│   │   └── PodPlay
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── androidTest
│   │   │   │   └── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── podplay
│   │   │   │   └── ExampleInstrumentedTest.kt
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── podplay
│   │   │   │   │   ├── adapter
│   │   │   │   │   │   ├── EpisodeListAdapter.kt
│   │   │   │   │   │   └── PodcastListAdapter.kt
│   │   │   │   │   ├── db
│   │   │   │   │   │   ├── PodcastDao.kt
│   │   │   │   │   │   └── PodPlayDatabase.kt
│   │   │   │   │   ├── model
│   │   │   │   │   │   ├── Episode.kt
│   │   │   │   │   │   └── Podcast.kt
│   │   │   │   │   ├── repository
│   │   │   │   │   │   ├── ItunesRepo.kt
│   │   │   │   │   │   └── PodcastRepo.kt
│   │   │   │   │   ├── service
│   │   │   │   │   │   ├── ItunesService.kt
│   │   │   │   │   │   ├── PodcastResponse.kt
│   │   │   │   │   │   ├── RssFeedResponse.kt
│   │   │   │   │   │   └── RssFeedService.kt
│   │   │   │   │   ├── ui
│   │   │   │   │   │   ├── PodcastActivity.kt
│   │   │   │   │   │   └── PodcastDetailsFragment.kt
│   │   │   │   │   ├── util
│   │   │   │   │   │   ├── DateUtils.kt
│   │   │   │   │   │   └── HtmlUtils.kt
│   │   │   │   │   └── viewmodel
│   │   │   │   │   ├── PodcastViewModel.kt
│   │   │   │   │   └── SearchViewModel.kt
│   │   │   │   └── res
│   │   │   │   ├── drawable
│   │   │   │   │   └── ic_launcher_background.xml
│   │   │   │   ├── layout
│   │   │   │   │   ├── activity_podcast.xml
│   │   │   │   │   ├── episode_item.xml
│   │   │   │   │   ├── fragment_podcast_details.xml
│   │   │   │   │   └── search_item.xml
│   │   │   │   ├── menu
│   │   │   │   │   ├── menu_details.xml
│   │   │   │   │   └── menu_search.xml
│   │   │   │   ├── mipmap-anydpi-v26
│   │   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   │   └── ic_launcher.xml
│   │   │   │   ├── mipmap-hdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-mdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── values
│   │   │   │   │   ├── colors.xml
│   │   │   │   │   ├── strings.xml
│   │   │   │   │   └── styles.xml
│   │   │   │   └── xml
│   │   │   │   └── searchable.xml
│   │   │   └── test
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── podplay
│   │   │   └── ExampleUnitTest.kt
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── PodPlay
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── podplay
│   │   │   └── ExampleInstrumentedTest.kt
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── podplay
│   │   │   │   ├── adapter
│   │   │   │   │   ├── EpisodeListAdapter.kt
│   │   │   │   │   └── PodcastListAdapter.kt
│   │   │   │   ├── model
│   │   │   │   │   ├── Episode.kt
│   │   │   │   │   └── Podcast.kt
│   │   │   │   ├── repository
│   │   │   │   │   ├── ItunesRepo.kt
│   │   │   │   │   └── PodcastRepo.kt
│   │   │   │   ├── service
│   │   │   │   │   ├── ItunesService.kt
│   │   │   │   │   ├── PodcastResponse.kt
│   │   │   │   │   ├── RssFeedResponse.kt
│   │   │   │   │   └── RssFeedService.kt
│   │   │   │   ├── ui
│   │   │   │   │   ├── PodcastActivity.kt
│   │   │   │   │   └── PodcastDetailsFragment.kt
│   │   │   │   ├── util
│   │   │   │   │   ├── DateUtils.kt
│   │   │   │   │   └── HtmlUtils.kt
│   │   │   │   └── viewmodel
│   │   │   │   ├── PodcastViewModel.kt
│   │   │   │   └── SearchViewModel.kt
│   │   │   └── res
│   │   │   ├── drawable
│   │   │   │   └── ic_launcher_background.xml
│   │   │   ├── layout
│   │   │   │   ├── activity_podcast.xml
│   │   │   │   ├── episode_item.xml
│   │   │   │   ├── fragment_podcast_details.xml
│   │   │   │   └── search_item.xml
│   │   │   ├── menu
│   │   │   │   ├── menu_details.xml
│   │   │   │   └── menu_search.xml
│   │   │   ├── mipmap-anydpi-v26
│   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   └── ic_launcher.xml
│   │   │   ├── mipmap-hdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-mdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── xml
│   │   │   └── searchable.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── podplay
│   │   └── ExampleUnitTest.kt
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 25-podcast-subscriptions-two
│   ├── final
│   │   └── PodPlay
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── androidTest
│   │   │   │   └── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── podplay
│   │   │   │   └── ExampleInstrumentedTest.kt
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── podplay
│   │   │   │   │   ├── adapter
│   │   │   │   │   │   ├── EpisodeListAdapter.kt
│   │   │   │   │   │   └── PodcastListAdapter.kt
│   │   │   │   │   ├── db
│   │   │   │   │   │   ├── PodcastDao.kt
│   │   │   │   │   │   └── PodPlayDatabase.kt
│   │   │   │   │   ├── model
│   │   │   │   │   │   ├── Episode.kt
│   │   │   │   │   │   └── Podcast.kt
│   │   │   │   │   ├── repository
│   │   │   │   │   │   ├── ItunesRepo.kt
│   │   │   │   │   │   └── PodcastRepo.kt
│   │   │   │   │   ├── service
│   │   │   │   │   │   ├── EpisodeUpdateService.kt
│   │   │   │   │   │   ├── ItunesService.kt
│   │   │   │   │   │   ├── PodcastResponse.kt
│   │   │   │   │   │   ├── RssFeedResponse.kt
│   │   │   │   │   │   └── RssFeedService.kt
│   │   │   │   │   ├── ui
│   │   │   │   │   │   ├── PodcastActivity.kt
│   │   │   │   │   │   └── PodcastDetailsFragment.kt
│   │   │   │   │   ├── util
│   │   │   │   │   │   ├── DateUtils.kt
│   │   │   │   │   │   └── HtmlUtils.kt
│   │   │   │   │   └── viewmodel
│   │   │   │   │   ├── PodcastViewModel.kt
│   │   │   │   │   └── SearchViewModel.kt
│   │   │   │   └── res
│   │   │   │   ├── drawable
│   │   │   │   │   └── ic_launcher_background.xml
│   │   │   │   ├── drawable-hdpi
│   │   │   │   │   └── ic_episode_icon.png
│   │   │   │   ├── drawable-mdpi
│   │   │   │   │   └── ic_episode_icon.png
│   │   │   │   ├── drawable-xhdpi
│   │   │   │   │   └── ic_episode_icon.png
│   │   │   │   ├── drawable-xxhdpi
│   │   │   │   │   └── ic_episode_icon.png
│   │   │   │   ├── layout
│   │   │   │   │   ├── activity_podcast.xml
│   │   │   │   │   ├── episode_item.xml
│   │   │   │   │   ├── fragment_podcast_details.xml
│   │   │   │   │   └── search_item.xml
│   │   │   │   ├── menu
│   │   │   │   │   ├── menu_details.xml
│   │   │   │   │   └── menu_search.xml
│   │   │   │   ├── mipmap-anydpi-v26
│   │   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   │   └── ic_launcher.xml
│   │   │   │   ├── mipmap-hdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-mdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── values
│   │   │   │   │   ├── colors.xml
│   │   │   │   │   ├── strings.xml
│   │   │   │   │   └── styles.xml
│   │   │   │   └── xml
│   │   │   │   └── searchable.xml
│   │   │   └── test
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── podplay
│   │   │   └── ExampleUnitTest.kt
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── PodPlay
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── podplay
│   │   │   └── ExampleInstrumentedTest.kt
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── podplay
│   │   │   │   ├── adapter
│   │   │   │   │   ├── EpisodeListAdapter.kt
│   │   │   │   │   └── PodcastListAdapter.kt
│   │   │   │   ├── db
│   │   │   │   │   ├── PodcastDao.kt
│   │   │   │   │   └── PodPlayDatabase.kt
│   │   │   │   ├── model
│   │   │   │   │   ├── Episode.kt
│   │   │   │   │   └── Podcast.kt
│   │   │   │   ├── repository
│   │   │   │   │   ├── ItunesRepo.kt
│   │   │   │   │   └── PodcastRepo.kt
│   │   │   │   ├── service
│   │   │   │   │   ├── ItunesService.kt
│   │   │   │   │   ├── PodcastResponse.kt
│   │   │   │   │   ├── RssFeedResponse.kt
│   │   │   │   │   └── RssFeedService.kt
│   │   │   │   ├── ui
│   │   │   │   │   ├── PodcastActivity.kt
│   │   │   │   │   └── PodcastDetailsFragment.kt
│   │   │   │   ├── util
│   │   │   │   │   ├── DateUtils.kt
│   │   │   │   │   └── HtmlUtils.kt
│   │   │   │   └── viewmodel
│   │   │   │   ├── PodcastViewModel.kt
│   │   │   │   └── SearchViewModel.kt
│   │   │   └── res
│   │   │   ├── drawable
│   │   │   │   └── ic_launcher_background.xml
│   │   │   ├── drawable-hdpi
│   │   │   │   └── ic_episode_icon.png
│   │   │   ├── drawable-mdpi
│   │   │   │   └── ic_episode_icon.png
│   │   │   ├── drawable-xhdpi
│   │   │   │   └── ic_episode_icon.png
│   │   │   ├── drawable-xxhdpi
│   │   │   │   └── ic_episode_icon.png
│   │   │   ├── layout
│   │   │   │   ├── activity_podcast.xml
│   │   │   │   ├── episode_item.xml
│   │   │   │   ├── fragment_podcast_details.xml
│   │   │   │   └── search_item.xml
│   │   │   ├── menu
│   │   │   │   ├── menu_details.xml
│   │   │   │   └── menu_search.xml
│   │   │   ├── mipmap-anydpi-v26
│   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   └── ic_launcher.xml
│   │   │   ├── mipmap-hdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-mdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── xml
│   │   │   └── searchable.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── podplay
│   │   └── ExampleUnitTest.kt
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 26-podcast-playback
│   ├── final
│   │   └── PodPlay
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── androidTest
│   │   │   │   └── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── podplay
│   │   │   │   └── ExampleInstrumentedTest.kt
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── podplay
│   │   │   │   │   ├── adapter
│   │   │   │   │   │   ├── EpisodeListAdapter.kt
│   │   │   │   │   │   └── PodcastListAdapter.kt
│   │   │   │   │   ├── db
│   │   │   │   │   │   ├── PodcastDao.kt
│   │   │   │   │   │   └── PodPlayDatabase.kt
│   │   │   │   │   ├── model
│   │   │   │   │   │   ├── Episode.kt
│   │   │   │   │   │   └── Podcast.kt
│   │   │   │   │   ├── repository
│   │   │   │   │   │   ├── ItunesRepo.kt
│   │   │   │   │   │   └── PodcastRepo.kt
│   │   │   │   │   ├── service
│   │   │   │   │   │   ├── EpisodeUpdateService.kt
│   │   │   │   │   │   ├── ItunesService.kt
│   │   │   │   │   │   ├── PodcastResponse.kt
│   │   │   │   │   │   ├── PodplayMediaCallback.kt
│   │   │   │   │   │   ├── PodplayMediaService.kt
│   │   │   │   │   │   ├── RssFeedResponse.kt
│   │   │   │   │   │   └── RssFeedService.kt
│   │   │   │   │   ├── ui
│   │   │   │   │   │   ├── PodcastActivity.kt
│   │   │   │   │   │   └── PodcastDetailsFragment.kt
│   │   │   │   │   ├── util
│   │   │   │   │   │   ├── DateUtils.kt
│   │   │   │   │   │   └── HtmlUtils.kt
│   │   │   │   │   └── viewmodel
│   │   │   │   │   ├── PodcastViewModel.kt
│   │   │   │   │   └── SearchViewModel.kt
│   │   │   │   └── res
│   │   │   │   ├── drawable
│   │   │   │   │   └── ic_launcher_background.xml
│   │   │   │   ├── drawable-hdpi
│   │   │   │   │   ├── ic_episode_icon.png
│   │   │   │   │   ├── ic_pause_white.png
│   │   │   │   │   └── ic_play_arrow_white.png
│   │   │   │   ├── drawable-mdpi
│   │   │   │   │   ├── ic_episode_icon.png
│   │   │   │   │   ├── ic_pause_white.png
│   │   │   │   │   └── ic_play_arrow_white.png
│   │   │   │   ├── drawable-xhdpi
│   │   │   │   │   ├── ic_episode_icon.png
│   │   │   │   │   ├── ic_pause_white.png
│   │   │   │   │   └── ic_play_arrow_white.png
│   │   │   │   ├── drawable-xxhdpi
│   │   │   │   │   ├── ic_episode_icon.png
│   │   │   │   │   ├── ic_pause_white.png
│   │   │   │   │   └── ic_play_arrow_white.png
│   │   │   │   ├── layout
│   │   │   │   │   ├── activity_podcast.xml
│   │   │   │   │   ├── episode_item.xml
│   │   │   │   │   ├── fragment_podcast_details.xml
│   │   │   │   │   └── search_item.xml
│   │   │   │   ├── menu
│   │   │   │   │   ├── menu_details.xml
│   │   │   │   │   └── menu_search.xml
│   │   │   │   ├── mipmap-anydpi-v26
│   │   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   │   └── ic_launcher.xml
│   │   │   │   ├── mipmap-hdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-mdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── values
│   │   │   │   │   ├── colors.xml
│   │   │   │   │   ├── strings.xml
│   │   │   │   │   └── styles.xml
│   │   │   │   └── xml
│   │   │   │   └── searchable.xml
│   │   │   └── test
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── podplay
│   │   │   └── ExampleUnitTest.kt
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── PodPlay
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── podplay
│   │   │   └── ExampleInstrumentedTest.kt
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── podplay
│   │   │   │   ├── adapter
│   │   │   │   │   ├── EpisodeListAdapter.kt
│   │   │   │   │   └── PodcastListAdapter.kt
│   │   │   │   ├── db
│   │   │   │   │   ├── PodcastDao.kt
│   │   │   │   │   └── PodPlayDatabase.kt
│   │   │   │   ├── model
│   │   │   │   │   ├── Episode.kt
│   │   │   │   │   └── Podcast.kt
│   │   │   │   ├── repository
│   │   │   │   │   ├── ItunesRepo.kt
│   │   │   │   │   └── PodcastRepo.kt
│   │   │   │   ├── service
│   │   │   │   │   ├── EpisodeUpdateService.kt
│   │   │   │   │   ├── ItunesService.kt
│   │   │   │   │   ├── PodcastResponse.kt
│   │   │   │   │   ├── RssFeedResponse.kt
│   │   │   │   │   └── RssFeedService.kt
│   │   │   │   ├── ui
│   │   │   │   │   ├── PodcastActivity.kt
│   │   │   │   │   └── PodcastDetailsFragment.kt
│   │   │   │   ├── util
│   │   │   │   │   ├── DateUtils.kt
│   │   │   │   │   └── HtmlUtils.kt
│   │   │   │   └── viewmodel
│   │   │   │   ├── PodcastViewModel.kt
│   │   │   │   └── SearchViewModel.kt
│   │   │   └── res
│   │   │   ├── drawable
│   │   │   │   └── ic_launcher_background.xml
│   │   │   ├── drawable-hdpi
│   │   │   │   ├── ic_episode_icon.png
│   │   │   │   ├── ic_pause_white.png
│   │   │   │   └── ic_play_arrow_white.png
│   │   │   ├── drawable-mdpi
│   │   │   │   ├── ic_episode_icon.png
│   │   │   │   ├── ic_pause_white.png
│   │   │   │   └── ic_play_arrow_white.png
│   │   │   ├── drawable-xhdpi
│   │   │   │   ├── ic_episode_icon.png
│   │   │   │   ├── ic_pause_white.png
│   │   │   │   └── ic_play_arrow_white.png
│   │   │   ├── drawable-xxhdpi
│   │   │   │   ├── ic_episode_icon.png
│   │   │   │   ├── ic_pause_white.png
│   │   │   │   └── ic_play_arrow_white.png
│   │   │   ├── layout
│   │   │   │   ├── activity_podcast.xml
│   │   │   │   ├── episode_item.xml
│   │   │   │   ├── fragment_podcast_details.xml
│   │   │   │   └── search_item.xml
│   │   │   ├── menu
│   │   │   │   ├── menu_details.xml
│   │   │   │   └── menu_search.xml
│   │   │   ├── mipmap-anydpi-v26
│   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   └── ic_launcher.xml
│   │   │   ├── mipmap-hdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-mdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── xml
│   │   │   └── searchable.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── podplay
│   │   └── ExampleUnitTest.kt
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 27-episode-player
│   ├── final
│   │   └── PodPlay
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   ├── proguard-rules.pro
│   │   │   └── src
│   │   │   ├── androidTest
│   │   │   │   └── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── podplay
│   │   │   │   └── ExampleInstrumentedTest.kt
│   │   │   ├── main
│   │   │   │   ├── AndroidManifest.xml
│   │   │   │   ├── ic_launcher-web.png
│   │   │   │   ├── java
│   │   │   │   │   └── com
│   │   │   │   │   └── raywenderlich
│   │   │   │   │   └── podplay
│   │   │   │   │   ├── adapter
│   │   │   │   │   │   ├── EpisodeListAdapter.kt
│   │   │   │   │   │   └── PodcastListAdapter.kt
│   │   │   │   │   ├── db
│   │   │   │   │   │   ├── PodcastDao.kt
│   │   │   │   │   │   └── PodPlayDatabase.kt
│   │   │   │   │   ├── model
│   │   │   │   │   │   ├── Episode.kt
│   │   │   │   │   │   └── Podcast.kt
│   │   │   │   │   ├── repository
│   │   │   │   │   │   ├── ItunesRepo.kt
│   │   │   │   │   │   └── PodcastRepo.kt
│   │   │   │   │   ├── service
│   │   │   │   │   │   ├── EpisodeUpdateService.kt
│   │   │   │   │   │   ├── ItunesService.kt
│   │   │   │   │   │   ├── PodcastResponse.kt
│   │   │   │   │   │   ├── PodplayMediaCallback.kt
│   │   │   │   │   │   ├── PodplayMediaService.kt
│   │   │   │   │   │   ├── RssFeedResponse.kt
│   │   │   │   │   │   └── RssFeedService.kt
│   │   │   │   │   ├── ui
│   │   │   │   │   │   ├── EpisodePlayerFragment.kt
│   │   │   │   │   │   ├── PodcastActivity.kt
│   │   │   │   │   │   └── PodcastDetailsFragment.kt
│   │   │   │   │   ├── util
│   │   │   │   │   │   ├── DateUtils.kt
│   │   │   │   │   │   └── HtmlUtils.kt
│   │   │   │   │   └── viewmodel
│   │   │   │   │   ├── PodcastViewModel.kt
│   │   │   │   │   └── SearchViewModel.kt
│   │   │   │   └── res
│   │   │   │   ├── drawable
│   │   │   │   │   ├── ic_launcher_background.xml
│   │   │   │   │   └── ic_play_pause_toggle.xml
│   │   │   │   ├── drawable-hdpi
│   │   │   │   │   ├── ic_episode_icon.png
│   │   │   │   │   ├── ic_forward_30_white.png
│   │   │   │   │   ├── ic_pause_white.png
│   │   │   │   │   ├── ic_play_arrow_white.png
│   │   │   │   │   └── ic_replay_10_white.png
│   │   │   │   ├── drawable-mdpi
│   │   │   │   │   ├── ic_episode_icon.png
│   │   │   │   │   ├── ic_forward_30_white.png
│   │   │   │   │   ├── ic_pause_white.png
│   │   │   │   │   ├── ic_play_arrow_white.png
│   │   │   │   │   └── ic_replay_10_white.png
│   │   │   │   ├── drawable-xhdpi
│   │   │   │   │   ├── ic_episode_icon.png
│   │   │   │   │   ├── ic_forward_30_white.png
│   │   │   │   │   ├── ic_pause_white.png
│   │   │   │   │   ├── ic_play_arrow_white.png
│   │   │   │   │   └── ic_replay_10_white.png
│   │   │   │   ├── drawable-xxhdpi
│   │   │   │   │   ├── ic_episode_icon.png
│   │   │   │   │   ├── ic_forward_30_white.png
│   │   │   │   │   ├── ic_pause_white.png
│   │   │   │   │   ├── ic_play_arrow_white.png
│   │   │   │   │   └── ic_replay_10_white.png
│   │   │   │   ├── drawable-xxxhdpi
│   │   │   │   │   ├── ic_forward_30_white.png
│   │   │   │   │   ├── ic_pause_white.png
│   │   │   │   │   ├── ic_play_arrow_white.png
│   │   │   │   │   └── ic_replay_10_white.png
│   │   │   │   ├── layout
│   │   │   │   │   ├── activity_podcast.xml
│   │   │   │   │   ├── episode_item.xml
│   │   │   │   │   ├── fragment_episode_player.xml
│   │   │   │   │   ├── fragment_podcast_details.xml
│   │   │   │   │   └── search_item.xml
│   │   │   │   ├── menu
│   │   │   │   │   ├── menu_details.xml
│   │   │   │   │   └── menu_search.xml
│   │   │   │   ├── mipmap-anydpi-v26
│   │   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   │   └── ic_launcher.xml
│   │   │   │   ├── mipmap-hdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-mdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── mipmap-xxxhdpi
│   │   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   │   ├── ic_launcher.png
│   │   │   │   │   └── ic_launcher_round.png
│   │   │   │   ├── values
│   │   │   │   │   ├── colors.xml
│   │   │   │   │   ├── strings.xml
│   │   │   │   │   └── styles.xml
│   │   │   │   └── xml
│   │   │   │   └── searchable.xml
│   │   │   └── test
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── podplay
│   │   │   └── ExampleUnitTest.kt
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │   ├── gradle-wrapper.jar
│   │   │   └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   └── settings.gradle
│   └── starter
│   └── PodPlay
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── podplay
│   │   │   └── ExampleInstrumentedTest.kt
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── podplay
│   │   │   │   ├── adapter
│   │   │   │   │   ├── EpisodeListAdapter.kt
│   │   │   │   │   └── PodcastListAdapter.kt
│   │   │   │   ├── db
│   │   │   │   │   ├── PodcastDao.kt
│   │   │   │   │   └── PodPlayDatabase.kt
│   │   │   │   ├── model
│   │   │   │   │   ├── Episode.kt
│   │   │   │   │   └── Podcast.kt
│   │   │   │   ├── repository
│   │   │   │   │   ├── ItunesRepo.kt
│   │   │   │   │   └── PodcastRepo.kt
│   │   │   │   ├── service
│   │   │   │   │   ├── EpisodeUpdateService.kt
│   │   │   │   │   ├── ItunesService.kt
│   │   │   │   │   ├── PodcastResponse.kt
│   │   │   │   │   ├── PodplayMediaCallback.kt
│   │   │   │   │   ├── PodplayMediaService.kt
│   │   │   │   │   ├── RssFeedResponse.kt
│   │   │   │   │   └── RssFeedService.kt
│   │   │   │   ├── ui
│   │   │   │   │   ├── PodcastActivity.kt
│   │   │   │   │   └── PodcastDetailsFragment.kt
│   │   │   │   ├── util
│   │   │   │   │   ├── DateUtils.kt
│   │   │   │   │   └── HtmlUtils.kt
│   │   │   │   └── viewmodel
│   │   │   │   ├── PodcastViewModel.kt
│   │   │   │   └── SearchViewModel.kt
│   │   │   └── res
│   │   │   ├── drawable
│   │   │   │   ├── ic_launcher_background.xml
│   │   │   │   └── ic_play_pause_toggle.xml
│   │   │   ├── drawable-hdpi
│   │   │   │   ├── ic_episode_icon.png
│   │   │   │   ├── ic_forward_30_white.png
│   │   │   │   ├── ic_pause_white.png
│   │   │   │   ├── ic_play_arrow_white.png
│   │   │   │   └── ic_replay_10_white.png
│   │   │   ├── drawable-mdpi
│   │   │   │   ├── ic_episode_icon.png
│   │   │   │   ├── ic_forward_30_white.png
│   │   │   │   ├── ic_pause_white.png
│   │   │   │   ├── ic_play_arrow_white.png
│   │   │   │   └── ic_replay_10_white.png
│   │   │   ├── drawable-xhdpi
│   │   │   │   ├── ic_episode_icon.png
│   │   │   │   ├── ic_forward_30_white.png
│   │   │   │   ├── ic_pause_white.png
│   │   │   │   ├── ic_play_arrow_white.png
│   │   │   │   └── ic_replay_10_white.png
│   │   │   ├── drawable-xxhdpi
│   │   │   │   ├── ic_episode_icon.png
│   │   │   │   ├── ic_forward_30_white.png
│   │   │   │   ├── ic_pause_white.png
│   │   │   │   ├── ic_play_arrow_white.png
│   │   │   │   └── ic_replay_10_white.png
│   │   │   ├── drawable-xxxhdpi
│   │   │   │   ├── ic_forward_30_white.png
│   │   │   │   ├── ic_pause_white.png
│   │   │   │   ├── ic_play_arrow_white.png
│   │   │   │   └── ic_replay_10_white.png
│   │   │   ├── layout
│   │   │   │   ├── activity_podcast.xml
│   │   │   │   ├── episode_item.xml
│   │   │   │   ├── fragment_podcast_details.xml
│   │   │   │   └── search_item.xml
│   │   │   ├── menu
│   │   │   │   ├── menu_details.xml
│   │   │   │   └── menu_search.xml
│   │   │   ├── mipmap-anydpi-v26
│   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   └── ic_launcher.xml
│   │   │   ├── mipmap-hdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-mdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── values
│   │   │   │   ├── colors.xml
│   │   │   │   ├── strings.xml
│   │   │   │   └── styles.xml
│   │   │   └── xml
│   │   │   └── searchable.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── podplay
│   │   └── ExampleUnitTest.kt
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── 28-android-fragmentation
│   └── starter
│   └── ListMaker
│   ├── app
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src
│   │   ├── androidTest
│   │   │   └── java
│   │   │   └── com
│   │   │   └── raywenderlich
│   │   │   └── listmaker
│   │   │   └── ExampleInstrumentedTest.kt
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │   └── raywenderlich
│   │   │   │   └── listmaker
│   │   │   │   ├── ListDataManager.kt
│   │   │   │   ├── ListDetailActivity.kt
│   │   │   │   ├── ListDetailFragment.kt
│   │   │   │   ├── ListItemsRecyclerViewAdapter.kt
│   │   │   │   ├── ListItemViewHolder.kt
│   │   │   │   ├── ListSelectionFragment.kt
│   │   │   │   ├── ListSelectionRecyclerViewAdapter.kt
│   │   │   │   ├── ListSelectionViewHolder.kt
│   │   │   │   ├── MainActivity.kt
│   │   │   │   └── TaskList.kt
│   │   │   └── res
│   │   │   ├── drawable
│   │   │   │   └── ic_launcher_background.xml
│   │   │   ├── layout
│   │   │   │   ├── activity_list_detail.xml
│   │   │   │   ├── activity_list.xml
│   │   │   │   ├── content_main.xml
│   │   │   │   ├── fragment_list_detail.xml
│   │   │   │   ├── fragment_list_selection.xml
│   │   │   │   ├── list_selection_view_holder.xml
│   │   │   │   └── task_view_holder.xml
│   │   │   ├── layout-xlarge
│   │   │   │   └── content_main.xml
│   │   │   ├── menu
│   │   │   │   └── menu_main.xml
│   │   │   ├── mipmap-anydpi-v26
│   │   │   │   ├── ic_launcher_round.xml
│   │   │   │   └── ic_launcher.xml
│   │   │   ├── mipmap-hdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-mdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   ├── mipmap-xxxhdpi
│   │   │   │   ├── ic_launcher_foreground.png
│   │   │   │   ├── ic_launcher.png
│   │   │   │   └── ic_launcher_round.png
│   │   │   └── values
│   │   │   ├── colors.xml
│   │   │   ├── dimens.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   └── test
│   │   └── java
│   │   └── com
│   │   └── raywenderlich
│   │   └── listmaker
│   │   └── ExampleUnitTest.kt
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   │   ├── gradle-wrapper.jar
│   │   └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── settings.gradle
├── Android_Apprentice_v1.0.epub
├── Android_Apprentice_v1.0.pdf
└── __MACOSX

1775 directories, 2370 files

标签:

实例下载地址

Android Apprentice ( raywenderlich.com )

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警