gitextract_jhfjo9q6/ ├── .gitignore ├── .idea/ │ ├── .name │ ├── codeStyleSettings.xml │ ├── compiler.xml │ ├── copyright/ │ │ └── profiles_settings.xml │ ├── gradle.xml │ ├── misc.xml │ ├── modules.xml │ ├── runConfigurations.xml │ └── vcs.xml ├── LICENSE ├── QA/ │ ├── findbugs/ │ │ └── findbugs-filter.xml │ └── quality.gradle ├── README.md ├── app/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── com/ │ │ └── kodelabs/ │ │ └── mycosts/ │ │ └── ApplicationTest.java │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── kodelabs/ │ │ │ └── mycosts/ │ │ │ ├── AndroidApplication.java │ │ │ ├── domain/ │ │ │ │ ├── executor/ │ │ │ │ │ ├── Executor.java │ │ │ │ │ ├── MainThread.java │ │ │ │ │ └── impl/ │ │ │ │ │ └── ThreadExecutor.java │ │ │ │ ├── interactors/ │ │ │ │ │ ├── AddCostInteractor.java │ │ │ │ │ ├── DeleteCostInteractor.java │ │ │ │ │ ├── EditCostInteractor.java │ │ │ │ │ ├── GetAllCostsInteractor.java │ │ │ │ │ ├── GetCostByIdInteractor.java │ │ │ │ │ ├── base/ │ │ │ │ │ │ ├── AbstractInteractor.java │ │ │ │ │ │ └── Interactor.java │ │ │ │ │ └── impl/ │ │ │ │ │ ├── AddCostInteractorImpl.java │ │ │ │ │ ├── DeleteCostInteractorImpl.java │ │ │ │ │ ├── EditCostInteractorImpl.java │ │ │ │ │ ├── GetAllCostsInteractorImpl.java │ │ │ │ │ └── GetCostByIdInteractorImpl.java │ │ │ │ ├── model/ │ │ │ │ │ └── Cost.java │ │ │ │ └── repository/ │ │ │ │ └── CostRepository.java │ │ │ ├── network/ │ │ │ │ ├── RestClient.java │ │ │ │ ├── converters/ │ │ │ │ │ └── RESTModelConverter.java │ │ │ │ ├── model/ │ │ │ │ │ ├── Payload.java │ │ │ │ │ └── RESTCost.java │ │ │ │ └── services/ │ │ │ │ └── SyncService.java │ │ │ ├── presentation/ │ │ │ │ ├── animation/ │ │ │ │ │ └── AnimatorFactory.java │ │ │ │ ├── converter/ │ │ │ │ │ └── DailyTotalCostConverter.java │ │ │ │ ├── model/ │ │ │ │ │ └── DailyTotalCost.java │ │ │ │ ├── presenters/ │ │ │ │ │ ├── AbstractPresenter.java │ │ │ │ │ ├── AddCostPresenter.java │ │ │ │ │ ├── BasePresenter.java │ │ │ │ │ ├── EditCostPresenter.java │ │ │ │ │ ├── MainPresenter.java │ │ │ │ │ └── impl/ │ │ │ │ │ ├── AddCostPresenterImpl.java │ │ │ │ │ ├── EditCostPresenterImpl.java │ │ │ │ │ └── MainPresenterImpl.java │ │ │ │ └── ui/ │ │ │ │ ├── BaseView.java │ │ │ │ ├── activities/ │ │ │ │ │ ├── AboutActivity.java │ │ │ │ │ ├── AbstractCostActivity.java │ │ │ │ │ ├── AddCostActivity.java │ │ │ │ │ ├── EditCostActivity.java │ │ │ │ │ └── MainActivity.java │ │ │ │ ├── adapters/ │ │ │ │ │ └── CostItemAdapter.java │ │ │ │ ├── customviews/ │ │ │ │ │ ├── CostItemView.java │ │ │ │ │ └── ExpandedCostView.java │ │ │ │ ├── fragments/ │ │ │ │ │ └── DatePickerFragment.java │ │ │ │ └── listeners/ │ │ │ │ ├── IndividualCostViewClickListener.java │ │ │ │ └── RecyclerViewClickListener.java │ │ │ ├── storage/ │ │ │ │ ├── CostRepositoryImpl.java │ │ │ │ ├── contentprovider/ │ │ │ │ │ └── StubProvider.java │ │ │ │ ├── converters/ │ │ │ │ │ └── StorageModelConverter.java │ │ │ │ ├── database/ │ │ │ │ │ └── CostDatabase.java │ │ │ │ └── model/ │ │ │ │ └── Cost.java │ │ │ ├── sync/ │ │ │ │ ├── SyncAdapter.java │ │ │ │ ├── SyncService.java │ │ │ │ └── auth/ │ │ │ │ ├── Authenticator.java │ │ │ │ ├── AuthenticatorService.java │ │ │ │ └── DummyAccountProvider.java │ │ │ ├── threading/ │ │ │ │ └── MainThreadImpl.java │ │ │ └── utils/ │ │ │ ├── AuthUtils.java │ │ │ └── DateUtils.java │ │ └── res/ │ │ ├── anim/ │ │ │ └── hold.xml │ │ ├── drawable/ │ │ │ └── rounded_corner.xml │ │ ├── layout/ │ │ │ ├── activity_about.xml │ │ │ ├── activity_add_cost.xml │ │ │ ├── activity_main.xml │ │ │ ├── card_daily_cost_item.xml │ │ │ ├── card_expanded_daily_cost_item.xml │ │ │ ├── content_about.xml │ │ │ ├── content_add_cost.xml │ │ │ ├── expanded_cost_item.xml │ │ │ └── individual_cost_item.xml │ │ ├── menu/ │ │ │ ├── menu_add_cost.xml │ │ │ ├── menu_cost_item.xml │ │ │ └── menu_main.xml │ │ ├── values/ │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── values-v21/ │ │ │ └── styles.xml │ │ ├── values-w820dp/ │ │ │ └── dimens.xml │ │ └── xml/ │ │ ├── authenticator.xml │ │ └── syncadapter.xml │ └── test/ │ └── java/ │ └── com/ │ └── kodelabs/ │ └── mycosts/ │ ├── domain/ │ │ └── interactors/ │ │ └── GetCostByIdTest.java │ ├── presentation/ │ │ └── converter/ │ │ └── DailyTotalCostConverterTest.java │ ├── threading/ │ │ └── TestMainThread.java │ └── util/ │ └── TestDateUtil.java ├── build.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat └── settings.gradle