├── .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 |
13 |
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/layout/list_fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/layout/mail_fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Nav MultiFrag
3 |
4 |
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-fragment/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-fragment/src/test/java/com/zhuinden/simplestackdemomultistack/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestackdemomultistack;
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() throws
16 | Exception {
17 | assertEquals(4, 2 + 2);
18 | }
19 | }
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/src/main/java/com/zhuinden/simplestackdemomultistack/core/navigation/NavUtil.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestackdemomultistack.core.navigation
2 |
3 | import android.view.View
4 | import com.zhuinden.simplestack.Backstack
5 |
6 | val View.backstack: Backstack
7 | get() =
8 | Backstack.getKey(context).selectBackstack(context)
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/src/main/java/com/zhuinden/simplestackdemomultistack/features/main/list/ListKey.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestackdemomultistack.features.main.list
2 |
3 | import com.zhuinden.simplestackdemomultistack.R
4 | import com.zhuinden.simplestackdemomultistack.application.MainActivity
5 | import com.zhuinden.simplestackdemomultistack.core.navigation.MultistackViewKey
6 | import kotlinx.parcelize.Parcelize
7 |
8 | @Parcelize
9 | data object ListKey : MultistackViewKey() {
10 | override fun layout(): Int = R.layout.list_view
11 | override fun stackIdentifier(): String = MainActivity.StackType.LIST.name
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/src/main/java/com/zhuinden/simplestackdemomultistack/features/main/mail/MailKey.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestackdemomultistack.features.main.mail
2 |
3 | import com.zhuinden.simplestackdemomultistack.R
4 | import com.zhuinden.simplestackdemomultistack.application.MainActivity
5 | import com.zhuinden.simplestackdemomultistack.core.navigation.MultistackViewKey
6 | import kotlinx.parcelize.Parcelize
7 |
8 | @Parcelize
9 | data object MailKey : MultistackViewKey() {
10 | override fun layout(): Int = R.layout.mail_view
11 | override fun stackIdentifier(): String = MainActivity.StackType.MAIL.name
12 | }
13 |
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/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-view/src/main/res/drawable-hdpi/ic_cast_connected_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/src/main/res/drawable-hdpi/ic_cloud_off_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/src/main/res/drawable-hdpi/ic_format_list_numbered_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/src/main/res/drawable-hdpi/ic_mail_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/src/main/res/drawable-mdpi/ic_cast_connected_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/src/main/res/drawable-mdpi/ic_cloud_off_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/src/main/res/drawable-mdpi/ic_format_list_numbered_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/src/main/res/drawable-mdpi/ic_mail_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/src/main/res/drawable-xhdpi/ic_cast_connected_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/src/main/res/drawable-xhdpi/ic_cloud_off_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/src/main/res/drawable-xhdpi/ic_format_list_numbered_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/src/main/res/drawable-xhdpi/ic_mail_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/src/main/res/drawable-xxhdpi/ic_cast_connected_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/src/main/res/drawable-xxhdpi/ic_cloud_off_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/src/main/res/drawable-xxhdpi/ic_format_list_numbered_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/src/main/res/drawable-xxhdpi/ic_mail_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/src/main/res/drawable-xxxhdpi/ic_cast_connected_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/src/main/res/drawable-xxxhdpi/ic_cloud_off_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/src/main/res/drawable-xxxhdpi/ic_format_list_numbered_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/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-view/src/main/res/drawable-xxxhdpi/ic_mail_white_24dp.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-view/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-view/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-view/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-view/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/legacy-samples/simple-stack-example-multistack-view/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Nav MultiView
3 |
4 |
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/samples/legacy-samples/simple-stack-example-multistack-view/src/test/java/com/zhuinden/simplestackdemomultistack/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestackdemomultistack;
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() throws
16 | Exception {
17 | assertEquals(4, 2 + 2);
18 | }
19 | }
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/java/com/zhuinden/simplestackbottomnavfragmentexample/features/initial/InitialScreen.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestackbottomnavfragmentexample.features.initial
2 |
3 | import androidx.fragment.app.Fragment
4 | import com.zhuinden.simplestackextensions.fragments.DefaultFragmentKey
5 | import kotlinx.parcelize.Parcelize
6 |
7 | @Parcelize
8 | class InitialScreen : DefaultFragmentKey() {
9 | override fun instantiateFragment(): Fragment = InitialFragment()
10 | }
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/java/com/zhuinden/simplestackbottomnavfragmentexample/features/root/first/First1Screen.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestackbottomnavfragmentexample.features.root.first
2 |
3 | import androidx.fragment.app.Fragment
4 | import com.zhuinden.simplestackextensions.fragments.DefaultFragmentKey
5 | import kotlinx.parcelize.Parcelize
6 |
7 | @Parcelize
8 | class First1Screen : DefaultFragmentKey() {
9 | override fun instantiateFragment(): Fragment = First1Fragment()
10 | }
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/java/com/zhuinden/simplestackbottomnavfragmentexample/features/root/first/First2Screen.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestackbottomnavfragmentexample.features.root.first
2 |
3 | import androidx.fragment.app.Fragment
4 | import com.zhuinden.simplestackextensions.fragments.DefaultFragmentKey
5 | import kotlinx.parcelize.Parcelize
6 |
7 | @Parcelize
8 | class First2Screen : DefaultFragmentKey() {
9 | override fun instantiateFragment(): Fragment = First2Fragment()
10 | }
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/java/com/zhuinden/simplestackbottomnavfragmentexample/features/root/second/SecondFragment.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestackbottomnavfragmentexample.features.root.second
2 |
3 | import androidx.fragment.app.Fragment
4 | import com.zhuinden.simplestackbottomnavfragmentexample.R
5 |
6 | class SecondFragment : Fragment(R.layout.second_fragment) {
7 | }
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/java/com/zhuinden/simplestackbottomnavfragmentexample/features/root/second/SecondScreen.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestackbottomnavfragmentexample.features.root.second
2 |
3 | import androidx.fragment.app.Fragment
4 | import com.zhuinden.simplestackextensions.fragments.DefaultFragmentKey
5 | import kotlinx.parcelize.Parcelize
6 |
7 | @Parcelize
8 | class SecondScreen : DefaultFragmentKey() {
9 | override fun instantiateFragment(): Fragment = SecondFragment()
10 | }
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/java/com/zhuinden/simplestackbottomnavfragmentexample/features/root/third/ThirdFragment.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestackbottomnavfragmentexample.features.root.third
2 |
3 | import androidx.fragment.app.Fragment
4 | import com.zhuinden.simplestackbottomnavfragmentexample.R
5 |
6 | class ThirdFragment : Fragment(R.layout.third_fragment) {
7 | }
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/java/com/zhuinden/simplestackbottomnavfragmentexample/features/root/third/ThirdScreen.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestackbottomnavfragmentexample.features.root.third
2 |
3 | import androidx.fragment.app.Fragment
4 | import com.zhuinden.simplestackextensions.fragments.DefaultFragmentKey
5 | import kotlinx.parcelize.Parcelize
6 |
7 | @Parcelize
8 | class ThirdScreen : DefaultFragmentKey() {
9 | override fun instantiateFragment(): Fragment = ThirdFragment()
10 | }
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/anim/slide_in_from_left.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/anim/slide_in_from_right.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/anim/slide_out_to_left.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/anim/slide_out_to_right.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/drawable/ic_plus.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/layout/initial_fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
13 |
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/layout/second_fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
14 |
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/layout/stack_host_fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/layout/third_fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
14 |
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/layout/word_list_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFBB86FC
4 | #FF6200EE
5 | #FF3700B3
6 | #FF03DAC5
7 | #FF018786
8 | #FF000000
9 | #FFFFFFFF
10 |
11 | #909090
12 | #121212
13 |
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | BottomNavFragmentExample
3 |
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/samples/multistack-samples/simple-stack-example-multistack-nested-fragment/src/test/java/com/zhuinden/simplestackexamplescoping/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestackexamplescoping;
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/scoping-samples/simple-stack-example-scoping-java/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/anim/slide_in_from_left.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/anim/slide_in_from_right.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/anim/slide_out_to_left.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/anim/slide_out_to_right.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/drawable/ic_plus.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/layout/word_list_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Nav Scoping
3 |
4 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-java/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-java/src/test/java/com/zhuinden/simplestackexamplescoping/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestackexamplescoping;
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/scoping-samples/simple-stack-example-scoping-kotlin/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/java/com/zhuinden/simplestackexamplescoping/core/navigation/BaseKey.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestackexamplescoping.core.navigation
2 |
3 | import com.zhuinden.simplestackextensions.fragments.DefaultFragmentKey
4 | import com.zhuinden.simplestackextensions.services.DefaultServiceProvider
5 |
6 | /**
7 | * Created by Zhuinden on 2018.09.17.
8 | */
9 | abstract class BaseKey : DefaultFragmentKey(), DefaultServiceProvider.HasServices {
10 | override fun getFragmentTag(): String = toString()
11 |
12 | override fun getScopeTag(): String = fragmentTag
13 | }
14 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/java/com/zhuinden/simplestackexamplescoping/features/words/NewWordKey.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestackexamplescoping.features.words
2 |
3 | import androidx.fragment.app.Fragment
4 | import com.zhuinden.simplestack.ServiceBinder
5 | import com.zhuinden.simplestackexamplescoping.core.navigation.BaseKey
6 | import kotlinx.parcelize.Parcelize
7 |
8 | /**
9 | * Created by Zhuinden on 2018.09.17.
10 | */
11 | @Parcelize
12 | data object NewWordKey : BaseKey() {
13 | override fun instantiateFragment(): Fragment = NewWordFragment()
14 |
15 | override fun bindServices(serviceBinder: ServiceBinder) {}
16 | }
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/anim/slide_in_from_left.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/anim/slide_in_from_right.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/anim/slide_out_to_left.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/anim/slide_out_to_right.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/drawable/ic_plus.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/layout/word_list_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Nav Scoping
3 |
4 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/samples/scoping-samples/simple-stack-example-scoping-kotlin/src/test/java/com/zhuinden/simplestackexamplescoping/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestackexamplescoping;
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/shared-element-samples/simple-stack-example-sharedelement-fragment/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/README.md:
--------------------------------------------------------------------------------
1 | From https://github.com/bherbst/FragmentTransitionSample
--------------------------------------------------------------------------------
/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/java/com/example/fragmenttransitions/core/navigation/BaseKey.java:
--------------------------------------------------------------------------------
1 | package com.example.fragmenttransitions.core.navigation;
2 |
3 | import android.os.Bundle;
4 | import android.os.Parcelable;
5 |
6 | import com.zhuinden.simplestackextensions.fragments.DefaultFragmentKey;
7 |
8 | import org.jetbrains.annotations.NotNull;
9 |
10 | /**
11 | * Created by Zhuinden on 2020. 12. 18..
12 | */
13 |
14 | public abstract class BaseKey extends DefaultFragmentKey {
15 | @NotNull
16 | @Override
17 | public String getFragmentTag() {
18 | return toString();
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/java/com/example/fragmenttransitions/core/sharedelements/HasSharedElement.java:
--------------------------------------------------------------------------------
1 | package com.example.fragmenttransitions.core.sharedelements;
2 |
3 | /**
4 | * Created by Zhuinden on 2020. 12. 18..
5 | */
6 |
7 | public interface HasSharedElement {
8 | SharedElement sharedElement();
9 | }
10 |
--------------------------------------------------------------------------------
/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/drawable-hdpi/placekitten_1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/drawable-hdpi/placekitten_1.jpeg
--------------------------------------------------------------------------------
/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/drawable-hdpi/placekitten_2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/drawable-hdpi/placekitten_2.jpeg
--------------------------------------------------------------------------------
/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/drawable-hdpi/placekitten_3.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/drawable-hdpi/placekitten_3.jpeg
--------------------------------------------------------------------------------
/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/drawable-hdpi/placekitten_4.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/drawable-hdpi/placekitten_4.jpeg
--------------------------------------------------------------------------------
/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/drawable-hdpi/placekitten_5.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/drawable-hdpi/placekitten_5.jpeg
--------------------------------------------------------------------------------
/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/drawable-hdpi/placekitten_6.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/drawable-hdpi/placekitten_6.jpeg
--------------------------------------------------------------------------------
/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/layout/fragment_grid.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 16dp
5 |
6 |
7 | 120dp
8 | 16dp
9 |
10 |
11 | 240dp
12 | 48dp
13 |
--------------------------------------------------------------------------------
/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | SimpleStackSharedElementExample
3 |
4 | Cupcake ipsum dolor
5 | Sit amet chocolate cake sweet macaroon chupa chups. Bear claw carrot cake chocolate bar biscuit chocolate cookie. Chocolate sesame snaps candy canes bear claw dragée tootsie roll.
6 |
7 |
--------------------------------------------------------------------------------
/samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/simple-stack-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/simple-stack-logo.png
--------------------------------------------------------------------------------
/simple-stack/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/simple-stack/src/main/java/com/zhuinden/simplestack/ServiceSearchMode.java:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestack;
2 |
3 | /**
4 | * {@link ServiceSearchMode} determines whether the services of the parent scopes should be included along with the found services.
5 | */
6 | public enum ServiceSearchMode {
7 | LOCAL_SERVICES_ONLY,
8 | INCLUDE_PARENT_SERVICE;
9 | }
10 |
--------------------------------------------------------------------------------
/simple-stack/src/test/java/com/zhuinden/simplestack/helpers/Action.java:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestack.helpers;
2 |
3 | public interface Action {
4 | public void doSomething();
5 | }
6 |
--------------------------------------------------------------------------------
/simple-stack/src/test/java/com/zhuinden/simplestack/helpers/AssertionHelper.java:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestack.helpers;
2 |
3 | import org.junit.Assert;
4 |
5 | public class AssertionHelper {
6 | private AssertionHelper() {
7 | }
8 |
9 | public static void assertThrows(Action action) {
10 | try {
11 | action.doSomething();
12 | Assert.fail("Did not throw exception.");
13 | } catch(Exception e) {
14 | // OK!
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/simple-stack/src/test/java/com/zhuinden/simplestack/helpers/HasParentServices.java:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestack.helpers;
2 |
3 | import com.zhuinden.simplestack.ScopeKey;
4 | import com.zhuinden.simplestack.ServiceBinder;
5 |
6 | public interface HasParentServices
7 | extends ScopeKey.Child {
8 | void bindServices(ServiceBinder serviceBinder);
9 | }
10 |
--------------------------------------------------------------------------------
/simple-stack/src/test/java/com/zhuinden/simplestack/helpers/HasServices.java:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestack.helpers;
2 |
3 | import com.zhuinden.simplestack.ScopeKey;
4 | import com.zhuinden.simplestack.ServiceBinder;
5 |
6 | public interface HasServices
7 | extends ScopeKey {
8 | void bindServices(ServiceBinder serviceBinder);
9 | }
10 |
--------------------------------------------------------------------------------
/simple-stack/src/test/java/com/zhuinden/simplestack/helpers/TestKeyWithScope.java:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestack.helpers;
2 |
3 | import android.os.Parcel;
4 |
5 | import javax.annotation.Nonnull;
6 |
7 | public abstract class TestKeyWithScope
8 | extends TestKey
9 | implements HasServices {
10 | public TestKeyWithScope(String name) {
11 | super(name);
12 | }
13 |
14 | protected TestKeyWithScope(Parcel in) {
15 | super(in);
16 | }
17 |
18 | @Nonnull
19 | @Override
20 | public String getScopeTag() {
21 | return name;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/java/com/zhuinden/simplestacktutorials/steps/step_3/Step3ButtonConfiguration.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestacktutorials.steps.step_3
2 |
3 | import android.view.View
4 |
5 | data class Step3ButtonConfiguration(
6 | val buttonText: String,
7 | val buttonAction: (View) -> Unit
8 | )
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/java/com/zhuinden/simplestacktutorials/steps/step_3/Step3Screen.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestacktutorials.steps.step_3
2 |
3 | import android.os.Parcelable
4 |
5 | abstract class Step3Screen : Parcelable {
6 | abstract val titleText: String
7 |
8 | abstract val centerText: String
9 |
10 | abstract val buttonConfiguration: Step3ButtonConfiguration?
11 | }
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/java/com/zhuinden/simplestacktutorials/steps/step_3/Step3SecondScreen.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestacktutorials.steps.step_3
2 |
3 | import kotlinx.parcelize.Parcelize
4 |
5 | @Parcelize
6 | data object Step3SecondScreen : Step3Screen() {
7 | operator fun invoke() = this
8 |
9 | override val titleText: String
10 | get() = "Second title"
11 | override val centerText: String
12 | get() = "Second screen"
13 | override val buttonConfiguration: Step3ButtonConfiguration?
14 | get() = null
15 | }
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/java/com/zhuinden/simplestacktutorials/steps/step_4/Step4FirstScreen.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestacktutorials.steps.step_4
2 |
3 | import com.zhuinden.simplestacktutorials.R
4 | import kotlinx.parcelize.Parcelize
5 |
6 | @Parcelize
7 | data object Step4FirstScreen : Step4Screen() { // generate equals/hashCode/toString
8 | operator fun invoke() = this
9 |
10 | override fun layout(): Int = R.layout.step4_first_view
11 | }
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/java/com/zhuinden/simplestacktutorials/steps/step_4/Step4Screen.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestacktutorials.steps.step_4
2 |
3 | import android.os.Parcelable
4 | import com.zhuinden.simplestack.navigator.DefaultViewKey
5 | import com.zhuinden.simplestack.navigator.ViewChangeHandler
6 | import com.zhuinden.simplestack.navigator.changehandlers.SegueViewChangeHandler
7 |
8 | abstract class Step4Screen : DefaultViewKey, Parcelable {
9 | override fun viewChangeHandler(): ViewChangeHandler = SegueViewChangeHandler()
10 | }
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/java/com/zhuinden/simplestacktutorials/steps/step_4/Step4SecondScreen.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestacktutorials.steps.step_4
2 |
3 | import com.zhuinden.simplestacktutorials.R
4 | import kotlinx.parcelize.Parcelize
5 |
6 | @Parcelize
7 | data object Step4SecondScreen : Step4Screen() { // generate equals/hashCode/toString
8 | operator fun invoke() = this
9 |
10 | override fun layout(): Int = R.layout.step4_second_view
11 | }
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/java/com/zhuinden/simplestacktutorials/steps/step_4/Step4Utils.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestacktutorials.steps.step_4
2 |
3 | import android.view.View
4 | import com.zhuinden.simplestack.Backstack
5 | import com.zhuinden.simplestack.navigator.Navigator
6 |
7 | val View.backstack: Backstack
8 | get() = Navigator.getBackstack(context)
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/java/com/zhuinden/simplestacktutorials/steps/step_5/Step5BaseFragment.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestacktutorials.steps.step_5
2 |
3 | import androidx.annotation.LayoutRes
4 | import androidx.fragment.app.Fragment
5 |
6 | abstract class Step5BaseFragment(@LayoutRes layoutId: Int) : Fragment(layoutId) {
7 | fun getScreen(): T = requireArguments().getParcelable("FRAGMENT_KEY")!!
8 | }
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/java/com/zhuinden/simplestacktutorials/steps/step_5/Step5FirstScreen.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestacktutorials.steps.step_5
2 |
3 | import androidx.fragment.app.Fragment
4 | import kotlinx.parcelize.Parcelize
5 |
6 | @Parcelize
7 | data object Step5FirstScreen : Step5Screen() { // generate equals/hashCode/toString
8 | operator fun invoke() = this
9 |
10 | override fun instantiateFragment(): Fragment = Step5FirstFragment()
11 | }
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/java/com/zhuinden/simplestacktutorials/steps/step_5/Step5SecondScreen.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestacktutorials.steps.step_5
2 |
3 | import androidx.fragment.app.Fragment
4 | import kotlinx.parcelize.Parcelize
5 |
6 | @Parcelize
7 | data object Step5SecondScreen : Step5Screen() { // generate equals/hashCode/toString
8 | operator fun invoke() = this
9 |
10 | override fun instantiateFragment(): Fragment = Step5SecondFragment()
11 | }
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/java/com/zhuinden/simplestacktutorials/steps/step_5/Step5Utils.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestacktutorials.steps.step_5
2 |
3 | import androidx.fragment.app.Fragment
4 | import com.zhuinden.simplestack.Backstack
5 | import com.zhuinden.simplestack.navigator.Navigator
6 |
7 | val Fragment.backstack: Backstack
8 | get() = Navigator.getBackstack(requireContext())
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/java/com/zhuinden/simplestacktutorials/steps/step_6/Step6FirstScreen.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestacktutorials.steps.step_6
2 |
3 | import androidx.fragment.app.Fragment
4 | import kotlinx.parcelize.Parcelize
5 |
6 | @Parcelize
7 | data object Step6FirstScreen : Step6Screen() {
8 | operator fun invoke() = this
9 |
10 | override fun instantiateFragment(): Fragment = Step6FirstFragment()
11 | }
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/java/com/zhuinden/simplestacktutorials/steps/step_6/Step6Screen.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestacktutorials.steps.step_6
2 |
3 | import com.zhuinden.simplestackextensions.fragments.DefaultFragmentKey
4 |
5 | abstract class Step6Screen : DefaultFragmentKey() {
6 | override fun getFragmentTag(): String = toString()
7 | }
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/java/com/zhuinden/simplestacktutorials/steps/step_6/Step6SecondFragment.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestacktutorials.steps.step_6
2 |
3 | import android.os.Bundle
4 | import android.view.View
5 | import com.zhuinden.simplestackextensions.fragments.KeyedFragment
6 | import com.zhuinden.simplestacktutorials.R
7 |
8 | class Step6SecondFragment : KeyedFragment(R.layout.step6_second_fragment) {
9 | override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
10 | super.onViewCreated(view, savedInstanceState)
11 |
12 | val args = getKey() // get args passed from previous screen
13 | }
14 | }
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/java/com/zhuinden/simplestacktutorials/steps/step_6/Step6SecondScreen.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestacktutorials.steps.step_6
2 |
3 | import androidx.fragment.app.Fragment
4 | import kotlinx.parcelize.Parcelize
5 |
6 | @Parcelize
7 | data object Step6SecondScreen : Step6Screen() {
8 | operator fun invoke() = this
9 |
10 | override fun instantiateFragment(): Fragment = Step6SecondFragment()
11 | }
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/java/com/zhuinden/simplestacktutorials/steps/step_9/utils/RxRelayUtils.kt:
--------------------------------------------------------------------------------
1 | package com.zhuinden.simplestacktutorials.steps.step_9.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 | }
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/anim/slide_in_from_left.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/anim/slide_in_from_right.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/anim/slide_out_to_left.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/anim/slide_out_to_right.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/drawable/ic_arrow_back_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/drawable/ic_plus.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/layout/activity_step4.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/layout/activity_step5.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/layout/activity_step6.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/layout/activity_step7.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/layout/activity_step8.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/layout/activity_step9.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/tutorials/tutorial-sample/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/tutorials/tutorial-sample/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/tutorials/tutorial-sample/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/tutorials/tutorial-sample/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/tutorials/tutorial-sample/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/tutorials/tutorial-sample/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/tutorials/tutorial-sample/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/tutorials/tutorial-sample/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/tutorials/tutorial-sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Zhuinden/simple-stack/175e7ca85e6e40b8ec51546aaa8d941a450b8464/tutorials/tutorial-sample/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFBB86FC
4 | #FF6200EE
5 | #FF3700B3
6 | #FF03DAC5
7 | #FF018786
8 | #FF000000
9 | #FFFFFFFF
10 |
11 | #909090
12 | #121212
13 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | BottomNavFragmentExample
3 |
--------------------------------------------------------------------------------
/tutorials/tutorial-sample/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------