├── .gradle ├── 8.0 │ ├── checksums │ │ ├── checksums.lock │ │ ├── md5-checksums.bin │ │ └── sha1-checksums.bin │ ├── dependencies-accessors │ │ ├── dependencies-accessors.lock │ │ └── gc.properties │ ├── executionHistory │ │ ├── executionHistory.bin │ │ └── executionHistory.lock │ ├── fileChanges │ │ └── last-build.bin │ ├── fileHashes │ │ ├── fileHashes.bin │ │ ├── fileHashes.lock │ │ └── resourceHashesCache.bin │ └── gc.properties ├── buildOutputCleanup │ ├── buildOutputCleanup.lock │ ├── cache.properties │ └── outputFiles.bin ├── file-system.probe └── vcs-1 │ └── gc.properties ├── .idea ├── .gitignore ├── .name ├── compiler.xml ├── deploymentTargetDropDown.xml ├── gradle.xml ├── kotlinc.xml ├── misc.xml ├── modules.xml ├── modules │ ├── app │ │ └── JetpackComposeDrawerNavigation.app.iml │ ├── feature_about │ │ └── JetpackComposeDrawerNavigation.feature_about.iml │ ├── feature_articles │ │ ├── JetpackComposeDrawerNavigation.feature_articles.iml │ │ └── JetpackComposeDrawerNavigation.feature_articles.main.iml │ └── ui_common │ │ └── JetpackComposeDrawerNavigation.ui_common.main.iml ├── vcs.xml └── workspace.xml ├── final ├── .DS_Store ├── .gradle │ ├── 8.0 │ │ ├── checksums │ │ │ ├── checksums.lock │ │ │ └── sha1-checksums.bin │ │ ├── dependencies-accessors │ │ │ ├── dependencies-accessors.lock │ │ │ └── gc.properties │ │ ├── executionHistory │ │ │ ├── executionHistory.bin │ │ │ └── executionHistory.lock │ │ ├── fileChanges │ │ │ └── last-build.bin │ │ ├── fileHashes │ │ │ ├── fileHashes.bin │ │ │ ├── fileHashes.lock │ │ │ └── resourceHashesCache.bin │ │ └── gc.properties │ ├── buildOutputCleanup │ │ ├── buildOutputCleanup.lock │ │ ├── cache.properties │ │ └── outputFiles.bin │ ├── file-system.probe │ └── vcs-1 │ │ └── gc.properties ├── .idea │ ├── .gitignore │ ├── .name │ ├── compiler.xml │ ├── gradle.xml │ ├── inspectionProfiles │ │ └── Project_Default.xml │ ├── kotlinc.xml │ ├── misc.xml │ ├── modules │ │ ├── app │ │ │ └── JetpackComposeDrawerNavigation.app.iml │ │ └── feature_article │ │ │ └── JetpackComposeDrawerNavigation.feature_article.iml │ └── vcs.xml ├── README.md ├── app │ ├── .DS_Store │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ ├── .DS_Store │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── jetpackcompose │ │ │ └── navigation │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── jetpackcompose │ │ │ │ └── navigation │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── MainApplication.kt │ │ │ │ └── MainNavigation.kt │ │ └── res │ │ │ ├── drawable │ │ │ ├── ic_launcher_background.xml │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ │ └── xml │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── jetpackcompose │ │ └── navigation │ │ └── ExampleUnitTest.kt ├── build.gradle.kts ├── feature_about │ ├── .DS_Store │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── .DS_Store │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── jetpackcompose │ │ │ └── feature │ │ │ └── about │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── jetpackcompose │ │ │ └── feature │ │ │ └── about │ │ │ ├── AboutScreen.kt │ │ │ ├── AboutViewModel.kt │ │ │ └── nav │ │ │ └── AboutNavigaiton.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── jetpackcompose │ │ └── feature │ │ └── about │ │ └── ExampleUnitTest.kt ├── feature_article │ ├── .DS_Store │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── .DS_Store │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── jetpackcompose │ │ │ └── feature │ │ │ └── article │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── jetpackcompose │ │ │ └── feature │ │ │ └── article │ │ │ ├── ArticleScreen.kt │ │ │ ├── ArticleViewModel.kt │ │ │ └── nav │ │ │ └── ArticleNavigation.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── jetpackcompose │ │ └── feature │ │ └── article │ │ └── ExampleUnitTest.kt ├── feature_articles │ ├── .DS_Store │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── .DS_Store │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── jetpackcompose │ │ │ └── feature │ │ │ └── articles │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── jetpackcompose │ │ │ └── feature │ │ │ └── articles │ │ │ ├── ArticlesScreen.kt │ │ │ ├── ArticlesViewModel.kt │ │ │ └── nav │ │ │ └── ArticlesNavigation.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── jetpackcompose │ │ └── feature │ │ └── articles │ │ └── ExampleUnitTest.kt ├── feature_home │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── jetpackcompose │ │ │ └── feature │ │ │ └── home │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── jetpackcompose │ │ │ └── feature │ │ │ └── home │ │ │ ├── HomeScreen.kt │ │ │ └── nav │ │ │ └── HomeNavigation.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── jetpackcompose │ │ └── feature │ │ └── home │ │ └── ExampleUnitTest.kt ├── feature_settings │ ├── .DS_Store │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── .DS_Store │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── jetpackcompose │ │ │ └── feature │ │ │ └── settings │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── jetpackcompose │ │ │ └── feature │ │ │ └── settings │ │ │ ├── SettingsScreen.kt │ │ │ ├── SettingsViewModel.kt │ │ │ └── nav │ │ │ └── SettingsNavigation.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── jetpackcompose │ │ └── feature │ │ └── settings │ │ └── ExampleUnitTest.kt ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── local.properties ├── settings.gradle.kts └── ui_common │ ├── .DS_Store │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ ├── .DS_Store │ ├── androidTest │ └── java │ │ └── com │ │ └── jetpackcompose │ │ └── ui │ │ └── common │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ └── java │ │ └── com │ │ └── jetpackcompose │ │ └── ui │ │ └── common │ │ ├── AppBar.kt │ │ └── theme │ │ ├── Color.kt │ │ ├── Theme.kt │ │ └── Typography.kt │ └── test │ └── java │ └── com │ └── jetpackcompose │ └── ui │ └── common │ └── ExampleUnitTest.kt └── starter ├── .DS_Store ├── .gradle ├── 8.0 │ ├── checksums │ │ └── checksums.lock │ ├── dependencies-accessors │ │ ├── dependencies-accessors.lock │ │ └── gc.properties │ ├── executionHistory │ │ ├── executionHistory.bin │ │ └── executionHistory.lock │ ├── fileChanges │ │ └── last-build.bin │ ├── fileHashes │ │ ├── fileHashes.bin │ │ ├── fileHashes.lock │ │ └── resourceHashesCache.bin │ └── gc.properties ├── buildOutputCleanup │ ├── buildOutputCleanup.lock │ ├── cache.properties │ └── outputFiles.bin ├── file-system.probe └── vcs-1 │ └── gc.properties ├── .idea ├── .gitignore ├── .name ├── compiler.xml ├── gradle.xml ├── inspectionProfiles │ └── Project_Default.xml ├── kotlinc.xml ├── misc.xml └── vcs.xml ├── README.md ├── app ├── .DS_Store ├── .gitignore ├── build.gradle.kts ├── proguard-rules.pro └── src │ ├── .DS_Store │ ├── androidTest │ └── java │ │ └── com │ │ └── jetpackcompose │ │ └── navigation │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── jetpackcompose │ │ │ └── navigation │ │ │ ├── MainActivity.kt │ │ │ ├── MainApplication.kt │ │ │ └── MainNavigation.kt │ └── res │ │ ├── drawable │ │ ├── ic_launcher_background.xml │ │ └── ic_launcher_foreground.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml │ │ └── xml │ │ ├── backup_rules.xml │ │ └── data_extraction_rules.xml │ └── test │ └── java │ └── com │ └── jetpackcompose │ └── navigation │ └── ExampleUnitTest.kt ├── build.gradle.kts ├── feature_about ├── .DS_Store ├── .gitignore ├── build.gradle.kts ├── consumer-rules.pro ├── proguard-rules.pro └── src │ ├── .DS_Store │ ├── androidTest │ └── java │ │ └── com │ │ └── jetpackcompose │ │ └── feature │ │ └── about │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ └── java │ │ └── com │ │ └── jetpackcompose │ │ └── feature │ │ └── about │ │ ├── AboutScreen.kt │ │ └── AboutViewModel.kt │ └── test │ └── java │ └── com │ └── jetpackcompose │ └── feature │ └── about │ └── ExampleUnitTest.kt ├── feature_article ├── .DS_Store ├── .gitignore ├── build.gradle.kts ├── consumer-rules.pro ├── proguard-rules.pro └── src │ ├── .DS_Store │ ├── androidTest │ └── java │ │ └── com │ │ └── jetpackcompose │ │ └── feature │ │ └── article │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ └── java │ │ └── com │ │ └── jetpackcompose │ │ └── feature │ │ └── article │ │ ├── ArticleScreen.kt │ │ └── ArticleViewModel.kt │ └── test │ └── java │ └── com │ └── jetpackcompose │ └── feature │ └── article │ └── ExampleUnitTest.kt ├── feature_articles ├── .DS_Store ├── .gitignore ├── build.gradle.kts ├── consumer-rules.pro ├── proguard-rules.pro └── src │ ├── .DS_Store │ ├── androidTest │ └── java │ │ └── com │ │ └── jetpackcompose │ │ └── feature │ │ └── articles │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ └── java │ │ └── com │ │ └── jetpackcompose │ │ └── feature │ │ └── articles │ │ ├── ArticlesScreen.kt │ │ └── ArticlesViewModel.kt │ └── test │ └── java │ └── com │ └── jetpackcompose │ └── feature │ └── articles │ └── ExampleUnitTest.kt ├── feature_settings ├── .DS_Store ├── .gitignore ├── build.gradle.kts ├── consumer-rules.pro ├── proguard-rules.pro └── src │ ├── .DS_Store │ ├── androidTest │ └── java │ │ └── com │ │ └── jetpackcompose │ │ └── feature │ │ └── settings │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ └── java │ │ └── com │ │ └── jetpackcompose │ │ └── feature │ │ └── settings │ │ ├── SettingsScreen.kt │ │ └── SettingsViewModel.kt │ └── test │ └── java │ └── com │ └── jetpackcompose │ └── feature │ └── settings │ └── ExampleUnitTest.kt ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── local.properties ├── settings.gradle.kts └── ui_common ├── .DS_Store ├── .gitignore ├── build.gradle.kts ├── consumer-rules.pro ├── proguard-rules.pro └── src ├── .DS_Store ├── androidTest └── java │ └── com │ └── jetpackcompose │ └── ui │ └── common │ └── ExampleInstrumentedTest.kt ├── main ├── AndroidManifest.xml └── java │ └── com │ └── jetpackcompose │ └── ui │ └── common │ ├── AppBar.kt │ └── theme │ ├── Color.kt │ ├── Theme.kt │ └── Typography.kt └── test └── java └── com └── jetpackcompose └── ui └── common └── ExampleUnitTest.kt /.gradle/8.0/checksums/checksums.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/.gradle/8.0/checksums/checksums.lock -------------------------------------------------------------------------------- /.gradle/8.0/checksums/md5-checksums.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/.gradle/8.0/checksums/md5-checksums.bin -------------------------------------------------------------------------------- /.gradle/8.0/checksums/sha1-checksums.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/.gradle/8.0/checksums/sha1-checksums.bin -------------------------------------------------------------------------------- /.gradle/8.0/dependencies-accessors/dependencies-accessors.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/.gradle/8.0/dependencies-accessors/dependencies-accessors.lock -------------------------------------------------------------------------------- /.gradle/8.0/dependencies-accessors/gc.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/.gradle/8.0/dependencies-accessors/gc.properties -------------------------------------------------------------------------------- /.gradle/8.0/executionHistory/executionHistory.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/.gradle/8.0/executionHistory/executionHistory.bin -------------------------------------------------------------------------------- /.gradle/8.0/executionHistory/executionHistory.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/.gradle/8.0/executionHistory/executionHistory.lock -------------------------------------------------------------------------------- /.gradle/8.0/fileChanges/last-build.bin: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gradle/8.0/fileHashes/fileHashes.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/.gradle/8.0/fileHashes/fileHashes.bin -------------------------------------------------------------------------------- /.gradle/8.0/fileHashes/fileHashes.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/.gradle/8.0/fileHashes/fileHashes.lock -------------------------------------------------------------------------------- /.gradle/8.0/fileHashes/resourceHashesCache.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/.gradle/8.0/fileHashes/resourceHashesCache.bin -------------------------------------------------------------------------------- /.gradle/8.0/gc.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/.gradle/8.0/gc.properties -------------------------------------------------------------------------------- /.gradle/buildOutputCleanup/buildOutputCleanup.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/.gradle/buildOutputCleanup/buildOutputCleanup.lock -------------------------------------------------------------------------------- /.gradle/buildOutputCleanup/cache.properties: -------------------------------------------------------------------------------- 1 | #Tue Sep 19 12:13:44 CEST 2023 2 | gradle.version=8.0 3 | -------------------------------------------------------------------------------- /.gradle/buildOutputCleanup/outputFiles.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/.gradle/buildOutputCleanup/outputFiles.bin -------------------------------------------------------------------------------- /.gradle/file-system.probe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/.gradle/file-system.probe -------------------------------------------------------------------------------- /.gradle/vcs-1/gc.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/.gradle/vcs-1/gc.properties -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/.idea/.gitignore -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | JetpackComposeDrawerNavigation -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/deploymentTargetDropDown.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 23 | 24 | -------------------------------------------------------------------------------- /.idea/kotlinc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/modules/app/JetpackComposeDrawerNavigation.app.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/modules/feature_about/JetpackComposeDrawerNavigation.feature_about.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/modules/feature_articles/JetpackComposeDrawerNavigation.feature_articles.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/modules/feature_articles/JetpackComposeDrawerNavigation.feature_articles.main.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/modules/ui_common/JetpackComposeDrawerNavigation.ui_common.main.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /final/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/.DS_Store -------------------------------------------------------------------------------- /final/.gradle/8.0/checksums/checksums.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/.gradle/8.0/checksums/checksums.lock -------------------------------------------------------------------------------- /final/.gradle/8.0/checksums/sha1-checksums.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/.gradle/8.0/checksums/sha1-checksums.bin -------------------------------------------------------------------------------- /final/.gradle/8.0/dependencies-accessors/dependencies-accessors.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/.gradle/8.0/dependencies-accessors/dependencies-accessors.lock -------------------------------------------------------------------------------- /final/.gradle/8.0/dependencies-accessors/gc.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/.gradle/8.0/dependencies-accessors/gc.properties -------------------------------------------------------------------------------- /final/.gradle/8.0/executionHistory/executionHistory.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/.gradle/8.0/executionHistory/executionHistory.bin -------------------------------------------------------------------------------- /final/.gradle/8.0/executionHistory/executionHistory.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/.gradle/8.0/executionHistory/executionHistory.lock -------------------------------------------------------------------------------- /final/.gradle/8.0/fileChanges/last-build.bin: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /final/.gradle/8.0/fileHashes/fileHashes.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/.gradle/8.0/fileHashes/fileHashes.bin -------------------------------------------------------------------------------- /final/.gradle/8.0/fileHashes/fileHashes.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/.gradle/8.0/fileHashes/fileHashes.lock -------------------------------------------------------------------------------- /final/.gradle/8.0/fileHashes/resourceHashesCache.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/.gradle/8.0/fileHashes/resourceHashesCache.bin -------------------------------------------------------------------------------- /final/.gradle/8.0/gc.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/.gradle/8.0/gc.properties -------------------------------------------------------------------------------- /final/.gradle/buildOutputCleanup/buildOutputCleanup.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/.gradle/buildOutputCleanup/buildOutputCleanup.lock -------------------------------------------------------------------------------- /final/.gradle/buildOutputCleanup/cache.properties: -------------------------------------------------------------------------------- 1 | #Tue Sep 19 22:46:29 CEST 2023 2 | gradle.version=8.0 3 | -------------------------------------------------------------------------------- /final/.gradle/buildOutputCleanup/outputFiles.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/.gradle/buildOutputCleanup/outputFiles.bin -------------------------------------------------------------------------------- /final/.gradle/file-system.probe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/.gradle/file-system.probe -------------------------------------------------------------------------------- /final/.gradle/vcs-1/gc.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/.gradle/vcs-1/gc.properties -------------------------------------------------------------------------------- /final/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /final/.idea/.name: -------------------------------------------------------------------------------- 1 | JetpackComposeDrawerNavigation -------------------------------------------------------------------------------- /final/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /final/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 25 | 26 | -------------------------------------------------------------------------------- /final/.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 32 | -------------------------------------------------------------------------------- /final/.idea/kotlinc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /final/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | -------------------------------------------------------------------------------- /final/.idea/modules/app/JetpackComposeDrawerNavigation.app.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | -------------------------------------------------------------------------------- /final/.idea/modules/feature_article/JetpackComposeDrawerNavigation.feature_article.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | -------------------------------------------------------------------------------- /final/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /final/README.md: -------------------------------------------------------------------------------- 1 | # ComposeNavigationNBestPractices -------------------------------------------------------------------------------- /final/app/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/app/.DS_Store -------------------------------------------------------------------------------- /final/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /final/app/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("com.android.application") 3 | id("org.jetbrains.kotlin.android") 4 | id("com.google.dagger.hilt.android") 5 | kotlin("kapt") 6 | } 7 | 8 | android { 9 | namespace = "com.jetpackcompose.navigation" 10 | compileSdk = 33 11 | 12 | defaultConfig { 13 | applicationId = "com.jetpackcompose.navigation" 14 | minSdk = 24 15 | targetSdk = 33 16 | versionCode = 1 17 | versionName = "1.0" 18 | 19 | testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" 20 | vectorDrawables { 21 | useSupportLibrary = true 22 | } 23 | } 24 | 25 | buildTypes { 26 | release { 27 | isMinifyEnabled = false 28 | proguardFiles( 29 | getDefaultProguardFile("proguard-android-optimize.txt"), 30 | "proguard-rules.pro" 31 | ) 32 | } 33 | } 34 | kotlin { 35 | jvmToolchain(17) 36 | } 37 | buildFeatures { 38 | compose = true 39 | } 40 | composeOptions { 41 | kotlinCompilerExtensionVersion = "1.4.3" 42 | } 43 | packaging { 44 | resources { 45 | excludes += "/META-INF/{AL2.0,LGPL2.1}" 46 | } 47 | } 48 | // Allow references to generated code 49 | kapt { 50 | correctErrorTypes = true 51 | } 52 | } 53 | 54 | dependencies { 55 | implementation(project(":ui_common")) 56 | implementation(project(":feature_home")) 57 | implementation(project(":feature_article")) 58 | 59 | implementation("androidx.core:core-ktx:1.9.0") 60 | implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.1") 61 | implementation("androidx.activity:activity-compose:1.7.2") 62 | 63 | // hilt 64 | implementation("com.google.dagger:hilt-android:2.44") 65 | kapt("com.google.dagger:hilt-android-compiler:2.44") 66 | 67 | // jetpack compose bom 68 | implementation(platform("androidx.compose:compose-bom:2023.05.01")) 69 | implementation("androidx.compose.ui:ui") 70 | implementation("androidx.compose.ui:ui-graphics") 71 | implementation("androidx.compose.ui:ui-tooling-preview") 72 | implementation("androidx.compose.material3:material3") 73 | 74 | // jetpack compose navigation 75 | implementation("androidx.navigation:navigation-compose:2.5.3") 76 | // implementation("androidx.hilt:hilt-navigation-compose:1.0.0") 77 | 78 | testImplementation("junit:junit:4.13.2") 79 | androidTestImplementation("androidx.test.ext:junit:1.1.5") 80 | androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") 81 | androidTestImplementation(platform("androidx.compose:compose-bom:2023.03.00")) 82 | androidTestImplementation("androidx.compose.ui:ui-test-junit4") 83 | debugImplementation("androidx.compose.ui:ui-tooling") 84 | debugImplementation("androidx.compose.ui:ui-test-manifest") 85 | } -------------------------------------------------------------------------------- /final/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /final/app/src/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/app/src/.DS_Store -------------------------------------------------------------------------------- /final/app/src/androidTest/java/com/jetpackcompose/navigation/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package com.jetpackcompose.navigation 2 | 3 | import androidx.test.platform.app.InstrumentationRegistry 4 | import androidx.test.ext.junit.runners.AndroidJUnit4 5 | 6 | import org.junit.Test 7 | import org.junit.runner.RunWith 8 | 9 | import org.junit.Assert.* 10 | 11 | /** 12 | * Instrumented test, which will execute on an Android device. 13 | * 14 | * See [testing documentation](http://d.android.com/tools/testing). 15 | */ 16 | @RunWith(AndroidJUnit4::class) 17 | class ExampleInstrumentedTest { 18 | @Test 19 | fun useAppContext() { 20 | // Context of the app under test. 21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext 22 | assertEquals("com.jetpackcompose.navigation", appContext.packageName) 23 | } 24 | } -------------------------------------------------------------------------------- /final/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 16 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /final/app/src/main/java/com/jetpackcompose/navigation/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.jetpackcompose.navigation 2 | 3 | import android.os.Bundle 4 | import androidx.activity.ComponentActivity 5 | import androidx.activity.compose.setContent 6 | import androidx.compose.foundation.layout.fillMaxSize 7 | import androidx.compose.material3.MaterialTheme 8 | import androidx.compose.material3.Surface 9 | import androidx.compose.ui.Modifier 10 | import com.jetpackcompose.ui.common.theme.JetpackComposeDrawerNavigationTheme 11 | import dagger.hilt.android.AndroidEntryPoint 12 | 13 | @AndroidEntryPoint 14 | class MainActivity : ComponentActivity() { 15 | override fun onCreate(savedInstanceState: Bundle?) { 16 | super.onCreate(savedInstanceState) 17 | setContent { 18 | JetpackComposeDrawerNavigationTheme { 19 | // A surface container using the 'background' color from the theme 20 | Surface( 21 | modifier = Modifier.fillMaxSize(), 22 | color = MaterialTheme.colorScheme.background 23 | ) { 24 | MainNavigation() 25 | } 26 | } 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /final/app/src/main/java/com/jetpackcompose/navigation/MainApplication.kt: -------------------------------------------------------------------------------- 1 | package com.jetpackcompose.navigation 2 | 3 | import android.app.Application 4 | import dagger.hilt.android.HiltAndroidApp 5 | 6 | @HiltAndroidApp 7 | class MainApplication : Application() -------------------------------------------------------------------------------- /final/app/src/main/java/com/jetpackcompose/navigation/MainNavigation.kt: -------------------------------------------------------------------------------- 1 | package com.jetpackcompose.navigation 2 | 3 | import androidx.compose.runtime.Composable 4 | import androidx.navigation.NavHostController 5 | import androidx.navigation.compose.NavHost 6 | import androidx.navigation.compose.rememberNavController 7 | import com.jetpackcompose.feature.article.nav.articleScreen 8 | import com.jetpackcompose.feature.article.nav.navigateToArticle 9 | import com.jetpackcompose.feature.home.nav.homeRoute 10 | import com.jetpackcompose.feature.home.nav.homeScreen 11 | 12 | @Composable 13 | fun MainNavigation( 14 | navController: NavHostController = rememberNavController(), 15 | ) { 16 | NavHost(navController = navController, startDestination = homeRoute) { 17 | 18 | homeScreen { 19 | navController.navigateToArticle("fakeArticleId") 20 | } 21 | 22 | articleScreen { 23 | navController.navigateUp() 24 | } 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /final/app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 65 | 70 | 75 | 80 | 85 | 90 | 95 | 100 | 105 | 110 | 115 | 120 | 125 | 130 | 135 | 140 | 145 | 150 | 155 | 160 | 165 | 170 | 171 | -------------------------------------------------------------------------------- /final/app/src/main/res/drawable/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 15 | 18 | 21 | 22 | 23 | 24 | 30 | -------------------------------------------------------------------------------- /final/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /final/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /final/app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /final/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /final/app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /final/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /final/app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /final/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /final/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /final/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /final/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /final/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saqib-github-commits/ComposeNavigationBestPractices/0193904b4ec8d2018fa6d81b6f9a98186b721d2d/final/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /final/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /final/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | JetpackComposeDrawerNavigation 3 | -------------------------------------------------------------------------------- /final/app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |