├── .codeclimate.yml ├── .gitignore ├── .idea ├── compiler.xml ├── copyright │ └── profiles_settings.xml ├── gradle.xml ├── misc.xml └── vcs.xml ├── .jitpack.yml ├── CHANGELOG.md ├── LICENSE.txt ├── README.md ├── build.gradle.kts ├── circle.yml ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── samples ├── advanced-samples │ ├── extensions-compose-example │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── zhuinden │ │ │ │ └── simplestackextensionscomposesample │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── zhuinden │ │ │ │ │ └── simplestackextensionscomposesample │ │ │ │ │ ├── app │ │ │ │ │ ├── AuthenticationManager.kt │ │ │ │ │ ├── CustomApplication.kt │ │ │ │ │ ├── FragmentKey.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ └── ServiceProvider.kt │ │ │ │ │ ├── core │ │ │ │ │ ├── ComposeFragment.kt │ │ │ │ │ └── FragmentStateChanger.kt │ │ │ │ │ ├── features │ │ │ │ │ ├── login │ │ │ │ │ │ ├── LoginFragment.kt │ │ │ │ │ │ ├── LoginKey.kt │ │ │ │ │ │ ├── LoginScreenLayout.kt │ │ │ │ │ │ └── LoginViewModel.kt │ │ │ │ │ ├── profile │ │ │ │ │ │ ├── ProfileFragment.kt │ │ │ │ │ │ ├── ProfileKey.kt │ │ │ │ │ │ ├── ProfileScreenLayout.kt │ │ │ │ │ │ └── ProfileViewModel.kt │ │ │ │ │ └── registration │ │ │ │ │ │ ├── CreateLoginCredentialsFragment.kt │ │ │ │ │ │ ├── CreateLoginCredentialsKey.kt │ │ │ │ │ │ ├── CreateLoginCredentialsScreenLayout.kt │ │ │ │ │ │ ├── EnterProfileDataFragment.kt │ │ │ │ │ │ ├── EnterProfileDataKey.kt │ │ │ │ │ │ ├── EnterProfileDataScreenLayout.kt │ │ │ │ │ │ └── RegistrationViewModel.kt │ │ │ │ │ └── utils │ │ │ │ │ ├── RxRelayUtils.kt │ │ │ │ │ └── Utils.kt │ │ │ └── res │ │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── drawable │ │ │ │ ├── ic_arrow_back_black_24dp.xml │ │ │ │ ├── ic_launcher_background.xml │ │ │ │ └── ic_tag_faces_black_24dp.xml │ │ │ │ ├── layout │ │ │ │ └── main_activity.xml │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── zhuinden │ │ │ └── simplestackextensionscomposesample │ │ │ └── ExampleUnitTest.kt │ ├── extensions-example │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── zhuinden │ │ │ │ └── simplestackextensionsample │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── zhuinden │ │ │ │ │ └── simplestackextensionsample │ │ │ │ │ ├── app │ │ │ │ │ ├── AuthenticationManager.kt │ │ │ │ │ ├── CustomApplication.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ └── ServiceProvider.kt │ │ │ │ │ ├── features │ │ │ │ │ ├── login │ │ │ │ │ │ ├── LoginFragment.kt │ │ │ │ │ │ ├── LoginKey.kt │ │ │ │ │ │ └── LoginViewModel.kt │ │ │ │ │ ├── profile │ │ │ │ │ │ ├── ProfileFragment.kt │ │ │ │ │ │ ├── ProfileKey.kt │ │ │ │ │ │ └── ProfileViewModel.kt │ │ │ │ │ └── registration │ │ │ │ │ │ ├── CreateLoginCredentialsFragment.kt │ │ │ │ │ │ ├── CreateLoginCredentialsKey.kt │ │ │ │ │ │ ├── EnterProfileDataFragment.kt │ │ │ │ │ │ ├── EnterProfileDataKey.kt │ │ │ │ │ │ └── RegistrationViewModel.kt │ │ │ │ │ └── utils │ │ │ │ │ ├── RxRelayUtils.kt │ │ │ │ │ └── Utils.kt │ │ │ └── res │ │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── drawable │ │ │ │ ├── ic_arrow_back_black_24dp.xml │ │ │ │ ├── ic_launcher_background.xml │ │ │ │ └── ic_tag_faces_black_24dp.xml │ │ │ │ ├── layout │ │ │ │ ├── create_login_credentials_fragment.xml │ │ │ │ ├── enter_profile_data_fragment.xml │ │ │ │ ├── login_fragment.xml │ │ │ │ ├── main_activity.xml │ │ │ │ └── profile_fragment.xml │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── zhuinden │ │ │ └── simplestackextensionsample │ │ │ └── ExampleUnitTest.kt │ └── mvvm-sample │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ ├── proguardTest-rules.pro │ │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── zhuinden │ │ │ └── simplestackexamplemvvm │ │ │ └── TestUtils.java │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── zhuinden │ │ │ └── simplestackexamplemvvm │ │ │ ├── application │ │ │ ├── BaseKey.kt │ │ │ ├── CustomApplication.kt │ │ │ ├── MainActivity.kt │ │ │ └── SnackbarTextEmitter.kt │ │ │ ├── core │ │ │ ├── database │ │ │ │ ├── BaseDao.kt │ │ │ │ ├── BaseTable.kt │ │ │ │ ├── Dao.kt │ │ │ │ ├── DatabaseManager.kt │ │ │ │ ├── LiveResults.kt │ │ │ │ └── QueryBuilder.kt │ │ │ ├── scheduler │ │ │ │ ├── BackgroundScheduler.kt │ │ │ │ ├── MainThreadScheduler.kt │ │ │ │ ├── NetworkScheduler.kt │ │ │ │ └── Scheduler.kt │ │ │ └── views │ │ │ │ └── CustomToolbar.kt │ │ │ ├── data │ │ │ ├── Task.kt │ │ │ └── tasks │ │ │ │ ├── TaskDao.kt │ │ │ │ ├── TaskTable.kt │ │ │ │ └── TasksDataSource.kt │ │ │ ├── features │ │ │ ├── addedittask │ │ │ │ ├── AddEditTaskFragment.kt │ │ │ │ ├── AddEditTaskKey.kt │ │ │ │ └── AddEditTaskViewModel.kt │ │ │ ├── statistics │ │ │ │ ├── StatisticsFragment.kt │ │ │ │ ├── StatisticsKey.kt │ │ │ │ └── StatisticsViewModel.kt │ │ │ ├── taskdetail │ │ │ │ ├── TaskDetailFragment.kt │ │ │ │ ├── TaskDetailKey.kt │ │ │ │ └── TaskDetailViewModel.kt │ │ │ └── tasks │ │ │ │ ├── TaskItem.kt │ │ │ │ ├── TasksFilterType.kt │ │ │ │ ├── TasksFragment.kt │ │ │ │ ├── TasksKey.kt │ │ │ │ └── TasksViewModel.kt │ │ │ └── util │ │ │ ├── SnackbarUtils.kt │ │ │ └── Utils.kt │ │ └── res │ │ ├── drawable │ │ ├── ic_add.xml │ │ ├── ic_assignment_turned_in_24dp.xml │ │ ├── ic_baseline_arrow_back_white_24.xml │ │ ├── ic_baseline_delete_sweep_white_24.xml │ │ ├── ic_baseline_delete_white_24.xml │ │ ├── ic_check_circle_24dp.xml │ │ ├── ic_done.xml │ │ ├── ic_edit.xml │ │ ├── ic_filter_list.xml │ │ ├── ic_hamburger.xml │ │ ├── ic_list.xml │ │ ├── ic_statistics.xml │ │ ├── ic_verified_user_24dp.xml │ │ └── touch_feedback.xml │ │ ├── layout │ │ ├── addtask_fragment.xml │ │ ├── main_activity.xml │ │ ├── nav_header.xml │ │ ├── statistics_fragment.xml │ │ ├── task_item.xml │ │ ├── taskdetail_fragment.xml │ │ ├── tasks_fragment.xml │ │ └── view_toolbar.xml │ │ ├── menu │ │ ├── drawer_actions.xml │ │ ├── filter_tasks.xml │ │ ├── taskdetail_fragment_menu.xml │ │ └── tasks_fragment_menu.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-v21 │ │ └── styles.xml │ │ └── values │ │ ├── attrs.xml │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── basic-samples │ ├── simple-stack-example-basic-java-fragment │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── zhuinden │ │ │ │ └── navigationexamplefrag │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ ├── google │ │ │ │ │ └── auto │ │ │ │ │ │ └── value │ │ │ │ │ │ └── AutoValue.java │ │ │ │ │ └── zhuinden │ │ │ │ │ └── navigationexamplefrag │ │ │ │ │ ├── application │ │ │ │ │ └── MainActivity.java │ │ │ │ │ └── screens │ │ │ │ │ ├── DashboardFragment.java │ │ │ │ │ ├── DashboardKey.java │ │ │ │ │ ├── HomeFragment.java │ │ │ │ │ ├── HomeKey.java │ │ │ │ │ ├── NotificationFragment.java │ │ │ │ │ ├── NotificationKey.java │ │ │ │ │ ├── OtherFragment.java │ │ │ │ │ └── OtherKey.java │ │ │ └── res │ │ │ │ ├── anim │ │ │ │ ├── slide_in_from_left.xml │ │ │ │ ├── slide_in_from_right.xml │ │ │ │ ├── slide_out_to_left.xml │ │ │ │ └── slide_out_to_right.xml │ │ │ │ ├── drawable │ │ │ │ ├── ic_dashboard_black_24dp.xml │ │ │ │ ├── ic_home_black_24dp.xml │ │ │ │ └── ic_notifications_black_24dp.xml │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ ├── dashboard_view.xml │ │ │ │ ├── home_view.xml │ │ │ │ ├── notification_view.xml │ │ │ │ └── other_view.xml │ │ │ │ ├── menu │ │ │ │ └── navigation.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 │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── zhuinden │ │ │ └── navigationexamplefrag │ │ │ └── ExampleUnitTest.java │ ├── simple-stack-example-basic-java-view │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── zhuinden │ │ │ │ └── navigationexampleview │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ ├── google │ │ │ │ │ └── auto │ │ │ │ │ │ └── value │ │ │ │ │ │ └── AutoValue.java │ │ │ │ │ └── zhuinden │ │ │ │ │ └── navigationexampleview │ │ │ │ │ ├── application │ │ │ │ │ └── MainActivity.java │ │ │ │ │ ├── core │ │ │ │ │ └── navigation │ │ │ │ │ │ └── BaseKey.java │ │ │ │ │ └── screens │ │ │ │ │ ├── DashboardKey.java │ │ │ │ │ ├── DashboardView.java │ │ │ │ │ ├── HomeKey.java │ │ │ │ │ ├── HomeView.java │ │ │ │ │ ├── NotificationKey.java │ │ │ │ │ ├── NotificationView.java │ │ │ │ │ ├── OtherKey.java │ │ │ │ │ └── OtherView.java │ │ │ └── res │ │ │ │ ├── drawable │ │ │ │ ├── ic_dashboard_black_24dp.xml │ │ │ │ ├── ic_home_black_24dp.xml │ │ │ │ └── ic_notifications_black_24dp.xml │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ ├── dashboard_view.xml │ │ │ │ ├── home_view.xml │ │ │ │ ├── notification_view.xml │ │ │ │ └── other_view.xml │ │ │ │ ├── menu │ │ │ │ └── navigation.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 │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── zhuinden │ │ │ └── navigationexampleview │ │ │ └── ExampleUnitTest.java │ ├── simple-stack-example-basic-kotlin-fragment │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── zhuinden │ │ │ │ └── simplestackexamplekotlinfragment │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── zhuinden │ │ │ │ │ └── simplestackexamplekotlinfragment │ │ │ │ │ ├── application │ │ │ │ │ └── MainActivity.kt │ │ │ │ │ ├── screens │ │ │ │ │ ├── DashboardFragment.kt │ │ │ │ │ ├── DashboardKey.kt │ │ │ │ │ ├── HomeFragment.kt │ │ │ │ │ ├── HomeKey.kt │ │ │ │ │ ├── NotificationFragment.kt │ │ │ │ │ ├── NotificationKey.kt │ │ │ │ │ ├── OtherFragment.kt │ │ │ │ │ └── OtherKey.kt │ │ │ │ │ └── utils │ │ │ │ │ └── Utils.kt │ │ │ └── res │ │ │ │ ├── anim │ │ │ │ ├── slide_in_from_left.xml │ │ │ │ ├── slide_in_from_right.xml │ │ │ │ ├── slide_out_to_left.xml │ │ │ │ └── slide_out_to_right.xml │ │ │ │ ├── drawable │ │ │ │ ├── ic_dashboard_black_24dp.xml │ │ │ │ ├── ic_home_black_24dp.xml │ │ │ │ └── ic_notifications_black_24dp.xml │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ ├── dashboard_view.xml │ │ │ │ ├── home_view.xml │ │ │ │ ├── notification_view.xml │ │ │ │ └── other_view.xml │ │ │ │ ├── menu │ │ │ │ └── navigation.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── zhuinden │ │ │ └── simplestackexamplekotlinfragment │ │ │ └── ExampleUnitTest.java │ └── simple-stack-example-basic-kotlin-view │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── zhuinden │ │ │ └── navigationexampleview │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ ├── google │ │ │ │ └── auto │ │ │ │ │ └── value │ │ │ │ │ └── AutoValue.java │ │ │ │ └── zhuinden │ │ │ │ └── navigationexamplekotlinview │ │ │ │ ├── application │ │ │ │ └── MainActivity.kt │ │ │ │ ├── core │ │ │ │ └── navigation │ │ │ │ │ └── BaseKey.kt │ │ │ │ ├── screens │ │ │ │ ├── DashboardKey.kt │ │ │ │ ├── DashboardView.kt │ │ │ │ ├── HomeKey.kt │ │ │ │ ├── HomeView.kt │ │ │ │ ├── NotificationKey.kt │ │ │ │ ├── NotificationView.kt │ │ │ │ ├── OtherKey.kt │ │ │ │ └── OtherView.kt │ │ │ │ └── utils │ │ │ │ ├── Utils.kt │ │ │ │ └── unused │ │ │ │ ├── ViewKey.kt │ │ │ │ └── ViewStateChanger.kt │ │ └── res │ │ │ ├── drawable │ │ │ ├── ic_dashboard_black_24dp.xml │ │ │ ├── ic_home_black_24dp.xml │ │ │ └── ic_notifications_black_24dp.xml │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ ├── dashboard_view.xml │ │ │ ├── home_view.xml │ │ │ ├── notification_view.xml │ │ │ └── other_view.xml │ │ │ ├── menu │ │ │ └── navigation.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 │ │ └── test │ │ └── java │ │ └── com │ │ └── zhuinden │ │ └── navigationexampleview │ │ └── ExampleUnitTest.java ├── community-samples │ └── simple-stack-example-kotlin-community-sample │ │ ├── .gitignore │ │ ├── README.md │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ ├── src │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ ├── com │ │ │ │ └── community │ │ │ │ │ └── simplestackkotlindaggerexample │ │ │ │ │ ├── application │ │ │ │ │ ├── CustomApplication.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ ├── SplashActivity.kt │ │ │ │ │ └── injection │ │ │ │ │ │ ├── AppComponent.kt │ │ │ │ │ │ └── AppModule.kt │ │ │ │ │ ├── core │ │ │ │ │ └── schedulers │ │ │ │ │ │ ├── SchedulerProvider.kt │ │ │ │ │ │ └── SchedulerProviderImpl.kt │ │ │ │ │ ├── data │ │ │ │ │ ├── api │ │ │ │ │ │ ├── AllUsersResponse.kt │ │ │ │ │ │ ├── ApiService.kt │ │ │ │ │ │ ├── PhoneNumberResponse.kt │ │ │ │ │ │ └── UserProfileResponse.kt │ │ │ │ │ └── database │ │ │ │ │ │ └── User.kt │ │ │ │ │ ├── screens │ │ │ │ │ ├── home │ │ │ │ │ │ ├── HomeFragment.kt │ │ │ │ │ │ └── HomeKey.kt │ │ │ │ │ ├── userdetail │ │ │ │ │ │ ├── UserDetailFragment.kt │ │ │ │ │ │ └── UserDetailKey.kt │ │ │ │ │ └── users │ │ │ │ │ │ ├── UsersAdapter.kt │ │ │ │ │ │ ├── UsersFragment.kt │ │ │ │ │ │ └── UsersKey.kt │ │ │ │ │ └── utils │ │ │ │ │ └── Util.kt │ │ │ └── io │ │ │ │ └── realm │ │ │ │ └── RealmRecyclerViewAdapter.java │ │ │ └── res │ │ │ ├── anim │ │ │ ├── slide_in_from_left.xml │ │ │ ├── slide_in_from_right.xml │ │ │ ├── slide_out_to_left.xml │ │ │ └── slide_out_to_right.xml │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ ├── background_splash.xml │ │ │ ├── ic_launcher_background.xml │ │ │ └── ninkaja.png │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ ├── fragment_home.xml │ │ │ ├── fragment_user_detail.xml │ │ │ ├── fragment_users.xml │ │ │ ├── view_item_contact.xml │ │ │ └── view_loading.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── users.json ├── legacy-samples │ ├── simple-stack-example-multistack-fragment │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── zhuinden │ │ │ │ └── simplestackdemomultistack │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── zhuinden │ │ │ │ │ └── simplestackdemomultistack │ │ │ │ │ ├── application │ │ │ │ │ └── MainActivity.kt │ │ │ │ │ ├── core │ │ │ │ │ └── navigation │ │ │ │ │ │ ├── BaseFragment.kt │ │ │ │ │ │ ├── Multistack.kt │ │ │ │ │ │ ├── MultistackFragmentKey.kt │ │ │ │ │ │ ├── MultistackFragmentStateChanger.kt │ │ │ │ │ │ └── NavUtil.kt │ │ │ │ │ ├── features │ │ │ │ │ └── main │ │ │ │ │ │ ├── chromecast │ │ │ │ │ │ ├── ChromeCastFragment.kt │ │ │ │ │ │ └── ChromeCastKey.kt │ │ │ │ │ │ ├── cloudsync │ │ │ │ │ │ ├── CloudSyncFragment.kt │ │ │ │ │ │ ├── CloudSyncKey.kt │ │ │ │ │ │ └── another │ │ │ │ │ │ │ ├── AnotherFragment.kt │ │ │ │ │ │ │ └── AnotherKey.kt │ │ │ │ │ │ ├── list │ │ │ │ │ │ ├── ListFragment.kt │ │ │ │ │ │ └── ListKey.kt │ │ │ │ │ │ └── mail │ │ │ │ │ │ ├── MailFragment.kt │ │ │ │ │ │ └── MailKey.kt │ │ │ │ │ └── util │ │ │ │ │ ├── ServiceLocator.kt │ │ │ │ │ └── Utils.kt │ │ │ └── res │ │ │ │ ├── anim │ │ │ │ ├── slide_in_from_left.xml │ │ │ │ ├── slide_in_from_right.xml │ │ │ │ ├── slide_out_to_left.xml │ │ │ │ └── slide_out_to_right.xml │ │ │ │ ├── drawable-hdpi │ │ │ │ ├── ic_cast_connected_white_24dp.png │ │ │ │ ├── ic_cloud_off_white_24dp.png │ │ │ │ ├── ic_format_list_numbered_white_24dp.png │ │ │ │ └── ic_mail_white_24dp.png │ │ │ │ ├── drawable-mdpi │ │ │ │ ├── ic_cast_connected_white_24dp.png │ │ │ │ ├── ic_cloud_off_white_24dp.png │ │ │ │ ├── ic_format_list_numbered_white_24dp.png │ │ │ │ └── ic_mail_white_24dp.png │ │ │ │ ├── drawable-xhdpi │ │ │ │ ├── ic_cast_connected_white_24dp.png │ │ │ │ ├── ic_cloud_off_white_24dp.png │ │ │ │ ├── ic_format_list_numbered_white_24dp.png │ │ │ │ └── ic_mail_white_24dp.png │ │ │ │ ├── drawable-xxhdpi │ │ │ │ ├── ic_cast_connected_white_24dp.png │ │ │ │ ├── ic_cloud_off_white_24dp.png │ │ │ │ ├── ic_format_list_numbered_white_24dp.png │ │ │ │ └── ic_mail_white_24dp.png │ │ │ │ ├── drawable-xxxhdpi │ │ │ │ ├── ic_cast_connected_white_24dp.png │ │ │ │ ├── ic_cloud_off_white_24dp.png │ │ │ │ ├── ic_format_list_numbered_white_24dp.png │ │ │ │ └── ic_mail_white_24dp.png │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ ├── another_fragment.xml │ │ │ │ ├── chromecast_fragment.xml │ │ │ │ ├── cloudsync_fragment.xml │ │ │ │ ├── list_fragment.xml │ │ │ │ └── mail_fragment.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── zhuinden │ │ │ └── simplestackdemomultistack │ │ │ └── ExampleUnitTest.java │ └── simple-stack-example-multistack-view │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── zhuinden │ │ │ └── simplestackdemomultistack │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── zhuinden │ │ │ │ └── simplestackdemomultistack │ │ │ │ ├── application │ │ │ │ └── MainActivity.kt │ │ │ │ ├── core │ │ │ │ └── navigation │ │ │ │ │ ├── Multistack.kt │ │ │ │ │ ├── MultistackViewKey.kt │ │ │ │ │ ├── MultistackViewStateChanger.kt │ │ │ │ │ └── NavUtil.kt │ │ │ │ ├── features │ │ │ │ └── main │ │ │ │ │ ├── chromecast │ │ │ │ │ ├── ChromeCastKey.kt │ │ │ │ │ └── ChromeCastView.kt │ │ │ │ │ ├── cloudsync │ │ │ │ │ ├── CloudSyncKey.kt │ │ │ │ │ ├── CloudSyncView.kt │ │ │ │ │ └── another │ │ │ │ │ │ ├── AnotherKey.kt │ │ │ │ │ │ └── AnotherView.kt │ │ │ │ │ ├── list │ │ │ │ │ ├── ListKey.kt │ │ │ │ │ └── ListView.kt │ │ │ │ │ └── mail │ │ │ │ │ ├── MailKey.kt │ │ │ │ │ └── MailView.kt │ │ │ │ └── util │ │ │ │ ├── ServiceLocator.kt │ │ │ │ └── Utils.kt │ │ └── res │ │ │ ├── drawable-hdpi │ │ │ ├── ic_cast_connected_white_24dp.png │ │ │ ├── ic_cloud_off_white_24dp.png │ │ │ ├── ic_format_list_numbered_white_24dp.png │ │ │ └── ic_mail_white_24dp.png │ │ │ ├── drawable-mdpi │ │ │ ├── ic_cast_connected_white_24dp.png │ │ │ ├── ic_cloud_off_white_24dp.png │ │ │ ├── ic_format_list_numbered_white_24dp.png │ │ │ └── ic_mail_white_24dp.png │ │ │ ├── drawable-xhdpi │ │ │ ├── ic_cast_connected_white_24dp.png │ │ │ ├── ic_cloud_off_white_24dp.png │ │ │ ├── ic_format_list_numbered_white_24dp.png │ │ │ └── ic_mail_white_24dp.png │ │ │ ├── drawable-xxhdpi │ │ │ ├── ic_cast_connected_white_24dp.png │ │ │ ├── ic_cloud_off_white_24dp.png │ │ │ ├── ic_format_list_numbered_white_24dp.png │ │ │ └── ic_mail_white_24dp.png │ │ │ ├── drawable-xxxhdpi │ │ │ ├── ic_cast_connected_white_24dp.png │ │ │ ├── ic_cloud_off_white_24dp.png │ │ │ ├── ic_format_list_numbered_white_24dp.png │ │ │ └── ic_mail_white_24dp.png │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ ├── another_view.xml │ │ │ ├── chromecast_view.xml │ │ │ ├── cloudsync_view.xml │ │ │ ├── list_view.xml │ │ │ └── mail_view.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── zhuinden │ │ └── simplestackdemomultistack │ │ └── ExampleUnitTest.java ├── multistack-samples │ └── simple-stack-example-multistack-nested-fragment │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── zhuinden │ │ │ └── simplestackexamplescoping │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── zhuinden │ │ │ │ └── simplestackbottomnavfragmentexample │ │ │ │ ├── application │ │ │ │ └── MainActivity.kt │ │ │ │ ├── core │ │ │ │ └── navigation │ │ │ │ │ ├── FragmentStackHost.kt │ │ │ │ │ └── FragmentStackHostFragment.kt │ │ │ │ └── features │ │ │ │ ├── initial │ │ │ │ ├── InitialFragment.kt │ │ │ │ └── InitialScreen.kt │ │ │ │ └── root │ │ │ │ ├── RootFragment.kt │ │ │ │ ├── RootScreen.kt │ │ │ │ ├── first │ │ │ │ ├── First1Fragment.kt │ │ │ │ ├── First1Screen.kt │ │ │ │ ├── First2Fragment.kt │ │ │ │ └── First2Screen.kt │ │ │ │ ├── second │ │ │ │ ├── SecondFragment.kt │ │ │ │ └── SecondScreen.kt │ │ │ │ └── third │ │ │ │ ├── ThirdFragment.kt │ │ │ │ └── ThirdScreen.kt │ │ └── res │ │ │ ├── anim │ │ │ ├── slide_in_from_left.xml │ │ │ ├── slide_in_from_right.xml │ │ │ ├── slide_out_to_left.xml │ │ │ └── slide_out_to_right.xml │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ ├── ic_launcher_background.xml │ │ │ └── ic_plus.xml │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ ├── first_fragment_1.xml │ │ │ ├── first_fragment_2.xml │ │ │ ├── initial_fragment.xml │ │ │ ├── new_word_fragment.xml │ │ │ ├── root_fragment.xml │ │ │ ├── second_fragment.xml │ │ │ ├── stack_host_fragment.xml │ │ │ ├── third_fragment.xml │ │ │ ├── word_list_item.xml │ │ │ └── word_list_view.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ ├── styles.xml │ │ │ └── themes.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── zhuinden │ │ └── simplestackexamplescoping │ │ └── ExampleUnitTest.java ├── scoping-samples │ ├── simple-stack-example-scoping-java │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── zhuinden │ │ │ │ └── simplestackexamplescoping │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ ├── google │ │ │ │ │ └── auto │ │ │ │ │ │ └── value │ │ │ │ │ │ └── AutoValue.java │ │ │ │ │ └── zhuinden │ │ │ │ │ └── simplestackexamplescoping │ │ │ │ │ ├── application │ │ │ │ │ └── MainActivity.java │ │ │ │ │ ├── core │ │ │ │ │ └── navigation │ │ │ │ │ │ └── BaseKey.java │ │ │ │ │ └── features │ │ │ │ │ └── words │ │ │ │ │ ├── NewWordFragment.java │ │ │ │ │ ├── NewWordKey.java │ │ │ │ │ ├── WordController.java │ │ │ │ │ ├── WordListAdapter.java │ │ │ │ │ ├── WordListFragment.java │ │ │ │ │ └── WordListKey.java │ │ │ └── res │ │ │ │ ├── anim │ │ │ │ ├── slide_in_from_left.xml │ │ │ │ ├── slide_in_from_right.xml │ │ │ │ ├── slide_out_to_left.xml │ │ │ │ └── slide_out_to_right.xml │ │ │ │ ├── drawable │ │ │ │ └── ic_plus.xml │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ ├── new_word_fragment.xml │ │ │ │ ├── word_list_item.xml │ │ │ │ └── word_list_view.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── zhuinden │ │ │ └── simplestackexamplescoping │ │ │ └── ExampleUnitTest.java │ └── simple-stack-example-scoping-kotlin │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── zhuinden │ │ │ └── simplestackexamplescoping │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── zhuinden │ │ │ │ └── simplestackexamplescoping │ │ │ │ ├── application │ │ │ │ └── MainActivity.kt │ │ │ │ ├── core │ │ │ │ └── navigation │ │ │ │ │ └── BaseKey.kt │ │ │ │ ├── features │ │ │ │ └── words │ │ │ │ │ ├── NewWordFragment.kt │ │ │ │ │ ├── NewWordKey.kt │ │ │ │ │ ├── WordController.kt │ │ │ │ │ ├── WordListAdapter.kt │ │ │ │ │ ├── WordListFragment.kt │ │ │ │ │ └── WordListKey.kt │ │ │ │ └── utils │ │ │ │ ├── CompositeNotificationToken.kt │ │ │ │ └── Utils.kt │ │ └── res │ │ │ ├── anim │ │ │ ├── slide_in_from_left.xml │ │ │ ├── slide_in_from_right.xml │ │ │ ├── slide_out_to_left.xml │ │ │ └── slide_out_to_right.xml │ │ │ ├── drawable │ │ │ └── ic_plus.xml │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ ├── new_word_fragment.xml │ │ │ ├── word_list_item.xml │ │ │ └── word_list_view.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── zhuinden │ │ └── simplestackexamplescoping │ │ └── ExampleUnitTest.java └── shared-element-samples │ └── simple-stack-example-sharedelement-fragment │ ├── .gitignore │ ├── README.md │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ ├── androidx │ │ └── fragment │ │ │ └── app │ │ │ └── BackstackRecordAccessor.java │ └── com │ │ └── example │ │ └── fragmenttransitions │ │ ├── application │ │ └── MainActivity.java │ │ ├── core │ │ ├── navigation │ │ │ ├── BaseFragment.java │ │ │ ├── BaseKey.java │ │ │ └── SharedElementFragmentStateChanger.java │ │ └── sharedelements │ │ │ ├── DetailsTransition.java │ │ │ ├── HasSharedElement.java │ │ │ └── SharedElement.java │ │ └── features │ │ └── kitten │ │ ├── details │ │ ├── KittenDetailsFragment.java │ │ └── KittenDetailsKey.java │ │ └── grid │ │ ├── KittenGridAdapter.java │ │ ├── KittenGridFragment.java │ │ ├── KittenGridKey.java │ │ └── KittenViewHolder.java │ └── res │ ├── drawable-hdpi │ ├── placekitten_1.jpeg │ ├── placekitten_2.jpeg │ ├── placekitten_3.jpeg │ ├── placekitten_4.jpeg │ ├── placekitten_5.jpeg │ └── placekitten_6.jpeg │ ├── layout │ ├── activity_main.xml │ ├── details_fragment.xml │ ├── fragment_grid.xml │ └── grid_item.xml │ ├── mipmap-hdpi │ └── ic_launcher.png │ ├── mipmap-mdpi │ └── ic_launcher.png │ ├── mipmap-xhdpi │ └── ic_launcher.png │ ├── mipmap-xxhdpi │ └── ic_launcher.png │ └── values │ ├── dimens.xml │ ├── strings.xml │ └── styles.xml ├── settings.gradle.kts ├── simple-stack-logo.png ├── simple-stack ├── .gitignore ├── build.gradle.kts ├── proguard-rules.pro └── src │ ├── main │ ├── AndroidManifest.xml │ └── java │ │ └── com │ │ └── zhuinden │ │ └── simplestack │ │ ├── AheadOfTimeBackCallback.java │ │ ├── AheadOfTimeBackCallbackRegistry.java │ │ ├── AheadOfTimeBackProcessingContractViolationException.java │ │ ├── AheadOfTimeWillHandleBackChangedListener.java │ │ ├── AsyncStateChanger.java │ │ ├── BackHandlingModel.java │ │ ├── Backstack.java │ │ ├── BackstackDelegate.java │ │ ├── Bundleable.java │ │ ├── CollectionHelper.java │ │ ├── DefaultKeyFilter.java │ │ ├── DefaultKeyParceler.java │ │ ├── DefaultStateClearStrategy.java │ │ ├── GlobalServices.java │ │ ├── History.java │ │ ├── KeyContextWrapper.java │ │ ├── KeyFilter.java │ │ ├── KeyParceler.java │ │ ├── NavigationCore.java │ │ ├── ParcelledState.java │ │ ├── PendingStateChange.java │ │ ├── SavedState.java │ │ ├── ScopeKey.java │ │ ├── ScopeLookupMode.java │ │ ├── ScopeManager.java │ │ ├── ScopeNode.java │ │ ├── ScopedServices.java │ │ ├── ServiceBinder.java │ │ ├── ServiceSearchMode.java │ │ ├── ServiceSearchResult.java │ │ ├── SimpleStateChanger.java │ │ ├── StateChange.java │ │ ├── StateChanger.java │ │ └── navigator │ │ ├── BackstackHost.java │ │ ├── DefaultStateChanger.java │ │ ├── DefaultViewKey.java │ │ ├── Navigator.java │ │ ├── ViewChangeHandler.java │ │ └── changehandlers │ │ ├── AnimatorViewChangeHandler.java │ │ ├── FadeViewChangeHandler.java │ │ ├── NoOpViewChangeHandler.java │ │ ├── SegueViewChangeHandler.java │ │ └── ViewUtils.java │ └── test │ └── java │ └── com │ └── zhuinden │ └── simplestack │ ├── BackstackAheadOfTimeBackModelTest.java │ ├── BackstackCoreTest.java │ ├── BackstackDelegateTest.java │ ├── BackstackTest.java │ ├── CollectionHelperTest.java │ ├── FlowTest.java │ ├── HistoryBuilderTest.java │ ├── HistoryTest.java │ ├── ReentranceTest.java │ ├── ScopeLookupModeTest.java │ ├── ScopingAliasTest.java │ ├── ScopingBackEventDispatchTest.java │ ├── ScopingExplicitParentsTest.java │ ├── ScopingGlobalScopeTest.java │ ├── ScopingRegisteredCallbackTest.java │ ├── ScopingTest.java │ ├── StateChangerTest.java │ ├── TestSuite.java │ └── helpers │ ├── Action.java │ ├── AssertionHelper.java │ ├── HasParentServices.java │ ├── HasServices.java │ ├── ServiceProvider.java │ ├── TestKey.java │ ├── TestKeyWithExplicitParent.java │ ├── TestKeyWithOnlyParentServices.java │ └── TestKeyWithScope.java └── tutorials ├── README.md └── tutorial-sample ├── .gitignore ├── build.gradle.kts ├── proguard-rules.pro └── src └── main ├── AndroidManifest.xml ├── java └── com │ └── zhuinden │ └── simplestacktutorials │ ├── app │ └── MainActivity.kt │ ├── steps │ ├── step_1 │ │ └── Step1Activity.kt │ ├── step_2 │ │ └── Step2Activity.kt │ ├── step_3 │ │ ├── Step3Activity.kt │ │ ├── Step3ButtonConfiguration.kt │ │ ├── Step3FirstScreen.kt │ │ ├── Step3Screen.kt │ │ └── Step3SecondScreen.kt │ ├── step_4 │ │ ├── Step4Activity.kt │ │ ├── Step4FirstScreen.kt │ │ ├── Step4FirstView.kt │ │ ├── Step4Screen.kt │ │ ├── Step4SecondScreen.kt │ │ ├── Step4SecondView.kt │ │ └── Step4Utils.kt │ ├── step_5 │ │ ├── FragmentStateChanger.java │ │ ├── Step5Activity.kt │ │ ├── Step5BaseFragment.kt │ │ ├── Step5FirstFragment.kt │ │ ├── Step5FirstScreen.kt │ │ ├── Step5Screen.kt │ │ ├── Step5SecondFragment.kt │ │ ├── Step5SecondScreen.kt │ │ └── Step5Utils.kt │ ├── step_6 │ │ ├── Step6Activity.kt │ │ ├── Step6FirstFragment.kt │ │ ├── Step6FirstScreen.kt │ │ ├── Step6Screen.kt │ │ ├── Step6SecondFragment.kt │ │ └── Step6SecondScreen.kt │ ├── step_7 │ │ ├── AuthenticationManager.kt │ │ ├── ServiceProvider.kt │ │ ├── Step7Activity.kt │ │ └── features │ │ │ ├── core │ │ │ └── FragmentKey.kt │ │ │ ├── login │ │ │ ├── LoginFragment.kt │ │ │ ├── LoginKey.kt │ │ │ └── LoginViewModel.kt │ │ │ ├── profile │ │ │ ├── ProfileFragment.kt │ │ │ ├── ProfileKey.kt │ │ │ └── ProfileViewModel.kt │ │ │ └── registration │ │ │ ├── CreateLoginCredentialsFragment.kt │ │ │ ├── CreateLoginCredentialsKey.kt │ │ │ ├── EnterProfileDataFragment.kt │ │ │ ├── EnterProfileDataKey.kt │ │ │ └── RegistrationViewModel.kt │ ├── step_8 │ │ ├── Step8Activity.kt │ │ ├── core │ │ │ └── navigation │ │ │ │ └── FragmentKey.kt │ │ └── features │ │ │ ├── form │ │ │ ├── FormFragment.kt │ │ │ ├── FormKey.kt │ │ │ └── FormViewModel.kt │ │ │ └── main │ │ │ ├── MainFragment.kt │ │ │ ├── MainKey.kt │ │ │ └── MainViewModel.kt │ └── step_9 │ │ ├── AuthenticationManager.kt │ │ ├── ServiceProvider.kt │ │ ├── Step9Activity.kt │ │ ├── core │ │ └── navigation │ │ │ └── FragmentKey.kt │ │ ├── features │ │ ├── login │ │ │ ├── LoginFragment.kt │ │ │ ├── LoginKey.kt │ │ │ └── LoginViewModel.kt │ │ ├── profile │ │ │ ├── ProfileFragment.kt │ │ │ ├── ProfileKey.kt │ │ │ └── ProfileViewModel.kt │ │ └── registration │ │ │ ├── CreateLoginCredentialsFragment.kt │ │ │ ├── CreateLoginCredentialsKey.kt │ │ │ ├── EnterProfileDataFragment.kt │ │ │ ├── EnterProfileDataKey.kt │ │ │ └── RegistrationViewModel.kt │ │ └── utils │ │ └── RxRelayUtils.kt │ └── utils │ └── Utils.kt └── res ├── anim ├── slide_in_from_left.xml ├── slide_in_from_right.xml ├── slide_out_to_left.xml └── slide_out_to_right.xml ├── drawable-v24 └── ic_launcher_foreground.xml ├── drawable ├── ic_arrow_back_black_24dp.xml ├── ic_launcher_background.xml ├── ic_plus.xml └── ic_tag_faces_black_24dp.xml ├── layout ├── activity_main.xml ├── activity_step1.xml ├── activity_step2.xml ├── activity_step3.xml ├── activity_step4.xml ├── activity_step5.xml ├── activity_step6.xml ├── activity_step7.xml ├── activity_step8.xml ├── activity_step9.xml ├── step4_first_view.xml ├── step4_second_view.xml ├── step5_first_fragment.xml ├── step5_second_fragment.xml ├── step6_first_fragment.xml ├── step6_second_fragment.xml ├── step7_create_login_credentials_fragment.xml ├── step7_enter_profile_data_fragment.xml ├── step7_login_fragment.xml ├── step7_profile_fragment.xml ├── step8_form_fragment.xml ├── step8_main_fragment.xml ├── step9_create_login_credentials_fragment.xml ├── step9_enter_profile_data_fragment.xml ├── step9_login_fragment.xml └── step9_profile_fragment.xml ├── mipmap-anydpi-v26 ├── ic_launcher.xml └── ic_launcher_round.xml ├── mipmap-hdpi ├── ic_launcher.png └── ic_launcher_round.png ├── mipmap-mdpi ├── ic_launcher.png └── ic_launcher_round.png ├── mipmap-xhdpi ├── ic_launcher.png └── ic_launcher_round.png ├── mipmap-xxhdpi ├── ic_launcher.png └── ic_launcher_round.png ├── mipmap-xxxhdpi ├── ic_launcher.png └── ic_launcher_round.png ├── values-w820dp └── dimens.xml └── values ├── colors.xml ├── dimens.xml ├── strings.xml ├── styles.xml └── themes.xml /.codeclimate.yml: -------------------------------------------------------------------------------- 1 | ## other configuration excluded from example... 2 | exclude_patterns: 3 | - "simple-stack-example-**" 4 | - "simple-stack/src/test/" 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea 5 | .idea 6 | /.idea/workspace.xml 7 | /.idea/libraries 8 | .DS_Store 9 | /build 10 | /captures 11 | .externalNativeBuild 12 | projectFilesBackup 13 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.jitpack.yml: -------------------------------------------------------------------------------- 1 | jdk: openjdk11 -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Oct 24 01:39:12 CEST 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip 7 | -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/src/main/java/com/zhuinden/simplestackextensionscomposesample/app/FragmentKey.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackextensionscomposesample.app 2 | 3 | import android.os.Parcelable 4 | import com.zhuinden.simplestack.ServiceBinder 5 | import com.zhuinden.simplestackextensions.fragments.DefaultFragmentKey 6 | import com.zhuinden.simplestackextensions.services.DefaultServiceProvider 7 | 8 | abstract class FragmentKey : DefaultFragmentKey(), Parcelable, DefaultServiceProvider.HasServices { 9 | override fun getScopeTag(): String = toString() 10 | 11 | override fun bindServices(serviceBinder: ServiceBinder) { 12 | } 13 | } -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/src/main/java/com/zhuinden/simplestackextensionscomposesample/utils/RxRelayUtils.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackextensionscomposesample.utils 2 | 3 | import com.jakewharton.rxrelay2.BehaviorRelay 4 | 5 | fun BehaviorRelay.get(): T = value!! 6 | 7 | fun BehaviorRelay.getOrNull(): T? = value 8 | 9 | fun BehaviorRelay.set(value: T) { 10 | this.accept(value) 11 | } -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/src/main/res/drawable/ic_arrow_back_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/src/main/res/layout/main_activity.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 10 | -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-compose-example/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #008577 4 | #00574B 5 | #D81B60 6 | 7 | -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Simple-Stack-Extensions-Compose 3 | 4 | -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-compose-example/src/test/java/com/zhuinden/simplestackextensionscomposesample/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackextensionscomposesample 2 | 3 | import org.junit.Assert.assertEquals 4 | import org.junit.Test 5 | 6 | /** 7 | * Example local unit test, which will execute on the development machine (host). 8 | * 9 | * See [testing documentation](http://d.android.com/tools/testing). 10 | */ 11 | class ExampleUnitTest { 12 | @Test 13 | fun addition_isCorrect() { 14 | assertEquals(4, 2 + 2) 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-example/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-example/src/main/java/com/zhuinden/simplestackextensionsample/utils/RxRelayUtils.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackextensionsample.utils 2 | 3 | import com.jakewharton.rxrelay2.BehaviorRelay 4 | 5 | fun BehaviorRelay.get(): T = value!! 6 | 7 | fun BehaviorRelay.getOrNull(): T? = value 8 | 9 | fun BehaviorRelay.set(value: T) { 10 | this.accept(value) 11 | } -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-example/src/main/res/drawable/ic_arrow_back_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-example/src/main/res/layout/main_activity.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-example/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-example/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-example/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-example/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-example/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-example/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-example/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-example/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-example/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-example/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-example/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-example/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-example/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-example/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-example/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-example/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-example/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-example/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-example/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-example/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-example/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/extensions-example/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-example/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #008577 4 | #00574B 5 | #D81B60 6 | 7 | -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-example/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | SimpleStackExtensionExample 3 | 4 | -------------------------------------------------------------------------------- /samples/advanced-samples/extensions-example/src/test/java/com/zhuinden/simplestackextensionsample/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackextensionsample 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/proguardTest-rules.pro: -------------------------------------------------------------------------------- 1 | # Proguard rules that are applied to your test apk/code. 2 | -ignorewarnings 3 | 4 | -keep class android.arch.** { *; } 5 | 6 | -keepattributes *Annotation* 7 | 8 | -dontnote junit.framework.** 9 | -dontnote junit.runner.** 10 | 11 | -dontwarn android.test.** 12 | -dontwarn android.support.test.** 13 | -dontwarn org.junit.** 14 | -dontwarn org.hamcrest.** 15 | -dontwarn com.squareup.javawriter.JavaWriter 16 | # Uncomment this if you use Mockito 17 | -dontwarn org.mockito.** -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/java/com/zhuinden/simplestackexamplemvvm/application/BaseKey.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackexamplemvvm.application 2 | 3 | import com.zhuinden.simplestack.ServiceBinder 4 | import com.zhuinden.simplestackextensions.fragments.DefaultFragmentKey 5 | import com.zhuinden.simplestackextensions.services.DefaultServiceProvider 6 | 7 | abstract class BaseKey : DefaultFragmentKey(), DefaultServiceProvider.HasServices { 8 | override fun getFragmentTag(): String = toString() 9 | override fun getScopeTag(): String = fragmentTag 10 | 11 | override fun bindServices(serviceBinder: ServiceBinder) { 12 | } 13 | } -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/java/com/zhuinden/simplestackexamplemvvm/application/SnackbarTextEmitter.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackexamplemvvm.application 2 | 3 | import com.zhuinden.eventemitter.EventEmitter 4 | import com.zhuinden.eventemitter.EventSource 5 | 6 | class SnackbarTextEmitter { 7 | private val emitter: EventEmitter = EventEmitter() 8 | val snackbarText: EventSource = emitter 9 | 10 | fun emit(text: Int) { 11 | emitter.emit(text) 12 | } 13 | } -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/java/com/zhuinden/simplestackexamplemvvm/core/scheduler/MainThreadScheduler.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackexamplemvvm.core.scheduler 2 | 3 | 4 | import android.os.Handler 5 | import android.os.Looper 6 | 7 | class MainThreadScheduler : Scheduler { 8 | private val handler = Handler(Looper.getMainLooper()) 9 | 10 | override fun execute(runnable: Runnable) { 11 | handler.post(runnable) 12 | } 13 | } -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/java/com/zhuinden/simplestackexamplemvvm/core/scheduler/NetworkScheduler.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackexamplemvvm.core.scheduler 2 | 3 | 4 | import java.util.concurrent.Executor 5 | import java.util.concurrent.Executors 6 | 7 | class NetworkScheduler : Scheduler { 8 | private val executor: Executor = Executors.newSingleThreadExecutor() 9 | 10 | override fun execute(runnable: Runnable) { 11 | executor.execute(runnable) 12 | } 13 | } -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/java/com/zhuinden/simplestackexamplemvvm/core/scheduler/Scheduler.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackexamplemvvm.core.scheduler 2 | 3 | interface Scheduler { 4 | fun execute(runnable: Runnable) 5 | } -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/java/com/zhuinden/simplestackexamplemvvm/data/tasks/TaskDao.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackexamplemvvm.data.tasks 2 | 3 | import com.zhuinden.simplestackexamplemvvm.core.database.BaseDao 4 | import com.zhuinden.simplestackexamplemvvm.core.database.DatabaseManager 5 | import com.zhuinden.simplestackexamplemvvm.data.Task 6 | 7 | class TaskDao( 8 | databaseManager: DatabaseManager, 9 | table: TaskTable 10 | ) : BaseDao(databaseManager, table, table) -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/java/com/zhuinden/simplestackexamplemvvm/features/statistics/StatisticsViewModel.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackexamplemvvm.features.statistics 2 | 3 | import com.zhuinden.simplestackexamplemvvm.data.tasks.TasksDataSource 4 | 5 | class StatisticsViewModel(tasksDataSource: TasksDataSource) { 6 | val activeTasks = tasksDataSource.activeTasksWithChanges 7 | val completedTasks = tasksDataSource.completedTasksWithChanges 8 | } -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/java/com/zhuinden/simplestackexamplemvvm/features/tasks/TasksFilterType.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackexamplemvvm.features.tasks 2 | 3 | enum class TasksFilterType { 4 | ALL_TASKS, 5 | ACTIVE_TASKS, 6 | COMPLETED_TASKS 7 | } -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/java/com/zhuinden/simplestackexamplemvvm/util/SnackbarUtils.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackexamplemvvm.util 2 | 3 | 4 | import android.view.View 5 | import com.google.android.material.snackbar.Snackbar 6 | 7 | fun showSnackbar(v: View, snackbarText: String) { 8 | Snackbar.make(v, snackbarText, Snackbar.LENGTH_LONG).show() 9 | } -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/res/drawable/ic_add.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/res/drawable/ic_baseline_arrow_back_white_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/res/drawable/ic_baseline_delete_sweep_white_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/res/drawable/ic_baseline_delete_white_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/res/drawable/ic_check_circle_24dp.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/res/drawable/ic_done.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/res/drawable/ic_filter_list.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/res/drawable/ic_hamburger.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/res/drawable/ic_list.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/res/drawable/ic_statistics.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/res/drawable/ic_verified_user_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/res/drawable/touch_feedback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/res/layout/nav_header.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/mvvm-sample/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/mvvm-sample/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/mvvm-sample/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/mvvm-sample/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/advanced-samples/mvvm-sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/advanced-samples/mvvm-sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/java/com/zhuinden/navigationexamplefrag/screens/DashboardFragment.java: -------------------------------------------------------------------------------- 1 | package com.zhuinden.navigationexamplefrag.screens; 2 | 3 | import com.zhuinden.navigationexamplefrag.R; 4 | import com.zhuinden.simplestackextensions.fragments.KeyedFragment; 5 | 6 | /** 7 | * Created by Owner on 2017. 06. 29.. 8 | */ 9 | 10 | public class DashboardFragment 11 | extends KeyedFragment { 12 | public DashboardFragment() { 13 | super(R.layout.dashboard_view); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/java/com/zhuinden/navigationexamplefrag/screens/NotificationFragment.java: -------------------------------------------------------------------------------- 1 | package com.zhuinden.navigationexamplefrag.screens; 2 | 3 | import com.zhuinden.navigationexamplefrag.R; 4 | import com.zhuinden.simplestackextensions.fragments.KeyedFragment; 5 | 6 | /** 7 | * Created by Owner on 2017. 06. 29.. 8 | */ 9 | 10 | public class NotificationFragment 11 | extends KeyedFragment { 12 | public NotificationFragment() { 13 | super(R.layout.notification_view); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/java/com/zhuinden/navigationexamplefrag/screens/OtherFragment.java: -------------------------------------------------------------------------------- 1 | package com.zhuinden.navigationexamplefrag.screens; 2 | 3 | import com.zhuinden.navigationexamplefrag.R; 4 | import com.zhuinden.simplestackextensions.fragments.KeyedFragment; 5 | 6 | /** 7 | * Created by Owner on 2017. 06. 29.. 8 | */ 9 | 10 | public class OtherFragment 11 | extends KeyedFragment { 12 | public OtherFragment() { 13 | super(R.layout.other_view); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/anim/slide_in_from_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/anim/slide_in_from_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/anim/slide_out_to_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/anim/slide_out_to_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/drawable/ic_dashboard_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/drawable/ic_home_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/drawable/ic_notifications_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/layout/dashboard_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/layout/notification_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 14 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/layout/other_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Nav Frag 3 | Home 4 | Dashboard 5 | Notifications 6 | 7 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-fragment/src/test/java/com/zhuinden/navigationexamplefrag/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.zhuinden.navigationexamplefrag; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.assertEquals; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() 15 | throws Exception { 16 | assertEquals(4, 2 + 2); 17 | } 18 | } -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/drawable/ic_dashboard_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/drawable/ic_home_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/drawable/ic_notifications_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/layout/other_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 12 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Nav View 3 | Home 4 | Dashboard 5 | Notifications 6 | 7 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-java-view/src/test/java/com/zhuinden/navigationexampleview/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.zhuinden.navigationexampleview; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.assertEquals; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() 15 | throws Exception { 16 | assertEquals(4, 2 + 2); 17 | } 18 | } -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/java/com/zhuinden/simplestackexamplekotlinfragment/screens/DashboardKey.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackexamplekotlinfragment.screens 2 | 3 | import androidx.fragment.app.Fragment 4 | import com.zhuinden.simplestackextensions.fragments.DefaultFragmentKey 5 | import kotlinx.parcelize.Parcelize 6 | 7 | /** 8 | * Created by Owner on 2017.11.13. 9 | */ 10 | @Parcelize 11 | data object DashboardKey : DefaultFragmentKey() { // generate reliable `toString()` for no-args data class 12 | override fun instantiateFragment(): Fragment = DashboardFragment() 13 | } 14 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/java/com/zhuinden/simplestackexamplekotlinfragment/screens/HomeKey.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackexamplekotlinfragment.screens 2 | 3 | import com.zhuinden.simplestackextensions.fragments.DefaultFragmentKey 4 | import kotlinx.parcelize.Parcelize 5 | 6 | /** 7 | * Created by Owner on 2017.11.13. 8 | */ 9 | @Parcelize 10 | data object HomeKey : DefaultFragmentKey() { // generate reliable `toString()` for no-args data class 11 | override fun instantiateFragment() = HomeFragment() 12 | } 13 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/java/com/zhuinden/simplestackexamplekotlinfragment/screens/NotificationKey.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackexamplekotlinfragment.screens 2 | 3 | import com.zhuinden.simplestackextensions.fragments.DefaultFragmentKey 4 | import kotlinx.parcelize.Parcelize 5 | 6 | /** 7 | * Created by Owner on 2017.11.13. 8 | */ 9 | @Parcelize 10 | data object NotificationKey : DefaultFragmentKey() { // generate reliable `toString()` for no-args data class 11 | override fun instantiateFragment() = NotificationFragment() 12 | } 13 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/java/com/zhuinden/simplestackexamplekotlinfragment/screens/OtherKey.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackexamplekotlinfragment.screens 2 | 3 | import com.zhuinden.simplestackextensions.fragments.DefaultFragmentKey 4 | import kotlinx.parcelize.Parcelize 5 | 6 | /** 7 | * Created by Owner on 2017.11.13. 8 | */ 9 | @Parcelize 10 | data object OtherKey : DefaultFragmentKey() { // generate reliable `toString()` for no-args data class 11 | override fun instantiateFragment() = OtherFragment() 12 | } 13 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/anim/slide_in_from_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/anim/slide_in_from_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/anim/slide_out_to_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/anim/slide_out_to_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/drawable/ic_dashboard_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/drawable/ic_home_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/drawable/ic_notifications_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/layout/dashboard_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/layout/notification_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 14 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/layout/other_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Nav KotlinFrag 3 | Home 4 | Dashboard 5 | Notifications 6 | 7 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-fragment/src/test/java/com/zhuinden/simplestackexamplekotlinfragment/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackexamplekotlinfragment; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.assertEquals; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | 14 | @Test 15 | public void addition_isCorrect() 16 | throws Exception { 17 | assertEquals(4, 2 + 2); 18 | } 19 | } -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/java/com/zhuinden/navigationexamplekotlinview/core/navigation/BaseKey.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.navigationexamplekotlinview.core.navigation 2 | 3 | import android.os.Parcelable 4 | 5 | import com.zhuinden.simplestack.navigator.DefaultViewKey 6 | import com.zhuinden.simplestack.navigator.ViewChangeHandler 7 | import com.zhuinden.simplestack.navigator.changehandlers.FadeViewChangeHandler 8 | 9 | /** 10 | * Created by Owner on 2017. 06. 29.. 11 | */ 12 | 13 | abstract class BaseKey : DefaultViewKey, Parcelable { 14 | override fun viewChangeHandler(): ViewChangeHandler = FadeViewChangeHandler() 15 | } 16 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/java/com/zhuinden/navigationexamplekotlinview/screens/DashboardKey.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.navigationexamplekotlinview.screens 2 | 3 | import com.zhuinden.navigationexamplekotlinview.R 4 | import com.zhuinden.navigationexamplekotlinview.core.navigation.BaseKey 5 | import kotlinx.parcelize.Parcelize 6 | 7 | /** 8 | * Created by Owner on 2017. 06. 29.. 9 | */ 10 | @Parcelize 11 | data object DashboardKey : BaseKey() { 12 | override fun layout(): Int = R.layout.dashboard_view 13 | } 14 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/java/com/zhuinden/navigationexamplekotlinview/screens/HomeKey.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.navigationexamplekotlinview.screens 2 | 3 | import com.zhuinden.navigationexamplekotlinview.R 4 | import com.zhuinden.navigationexamplekotlinview.core.navigation.BaseKey 5 | import kotlinx.parcelize.Parcelize 6 | 7 | /** 8 | * Created by Owner on 2017. 06. 29.. 9 | */ 10 | @Parcelize 11 | data object HomeKey : BaseKey() { 12 | override fun layout(): Int = R.layout.home_view 13 | } 14 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/java/com/zhuinden/navigationexamplekotlinview/screens/NotificationKey.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.navigationexamplekotlinview.screens 2 | 3 | import com.zhuinden.navigationexamplekotlinview.R 4 | import com.zhuinden.navigationexamplekotlinview.core.navigation.BaseKey 5 | import kotlinx.parcelize.Parcelize 6 | 7 | /** 8 | * Created by Owner on 2017. 06. 29.. 9 | */ 10 | @Parcelize 11 | data object NotificationKey : BaseKey() { 12 | override fun layout(): Int = R.layout.notification_view 13 | } 14 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/java/com/zhuinden/navigationexamplekotlinview/utils/Utils.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.navigationexamplekotlinview.utils 2 | 3 | import android.view.View 4 | import com.zhuinden.simplestack.Backstack 5 | import com.zhuinden.simplestack.History 6 | import com.zhuinden.simplestack.StateChange 7 | 8 | inline fun View.onClick(crossinline click: () -> Unit) { 9 | setOnClickListener { _ -> 10 | click() 11 | } 12 | } 13 | 14 | fun Backstack.replaceHistory(vararg keys: Any) { 15 | setHistory(History.of(*keys), StateChange.REPLACE) 16 | } -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/java/com/zhuinden/navigationexamplekotlinview/utils/unused/ViewKey.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.navigationexamplekotlinview.utils.unused 2 | 3 | import android.os.Parcelable 4 | import com.zhuinden.simplestack.navigator.DefaultViewKey 5 | 6 | interface ViewKey : DefaultViewKey, Parcelable { 7 | override fun layout(): Int 8 | } 9 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/drawable/ic_dashboard_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/drawable/ic_home_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/drawable/ic_notifications_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Nav KotView 3 | Home 4 | Dashboard 5 | Notifications 6 | 7 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /samples/basic-samples/simple-stack-example-basic-kotlin-view/src/test/java/com/zhuinden/navigationexampleview/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.zhuinden.navigationexampleview; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.assertEquals; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/README.md: -------------------------------------------------------------------------------- 1 | # Community sample for using fragments with simple-stack 2 | 3 | ## Run local host backend to host `users.json` 4 | 5 | * In the example root folder, run `python - m SimpleHTTPServer 3000` 6 | 7 | ## Notable things 8 | 9 | * Realm implementation 10 | * Dagger implementation 11 | * Using Kotlin 12 | -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/java/com/community/simplestackkotlindaggerexample/application/SplashActivity.kt: -------------------------------------------------------------------------------- 1 | package com.community.simplestackkotlindaggerexample.application 2 | 3 | import android.os.Bundle 4 | import androidx.appcompat.app.AppCompatActivity 5 | import com.community.simplestackkotlindaggerexample.utils.intentFor 6 | 7 | class SplashActivity : AppCompatActivity() { 8 | 9 | override fun onCreate(savedInstanceState: Bundle?) { 10 | super.onCreate(savedInstanceState) 11 | 12 | val intent = intentFor() 13 | startActivity(intent) 14 | finish() 15 | } 16 | } -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/java/com/community/simplestackkotlindaggerexample/application/injection/AppComponent.kt: -------------------------------------------------------------------------------- 1 | package com.community.simplestackkotlindaggerexample.application.injection 2 | 3 | import com.community.simplestackkotlindaggerexample.screens.users.UsersFragment 4 | import dagger.Component 5 | import javax.inject.Singleton 6 | 7 | @Singleton 8 | @Component(modules = [ 9 | AppModule::class 10 | ]) 11 | interface AppComponent { 12 | fun inject(usersFragment: UsersFragment) 13 | } -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/java/com/community/simplestackkotlindaggerexample/core/schedulers/SchedulerProvider.kt: -------------------------------------------------------------------------------- 1 | package com.community.simplestackkotlindaggerexample.core.schedulers 2 | 3 | import io.reactivex.Scheduler 4 | 5 | interface SchedulerProvider { 6 | fun computation(): Scheduler 7 | 8 | fun io(): Scheduler 9 | 10 | fun ui(): Scheduler 11 | } 12 | -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/java/com/community/simplestackkotlindaggerexample/data/api/AllUsersResponse.kt: -------------------------------------------------------------------------------- 1 | package com.community.simplestackkotlindaggerexample.data.api 2 | 3 | import android.os.Parcelable 4 | import kotlinx.parcelize.Parcelize 5 | 6 | @Parcelize 7 | data class AllUsersResponse( 8 | val result: List 9 | ) : Parcelable 10 | 11 | -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/java/com/community/simplestackkotlindaggerexample/data/api/ApiService.kt: -------------------------------------------------------------------------------- 1 | package com.community.simplestackkotlindaggerexample.data.api 2 | 3 | import io.reactivex.Observable 4 | import retrofit2.http.GET 5 | 6 | interface ApiService { 7 | @GET("users.json") 8 | fun getAllUsers(): Observable 9 | } -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/java/com/community/simplestackkotlindaggerexample/data/api/PhoneNumberResponse.kt: -------------------------------------------------------------------------------- 1 | package com.community.simplestackkotlindaggerexample.data.api 2 | 3 | import android.os.Parcelable 4 | import kotlinx.parcelize.Parcelize 5 | 6 | @Parcelize 7 | data class PhoneNumberResponse( 8 | val number: String, 9 | val type: String 10 | ) : Parcelable 11 | 12 | -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/java/com/community/simplestackkotlindaggerexample/data/api/UserProfileResponse.kt: -------------------------------------------------------------------------------- 1 | package com.community.simplestackkotlindaggerexample.data.api 2 | 3 | import android.os.Parcelable 4 | import kotlinx.parcelize.Parcelize 5 | 6 | @Parcelize 7 | data class UserProfileResponse( 8 | val id: Long, 9 | val name: String, 10 | val email: String, 11 | val phoneNumber: PhoneNumberResponse 12 | ) : Parcelable -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/java/com/community/simplestackkotlindaggerexample/screens/home/HomeKey.kt: -------------------------------------------------------------------------------- 1 | package com.community.simplestackkotlindaggerexample.screens.home 2 | 3 | import com.zhuinden.simplestackextensions.fragments.DefaultFragmentKey 4 | import kotlinx.parcelize.Parcelize 5 | 6 | @Parcelize 7 | data object HomeKey : DefaultFragmentKey() { 8 | override fun instantiateFragment() = HomeFragment() 9 | } -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/java/com/community/simplestackkotlindaggerexample/screens/userdetail/UserDetailKey.kt: -------------------------------------------------------------------------------- 1 | package com.community.simplestackkotlindaggerexample.screens.userdetail 2 | 3 | import com.community.simplestackkotlindaggerexample.data.database.User 4 | import com.zhuinden.simplestackextensions.fragments.DefaultFragmentKey 5 | import kotlinx.parcelize.Parcelize 6 | 7 | @Parcelize 8 | data class UserDetailKey(val user: User) : DefaultFragmentKey() { 9 | override fun instantiateFragment() = UserDetailFragment() 10 | 11 | override fun toString(): String = "UserDetailKey[${user.userId}]" 12 | } -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/java/com/community/simplestackkotlindaggerexample/screens/users/UsersKey.kt: -------------------------------------------------------------------------------- 1 | package com.community.simplestackkotlindaggerexample.screens.users 2 | 3 | import com.zhuinden.simplestackextensions.fragments.DefaultFragmentKey 4 | import kotlinx.parcelize.Parcelize 5 | 6 | @Parcelize 7 | data object UsersKey : DefaultFragmentKey() { 8 | override fun instantiateFragment() = UsersFragment() 9 | } -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/anim/slide_in_from_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/anim/slide_in_from_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/anim/slide_out_to_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/anim/slide_out_to_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/drawable/background_splash.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/drawable/ninkaja.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/drawable/ninkaja.png -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | 13 | -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/layout/view_item_contact.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/layout/view_loading.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | @android:color/white 7 | @android:color/white 8 | 9 | -------------------------------------------------------------------------------- /samples/community-samples/simple-stack-example-kotlin-community-sample/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Kotlin Dagger 3 | 4 | -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/java/com/zhuinden/simplestackdemomultistack/core/navigation/BaseFragment.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackdemomultistack.core.navigation 2 | 3 | import androidx.annotation.LayoutRes 4 | import androidx.fragment.app.Fragment 5 | 6 | /** 7 | * Created by Zhuinden on 2018.09.17. 8 | */ 9 | 10 | open class BaseFragment(@LayoutRes layoutId: Int) : Fragment(layoutId) { 11 | fun getKey(): T = requireArguments().getParcelable("KEY")!! 12 | } 13 | -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/java/com/zhuinden/simplestackdemomultistack/core/navigation/NavUtil.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackdemomultistack.core.navigation 2 | 3 | import com.zhuinden.simplestack.Backstack 4 | 5 | val BaseFragment.backstack: Backstack 6 | get() = 7 | getKey().selectBackstack(requireContext()) -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/java/com/zhuinden/simplestackdemomultistack/features/main/chromecast/ChromeCastFragment.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackdemomultistack.features.main.chromecast 2 | 3 | import com.zhuinden.simplestackdemomultistack.R 4 | import com.zhuinden.simplestackdemomultistack.core.navigation.BaseFragment 5 | 6 | class ChromeCastFragment : BaseFragment(R.layout.chromecast_fragment) 7 | -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/java/com/zhuinden/simplestackdemomultistack/features/main/cloudsync/another/AnotherFragment.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackdemomultistack.features.main.cloudsync.another 2 | 3 | import com.zhuinden.simplestackdemomultistack.R 4 | import com.zhuinden.simplestackdemomultistack.core.navigation.BaseFragment 5 | 6 | class AnotherFragment : BaseFragment(R.layout.another_fragment) -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/java/com/zhuinden/simplestackdemomultistack/features/main/list/ListFragment.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackdemomultistack.features.main.list 2 | 3 | import com.zhuinden.simplestackdemomultistack.R 4 | import com.zhuinden.simplestackdemomultistack.core.navigation.BaseFragment 5 | 6 | class ListFragment : BaseFragment(R.layout.list_fragment) -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/java/com/zhuinden/simplestackdemomultistack/features/main/mail/MailFragment.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackdemomultistack.features.main.mail 2 | 3 | import com.zhuinden.simplestackdemomultistack.R 4 | import com.zhuinden.simplestackdemomultistack.core.navigation.BaseFragment 5 | 6 | class MailFragment : BaseFragment(R.layout.mail_fragment) -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/java/com/zhuinden/simplestackdemomultistack/util/ServiceLocator.kt: -------------------------------------------------------------------------------- 1 | package com.zhuinden.simplestackdemomultistack.util 2 | 3 | import android.content.Context 4 | 5 | object ServiceLocator { 6 | fun getService(context: Context, name: String): T { 7 | return context.getSystemService(name) as T 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/anim/slide_in_from_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/anim/slide_in_from_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/anim/slide_out_to_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/anim/slide_out_to_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-hdpi/ic_cast_connected_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-hdpi/ic_cast_connected_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-hdpi/ic_cloud_off_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-hdpi/ic_cloud_off_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-hdpi/ic_format_list_numbered_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-hdpi/ic_format_list_numbered_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-hdpi/ic_mail_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-hdpi/ic_mail_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-mdpi/ic_cast_connected_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-mdpi/ic_cast_connected_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-mdpi/ic_cloud_off_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-mdpi/ic_cloud_off_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-mdpi/ic_format_list_numbered_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-mdpi/ic_format_list_numbered_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-mdpi/ic_mail_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-mdpi/ic_mail_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xhdpi/ic_cast_connected_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xhdpi/ic_cast_connected_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xhdpi/ic_cloud_off_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xhdpi/ic_cloud_off_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xhdpi/ic_format_list_numbered_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xhdpi/ic_format_list_numbered_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xhdpi/ic_mail_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xhdpi/ic_mail_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xxhdpi/ic_cast_connected_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xxhdpi/ic_cast_connected_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xxhdpi/ic_cloud_off_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xxhdpi/ic_cloud_off_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xxhdpi/ic_format_list_numbered_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xxhdpi/ic_format_list_numbered_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xxhdpi/ic_mail_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xxhdpi/ic_mail_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xxxhdpi/ic_cast_connected_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xxxhdpi/ic_cast_connected_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xxxhdpi/ic_cloud_off_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xxxhdpi/ic_cloud_off_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xxxhdpi/ic_format_list_numbered_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xxxhdpi/ic_format_list_numbered_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xxxhdpi/ic_mail_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/drawable-xxxhdpi/ic_mail_white_24dp.png -------------------------------------------------------------------------------- /samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/layout/cloudsync_fragment.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 |