在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → mosby:用于现代Android应用的Model-View-Presenter / Model-View-Intent库

mosby:用于现代Android应用的Model-View-Presenter / Model-View-Intent库

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:4.49M
  • 下载次数:0
  • 浏览次数:8
  • 发布时间:2024-03-01
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签: Android Intent Model view and

实例介绍

【实例简介】
mosby:用于现代Android应用的Model-View-Presenter / Model-View-Intent库源码下载。Mosby是一个用于Android应用的Model-View-Presenter和Model-View-Intent库。
【实例截图】
【核心代码】
文件清单
└── mosby-c234625fdfb46ce7fe2a0695a6272953db20865f
    ├── build.gradle
    ├── circle.yml
    ├── deploy_javadoc.sh
    ├── findbugs.gradle
    ├── gradle
    │   └── wrapper
    │       ├── gradle-wrapper.jar
    │       └── gradle-wrapper.properties
    ├── gradle.properties
    ├── gradlew
    ├── gradlew.bat
    ├── LICENSE
    ├── maven-push.gradle
    ├── maven-push-java-lib.gradle
    ├── mvi
    │   ├── build.gradle
    │   ├── findbugs-filter.xml
    │   ├── gradle.properties
    │   ├── proguard-rules.pro
    │   └── src
    │       └── main
    │           ├── AndroidManifest.xml
    │           └── java
    │               └── com
    │                   └── hannesdorfmann
    │                       └── mosby3
    │                           ├── ActivityMviDelegateImpl.java
    │                           ├── ActivityMviDelegate.java
    │                           ├── FragmentMviDelegateImpl.java
    │                           ├── FragmentMviDelegate.java
    │                           ├── mvi
    │                           │   ├── layout
    │                           │   │   ├── MviFrameLayout.java
    │                           │   │   ├── MviLinearLayout.java
    │                           │   │   └── MviRelativeLayout.java
    │                           │   ├── MviActivity.java
    │                           │   ├── MviDialogFragment.java
    │                           │   └── MviFragment.java
    │                           ├── MviDelegateCallback.java
    │                           ├── ViewGroupMviDelegateCallback.java
    │                           ├── ViewGroupMviDelegateImpl.java
    │                           └── ViewGroupMviDelegate.java
    ├── mvi-common
    │   ├── build.gradle
    │   ├── findbugs-filter.xml
    │   ├── gradle.properties
    │   └── src
    │       ├── main
    │       │   └── java
    │       │       └── com
    │       │           └── hannesdorfmann
    │       │               └── mosby3
    │       │                   └── mvi
    │       │                       ├── DisposableIntentObserver.java
    │       │                       ├── DisposableViewStateObserver.java
    │       │                       ├── MviBasePresenter.java
    │       │                       └── MviPresenter.java
    │       └── test
    │           └── java
    │               └── com
    │                   └── hannesdorfmann
    │                       └── mosby3
    │                           └── mvi
    │                               ├── DisposableIntentObserverTest.java
    │                               ├── EagerObservableTest.java
    │                               ├── EagerViewStartWithTest.java
    │                               └── MviBasePresenterTest.java
    ├── mvi-integration-test
    │   ├── build.gradle
    │   ├── proguard-rules.pro
    │   ├── README.md
    │   └── src
    │       ├── androidTest
    │       │   └── java
    │       │       └── com
    │       │           └── hannesdorfmann
    │       │               └── mosby3
    │       │                   └── mvi
    │       │                       ├── backstack
    │       │                       │   └── BackstackActivityTest.java
    │       │                       ├── eager
    │       │                       │   └── EagerActivityTest.java
    │       │                       └── integrationtest
    │       │                           └── lifecycle
    │       │                               ├── activity
    │       │                               │   ├── MviFinishInOnCreateActivityTest.java
    │       │                               │   ├── MviFinishInOnStartActivityTest.java
    │       │                               │   └── MviLifecycleActivityTest.java
    │       │                               ├── fragment
    │       │                               │   ├── childfragment
    │       │                               │   │   └── MviLifecycleChildFragmentActivityTest.java
    │       │                               │   ├── MviFinishFragmentOnCreateTest.java
    │       │                               │   ├── MviFinishFragmentOnStartTest.java
    │       │                               │   ├── RetainingFragmentContainerActivityTest.java
    │       │                               │   └── SimpleFragmentContainerActivityTest.java
    │       │                               └── viewgroup
    │       │                                   ├── MviViewGroupContainerActivityTest2.java
    │       │                                   ├── MviViewGroupContainerActivityTest.java
    │       │                                   ├── MviViewGroupFinishOnCreateTest.java
    │       │                                   └── MviViewGroupFinishOnStartTest.java
    │       └── main
    │           ├── AndroidManifest.xml
    │           ├── java
    │           │   └── com
    │           │       └── hannesdorfmann
    │           │           └── mosby3
    │           │               └── mvi
    │           │                   └── integrationtest
    │           │                       ├── backstack
    │           │                       │   ├── BackstackActivity.java
    │           │                       │   ├── first
    │           │                       │   │   ├── FirstMviFragment.java
    │           │                       │   │   ├── FirstPresenter.java
    │           │                       │   │   └── FirstView.java
    │           │                       │   └── second
    │           │                       │       ├── SecondMviFragment.java
    │           │                       │       ├── SecondPresenter.java
    │           │                       │       └── SecondView.java
    │           │                       ├── eager
    │           │                       │   ├── EagerPresenter.java
    │           │                       │   ├── EagerViewActivity.java
    │           │                       │   └── EagerView.java
    │           │                       └── lifecycle
    │           │                           ├── activity
    │           │                           │   ├── MviFinishInOnCreateActivity.java
    │           │                           │   ├── MviFinishInOnStartActivity.java
    │           │                           │   └── MviLifecycleActivity.java
    │           │                           ├── fragment
    │           │                           │   ├── backstack
    │           │                           │   │   ├── FirstBackstackMviLifecycleFragment.java
    │           │                           │   │   ├── MviLifecycleBackstackActivity.java
    │           │                           │   │   └── SecondBackstackMviLifecycleFragment.java
    │           │                           │   ├── childfragment
    │           │                           │   │   ├── ContainerMviLifecycleFragment.java
    │           │                           │   │   ├── MviLifecycleChildFragmentActivity.java
    │           │                           │   │   └── MviLifecycleChildFragment.java
    │           │                           │   ├── MviFinishOnCreateContainerActivity.java
    │           │                           │   ├── MviFinishOnCreateFragment.java
    │           │                           │   ├── MviFinishOnStartContainerActivity.java
    │           │                           │   ├── MviFinishOnStartFragment.java
    │           │                           │   ├── RetainingFragmentContainerActivity.java
    │           │                           │   ├── SimpleFragmentContainerActivity.java
    │           │                           │   ├── SimpleMviLifecycleFragment.java
    │           │                           │   └── SimpleRetainingMviLifecycleFragment.java
    │           │                           ├── LifecycleTestPresenter.java
    │           │                           ├── LifecycleTestView.java
    │           │                           └── viewgroup
    │           │                               ├── MviViewGroupContainerActivity.java
    │           │                               ├── TestMviFrameLayout.java
    │           │                               ├── ViewGroupFinishOnCreateContainerActivity.java
    │           │                               ├── ViewGroupFinishOnCreateLayout.java
    │           │                               └── ViewGroupFinishOnStartContainerActivity.java
    │           └── res
    │               ├── layout
    │               │   ├── activity_backstack_mvi_container.xml
    │               │   ├── activity_backstack.xml
    │               │   ├── activity_child_mvi_container.xml
    │               │   ├── activity_eager_view.xml
    │               │   ├── activity_lifecycle.xml
    │               │   ├── activity_view_group_finish_on_create_container.xml
    │               │   ├── activity_viewgroup_mvi.xml
    │               │   ├── content_backstack.xml
    │               │   ├── fragment_backstack_first.xml
    │               │   ├── fragment_backstack_second.xml
    │               │   ├── fragment_child_mvi_container.xml
    │               │   └── fragment_mvi.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
    │               │   ├── colors.xml
    │               │   ├── dimens.xml
    │               │   ├── strings.xml
    │               │   └── styles.xml
    │               └── values-w820dp
    │                   └── dimens.xml
    ├── mvp
    │   ├── build.gradle
    │   ├── findbugs-filter.xml
    │   ├── gradle.properties
    │   ├── proguard-rules.pro
    │   └── src
    │       ├── main
    │       │   ├── AndroidManifest.xml
    │       │   └── java
    │       │       └── com
    │       │           └── hannesdorfmann
    │       │               └── mosby3
    │       │                   └── mvp
    │       │                       ├── delegate
    │       │                       │   ├── ActivityMvpDelegateImpl.java
    │       │                       │   ├── ActivityMvpDelegate.java
    │       │                       │   ├── FragmentMvpDelegateImpl.java
    │       │                       │   ├── FragmentMvpDelegate.java
    │       │                       │   ├── MvpDelegateCallback.java
    │       │                       │   ├── ViewGroupDelegateCallback.java
    │       │                       │   ├── ViewGroupMvpDelegateImpl.java
    │       │                       │   └── ViewGroupMvpDelegate.java
    │       │                       ├── layout
    │       │                       │   ├── MvpFrameLayout.java
    │       │                       │   ├── MvpLinearLayout.java
    │       │                       │   └── MvpRelativeLayout.java
    │       │                       ├── MvpActivity.java
    │       │                       ├── MvpBasePresenter.java
    │       │                       ├── MvpDialogFragment.java
    │       │                       └── MvpFragment.java
    │       └── test
    │           └── java
    │               └── com
    │                   └── hannesdorfmann
    │                       └── mosby3
    │                           └── mvp
    │                               ├── delegate
    │                               │   ├── ActivityMvpDelegateImplTest.java
    │                               │   ├── BundleMocker.java
    │                               │   ├── FragmentMvpDelegateImplTest.java
    │                               │   ├── FragmentMvpDelegateUiLessMvpFragmentTest.java
    │                               │   ├── PartialMvpDelegateCallbackImpl.java
    │                               │   ├── PartialViewGroupMvpDelegateCallbackImpl.java
    │                               │   └── ViewGroupMvpDelegateImplTest.java
    │                               └── MvpBasePresenterTest.java
    ├── mvp-common
    │   ├── build.gradle
    │   ├── gradle.properties
    │   └── src
    │       └── main
    │           └── java
    │               └── com
    │                   └── hannesdorfmann
    │                       └── mosby3
    │                           └── mvp
    │                               ├── MvpPresenter.java
    │                               └── MvpView.java
    ├── mvp-lce
    │   ├── build.gradle
    │   ├── gradle.properties
    │   ├── proguard-rules.pro
    │   └── src
    │       ├── main
    │       │   ├── AndroidManifest.xml
    │       │   ├── java
    │       │   │   └── com
    │       │   │       └── hannesdorfmann
    │       │   │           └── mosby3
    │       │   │               └── mvp
    │       │   │                   ├── lce
    │       │   │                   │   ├── LceAnimator.java
    │       │   │                   │   ├── MvpLceActivity.java
    │       │   │                   │   ├── MvpLceDialogFragment.java
    │       │   │                   │   ├── MvpLceFragment.java
    │       │   │                   │   └── MvpLceView.java
    │       │   │                   └── viewstate
    │       │   │                       └── lce
    │       │   │                           ├── AbsLceViewState.java
    │       │   │                           ├── AbsParcelableLceViewState.java
    │       │   │                           ├── data
    │       │   │                           │   ├── ArrayListLceViewState.java
    │       │   │                           │   ├── CastedArrayListLceViewState.java
    │       │   │                           │   ├── ParcelableDataLceViewState.java
    │       │   │                           │   ├── ParcelableListLceViewState.java
    │       │   │                           │   ├── RetainingLceViewState.java
    │       │   │                           │   ├── SerializeableLceViewState.java
    │       │   │                           │   └── VoidViewState.java
    │       │   │                           ├── LceViewState.java
    │       │   │                           ├── MvpLceViewStateActivity.java
    │       │   │                           ├── MvpLceViewStateDialogFragment.java
    │       │   │                           ├── MvpLceViewStateFragment.java
    │       │   │                           └── ParcelableLceViewState.java
    │       │   └── res
    │       │       └── values
    │       │           ├── dimen.xml
    │       │           ├── ids.xml
    │       │           └── integers.xml
    │       └── test
    │           └── java
    │               └── com
    │                   └── hannesdorfmann
    │                       └── mosby3
    │                           └── mvp
    │                               └── viewstate
    │                                   └── LceViewStateTest.java
    ├── mvp-nullobject-presenter
    │   ├── build.gradle
    │   ├── gradle.properties
    │   └── src
    │       ├── main
    │       │   ├── java
    │       │   │   └── com
    │       │   │       └── hannesdorfmann
    │       │   │           └── mosby3
    │       │   │               └── mvp
    │       │   │                   ├── Defaults.java
    │       │   │                   ├── MvpNullObjectBasePresenter.java
    │       │   │                   └── NoOp.java
    │       │   └── resources
    │       │       └── META-INF
    │       │           └── proguard
    │       │               └── mvp-nullobject-presenter.pro
    │       └── test
    │           └── java
    │               └── com
    │                   └── hannesdorfmann
    │                       └── mosby3
    │                           └── mvp
    │                               ├── MvpNullObjectBasePresenterTest.java
    │                               ├── regression159
    │                               │   ├── Article.java
    │                               │   ├── BaseDataPresenter.java
    │                               │   ├── BaseListArticlesPresenter.java
    │                               │   ├── BaseListMvp.java
    │                               │   ├── BaseMvpView.java
    │                               │   ├── BasePresenter.java
    │                               │   ├── MvpNullObjectBasePresenterRegression159Test.java
    │                               │   ├── RecentArticles.java
    │                               │   └── RecentArticlesPresenter.java
    │                               └── test
    │                                   ├── data
    │                                   │   └── TestData.java
    │                                   ├── interfaces
    │                                   │   ├── BarInterface.java
    │                                   │   └── FooInterface.java
    │                                   ├── presenter
    │                                   │   ├── NullObjectMvpPresenter.java
    │                                   │   ├── ParameterlessConstructorMvpPresenter.java
    │                                   │   ├── SubMvpPresenter.java
    │                                   │   ├── SubParameterlessConstructorMvpPresenter.java
    │                                   │   └── UselessGenericParamsMvpPresenter.java
    │                                   └── view
    │                                       ├── AnotherMvpView.java
    │                                       ├── SubMvpView.java
    │                                       ├── TestMvpView.java
    │                                       └── TestMvpViewWithMultipleInterfaces.java
    ├── mvp-queuing-presenter
    │   ├── build.gradle
    │   ├── gradle.properties
    │   ├── proguard-rules.pro
    │   └── src
    │       ├── main
    │       │   └── java
    │       │       └── com
    │       │           └── hannesdorfmann
    │       │               └── mosby3
    │       │                   └── mvp
    │       │                       └── MvpQueuingBasePresenter.java
    │       └── test
    │           └── java
    │               └── com
    │                   └── hannesdorfmann
    │                       └── mosby3
    │                           └── mvp
    │                               ├── MvpQueuingBasePresenterTest.java
    │                               ├── TestPresenter.java
    │                               └── TestView.java
    ├── presentermanager
    │   ├── build.gradle
    │   ├── findbugs-filter.xml
    │   ├── gradle.properties
    │   ├── proguard-rules.pro
    │   └── src
    │       ├── main
    │       │   ├── AndroidManifest.xml
    │       │   └── java
    │       │       └── com
    │       │           └── hannesdorfmann
    │       │               └── mosby3
    │       │                   ├── ActivityScopedCache.java
    │       │                   ├── MosbySavedState.java
    │       │                   └── PresenterManager.java
    │       └── test
    │           └── java
    │               └── com
    │                   └── hannesdorfmann
    │                       └── mosby3
    │                           ├── MockApplication.java
    │                           └── PresenterManagerTest.java
    ├── README.md
    ├── sample
    │   ├── build.gradle
    │   ├── proguard-rules.pro
    │   ├── README.md
    │   └── src
    │       ├── debug
    │       │   └── res
    │       │       ├── drawable-hdpi
    │       │       │   └── leak_canary_icon.png
    │       │       ├── drawable-mdpi
    │       │       │   └── leak_canary_icon.png
    │       │       ├── drawable-xhdpi
    │       │       │   └── leak_canary_icon.png
    │       │       ├── drawable-xxhdpi
    │       │       │   └── leak_canary_icon.png
    │       │       ├── drawable-xxxhdpi
    │       │       │   └── leak_canary_icon.png
    │       │       └── values
    │       │           └── strings.xml
    │       └── main
    │           ├── AndroidManifest.xml
    │           ├── java
    │           │   └── com
    │           │       └── hannesdorfmann
    │           │           └── mosby3
    │           │               └── sample
    │           │                   ├── FragmentContainerActivity.java
    │           │                   ├── MainActivity.java
    │           │                   ├── mvp
    │           │                   │   ├── CountriesAdapter.java
    │           │                   │   ├── CountriesErrorMessage.java
    │           │                   │   ├── CountriesPresenter.java
    │           │                   │   ├── CountriesView.java
    │           │                   │   ├── customviewstate
    │           │                   │   │   ├── MyCustomActivity.java
    │           │                   │   │   ├── MyCustomFragment.java
    │           │                   │   │   ├── MyCustomPresenter.java
    │           │                   │   │   ├── MyCustomView.java
    │           │                   │   │   └── MyCustomViewState.java
    │           │                   │   ├── lce
    │           │                   │   │   ├── activity
    │           │                   │   │   │   └── CountriesActivity.java
    │           │                   │   │   ├── fragment
    │           │                   │   │   │   └── CountriesFragment.java
    │           │                   │   │   ├── layout
    │           │                   │   │   │   ├── CountriesLayoutActivity.java
    │           │                   │   │   │   └── CountriesLayout.java
    │           │                   │   │   ├── SimpleCountriesPresenter.java
    │           │                   │   │   ├── viewpager
    │           │                   │   │   │   └── ViewPagerActivity.java
    │           │                   │   │   └── viewstate
    │           │                   │   │       ├── nested
    │           │                   │   │       │   ├── NestedFragment.java
    │           │                   │   │       │   └── NestedViewPagerFragment.java
    │           │                   │   │       ├── NotRetainingCountriesActivity.java
    │           │                   │   │       ├── NotRetainingCountriesFragment.java
    │           │                   │   │       ├── RetainingCountriesActivity.java
    │           │                   │   │       ├── RetainingCountriesFragmentEmbededInXmlActivity.java
    │           │                   │   │       └── RetainingCountriesFragment.java
    │           │                   │   └── model
    │           │                   │       ├── CountriesAsyncLoader.java
    │           │                   │       ├── CountryApi.java
    │           │                   │       ├── Country.java
    │           │                   │       └── custom
    │           │                   │           ├── A.java
    │           │                   │           └── B.java
    │           │                   └── SampleApplication.java
    │           └── res
    │               ├── drawable-hdpi
    │               │   └── ic_cloud_off.png
    │               ├── drawable-mdpi
    │               │   └── ic_cloud_off.png
    │               ├── drawable-xhdpi
    │               │   └── ic_cloud_off.png
    │               ├── drawable-xxhdpi
    │               │   └── ic_cloud_off.png
    │               ├── drawable-xxxhdpi
    │               │   └── ic_cloud_off.png
    │               ├── layout
    │               │   ├── activity_embedded_fragment.xml
    │               │   ├── activity_fragment_container.xml
    │               │   ├── activity_main.xml
    │               │   ├── activity_viewpager.xml
    │               │   ├── countries_list.xml
    │               │   ├── countries_mvp_layout.xml
    │               │   ├── error_view.xml
    │               │   ├── fragment_nested_container.xml
    │               │   ├── fragment_nested_viewpager.xml
    │               │   ├── loading_view.xml
    │               │   ├── my_custom_view.xml
    │               │   └── row_text.xml
    │               ├── menu
    │               │   └── menu_main.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
    │               └── values-w820dp
    │                   └── dimens.xml
    ├── sample-mail
    │   ├── build.gradle
    │   ├── findbugs-filter.xml
    │   ├── libs
    │   │   └── easyandroidanimationslibrary-v0.5.jar
    │   ├── proguard-rules.pro
    │   ├── README.md
    │   └── src
    │       ├── debug
    │       │   └── res
    │       │       ├── drawable-hdpi
    │       │       │   └── leak_canary_icon.png
    │       │       ├── drawable-mdpi
    │       │       │   └── leak_canary_icon.png
    │       │       ├── drawable-xhdpi
    │       │       │   └── leak_canary_icon.png
    │       │       ├── drawable-xxhdpi
    │       │       │   └── leak_canary_icon.png
    │       │       ├── drawable-xxxhdpi
    │       │       │   └── leak_canary_icon.png
    │       │       └── values
    │       │           └── strings.xml
    │       ├── main
    │       │   ├── AndroidManifest.xml
    │       │   ├── java
    │       │   │   └── com
    │       │   │       └── hannesdorfmann
    │       │   │           └── mosby3
    │       │   │               └── sample
    │       │   │                   └── mail
    │       │   │                       ├── base
    │       │   │                       │   ├── presenter
    │       │   │                       │   │   ├── BaseRxAuthPresenter.java
    │       │   │                       │   │   ├── BaseRxLcePresenter.java
    │       │   │                       │   │   └── BaseRxMailPresenter.java
    │       │   │                       │   └── view
    │       │   │                       │       ├── AuthFragment.java
    │       │   │                       │       ├── AuthRefreshFragment.java
    │       │   │                       │       ├── AuthRefreshRecyclerFragment.java
    │       │   │                       │       ├── AuthView.java
    │       │   │                       │       ├── BaseActivity.java
    │       │   │                       │       ├── BaseFragment.java
    │       │   │                       │       ├── BaseLceActivity.java
    │       │   │                       │       ├── BaseLceFragment.java
    │       │   │                       │       ├── BaseMailsFragment.java
    │       │   │                       │       ├── BaseMailView.java
    │       │   │                       │       ├── BaseViewStateActivity.java
    │       │   │                       │       ├── BaseViewStateFragment.java
    │       │   │                       │       ├── ListAdapter.java
    │       │   │                       │       └── viewstate
    │       │   │                       │           ├── AuthCastedArrayListViewState.java
    │       │   │                       │           ├── AuthParcelableDataViewState.java
    │       │   │                       │           └── AuthViewState.java
    │       │   │                       ├── dagger
    │       │   │                       │   ├── ContacsModule.java
    │       │   │                       │   ├── MailAppComponent.java
    │       │   │                       │   ├── MailModule.java
    │       │   │                       │   └── NavigationModule.java
    │       │   │                       ├── details
    │       │   │                       │   ├── DetailsActivity.java
    │       │   │                       │   ├── DetailsComponent.java
    │       │   │                       │   ├── DetailsFragment.java
    │       │   │                       │   ├── DetailsPresenter.java
    │       │   │                       │   └── DetailsView.java
    │       │   │                       ├── IntentStarter.java
    │       │   │                       ├── label
    │       │   │                       │   ├── LabelAdapter.java
    │       │   │                       │   ├── LabelLayoutComponent.java
    │       │   │                       │   ├── LabelLayout.java
    │       │   │                       │   ├── LabelPresenter.java
    │       │   │                       │   ├── LabelView.java
    │       │   │                       │   └── LabelViewState.java
    │       │   │                       ├── login
    │       │   │                       │   ├── LoginActivity.java
    │       │   │                       │   ├── LoginComponent.java
    │       │   │                       │   ├── LoginFragment.java
    │       │   │                       │   ├── LoginPresenter.java
    │       │   │                       │   ├── LoginView.java
    │       │   │                       │   └── LoginViewState.java
    │       │   │                       ├── MailApplication.java
    │       │   │                       ├── mails
    │       │   │                       │   ├── MailsAdapter.java
    │       │   │                       │   ├── MailsComponent.java
    │       │   │                       │   ├── MailsFragment.java
    │       │   │                       │   ├── MailsPresenter.java
    │       │   │                       │   └── MailsView.java
    │       │   │                       ├── MainActivityComponent.java
    │       │   │                       ├── MainActivity.java
    │       │   │                       ├── menu
    │       │   │                       │   ├── MenuAdapter.java
    │       │   │                       │   ├── MenuComponent.java
    │       │   │                       │   ├── MenuFragment.java
    │       │   │                       │   ├── MenuPresenter.java
    │       │   │                       │   ├── MenuView.java
    │       │   │                       │   └── MenuViewState.java
    │       │   │                       ├── model
    │       │   │                       │   ├── account
    │       │   │                       │   │   ├── Account.java
    │       │   │                       │   │   ├── AccountManager.java
    │       │   │                       │   │   ├── AuthCredentials.java
    │       │   │                       │   │   ├── DefaultAccountManager.java
    │       │   │                       │   │   ├── LoginException.java
    │       │   │                       │   │   └── NotAuthenticatedException.java
    │       │   │                       │   ├── contact
    │       │   │                       │   │   ├── ContactsManager.java
    │       │   │                       │   │   ├── Person.java
    │       │   │                       │   │   └── ProfileScreen.java
    │       │   │                       │   ├── event
    │       │   │                       │   │   ├── LoginSuccessfulEvent.java
    │       │   │                       │   │   ├── MailLabelChangedEvent.java
    │       │   │                       │   │   ├── MailReadEvent.java
    │       │   │                       │   │   ├── MailReceivedEvent.java
    │       │   │                       │   │   ├── MailSentErrorEvent.java
    │       │   │                       │   │   ├── MailSentEvent.java
    │       │   │                       │   │   ├── MailStaredEvent.java
    │       │   │                       │   │   ├── MailUnstaredEvent.java
    │       │   │                       │   │   └── NotAuthenticatedEvent.java
    │       │   │                       │   └── mail
    │       │   │                       │       ├── Label.java
    │       │   │                       │       ├── MailComparator.java
    │       │   │                       │       ├── MailGenerator.java
    │       │   │                       │       ├── Mail.java
    │       │   │                       │       ├── MailProvider.java
    │       │   │                       │       ├── NotFoundException.java
    │       │   │                       │       ├── RandomMailGenerator.java
    │       │   │                       │       ├── receiver
    │       │   │                       │       │   └── MailReceiver.java
    │       │   │                       │       ├── service
    │       │   │                       │       │   ├── GcmFakeIntentService.java
    │       │   │                       │       │   ├── SendMailService.java
    │       │   │                       │       │   └── ServiceComponent.java
    │       │   │                       │       └── statistics
    │       │   │                       │           ├── MailsCount.java
    │       │   │                       │           └── MailStatistics.java
    │       │   │                       ├── profile
    │       │   │                       │   ├── about
    │       │   │                       │   │   └── AboutFragment.java
    │       │   │                       │   ├── mails
    │       │   │                       │   │   ├── ProfileMailsComponent.java
    │       │   │                       │   │   ├── ProfileMailsFragment.java
    │       │   │                       │   │   ├── ProfileMailsPresenter.java
    │       │   │                       │   │   └── ProfileMailsView.java
    │       │   │                       │   ├── ProfileActivity.java
    │       │   │                       │   ├── ProfileComponent.java
    │       │   │                       │   ├── ProfilePresenter.java
    │       │   │                       │   ├── ProfileScreensAdapter.java
    │       │   │                       │   └── ProfileView.java
    │       │   │                       ├── search
    │       │   │                       │   ├── SearchActivity.java
    │       │   │                       │   ├── SearchComponent.java
    │       │   │                       │   ├── SearchFragment.java
    │       │   │                       │   ├── SearchPresenter.java
    │       │   │                       │   ├── SearchResultAdapter.java
    │       │   │                       │   ├── SearchView.java
    │       │   │                       │   └── SearchViewState.java
    │       │   │                       ├── statistics
    │       │   │                       │   ├── StatisticsAdapter.java
    │       │   │                       │   ├── StatisticsComponent.java
    │       │   │                       │   ├── StatisticsDialog.java
    │       │   │                       │   ├── StatisticsPresenter.java
    │       │   │                       │   └── StatisticsView.java
    │       │   │                       ├── ui
    │       │   │                       │   ├── event
    │       │   │                       │   │   ├── ShowMailDetailsEvent.java
    │       │   │                       │   │   └── ShowMailsOfLabelEvent.java
    │       │   │                       │   ├── transition
    │       │   │                       │   │   ├── ExcludedExplodeTransition.java
    │       │   │                       │   │   ├── ExplodeFadeEnterTransition.java
    │       │   │                       │   │   ├── ExplodeFadeExitTransition.java
    │       │   │                       │   │   ├── PauseableAnimator.java
    │       │   │                       │   │   ├── RevealTransition.java
    │       │   │                       │   │   ├── RevealVisibilityTransition.java
    │       │   │                       │   │   ├── TextSizeEnterSharedElementCallback.java
    │       │   │                       │   │   └── TextSizeTransition.java
    │       │   │                       │   └── view
    │       │   │                       │       └── StarView.java
    │       │   │                       ├── utils
    │       │   │                       │   ├── BuildUtils.java
    │       │   │                       │   ├── DimensUtils.java
    │       │   │                       │   ├── KeyboardUtils.java
    │       │   │                       │   ├── MathUtils.java
    │       │   │                       │   └── SimpleAdapter.java
    │       │   │                       └── write
    │       │   │                           ├── WriteActivity.java
    │       │   │                           ├── WriteComponent.java
    │       │   │                           ├── WritePresenter.java
    │       │   │                           ├── WriteView.java
    │       │   │                           └── WriteViewState.java
    │       │   └── res
    │       │       ├── anim
    │       │       │   ├── fade_in.xml
    │       │       │   ├── fade_out.xml
    │       │       │   ├── pulse.xml
    │       │       │   ├── shake_interpolator.xml
    │       │       │   ├── shake.xml
    │       │       │   └── zoom_out.xml
    │       │       ├── color
    │       │       │   └── label_layout_button.xml
    │       │       ├── drawable
    │       │       │   ├── barney.jpeg
    │       │       │   ├── label_view_background.xml
    │       │       │   ├── lily.jpg
    │       │       │   ├── marshall.jpeg
    │       │       │   ├── menu_unread_count.xml
    │       │       │   ├── profile_background.jpg
    │       │       │   ├── robin.jpg
    │       │       │   ├── ted.jpg
    │       │       │   ├── text_cursor.xml
    │       │       │   └── unknown.jpg
    │       │       ├── drawable-hdpi
    │       │       │   ├── ic_action_back.png
    │       │       │   ├── ic_all_done.png
    │       │       │   ├── ic_cloud_off.png
    │       │       │   ├── ic_create.png
    │       │       │   ├── ic_delete.png
    │       │       │   ├── ic_inbox.png
    │       │       │   ├── ic_password.png
    │       │       │   ├── ic_reply.png
    │       │       │   ├── ic_search.png
    │       │       │   ├── ic_send.png
    │       │       │   ├── ic_spam.png
    │       │       │   ├── ic_star.png
    │       │       │   ├── ic_statistics.png
    │       │       │   ├── ic_username.png
    │       │       │   └── vertical_shadow_separator.9.png
    │       │       ├── drawable-mdpi
    │       │       │   ├── ic_action_back.png
    │       │       │   ├── ic_all_done.png
    │       │       │   ├── ic_cloud_off.png
    │       │       │   ├── ic_create.png
    │       │       │   ├── ic_delete.png
    │       │       │   ├── ic_inbox.png
    │       │       │   ├── ic_password.png
    │       │       │   ├── ic_reply.png
    │       │       │   ├── ic_search.png
    │       │       │   ├── ic_send.png
    │       │       │   ├── ic_spam.png
    │       │       │   ├── ic_star.png
    │       │       │   ├── ic_statistics.png
    │       │       │   ├── ic_username.png
    │       │       │   └── vertical_shadow_separator.9.png
    │       │       ├── drawable-xhdpi
    │       │       │   ├── ic_action_back.png
    │       │       │   ├── ic_all_done.png
    │       │       │   ├── ic_cloud_off.png
    │       │       │   ├── ic_create.png
    │       │       │   ├── ic_delete.png
    │       │       │   ├── ic_inbox.png
    │       │       │   ├── ic_password.png
    │       │       │   ├── ic_reply.png
    │       │       │   ├── ic_search.png
    │       │       │   ├── ic_send.png
    │       │       │   ├── ic_spam.png
    │       │       │   ├── ic_star.png
    │       │       │   ├── ic_statistics.png
    │       │       │   ├── ic_username.png
    │       │       │   └── vertical_shadow_separator.9.png
    │       │       ├── drawable-xxhdpi
    │       │       │   ├── ic_action_back.png
    │       │       │   ├── ic_all_done.png
    │       │       │   ├── ic_cloud_off.png
    │       │       │   ├── ic_create.png
    │       │       │   ├── ic_delete.png
    │       │       │   ├── ic_inbox.png
    │       │       │   ├── ic_password.png
    │       │       │   ├── ic_reply.png
    │       │       │   ├── ic_search.png
    │       │       │   ├── ic_send.png
    │       │       │   ├── ic_spam.png
    │       │       │   ├── ic_star.png
    │       │       │   ├── ic_statistics.png
    │       │       │   ├── ic_username.png
    │       │       │   └── vertical_shadow_separator.9.png
    │       │       ├── drawable-xxxhdpi
    │       │       │   ├── ic_all_done.png
    │       │       │   ├── ic_cloud_off.png
    │       │       │   ├── ic_create.png
    │       │       │   ├── ic_delete.png
    │       │       │   ├── ic_inbox.png
    │       │       │   ├── ic_password.png
    │       │       │   ├── ic_reply.png
    │       │       │   ├── ic_search.png
    │       │       │   ├── ic_send.png
    │       │       │   ├── ic_spam.png
    │       │       │   ├── ic_star.png
    │       │       │   ├── ic_statistics.png
    │       │       │   └── ic_username.png
    │       │       ├── layout
    │       │       │   ├── activity_login.xml
    │       │       │   ├── activity_mail_details.xml
    │       │       │   ├── activity_main.xml
    │       │       │   ├── activity_profile.xml
    │       │       │   ├── activity_search.xml
    │       │       │   ├── activity_write.xml
    │       │       │   ├── fragment_about.xml
    │       │       │   ├── fragment_login.xml
    │       │       │   ├── fragment_mail_details.xml
    │       │       │   ├── fragment_mails_base.xml
    │       │       │   ├── fragment_mails.xml
    │       │       │   ├── fragment_menu.xml
    │       │       │   ├── fragment_search.xml
    │       │       │   ├── fragment_statistics.xml
    │       │       │   ├── list_labelview_item.xml
    │       │       │   ├── list_load_more.xml
    │       │       │   ├── list_mail_item.xml
    │       │       │   ├── list_menu_item.xml
    │       │       │   ├── list_menu_statistics.xml
    │       │       │   ├── list_statistics.xml
    │       │       │   ├── merge_mails.xml
    │       │       │   ├── merge_main_split_pane.xml
    │       │       │   ├── view_authentication_required.xml
    │       │       │   ├── view_error.xml
    │       │       │   ├── view_label_layout.xml
    │       │       │   └── view_loading.xml
    │       │       ├── layout-sw600dp
    │       │       │   ├── activity_mail_details.xml
    │       │       │   └── merge_main_split_pane.xml
    │       │       ├── menu
    │       │       │   └── search_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
    │       │       │   ├── booleans.xml
    │       │       │   ├── colors.xml
    │       │       │   ├── dimens.xml
    │       │       │   ├── integers.xml
    │       │       │   ├── strings.xml
    │       │       │   └── styles.xml
    │       │       ├── values-land
    │       │       │   └── dimens.xml
    │       │       ├── values-sw360dp
    │       │       │   └── dimens.xml
    │       │       ├── values-sw384dp
    │       │       │   └── dimens.xml
    │       │       ├── values-sw600dp
    │       │       │   ├── booleans.xml
    │       │       │   ├── dimens.xml
    │       │       │   └── values.xml
    │       │       ├── values-v21
    │       │       │   └── styles.xml
    │       │       └── values-w820dp
    │       │           └── dimens.xml
    │       └── test
    │           └── java
    │               └── com
    │                   └── hannesdorfmann
    │                       └── mosby3
    │                           └── sample
    │                               └── mail
    │                                   ├── login
    │                                   │   └── LoginViewStateTest.java
    │                                   └── model
    │                                       ├── account
    │                                       │   └── DefaultAccountManagerTest.java
    │                                       └── mail
    │                                           ├── MailProviderTest.java
    │                                           ├── TestAccountManager.java
    │                                           └── TestMailGenerator.java
    ├── sample-mvi
    │   ├── build.gradle
    │   ├── proguard-rules.pro
    │   ├── README.md
    │   ├── server
    │   │   ├── api
    │   │   │   ├── products0.json
    │   │   │   ├── products1.json
    │   │   │   ├── products2.json
    │   │   │   ├── products3.json
    │   │   │   └── products4.json
    │   │   └── images
    │   │       ├── 10.jpg
    │   │       ├── 11.jpg
    │   │       ├── 12.jpg
    │   │       ├── 13.jpg
    │   │       ├── 14.jpg
    │   │       ├── 15.jpg
    │   │       ├── 16.jpg
    │   │       ├── 17.jpg
    │   │       ├── 18.jpg
    │   │       ├── 19.jpg
    │   │       ├── -1.jpg
    │   │       ├── 1.jpg
    │   │       ├── 20.jpg
    │   │       ├── 21.jpg
    │   │       ├── 22.jpg
    │   │       ├── 23.jpg
    │   │       ├── 24.jpg
    │   │       ├── 25.jpg
    │   │       ├── 26.jpg
    │   │       ├── 27.jpg
    │   │       ├── 28.jpg
    │   │       ├── 29.jpg
    │   │       ├── -2.jpg
    │   │       ├── 2.jpg
    │   │       ├── 30.jpg
    │   │       ├── 31.jpg
    │   │       ├── 32.jpg
    │   │       ├── 33.jpg
    │   │       ├── 34.jpg
    │   │       ├── -3.jpg
    │   │       ├── 3.jpg
    │   │       ├── -4.jpg
    │   │       ├── 4.jpg
    │   │       ├── -5.jpg
    │   │       ├── 5.jpg
    │   │       ├── -6.jpg
    │   │       ├── 6.jpg
    │   │       ├── 7.jpg
    │   │       ├── 8.jpg
    │   │       └── 9.jpg
    │   └── src
    │       ├── debug
    │       │   └── res
    │       │       ├── drawable-hdpi
    │       │       │   └── leak_canary_icon.png
    │       │       ├── drawable-mdpi
    │       │       │   └── leak_canary_icon.png
    │       │       ├── drawable-xhdpi
    │       │       │   └── leak_canary_icon.png
    │       │       ├── drawable-xxhdpi
    │       │       │   └── leak_canary_icon.png
    │       │       ├── drawable-xxxhdpi
    │       │       │   └── leak_canary_icon.png
    │       │       └── values
    │       │           └── strings.xml
    │       ├── main
    │       │   ├── AndroidManifest.xml
    │       │   ├── ic_launcher-web.png
    │       │   ├── java
    │       │   │   └── com
    │       │   │       └── hannesdorfmann
    │       │   │           └── mosby3
    │       │   │               └── sample
    │       │   │                   └── mvi
    │       │   │                       ├── businesslogic
    │       │   │                       │   ├── feed
    │       │   │                       │   │   ├── GroupedPagedFeedLoader.java
    │       │   │                       │   │   ├── HomeFeedLoader.java
    │       │   │                       │   │   └── PagingFeedLoader.java
    │       │   │                       │   ├── http
    │       │   │                       │   │   ├── ProductBackendApiDecorator.java
    │       │   │                       │   │   └── ProductBackendApi.java
    │       │   │                       │   ├── interactor
    │       │   │                       │   │   ├── details
    │       │   │                       │   │   │   ├── DetailsInteractor.java
    │       │   │                       │   │   │   └── ProductDetailsViewState.java
    │       │   │                       │   │   └── search
    │       │   │                       │   │       ├── SearchInteractor.java
    │       │   │                       │   │       └── SearchViewState.java
    │       │   │                       │   ├── model
    │       │   │                       │   │   ├── AdditionalItemsLoadable.java
    │       │   │                       │   │   ├── FeedItem.java
    │       │   │                       │   │   ├── MainMenuItem.java
    │       │   │                       │   │   ├── ProductDetail.java
    │       │   │                       │   │   ├── Product.java
    │       │   │                       │   │   └── SectionHeader.java
    │       │   │                       │   ├── searchengine
    │       │   │                       │   │   └── SearchEngine.java
    │       │   │                       │   └── ShoppingCart.java
    │       │   │                       ├── dependencyinjection
    │       │   │                       │   └── DependencyInjection.java
    │       │   │                       ├── MainActivity.java
    │       │   │                       ├── SampleApplication.java
    │       │   │                       └── view
    │       │   │                           ├── category
    │       │   │                           │   ├── CategoryAdapter.java
    │       │   │                           │   ├── CategoryFragment.java
    │       │   │                           │   ├── CategoryPresenter.java
    │       │   │                           │   ├── CategoryView.java
    │       │   │                           │   └── CategoryViewState.java
    │       │   │                           ├── checkoutbutton
    │       │   │                           │   ├── CheckoutButton.java
    │       │   │                           │   ├── CheckoutButtonPresenter.java
    │       │   │                           │   └── CheckoutButtonView.java
    │       │   │                           ├── detail
    │       │   │                           │   ├── ProductDetailsActivity.java
    │       │   │                           │   ├── ProductDetailsPresenter.java
    │       │   │                           │   └── ProductDetailsView.java
    │       │   │                           ├── home
    │       │   │                           │   ├── HomeAdapter.java
    │       │   │                           │   ├── HomeFragment.java
    │       │   │                           │   ├── HomePresenter.java
    │       │   │                           │   ├── HomeView.java
    │       │   │                           │   ├── HomeViewState.java
    │       │   │                           │   └── PartialStateChanges.java
    │       │   │                           ├── menu
    │       │   │                           │   ├── MainMenuAdapter.java
    │       │   │                           │   ├── MainMenuLayout.java
    │       │   │                           │   ├── MainMenuPresenter.java
    │       │   │                           │   ├── MainMenuView.java
    │       │   │                           │   └── MenuViewState.java
    │       │   │                           ├── search
    │       │   │                           │   ├── SearchAdapter.java
    │       │   │                           │   ├── SearchFragment.java
    │       │   │                           │   ├── SearchPresenter.java
    │       │   │                           │   └── SearchView.java
    │       │   │                           ├── selectedcounttoolbar
    │       │   │                           │   ├── SelectedCountToolbar.java
    │       │   │                           │   ├── SelectedCountToolbarPresenter.java
    │       │   │                           │   └── SelectedCountToolbarView.java
    │       │   │                           ├── shoppingcartlabel
    │       │   │                           │   ├── ShoppingCartLabel.java
    │       │   │                           │   ├── ShoppingCartLabelPresenter.java
    │       │   │                           │   └── ShoppingCartLabelView.java
    │       │   │                           ├── shoppingcartoverview
    │       │   │                           │   ├── ShoppingCartOverviewAdapter.java
    │       │   │                           │   ├── ShoppingCartOverviewFragment.java
    │       │   │                           │   ├── ShoppingCartOverviewItem.java
    │       │   │                           │   ├── ShoppingCartOverviewPresenter.java
    │       │   │                           │   └── ShoppingCartOverviewView.java
    │       │   │                           └── ui
    │       │   │                               ├── AspectRatioImageView.java
    │       │   │                               ├── GridSpacingItemDecoration.java
    │       │   │                               └── viewholder
    │       │   │                                   ├── LoadingViewHolder.java
    │       │   │                                   ├── MainMenuViewHolder.java
    │       │   │                                   ├── MoreItemsViewHolder.java
    │       │   │                                   ├── ProductViewHolder.java
    │       │   │                                   ├── SectionHederViewHolder.java
    │       │   │                                   └── ShoppingCartItemViewHolder.java
    │       │   └── res
    │       │       ├── drawable
    │       │       │   ├── main_menu_item_background.xml
    │       │       │   └── side_nav_bar.xml
    │       │       ├── drawable-hdpi
    │       │       │   ├── ic_add_shopping_cart.png
    │       │       │   ├── ic_back_selection_count_toolbar.png
    │       │       │   ├── ic_error.png
    │       │       │   ├── ic_in_shopping_cart.png
    │       │       │   ├── ic_remove.png
    │       │       │   ├── ic_search.png
    │       │       │   ├── ic_search_toolbar.png
    │       │       │   ├── ic_shopping_cart_label.png
    │       │       │   ├── ic_shopping_disabled.png
    │       │       │   ├── ic_shopping_enabled.png
    │       │       │   └── search_big.png
    │       │       ├── drawable-mdpi
    │       │       │   ├── ic_add_shopping_cart.png
    │       │       │   ├── ic_back_selection_count_toolbar.png
    │       │       │   ├── ic_in_shopping_cart.png
    │       │       │   ├── ic_remove.png
    │       │       │   ├── ic_search_toolbar.png
    │       │       │   ├── ic_shopping_cart_label.png
    │       │       │   ├── ic_shopping_disabled.png
    │       │       │   └── ic_shopping_enabled.png
    │       │       ├── drawable-v21
    │       │       │   ├── ic_menu_camera.xml
    │       │       │   ├── ic_menu_gallery.xml
    │       │       │   ├── ic_menu_manage.xml
    │       │       │   ├── ic_menu_send.xml
    │       │       │   ├── ic_menu_share.xml
    │       │       │   └── ic_menu_slideshow.xml
    │       │       ├── drawable-xhdpi
    │       │       │   ├── ic_add_shopping_cart.png
    │       │       │   ├── ic_back_selection_count_toolbar.png
    │       │       │   ├── ic_error.png
    │       │       │   ├── ic_in_shopping_cart.png
    │       │       │   ├── ic_remove.png
    │       │       │   ├── ic_search.png
    │       │       │   ├── ic_search_toolbar.png
    │       │       │   ├── ic_shopping_cart_label.png
    │       │       │   ├── ic_shopping_disabled.png
    │       │       │   ├── ic_shopping_enabled.png
    │       │       │   └── search_big.png
    │       │       ├── drawable-xxhdpi
    │       │       │   ├── ic_add_shopping_cart.png
    │       │       │   ├── ic_back_selection_count_toolbar.png
    │       │       │   ├── ic_error.png
    │       │       │   ├── ic_in_shopping_cart.png
    │       │       │   ├── ic_remove.png
    │       │       │   ├── ic_search.png
    │       │       │   ├── ic_search_toolbar.png
    │       │       │   ├── ic_shopping_cart_label.png
    │       │       │   ├── ic_shopping_disabled.png
    │       │       │   ├── ic_shopping_enabled.png
    │       │       │   └── search_big.png
    │       │       ├── drawable-xxxhdpi
    │       │       │   ├── ic_add_shopping_cart.png
    │       │       │   ├── ic_error.png
    │       │       │   ├── ic_search.png
    │       │       │   ├── ic_shopping_cart_label.png
    │       │       │   └── search_big.png
    │       │       ├── layout
    │       │       │   ├── activity_main.xml
    │       │       │   ├── activity_product_detail.xml
    │       │       │   ├── fragment_category.xml
    │       │       │   ├── fragment_home.xml
    │       │       │   ├── fragment_search.xml
    │       │       │   ├── fragment_shopping_cart.xml
    │       │       │   ├── include_errorview.xml
    │       │       │   ├── item_loading.xml
    │       │       │   ├── item_main_menu.xml
    │       │       │   ├── item_more_available.xml
    │       │       │   ├── item_product.xml
    │       │       │   ├── item_section_header.xml
    │       │       │   ├── item_shopping_cart.xml
    │       │       │   └── view_mainmenu.xml
    │       │       ├── menu
    │       │       │   ├── activity_main_toolbar.xml
    │       │       │   └── shopping_cart_toolbar.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
    │       │       │   ├── colors.xml
    │       │       │   ├── dimens.xml
    │       │       │   ├── drawables.xml
    │       │       │   ├── integers.xml
    │       │       │   ├── strings.xml
    │       │       │   └── styles.xml
    │       │       ├── values-land
    │       │       │   └── integers.xml
    │       │       ├── values-v21
    │       │       │   └── styles.xml
    │       │       └── values-w820dp
    │       │           └── dimens.xml
    │       └── test
    │           └── java
    │               └── com
    │                   └── hannesdorfmann
    │                       └── mosby3
    │                           └── sample
    │                               └── mvi
    │                                   └── view
    │                                       └── home
    │                                           ├── HomePresenterTest.java
    │                                           └── HomeViewRobot.java
    ├── settings.gradle
    ├── utils-fragment
    │   ├── build.gradle
    │   ├── gradle.properties
    │   ├── proguard-rules.pro
    │   └── src
    │       └── main
    │           ├── AndroidManifest.xml
    │           └── java
    │               └── android
    │                   └── support
    │                       └── v4
    │                           └── app
    │                               └── BackstackAccessor.java
    ├── utils-fragment-integration-test
    │   ├── build.gradle
    │   ├── proguard-rules.pro
    │   └── src
    │       ├── androidTest
    │       │   └── java
    │       │       └── com
    │       │           └── hannesdorfmann
    │       │               └── mosby3
    │       │                   └── utils
    │       │                       └── fragment
    │       │                           └── integrationtest
    │       │                               └── backstack
    │       │                                   ├── AddFragmentTransactionActivityTest.java
    │       │                                   ├── BackstackActivityWithChildFragmentsTest.java
    │       │                                   └── ReplaceFragmentTransactionActivityTest.java
    │       └── main
    │           ├── AndroidManifest.xml
    │           ├── java
    │           │   └── com
    │           │       └── hannesdorfmann
    │           │           └── mosby3
    │           │               └── utils
    │           │                   └── fragment
    │           │                       └── integrationtest
    │           │                           └── backstack
    │           │                               ├── AddFragmentTransactionActivity.java
    │           │                               ├── AddTransactionFragment.java
    │           │                               ├── BackstackActivityWithChildFragments.java
    │           │                               ├── ChildChildFragmentOnBackstack.java
    │           │                               ├── ChildFragmentOnBackstack.java
    │           │                               ├── FragmentOnBackstack.java
    │           │                               ├── ReplaceFragmentTransactionActivity.java
    │           │                               ├── ReplaceTransactionFragment.java
    │           │                               ├── SimpleChildChildFragmentNotOnBackstack.java
    │           │                               ├── SimpleChildFragmentNotOnBackstack.java
    │           │                               └── SimpleFragmentNotOnBackstack.java
    │           └── res
    │               ├── layout
    │               │   ├── activity_backstack.xml
    │               │   ├── activity_container.xml
    │               │   ├── fragment_child_child.xml
    │               │   └── fragment_child.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
    │               │   ├── colors.xml
    │               │   ├── dimens.xml
    │               │   ├── strings.xml
    │               │   └── styles.xml
    │               └── values-w820dp
    │                   └── dimens.xml
    └── viewstate
        ├── build.gradle
        ├── findbugs-filter.xml
        ├── gradle.properties
        ├── proguard-rules.pro
        └── src
            ├── main
            │   ├── AndroidManifest.xml
            │   └── java
            │       └── com
            │           └── hannesdorfmann
            │               └── mosby3
            │                   └── mvp
            │                       ├── delegate
            │                       │   ├── ActivityMvpViewStateDelegateImpl.java
            │                       │   ├── FragmentMvpViewStateDelegateImpl.java
            │                       │   ├── MosbyViewStateSavedState.java
            │                       │   ├── MvpViewStateDelegateCallback.java
            │                       │   ├── ViewGroupMvpViewStateDelegateCallback.java
            │                       │   └── ViewGroupMvpViewStateDelegateImpl.java
            │                       └── viewstate
            │                           ├── layout
            │                           │   ├── MvpViewStateFrameLayout.java
            │                           │   ├── MvpViewStateLinearLayout.java
            │                           │   └── MvpViewStateRelativeLayout.java
            │                           ├── MvpViewStateActivity.java
            │                           ├── MvpViewStateFragment.java
            │                           ├── RestorableParcelableViewState.java
            │                           ├── RestorableViewState.java
            │                           └── ViewState.java
            └── test
                └── java
                    └── com
                        └── hannesdorfmann
                            └── mosby3
                                └── mvp
                                    └── delegate
                                        ├── ActivityMvpViewStateDelegateImplTestNew.java
                                        ├── BundleMocker.java
                                        ├── FragmentMvpViewStateDelegateImplTest.java
                                        ├── PartialMvpViewStateDelegateCallbackImpl.java
                                        ├── PartialViewGroupMvpViewStateDelegateCallbackImpl.java
                                        ├── SimpleRestorableViewState.java
                                        └── ViewGroupMvpViewStateDelegateImplTest.java

410 directories, 841 files

网友评论

发表评论

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

查看所有0条评论>>

小贴士

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

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

关于好例子网

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

;
报警