From b9a90c9bc526ec76a95ba68235ace1ba11818108 Mon Sep 17 00:00:00 2001 From: Fernando Cejas Date: Sun, 31 Jan 2016 11:11:13 +0100 Subject: [PATCH 01/12] Rename presentation module to app. --- {presentation => app}/.gitignore | 0 {presentation => app}/build.gradle | 0 {presentation => app}/proguard-rules.pro | 0 .../test/exception/ErrorMessageFactoryTest.java | 0 .../sample/test/mapper/UserModelDataMapperTest.java | 0 .../test/presenter/UserDetailsPresenterTest.java | 0 .../test/presenter/UserListPresenterTest.java | 0 .../test/view/activity/UserDetailsActivityTest.java | 0 .../test/view/activity/UserListActivityTest.java | 0 {presentation => app}/src/main/AndroidManifest.xml | 0 .../sample/presentation/AndroidApplication.java | 0 .../android10/sample/presentation/UIThread.java | 0 .../presentation/exception/ErrorMessageFactory.java | 0 .../presentation/internal/di/HasComponent.java | 0 .../presentation/internal/di/PerActivity.java | 0 .../internal/di/components/ActivityComponent.java | 0 .../di/components/ApplicationComponent.java | 0 .../internal/di/components/UserComponent.java | 0 .../internal/di/modules/ActivityModule.java | 0 .../internal/di/modules/ApplicationModule.java | 0 .../internal/di/modules/UserModule.java | 0 .../presentation/mapper/UserModelDataMapper.java | 0 .../sample/presentation/model/UserModel.java | 0 .../sample/presentation/navigation/Navigator.java | 0 .../sample/presentation/presenter/Presenter.java | 0 .../presenter/UserDetailsPresenter.java | 0 .../presentation/presenter/UserListPresenter.java | 0 .../sample/presentation/view/LoadDataView.java | 0 .../sample/presentation/view/UserDetailsView.java | 0 .../sample/presentation/view/UserListView.java | 0 .../presentation/view/activity/BaseActivity.java | 0 .../presentation/view/activity/MainActivity.java | 0 .../view/activity/UserDetailsActivity.java | 0 .../view/activity/UserListActivity.java | 0 .../presentation/view/adapter/UsersAdapter.java | 0 .../view/adapter/UsersLayoutManager.java | 0 .../view/component/AutoLoadImageView.java | 0 .../presentation/view/fragment/BaseFragment.java | 0 .../view/fragment/UserDetailsFragment.java | 0 .../view/fragment/UserListFragment.java | 0 .../src/main/res/drawable-hdpi/ic_launcher.png | Bin .../src/main/res/drawable-hdpi/logo.png | Bin .../src/main/res/drawable-mdpi/ic_launcher.png | Bin .../src/main/res/drawable-xhdpi/ic_launcher.png | Bin .../src/main/res/drawable-xxhdpi/ic_launcher.png | Bin .../src/main/res/drawable/selector_item_user.xml | 0 .../src/main/res/layout/activity_layout.xml | 0 .../src/main/res/layout/activity_main.xml | 0 .../src/main/res/layout/fragment_user_details.xml | 0 .../src/main/res/layout/fragment_user_list.xml | 0 .../src/main/res/layout/row_user.xml | 0 .../src/main/res/layout/view_progress.xml | 0 .../src/main/res/layout/view_retry.xml | 0 .../src/main/res/layout/view_user_details.xml | 0 .../src/main/res/values/dimens.xml | 0 .../src/main/res/values/strings.xml | 0 .../src/main/res/values/styles.xml | 0 settings.gradle | 2 +- 58 files changed, 1 insertion(+), 1 deletion(-) rename {presentation => app}/.gitignore (100%) rename {presentation => app}/build.gradle (100%) rename {presentation => app}/proguard-rules.pro (100%) rename {presentation => app}/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java (100%) rename {presentation => app}/src/androidTest/java/com/fernandocejas/android10/sample/test/mapper/UserModelDataMapperTest.java (100%) rename {presentation => app}/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserDetailsPresenterTest.java (100%) rename {presentation => app}/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserListPresenterTest.java (100%) rename {presentation => app}/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserDetailsActivityTest.java (100%) rename {presentation => app}/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserListActivityTest.java (100%) rename {presentation => app}/src/main/AndroidManifest.xml (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/AndroidApplication.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/UIThread.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/exception/ErrorMessageFactory.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/HasComponent.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/PerActivity.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/ActivityComponent.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/ApplicationComponent.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/UserComponent.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/ActivityModule.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/ApplicationModule.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/UserModule.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/mapper/UserModelDataMapper.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/model/UserModel.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/navigation/Navigator.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/Presenter.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/UserDetailsPresenter.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/UserListPresenter.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/view/LoadDataView.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/view/UserDetailsView.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/view/UserListView.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/BaseActivity.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/MainActivity.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/UserDetailsActivity.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/UserListActivity.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/view/adapter/UsersAdapter.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/view/adapter/UsersLayoutManager.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/view/component/AutoLoadImageView.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/BaseFragment.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/UserDetailsFragment.java (100%) rename {presentation => app}/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/UserListFragment.java (100%) rename {presentation => app}/src/main/res/drawable-hdpi/ic_launcher.png (100%) rename {presentation => app}/src/main/res/drawable-hdpi/logo.png (100%) rename {presentation => app}/src/main/res/drawable-mdpi/ic_launcher.png (100%) rename {presentation => app}/src/main/res/drawable-xhdpi/ic_launcher.png (100%) rename {presentation => app}/src/main/res/drawable-xxhdpi/ic_launcher.png (100%) rename {presentation => app}/src/main/res/drawable/selector_item_user.xml (100%) rename {presentation => app}/src/main/res/layout/activity_layout.xml (100%) rename {presentation => app}/src/main/res/layout/activity_main.xml (100%) rename {presentation => app}/src/main/res/layout/fragment_user_details.xml (100%) rename {presentation => app}/src/main/res/layout/fragment_user_list.xml (100%) rename {presentation => app}/src/main/res/layout/row_user.xml (100%) rename {presentation => app}/src/main/res/layout/view_progress.xml (100%) rename {presentation => app}/src/main/res/layout/view_retry.xml (100%) rename {presentation => app}/src/main/res/layout/view_user_details.xml (100%) rename {presentation => app}/src/main/res/values/dimens.xml (100%) rename {presentation => app}/src/main/res/values/strings.xml (100%) rename {presentation => app}/src/main/res/values/styles.xml (100%) diff --git a/presentation/.gitignore b/app/.gitignore similarity index 100% rename from presentation/.gitignore rename to app/.gitignore diff --git a/presentation/build.gradle b/app/build.gradle similarity index 100% rename from presentation/build.gradle rename to app/build.gradle diff --git a/presentation/proguard-rules.pro b/app/proguard-rules.pro similarity index 100% rename from presentation/proguard-rules.pro rename to app/proguard-rules.pro diff --git a/presentation/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java similarity index 100% rename from presentation/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java rename to app/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java diff --git a/presentation/src/androidTest/java/com/fernandocejas/android10/sample/test/mapper/UserModelDataMapperTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/mapper/UserModelDataMapperTest.java similarity index 100% rename from presentation/src/androidTest/java/com/fernandocejas/android10/sample/test/mapper/UserModelDataMapperTest.java rename to app/src/androidTest/java/com/fernandocejas/android10/sample/test/mapper/UserModelDataMapperTest.java diff --git a/presentation/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserDetailsPresenterTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserDetailsPresenterTest.java similarity index 100% rename from presentation/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserDetailsPresenterTest.java rename to app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserDetailsPresenterTest.java diff --git a/presentation/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserListPresenterTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserListPresenterTest.java similarity index 100% rename from presentation/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserListPresenterTest.java rename to app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserListPresenterTest.java diff --git a/presentation/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserDetailsActivityTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserDetailsActivityTest.java similarity index 100% rename from presentation/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserDetailsActivityTest.java rename to app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserDetailsActivityTest.java diff --git a/presentation/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserListActivityTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserListActivityTest.java similarity index 100% rename from presentation/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserListActivityTest.java rename to app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserListActivityTest.java diff --git a/presentation/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml similarity index 100% rename from presentation/src/main/AndroidManifest.xml rename to app/src/main/AndroidManifest.xml diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/AndroidApplication.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/AndroidApplication.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/AndroidApplication.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/AndroidApplication.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/UIThread.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/UIThread.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/UIThread.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/UIThread.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/exception/ErrorMessageFactory.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/exception/ErrorMessageFactory.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/exception/ErrorMessageFactory.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/exception/ErrorMessageFactory.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/HasComponent.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/HasComponent.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/HasComponent.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/HasComponent.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/PerActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/PerActivity.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/PerActivity.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/PerActivity.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/ActivityComponent.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/ActivityComponent.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/ActivityComponent.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/ActivityComponent.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/ApplicationComponent.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/ApplicationComponent.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/ApplicationComponent.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/ApplicationComponent.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/UserComponent.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/UserComponent.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/UserComponent.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/UserComponent.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/ActivityModule.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/ActivityModule.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/ActivityModule.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/ActivityModule.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/ApplicationModule.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/ApplicationModule.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/ApplicationModule.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/ApplicationModule.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/UserModule.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/UserModule.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/UserModule.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/UserModule.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/mapper/UserModelDataMapper.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/mapper/UserModelDataMapper.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/mapper/UserModelDataMapper.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/mapper/UserModelDataMapper.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/model/UserModel.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/model/UserModel.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/model/UserModel.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/model/UserModel.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/navigation/Navigator.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/navigation/Navigator.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/navigation/Navigator.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/navigation/Navigator.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/Presenter.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/Presenter.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/Presenter.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/Presenter.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/UserDetailsPresenter.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/UserDetailsPresenter.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/UserDetailsPresenter.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/UserDetailsPresenter.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/UserListPresenter.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/UserListPresenter.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/UserListPresenter.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/UserListPresenter.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/LoadDataView.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/LoadDataView.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/LoadDataView.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/view/LoadDataView.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/UserDetailsView.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/UserDetailsView.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/UserDetailsView.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/view/UserDetailsView.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/UserListView.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/UserListView.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/UserListView.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/view/UserListView.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/BaseActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/BaseActivity.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/BaseActivity.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/BaseActivity.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/MainActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/MainActivity.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/MainActivity.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/MainActivity.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/UserDetailsActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/UserDetailsActivity.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/UserDetailsActivity.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/UserDetailsActivity.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/UserListActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/UserListActivity.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/UserListActivity.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/UserListActivity.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/adapter/UsersAdapter.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/adapter/UsersAdapter.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/adapter/UsersAdapter.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/view/adapter/UsersAdapter.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/adapter/UsersLayoutManager.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/adapter/UsersLayoutManager.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/adapter/UsersLayoutManager.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/view/adapter/UsersLayoutManager.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/component/AutoLoadImageView.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/component/AutoLoadImageView.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/component/AutoLoadImageView.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/view/component/AutoLoadImageView.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/BaseFragment.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/BaseFragment.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/BaseFragment.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/BaseFragment.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/UserDetailsFragment.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/UserDetailsFragment.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/UserDetailsFragment.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/UserDetailsFragment.java diff --git a/presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/UserListFragment.java b/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/UserListFragment.java similarity index 100% rename from presentation/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/UserListFragment.java rename to app/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/UserListFragment.java diff --git a/presentation/src/main/res/drawable-hdpi/ic_launcher.png b/app/src/main/res/drawable-hdpi/ic_launcher.png similarity index 100% rename from presentation/src/main/res/drawable-hdpi/ic_launcher.png rename to app/src/main/res/drawable-hdpi/ic_launcher.png diff --git a/presentation/src/main/res/drawable-hdpi/logo.png b/app/src/main/res/drawable-hdpi/logo.png similarity index 100% rename from presentation/src/main/res/drawable-hdpi/logo.png rename to app/src/main/res/drawable-hdpi/logo.png diff --git a/presentation/src/main/res/drawable-mdpi/ic_launcher.png b/app/src/main/res/drawable-mdpi/ic_launcher.png similarity index 100% rename from presentation/src/main/res/drawable-mdpi/ic_launcher.png rename to app/src/main/res/drawable-mdpi/ic_launcher.png diff --git a/presentation/src/main/res/drawable-xhdpi/ic_launcher.png b/app/src/main/res/drawable-xhdpi/ic_launcher.png similarity index 100% rename from presentation/src/main/res/drawable-xhdpi/ic_launcher.png rename to app/src/main/res/drawable-xhdpi/ic_launcher.png diff --git a/presentation/src/main/res/drawable-xxhdpi/ic_launcher.png b/app/src/main/res/drawable-xxhdpi/ic_launcher.png similarity index 100% rename from presentation/src/main/res/drawable-xxhdpi/ic_launcher.png rename to app/src/main/res/drawable-xxhdpi/ic_launcher.png diff --git a/presentation/src/main/res/drawable/selector_item_user.xml b/app/src/main/res/drawable/selector_item_user.xml similarity index 100% rename from presentation/src/main/res/drawable/selector_item_user.xml rename to app/src/main/res/drawable/selector_item_user.xml diff --git a/presentation/src/main/res/layout/activity_layout.xml b/app/src/main/res/layout/activity_layout.xml similarity index 100% rename from presentation/src/main/res/layout/activity_layout.xml rename to app/src/main/res/layout/activity_layout.xml diff --git a/presentation/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml similarity index 100% rename from presentation/src/main/res/layout/activity_main.xml rename to app/src/main/res/layout/activity_main.xml diff --git a/presentation/src/main/res/layout/fragment_user_details.xml b/app/src/main/res/layout/fragment_user_details.xml similarity index 100% rename from presentation/src/main/res/layout/fragment_user_details.xml rename to app/src/main/res/layout/fragment_user_details.xml diff --git a/presentation/src/main/res/layout/fragment_user_list.xml b/app/src/main/res/layout/fragment_user_list.xml similarity index 100% rename from presentation/src/main/res/layout/fragment_user_list.xml rename to app/src/main/res/layout/fragment_user_list.xml diff --git a/presentation/src/main/res/layout/row_user.xml b/app/src/main/res/layout/row_user.xml similarity index 100% rename from presentation/src/main/res/layout/row_user.xml rename to app/src/main/res/layout/row_user.xml diff --git a/presentation/src/main/res/layout/view_progress.xml b/app/src/main/res/layout/view_progress.xml similarity index 100% rename from presentation/src/main/res/layout/view_progress.xml rename to app/src/main/res/layout/view_progress.xml diff --git a/presentation/src/main/res/layout/view_retry.xml b/app/src/main/res/layout/view_retry.xml similarity index 100% rename from presentation/src/main/res/layout/view_retry.xml rename to app/src/main/res/layout/view_retry.xml diff --git a/presentation/src/main/res/layout/view_user_details.xml b/app/src/main/res/layout/view_user_details.xml similarity index 100% rename from presentation/src/main/res/layout/view_user_details.xml rename to app/src/main/res/layout/view_user_details.xml diff --git a/presentation/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml similarity index 100% rename from presentation/src/main/res/values/dimens.xml rename to app/src/main/res/values/dimens.xml diff --git a/presentation/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml similarity index 100% rename from presentation/src/main/res/values/strings.xml rename to app/src/main/res/values/strings.xml diff --git a/presentation/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml similarity index 100% rename from presentation/src/main/res/values/styles.xml rename to app/src/main/res/values/styles.xml diff --git a/settings.gradle b/settings.gradle index c5e0ddae..8489f67b 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,3 +1,3 @@ -include ':presentation' +include ':app' include ':domain' include ':data' From 8c345515a7de7d85d2a95fed08c30055df4b8534 Mon Sep 17 00:00:00 2001 From: Fernando Cejas Date: Sun, 31 Jan 2016 12:03:07 +0100 Subject: [PATCH 02/12] Rename presentation package to app. --- .../test/exception/ErrorMessageFactoryTest.java | 4 ++-- .../test/mapper/UserModelDataMapperTest.java | 4 ++-- .../test/presenter/UserDetailsPresenterTest.java | 6 +++--- .../test/presenter/UserListPresenterTest.java | 6 +++--- .../view/activity/UserDetailsActivityTest.java | 4 ++-- .../test/view/activity/UserListActivityTest.java | 4 ++-- app/src/main/AndroidManifest.xml | 10 +++++----- .../AndroidApplication.java | 8 ++++---- .../sample/{presentation => app}/UIThread.java | 2 +- .../exception/ErrorMessageFactory.java | 4 ++-- .../internal/di/HasComponent.java | 2 +- .../internal/di/PerActivity.java | 2 +- .../di/components/ActivityComponent.java | 8 ++++---- .../di/components/ApplicationComponent.java | 6 +++--- .../internal/di/components/UserComponent.java | 14 +++++++------- .../internal/di/modules/ActivityModule.java | 4 ++-- .../internal/di/modules/ApplicationModule.java | 7 +++---- .../internal/di/modules/UserModule.java | 6 +++--- .../mapper/UserModelDataMapper.java | 6 +++--- .../{presentation => app}/model/UserModel.java | 2 +- .../navigation/Navigator.java | 6 +++--- .../presenter/Presenter.java | 2 +- .../presenter/UserDetailsPresenter.java | 12 ++++++------ .../presenter/UserListPresenter.java | 12 ++++++------ .../{presentation => app}/view/LoadDataView.java | 2 +- .../view/UserDetailsView.java | 4 ++-- .../{presentation => app}/view/UserListView.java | 4 ++-- .../view/activity/BaseActivity.java | 14 +++++++------- .../view/activity/MainActivity.java | 4 ++-- .../view/activity/UserDetailsActivity.java | 14 +++++++------- .../view/activity/UserListActivity.java | 14 +++++++------- .../view/adapter/UsersAdapter.java | 6 +++--- .../view/adapter/UsersLayoutManager.java | 2 +- .../view/component/AutoLoadImageView.java | 2 +- .../view/fragment/BaseFragment.java | 4 ++-- .../view/fragment/UserDetailsFragment.java | 14 +++++++------- .../view/fragment/UserListFragment.java | 16 ++++++++-------- app/src/main/res/layout/view_user_details.xml | 2 +- 38 files changed, 121 insertions(+), 122 deletions(-) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/AndroidApplication.java (79%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/UIThread.java (95%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/exception/ErrorMessageFactory.java (93%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/internal/di/HasComponent.java (91%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/internal/di/PerActivity.java (93%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/internal/di/components/ActivityComponent.java (76%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/internal/di/components/ApplicationComponent.java (84%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/internal/di/components/UserComponent.java (61%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/internal/di/modules/ActivityModule.java (87%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/internal/di/modules/ApplicationModule.java (87%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/internal/di/modules/UserModule.java (91%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/mapper/UserModelDataMapper.java (91%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/model/UserModel.java (97%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/navigation/Navigator.java (86%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/presenter/Presenter.java (94%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/presenter/UserDetailsPresenter.java (88%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/presenter/UserListPresenter.java (89%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/view/LoadDataView.java (93%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/view/UserDetailsView.java (77%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/view/UserListView.java (84%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/view/activity/BaseActivity.java (67%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/view/activity/MainActivity.java (83%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/view/activity/UserDetailsActivity.java (78%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/view/activity/UserListActivity.java (71%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/view/adapter/UsersAdapter.java (93%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/view/adapter/UsersLayoutManager.java (86%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/view/component/AutoLoadImageView.java (99%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/view/fragment/BaseFragment.java (84%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/view/fragment/UserDetailsFragment.java (86%) rename app/src/main/java/com/fernandocejas/android10/sample/{presentation => app}/view/fragment/UserListFragment.java (87%) diff --git a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java index 75781101..cbc71780 100644 --- a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java +++ b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java @@ -18,8 +18,8 @@ import android.test.AndroidTestCase; import com.fernandocejas.android10.sample.data.exception.NetworkConnectionException; import com.fernandocejas.android10.sample.data.exception.UserNotFoundException; -import com.fernandocejas.android10.sample.presentation.R; -import com.fernandocejas.android10.sample.presentation.exception.ErrorMessageFactory; +import com.fernandocejas.android10.sample.app.R; +import com.fernandocejas.android10.sample.app.exception.ErrorMessageFactory; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.is; diff --git a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/mapper/UserModelDataMapperTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/mapper/UserModelDataMapperTest.java index 50a1e33b..093c24c7 100644 --- a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/mapper/UserModelDataMapperTest.java +++ b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/mapper/UserModelDataMapperTest.java @@ -16,8 +16,8 @@ package com.fernandocejas.android10.sample.test.mapper; import com.fernandocejas.android10.sample.domain.User; -import com.fernandocejas.android10.sample.presentation.mapper.UserModelDataMapper; -import com.fernandocejas.android10.sample.presentation.model.UserModel; +import com.fernandocejas.android10.sample.app.mapper.UserModelDataMapper; +import com.fernandocejas.android10.sample.app.model.UserModel; import java.util.ArrayList; import java.util.Collection; import java.util.List; diff --git a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserDetailsPresenterTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserDetailsPresenterTest.java index c4009696..461e89f5 100644 --- a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserDetailsPresenterTest.java +++ b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserDetailsPresenterTest.java @@ -18,9 +18,9 @@ import android.content.Context; import android.test.AndroidTestCase; import com.fernandocejas.android10.sample.domain.interactor.GetUserDetails; -import com.fernandocejas.android10.sample.presentation.mapper.UserModelDataMapper; -import com.fernandocejas.android10.sample.presentation.presenter.UserDetailsPresenter; -import com.fernandocejas.android10.sample.presentation.view.UserDetailsView; +import com.fernandocejas.android10.sample.app.mapper.UserModelDataMapper; +import com.fernandocejas.android10.sample.app.presenter.UserDetailsPresenter; +import com.fernandocejas.android10.sample.app.view.UserDetailsView; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import rx.Subscriber; diff --git a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserListPresenterTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserListPresenterTest.java index f8a98c8e..cd2ec8c6 100644 --- a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserListPresenterTest.java +++ b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserListPresenterTest.java @@ -18,9 +18,9 @@ import android.content.Context; import android.test.AndroidTestCase; import com.fernandocejas.android10.sample.domain.interactor.GetUserList; -import com.fernandocejas.android10.sample.presentation.mapper.UserModelDataMapper; -import com.fernandocejas.android10.sample.presentation.presenter.UserListPresenter; -import com.fernandocejas.android10.sample.presentation.view.UserListView; +import com.fernandocejas.android10.sample.app.mapper.UserModelDataMapper; +import com.fernandocejas.android10.sample.app.presenter.UserListPresenter; +import com.fernandocejas.android10.sample.app.view.UserListView; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import rx.Subscriber; diff --git a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserDetailsActivityTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserDetailsActivityTest.java index 812c4e0d..6f377e14 100644 --- a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserDetailsActivityTest.java +++ b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserDetailsActivityTest.java @@ -18,8 +18,8 @@ import android.app.Fragment; import android.content.Intent; import android.test.ActivityInstrumentationTestCase2; -import com.fernandocejas.android10.sample.presentation.R; -import com.fernandocejas.android10.sample.presentation.view.activity.UserDetailsActivity; +import com.fernandocejas.android10.sample.app.R; +import com.fernandocejas.android10.sample.app.view.activity.UserDetailsActivity; import static android.support.test.espresso.Espresso.onView; import static android.support.test.espresso.assertion.ViewAssertions.matches; diff --git a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserListActivityTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserListActivityTest.java index 187e6f8d..2f9c912f 100644 --- a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserListActivityTest.java +++ b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserListActivityTest.java @@ -18,8 +18,8 @@ import android.app.Fragment; import android.content.Intent; import android.test.ActivityInstrumentationTestCase2; -import com.fernandocejas.android10.sample.presentation.R; -import com.fernandocejas.android10.sample.presentation.view.activity.UserListActivity; +import com.fernandocejas.android10.sample.app.R; +import com.fernandocejas.android10.sample.app.view.activity.UserListActivity; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.notNullValue; diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1aaea4ca..57d037da 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,19 +1,19 @@ + package="com.fernandocejas.android10.sample.app"> @@ -22,12 +22,12 @@ diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/AndroidApplication.java b/app/src/main/java/com/fernandocejas/android10/sample/app/AndroidApplication.java similarity index 79% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/AndroidApplication.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/AndroidApplication.java index 006bb115..09e65c5a 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/AndroidApplication.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/AndroidApplication.java @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.presentation; +package com.fernandocejas.android10.sample.app; import android.app.Application; -import com.fernandocejas.android10.sample.presentation.internal.di.components.ApplicationComponent; -import com.fernandocejas.android10.sample.presentation.internal.di.components.DaggerApplicationComponent; -import com.fernandocejas.android10.sample.presentation.internal.di.modules.ApplicationModule; +import com.fernandocejas.android10.sample.app.internal.di.components.ApplicationComponent; +import com.fernandocejas.android10.sample.app.internal.di.components.DaggerApplicationComponent; +import com.fernandocejas.android10.sample.app.internal.di.modules.ApplicationModule; import com.squareup.leakcanary.LeakCanary; /** diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/UIThread.java b/app/src/main/java/com/fernandocejas/android10/sample/app/UIThread.java similarity index 95% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/UIThread.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/UIThread.java index bd4ceca4..70750d9e 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/UIThread.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/UIThread.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.presentation; +package com.fernandocejas.android10.sample.app; import com.fernandocejas.android10.sample.domain.executor.PostExecutionThread; import javax.inject.Inject; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/exception/ErrorMessageFactory.java b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/ErrorMessageFactory.java similarity index 93% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/exception/ErrorMessageFactory.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/exception/ErrorMessageFactory.java index 861f1d73..cbfac627 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/exception/ErrorMessageFactory.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/ErrorMessageFactory.java @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.presentation.exception; +package com.fernandocejas.android10.sample.app.exception; import android.content.Context; import com.fernandocejas.android10.sample.data.exception.NetworkConnectionException; import com.fernandocejas.android10.sample.data.exception.UserNotFoundException; -import com.fernandocejas.android10.sample.presentation.R; +import com.fernandocejas.android10.sample.app.R; /** * Factory used to create error messages from an Exception as a condition. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/HasComponent.java b/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/HasComponent.java similarity index 91% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/HasComponent.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/HasComponent.java index 1e744459..8fa5a483 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/HasComponent.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/HasComponent.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.presentation.internal.di; +package com.fernandocejas.android10.sample.app.internal.di; /** * Interface representing a contract for clients that contains a component for dependency injection. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/PerActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/PerActivity.java similarity index 93% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/PerActivity.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/PerActivity.java index ba04d9c6..c2266f53 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/PerActivity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/PerActivity.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.presentation.internal.di; +package com.fernandocejas.android10.sample.app.internal.di; import java.lang.annotation.Retention; import javax.inject.Scope; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/ActivityComponent.java b/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/components/ActivityComponent.java similarity index 76% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/ActivityComponent.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/components/ActivityComponent.java index a7ffc0d9..df8c049d 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/ActivityComponent.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/components/ActivityComponent.java @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.presentation.internal.di.components; +package com.fernandocejas.android10.sample.app.internal.di.components; import android.app.Activity; -import com.fernandocejas.android10.sample.presentation.internal.di.PerActivity; -import com.fernandocejas.android10.sample.presentation.internal.di.modules.ActivityModule; +import com.fernandocejas.android10.sample.app.internal.di.PerActivity; +import com.fernandocejas.android10.sample.app.internal.di.modules.ActivityModule; import dagger.Component; /** @@ -25,7 +25,7 @@ * Activity-level components should extend this component. * * Subtypes of ActivityComponent should be decorated with annotation: - * {@link com.fernandocejas.android10.sample.presentation.internal.di.PerActivity} + * {@link com.fernandocejas.android10.sample.app.internal.di.PerActivity} */ @PerActivity @Component(dependencies = ApplicationComponent.class, modules = ActivityModule.class) diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/ApplicationComponent.java b/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/components/ApplicationComponent.java similarity index 84% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/ApplicationComponent.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/components/ApplicationComponent.java index 23e08b1d..f14962d6 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/ApplicationComponent.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/components/ApplicationComponent.java @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.presentation.internal.di.components; +package com.fernandocejas.android10.sample.app.internal.di.components; import android.content.Context; import com.fernandocejas.android10.sample.domain.executor.PostExecutionThread; import com.fernandocejas.android10.sample.domain.executor.ThreadExecutor; import com.fernandocejas.android10.sample.domain.repository.UserRepository; -import com.fernandocejas.android10.sample.presentation.internal.di.modules.ApplicationModule; -import com.fernandocejas.android10.sample.presentation.view.activity.BaseActivity; +import com.fernandocejas.android10.sample.app.internal.di.modules.ApplicationModule; +import com.fernandocejas.android10.sample.app.view.activity.BaseActivity; import dagger.Component; import javax.inject.Singleton; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/UserComponent.java b/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/components/UserComponent.java similarity index 61% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/UserComponent.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/components/UserComponent.java index ef4872f5..e8bd2d44 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/components/UserComponent.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/components/UserComponent.java @@ -13,17 +13,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.presentation.internal.di.components; +package com.fernandocejas.android10.sample.app.internal.di.components; -import com.fernandocejas.android10.sample.presentation.internal.di.PerActivity; -import com.fernandocejas.android10.sample.presentation.internal.di.modules.ActivityModule; -import com.fernandocejas.android10.sample.presentation.internal.di.modules.UserModule; -import com.fernandocejas.android10.sample.presentation.view.fragment.UserDetailsFragment; -import com.fernandocejas.android10.sample.presentation.view.fragment.UserListFragment; +import com.fernandocejas.android10.sample.app.internal.di.PerActivity; +import com.fernandocejas.android10.sample.app.internal.di.modules.ActivityModule; +import com.fernandocejas.android10.sample.app.internal.di.modules.UserModule; +import com.fernandocejas.android10.sample.app.view.fragment.UserDetailsFragment; +import com.fernandocejas.android10.sample.app.view.fragment.UserListFragment; import dagger.Component; /** - * A scope {@link com.fernandocejas.android10.sample.presentation.internal.di.PerActivity} component. + * A scope {@link com.fernandocejas.android10.sample.app.internal.di.PerActivity} component. * Injects user specific Fragments. */ @PerActivity diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/ActivityModule.java b/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/modules/ActivityModule.java similarity index 87% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/ActivityModule.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/modules/ActivityModule.java index 3f7f97c1..751d3285 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/ActivityModule.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/modules/ActivityModule.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.presentation.internal.di.modules; +package com.fernandocejas.android10.sample.app.internal.di.modules; import android.app.Activity; -import com.fernandocejas.android10.sample.presentation.internal.di.PerActivity; +import com.fernandocejas.android10.sample.app.internal.di.PerActivity; import dagger.Module; import dagger.Provides; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/ApplicationModule.java b/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/modules/ApplicationModule.java similarity index 87% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/ApplicationModule.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/modules/ApplicationModule.java index c6ef8e62..b28ee99e 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/ApplicationModule.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/modules/ApplicationModule.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.presentation.internal.di.modules; +package com.fernandocejas.android10.sample.app.internal.di.modules; import android.content.Context; import com.fernandocejas.android10.sample.data.cache.UserCache; @@ -23,9 +23,8 @@ import com.fernandocejas.android10.sample.domain.executor.PostExecutionThread; import com.fernandocejas.android10.sample.domain.executor.ThreadExecutor; import com.fernandocejas.android10.sample.domain.repository.UserRepository; -import com.fernandocejas.android10.sample.presentation.AndroidApplication; -import com.fernandocejas.android10.sample.presentation.UIThread; -import com.fernandocejas.android10.sample.presentation.navigation.Navigator; +import com.fernandocejas.android10.sample.app.AndroidApplication; +import com.fernandocejas.android10.sample.app.UIThread; import dagger.Module; import dagger.Provides; import javax.inject.Singleton; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/UserModule.java b/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/modules/UserModule.java similarity index 91% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/UserModule.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/modules/UserModule.java index 3f12d332..85ac77ff 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/internal/di/modules/UserModule.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/modules/UserModule.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.presentation.internal.di.modules; +package com.fernandocejas.android10.sample.app.internal.di.modules; import com.fernandocejas.android10.sample.domain.executor.PostExecutionThread; import com.fernandocejas.android10.sample.domain.executor.ThreadExecutor; @@ -21,7 +21,7 @@ import com.fernandocejas.android10.sample.domain.interactor.GetUserList; import com.fernandocejas.android10.sample.domain.interactor.UseCase; import com.fernandocejas.android10.sample.domain.repository.UserRepository; -import com.fernandocejas.android10.sample.presentation.internal.di.PerActivity; +import com.fernandocejas.android10.sample.app.internal.di.PerActivity; import dagger.Module; import dagger.Provides; import javax.inject.Named; @@ -50,4 +50,4 @@ public UserModule(int userId) { PostExecutionThread postExecutionThread) { return new GetUserDetails(userId, userRepository, threadExecutor, postExecutionThread); } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/mapper/UserModelDataMapper.java b/app/src/main/java/com/fernandocejas/android10/sample/app/mapper/UserModelDataMapper.java similarity index 91% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/mapper/UserModelDataMapper.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/mapper/UserModelDataMapper.java index 3c64bac3..39624736 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/mapper/UserModelDataMapper.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/mapper/UserModelDataMapper.java @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.presentation.mapper; +package com.fernandocejas.android10.sample.app.mapper; import com.fernandocejas.android10.sample.domain.User; -import com.fernandocejas.android10.sample.presentation.internal.di.PerActivity; -import com.fernandocejas.android10.sample.presentation.model.UserModel; +import com.fernandocejas.android10.sample.app.internal.di.PerActivity; +import com.fernandocejas.android10.sample.app.model.UserModel; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/model/UserModel.java b/app/src/main/java/com/fernandocejas/android10/sample/app/model/UserModel.java similarity index 97% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/model/UserModel.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/model/UserModel.java index d13ae2d4..c54aaafd 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/model/UserModel.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/model/UserModel.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.presentation.model; +package com.fernandocejas.android10.sample.app.model; /** * Class that represents a user in the presentation layer. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/navigation/Navigator.java b/app/src/main/java/com/fernandocejas/android10/sample/app/navigation/Navigator.java similarity index 86% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/navigation/Navigator.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/navigation/Navigator.java index fb2577aa..18c86ee9 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/navigation/Navigator.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/navigation/Navigator.java @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.presentation.navigation; +package com.fernandocejas.android10.sample.app.navigation; import android.content.Context; import android.content.Intent; -import com.fernandocejas.android10.sample.presentation.view.activity.UserDetailsActivity; -import com.fernandocejas.android10.sample.presentation.view.activity.UserListActivity; +import com.fernandocejas.android10.sample.app.view.activity.UserDetailsActivity; +import com.fernandocejas.android10.sample.app.view.activity.UserListActivity; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/Presenter.java b/app/src/main/java/com/fernandocejas/android10/sample/app/presenter/Presenter.java similarity index 94% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/Presenter.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/presenter/Presenter.java index 3768fe4f..1ea546aa 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/Presenter.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/presenter/Presenter.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.presentation.presenter; +package com.fernandocejas.android10.sample.app.presenter; /** * Interface representing a Presenter in a model view presenter (MVP) pattern. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/UserDetailsPresenter.java b/app/src/main/java/com/fernandocejas/android10/sample/app/presenter/UserDetailsPresenter.java similarity index 88% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/UserDetailsPresenter.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/presenter/UserDetailsPresenter.java index e10967c0..77aa0df6 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/UserDetailsPresenter.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/presenter/UserDetailsPresenter.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.presentation.presenter; +package com.fernandocejas.android10.sample.app.presenter; import android.support.annotation.NonNull; import com.fernandocejas.android10.sample.domain.User; @@ -21,11 +21,11 @@ import com.fernandocejas.android10.sample.domain.exception.ErrorBundle; import com.fernandocejas.android10.sample.domain.interactor.DefaultSubscriber; import com.fernandocejas.android10.sample.domain.interactor.UseCase; -import com.fernandocejas.android10.sample.presentation.exception.ErrorMessageFactory; -import com.fernandocejas.android10.sample.presentation.internal.di.PerActivity; -import com.fernandocejas.android10.sample.presentation.mapper.UserModelDataMapper; -import com.fernandocejas.android10.sample.presentation.model.UserModel; -import com.fernandocejas.android10.sample.presentation.view.UserDetailsView; +import com.fernandocejas.android10.sample.app.exception.ErrorMessageFactory; +import com.fernandocejas.android10.sample.app.internal.di.PerActivity; +import com.fernandocejas.android10.sample.app.mapper.UserModelDataMapper; +import com.fernandocejas.android10.sample.app.model.UserModel; +import com.fernandocejas.android10.sample.app.view.UserDetailsView; import com.fernandocejas.frodo.annotation.RxLogSubscriber; import javax.inject.Inject; import javax.inject.Named; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/UserListPresenter.java b/app/src/main/java/com/fernandocejas/android10/sample/app/presenter/UserListPresenter.java similarity index 89% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/UserListPresenter.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/presenter/UserListPresenter.java index 72cf4b51..fe5e339b 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/presenter/UserListPresenter.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/presenter/UserListPresenter.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.presentation.presenter; +package com.fernandocejas.android10.sample.app.presenter; import android.support.annotation.NonNull; import com.fernandocejas.android10.sample.domain.User; @@ -21,11 +21,11 @@ import com.fernandocejas.android10.sample.domain.exception.ErrorBundle; import com.fernandocejas.android10.sample.domain.interactor.DefaultSubscriber; import com.fernandocejas.android10.sample.domain.interactor.UseCase; -import com.fernandocejas.android10.sample.presentation.exception.ErrorMessageFactory; -import com.fernandocejas.android10.sample.presentation.internal.di.PerActivity; -import com.fernandocejas.android10.sample.presentation.mapper.UserModelDataMapper; -import com.fernandocejas.android10.sample.presentation.model.UserModel; -import com.fernandocejas.android10.sample.presentation.view.UserListView; +import com.fernandocejas.android10.sample.app.exception.ErrorMessageFactory; +import com.fernandocejas.android10.sample.app.internal.di.PerActivity; +import com.fernandocejas.android10.sample.app.mapper.UserModelDataMapper; +import com.fernandocejas.android10.sample.app.model.UserModel; +import com.fernandocejas.android10.sample.app.view.UserListView; import java.util.Collection; import java.util.List; import javax.inject.Inject; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/LoadDataView.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/LoadDataView.java similarity index 93% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/view/LoadDataView.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/view/LoadDataView.java index ebcfe095..82956f1c 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/LoadDataView.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/LoadDataView.java @@ -2,7 +2,7 @@ * Copyright (C) 2014 android10.org. All rights reserved. * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.presentation.view; +package com.fernandocejas.android10.sample.app.view; import android.content.Context; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/UserDetailsView.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/UserDetailsView.java similarity index 77% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/view/UserDetailsView.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/view/UserDetailsView.java index a4f72f9f..46aaae35 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/UserDetailsView.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/UserDetailsView.java @@ -2,9 +2,9 @@ * Copyright (C) 2014 android10.org. All rights reserved. * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.presentation.view; +package com.fernandocejas.android10.sample.app.view; -import com.fernandocejas.android10.sample.presentation.model.UserModel; +import com.fernandocejas.android10.sample.app.model.UserModel; /** * Interface representing a View in a model view presenter (MVP) pattern. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/UserListView.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/UserListView.java similarity index 84% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/view/UserListView.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/view/UserListView.java index 6a850775..1c295c9a 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/UserListView.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/UserListView.java @@ -2,9 +2,9 @@ * Copyright (C) 2014 android10.org. All rights reserved. * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.presentation.view; +package com.fernandocejas.android10.sample.app.view; -import com.fernandocejas.android10.sample.presentation.model.UserModel; +import com.fernandocejas.android10.sample.app.model.UserModel; import java.util.Collection; /** diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/BaseActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/BaseActivity.java similarity index 67% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/BaseActivity.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/BaseActivity.java index 23ad8b5e..686f893b 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/BaseActivity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/BaseActivity.java @@ -1,13 +1,13 @@ -package com.fernandocejas.android10.sample.presentation.view.activity; +package com.fernandocejas.android10.sample.app.view.activity; import android.app.Activity; import android.app.Fragment; import android.app.FragmentTransaction; import android.os.Bundle; -import com.fernandocejas.android10.sample.presentation.AndroidApplication; -import com.fernandocejas.android10.sample.presentation.internal.di.components.ApplicationComponent; -import com.fernandocejas.android10.sample.presentation.internal.di.modules.ActivityModule; -import com.fernandocejas.android10.sample.presentation.navigation.Navigator; +import com.fernandocejas.android10.sample.app.AndroidApplication; +import com.fernandocejas.android10.sample.app.internal.di.components.ApplicationComponent; +import com.fernandocejas.android10.sample.app.internal.di.modules.ActivityModule; +import com.fernandocejas.android10.sample.app.navigation.Navigator; import javax.inject.Inject; /** @@ -38,7 +38,7 @@ protected void addFragment(int containerViewId, Fragment fragment) { /** * Get the Main Application component for dependency injection. * - * @return {@link com.fernandocejas.android10.sample.presentation.internal.di.components.ApplicationComponent} + * @return {@link com.fernandocejas.android10.sample.app.internal.di.components.ApplicationComponent} */ protected ApplicationComponent getApplicationComponent() { return ((AndroidApplication) getApplication()).getApplicationComponent(); @@ -47,7 +47,7 @@ protected ApplicationComponent getApplicationComponent() { /** * Get an Activity module for dependency injection. * - * @return {@link com.fernandocejas.android10.sample.presentation.internal.di.modules.ActivityModule} + * @return {@link com.fernandocejas.android10.sample.app.internal.di.modules.ActivityModule} */ protected ActivityModule getActivityModule() { return new ActivityModule(this); diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/MainActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/MainActivity.java similarity index 83% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/MainActivity.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/MainActivity.java index 9f1530b9..62648c5f 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/MainActivity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/MainActivity.java @@ -1,11 +1,11 @@ -package com.fernandocejas.android10.sample.presentation.view.activity; +package com.fernandocejas.android10.sample.app.view.activity; import android.os.Bundle; import android.widget.Button; import butterknife.Bind; import butterknife.ButterKnife; import butterknife.OnClick; -import com.fernandocejas.android10.sample.presentation.R; +import com.fernandocejas.android10.sample.app.R; /** * Main application screen. This is the app entry point. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/UserDetailsActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/UserDetailsActivity.java similarity index 78% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/UserDetailsActivity.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/UserDetailsActivity.java index fb2ae486..bb8c3af0 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/UserDetailsActivity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/UserDetailsActivity.java @@ -3,18 +3,18 @@ * * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.presentation.view.activity; +package com.fernandocejas.android10.sample.app.view.activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.Window; -import com.fernandocejas.android10.sample.presentation.R; -import com.fernandocejas.android10.sample.presentation.internal.di.HasComponent; -import com.fernandocejas.android10.sample.presentation.internal.di.components.DaggerUserComponent; -import com.fernandocejas.android10.sample.presentation.internal.di.components.UserComponent; -import com.fernandocejas.android10.sample.presentation.internal.di.modules.UserModule; -import com.fernandocejas.android10.sample.presentation.view.fragment.UserDetailsFragment; +import com.fernandocejas.android10.sample.app.R; +import com.fernandocejas.android10.sample.app.internal.di.HasComponent; +import com.fernandocejas.android10.sample.app.internal.di.components.DaggerUserComponent; +import com.fernandocejas.android10.sample.app.internal.di.components.UserComponent; +import com.fernandocejas.android10.sample.app.internal.di.modules.UserModule; +import com.fernandocejas.android10.sample.app.view.fragment.UserDetailsFragment; /** * Activity that shows details of a certain user. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/UserListActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/UserListActivity.java similarity index 71% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/UserListActivity.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/UserListActivity.java index fb1bdea8..2fdcf766 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/activity/UserListActivity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/UserListActivity.java @@ -3,18 +3,18 @@ * * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.presentation.view.activity; +package com.fernandocejas.android10.sample.app.view.activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.Window; -import com.fernandocejas.android10.sample.presentation.R; -import com.fernandocejas.android10.sample.presentation.internal.di.HasComponent; -import com.fernandocejas.android10.sample.presentation.internal.di.components.DaggerUserComponent; -import com.fernandocejas.android10.sample.presentation.internal.di.components.UserComponent; -import com.fernandocejas.android10.sample.presentation.model.UserModel; -import com.fernandocejas.android10.sample.presentation.view.fragment.UserListFragment; +import com.fernandocejas.android10.sample.app.R; +import com.fernandocejas.android10.sample.app.internal.di.HasComponent; +import com.fernandocejas.android10.sample.app.internal.di.components.DaggerUserComponent; +import com.fernandocejas.android10.sample.app.internal.di.components.UserComponent; +import com.fernandocejas.android10.sample.app.model.UserModel; +import com.fernandocejas.android10.sample.app.view.fragment.UserListFragment; /** * Activity that shows a list of Users. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/adapter/UsersAdapter.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/adapter/UsersAdapter.java similarity index 93% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/view/adapter/UsersAdapter.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/view/adapter/UsersAdapter.java index 110a1002..8636a743 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/adapter/UsersAdapter.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/adapter/UsersAdapter.java @@ -2,7 +2,7 @@ * Copyright (C) 2014 android10.org. All rights reserved. * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.presentation.view.adapter; +package com.fernandocejas.android10.sample.app.view.adapter; import android.content.Context; import android.support.v7.widget.RecyclerView; @@ -12,8 +12,8 @@ import android.widget.TextView; import butterknife.Bind; import butterknife.ButterKnife; -import com.fernandocejas.android10.sample.presentation.R; -import com.fernandocejas.android10.sample.presentation.model.UserModel; +import com.fernandocejas.android10.sample.app.R; +import com.fernandocejas.android10.sample.app.model.UserModel; import java.util.Collection; import java.util.Collections; import java.util.List; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/adapter/UsersLayoutManager.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/adapter/UsersLayoutManager.java similarity index 86% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/view/adapter/UsersLayoutManager.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/view/adapter/UsersLayoutManager.java index a7facf5b..5861d4d8 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/adapter/UsersLayoutManager.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/adapter/UsersLayoutManager.java @@ -2,7 +2,7 @@ * Copyright (C) 2014 android10.org. All rights reserved. * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.presentation.view.adapter; +package com.fernandocejas.android10.sample.app.view.adapter; import android.content.Context; import android.support.v7.widget.LinearLayoutManager; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/component/AutoLoadImageView.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/component/AutoLoadImageView.java similarity index 99% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/view/component/AutoLoadImageView.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/view/component/AutoLoadImageView.java index c45e8d6c..740dffe8 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/component/AutoLoadImageView.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/component/AutoLoadImageView.java @@ -3,7 +3,7 @@ * * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.presentation.view.component; +package com.fernandocejas.android10.sample.app.view.component; import android.app.Activity; import android.content.Context; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/BaseFragment.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/BaseFragment.java similarity index 84% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/BaseFragment.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/BaseFragment.java index a312d134..c9d79618 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/BaseFragment.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/BaseFragment.java @@ -3,11 +3,11 @@ * * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.presentation.view.fragment; +package com.fernandocejas.android10.sample.app.view.fragment; import android.app.Fragment; import android.widget.Toast; -import com.fernandocejas.android10.sample.presentation.internal.di.HasComponent; +import com.fernandocejas.android10.sample.app.internal.di.HasComponent; /** * Base {@link android.app.Fragment} class for every fragment in this application. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/UserDetailsFragment.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/UserDetailsFragment.java similarity index 86% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/UserDetailsFragment.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/UserDetailsFragment.java index e5c51334..e9b324e2 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/UserDetailsFragment.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/UserDetailsFragment.java @@ -2,7 +2,7 @@ * Copyright (C) 2014 android10.org. All rights reserved. * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.presentation.view.fragment; +package com.fernandocejas.android10.sample.app.view.fragment; import android.content.Context; import android.os.Bundle; @@ -15,12 +15,12 @@ import butterknife.Bind; import butterknife.ButterKnife; import butterknife.OnClick; -import com.fernandocejas.android10.sample.presentation.R; -import com.fernandocejas.android10.sample.presentation.internal.di.components.UserComponent; -import com.fernandocejas.android10.sample.presentation.model.UserModel; -import com.fernandocejas.android10.sample.presentation.presenter.UserDetailsPresenter; -import com.fernandocejas.android10.sample.presentation.view.UserDetailsView; -import com.fernandocejas.android10.sample.presentation.view.component.AutoLoadImageView; +import com.fernandocejas.android10.sample.app.R; +import com.fernandocejas.android10.sample.app.internal.di.components.UserComponent; +import com.fernandocejas.android10.sample.app.model.UserModel; +import com.fernandocejas.android10.sample.app.presenter.UserDetailsPresenter; +import com.fernandocejas.android10.sample.app.view.UserDetailsView; +import com.fernandocejas.android10.sample.app.view.component.AutoLoadImageView; import javax.inject.Inject; /** diff --git a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/UserListFragment.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/UserListFragment.java similarity index 87% rename from app/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/UserListFragment.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/UserListFragment.java index 6da47c9a..ffbeec01 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/presentation/view/fragment/UserListFragment.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/UserListFragment.java @@ -3,7 +3,7 @@ * * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.presentation.view.fragment; +package com.fernandocejas.android10.sample.app.view.fragment; import android.app.Activity; import android.content.Context; @@ -17,13 +17,13 @@ import butterknife.Bind; import butterknife.ButterKnife; import butterknife.OnClick; -import com.fernandocejas.android10.sample.presentation.R; -import com.fernandocejas.android10.sample.presentation.internal.di.components.UserComponent; -import com.fernandocejas.android10.sample.presentation.model.UserModel; -import com.fernandocejas.android10.sample.presentation.presenter.UserListPresenter; -import com.fernandocejas.android10.sample.presentation.view.UserListView; -import com.fernandocejas.android10.sample.presentation.view.adapter.UsersAdapter; -import com.fernandocejas.android10.sample.presentation.view.adapter.UsersLayoutManager; +import com.fernandocejas.android10.sample.app.R; +import com.fernandocejas.android10.sample.app.internal.di.components.UserComponent; +import com.fernandocejas.android10.sample.app.model.UserModel; +import com.fernandocejas.android10.sample.app.presenter.UserListPresenter; +import com.fernandocejas.android10.sample.app.view.UserListView; +import com.fernandocejas.android10.sample.app.view.adapter.UsersAdapter; +import com.fernandocejas.android10.sample.app.view.adapter.UsersLayoutManager; import java.util.Collection; import javax.inject.Inject; diff --git a/app/src/main/res/layout/view_user_details.xml b/app/src/main/res/layout/view_user_details.xml index 9416c346..856af605 100644 --- a/app/src/main/res/layout/view_user_details.xml +++ b/app/src/main/res/layout/view_user_details.xml @@ -5,7 +5,7 @@ android:orientation="vertical" > - Date: Sun, 31 Jan 2016 14:13:02 +0100 Subject: [PATCH 03/12] Make everything compile in one module. Unit tests passing. Wip. --- app/build.gradle | 27 ++++++-- .../exception/ErrorMessageFactoryTest.java | 4 +- .../test/mapper/UserModelDataMapperTest.java | 6 +- .../presenter/UserDetailsPresenterTest.java | 8 +-- .../test/presenter/UserListPresenterTest.java | 8 +-- .../activity/UserDetailsActivityTest.java | 2 +- .../view/activity/UserListActivityTest.java | 2 +- app/src/main/AndroidManifest.xml | 6 +- .../sample/app/AndroidApplication.java | 6 +- .../{internal => core}/di/HasComponent.java | 2 +- .../{internal => core}/di/PerActivity.java | 2 +- .../di/components/ActivityComponent.java | 8 +-- .../di/components/ApplicationComponent.java | 12 ++-- .../di/components/UserComponent.java | 14 ++-- .../di/modules/ActivityModule.java | 4 +- .../di/modules/ApplicationModule.java | 18 ++--- .../di/modules/UserModule.java | 16 ++--- .../core}/executor/PostExecutionThread.java | 2 +- .../app/{ => core/executor}/UIThread.java | 4 +- .../core}/interactor/DefaultSubscriber.java | 2 +- .../sample/app/core}/interactor/UseCase.java | 8 +-- .../app/{ => core}/presenter/Presenter.java | 2 +- .../view/activity/BaseActivity.java | 12 ++-- .../view/activity/MainActivity.java | 2 +- .../view/component/AutoLoadImageView.java | 2 +- .../view/component}/LoadDataView.java | 2 +- .../view/fragment/BaseFragment.java | 4 +- .../sample/app}/data/cache/FileManager.java | 2 +- .../sample/app}/data/cache/UserCache.java | 4 +- .../sample/app}/data/cache/UserCacheImpl.java | 12 ++-- .../data/cache/serializer/JsonSerializer.java | 4 +- .../sample/app}/data/entity/UserEntity.java | 2 +- .../exception/NetworkConnectionException.java | 2 +- .../data/exception/RepositoryErrorBundle.java | 4 +- .../data/exception/UserNotFoundException.java | 2 +- .../app}/data/executor/JobExecutor.java | 3 +- .../app/data}/executor/ThreadExecutor.java | 7 +- .../data}/mapper/UserEntityDataMapper.java | 8 +-- .../data}/mapper/UserEntityJsonMapper.java | 4 +- .../sample/app}/data/net/ApiConnection.java | 2 +- .../sample/app}/data/net/RestApi.java | 4 +- .../sample/app}/data/net/RestApiImpl.java | 8 +-- .../data/repository/UserDataRepository.java | 12 ++-- .../datasource/CloudUserDataStore.java | 8 +-- .../datasource/DiskUserDataStore.java | 6 +- .../repository/datasource/UserDataStore.java | 4 +- .../datasource/UserDataStoreFactory.java | 10 +-- .../app}/exception/DefaultErrorBundle.java | 2 +- .../sample/app}/exception/ErrorBundle.java | 2 +- .../app/exception/ErrorMessageFactory.java | 4 +- .../sample/app/navigation/Navigator.java | 4 +- .../sample/app/users}/GetUserDetails.java | 9 ++- .../sample/app/users}/GetUserList.java | 9 ++- .../android10/sample/app/users}/User.java | 2 +- .../UserDetailsActivity.java | 12 ++-- .../UserDetailsFragment.java | 10 ++- .../UserDetailsPresenter.java | 17 ++--- .../app/{view => users}/UserDetailsView.java | 4 +- .../activity => users}/UserListActivity.java | 11 ++- .../fragment => users}/UserListFragment.java | 10 +-- .../UserListPresenter.java | 17 ++--- .../app/{view => users}/UserListView.java | 4 +- .../app/{model => users}/UserModel.java | 2 +- .../UserModelDataMapper.java | 6 +- .../sample/app/users}/UserRepository.java | 3 +- .../{view/adapter => users}/UsersAdapter.java | 3 +- .../adapter => users}/UsersLayoutManager.java | 2 +- app/src/main/res/layout/view_user_details.xml | 2 +- .../sample/app}/ApplicationStub.java | 2 +- .../sample/app}/ApplicationTestCase.java | 4 +- .../app}/data/cache/FileManagerTest.java | 4 +- .../cache/serializer/JsonSerializerTest.java | 6 +- .../exception/RepositoryErrorBundleTest.java | 4 +- .../mapper/UserEntityDataMapperTest.java | 8 +-- .../mapper/UserEntityJsonMapperTest.java | 6 +- .../repository/UserDataRepositoryTest.java | 14 ++-- .../datasource/CloudUserDataStoreTest.java | 10 +-- .../datasource/DiskUserDataStoreTest.java | 6 +- .../datasource/UserDataStoreFactoryTest.java | 6 +- .../exception/DefaultErrorBundleTest.java | 4 +- .../sample/app}/interactor/UseCaseTest.java | 9 +-- .../sample/app/users}/GetUserDetailsTest.java | 7 +- .../sample/app/users}/GetUserListTest.java | 7 +- .../android10/sample/app/users}/UserTest.java | 2 +- build.gradle | 14 +--- data/.gitignore | 1 - data/build.gradle | 68 ------------------- data/proguard-rules.pro | 17 ----- data/src/main/AndroidManifest.xml | 5 -- domain/build.gradle | 29 -------- settings.gradle | 2 - 91 files changed, 264 insertions(+), 399 deletions(-) rename app/src/main/java/com/fernandocejas/android10/sample/app/{internal => core}/di/HasComponent.java (92%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{internal => core}/di/PerActivity.java (94%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{internal => core}/di/components/ActivityComponent.java (78%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{internal => core}/di/components/ApplicationComponent.java (71%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{internal => core}/di/components/UserComponent.java (63%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{internal => core}/di/modules/ActivityModule.java (88%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{internal => core}/di/modules/ApplicationModule.java (71%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{internal => core}/di/modules/UserModule.java (69%) rename {domain/src/main/java/com/fernandocejas/android10/sample/domain => app/src/main/java/com/fernandocejas/android10/sample/app/core}/executor/PostExecutionThread.java (94%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{ => core/executor}/UIThread.java (88%) rename {domain/src/main/java/com/fernandocejas/android10/sample/domain => app/src/main/java/com/fernandocejas/android10/sample/app/core}/interactor/DefaultSubscriber.java (93%) rename {domain/src/main/java/com/fernandocejas/android10/sample/domain => app/src/main/java/com/fernandocejas/android10/sample/app/core}/interactor/UseCase.java (91%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{ => core}/presenter/Presenter.java (95%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{ => core}/view/activity/BaseActivity.java (75%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{ => core}/view/activity/MainActivity.java (91%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{ => core}/view/component/AutoLoadImageView.java (99%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{view => core/view/component}/LoadDataView.java (92%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{ => core}/view/fragment/BaseFragment.java (86%) rename {data/src/main/java/com/fernandocejas/android10/sample => app/src/main/java/com/fernandocejas/android10/sample/app}/data/cache/FileManager.java (98%) rename {data/src/main/java/com/fernandocejas/android10/sample => app/src/main/java/com/fernandocejas/android10/sample/app}/data/cache/UserCache.java (92%) rename {data/src/main/java/com/fernandocejas/android10/sample => app/src/main/java/com/fernandocejas/android10/sample/app}/data/cache/UserCacheImpl.java (93%) rename {data/src/main/java/com/fernandocejas/android10/sample => app/src/main/java/com/fernandocejas/android10/sample/app}/data/cache/serializer/JsonSerializer.java (91%) rename {data/src/main/java/com/fernandocejas/android10/sample => app/src/main/java/com/fernandocejas/android10/sample/app}/data/entity/UserEntity.java (97%) rename {data/src/main/java/com/fernandocejas/android10/sample => app/src/main/java/com/fernandocejas/android10/sample/app}/data/exception/NetworkConnectionException.java (94%) rename {data/src/main/java/com/fernandocejas/android10/sample => app/src/main/java/com/fernandocejas/android10/sample/app}/data/exception/RepositoryErrorBundle.java (89%) rename {data/src/main/java/com/fernandocejas/android10/sample => app/src/main/java/com/fernandocejas/android10/sample/app}/data/exception/UserNotFoundException.java (94%) rename {data/src/main/java/com/fernandocejas/android10/sample => app/src/main/java/com/fernandocejas/android10/sample/app}/data/executor/JobExecutor.java (94%) rename {domain/src/main/java/com/fernandocejas/android10/sample/domain => app/src/main/java/com/fernandocejas/android10/sample/app/data}/executor/ThreadExecutor.java (74%) rename {data/src/main/java/com/fernandocejas/android10/sample/data/entity => app/src/main/java/com/fernandocejas/android10/sample/app/data}/mapper/UserEntityDataMapper.java (90%) rename {data/src/main/java/com/fernandocejas/android10/sample/data/entity => app/src/main/java/com/fernandocejas/android10/sample/app/data}/mapper/UserEntityJsonMapper.java (95%) rename {data/src/main/java/com/fernandocejas/android10/sample => app/src/main/java/com/fernandocejas/android10/sample/app}/data/net/ApiConnection.java (97%) rename {data/src/main/java/com/fernandocejas/android10/sample => app/src/main/java/com/fernandocejas/android10/sample/app}/data/net/RestApi.java (91%) rename {data/src/main/java/com/fernandocejas/android10/sample => app/src/main/java/com/fernandocejas/android10/sample/app}/data/net/RestApiImpl.java (93%) rename {data/src/main/java/com/fernandocejas/android10/sample => app/src/main/java/com/fernandocejas/android10/sample/app}/data/repository/UserDataRepository.java (81%) rename {data/src/main/java/com/fernandocejas/android10/sample => app/src/main/java/com/fernandocejas/android10/sample/app}/data/repository/datasource/CloudUserDataStore.java (86%) rename {data/src/main/java/com/fernandocejas/android10/sample => app/src/main/java/com/fernandocejas/android10/sample/app}/data/repository/datasource/DiskUserDataStore.java (87%) rename {data/src/main/java/com/fernandocejas/android10/sample => app/src/main/java/com/fernandocejas/android10/sample/app}/data/repository/datasource/UserDataStore.java (88%) rename {data/src/main/java/com/fernandocejas/android10/sample => app/src/main/java/com/fernandocejas/android10/sample/app}/data/repository/datasource/UserDataStoreFactory.java (84%) rename {domain/src/main/java/com/fernandocejas/android10/sample/domain => app/src/main/java/com/fernandocejas/android10/sample/app}/exception/DefaultErrorBundle.java (94%) rename {domain/src/main/java/com/fernandocejas/android10/sample/domain => app/src/main/java/com/fernandocejas/android10/sample/app}/exception/ErrorBundle.java (93%) rename {domain/src/main/java/com/fernandocejas/android10/sample/domain/interactor => app/src/main/java/com/fernandocejas/android10/sample/app/users}/GetUserDetails.java (79%) rename {domain/src/main/java/com/fernandocejas/android10/sample/domain/interactor => app/src/main/java/com/fernandocejas/android10/sample/app/users}/GetUserList.java (78%) rename {domain/src/main/java/com/fernandocejas/android10/sample/domain => app/src/main/java/com/fernandocejas/android10/sample/app/users}/User.java (97%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{view/activity => users}/UserDetailsActivity.java (82%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{view/fragment => users}/UserDetailsFragment.java (89%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{presenter => users}/UserDetailsPresenter.java (83%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{view => users}/UserDetailsView.java (77%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{view/activity => users}/UserListActivity.java (76%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{view/fragment => users}/UserListFragment.java (90%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{presenter => users}/UserListPresenter.java (83%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{view => users}/UserListView.java (84%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{model => users}/UserModel.java (97%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{mapper => users}/UserModelDataMapper.java (90%) rename {domain/src/main/java/com/fernandocejas/android10/sample/domain/repository => app/src/main/java/com/fernandocejas/android10/sample/app/users}/UserRepository.java (90%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{view/adapter => users}/UsersAdapter.java (95%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{view/adapter => users}/UsersLayoutManager.java (87%) rename {data/src/test/java/com/fernandocejas/android10/sample/data => app/src/test/java/com/fernandocejas/android10/sample/app}/ApplicationStub.java (93%) rename {data/src/test/java/com/fernandocejas/android10/sample/data => app/src/test/java/com/fernandocejas/android10/sample/app}/ApplicationTestCase.java (90%) rename {data/src/test/java/com/fernandocejas/android10/sample => app/src/test/java/com/fernandocejas/android10/sample/app}/data/cache/FileManagerTest.java (94%) rename {data/src/test/java/com/fernandocejas/android10/sample => app/src/test/java/com/fernandocejas/android10/sample/app}/data/cache/serializer/JsonSerializerTest.java (92%) rename {data/src/test/java/com/fernandocejas/android10/sample => app/src/test/java/com/fernandocejas/android10/sample/app}/data/exception/RepositoryErrorBundleTest.java (90%) rename {data/src/test/java/com/fernandocejas/android10/sample/data/entity => app/src/test/java/com/fernandocejas/android10/sample/app/data}/mapper/UserEntityDataMapperTest.java (90%) rename {data/src/test/java/com/fernandocejas/android10/sample/data/entity => app/src/test/java/com/fernandocejas/android10/sample/app/data}/mapper/UserEntityJsonMapperTest.java (94%) rename {data/src/test/java/com/fernandocejas/android10/sample => app/src/test/java/com/fernandocejas/android10/sample/app}/data/repository/UserDataRepositoryTest.java (83%) rename {data/src/test/java/com/fernandocejas/android10/sample => app/src/test/java/com/fernandocejas/android10/sample/app}/data/repository/datasource/CloudUserDataStoreTest.java (83%) rename {data/src/test/java/com/fernandocejas/android10/sample => app/src/test/java/com/fernandocejas/android10/sample/app}/data/repository/datasource/DiskUserDataStoreTest.java (88%) rename {data/src/test/java/com/fernandocejas/android10/sample => app/src/test/java/com/fernandocejas/android10/sample/app}/data/repository/datasource/UserDataStoreFactoryTest.java (91%) rename {domain/src/test/java/com/fernandocejas/android10/sample/domain => app/src/test/java/com/fernandocejas/android10/sample/app}/exception/DefaultErrorBundleTest.java (95%) rename {domain/src/test/java/com/fernandocejas/android10/sample/domain => app/src/test/java/com/fernandocejas/android10/sample/app}/interactor/UseCaseTest.java (89%) rename {domain/src/test/java/com/fernandocejas/android10/sample/domain/interactor => app/src/test/java/com/fernandocejas/android10/sample/app/users}/GetUserDetailsTest.java (85%) rename {domain/src/test/java/com/fernandocejas/android10/sample/domain/interactor => app/src/test/java/com/fernandocejas/android10/sample/app/users}/GetUserListTest.java (84%) rename {domain/src/test/java/com/fernandocejas/android10/sample/domain => app/src/test/java/com/fernandocejas/android10/sample/app/users}/UserTest.java (95%) delete mode 100644 data/.gitignore delete mode 100644 data/build.gradle delete mode 100644 data/proguard-rules.pro delete mode 100644 data/src/main/AndroidManifest.xml delete mode 100644 domain/build.gradle diff --git a/app/build.gradle b/app/build.gradle index be2b2abb..2d3501d8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,6 +1,16 @@ +buildscript { + repositories { + mavenCentral() + } + dependencies { + classpath 'me.tatarka:gradle-retrolambda:3.2.3' + } +} + apply plugin: 'com.android.application' apply plugin: 'com.neenbedankt.android-apt' apply plugin: 'com.fernandocejas.frodo' +apply plugin: 'me.tatarka.retrolambda' frodo { enabled = true @@ -24,8 +34,8 @@ android { } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_7 - targetCompatibility JavaVersion.VERSION_1_7 + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 } packagingOptions { @@ -65,17 +75,19 @@ android { dependencies { def presentationDependencies = rootProject.ext.presentationDependencies def presentationTestDependencies = rootProject.ext.presentationTestDependencies + def dataDependencies = rootProject.ext.dataDependencies + def testDependencies = rootProject.ext.dataTestDependencies def developmentDependencies = rootProject.ext.developmentDependencies - compile project(':domain') - compile project(':data') - apt presentationDependencies.daggerCompiler compile presentationDependencies.dagger + compile dataDependencies.okHttp + compile dataDependencies.gson compile presentationDependencies.butterKnife compile presentationDependencies.recyclerView compile presentationDependencies.rxJava compile presentationDependencies.rxAndroid + compile dataDependencies.androidAnnotations provided presentationDependencies.javaxAnnotation androidTestCompile presentationTestDependencies.mockito @@ -84,6 +96,11 @@ dependencies { androidTestCompile presentationTestDependencies.espresso androidTestCompile presentationTestDependencies.testingSupportLib + testCompile testDependencies.junit + testCompile testDependencies.assertj + testCompile testDependencies.mockito + testCompile testDependencies.robolectric + //Development compile developmentDependencies.leakCanary } diff --git a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java index cbc71780..7c4789fc 100644 --- a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java +++ b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java @@ -16,8 +16,8 @@ package com.fernandocejas.android10.sample.test.exception; import android.test.AndroidTestCase; -import com.fernandocejas.android10.sample.data.exception.NetworkConnectionException; -import com.fernandocejas.android10.sample.data.exception.UserNotFoundException; +import com.fernandocejas.android10.sample.app.data.exception.NetworkConnectionException; +import com.fernandocejas.android10.sample.app.data.exception.UserNotFoundException; import com.fernandocejas.android10.sample.app.R; import com.fernandocejas.android10.sample.app.exception.ErrorMessageFactory; diff --git a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/mapper/UserModelDataMapperTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/mapper/UserModelDataMapperTest.java index 093c24c7..e48b4df1 100644 --- a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/mapper/UserModelDataMapperTest.java +++ b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/mapper/UserModelDataMapperTest.java @@ -15,9 +15,9 @@ */ package com.fernandocejas.android10.sample.test.mapper; -import com.fernandocejas.android10.sample.domain.User; -import com.fernandocejas.android10.sample.app.mapper.UserModelDataMapper; -import com.fernandocejas.android10.sample.app.model.UserModel; +import com.fernandocejas.android10.sample.app.users.User; +import com.fernandocejas.android10.sample.app.users.UserModelDataMapper; +import com.fernandocejas.android10.sample.app.users.UserModel; import java.util.ArrayList; import java.util.Collection; import java.util.List; diff --git a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserDetailsPresenterTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserDetailsPresenterTest.java index 461e89f5..124fafa1 100644 --- a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserDetailsPresenterTest.java +++ b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserDetailsPresenterTest.java @@ -17,10 +17,10 @@ import android.content.Context; import android.test.AndroidTestCase; -import com.fernandocejas.android10.sample.domain.interactor.GetUserDetails; -import com.fernandocejas.android10.sample.app.mapper.UserModelDataMapper; -import com.fernandocejas.android10.sample.app.presenter.UserDetailsPresenter; -import com.fernandocejas.android10.sample.app.view.UserDetailsView; +import com.fernandocejas.android10.sample.app.users.GetUserDetails; +import com.fernandocejas.android10.sample.app.users.UserModelDataMapper; +import com.fernandocejas.android10.sample.app.users.UserDetailsPresenter; +import com.fernandocejas.android10.sample.app.users.UserDetailsView; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import rx.Subscriber; diff --git a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserListPresenterTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserListPresenterTest.java index cd2ec8c6..8a7abfed 100644 --- a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserListPresenterTest.java +++ b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserListPresenterTest.java @@ -17,10 +17,10 @@ import android.content.Context; import android.test.AndroidTestCase; -import com.fernandocejas.android10.sample.domain.interactor.GetUserList; -import com.fernandocejas.android10.sample.app.mapper.UserModelDataMapper; -import com.fernandocejas.android10.sample.app.presenter.UserListPresenter; -import com.fernandocejas.android10.sample.app.view.UserListView; +import com.fernandocejas.android10.sample.app.users.GetUserList; +import com.fernandocejas.android10.sample.app.users.UserModelDataMapper; +import com.fernandocejas.android10.sample.app.users.UserListPresenter; +import com.fernandocejas.android10.sample.app.users.UserListView; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import rx.Subscriber; diff --git a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserDetailsActivityTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserDetailsActivityTest.java index 6f377e14..423ced0c 100644 --- a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserDetailsActivityTest.java +++ b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserDetailsActivityTest.java @@ -19,7 +19,7 @@ import android.content.Intent; import android.test.ActivityInstrumentationTestCase2; import com.fernandocejas.android10.sample.app.R; -import com.fernandocejas.android10.sample.app.view.activity.UserDetailsActivity; +import com.fernandocejas.android10.sample.app.users.UserDetailsActivity; import static android.support.test.espresso.Espresso.onView; import static android.support.test.espresso.assertion.ViewAssertions.matches; diff --git a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserListActivityTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserListActivityTest.java index 2f9c912f..77ccbb0d 100644 --- a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserListActivityTest.java +++ b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserListActivityTest.java @@ -19,7 +19,7 @@ import android.content.Intent; import android.test.ActivityInstrumentationTestCase2; import com.fernandocejas.android10.sample.app.R; -import com.fernandocejas.android10.sample.app.view.activity.UserListActivity; +import com.fernandocejas.android10.sample.app.users.UserListActivity; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.notNullValue; diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 57d037da..a5cf2d73 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -13,7 +13,7 @@ android:theme="@style/AppTheme"> @@ -22,12 +22,12 @@ diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/AndroidApplication.java b/app/src/main/java/com/fernandocejas/android10/sample/app/AndroidApplication.java index 09e65c5a..1f20ff75 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/AndroidApplication.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/AndroidApplication.java @@ -16,9 +16,9 @@ package com.fernandocejas.android10.sample.app; import android.app.Application; -import com.fernandocejas.android10.sample.app.internal.di.components.ApplicationComponent; -import com.fernandocejas.android10.sample.app.internal.di.components.DaggerApplicationComponent; -import com.fernandocejas.android10.sample.app.internal.di.modules.ApplicationModule; +import com.fernandocejas.android10.sample.app.core.di.components.ApplicationComponent; +import com.fernandocejas.android10.sample.app.core.di.components.DaggerApplicationComponent; +import com.fernandocejas.android10.sample.app.core.di.modules.ApplicationModule; import com.squareup.leakcanary.LeakCanary; /** diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/HasComponent.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/HasComponent.java similarity index 92% rename from app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/HasComponent.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/di/HasComponent.java index 8fa5a483..ffc7e6c5 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/HasComponent.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/HasComponent.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.internal.di; +package com.fernandocejas.android10.sample.app.core.di; /** * Interface representing a contract for clients that contains a component for dependency injection. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/PerActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/PerActivity.java similarity index 94% rename from app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/PerActivity.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/di/PerActivity.java index c2266f53..0022703c 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/PerActivity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/PerActivity.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.internal.di; +package com.fernandocejas.android10.sample.app.core.di; import java.lang.annotation.Retention; import javax.inject.Scope; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/components/ActivityComponent.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ActivityComponent.java similarity index 78% rename from app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/components/ActivityComponent.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ActivityComponent.java index df8c049d..2ff16d27 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/components/ActivityComponent.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ActivityComponent.java @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.internal.di.components; +package com.fernandocejas.android10.sample.app.core.di.components; import android.app.Activity; -import com.fernandocejas.android10.sample.app.internal.di.PerActivity; -import com.fernandocejas.android10.sample.app.internal.di.modules.ActivityModule; +import com.fernandocejas.android10.sample.app.core.di.PerActivity; +import com.fernandocejas.android10.sample.app.core.di.modules.ActivityModule; import dagger.Component; /** @@ -25,7 +25,7 @@ * Activity-level components should extend this component. * * Subtypes of ActivityComponent should be decorated with annotation: - * {@link com.fernandocejas.android10.sample.app.internal.di.PerActivity} + * {@link PerActivity} */ @PerActivity @Component(dependencies = ApplicationComponent.class, modules = ActivityModule.class) diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/components/ApplicationComponent.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ApplicationComponent.java similarity index 71% rename from app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/components/ApplicationComponent.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ApplicationComponent.java index f14962d6..82b2c26c 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/components/ApplicationComponent.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ApplicationComponent.java @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.internal.di.components; +package com.fernandocejas.android10.sample.app.core.di.components; import android.content.Context; -import com.fernandocejas.android10.sample.domain.executor.PostExecutionThread; -import com.fernandocejas.android10.sample.domain.executor.ThreadExecutor; -import com.fernandocejas.android10.sample.domain.repository.UserRepository; -import com.fernandocejas.android10.sample.app.internal.di.modules.ApplicationModule; -import com.fernandocejas.android10.sample.app.view.activity.BaseActivity; +import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; +import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor; +import com.fernandocejas.android10.sample.app.users.UserRepository; +import com.fernandocejas.android10.sample.app.core.di.modules.ApplicationModule; +import com.fernandocejas.android10.sample.app.core.view.activity.BaseActivity; import dagger.Component; import javax.inject.Singleton; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/components/UserComponent.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/UserComponent.java similarity index 63% rename from app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/components/UserComponent.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/UserComponent.java index e8bd2d44..bfccc495 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/components/UserComponent.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/UserComponent.java @@ -13,17 +13,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.internal.di.components; +package com.fernandocejas.android10.sample.app.core.di.components; -import com.fernandocejas.android10.sample.app.internal.di.PerActivity; -import com.fernandocejas.android10.sample.app.internal.di.modules.ActivityModule; -import com.fernandocejas.android10.sample.app.internal.di.modules.UserModule; -import com.fernandocejas.android10.sample.app.view.fragment.UserDetailsFragment; -import com.fernandocejas.android10.sample.app.view.fragment.UserListFragment; +import com.fernandocejas.android10.sample.app.core.di.PerActivity; +import com.fernandocejas.android10.sample.app.core.di.modules.ActivityModule; +import com.fernandocejas.android10.sample.app.core.di.modules.UserModule; +import com.fernandocejas.android10.sample.app.users.UserDetailsFragment; +import com.fernandocejas.android10.sample.app.users.UserListFragment; import dagger.Component; /** - * A scope {@link com.fernandocejas.android10.sample.app.internal.di.PerActivity} component. + * A scope {@link PerActivity} component. * Injects user specific Fragments. */ @PerActivity diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/modules/ActivityModule.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/ActivityModule.java similarity index 88% rename from app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/modules/ActivityModule.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/ActivityModule.java index 751d3285..84fcb472 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/modules/ActivityModule.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/ActivityModule.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.internal.di.modules; +package com.fernandocejas.android10.sample.app.core.di.modules; import android.app.Activity; -import com.fernandocejas.android10.sample.app.internal.di.PerActivity; +import com.fernandocejas.android10.sample.app.core.di.PerActivity; import dagger.Module; import dagger.Provides; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/modules/ApplicationModule.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/ApplicationModule.java similarity index 71% rename from app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/modules/ApplicationModule.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/ApplicationModule.java index b28ee99e..a358a80e 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/modules/ApplicationModule.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/ApplicationModule.java @@ -13,18 +13,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.internal.di.modules; +package com.fernandocejas.android10.sample.app.core.di.modules; import android.content.Context; -import com.fernandocejas.android10.sample.data.cache.UserCache; -import com.fernandocejas.android10.sample.data.cache.UserCacheImpl; -import com.fernandocejas.android10.sample.data.executor.JobExecutor; -import com.fernandocejas.android10.sample.data.repository.UserDataRepository; -import com.fernandocejas.android10.sample.domain.executor.PostExecutionThread; -import com.fernandocejas.android10.sample.domain.executor.ThreadExecutor; -import com.fernandocejas.android10.sample.domain.repository.UserRepository; +import com.fernandocejas.android10.sample.app.data.cache.UserCache; +import com.fernandocejas.android10.sample.app.data.cache.UserCacheImpl; +import com.fernandocejas.android10.sample.app.data.executor.JobExecutor; +import com.fernandocejas.android10.sample.app.data.repository.UserDataRepository; +import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; +import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor; +import com.fernandocejas.android10.sample.app.users.UserRepository; import com.fernandocejas.android10.sample.app.AndroidApplication; -import com.fernandocejas.android10.sample.app.UIThread; +import com.fernandocejas.android10.sample.app.core.executor.UIThread; import dagger.Module; import dagger.Provides; import javax.inject.Singleton; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/modules/UserModule.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/UserModule.java similarity index 69% rename from app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/modules/UserModule.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/UserModule.java index 85ac77ff..86654cde 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/modules/UserModule.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/UserModule.java @@ -13,15 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.internal.di.modules; +package com.fernandocejas.android10.sample.app.core.di.modules; -import com.fernandocejas.android10.sample.domain.executor.PostExecutionThread; -import com.fernandocejas.android10.sample.domain.executor.ThreadExecutor; -import com.fernandocejas.android10.sample.domain.interactor.GetUserDetails; -import com.fernandocejas.android10.sample.domain.interactor.GetUserList; -import com.fernandocejas.android10.sample.domain.interactor.UseCase; -import com.fernandocejas.android10.sample.domain.repository.UserRepository; -import com.fernandocejas.android10.sample.app.internal.di.PerActivity; +import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; +import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor; +import com.fernandocejas.android10.sample.app.users.GetUserDetails; +import com.fernandocejas.android10.sample.app.users.GetUserList; +import com.fernandocejas.android10.sample.app.core.interactor.UseCase; +import com.fernandocejas.android10.sample.app.users.UserRepository; +import com.fernandocejas.android10.sample.app.core.di.PerActivity; import dagger.Module; import dagger.Provides; import javax.inject.Named; diff --git a/domain/src/main/java/com/fernandocejas/android10/sample/domain/executor/PostExecutionThread.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/PostExecutionThread.java similarity index 94% rename from domain/src/main/java/com/fernandocejas/android10/sample/domain/executor/PostExecutionThread.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/PostExecutionThread.java index a69f2859..4e212d6f 100644 --- a/domain/src/main/java/com/fernandocejas/android10/sample/domain/executor/PostExecutionThread.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/PostExecutionThread.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.domain.executor; +package com.fernandocejas.android10.sample.app.core.executor; import rx.Scheduler; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/UIThread.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/UIThread.java similarity index 88% rename from app/src/main/java/com/fernandocejas/android10/sample/app/UIThread.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/UIThread.java index 70750d9e..64272223 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/UIThread.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/UIThread.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app; +package com.fernandocejas.android10.sample.app.core.executor; -import com.fernandocejas.android10.sample.domain.executor.PostExecutionThread; +import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; import javax.inject.Inject; import javax.inject.Singleton; import rx.Scheduler; diff --git a/domain/src/main/java/com/fernandocejas/android10/sample/domain/interactor/DefaultSubscriber.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/interactor/DefaultSubscriber.java similarity index 93% rename from domain/src/main/java/com/fernandocejas/android10/sample/domain/interactor/DefaultSubscriber.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/interactor/DefaultSubscriber.java index 81abea5c..1ef07588 100644 --- a/domain/src/main/java/com/fernandocejas/android10/sample/domain/interactor/DefaultSubscriber.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/interactor/DefaultSubscriber.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.domain.interactor; +package com.fernandocejas.android10.sample.app.core.interactor; /** * Default subscriber base class to be used whenever you want default error handling. diff --git a/domain/src/main/java/com/fernandocejas/android10/sample/domain/interactor/UseCase.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/interactor/UseCase.java similarity index 91% rename from domain/src/main/java/com/fernandocejas/android10/sample/domain/interactor/UseCase.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/interactor/UseCase.java index 5bb63005..8cdd8638 100644 --- a/domain/src/main/java/com/fernandocejas/android10/sample/domain/interactor/UseCase.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/interactor/UseCase.java @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.domain.interactor; +package com.fernandocejas.android10.sample.app.core.interactor; -import com.fernandocejas.android10.sample.domain.executor.PostExecutionThread; -import com.fernandocejas.android10.sample.domain.executor.ThreadExecutor; -import rx.Subscriber; +import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; +import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor; import rx.Observable; +import rx.Subscriber; import rx.Subscription; import rx.schedulers.Schedulers; import rx.subscriptions.Subscriptions; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/presenter/Presenter.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/presenter/Presenter.java similarity index 95% rename from app/src/main/java/com/fernandocejas/android10/sample/app/presenter/Presenter.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/presenter/Presenter.java index 1ea546aa..f8751c86 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/presenter/Presenter.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/presenter/Presenter.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.presenter; +package com.fernandocejas.android10.sample.app.core.presenter; /** * Interface representing a Presenter in a model view presenter (MVP) pattern. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/BaseActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/activity/BaseActivity.java similarity index 75% rename from app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/BaseActivity.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/view/activity/BaseActivity.java index 686f893b..65bf2824 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/BaseActivity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/activity/BaseActivity.java @@ -1,12 +1,12 @@ -package com.fernandocejas.android10.sample.app.view.activity; +package com.fernandocejas.android10.sample.app.core.view.activity; import android.app.Activity; import android.app.Fragment; import android.app.FragmentTransaction; import android.os.Bundle; import com.fernandocejas.android10.sample.app.AndroidApplication; -import com.fernandocejas.android10.sample.app.internal.di.components.ApplicationComponent; -import com.fernandocejas.android10.sample.app.internal.di.modules.ActivityModule; +import com.fernandocejas.android10.sample.app.core.di.components.ApplicationComponent; +import com.fernandocejas.android10.sample.app.core.di.modules.ActivityModule; import com.fernandocejas.android10.sample.app.navigation.Navigator; import javax.inject.Inject; @@ -15,7 +15,7 @@ */ public abstract class BaseActivity extends Activity { - @Inject Navigator navigator; + @Inject protected Navigator navigator; @Override protected void onCreate(Bundle savedInstanceState) { @@ -38,7 +38,7 @@ protected void addFragment(int containerViewId, Fragment fragment) { /** * Get the Main Application component for dependency injection. * - * @return {@link com.fernandocejas.android10.sample.app.internal.di.components.ApplicationComponent} + * @return {@link com.fernandocejas.android10.sample.app.core.di.components.ApplicationComponent} */ protected ApplicationComponent getApplicationComponent() { return ((AndroidApplication) getApplication()).getApplicationComponent(); @@ -47,7 +47,7 @@ protected ApplicationComponent getApplicationComponent() { /** * Get an Activity module for dependency injection. * - * @return {@link com.fernandocejas.android10.sample.app.internal.di.modules.ActivityModule} + * @return {@link com.fernandocejas.android10.sample.app.core.di.modules.ActivityModule} */ protected ActivityModule getActivityModule() { return new ActivityModule(this); diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/MainActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/activity/MainActivity.java similarity index 91% rename from app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/MainActivity.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/view/activity/MainActivity.java index 62648c5f..df4591a6 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/MainActivity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/activity/MainActivity.java @@ -1,4 +1,4 @@ -package com.fernandocejas.android10.sample.app.view.activity; +package com.fernandocejas.android10.sample.app.core.view.activity; import android.os.Bundle; import android.widget.Button; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/view/component/AutoLoadImageView.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/component/AutoLoadImageView.java similarity index 99% rename from app/src/main/java/com/fernandocejas/android10/sample/app/view/component/AutoLoadImageView.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/view/component/AutoLoadImageView.java index 740dffe8..ce95bf35 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/view/component/AutoLoadImageView.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/component/AutoLoadImageView.java @@ -3,7 +3,7 @@ * * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.app.view.component; +package com.fernandocejas.android10.sample.app.core.view.component; import android.app.Activity; import android.content.Context; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/view/LoadDataView.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/component/LoadDataView.java similarity index 92% rename from app/src/main/java/com/fernandocejas/android10/sample/app/view/LoadDataView.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/view/component/LoadDataView.java index 82956f1c..d654269d 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/view/LoadDataView.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/component/LoadDataView.java @@ -2,7 +2,7 @@ * Copyright (C) 2014 android10.org. All rights reserved. * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.app.view; +package com.fernandocejas.android10.sample.app.core.view.component; import android.content.Context; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/BaseFragment.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/fragment/BaseFragment.java similarity index 86% rename from app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/BaseFragment.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/view/fragment/BaseFragment.java index c9d79618..4762b70d 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/BaseFragment.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/fragment/BaseFragment.java @@ -3,11 +3,11 @@ * * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.app.view.fragment; +package com.fernandocejas.android10.sample.app.core.view.fragment; import android.app.Fragment; import android.widget.Toast; -import com.fernandocejas.android10.sample.app.internal.di.HasComponent; +import com.fernandocejas.android10.sample.app.core.di.HasComponent; /** * Base {@link android.app.Fragment} class for every fragment in this application. diff --git a/data/src/main/java/com/fernandocejas/android10/sample/data/cache/FileManager.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/FileManager.java similarity index 98% rename from data/src/main/java/com/fernandocejas/android10/sample/data/cache/FileManager.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/FileManager.java index 2cdd43b4..20b56eaa 100644 --- a/data/src/main/java/com/fernandocejas/android10/sample/data/cache/FileManager.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/FileManager.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.data.cache; +package com.fernandocejas.android10.sample.app.data.cache; import android.content.Context; import android.content.SharedPreferences; diff --git a/data/src/main/java/com/fernandocejas/android10/sample/data/cache/UserCache.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/UserCache.java similarity index 92% rename from data/src/main/java/com/fernandocejas/android10/sample/data/cache/UserCache.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/UserCache.java index 302cb760..f7d6c6da 100644 --- a/data/src/main/java/com/fernandocejas/android10/sample/data/cache/UserCache.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/UserCache.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.data.cache; +package com.fernandocejas.android10.sample.app.data.cache; -import com.fernandocejas.android10.sample.data.entity.UserEntity; +import com.fernandocejas.android10.sample.app.data.entity.UserEntity; import rx.Observable; /** diff --git a/data/src/main/java/com/fernandocejas/android10/sample/data/cache/UserCacheImpl.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/UserCacheImpl.java similarity index 93% rename from data/src/main/java/com/fernandocejas/android10/sample/data/cache/UserCacheImpl.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/UserCacheImpl.java index 32367fb4..11e5f434 100644 --- a/data/src/main/java/com/fernandocejas/android10/sample/data/cache/UserCacheImpl.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/UserCacheImpl.java @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.data.cache; +package com.fernandocejas.android10.sample.app.data.cache; import android.content.Context; -import com.fernandocejas.android10.sample.data.cache.serializer.JsonSerializer; -import com.fernandocejas.android10.sample.data.entity.UserEntity; -import com.fernandocejas.android10.sample.data.exception.UserNotFoundException; -import com.fernandocejas.android10.sample.domain.executor.ThreadExecutor; +import com.fernandocejas.android10.sample.app.data.cache.serializer.JsonSerializer; +import com.fernandocejas.android10.sample.app.data.entity.UserEntity; +import com.fernandocejas.android10.sample.app.data.exception.UserNotFoundException; +import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor; import java.io.File; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/data/src/main/java/com/fernandocejas/android10/sample/data/cache/serializer/JsonSerializer.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/serializer/JsonSerializer.java similarity index 91% rename from data/src/main/java/com/fernandocejas/android10/sample/data/cache/serializer/JsonSerializer.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/serializer/JsonSerializer.java index 6e053187..38b8f5e2 100644 --- a/data/src/main/java/com/fernandocejas/android10/sample/data/cache/serializer/JsonSerializer.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/serializer/JsonSerializer.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.data.cache.serializer; +package com.fernandocejas.android10.sample.app.data.cache.serializer; -import com.fernandocejas.android10.sample.data.entity.UserEntity; +import com.fernandocejas.android10.sample.app.data.entity.UserEntity; import com.google.gson.Gson; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/data/src/main/java/com/fernandocejas/android10/sample/data/entity/UserEntity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/entity/UserEntity.java similarity index 97% rename from data/src/main/java/com/fernandocejas/android10/sample/data/entity/UserEntity.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/entity/UserEntity.java index 8d8fb1fc..f916fb84 100644 --- a/data/src/main/java/com/fernandocejas/android10/sample/data/entity/UserEntity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/entity/UserEntity.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.data.entity; +package com.fernandocejas.android10.sample.app.data.entity; import com.google.gson.annotations.SerializedName; diff --git a/data/src/main/java/com/fernandocejas/android10/sample/data/exception/NetworkConnectionException.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/exception/NetworkConnectionException.java similarity index 94% rename from data/src/main/java/com/fernandocejas/android10/sample/data/exception/NetworkConnectionException.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/exception/NetworkConnectionException.java index 987a106b..44865ebe 100644 --- a/data/src/main/java/com/fernandocejas/android10/sample/data/exception/NetworkConnectionException.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/exception/NetworkConnectionException.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.data.exception; +package com.fernandocejas.android10.sample.app.data.exception; /** * Exception throw by the application when a there is a network connection exception. diff --git a/data/src/main/java/com/fernandocejas/android10/sample/data/exception/RepositoryErrorBundle.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/exception/RepositoryErrorBundle.java similarity index 89% rename from data/src/main/java/com/fernandocejas/android10/sample/data/exception/RepositoryErrorBundle.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/exception/RepositoryErrorBundle.java index c232adbe..704e5ed5 100644 --- a/data/src/main/java/com/fernandocejas/android10/sample/data/exception/RepositoryErrorBundle.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/exception/RepositoryErrorBundle.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.data.exception; +package com.fernandocejas.android10.sample.app.data.exception; -import com.fernandocejas.android10.sample.domain.exception.ErrorBundle; +import com.fernandocejas.android10.sample.app.exception.ErrorBundle; /** * Wrapper around Exceptions used to manage errors in the repository. diff --git a/data/src/main/java/com/fernandocejas/android10/sample/data/exception/UserNotFoundException.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/exception/UserNotFoundException.java similarity index 94% rename from data/src/main/java/com/fernandocejas/android10/sample/data/exception/UserNotFoundException.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/exception/UserNotFoundException.java index 8667eaa4..c92f2b93 100644 --- a/data/src/main/java/com/fernandocejas/android10/sample/data/exception/UserNotFoundException.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/exception/UserNotFoundException.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.data.exception; +package com.fernandocejas.android10.sample.app.data.exception; /** * Exception throw by the application when a User search can't return a valid result. diff --git a/data/src/main/java/com/fernandocejas/android10/sample/data/executor/JobExecutor.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/executor/JobExecutor.java similarity index 94% rename from data/src/main/java/com/fernandocejas/android10/sample/data/executor/JobExecutor.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/executor/JobExecutor.java index c82177d0..4f8816ef 100644 --- a/data/src/main/java/com/fernandocejas/android10/sample/data/executor/JobExecutor.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/executor/JobExecutor.java @@ -13,9 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.data.executor; +package com.fernandocejas.android10.sample.app.data.executor; -import com.fernandocejas.android10.sample.domain.executor.ThreadExecutor; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadFactory; diff --git a/domain/src/main/java/com/fernandocejas/android10/sample/domain/executor/ThreadExecutor.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/executor/ThreadExecutor.java similarity index 74% rename from domain/src/main/java/com/fernandocejas/android10/sample/domain/executor/ThreadExecutor.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/executor/ThreadExecutor.java index ef19ebcc..bd5af515 100644 --- a/domain/src/main/java/com/fernandocejas/android10/sample/domain/executor/ThreadExecutor.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/executor/ThreadExecutor.java @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -13,13 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.domain.executor; +package com.fernandocejas.android10.sample.app.data.executor; import java.util.concurrent.Executor; /** * Executor implementation can be based on different frameworks or techniques of asynchronous - * execution, but every implementation will execute the - * {@link com.fernandocejas.android10.sample.domain.interactor.UseCase} out of the UI thread. + * execution, but every implementation will execute UseCases out of the UI thread. */ public interface ThreadExecutor extends Executor {} diff --git a/data/src/main/java/com/fernandocejas/android10/sample/data/entity/mapper/UserEntityDataMapper.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/mapper/UserEntityDataMapper.java similarity index 90% rename from data/src/main/java/com/fernandocejas/android10/sample/data/entity/mapper/UserEntityDataMapper.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/mapper/UserEntityDataMapper.java index 1ecbdcdc..9392c896 100644 --- a/data/src/main/java/com/fernandocejas/android10/sample/data/entity/mapper/UserEntityDataMapper.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/mapper/UserEntityDataMapper.java @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.data.entity.mapper; +package com.fernandocejas.android10.sample.app.data.mapper; -import com.fernandocejas.android10.sample.data.entity.UserEntity; -import com.fernandocejas.android10.sample.domain.User; +import com.fernandocejas.android10.sample.app.data.entity.UserEntity; +import com.fernandocejas.android10.sample.app.users.User; import java.util.ArrayList; import java.util.Collection; import java.util.List; diff --git a/data/src/main/java/com/fernandocejas/android10/sample/data/entity/mapper/UserEntityJsonMapper.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/mapper/UserEntityJsonMapper.java similarity index 95% rename from data/src/main/java/com/fernandocejas/android10/sample/data/entity/mapper/UserEntityJsonMapper.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/mapper/UserEntityJsonMapper.java index 8e8dca90..9f55712b 100644 --- a/data/src/main/java/com/fernandocejas/android10/sample/data/entity/mapper/UserEntityJsonMapper.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/mapper/UserEntityJsonMapper.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.data.entity.mapper; +package com.fernandocejas.android10.sample.app.data.mapper; -import com.fernandocejas.android10.sample.data.entity.UserEntity; +import com.fernandocejas.android10.sample.app.data.entity.UserEntity; import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; import com.google.gson.reflect.TypeToken; diff --git a/data/src/main/java/com/fernandocejas/android10/sample/data/net/ApiConnection.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/net/ApiConnection.java similarity index 97% rename from data/src/main/java/com/fernandocejas/android10/sample/data/net/ApiConnection.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/net/ApiConnection.java index b5e153b7..d2d3bac4 100644 --- a/data/src/main/java/com/fernandocejas/android10/sample/data/net/ApiConnection.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/net/ApiConnection.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.data.net; +package com.fernandocejas.android10.sample.app.data.net; import android.support.annotation.Nullable; import com.squareup.okhttp.OkHttpClient; diff --git a/data/src/main/java/com/fernandocejas/android10/sample/data/net/RestApi.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/net/RestApi.java similarity index 91% rename from data/src/main/java/com/fernandocejas/android10/sample/data/net/RestApi.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/net/RestApi.java index f99d8f52..ea6179d6 100644 --- a/data/src/main/java/com/fernandocejas/android10/sample/data/net/RestApi.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/net/RestApi.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.data.net; +package com.fernandocejas.android10.sample.app.data.net; -import com.fernandocejas.android10.sample.data.entity.UserEntity; +import com.fernandocejas.android10.sample.app.data.entity.UserEntity; import java.util.List; import rx.Observable; diff --git a/data/src/main/java/com/fernandocejas/android10/sample/data/net/RestApiImpl.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/net/RestApiImpl.java similarity index 93% rename from data/src/main/java/com/fernandocejas/android10/sample/data/net/RestApiImpl.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/net/RestApiImpl.java index 1450000f..c0c93dc2 100644 --- a/data/src/main/java/com/fernandocejas/android10/sample/data/net/RestApiImpl.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/net/RestApiImpl.java @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.data.net; +package com.fernandocejas.android10.sample.app.data.net; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; -import com.fernandocejas.android10.sample.data.entity.UserEntity; -import com.fernandocejas.android10.sample.data.entity.mapper.UserEntityJsonMapper; -import com.fernandocejas.android10.sample.data.exception.NetworkConnectionException; +import com.fernandocejas.android10.sample.app.data.entity.UserEntity; +import com.fernandocejas.android10.sample.app.data.exception.NetworkConnectionException; +import com.fernandocejas.android10.sample.app.data.mapper.UserEntityJsonMapper; import com.fernandocejas.frodo.annotation.RxLogObservable; import java.net.MalformedURLException; import java.util.List; diff --git a/data/src/main/java/com/fernandocejas/android10/sample/data/repository/UserDataRepository.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/UserDataRepository.java similarity index 81% rename from data/src/main/java/com/fernandocejas/android10/sample/data/repository/UserDataRepository.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/UserDataRepository.java index 35112eb6..3cd4ec44 100644 --- a/data/src/main/java/com/fernandocejas/android10/sample/data/repository/UserDataRepository.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/UserDataRepository.java @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.data.repository; +package com.fernandocejas.android10.sample.app.data.repository; -import com.fernandocejas.android10.sample.data.entity.mapper.UserEntityDataMapper; -import com.fernandocejas.android10.sample.data.repository.datasource.UserDataStore; -import com.fernandocejas.android10.sample.data.repository.datasource.UserDataStoreFactory; -import com.fernandocejas.android10.sample.domain.User; -import com.fernandocejas.android10.sample.domain.repository.UserRepository; +import com.fernandocejas.android10.sample.app.data.mapper.UserEntityDataMapper; +import com.fernandocejas.android10.sample.app.data.repository.datasource.UserDataStore; +import com.fernandocejas.android10.sample.app.data.repository.datasource.UserDataStoreFactory; +import com.fernandocejas.android10.sample.app.users.User; +import com.fernandocejas.android10.sample.app.users.UserRepository; import java.util.List; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/data/src/main/java/com/fernandocejas/android10/sample/data/repository/datasource/CloudUserDataStore.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/CloudUserDataStore.java similarity index 86% rename from data/src/main/java/com/fernandocejas/android10/sample/data/repository/datasource/CloudUserDataStore.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/CloudUserDataStore.java index a5eda5ad..bac6f964 100644 --- a/data/src/main/java/com/fernandocejas/android10/sample/data/repository/datasource/CloudUserDataStore.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/CloudUserDataStore.java @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.data.repository.datasource; +package com.fernandocejas.android10.sample.app.data.repository.datasource; -import com.fernandocejas.android10.sample.data.cache.UserCache; -import com.fernandocejas.android10.sample.data.entity.UserEntity; -import com.fernandocejas.android10.sample.data.net.RestApi; +import com.fernandocejas.android10.sample.app.data.cache.UserCache; +import com.fernandocejas.android10.sample.app.data.entity.UserEntity; +import com.fernandocejas.android10.sample.app.data.net.RestApi; import java.util.List; import rx.Observable; import rx.functions.Action1; diff --git a/data/src/main/java/com/fernandocejas/android10/sample/data/repository/datasource/DiskUserDataStore.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/DiskUserDataStore.java similarity index 87% rename from data/src/main/java/com/fernandocejas/android10/sample/data/repository/datasource/DiskUserDataStore.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/DiskUserDataStore.java index fb02b4ad..4c86a47d 100644 --- a/data/src/main/java/com/fernandocejas/android10/sample/data/repository/datasource/DiskUserDataStore.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/DiskUserDataStore.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.data.repository.datasource; +package com.fernandocejas.android10.sample.app.data.repository.datasource; -import com.fernandocejas.android10.sample.data.cache.UserCache; -import com.fernandocejas.android10.sample.data.entity.UserEntity; +import com.fernandocejas.android10.sample.app.data.cache.UserCache; +import com.fernandocejas.android10.sample.app.data.entity.UserEntity; import java.util.List; import rx.Observable; diff --git a/data/src/main/java/com/fernandocejas/android10/sample/data/repository/datasource/UserDataStore.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/UserDataStore.java similarity index 88% rename from data/src/main/java/com/fernandocejas/android10/sample/data/repository/datasource/UserDataStore.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/UserDataStore.java index 744bae1e..396575d2 100644 --- a/data/src/main/java/com/fernandocejas/android10/sample/data/repository/datasource/UserDataStore.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/UserDataStore.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.data.repository.datasource; +package com.fernandocejas.android10.sample.app.data.repository.datasource; -import com.fernandocejas.android10.sample.data.entity.UserEntity; +import com.fernandocejas.android10.sample.app.data.entity.UserEntity; import java.util.List; import rx.Observable; diff --git a/data/src/main/java/com/fernandocejas/android10/sample/data/repository/datasource/UserDataStoreFactory.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/UserDataStoreFactory.java similarity index 84% rename from data/src/main/java/com/fernandocejas/android10/sample/data/repository/datasource/UserDataStoreFactory.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/UserDataStoreFactory.java index 90c979e2..3e16255a 100644 --- a/data/src/main/java/com/fernandocejas/android10/sample/data/repository/datasource/UserDataStoreFactory.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/UserDataStoreFactory.java @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.data.repository.datasource; +package com.fernandocejas.android10.sample.app.data.repository.datasource; import android.content.Context; import android.support.annotation.NonNull; -import com.fernandocejas.android10.sample.data.cache.UserCache; -import com.fernandocejas.android10.sample.data.entity.mapper.UserEntityJsonMapper; -import com.fernandocejas.android10.sample.data.net.RestApi; -import com.fernandocejas.android10.sample.data.net.RestApiImpl; +import com.fernandocejas.android10.sample.app.data.cache.UserCache; +import com.fernandocejas.android10.sample.app.data.mapper.UserEntityJsonMapper; +import com.fernandocejas.android10.sample.app.data.net.RestApi; +import com.fernandocejas.android10.sample.app.data.net.RestApiImpl; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/domain/src/main/java/com/fernandocejas/android10/sample/domain/exception/DefaultErrorBundle.java b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/DefaultErrorBundle.java similarity index 94% rename from domain/src/main/java/com/fernandocejas/android10/sample/domain/exception/DefaultErrorBundle.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/exception/DefaultErrorBundle.java index 1942eba1..27127829 100644 --- a/domain/src/main/java/com/fernandocejas/android10/sample/domain/exception/DefaultErrorBundle.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/DefaultErrorBundle.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.domain.exception; +package com.fernandocejas.android10.sample.app.exception; /** * Wrapper around Exceptions used to manage default errors. diff --git a/domain/src/main/java/com/fernandocejas/android10/sample/domain/exception/ErrorBundle.java b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/ErrorBundle.java similarity index 93% rename from domain/src/main/java/com/fernandocejas/android10/sample/domain/exception/ErrorBundle.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/exception/ErrorBundle.java index 2ae66ebb..4c3862f9 100644 --- a/domain/src/main/java/com/fernandocejas/android10/sample/domain/exception/ErrorBundle.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/ErrorBundle.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.domain.exception; +package com.fernandocejas.android10.sample.app.exception; /** * Interface to represent a wrapper around an {@link java.lang.Exception} to manage errors. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/exception/ErrorMessageFactory.java b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/ErrorMessageFactory.java index cbfac627..d6f9e77d 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/exception/ErrorMessageFactory.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/ErrorMessageFactory.java @@ -16,9 +16,9 @@ package com.fernandocejas.android10.sample.app.exception; import android.content.Context; -import com.fernandocejas.android10.sample.data.exception.NetworkConnectionException; -import com.fernandocejas.android10.sample.data.exception.UserNotFoundException; import com.fernandocejas.android10.sample.app.R; +import com.fernandocejas.android10.sample.app.data.exception.NetworkConnectionException; +import com.fernandocejas.android10.sample.app.data.exception.UserNotFoundException; /** * Factory used to create error messages from an Exception as a condition. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/navigation/Navigator.java b/app/src/main/java/com/fernandocejas/android10/sample/app/navigation/Navigator.java index 18c86ee9..466cae05 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/navigation/Navigator.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/navigation/Navigator.java @@ -17,8 +17,8 @@ import android.content.Context; import android.content.Intent; -import com.fernandocejas.android10.sample.app.view.activity.UserDetailsActivity; -import com.fernandocejas.android10.sample.app.view.activity.UserListActivity; +import com.fernandocejas.android10.sample.app.users.UserDetailsActivity; +import com.fernandocejas.android10.sample.app.users.UserListActivity; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/domain/src/main/java/com/fernandocejas/android10/sample/domain/interactor/GetUserDetails.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserDetails.java similarity index 79% rename from domain/src/main/java/com/fernandocejas/android10/sample/domain/interactor/GetUserDetails.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserDetails.java index 134fc4d0..e0730782 100644 --- a/domain/src/main/java/com/fernandocejas/android10/sample/domain/interactor/GetUserDetails.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserDetails.java @@ -13,12 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.domain.interactor; +package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.domain.User; -import com.fernandocejas.android10.sample.domain.executor.PostExecutionThread; -import com.fernandocejas.android10.sample.domain.executor.ThreadExecutor; -import com.fernandocejas.android10.sample.domain.repository.UserRepository; +import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; +import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor; +import com.fernandocejas.android10.sample.app.core.interactor.UseCase; import javax.inject.Inject; import rx.Observable; diff --git a/domain/src/main/java/com/fernandocejas/android10/sample/domain/interactor/GetUserList.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserList.java similarity index 78% rename from domain/src/main/java/com/fernandocejas/android10/sample/domain/interactor/GetUserList.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserList.java index 0780ff3d..3bbc1aca 100644 --- a/domain/src/main/java/com/fernandocejas/android10/sample/domain/interactor/GetUserList.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserList.java @@ -13,12 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.domain.interactor; +package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.domain.User; -import com.fernandocejas.android10.sample.domain.executor.PostExecutionThread; -import com.fernandocejas.android10.sample.domain.executor.ThreadExecutor; -import com.fernandocejas.android10.sample.domain.repository.UserRepository; +import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; +import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor; +import com.fernandocejas.android10.sample.app.core.interactor.UseCase; import javax.inject.Inject; import rx.Observable; diff --git a/domain/src/main/java/com/fernandocejas/android10/sample/domain/User.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/User.java similarity index 97% rename from domain/src/main/java/com/fernandocejas/android10/sample/domain/User.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/User.java index d62a021d..9b757d10 100644 --- a/domain/src/main/java/com/fernandocejas/android10/sample/domain/User.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/User.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.domain; +package com.fernandocejas.android10.sample.app.users; /** * Class that represents a User in the domain layer. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/UserDetailsActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsActivity.java similarity index 82% rename from app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/UserDetailsActivity.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsActivity.java index bb8c3af0..e8e29386 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/UserDetailsActivity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsActivity.java @@ -3,18 +3,18 @@ * * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.app.view.activity; +package com.fernandocejas.android10.sample.app.users; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.Window; import com.fernandocejas.android10.sample.app.R; -import com.fernandocejas.android10.sample.app.internal.di.HasComponent; -import com.fernandocejas.android10.sample.app.internal.di.components.DaggerUserComponent; -import com.fernandocejas.android10.sample.app.internal.di.components.UserComponent; -import com.fernandocejas.android10.sample.app.internal.di.modules.UserModule; -import com.fernandocejas.android10.sample.app.view.fragment.UserDetailsFragment; +import com.fernandocejas.android10.sample.app.core.di.HasComponent; +import com.fernandocejas.android10.sample.app.core.di.components.DaggerUserComponent; +import com.fernandocejas.android10.sample.app.core.di.components.UserComponent; +import com.fernandocejas.android10.sample.app.core.di.modules.UserModule; +import com.fernandocejas.android10.sample.app.core.view.activity.BaseActivity; /** * Activity that shows details of a certain user. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/UserDetailsFragment.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsFragment.java similarity index 89% rename from app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/UserDetailsFragment.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsFragment.java index e9b324e2..b589dcea 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/UserDetailsFragment.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsFragment.java @@ -2,7 +2,7 @@ * Copyright (C) 2014 android10.org. All rights reserved. * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.app.view.fragment; +package com.fernandocejas.android10.sample.app.users; import android.content.Context; import android.os.Bundle; @@ -16,11 +16,9 @@ import butterknife.ButterKnife; import butterknife.OnClick; import com.fernandocejas.android10.sample.app.R; -import com.fernandocejas.android10.sample.app.internal.di.components.UserComponent; -import com.fernandocejas.android10.sample.app.model.UserModel; -import com.fernandocejas.android10.sample.app.presenter.UserDetailsPresenter; -import com.fernandocejas.android10.sample.app.view.UserDetailsView; -import com.fernandocejas.android10.sample.app.view.component.AutoLoadImageView; +import com.fernandocejas.android10.sample.app.core.di.components.UserComponent; +import com.fernandocejas.android10.sample.app.core.view.component.AutoLoadImageView; +import com.fernandocejas.android10.sample.app.core.view.fragment.BaseFragment; import javax.inject.Inject; /** diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/presenter/UserDetailsPresenter.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsPresenter.java similarity index 83% rename from app/src/main/java/com/fernandocejas/android10/sample/app/presenter/UserDetailsPresenter.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsPresenter.java index 77aa0df6..91cbe2bd 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/presenter/UserDetailsPresenter.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsPresenter.java @@ -13,19 +13,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.presenter; +package com.fernandocejas.android10.sample.app.users; import android.support.annotation.NonNull; -import com.fernandocejas.android10.sample.domain.User; -import com.fernandocejas.android10.sample.domain.exception.DefaultErrorBundle; -import com.fernandocejas.android10.sample.domain.exception.ErrorBundle; -import com.fernandocejas.android10.sample.domain.interactor.DefaultSubscriber; -import com.fernandocejas.android10.sample.domain.interactor.UseCase; +import com.fernandocejas.android10.sample.app.core.presenter.Presenter; +import com.fernandocejas.android10.sample.app.exception.DefaultErrorBundle; +import com.fernandocejas.android10.sample.app.exception.ErrorBundle; +import com.fernandocejas.android10.sample.app.core.interactor.DefaultSubscriber; +import com.fernandocejas.android10.sample.app.core.interactor.UseCase; import com.fernandocejas.android10.sample.app.exception.ErrorMessageFactory; -import com.fernandocejas.android10.sample.app.internal.di.PerActivity; -import com.fernandocejas.android10.sample.app.mapper.UserModelDataMapper; -import com.fernandocejas.android10.sample.app.model.UserModel; -import com.fernandocejas.android10.sample.app.view.UserDetailsView; +import com.fernandocejas.android10.sample.app.core.di.PerActivity; import com.fernandocejas.frodo.annotation.RxLogSubscriber; import javax.inject.Inject; import javax.inject.Named; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/view/UserDetailsView.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsView.java similarity index 77% rename from app/src/main/java/com/fernandocejas/android10/sample/app/view/UserDetailsView.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsView.java index 46aaae35..397abc14 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/view/UserDetailsView.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsView.java @@ -2,9 +2,9 @@ * Copyright (C) 2014 android10.org. All rights reserved. * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.app.view; +package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.app.model.UserModel; +import com.fernandocejas.android10.sample.app.core.view.component.LoadDataView; /** * Interface representing a View in a model view presenter (MVP) pattern. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/UserListActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListActivity.java similarity index 76% rename from app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/UserListActivity.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListActivity.java index 2fdcf766..f65e1842 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/UserListActivity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListActivity.java @@ -3,18 +3,17 @@ * * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.app.view.activity; +package com.fernandocejas.android10.sample.app.users; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.Window; import com.fernandocejas.android10.sample.app.R; -import com.fernandocejas.android10.sample.app.internal.di.HasComponent; -import com.fernandocejas.android10.sample.app.internal.di.components.DaggerUserComponent; -import com.fernandocejas.android10.sample.app.internal.di.components.UserComponent; -import com.fernandocejas.android10.sample.app.model.UserModel; -import com.fernandocejas.android10.sample.app.view.fragment.UserListFragment; +import com.fernandocejas.android10.sample.app.core.di.HasComponent; +import com.fernandocejas.android10.sample.app.core.di.components.DaggerUserComponent; +import com.fernandocejas.android10.sample.app.core.di.components.UserComponent; +import com.fernandocejas.android10.sample.app.core.view.activity.BaseActivity; /** * Activity that shows a list of Users. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/UserListFragment.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListFragment.java similarity index 90% rename from app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/UserListFragment.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListFragment.java index ffbeec01..4025fcc1 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/UserListFragment.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListFragment.java @@ -3,7 +3,7 @@ * * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.app.view.fragment; +package com.fernandocejas.android10.sample.app.users; import android.app.Activity; import android.content.Context; @@ -18,12 +18,8 @@ import butterknife.ButterKnife; import butterknife.OnClick; import com.fernandocejas.android10.sample.app.R; -import com.fernandocejas.android10.sample.app.internal.di.components.UserComponent; -import com.fernandocejas.android10.sample.app.model.UserModel; -import com.fernandocejas.android10.sample.app.presenter.UserListPresenter; -import com.fernandocejas.android10.sample.app.view.UserListView; -import com.fernandocejas.android10.sample.app.view.adapter.UsersAdapter; -import com.fernandocejas.android10.sample.app.view.adapter.UsersLayoutManager; +import com.fernandocejas.android10.sample.app.core.di.components.UserComponent; +import com.fernandocejas.android10.sample.app.core.view.fragment.BaseFragment; import java.util.Collection; import javax.inject.Inject; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/presenter/UserListPresenter.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListPresenter.java similarity index 83% rename from app/src/main/java/com/fernandocejas/android10/sample/app/presenter/UserListPresenter.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListPresenter.java index fe5e339b..dbaa9dba 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/presenter/UserListPresenter.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListPresenter.java @@ -13,19 +13,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.presenter; +package com.fernandocejas.android10.sample.app.users; import android.support.annotation.NonNull; -import com.fernandocejas.android10.sample.domain.User; -import com.fernandocejas.android10.sample.domain.exception.DefaultErrorBundle; -import com.fernandocejas.android10.sample.domain.exception.ErrorBundle; -import com.fernandocejas.android10.sample.domain.interactor.DefaultSubscriber; -import com.fernandocejas.android10.sample.domain.interactor.UseCase; +import com.fernandocejas.android10.sample.app.core.presenter.Presenter; +import com.fernandocejas.android10.sample.app.exception.DefaultErrorBundle; +import com.fernandocejas.android10.sample.app.exception.ErrorBundle; +import com.fernandocejas.android10.sample.app.core.interactor.DefaultSubscriber; +import com.fernandocejas.android10.sample.app.core.interactor.UseCase; import com.fernandocejas.android10.sample.app.exception.ErrorMessageFactory; -import com.fernandocejas.android10.sample.app.internal.di.PerActivity; -import com.fernandocejas.android10.sample.app.mapper.UserModelDataMapper; -import com.fernandocejas.android10.sample.app.model.UserModel; -import com.fernandocejas.android10.sample.app.view.UserListView; +import com.fernandocejas.android10.sample.app.core.di.PerActivity; import java.util.Collection; import java.util.List; import javax.inject.Inject; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/view/UserListView.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListView.java similarity index 84% rename from app/src/main/java/com/fernandocejas/android10/sample/app/view/UserListView.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListView.java index 1c295c9a..638645f4 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/view/UserListView.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListView.java @@ -2,9 +2,9 @@ * Copyright (C) 2014 android10.org. All rights reserved. * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.app.view; +package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.app.model.UserModel; +import com.fernandocejas.android10.sample.app.core.view.component.LoadDataView; import java.util.Collection; /** diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/model/UserModel.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModel.java similarity index 97% rename from app/src/main/java/com/fernandocejas/android10/sample/app/model/UserModel.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModel.java index c54aaafd..d64066f1 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/model/UserModel.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModel.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.model; +package com.fernandocejas.android10.sample.app.users; /** * Class that represents a user in the presentation layer. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/mapper/UserModelDataMapper.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModelDataMapper.java similarity index 90% rename from app/src/main/java/com/fernandocejas/android10/sample/app/mapper/UserModelDataMapper.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModelDataMapper.java index 39624736..06de0d12 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/mapper/UserModelDataMapper.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModelDataMapper.java @@ -13,11 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.mapper; +package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.domain.User; -import com.fernandocejas.android10.sample.app.internal.di.PerActivity; -import com.fernandocejas.android10.sample.app.model.UserModel; +import com.fernandocejas.android10.sample.app.core.di.PerActivity; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; diff --git a/domain/src/main/java/com/fernandocejas/android10/sample/domain/repository/UserRepository.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserRepository.java similarity index 90% rename from domain/src/main/java/com/fernandocejas/android10/sample/domain/repository/UserRepository.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserRepository.java index 69c40a03..edb43466 100644 --- a/domain/src/main/java/com/fernandocejas/android10/sample/domain/repository/UserRepository.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserRepository.java @@ -13,9 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.domain.repository; +package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.domain.User; import java.util.List; import rx.Observable; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/view/adapter/UsersAdapter.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UsersAdapter.java similarity index 95% rename from app/src/main/java/com/fernandocejas/android10/sample/app/view/adapter/UsersAdapter.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UsersAdapter.java index 8636a743..ba4091d4 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/view/adapter/UsersAdapter.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UsersAdapter.java @@ -2,7 +2,7 @@ * Copyright (C) 2014 android10.org. All rights reserved. * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.app.view.adapter; +package com.fernandocejas.android10.sample.app.users; import android.content.Context; import android.support.v7.widget.RecyclerView; @@ -13,7 +13,6 @@ import butterknife.Bind; import butterknife.ButterKnife; import com.fernandocejas.android10.sample.app.R; -import com.fernandocejas.android10.sample.app.model.UserModel; import java.util.Collection; import java.util.Collections; import java.util.List; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/view/adapter/UsersLayoutManager.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UsersLayoutManager.java similarity index 87% rename from app/src/main/java/com/fernandocejas/android10/sample/app/view/adapter/UsersLayoutManager.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UsersLayoutManager.java index 5861d4d8..8f15e2d3 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/view/adapter/UsersLayoutManager.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UsersLayoutManager.java @@ -2,7 +2,7 @@ * Copyright (C) 2014 android10.org. All rights reserved. * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.app.view.adapter; +package com.fernandocejas.android10.sample.app.users; import android.content.Context; import android.support.v7.widget.LinearLayoutManager; diff --git a/app/src/main/res/layout/view_user_details.xml b/app/src/main/res/layout/view_user_details.xml index 856af605..ed1f84a2 100644 --- a/app/src/main/res/layout/view_user_details.xml +++ b/app/src/main/res/layout/view_user_details.xml @@ -5,7 +5,7 @@ android:orientation="vertical" > - - - - diff --git a/domain/build.gradle b/domain/build.gradle deleted file mode 100644 index 84ecd764..00000000 --- a/domain/build.gradle +++ /dev/null @@ -1,29 +0,0 @@ -apply plugin: 'java' - -//noinspection GroovyUnusedAssignment -sourceCompatibility = 1.7 -//noinspection GroovyUnusedAssignment -targetCompatibility = 1.7 - -configurations { - provided -} - -sourceSets { - main { - compileClasspath += configurations.provided - } -} - -dependencies { - def domainDependencies = rootProject.ext.domainDependencies - def domainTestDependencies = rootProject.ext.domainTestDependencies - - provided domainDependencies.javaxAnnotation - - compile domainDependencies.javaxInject - compile domainDependencies.rxJava - - testCompile domainTestDependencies.junit - testCompile domainTestDependencies.mockito -} \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 8489f67b..e7b4def4 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,3 +1 @@ include ':app' -include ':domain' -include ':data' From f90db164b8655a5e9e6ae5c95af3f17f1d0e398c Mon Sep 17 00:00:00 2001 From: Fernando Cejas Date: Sun, 31 Jan 2016 18:23:41 +0100 Subject: [PATCH 04/12] Reorganize data layer classes. --- .../test/exception/ErrorMessageFactoryTest.java | 4 ++-- .../app/core/di/components/ApplicationComponent.java | 2 +- .../sample/app/core/di/modules/ApplicationModule.java | 10 +++++----- .../sample/app/core/di/modules/UserModule.java | 2 +- .../app/{data => core}/executor/JobExecutor.java | 2 +- .../app/{data => core}/executor/ThreadExecutor.java | 2 +- .../android10/sample/app/core/interactor/UseCase.java | 2 +- .../sample/app/data/{net => }/ApiConnection.java | 2 +- .../sample/app/data/{cache => }/FileManager.java | 2 +- .../android10/sample/app/data/{net => }/RestApi.java | 4 ++-- .../sample/app/data/{net => }/RestApiImpl.java | 8 ++++---- .../sample/app/exception/ErrorMessageFactory.java | 3 +-- .../exception/NetworkConnectionException.java | 2 +- .../{data => }/exception/RepositoryErrorBundle.java | 4 +--- .../datasource => users}/CloudUserDataStore.java | 7 +++---- .../datasource => users}/DiskUserDataStore.java | 5 ++--- .../android10/sample/app/users/GetUserDetails.java | 2 +- .../android10/sample/app/users/GetUserList.java | 2 +- .../repository => users}/UserDataRepository.java | 7 +------ .../datasource => users}/UserDataStore.java | 4 ++-- .../datasource => users}/UserDataStoreFactory.java | 9 ++++----- .../sample/app/{data/entity => users}/UserEntity.java | 2 +- .../{data/mapper => users}/UserEntityDataMapper.java | 4 +--- .../{data/mapper => users}/UserEntityJsonMapper.java | 4 ++-- .../exception => users}/UserNotFoundException.java | 2 +- .../sample/app/{data => users}/cache/UserCache.java | 4 ++-- .../app/{data => users}/cache/UserCacheImpl.java | 11 ++++++----- .../cache/serializer/JsonSerializer.java | 4 ++-- .../exception/RepositoryErrorBundleTest.java | 2 +- .../android10/sample/app/interactor/UseCaseTest.java | 2 +- .../datasource => users}/CloudUserDataStoreTest.java | 7 +++---- .../datasource => users}/DiskUserDataStoreTest.java | 5 +++-- .../sample/app/users/GetUserDetailsTest.java | 2 +- .../android10/sample/app/users/GetUserListTest.java | 2 +- .../repository => users}/UserDataRepositoryTest.java | 7 +------ .../UserDataStoreFactoryTest.java | 8 ++++++-- .../mapper => users}/UserEntityDataMapperTest.java | 4 +--- .../mapper => users}/UserEntityJsonMapperTest.java | 5 +++-- .../app/{data => users}/cache/FileManagerTest.java | 3 ++- .../cache/serializer/JsonSerializerTest.java | 4 ++-- 40 files changed, 77 insertions(+), 90 deletions(-) rename app/src/main/java/com/fernandocejas/android10/sample/app/{data => core}/executor/JobExecutor.java (97%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{data => core}/executor/ThreadExecutor.java (93%) rename app/src/main/java/com/fernandocejas/android10/sample/app/data/{net => }/ApiConnection.java (97%) rename app/src/main/java/com/fernandocejas/android10/sample/app/data/{cache => }/FileManager.java (98%) rename app/src/main/java/com/fernandocejas/android10/sample/app/data/{net => }/RestApi.java (91%) rename app/src/main/java/com/fernandocejas/android10/sample/app/data/{net => }/RestApiImpl.java (93%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{data => }/exception/NetworkConnectionException.java (94%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{data => }/exception/RepositoryErrorBundle.java (89%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{data/repository/datasource => users}/CloudUserDataStore.java (86%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{data/repository/datasource => users}/DiskUserDataStore.java (87%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{data/repository => users}/UserDataRepository.java (81%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{data/repository/datasource => users}/UserDataStore.java (88%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{data/repository/datasource => users}/UserDataStoreFactory.java (84%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{data/entity => users}/UserEntity.java (97%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{data/mapper => users}/UserEntityDataMapper.java (92%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{data/mapper => users}/UserEntityJsonMapper.java (95%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{data/exception => users}/UserNotFoundException.java (94%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{data => users}/cache/UserCache.java (92%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{data => users}/cache/UserCacheImpl.java (93%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{data => users}/cache/serializer/JsonSerializer.java (91%) rename app/src/test/java/com/fernandocejas/android10/sample/app/{data => }/exception/RepositoryErrorBundleTest.java (95%) rename app/src/test/java/com/fernandocejas/android10/sample/app/{data/repository/datasource => users}/CloudUserDataStoreTest.java (86%) rename app/src/test/java/com/fernandocejas/android10/sample/app/{data/repository/datasource => users}/DiskUserDataStoreTest.java (89%) rename app/src/test/java/com/fernandocejas/android10/sample/app/{data/repository => users}/UserDataRepositoryTest.java (85%) rename app/src/test/java/com/fernandocejas/android10/sample/app/{data/repository/datasource => users}/UserDataStoreFactoryTest.java (85%) rename app/src/test/java/com/fernandocejas/android10/sample/app/{data/mapper => users}/UserEntityDataMapperTest.java (93%) rename app/src/test/java/com/fernandocejas/android10/sample/app/{data/mapper => users}/UserEntityJsonMapperTest.java (94%) rename app/src/test/java/com/fernandocejas/android10/sample/app/{data => users}/cache/FileManagerTest.java (94%) rename app/src/test/java/com/fernandocejas/android10/sample/app/{data => users}/cache/serializer/JsonSerializerTest.java (94%) diff --git a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java index 7c4789fc..44939ca1 100644 --- a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java +++ b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java @@ -16,8 +16,8 @@ package com.fernandocejas.android10.sample.test.exception; import android.test.AndroidTestCase; -import com.fernandocejas.android10.sample.app.data.exception.NetworkConnectionException; -import com.fernandocejas.android10.sample.app.data.exception.UserNotFoundException; +import com.fernandocejas.android10.sample.app.exception.NetworkConnectionException; +import com.fernandocejas.android10.sample.app.users.UserNotFoundException; import com.fernandocejas.android10.sample.app.R; import com.fernandocejas.android10.sample.app.exception.ErrorMessageFactory; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ApplicationComponent.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ApplicationComponent.java index 82b2c26c..de1db8ec 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ApplicationComponent.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ApplicationComponent.java @@ -17,7 +17,7 @@ import android.content.Context; import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; -import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor; +import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; import com.fernandocejas.android10.sample.app.users.UserRepository; import com.fernandocejas.android10.sample.app.core.di.modules.ApplicationModule; import com.fernandocejas.android10.sample.app.core.view.activity.BaseActivity; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/ApplicationModule.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/ApplicationModule.java index a358a80e..185b18d1 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/ApplicationModule.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/ApplicationModule.java @@ -16,12 +16,12 @@ package com.fernandocejas.android10.sample.app.core.di.modules; import android.content.Context; -import com.fernandocejas.android10.sample.app.data.cache.UserCache; -import com.fernandocejas.android10.sample.app.data.cache.UserCacheImpl; -import com.fernandocejas.android10.sample.app.data.executor.JobExecutor; -import com.fernandocejas.android10.sample.app.data.repository.UserDataRepository; +import com.fernandocejas.android10.sample.app.users.cache.UserCache; +import com.fernandocejas.android10.sample.app.users.cache.UserCacheImpl; +import com.fernandocejas.android10.sample.app.core.executor.JobExecutor; +import com.fernandocejas.android10.sample.app.users.UserDataRepository; import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; -import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor; +import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; import com.fernandocejas.android10.sample.app.users.UserRepository; import com.fernandocejas.android10.sample.app.AndroidApplication; import com.fernandocejas.android10.sample.app.core.executor.UIThread; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/UserModule.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/UserModule.java index 86654cde..c78ddcc6 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/UserModule.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/UserModule.java @@ -16,7 +16,7 @@ package com.fernandocejas.android10.sample.app.core.di.modules; import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; -import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor; +import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; import com.fernandocejas.android10.sample.app.users.GetUserDetails; import com.fernandocejas.android10.sample.app.users.GetUserList; import com.fernandocejas.android10.sample.app.core.interactor.UseCase; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/executor/JobExecutor.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/JobExecutor.java similarity index 97% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/executor/JobExecutor.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/JobExecutor.java index 4f8816ef..a851462d 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/executor/JobExecutor.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/JobExecutor.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.executor; +package com.fernandocejas.android10.sample.app.core.executor; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/executor/ThreadExecutor.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/ThreadExecutor.java similarity index 93% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/executor/ThreadExecutor.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/ThreadExecutor.java index bd5af515..06fe7d25 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/executor/ThreadExecutor.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/ThreadExecutor.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.executor; +package com.fernandocejas.android10.sample.app.core.executor; import java.util.concurrent.Executor; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/interactor/UseCase.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/interactor/UseCase.java index 8cdd8638..480e5e57 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/interactor/UseCase.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/interactor/UseCase.java @@ -16,7 +16,7 @@ package com.fernandocejas.android10.sample.app.core.interactor; import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; -import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor; +import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; import rx.Observable; import rx.Subscriber; import rx.Subscription; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/net/ApiConnection.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/ApiConnection.java similarity index 97% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/net/ApiConnection.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/ApiConnection.java index d2d3bac4..20cc1cd0 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/net/ApiConnection.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/ApiConnection.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.net; +package com.fernandocejas.android10.sample.app.data; import android.support.annotation.Nullable; import com.squareup.okhttp.OkHttpClient; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/FileManager.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/FileManager.java similarity index 98% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/FileManager.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/FileManager.java index 20b56eaa..d548241f 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/FileManager.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/FileManager.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.cache; +package com.fernandocejas.android10.sample.app.data; import android.content.Context; import android.content.SharedPreferences; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/net/RestApi.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/RestApi.java similarity index 91% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/net/RestApi.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/RestApi.java index ea6179d6..c2902e82 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/net/RestApi.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/RestApi.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.net; +package com.fernandocejas.android10.sample.app.data; -import com.fernandocejas.android10.sample.app.data.entity.UserEntity; +import com.fernandocejas.android10.sample.app.users.UserEntity; import java.util.List; import rx.Observable; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/net/RestApiImpl.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/RestApiImpl.java similarity index 93% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/net/RestApiImpl.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/RestApiImpl.java index c0c93dc2..7d2213c4 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/net/RestApiImpl.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/RestApiImpl.java @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.net; +package com.fernandocejas.android10.sample.app.data; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; -import com.fernandocejas.android10.sample.app.data.entity.UserEntity; -import com.fernandocejas.android10.sample.app.data.exception.NetworkConnectionException; -import com.fernandocejas.android10.sample.app.data.mapper.UserEntityJsonMapper; +import com.fernandocejas.android10.sample.app.users.UserEntity; +import com.fernandocejas.android10.sample.app.exception.NetworkConnectionException; +import com.fernandocejas.android10.sample.app.users.UserEntityJsonMapper; import com.fernandocejas.frodo.annotation.RxLogObservable; import java.net.MalformedURLException; import java.util.List; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/exception/ErrorMessageFactory.java b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/ErrorMessageFactory.java index d6f9e77d..ab0d6a65 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/exception/ErrorMessageFactory.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/ErrorMessageFactory.java @@ -17,8 +17,7 @@ import android.content.Context; import com.fernandocejas.android10.sample.app.R; -import com.fernandocejas.android10.sample.app.data.exception.NetworkConnectionException; -import com.fernandocejas.android10.sample.app.data.exception.UserNotFoundException; +import com.fernandocejas.android10.sample.app.users.UserNotFoundException; /** * Factory used to create error messages from an Exception as a condition. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/exception/NetworkConnectionException.java b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/NetworkConnectionException.java similarity index 94% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/exception/NetworkConnectionException.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/exception/NetworkConnectionException.java index 44865ebe..1a3533ea 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/exception/NetworkConnectionException.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/NetworkConnectionException.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.exception; +package com.fernandocejas.android10.sample.app.exception; /** * Exception throw by the application when a there is a network connection exception. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/exception/RepositoryErrorBundle.java b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/RepositoryErrorBundle.java similarity index 89% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/exception/RepositoryErrorBundle.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/exception/RepositoryErrorBundle.java index 704e5ed5..bc62eb06 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/exception/RepositoryErrorBundle.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/RepositoryErrorBundle.java @@ -13,9 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.exception; - -import com.fernandocejas.android10.sample.app.exception.ErrorBundle; +package com.fernandocejas.android10.sample.app.exception; /** * Wrapper around Exceptions used to manage errors in the repository. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/CloudUserDataStore.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/CloudUserDataStore.java similarity index 86% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/CloudUserDataStore.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/CloudUserDataStore.java index bac6f964..70bcd3c9 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/CloudUserDataStore.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/CloudUserDataStore.java @@ -13,11 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.repository.datasource; +package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.app.data.cache.UserCache; -import com.fernandocejas.android10.sample.app.data.entity.UserEntity; -import com.fernandocejas.android10.sample.app.data.net.RestApi; +import com.fernandocejas.android10.sample.app.users.cache.UserCache; +import com.fernandocejas.android10.sample.app.data.RestApi; import java.util.List; import rx.Observable; import rx.functions.Action1; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/DiskUserDataStore.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/DiskUserDataStore.java similarity index 87% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/DiskUserDataStore.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/DiskUserDataStore.java index 4c86a47d..04bcf234 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/DiskUserDataStore.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/DiskUserDataStore.java @@ -13,10 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.repository.datasource; +package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.app.data.cache.UserCache; -import com.fernandocejas.android10.sample.app.data.entity.UserEntity; +import com.fernandocejas.android10.sample.app.users.cache.UserCache; import java.util.List; import rx.Observable; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserDetails.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserDetails.java index e0730782..ecd94896 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserDetails.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserDetails.java @@ -16,7 +16,7 @@ package com.fernandocejas.android10.sample.app.users; import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; -import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor; +import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; import com.fernandocejas.android10.sample.app.core.interactor.UseCase; import javax.inject.Inject; import rx.Observable; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserList.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserList.java index 3bbc1aca..2fce4623 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserList.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserList.java @@ -16,7 +16,7 @@ package com.fernandocejas.android10.sample.app.users; import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; -import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor; +import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; import com.fernandocejas.android10.sample.app.core.interactor.UseCase; import javax.inject.Inject; import rx.Observable; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/UserDataRepository.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataRepository.java similarity index 81% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/UserDataRepository.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataRepository.java index 3cd4ec44..dfa50669 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/UserDataRepository.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataRepository.java @@ -13,13 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.repository; +package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.app.data.mapper.UserEntityDataMapper; -import com.fernandocejas.android10.sample.app.data.repository.datasource.UserDataStore; -import com.fernandocejas.android10.sample.app.data.repository.datasource.UserDataStoreFactory; -import com.fernandocejas.android10.sample.app.users.User; -import com.fernandocejas.android10.sample.app.users.UserRepository; import java.util.List; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/UserDataStore.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataStore.java similarity index 88% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/UserDataStore.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataStore.java index 396575d2..b8d7d288 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/UserDataStore.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataStore.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.repository.datasource; +package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.app.data.entity.UserEntity; +import com.fernandocejas.android10.sample.app.users.UserEntity; import java.util.List; import rx.Observable; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/UserDataStoreFactory.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataStoreFactory.java similarity index 84% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/UserDataStoreFactory.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataStoreFactory.java index 3e16255a..451f319d 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/repository/datasource/UserDataStoreFactory.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataStoreFactory.java @@ -13,14 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.repository.datasource; +package com.fernandocejas.android10.sample.app.users; import android.content.Context; import android.support.annotation.NonNull; -import com.fernandocejas.android10.sample.app.data.cache.UserCache; -import com.fernandocejas.android10.sample.app.data.mapper.UserEntityJsonMapper; -import com.fernandocejas.android10.sample.app.data.net.RestApi; -import com.fernandocejas.android10.sample.app.data.net.RestApiImpl; +import com.fernandocejas.android10.sample.app.users.cache.UserCache; +import com.fernandocejas.android10.sample.app.data.RestApi; +import com.fernandocejas.android10.sample.app.data.RestApiImpl; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/entity/UserEntity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntity.java similarity index 97% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/entity/UserEntity.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntity.java index f916fb84..64762523 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/entity/UserEntity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntity.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.entity; +package com.fernandocejas.android10.sample.app.users; import com.google.gson.annotations.SerializedName; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/mapper/UserEntityDataMapper.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntityDataMapper.java similarity index 92% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/mapper/UserEntityDataMapper.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntityDataMapper.java index 9392c896..a0dfcaa3 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/mapper/UserEntityDataMapper.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntityDataMapper.java @@ -13,10 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.mapper; +package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.app.data.entity.UserEntity; -import com.fernandocejas.android10.sample.app.users.User; import java.util.ArrayList; import java.util.Collection; import java.util.List; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/mapper/UserEntityJsonMapper.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntityJsonMapper.java similarity index 95% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/mapper/UserEntityJsonMapper.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntityJsonMapper.java index 9f55712b..bc7873d2 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/mapper/UserEntityJsonMapper.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntityJsonMapper.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.mapper; +package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.app.data.entity.UserEntity; +import com.fernandocejas.android10.sample.app.users.UserEntity; import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; import com.google.gson.reflect.TypeToken; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/exception/UserNotFoundException.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserNotFoundException.java similarity index 94% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/exception/UserNotFoundException.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserNotFoundException.java index c92f2b93..a5da02ff 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/exception/UserNotFoundException.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserNotFoundException.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.exception; +package com.fernandocejas.android10.sample.app.users; /** * Exception throw by the application when a User search can't return a valid result. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/UserCache.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/UserCache.java similarity index 92% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/UserCache.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/UserCache.java index f7d6c6da..61fb3143 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/UserCache.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/UserCache.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.cache; +package com.fernandocejas.android10.sample.app.users.cache; -import com.fernandocejas.android10.sample.app.data.entity.UserEntity; +import com.fernandocejas.android10.sample.app.users.UserEntity; import rx.Observable; /** diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/UserCacheImpl.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/UserCacheImpl.java similarity index 93% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/UserCacheImpl.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/UserCacheImpl.java index 11e5f434..61091d68 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/UserCacheImpl.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/UserCacheImpl.java @@ -13,13 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.cache; +package com.fernandocejas.android10.sample.app.users.cache; import android.content.Context; -import com.fernandocejas.android10.sample.app.data.cache.serializer.JsonSerializer; -import com.fernandocejas.android10.sample.app.data.entity.UserEntity; -import com.fernandocejas.android10.sample.app.data.exception.UserNotFoundException; -import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor; +import com.fernandocejas.android10.sample.app.data.FileManager; +import com.fernandocejas.android10.sample.app.users.cache.serializer.JsonSerializer; +import com.fernandocejas.android10.sample.app.users.UserEntity; +import com.fernandocejas.android10.sample.app.users.UserNotFoundException; +import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; import java.io.File; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/serializer/JsonSerializer.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/serializer/JsonSerializer.java similarity index 91% rename from app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/serializer/JsonSerializer.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/serializer/JsonSerializer.java index 38b8f5e2..1cbb0260 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/cache/serializer/JsonSerializer.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/serializer/JsonSerializer.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.cache.serializer; +package com.fernandocejas.android10.sample.app.users.cache.serializer; -import com.fernandocejas.android10.sample.app.data.entity.UserEntity; +import com.fernandocejas.android10.sample.app.users.UserEntity; import com.google.gson.Gson; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/data/exception/RepositoryErrorBundleTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/exception/RepositoryErrorBundleTest.java similarity index 95% rename from app/src/test/java/com/fernandocejas/android10/sample/app/data/exception/RepositoryErrorBundleTest.java rename to app/src/test/java/com/fernandocejas/android10/sample/app/exception/RepositoryErrorBundleTest.java index d9ae103a..610e8a32 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/data/exception/RepositoryErrorBundleTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/exception/RepositoryErrorBundleTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.exception; +package com.fernandocejas.android10.sample.app.exception; import com.fernandocejas.android10.sample.app.ApplicationTestCase; import org.junit.Before; diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/interactor/UseCaseTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/interactor/UseCaseTest.java index f4cff4b7..28ca0be5 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/interactor/UseCaseTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/interactor/UseCaseTest.java @@ -16,7 +16,7 @@ package com.fernandocejas.android10.sample.app.interactor; import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; -import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor; +import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; import com.fernandocejas.android10.sample.app.core.interactor.UseCase; import org.junit.Before; import org.junit.Test; diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/data/repository/datasource/CloudUserDataStoreTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/users/CloudUserDataStoreTest.java similarity index 86% rename from app/src/test/java/com/fernandocejas/android10/sample/app/data/repository/datasource/CloudUserDataStoreTest.java rename to app/src/test/java/com/fernandocejas/android10/sample/app/users/CloudUserDataStoreTest.java index a9ccba00..590f8605 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/data/repository/datasource/CloudUserDataStoreTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/users/CloudUserDataStoreTest.java @@ -13,12 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.repository.datasource; +package com.fernandocejas.android10.sample.app.users; import com.fernandocejas.android10.sample.app.ApplicationTestCase; -import com.fernandocejas.android10.sample.app.data.cache.UserCache; -import com.fernandocejas.android10.sample.app.data.entity.UserEntity; -import com.fernandocejas.android10.sample.app.data.net.RestApi; +import com.fernandocejas.android10.sample.app.data.RestApi; +import com.fernandocejas.android10.sample.app.users.cache.UserCache; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/data/repository/datasource/DiskUserDataStoreTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/users/DiskUserDataStoreTest.java similarity index 89% rename from app/src/test/java/com/fernandocejas/android10/sample/app/data/repository/datasource/DiskUserDataStoreTest.java rename to app/src/test/java/com/fernandocejas/android10/sample/app/users/DiskUserDataStoreTest.java index c3c6f16e..0e6d2415 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/data/repository/datasource/DiskUserDataStoreTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/users/DiskUserDataStoreTest.java @@ -13,10 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.repository.datasource; +package com.fernandocejas.android10.sample.app.users; import com.fernandocejas.android10.sample.app.ApplicationTestCase; -import com.fernandocejas.android10.sample.app.data.cache.UserCache; +import com.fernandocejas.android10.sample.app.users.cache.UserCache; +import com.fernandocejas.android10.sample.app.users.DiskUserDataStore; import org.junit.Before; import org.junit.Rule; import org.junit.Test; diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/users/GetUserDetailsTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/users/GetUserDetailsTest.java index 9d3e7800..210a9c93 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/users/GetUserDetailsTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/users/GetUserDetailsTest.java @@ -16,7 +16,7 @@ package com.fernandocejas.android10.sample.app.users; import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; -import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor; +import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/users/GetUserListTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/users/GetUserListTest.java index f49a8430..944dd165 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/users/GetUserListTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/users/GetUserListTest.java @@ -16,7 +16,7 @@ package com.fernandocejas.android10.sample.app.users; import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; -import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor; +import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/data/repository/UserDataRepositoryTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserDataRepositoryTest.java similarity index 85% rename from app/src/test/java/com/fernandocejas/android10/sample/app/data/repository/UserDataRepositoryTest.java rename to app/src/test/java/com/fernandocejas/android10/sample/app/users/UserDataRepositoryTest.java index 60d4a545..88846e93 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/data/repository/UserDataRepositoryTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserDataRepositoryTest.java @@ -13,14 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.repository; +package com.fernandocejas.android10.sample.app.users; import com.fernandocejas.android10.sample.app.ApplicationTestCase; -import com.fernandocejas.android10.sample.app.data.entity.UserEntity; -import com.fernandocejas.android10.sample.app.data.mapper.UserEntityDataMapper; -import com.fernandocejas.android10.sample.app.data.repository.datasource.UserDataStore; -import com.fernandocejas.android10.sample.app.data.repository.datasource.UserDataStoreFactory; -import com.fernandocejas.android10.sample.app.users.User; import java.util.ArrayList; import java.util.List; import org.junit.Before; diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/data/repository/datasource/UserDataStoreFactoryTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserDataStoreFactoryTest.java similarity index 85% rename from app/src/test/java/com/fernandocejas/android10/sample/app/data/repository/datasource/UserDataStoreFactoryTest.java rename to app/src/test/java/com/fernandocejas/android10/sample/app/users/UserDataStoreFactoryTest.java index b319925c..8e57f2a6 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/data/repository/datasource/UserDataStoreFactoryTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserDataStoreFactoryTest.java @@ -13,10 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.repository.datasource; +package com.fernandocejas.android10.sample.app.users; import com.fernandocejas.android10.sample.app.ApplicationTestCase; -import com.fernandocejas.android10.sample.app.data.cache.UserCache; +import com.fernandocejas.android10.sample.app.users.cache.UserCache; +import com.fernandocejas.android10.sample.app.users.CloudUserDataStore; +import com.fernandocejas.android10.sample.app.users.DiskUserDataStore; +import com.fernandocejas.android10.sample.app.users.UserDataStore; +import com.fernandocejas.android10.sample.app.users.UserDataStoreFactory; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/data/mapper/UserEntityDataMapperTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserEntityDataMapperTest.java similarity index 93% rename from app/src/test/java/com/fernandocejas/android10/sample/app/data/mapper/UserEntityDataMapperTest.java rename to app/src/test/java/com/fernandocejas/android10/sample/app/users/UserEntityDataMapperTest.java index 4c241290..ea69f6e8 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/data/mapper/UserEntityDataMapperTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserEntityDataMapperTest.java @@ -13,11 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.mapper; +package com.fernandocejas.android10.sample.app.users; import com.fernandocejas.android10.sample.app.ApplicationTestCase; -import com.fernandocejas.android10.sample.app.data.entity.UserEntity; -import com.fernandocejas.android10.sample.app.users.User; import java.util.ArrayList; import java.util.Collection; import java.util.List; diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/data/mapper/UserEntityJsonMapperTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserEntityJsonMapperTest.java similarity index 94% rename from app/src/test/java/com/fernandocejas/android10/sample/app/data/mapper/UserEntityJsonMapperTest.java rename to app/src/test/java/com/fernandocejas/android10/sample/app/users/UserEntityJsonMapperTest.java index 04e38def..afce2a1e 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/data/mapper/UserEntityJsonMapperTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserEntityJsonMapperTest.java @@ -13,10 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.mapper; +package com.fernandocejas.android10.sample.app.users; import com.fernandocejas.android10.sample.app.ApplicationTestCase; -import com.fernandocejas.android10.sample.app.data.entity.UserEntity; +import com.fernandocejas.android10.sample.app.users.UserEntity; +import com.fernandocejas.android10.sample.app.users.UserEntityJsonMapper; import com.google.gson.JsonSyntaxException; import java.util.Collection; import org.junit.Before; diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/data/cache/FileManagerTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/users/cache/FileManagerTest.java similarity index 94% rename from app/src/test/java/com/fernandocejas/android10/sample/app/data/cache/FileManagerTest.java rename to app/src/test/java/com/fernandocejas/android10/sample/app/users/cache/FileManagerTest.java index 9e6c65ac..79ca2f0b 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/data/cache/FileManagerTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/users/cache/FileManagerTest.java @@ -13,9 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.cache; +package com.fernandocejas.android10.sample.app.users.cache; import com.fernandocejas.android10.sample.app.ApplicationTestCase; +import com.fernandocejas.android10.sample.app.data.FileManager; import java.io.File; import org.junit.After; import org.junit.Before; diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/data/cache/serializer/JsonSerializerTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/users/cache/serializer/JsonSerializerTest.java similarity index 94% rename from app/src/test/java/com/fernandocejas/android10/sample/app/data/cache/serializer/JsonSerializerTest.java rename to app/src/test/java/com/fernandocejas/android10/sample/app/users/cache/serializer/JsonSerializerTest.java index 83105171..25e2daa2 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/data/cache/serializer/JsonSerializerTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/users/cache/serializer/JsonSerializerTest.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.data.cache.serializer; +package com.fernandocejas.android10.sample.app.users.cache.serializer; import com.fernandocejas.android10.sample.app.ApplicationTestCase; -import com.fernandocejas.android10.sample.app.data.entity.UserEntity; +import com.fernandocejas.android10.sample.app.users.UserEntity; import org.junit.Before; import org.junit.Test; From 8c0a7ae61a3cf8876e986c43e924b306a7f376c2 Mon Sep 17 00:00:00 2001 From: Fernando Cejas Date: Tue, 9 Feb 2016 22:41:21 +0100 Subject: [PATCH 05/12] Pull out packages view, presenter, interactor and data. --- app/src/main/AndroidManifest.xml | 2 +- .../sample/app/core/di/components/ApplicationComponent.java | 2 +- .../android10/sample/app/core/di/modules/UserModule.java | 2 +- .../sample/app/{core => }/interactor/DefaultSubscriber.java | 2 +- .../android10/sample/app/{core => }/interactor/UseCase.java | 2 +- .../sample/app/{core => }/presenter/Presenter.java | 2 +- .../android10/sample/app/users/GetUserDetails.java | 2 +- .../android10/sample/app/users/GetUserList.java | 2 +- .../android10/sample/app/users/UserDetailsActivity.java | 2 +- .../android10/sample/app/users/UserDetailsFragment.java | 4 ++-- .../android10/sample/app/users/UserDetailsPresenter.java | 6 +++--- .../android10/sample/app/users/UserDetailsView.java | 2 +- .../android10/sample/app/users/UserListActivity.java | 2 +- .../android10/sample/app/users/UserListFragment.java | 2 +- .../android10/sample/app/users/UserListPresenter.java | 6 +++--- .../android10/sample/app/users/UserListView.java | 2 +- .../sample/app/{core => }/view/activity/BaseActivity.java | 2 +- .../sample/app/{core => }/view/activity/MainActivity.java | 2 +- .../app/{core => }/view/component/AutoLoadImageView.java | 2 +- .../sample/app/{core => }/view/component/LoadDataView.java | 2 +- .../sample/app/{core => }/view/fragment/BaseFragment.java | 2 +- app/src/main/res/layout/view_user_details.xml | 2 +- .../android10/sample/app/interactor/UseCaseTest.java | 1 - 23 files changed, 27 insertions(+), 28 deletions(-) rename app/src/main/java/com/fernandocejas/android10/sample/app/{core => }/interactor/DefaultSubscriber.java (93%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{core => }/interactor/UseCase.java (97%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{core => }/presenter/Presenter.java (95%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{core => }/view/activity/BaseActivity.java (96%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{core => }/view/activity/MainActivity.java (91%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{core => }/view/component/AutoLoadImageView.java (99%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{core => }/view/component/LoadDataView.java (92%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{core => }/view/fragment/BaseFragment.java (93%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a5cf2d73..2bac0477 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -13,7 +13,7 @@ android:theme="@style/AppTheme"> diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ApplicationComponent.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ApplicationComponent.java index de1db8ec..a2175030 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ApplicationComponent.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ApplicationComponent.java @@ -20,7 +20,7 @@ import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; import com.fernandocejas.android10.sample.app.users.UserRepository; import com.fernandocejas.android10.sample.app.core.di.modules.ApplicationModule; -import com.fernandocejas.android10.sample.app.core.view.activity.BaseActivity; +import com.fernandocejas.android10.sample.app.view.activity.BaseActivity; import dagger.Component; import javax.inject.Singleton; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/UserModule.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/UserModule.java index c78ddcc6..83281f7f 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/UserModule.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/UserModule.java @@ -19,7 +19,7 @@ import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; import com.fernandocejas.android10.sample.app.users.GetUserDetails; import com.fernandocejas.android10.sample.app.users.GetUserList; -import com.fernandocejas.android10.sample.app.core.interactor.UseCase; +import com.fernandocejas.android10.sample.app.interactor.UseCase; import com.fernandocejas.android10.sample.app.users.UserRepository; import com.fernandocejas.android10.sample.app.core.di.PerActivity; import dagger.Module; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/interactor/DefaultSubscriber.java b/app/src/main/java/com/fernandocejas/android10/sample/app/interactor/DefaultSubscriber.java similarity index 93% rename from app/src/main/java/com/fernandocejas/android10/sample/app/core/interactor/DefaultSubscriber.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/interactor/DefaultSubscriber.java index 1ef07588..7f60d47a 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/interactor/DefaultSubscriber.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/interactor/DefaultSubscriber.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.core.interactor; +package com.fernandocejas.android10.sample.app.interactor; /** * Default subscriber base class to be used whenever you want default error handling. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/interactor/UseCase.java b/app/src/main/java/com/fernandocejas/android10/sample/app/interactor/UseCase.java similarity index 97% rename from app/src/main/java/com/fernandocejas/android10/sample/app/core/interactor/UseCase.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/interactor/UseCase.java index 480e5e57..22e79e8b 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/interactor/UseCase.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/interactor/UseCase.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.core.interactor; +package com.fernandocejas.android10.sample.app.interactor; import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/presenter/Presenter.java b/app/src/main/java/com/fernandocejas/android10/sample/app/presenter/Presenter.java similarity index 95% rename from app/src/main/java/com/fernandocejas/android10/sample/app/core/presenter/Presenter.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/presenter/Presenter.java index f8751c86..1ea546aa 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/presenter/Presenter.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/presenter/Presenter.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.core.presenter; +package com.fernandocejas.android10.sample.app.presenter; /** * Interface representing a Presenter in a model view presenter (MVP) pattern. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserDetails.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserDetails.java index ecd94896..2aad0cd4 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserDetails.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserDetails.java @@ -17,7 +17,7 @@ import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; -import com.fernandocejas.android10.sample.app.core.interactor.UseCase; +import com.fernandocejas.android10.sample.app.interactor.UseCase; import javax.inject.Inject; import rx.Observable; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserList.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserList.java index 2fce4623..0b67bd98 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserList.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserList.java @@ -17,7 +17,7 @@ import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; -import com.fernandocejas.android10.sample.app.core.interactor.UseCase; +import com.fernandocejas.android10.sample.app.interactor.UseCase; import javax.inject.Inject; import rx.Observable; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsActivity.java index e8e29386..0db107e8 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsActivity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsActivity.java @@ -14,7 +14,7 @@ import com.fernandocejas.android10.sample.app.core.di.components.DaggerUserComponent; import com.fernandocejas.android10.sample.app.core.di.components.UserComponent; import com.fernandocejas.android10.sample.app.core.di.modules.UserModule; -import com.fernandocejas.android10.sample.app.core.view.activity.BaseActivity; +import com.fernandocejas.android10.sample.app.view.activity.BaseActivity; /** * Activity that shows details of a certain user. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsFragment.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsFragment.java index b589dcea..4cb43cd1 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsFragment.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsFragment.java @@ -17,8 +17,8 @@ import butterknife.OnClick; import com.fernandocejas.android10.sample.app.R; import com.fernandocejas.android10.sample.app.core.di.components.UserComponent; -import com.fernandocejas.android10.sample.app.core.view.component.AutoLoadImageView; -import com.fernandocejas.android10.sample.app.core.view.fragment.BaseFragment; +import com.fernandocejas.android10.sample.app.view.component.AutoLoadImageView; +import com.fernandocejas.android10.sample.app.view.fragment.BaseFragment; import javax.inject.Inject; /** diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsPresenter.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsPresenter.java index 91cbe2bd..c252bea2 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsPresenter.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsPresenter.java @@ -16,11 +16,11 @@ package com.fernandocejas.android10.sample.app.users; import android.support.annotation.NonNull; -import com.fernandocejas.android10.sample.app.core.presenter.Presenter; +import com.fernandocejas.android10.sample.app.presenter.Presenter; import com.fernandocejas.android10.sample.app.exception.DefaultErrorBundle; import com.fernandocejas.android10.sample.app.exception.ErrorBundle; -import com.fernandocejas.android10.sample.app.core.interactor.DefaultSubscriber; -import com.fernandocejas.android10.sample.app.core.interactor.UseCase; +import com.fernandocejas.android10.sample.app.interactor.DefaultSubscriber; +import com.fernandocejas.android10.sample.app.interactor.UseCase; import com.fernandocejas.android10.sample.app.exception.ErrorMessageFactory; import com.fernandocejas.android10.sample.app.core.di.PerActivity; import com.fernandocejas.frodo.annotation.RxLogSubscriber; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsView.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsView.java index 397abc14..4c8fd887 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsView.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsView.java @@ -4,7 +4,7 @@ */ package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.app.core.view.component.LoadDataView; +import com.fernandocejas.android10.sample.app.view.component.LoadDataView; /** * Interface representing a View in a model view presenter (MVP) pattern. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListActivity.java index f65e1842..addc9e17 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListActivity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListActivity.java @@ -13,7 +13,7 @@ import com.fernandocejas.android10.sample.app.core.di.HasComponent; import com.fernandocejas.android10.sample.app.core.di.components.DaggerUserComponent; import com.fernandocejas.android10.sample.app.core.di.components.UserComponent; -import com.fernandocejas.android10.sample.app.core.view.activity.BaseActivity; +import com.fernandocejas.android10.sample.app.view.activity.BaseActivity; /** * Activity that shows a list of Users. diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListFragment.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListFragment.java index 4025fcc1..fd7e5620 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListFragment.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListFragment.java @@ -19,7 +19,7 @@ import butterknife.OnClick; import com.fernandocejas.android10.sample.app.R; import com.fernandocejas.android10.sample.app.core.di.components.UserComponent; -import com.fernandocejas.android10.sample.app.core.view.fragment.BaseFragment; +import com.fernandocejas.android10.sample.app.view.fragment.BaseFragment; import java.util.Collection; import javax.inject.Inject; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListPresenter.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListPresenter.java index dbaa9dba..1b8c9b30 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListPresenter.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListPresenter.java @@ -16,11 +16,11 @@ package com.fernandocejas.android10.sample.app.users; import android.support.annotation.NonNull; -import com.fernandocejas.android10.sample.app.core.presenter.Presenter; +import com.fernandocejas.android10.sample.app.presenter.Presenter; import com.fernandocejas.android10.sample.app.exception.DefaultErrorBundle; import com.fernandocejas.android10.sample.app.exception.ErrorBundle; -import com.fernandocejas.android10.sample.app.core.interactor.DefaultSubscriber; -import com.fernandocejas.android10.sample.app.core.interactor.UseCase; +import com.fernandocejas.android10.sample.app.interactor.DefaultSubscriber; +import com.fernandocejas.android10.sample.app.interactor.UseCase; import com.fernandocejas.android10.sample.app.exception.ErrorMessageFactory; import com.fernandocejas.android10.sample.app.core.di.PerActivity; import java.util.Collection; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListView.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListView.java index 638645f4..47fd625b 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListView.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListView.java @@ -4,7 +4,7 @@ */ package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.app.core.view.component.LoadDataView; +import com.fernandocejas.android10.sample.app.view.component.LoadDataView; import java.util.Collection; /** diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/activity/BaseActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/BaseActivity.java similarity index 96% rename from app/src/main/java/com/fernandocejas/android10/sample/app/core/view/activity/BaseActivity.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/BaseActivity.java index 65bf2824..4409f2c4 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/activity/BaseActivity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/BaseActivity.java @@ -1,4 +1,4 @@ -package com.fernandocejas.android10.sample.app.core.view.activity; +package com.fernandocejas.android10.sample.app.view.activity; import android.app.Activity; import android.app.Fragment; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/activity/MainActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/MainActivity.java similarity index 91% rename from app/src/main/java/com/fernandocejas/android10/sample/app/core/view/activity/MainActivity.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/MainActivity.java index df4591a6..62648c5f 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/activity/MainActivity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/MainActivity.java @@ -1,4 +1,4 @@ -package com.fernandocejas.android10.sample.app.core.view.activity; +package com.fernandocejas.android10.sample.app.view.activity; import android.os.Bundle; import android.widget.Button; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/component/AutoLoadImageView.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/component/AutoLoadImageView.java similarity index 99% rename from app/src/main/java/com/fernandocejas/android10/sample/app/core/view/component/AutoLoadImageView.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/view/component/AutoLoadImageView.java index ce95bf35..740dffe8 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/component/AutoLoadImageView.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/component/AutoLoadImageView.java @@ -3,7 +3,7 @@ * * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.app.core.view.component; +package com.fernandocejas.android10.sample.app.view.component; import android.app.Activity; import android.content.Context; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/component/LoadDataView.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/component/LoadDataView.java similarity index 92% rename from app/src/main/java/com/fernandocejas/android10/sample/app/core/view/component/LoadDataView.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/view/component/LoadDataView.java index d654269d..98d26a2e 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/component/LoadDataView.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/component/LoadDataView.java @@ -2,7 +2,7 @@ * Copyright (C) 2014 android10.org. All rights reserved. * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.app.core.view.component; +package com.fernandocejas.android10.sample.app.view.component; import android.content.Context; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/fragment/BaseFragment.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/BaseFragment.java similarity index 93% rename from app/src/main/java/com/fernandocejas/android10/sample/app/core/view/fragment/BaseFragment.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/BaseFragment.java index 4762b70d..a2c6ad57 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/view/fragment/BaseFragment.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/fragment/BaseFragment.java @@ -3,7 +3,7 @@ * * @author Fernando Cejas (the android10 coder) */ -package com.fernandocejas.android10.sample.app.core.view.fragment; +package com.fernandocejas.android10.sample.app.view.fragment; import android.app.Fragment; import android.widget.Toast; diff --git a/app/src/main/res/layout/view_user_details.xml b/app/src/main/res/layout/view_user_details.xml index ed1f84a2..856af605 100644 --- a/app/src/main/res/layout/view_user_details.xml +++ b/app/src/main/res/layout/view_user_details.xml @@ -5,7 +5,7 @@ android:orientation="vertical" > - Date: Mon, 15 Feb 2016 20:36:26 +0100 Subject: [PATCH 06/12] Minimize users feature scope. First attempt. --- .../sample/app/users/CloudUserDataStore.java | 2 +- .../android10/sample/app/users/User.java | 26 +++++++++---------- .../sample/app/users/UserDataStore.java | 5 ++-- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/CloudUserDataStore.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/CloudUserDataStore.java index 70bcd3c9..bda7fa02 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/CloudUserDataStore.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/CloudUserDataStore.java @@ -15,8 +15,8 @@ */ package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.app.users.cache.UserCache; import com.fernandocejas.android10.sample.app.data.RestApi; +import com.fernandocejas.android10.sample.app.users.cache.UserCache; import java.util.List; import rx.Observable; import rx.functions.Action1; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/User.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/User.java index 9b757d10..43a2cd86 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/User.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/User.java @@ -18,11 +18,11 @@ /** * Class that represents a User in the domain layer. */ -public class User { +class User { private final int userId; - public User(int userId) { + User(int userId) { this.userId = userId; } @@ -32,47 +32,47 @@ public User(int userId) { private String description; private int followers; - public int getUserId() { + int getUserId() { return userId; } - public String getCoverUrl() { + String getCoverUrl() { return coverUrl; } - public void setCoverUrl(String coverUrl) { + void setCoverUrl(String coverUrl) { this.coverUrl = coverUrl; } - public String getFullName() { + String getFullName() { return fullName; } - public void setFullName(String fullName) { + void setFullName(String fullName) { this.fullName = fullName; } - public String getEmail() { + String getEmail() { return email; } - public void setEmail(String email) { + void setEmail(String email) { this.email = email; } - public String getDescription() { + String getDescription() { return description; } - public void setDescription(String description) { + void setDescription(String description) { this.description = description; } - public int getFollowers() { + int getFollowers() { return followers; } - public void setFollowers(int followers) { + void setFollowers(int followers) { this.followers = followers; } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataStore.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataStore.java index b8d7d288..8f066f60 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataStore.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataStore.java @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -15,14 +15,13 @@ */ package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.app.users.UserEntity; import java.util.List; import rx.Observable; /** * Interface that represents a data store from where data is retrieved. */ -public interface UserDataStore { +interface UserDataStore { /** * Get an {@link rx.Observable} which will emit a List of {@link UserEntity}. */ From 916c77d1b82f6fcc49dc371b0eddbf9be42c4032 Mon Sep 17 00:00:00 2001 From: Fernando Cejas Date: Mon, 19 Sep 2016 23:51:53 +0200 Subject: [PATCH 07/12] Refactor and fix unit tests. Package re organization. --- .../exception/ErrorMessageFactoryTest.java | 48 ------------------- .../UserDetailsActivityTest.java | 2 +- .../UserListActivityTest.java | 2 +- .../sample/app/users/UserModelDataMapper.java | 4 +- .../sample/app/ApplicationTestCase.java | 17 ++++++- .../app/exception/DefaultErrorBundleTest.java | 5 +- .../exception/RepositoryErrorBundleTest.java | 9 ++-- .../sample/app/interactor/UseCaseTest.java | 7 +-- .../app/users/CloudUserDataStoreTest.java | 8 ++-- .../app/users/DiskUserDataStoreTest.java | 9 ++-- .../sample/app/users/GetUserDetailsTest.java | 5 +- .../sample/app/users/GetUserListTest.java | 5 +- .../app/users/UserDataRepositoryTest.java | 8 ++-- .../app/users/UserDataStoreFactoryTest.java | 13 +---- .../app/users}/UserDetailsPresenterTest.java | 38 ++++++--------- .../app/users}/UserListPresenterTest.java | 36 ++++++-------- .../app/users}/UserModelDataMapperTest.java | 19 ++++---- 17 files changed, 92 insertions(+), 143 deletions(-) delete mode 100644 app/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java rename app/src/androidTest/java/com/fernandocejas/android10/sample/test/{view/activity => users}/UserDetailsActivityTest.java (98%) rename app/src/androidTest/java/com/fernandocejas/android10/sample/test/{view/activity => users}/UserListActivityTest.java (97%) rename app/src/{androidTest/java/com/fernandocejas/android10/sample/test/presenter => test/java/com/fernandocejas/android10/sample/app/users}/UserDetailsPresenterTest.java (59%) rename app/src/{androidTest/java/com/fernandocejas/android10/sample/test/presenter => test/java/com/fernandocejas/android10/sample/app/users}/UserListPresenterTest.java (60%) rename app/src/{androidTest/java/com/fernandocejas/android10/sample/test/mapper => test/java/com/fernandocejas/android10/sample/app/users}/UserModelDataMapperTest.java (81%) diff --git a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java deleted file mode 100644 index 44939ca1..00000000 --- a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Copyright (C) 2015 Fernando Cejas Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.fernandocejas.android10.sample.test.exception; - -import android.test.AndroidTestCase; -import com.fernandocejas.android10.sample.app.exception.NetworkConnectionException; -import com.fernandocejas.android10.sample.app.users.UserNotFoundException; -import com.fernandocejas.android10.sample.app.R; -import com.fernandocejas.android10.sample.app.exception.ErrorMessageFactory; - -import static org.hamcrest.CoreMatchers.equalTo; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.MatcherAssert.assertThat; - -public class ErrorMessageFactoryTest extends AndroidTestCase { - - @Override protected void setUp() throws Exception { - super.setUp(); - } - - public void testNetworkConnectionErrorMessage() { - String expectedMessage = getContext().getString(R.string.exception_message_no_connection); - String actualMessage = ErrorMessageFactory.create(getContext(), - new NetworkConnectionException()); - - assertThat(actualMessage, is(equalTo(expectedMessage))); - } - - public void testUserNotFoundErrorMessage() { - String expectedMessage = getContext().getString(R.string.exception_message_user_not_found); - String actualMessage = ErrorMessageFactory.create(getContext(), new UserNotFoundException()); - - assertThat(actualMessage, is(equalTo(expectedMessage))); - } -} diff --git a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserDetailsActivityTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/users/UserDetailsActivityTest.java similarity index 98% rename from app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserDetailsActivityTest.java rename to app/src/androidTest/java/com/fernandocejas/android10/sample/test/users/UserDetailsActivityTest.java index 423ced0c..0c0d3a62 100644 --- a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserDetailsActivityTest.java +++ b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/users/UserDetailsActivityTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.test.view.activity; +package com.fernandocejas.android10.sample.test.users; import android.app.Fragment; import android.content.Intent; diff --git a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserListActivityTest.java b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/users/UserListActivityTest.java similarity index 97% rename from app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserListActivityTest.java rename to app/src/androidTest/java/com/fernandocejas/android10/sample/test/users/UserListActivityTest.java index 77ccbb0d..edea2a06 100644 --- a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserListActivityTest.java +++ b/app/src/androidTest/java/com/fernandocejas/android10/sample/test/users/UserListActivityTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.test.view.activity; +package com.fernandocejas.android10.sample.test.users; import android.app.Fragment; import android.content.Intent; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModelDataMapper.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModelDataMapper.java index 06de0d12..2ce9d566 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModelDataMapper.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModelDataMapper.java @@ -37,7 +37,7 @@ public UserModelDataMapper() {} * @param user Object to be transformed. * @return {@link UserModel}. */ - public UserModel transform(User user) { + UserModel transform(User user) { if (user == null) { throw new IllegalArgumentException("Cannot transform a null value"); } @@ -57,7 +57,7 @@ public UserModel transform(User user) { * @param usersCollection Objects to be transformed. * @return List of {@link UserModel}. */ - public Collection transform(Collection usersCollection) { + Collection transform(Collection usersCollection) { Collection userModelsCollection; if (usersCollection != null && !usersCollection.isEmpty()) { diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/ApplicationTestCase.java b/app/src/test/java/com/fernandocejas/android10/sample/app/ApplicationTestCase.java index a6438b5a..bb47c6a7 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/ApplicationTestCase.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/ApplicationTestCase.java @@ -15,8 +15,13 @@ */ package com.fernandocejas.android10.sample.app; +import android.content.Context; +import org.junit.Rule; +import org.junit.rules.TestRule; import org.junit.runner.RunWith; +import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricGradleTestRunner; +import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; /** @@ -25,4 +30,14 @@ */ @RunWith(RobolectricGradleTestRunner.class) @Config(constants = BuildConfig.class, application = ApplicationStub.class, sdk = 21) -public abstract class ApplicationTestCase {} +public abstract class ApplicationTestCase { + + @Rule public TestRule injectMocksRule = (base, description) -> { + MockitoAnnotations.initMocks(ApplicationTestCase.this); + return base; + }; + + public static Context context() { + return RuntimeEnvironment.application; + } +} diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/exception/DefaultErrorBundleTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/exception/DefaultErrorBundleTest.java index 017dd8f3..d7aa5e10 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/exception/DefaultErrorBundleTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/exception/DefaultErrorBundleTest.java @@ -17,11 +17,13 @@ import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; +import org.mockito.runners.MockitoJUnitRunner; import static org.mockito.Mockito.verify; +@RunWith(MockitoJUnitRunner.class) public class DefaultErrorBundleTest { private DefaultErrorBundle defaultErrorBundle; @@ -30,7 +32,6 @@ public class DefaultErrorBundleTest { @Before public void setUp() { - MockitoAnnotations.initMocks(this); defaultErrorBundle = new DefaultErrorBundle(mockException); } diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/exception/RepositoryErrorBundleTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/exception/RepositoryErrorBundleTest.java index 610e8a32..5b99fbd4 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/exception/RepositoryErrorBundleTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/exception/RepositoryErrorBundleTest.java @@ -15,15 +15,16 @@ */ package com.fernandocejas.android10.sample.app.exception; -import com.fernandocejas.android10.sample.app.ApplicationTestCase; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; +import org.mockito.runners.MockitoJUnitRunner; import static org.mockito.Mockito.verify; -public class RepositoryErrorBundleTest extends ApplicationTestCase { +@RunWith(MockitoJUnitRunner.class) +public class RepositoryErrorBundleTest { private RepositoryErrorBundle repositoryErrorBundle; @@ -32,11 +33,11 @@ public class RepositoryErrorBundleTest extends ApplicationTestCase { @Before public void setUp() { - MockitoAnnotations.initMocks(this); repositoryErrorBundle = new RepositoryErrorBundle(mockException); } @Test + @SuppressWarnings("ThrowableResultOfMethodCallIgnored") public void testGetErrorMessageInteraction() { repositoryErrorBundle.getErrorMessage(); diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/interactor/UseCaseTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/interactor/UseCaseTest.java index 42467e2d..bcfa00aa 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/interactor/UseCaseTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/interactor/UseCaseTest.java @@ -19,8 +19,9 @@ import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; +import org.mockito.runners.MockitoJUnitRunner; import rx.Observable; import rx.Subscriber; import rx.observers.TestSubscriber; @@ -30,6 +31,7 @@ import static org.hamcrest.core.Is.is; import static org.mockito.BDDMockito.given; +@RunWith(MockitoJUnitRunner.class) public class UseCaseTest { private UseCaseTestClass useCase; @@ -39,7 +41,6 @@ public class UseCaseTest { @Before public void setUp() { - MockitoAnnotations.initMocks(this); this.useCase = new UseCaseTestClass(mockThreadExecutor, mockPostExecutionThread); } @@ -67,7 +68,7 @@ public void testSubscriptionWhenExecutingUseCase() { private static class UseCaseTestClass extends UseCase { - protected UseCaseTestClass( + UseCaseTestClass( ThreadExecutor threadExecutor, PostExecutionThread postExecutionThread) { super(threadExecutor, postExecutionThread); diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/users/CloudUserDataStoreTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/users/CloudUserDataStoreTest.java index 590f8605..ff8c3862 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/users/CloudUserDataStoreTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/users/CloudUserDataStoreTest.java @@ -15,19 +15,20 @@ */ package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.app.ApplicationTestCase; import com.fernandocejas.android10.sample.app.data.RestApi; import com.fernandocejas.android10.sample.app.users.cache.UserCache; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; +import org.mockito.runners.MockitoJUnitRunner; import rx.Observable; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.verify; -public class CloudUserDataStoreTest extends ApplicationTestCase { +@RunWith(MockitoJUnitRunner.class) +public class CloudUserDataStoreTest { private static final int FAKE_USER_ID = 765; @@ -38,7 +39,6 @@ public class CloudUserDataStoreTest extends ApplicationTestCase { @Before public void setUp() { - MockitoAnnotations.initMocks(this); cloudUserDataStore = new CloudUserDataStore(mockRestApi, mockUserCache); } diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/users/DiskUserDataStoreTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/users/DiskUserDataStoreTest.java index 0e6d2415..372b9718 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/users/DiskUserDataStoreTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/users/DiskUserDataStoreTest.java @@ -15,19 +15,19 @@ */ package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.app.ApplicationTestCase; import com.fernandocejas.android10.sample.app.users.cache.UserCache; -import com.fernandocejas.android10.sample.app.users.DiskUserDataStore; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; +import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; +import org.mockito.runners.MockitoJUnitRunner; import static org.mockito.Mockito.verify; -public class DiskUserDataStoreTest extends ApplicationTestCase { +@RunWith(MockitoJUnitRunner.class) +public class DiskUserDataStoreTest { private static final int FAKE_USER_ID = 11; @@ -39,7 +39,6 @@ public class DiskUserDataStoreTest extends ApplicationTestCase { @Before public void setUp() { - MockitoAnnotations.initMocks(this); diskUserDataStore = new DiskUserDataStore(mockUserCache); } diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/users/GetUserDetailsTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/users/GetUserDetailsTest.java index 210a9c93..0cbe97f6 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/users/GetUserDetailsTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/users/GetUserDetailsTest.java @@ -19,13 +19,15 @@ import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; +import org.mockito.runners.MockitoJUnitRunner; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.verifyZeroInteractions; +@RunWith(MockitoJUnitRunner.class) public class GetUserDetailsTest { private static final int FAKE_USER_ID = 123; @@ -38,7 +40,6 @@ public class GetUserDetailsTest { @Before public void setUp() { - MockitoAnnotations.initMocks(this); getUserDetails = new GetUserDetails(FAKE_USER_ID, mockUserRepository, mockThreadExecutor, mockPostExecutionThread); } diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/users/GetUserListTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/users/GetUserListTest.java index 944dd165..8bdd1cb4 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/users/GetUserListTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/users/GetUserListTest.java @@ -19,13 +19,15 @@ import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; +import org.mockito.runners.MockitoJUnitRunner; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.verifyZeroInteractions; +@RunWith(MockitoJUnitRunner.class) public class GetUserListTest { private GetUserList getUserList; @@ -36,7 +38,6 @@ public class GetUserListTest { @Before public void setUp() { - MockitoAnnotations.initMocks(this); getUserList = new GetUserList(mockUserRepository, mockThreadExecutor, mockPostExecutionThread); } diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserDataRepositoryTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserDataRepositoryTest.java index 88846e93..91ebf66e 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserDataRepositoryTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserDataRepositoryTest.java @@ -15,22 +15,23 @@ */ package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.app.ApplicationTestCase; import java.util.ArrayList; import java.util.List; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; +import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; +import org.mockito.runners.MockitoJUnitRunner; import rx.Observable; import static org.mockito.BDDMockito.given; import static org.mockito.Matchers.anyInt; import static org.mockito.Mockito.verify; -public class UserDataRepositoryTest extends ApplicationTestCase { +@RunWith(MockitoJUnitRunner.class) +public class UserDataRepositoryTest { private static final int FAKE_USER_ID = 123; @@ -47,7 +48,6 @@ public class UserDataRepositoryTest extends ApplicationTestCase { @Before public void setUp() { - MockitoAnnotations.initMocks(this); userDataRepository = new UserDataRepository(mockUserDataStoreFactory, mockUserEntityDataMapper); diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserDataStoreFactoryTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserDataStoreFactoryTest.java index 8e57f2a6..09412ea4 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserDataStoreFactoryTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserDataStoreFactoryTest.java @@ -17,15 +17,9 @@ import com.fernandocejas.android10.sample.app.ApplicationTestCase; import com.fernandocejas.android10.sample.app.users.cache.UserCache; -import com.fernandocejas.android10.sample.app.users.CloudUserDataStore; -import com.fernandocejas.android10.sample.app.users.DiskUserDataStore; -import com.fernandocejas.android10.sample.app.users.UserDataStore; -import com.fernandocejas.android10.sample.app.users.UserDataStoreFactory; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; -import org.robolectric.RuntimeEnvironment; import static org.hamcrest.CoreMatchers.instanceOf; import static org.hamcrest.CoreMatchers.is; @@ -40,14 +34,11 @@ public class UserDataStoreFactoryTest extends ApplicationTestCase { private UserDataStoreFactory userDataStoreFactory; - @Mock - private UserCache mockUserCache; + @Mock private UserCache mockUserCache; @Before public void setUp() { - MockitoAnnotations.initMocks(this); - userDataStoreFactory = - new UserDataStoreFactory(RuntimeEnvironment.application, mockUserCache); + userDataStoreFactory = new UserDataStoreFactory(context(), mockUserCache); } @Test diff --git a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserDetailsPresenterTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserDetailsPresenterTest.java similarity index 59% rename from app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserDetailsPresenterTest.java rename to app/src/test/java/com/fernandocejas/android10/sample/app/users/UserDetailsPresenterTest.java index 124fafa1..b5406375 100644 --- a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserDetailsPresenterTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserDetailsPresenterTest.java @@ -13,45 +13,37 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.test.presenter; +package com.fernandocejas.android10.sample.app.users; import android.content.Context; -import android.test.AndroidTestCase; -import com.fernandocejas.android10.sample.app.users.GetUserDetails; -import com.fernandocejas.android10.sample.app.users.UserModelDataMapper; -import com.fernandocejas.android10.sample.app.users.UserDetailsPresenter; -import com.fernandocejas.android10.sample.app.users.UserDetailsView; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; +import org.mockito.runners.MockitoJUnitRunner; import rx.Subscriber; import static org.mockito.BDDMockito.given; import static org.mockito.Matchers.any; import static org.mockito.Mockito.verify; -public class UserDetailsPresenterTest extends AndroidTestCase { - - private static final int FAKE_USER_ID = 123; +@RunWith(MockitoJUnitRunner.class) +public class UserDetailsPresenterTest { private UserDetailsPresenter userDetailsPresenter; - @Mock - private Context mockContext; - @Mock - private UserDetailsView mockUserDetailsView; - @Mock - private GetUserDetails mockGetUserDetails; - @Mock - private UserModelDataMapper mockUserModelDataMapper; + @Mock private Context mockContext; + @Mock private UserDetailsView mockUserDetailsView; + @Mock private GetUserDetails mockGetUserDetails; + @Mock private UserModelDataMapper mockUserModelDataMapper; - @Override protected void setUp() throws Exception { - super.setUp(); - MockitoAnnotations.initMocks(this); - userDetailsPresenter = new UserDetailsPresenter(mockGetUserDetails, - mockUserModelDataMapper); + @Before + public void setUp() throws Exception { + userDetailsPresenter = new UserDetailsPresenter(mockGetUserDetails, mockUserModelDataMapper); userDetailsPresenter.setView(mockUserDetailsView); } + @Test public void testUserDetailsPresenterInitialize() { given(mockUserDetailsView.context()).willReturn(mockContext); diff --git a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserListPresenterTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserListPresenterTest.java similarity index 60% rename from app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserListPresenterTest.java rename to app/src/test/java/com/fernandocejas/android10/sample/app/users/UserListPresenterTest.java index 8a7abfed..66b3b4da 100644 --- a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserListPresenterTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserListPresenterTest.java @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -13,42 +13,36 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.test.presenter; +package com.fernandocejas.android10.sample.app.users; import android.content.Context; -import android.test.AndroidTestCase; -import com.fernandocejas.android10.sample.app.users.GetUserList; -import com.fernandocejas.android10.sample.app.users.UserModelDataMapper; -import com.fernandocejas.android10.sample.app.users.UserListPresenter; -import com.fernandocejas.android10.sample.app.users.UserListView; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; +import org.mockito.runners.MockitoJUnitRunner; import rx.Subscriber; import static org.mockito.BDDMockito.given; import static org.mockito.Matchers.any; import static org.mockito.Mockito.verify; -public class UserListPresenterTest extends AndroidTestCase { +@RunWith(MockitoJUnitRunner.class) +public class UserListPresenterTest { private UserListPresenter userListPresenter; - @Mock - private Context mockContext; - @Mock - private UserListView mockUserListView; - @Mock - private GetUserList mockGetUserList; - @Mock - private UserModelDataMapper mockUserModelDataMapper; - - @Override protected void setUp() throws Exception { - super.setUp(); - MockitoAnnotations.initMocks(this); + @Mock private Context mockContext; + @Mock private UserListView mockUserListView; + @Mock private GetUserList mockGetUserList; + @Mock private UserModelDataMapper mockUserModelDataMapper; + + @Before public void setUp() throws Exception { userListPresenter = new UserListPresenter(mockGetUserList, mockUserModelDataMapper); userListPresenter.setView(mockUserListView); } + @Test public void testUserListPresenterInitialize() { given(mockUserListView.context()).willReturn(mockContext); diff --git a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/mapper/UserModelDataMapperTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserModelDataMapperTest.java similarity index 81% rename from app/src/androidTest/java/com/fernandocejas/android10/sample/test/mapper/UserModelDataMapperTest.java rename to app/src/test/java/com/fernandocejas/android10/sample/app/users/UserModelDataMapperTest.java index e48b4df1..ed266b63 100644 --- a/app/src/androidTest/java/com/fernandocejas/android10/sample/test/mapper/UserModelDataMapperTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/users/UserModelDataMapperTest.java @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -13,33 +13,33 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.test.mapper; +package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.app.users.User; -import com.fernandocejas.android10.sample.app.users.UserModelDataMapper; -import com.fernandocejas.android10.sample.app.users.UserModel; +import com.fernandocejas.android10.sample.app.ApplicationTestCase; import java.util.ArrayList; import java.util.Collection; import java.util.List; -import junit.framework.TestCase; +import org.junit.Before; +import org.junit.Test; import static org.hamcrest.CoreMatchers.instanceOf; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; import static org.mockito.Mockito.mock; -public class UserModelDataMapperTest extends TestCase { +public class UserModelDataMapperTest extends ApplicationTestCase { private static final int FAKE_USER_ID = 123; private static final String FAKE_FULLNAME = "Tony Stark"; private UserModelDataMapper userModelDataMapper; - @Override protected void setUp() throws Exception { - super.setUp(); + @Before + public void setUp() { userModelDataMapper = new UserModelDataMapper(); } + @Test public void testTransformUser() { User user = createFakeUser(); UserModel userModel = userModelDataMapper.transform(user); @@ -49,6 +49,7 @@ public void testTransformUser() { assertThat(userModel.getFullName(), is(FAKE_FULLNAME)); } + @Test public void testTransformUserCollection() { User mockUserOne = mock(User.class); User mockUserTwo = mock(User.class); From a5f22b9abf37f039f368a2a6201dd998e5fe6325 Mon Sep 17 00:00:00 2001 From: Fernando Cejas Date: Wed, 21 Sep 2016 23:31:44 +0200 Subject: [PATCH 08/12] - Improve scoping. - Refactor. - Get rid of dead code. --- .../core/di/components/ActivityComponent.java | 2 +- .../sample/app/core/executor/JobExecutor.java | 34 +++-------- .../sample/app/core/executor/UIThread.java | 3 +- .../sample/app/data/ApiConnection.java | 6 +- .../sample/app/data/FileManager.java | 2 +- .../exception/NetworkConnectionException.java | 8 --- .../app/exception/RepositoryErrorBundle.java | 8 ++- .../sample/app/users/GetUserList.java | 2 +- .../android10/sample/app/users/User.java | 2 +- .../sample/app/users/UserDataRepository.java | 2 +- .../app/users/UserDataStoreFactory.java | 6 +- .../app/users/UserDetailsPresenter.java | 4 +- .../sample/app/users/UserDetailsView.java | 2 +- .../sample/app/users/UserEntity.java | 10 ++-- .../app/users/UserEntityDataMapper.java | 11 ++-- .../app/users/UserEntityJsonMapper.java | 25 ++------ .../sample/app/users/UserListFragment.java | 13 ++--- .../sample/app/users/UserListPresenter.java | 8 ++- .../sample/app/users/UserListView.java | 2 +- .../android10/sample/app/users/UserModel.java | 22 +++---- .../app/users/UserNotFoundException.java | 15 +---- .../sample/app/users/UsersAdapter.java | 10 ++-- .../sample/app/users/UsersLayoutManager.java | 4 +- .../sample/app/users/cache/UserCacheImpl.java | 6 +- .../cache/serializer/JsonSerializer.java | 8 +-- .../app/view/activity/BaseActivity.java | 2 +- .../app/view/component/AutoLoadImageView.java | 58 +++---------------- build.gradle | 9 +-- 28 files changed, 88 insertions(+), 196 deletions(-) diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ActivityComponent.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ActivityComponent.java index 2ff16d27..84e622c2 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ActivityComponent.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ActivityComponent.java @@ -29,7 +29,7 @@ */ @PerActivity @Component(dependencies = ApplicationComponent.class, modules = ActivityModule.class) -public interface ActivityComponent { +interface ActivityComponent { //Exposed to sub-graphs. Activity activity(); } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/JobExecutor.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/JobExecutor.java index a851462d..dbe656d1 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/JobExecutor.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/JobExecutor.java @@ -15,7 +15,7 @@ */ package com.fernandocejas.android10.sample.app.core.executor; -import java.util.concurrent.BlockingQueue; +import android.support.annotation.NonNull; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadPoolExecutor; @@ -28,43 +28,23 @@ */ @Singleton public class JobExecutor implements ThreadExecutor { - - private static final int INITIAL_POOL_SIZE = 3; - private static final int MAX_POOL_SIZE = 5; - - // Sets the amount of time an idle thread waits before terminating - private static final int KEEP_ALIVE_TIME = 10; - - // Sets the Time Unit to seconds - private static final TimeUnit KEEP_ALIVE_TIME_UNIT = TimeUnit.SECONDS; - - private final BlockingQueue workQueue; - private final ThreadPoolExecutor threadPoolExecutor; - private final ThreadFactory threadFactory; - @Inject - public JobExecutor() { - this.workQueue = new LinkedBlockingQueue<>(); - this.threadFactory = new JobThreadFactory(); - this.threadPoolExecutor = new ThreadPoolExecutor(INITIAL_POOL_SIZE, MAX_POOL_SIZE, - KEEP_ALIVE_TIME, KEEP_ALIVE_TIME_UNIT, this.workQueue, this.threadFactory); + JobExecutor() { + this.threadPoolExecutor = new ThreadPoolExecutor(3, 5, 10, TimeUnit.SECONDS, + new LinkedBlockingQueue<>(), new JobThreadFactory()); } - @Override public void execute(Runnable runnable) { - if (runnable == null) { - throw new IllegalArgumentException("Runnable to execute cannot be null"); - } + @Override public void execute(@NonNull Runnable runnable) { this.threadPoolExecutor.execute(runnable); } private static class JobThreadFactory implements ThreadFactory { - private static final String THREAD_NAME = "android_"; private int counter = 0; - @Override public Thread newThread(Runnable runnable) { - return new Thread(runnable, THREAD_NAME + counter++); + @Override public Thread newThread(@NonNull Runnable runnable) { + return new Thread(runnable, "android_" + counter++); } } } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/UIThread.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/UIThread.java index 64272223..6a53a58c 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/UIThread.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/UIThread.java @@ -15,7 +15,6 @@ */ package com.fernandocejas.android10.sample.app.core.executor; -import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; import javax.inject.Inject; import javax.inject.Singleton; import rx.Scheduler; @@ -29,7 +28,7 @@ public class UIThread implements PostExecutionThread { @Inject - public UIThread() {} + UIThread() {} @Override public Scheduler getScheduler() { return AndroidSchedulers.mainThread(); diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/ApiConnection.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/ApiConnection.java index 20cc1cd0..cc825b17 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/ApiConnection.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/ApiConnection.java @@ -29,7 +29,7 @@ * Implements {@link java.util.concurrent.Callable} so when executed asynchronously can * return a value. */ -public class ApiConnection implements Callable { +class ApiConnection implements Callable { private static final String CONTENT_TYPE_LABEL = "Content-Type"; private static final String CONTENT_TYPE_VALUE_JSON = "application/json; charset=utf-8"; @@ -41,7 +41,7 @@ private ApiConnection(String url) throws MalformedURLException { this.url = new URL(url); } - public static ApiConnection createGET(String url) throws MalformedURLException { + static ApiConnection createGET(String url) throws MalformedURLException { return new ApiConnection(url); } @@ -52,7 +52,7 @@ public static ApiConnection createGET(String url) throws MalformedURLException { * @return A string response */ @Nullable - public String requestSyncCall() { + String requestSyncCall() { connectToApi(); return response; } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/FileManager.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/FileManager.java index d548241f..91d753af 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/FileManager.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/FileManager.java @@ -69,7 +69,7 @@ public String readFileContent(File file) { FileReader fileReader = new FileReader(file); BufferedReader bufferedReader = new BufferedReader(fileReader); while ((stringLine = bufferedReader.readLine()) != null) { - fileContentBuilder.append(stringLine + "\n"); + fileContentBuilder.append(stringLine).append("\n"); } bufferedReader.close(); fileReader.close(); diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/exception/NetworkConnectionException.java b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/NetworkConnectionException.java index 1a3533ea..d04c5bfe 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/exception/NetworkConnectionException.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/NetworkConnectionException.java @@ -24,14 +24,6 @@ public NetworkConnectionException() { super(); } - public NetworkConnectionException(final String message) { - super(message); - } - - public NetworkConnectionException(final String message, final Throwable cause) { - super(message, cause); - } - public NetworkConnectionException(final Throwable cause) { super(cause); } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/exception/RepositoryErrorBundle.java b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/RepositoryErrorBundle.java index bc62eb06..fc46f1e7 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/exception/RepositoryErrorBundle.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/RepositoryErrorBundle.java @@ -15,14 +15,16 @@ */ package com.fernandocejas.android10.sample.app.exception; +import com.fernandocejas.frodo.core.strings.Strings; + /** * Wrapper around Exceptions used to manage errors in the repository. */ -public class RepositoryErrorBundle implements ErrorBundle { +class RepositoryErrorBundle implements ErrorBundle { private final Exception exception; - public RepositoryErrorBundle(Exception exception) { + RepositoryErrorBundle(Exception exception) { this.exception = exception; } @@ -33,7 +35,7 @@ public Exception getException() { @Override public String getErrorMessage() { - String message = ""; + String message = Strings.EMPTY; if (this.exception != null) { message = this.exception.getMessage(); } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserList.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserList.java index 0b67bd98..a2f24a0d 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserList.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserList.java @@ -30,7 +30,7 @@ public class GetUserList extends UseCase { private final UserRepository userRepository; @Inject - public GetUserList(UserRepository userRepository, ThreadExecutor threadExecutor, + GetUserList(UserRepository userRepository, ThreadExecutor threadExecutor, PostExecutionThread postExecutionThread) { super(threadExecutor, postExecutionThread); this.userRepository = userRepository; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/User.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/User.java index 43a2cd86..ca38b9a2 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/User.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/User.java @@ -77,7 +77,7 @@ void setFollowers(int followers) { } @Override public String toString() { - StringBuilder stringBuilder = new StringBuilder(); + final StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("***** User Details *****\n"); stringBuilder.append("id=" + this.getUserId() + "\n"); diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataRepository.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataRepository.java index dfa50669..2196fa85 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataRepository.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataRepository.java @@ -36,7 +36,7 @@ public class UserDataRepository implements UserRepository { * @param userEntityDataMapper {@link UserEntityDataMapper}. */ @Inject - public UserDataRepository(UserDataStoreFactory dataStoreFactory, + UserDataRepository(UserDataStoreFactory dataStoreFactory, UserEntityDataMapper userEntityDataMapper) { this.userDataStoreFactory = dataStoreFactory; this.userEntityDataMapper = userEntityDataMapper; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataStoreFactory.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataStoreFactory.java index 451f319d..0aae451b 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataStoreFactory.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataStoreFactory.java @@ -33,7 +33,7 @@ public class UserDataStoreFactory { private final UserCache userCache; @Inject - public UserDataStoreFactory(@NonNull Context context, @NonNull UserCache userCache) { + UserDataStoreFactory(@NonNull Context context, @NonNull UserCache userCache) { this.context = context.getApplicationContext(); this.userCache = userCache; } @@ -41,7 +41,7 @@ public UserDataStoreFactory(@NonNull Context context, @NonNull UserCache userCac /** * Create {@link UserDataStore} from a user id. */ - public UserDataStore create(int userId) { + UserDataStore create(int userId) { UserDataStore userDataStore; if (!this.userCache.isExpired() && this.userCache.isCached(userId)) { @@ -56,7 +56,7 @@ public UserDataStore create(int userId) { /** * Create {@link UserDataStore} to retrieve data from the Cloud. */ - public UserDataStore createCloudDataStore() { + UserDataStore createCloudDataStore() { UserEntityJsonMapper userEntityJsonMapper = new UserEntityJsonMapper(); RestApi restApi = new RestApiImpl(this.context, userEntityJsonMapper); diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsPresenter.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsPresenter.java index c252bea2..4cb30d88 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsPresenter.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsPresenter.java @@ -40,7 +40,7 @@ public class UserDetailsPresenter implements Presenter { private final UserModelDataMapper userModelDataMapper; @Inject - public UserDetailsPresenter(@Named("userDetails") UseCase getUserDetailsUseCase, + UserDetailsPresenter(@Named("userDetails") UseCase getUserDetailsUseCase, UserModelDataMapper userModelDataMapper) { this.getUserDetailsUseCase = getUserDetailsUseCase; this.userModelDataMapper = userModelDataMapper; @@ -62,7 +62,7 @@ public void setView(@NonNull UserDetailsView view) { /** * Initializes the presenter by start retrieving user details. */ - public void initialize() { + void initialize() { this.loadUserDetails(); } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsView.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsView.java index 4c8fd887..20d942fd 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsView.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsView.java @@ -10,7 +10,7 @@ * Interface representing a View in a model view presenter (MVP) pattern. * In this case is used as a view representing a user profile. */ -public interface UserDetailsView extends LoadDataView { +interface UserDetailsView extends LoadDataView { /** * Render a user in the UI. * diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntity.java index 64762523..b7bc8567 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntity.java @@ -52,7 +52,7 @@ public void setUserId(int userId) { this.userId = userId; } - public String getCoverUrl() { + String getCoverUrl() { return coverUrl; } @@ -64,11 +64,11 @@ public String getFullname() { return fullname; } - public void setFullname(String fullname) { + void setFullname(String fullname) { this.fullname = fullname; } - public String getDescription() { + String getDescription() { return description; } @@ -84,7 +84,7 @@ public void setFollowers(int followers) { this.followers = followers; } - public String getEmail() { + String getEmail() { return email; } @@ -93,7 +93,7 @@ public void setEmail(String email) { } @Override public String toString() { - StringBuilder stringBuilder = new StringBuilder(); + final StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("***** User Entity Details *****\n"); stringBuilder.append("id=" + this.getUserId() + "\n"); diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntityDataMapper.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntityDataMapper.java index a0dfcaa3..1c72b48b 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntityDataMapper.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntityDataMapper.java @@ -29,7 +29,7 @@ public class UserEntityDataMapper { @Inject - public UserEntityDataMapper() {} + UserEntityDataMapper() {} /** * Transform a {@link UserEntity} into an {@link User}. @@ -37,7 +37,7 @@ public UserEntityDataMapper() {} * @param userEntity Object to be transformed. * @return {@link User} if valid {@link UserEntity} otherwise null. */ - public User transform(UserEntity userEntity) { + User transform(UserEntity userEntity) { User user = null; if (userEntity != null) { user = new User(userEntity.getUserId()); @@ -57,11 +57,10 @@ public User transform(UserEntity userEntity) { * @param userEntityCollection Object Collection to be transformed. * @return {@link User} if valid {@link UserEntity} otherwise null. */ - public List transform(Collection userEntityCollection) { - List userList = new ArrayList<>(20); - User user; + List transform(Collection userEntityCollection) { + final List userList = new ArrayList<>(20); for (UserEntity userEntity : userEntityCollection) { - user = transform(userEntity); + final User user = transform(userEntity); if (user != null) { userList.add(user); } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntityJsonMapper.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntityJsonMapper.java index bc7873d2..d835b301 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntityJsonMapper.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntityJsonMapper.java @@ -15,7 +15,6 @@ */ package com.fernandocejas.android10.sample.app.users; -import com.fernandocejas.android10.sample.app.users.UserEntity; import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; import com.google.gson.reflect.TypeToken; @@ -31,7 +30,7 @@ public class UserEntityJsonMapper { private final Gson gson; @Inject - public UserEntityJsonMapper() { + UserEntityJsonMapper() { this.gson = new Gson(); } @@ -43,14 +42,8 @@ public UserEntityJsonMapper() { * @throws com.google.gson.JsonSyntaxException if the json string is not a valid json structure. */ public UserEntity transformUserEntity(String userJsonResponse) throws JsonSyntaxException { - try { - Type userEntityType = new TypeToken() {}.getType(); - UserEntity userEntity = this.gson.fromJson(userJsonResponse, userEntityType); - - return userEntity; - } catch (JsonSyntaxException jsonException) { - throw jsonException; - } + final Type userEntityType = new TypeToken() {}.getType(); + return this.gson.fromJson(userJsonResponse, userEntityType); } /** @@ -62,15 +55,7 @@ public UserEntity transformUserEntity(String userJsonResponse) throws JsonSyntax */ public List transformUserEntityCollection(String userListJsonResponse) throws JsonSyntaxException { - - List userEntityCollection; - try { - Type listOfUserEntityType = new TypeToken>() {}.getType(); - userEntityCollection = this.gson.fromJson(userListJsonResponse, listOfUserEntityType); - - return userEntityCollection; - } catch (JsonSyntaxException jsonException) { - throw jsonException; - } + final Type listOfUserEntityType = new TypeToken>() {}.getType(); + return this.gson.fromJson(userListJsonResponse, listOfUserEntityType); } } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListFragment.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListFragment.java index fd7e5620..f140fb05 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListFragment.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListFragment.java @@ -158,12 +158,9 @@ private void loadUserList() { UserListFragment.this.loadUserList(); } - private UsersAdapter.OnItemClickListener onItemClickListener = - new UsersAdapter.OnItemClickListener() { - @Override public void onUserItemClicked(UserModel userModel) { - if (UserListFragment.this.userListPresenter != null && userModel != null) { - UserListFragment.this.userListPresenter.onUserClicked(userModel); - } - } - }; + private UsersAdapter.OnItemClickListener onItemClickListener = userModel -> { + if (UserListFragment.this.userListPresenter != null && userModel != null) { + UserListFragment.this.userListPresenter.onUserClicked(userModel); + } + }; } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListPresenter.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListPresenter.java index 1b8c9b30..a39fc8be 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListPresenter.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListPresenter.java @@ -23,6 +23,7 @@ import com.fernandocejas.android10.sample.app.interactor.UseCase; import com.fernandocejas.android10.sample.app.exception.ErrorMessageFactory; import com.fernandocejas.android10.sample.app.core.di.PerActivity; +import com.fernandocejas.frodo.core.annotations.VisibleForTesting; import java.util.Collection; import java.util.List; import javax.inject.Inject; @@ -41,7 +42,7 @@ public class UserListPresenter implements Presenter { private final UserModelDataMapper userModelDataMapper; @Inject - public UserListPresenter(@Named("userList") UseCase getUserListUserCase, + UserListPresenter(@Named("userList") UseCase getUserListUserCase, UserModelDataMapper userModelDataMapper) { this.getUserListUseCase = getUserListUserCase; this.userModelDataMapper = userModelDataMapper; @@ -63,7 +64,8 @@ public void setView(@NonNull UserListView view) { /** * Initializes the presenter by start retrieving the user list. */ - public void initialize() { + @VisibleForTesting + void initialize() { this.loadUserList(); } @@ -76,7 +78,7 @@ private void loadUserList() { this.getUserList(); } - public void onUserClicked(UserModel userModel) { + void onUserClicked(UserModel userModel) { this.viewListView.viewUser(userModel); } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListView.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListView.java index 47fd625b..aa05f776 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListView.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListView.java @@ -11,7 +11,7 @@ * Interface representing a View in a model view presenter (MVP) pattern. * In this case is used as a view representing a list of {@link UserModel}. */ -public interface UserListView extends LoadDataView { +interface UserListView extends LoadDataView { /** * Render a user list in the UI. * diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModel.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModel.java index d64066f1..94717352 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModel.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModel.java @@ -36,48 +36,48 @@ public int getUserId() { return userId; } - public String getCoverUrl() { + String getCoverUrl() { return coverUrl; } - public void setCoverUrl(String coverUrl) { + void setCoverUrl(String coverUrl) { this.coverUrl = coverUrl; } - public String getFullName() { + String getFullName() { return fullName; } - public void setFullName(String fullName) { + void setFullName(String fullName) { this.fullName = fullName; } - public String getEmail() { + String getEmail() { return email; } - public void setEmail(String email) { + void setEmail(String email) { this.email = email; } - public String getDescription() { + String getDescription() { return description; } - public void setDescription(String description) { + void setDescription(String description) { this.description = description; } - public int getFollowers() { + int getFollowers() { return followers; } - public void setFollowers(int followers) { + void setFollowers(int followers) { this.followers = followers; } @Override public String toString() { - StringBuilder stringBuilder = new StringBuilder(); + final StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("***** User Model Details *****\n"); stringBuilder.append("id=" + this.getUserId() + "\n"); diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserNotFoundException.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserNotFoundException.java index a5da02ff..0233682d 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserNotFoundException.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserNotFoundException.java @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -19,20 +19,7 @@ * Exception throw by the application when a User search can't return a valid result. */ public class UserNotFoundException extends Exception { - public UserNotFoundException() { super(); } - - public UserNotFoundException(final String message) { - super(message); - } - - public UserNotFoundException(final String message, final Throwable cause) { - super(message, cause); - } - - public UserNotFoundException(final Throwable cause) { - super(cause); - } } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UsersAdapter.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UsersAdapter.java index ba4091d4..7ab42280 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UsersAdapter.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UsersAdapter.java @@ -23,7 +23,7 @@ */ public class UsersAdapter extends RecyclerView.Adapter { - public interface OnItemClickListener { + interface OnItemClickListener { void onUserItemClicked(UserModel userModel); } @@ -33,7 +33,7 @@ public interface OnItemClickListener { private OnItemClickListener onItemClickListener; @Inject - public UsersAdapter(Context context) { + UsersAdapter(Context context) { this.layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); this.usersCollection = Collections.emptyList(); @@ -64,13 +64,13 @@ public UsersAdapter(Context context) { return position; } - public void setUsersCollection(Collection usersCollection) { + void setUsersCollection(Collection usersCollection) { this.validateUsersCollection(usersCollection); this.usersCollection = (List) usersCollection; this.notifyDataSetChanged(); } - public void setOnItemClickListener (OnItemClickListener onItemClickListener) { + void setOnItemClickListener (OnItemClickListener onItemClickListener) { this.onItemClickListener = onItemClickListener; } @@ -83,7 +83,7 @@ private void validateUsersCollection(Collection usersCollection) { static class UserViewHolder extends RecyclerView.ViewHolder { @Bind(R.id.title) TextView textViewTitle; - public UserViewHolder(View itemView) { + UserViewHolder(View itemView) { super(itemView); ButterKnife.bind(this, itemView); } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UsersLayoutManager.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UsersLayoutManager.java index 8f15e2d3..6b8c1292 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UsersLayoutManager.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UsersLayoutManager.java @@ -10,8 +10,8 @@ /** * Layout manager to position items inside a {@link android.support.v7.widget.RecyclerView}. */ -public class UsersLayoutManager extends LinearLayoutManager { - public UsersLayoutManager(Context context) { +class UsersLayoutManager extends LinearLayoutManager { + UsersLayoutManager(Context context) { super(context); } } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/UserCacheImpl.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/UserCacheImpl.java index 61091d68..4b166f62 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/UserCacheImpl.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/UserCacheImpl.java @@ -92,8 +92,8 @@ public UserCacheImpl(Context context, JsonSerializer userCacheSerializer, } @Override public boolean isCached(int userId) { - File userEntitiyFile = this.buildFile(userId); - return this.fileManager.exists(userEntitiyFile); + File userEntityFile = this.buildFile(userId); + return this.fileManager.exists(userEntityFile); } @Override public boolean isExpired() { @@ -120,7 +120,7 @@ public UserCacheImpl(Context context, JsonSerializer userCacheSerializer, * @return A valid file. */ private File buildFile(int userId) { - StringBuilder fileNameBuilder = new StringBuilder(); + final StringBuilder fileNameBuilder = new StringBuilder(); fileNameBuilder.append(this.cacheDir.getPath()); fileNameBuilder.append(File.separator); fileNameBuilder.append(DEFAULT_FILE_NAME); diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/serializer/JsonSerializer.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/serializer/JsonSerializer.java index 1cbb0260..070d65f7 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/serializer/JsonSerializer.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/serializer/JsonSerializer.java @@ -29,7 +29,7 @@ public class JsonSerializer { private final Gson gson = new Gson(); @Inject - public JsonSerializer() {} + JsonSerializer() {} /** * Serialize an object to Json. @@ -37,8 +37,7 @@ public JsonSerializer() {} * @param userEntity {@link UserEntity} to serialize. */ public String serialize(UserEntity userEntity) { - String jsonString = gson.toJson(userEntity, UserEntity.class); - return jsonString; + return gson.toJson(userEntity, UserEntity.class); } /** @@ -48,7 +47,6 @@ public String serialize(UserEntity userEntity) { * @return {@link UserEntity} */ public UserEntity deserialize(String jsonString) { - UserEntity userEntity = gson.fromJson(jsonString, UserEntity.class); - return userEntity; + return gson.fromJson(jsonString, UserEntity.class); } } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/BaseActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/BaseActivity.java index 4409f2c4..5b18e491 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/BaseActivity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/activity/BaseActivity.java @@ -30,7 +30,7 @@ protected void onCreate(Bundle savedInstanceState) { * @param fragment The fragment to be added. */ protected void addFragment(int containerViewId, Fragment fragment) { - FragmentTransaction fragmentTransaction = this.getFragmentManager().beginTransaction(); + final FragmentTransaction fragmentTransaction = this.getFragmentManager().beginTransaction(); fragmentTransaction.add(containerViewId, fragment); fragmentTransaction.commit(); } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/view/component/AutoLoadImageView.java b/app/src/main/java/com/fernandocejas/android10/sample/app/view/component/AutoLoadImageView.java index 740dffe8..8679c4ce 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/view/component/AutoLoadImageView.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/view/component/AutoLoadImageView.java @@ -17,10 +17,8 @@ import android.util.Log; import android.widget.ImageView; import java.io.File; -import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; -import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; @@ -83,25 +81,6 @@ public void setImageUrl(final String imageUrl) { } } - /** - * Set a place holder used for loading when an image is being downloaded from the internet. - * - * @param resourceId The resource id to use as a place holder. - */ - public void setImagePlaceHolder(int resourceId) { - this.imagePlaceHolderResId = resourceId; - this.loadImagePlaceHolder(); - } - - /** - * Invalidate the internal cache by evicting all cached elements. - */ - public void invalidateImageCache() { - if (this.cache != null) { - this.cache.evictAll(); - } - } - /** * Loads and image from the internet (and cache it) or from the internal cache. * @@ -140,11 +119,7 @@ private void loadImageFromUrl(final String imageUrl) { * @param bitmap The image to load. */ private void loadBitmap(final Bitmap bitmap) { - ((Activity) getContext()).runOnUiThread(new Runnable() { - @Override public void run() { - AutoLoadImageView.this.setImageBitmap(bitmap); - } - }); + ((Activity) getContext()).runOnUiThread(() -> AutoLoadImageView.this.setImageBitmap(bitmap)); } /** @@ -152,12 +127,8 @@ private void loadBitmap(final Bitmap bitmap) { */ private void loadImagePlaceHolder() { if (this.imagePlaceHolderResId != -1) { - ((Activity) getContext()).runOnUiThread(new Runnable() { - @Override public void run() { - AutoLoadImageView.this.setImageResource( - AutoLoadImageView.this.imagePlaceHolderResId); - } - }); + ((Activity) getContext()).runOnUiThread(() -> AutoLoadImageView.this.setImageResource( + AutoLoadImageView.this.imagePlaceHolderResId)); } } @@ -195,9 +166,9 @@ private void cacheBitmap(Bitmap bitmap, String fileName) { private boolean isThereInternetConnection() { boolean isConnected; - ConnectivityManager connectivityManager = + final ConnectivityManager connectivityManager = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE); - NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); + final NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); isConnected = (networkInfo != null && networkInfo.isConnectedOrConnecting()); return isConnected; @@ -238,14 +209,12 @@ interface Callback { */ void download(String imageUrl, Callback callback) { try { - URLConnection conn = new URL(imageUrl).openConnection(); + final URLConnection conn = new URL(imageUrl).openConnection(); conn.connect(); - Bitmap bitmap = BitmapFactory.decodeStream(conn.getInputStream()); + final Bitmap bitmap = BitmapFactory.decodeStream(conn.getInputStream()); if (callback != null) { callback.onImageDownloaded(bitmap); } - } catch (MalformedURLException e) { - reportError(callback); } catch (IOException e) { reportError(callback); } @@ -305,25 +274,12 @@ synchronized void put(Bitmap bitmap, String fileName) { bitmap.compress(Bitmap.CompressFormat.PNG, 90, fileOutputStream); fileOutputStream.flush(); fileOutputStream.close(); - } catch (FileNotFoundException e) { - Log.e(TAG, e.getMessage()); } catch (IOException e) { Log.e(TAG, e.getMessage()); } } } - /** - * Invalidate and expire the cache. - */ - void evictAll() { - if (cacheDir.exists()) { - for (File file : cacheDir.listFiles()) { - file.delete(); - } - } - } - /** * Creates a file name from an image url * diff --git a/build.gradle b/build.gradle index 852af533..cbb3a496 100644 --- a/build.gradle +++ b/build.gradle @@ -15,19 +15,14 @@ buildscript { allprojects { ext { - androidApplicationId = 'com.fernanependocejas.android10.sample.presentation' + androidApplicationId = 'com.fernanependocejas.android10.sample.app' androidVersionCode = 1 androidVersionName = "1.0" testInstrumentationRunner = "android.support.test.runner.AndroidJUnitRunner" - testApplicationId = 'com.fernandocejas.android10.sample.presentation.test' + testApplicationId = 'com.fernandocejas.android10.sample.app.test' } } -task wrapper(type: Wrapper) { - description 'Creates the gradle wrapper.' - gradleVersion '2.12' -} - task runUnitTests(dependsOn: [':app:cleanTestDebugUnitTest', ':app:testDebugUnitTest']) { description 'Run application unit tests.' } From 84c22f651fb496e5f653ffca6e8084746b06ec78 Mon Sep 17 00:00:00 2001 From: Fernando Cejas Date: Wed, 21 Sep 2016 23:55:01 +0200 Subject: [PATCH 09/12] Fix broken build. --- .../android10/sample/app/exception/RepositoryErrorBundle.java | 4 +--- .../android10/sample/app/users/UserListPresenter.java | 2 -- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/exception/RepositoryErrorBundle.java b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/RepositoryErrorBundle.java index fc46f1e7..41302be4 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/exception/RepositoryErrorBundle.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/exception/RepositoryErrorBundle.java @@ -15,8 +15,6 @@ */ package com.fernandocejas.android10.sample.app.exception; -import com.fernandocejas.frodo.core.strings.Strings; - /** * Wrapper around Exceptions used to manage errors in the repository. */ @@ -35,7 +33,7 @@ public Exception getException() { @Override public String getErrorMessage() { - String message = Strings.EMPTY; + String message = ""; if (this.exception != null) { message = this.exception.getMessage(); } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListPresenter.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListPresenter.java index a39fc8be..e98a612d 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListPresenter.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListPresenter.java @@ -23,7 +23,6 @@ import com.fernandocejas.android10.sample.app.interactor.UseCase; import com.fernandocejas.android10.sample.app.exception.ErrorMessageFactory; import com.fernandocejas.android10.sample.app.core.di.PerActivity; -import com.fernandocejas.frodo.core.annotations.VisibleForTesting; import java.util.Collection; import java.util.List; import javax.inject.Inject; @@ -64,7 +63,6 @@ public void setView(@NonNull UserListView view) { /** * Initializes the presenter by start retrieving the user list. */ - @VisibleForTesting void initialize() { this.loadUserList(); } From f60df538236371be9bcc61315dd9611ad3986674 Mon Sep 17 00:00:00 2001 From: Fernando Cejas Date: Thu, 22 Sep 2016 23:56:05 +0200 Subject: [PATCH 10/12] Change Api url address. --- .../com/fernandocejas/android10/sample/app/data/RestApi.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/data/RestApi.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/RestApi.java index c2902e82..1f7629b7 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/data/RestApi.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/RestApi.java @@ -23,7 +23,7 @@ * RestApi for retrieving data from the network. */ public interface RestApi { - String API_BASE_URL = "http://www.android10.org/myapi/"; + String API_BASE_URL = "https://raw.githubusercontent.com/android10/Sample-Data/master/Android-CleanArchitecture/"; /** Api url for getting all users */ String API_URL_GET_USER_LIST = API_BASE_URL + "users.json"; From bf5bacdd8341e61d561eb4372208563ef1708668 Mon Sep 17 00:00:00 2001 From: Fernando Cejas Date: Sun, 25 Sep 2016 16:33:05 +0200 Subject: [PATCH 11/12] Clean up and scope re organization. --- .../core/di/components/ActivityComponent.java | 2 +- .../sample/app/users/GetUserDetails.java | 4 +-- .../sample/app/users/GetUserList.java | 2 +- .../android10/sample/app/users/User.java | 15 --------- .../components => users}/UserComponent.java | 9 +++--- .../app/users/UserDataStoreFactory.java | 4 +-- .../sample/app/users/UserDetailsActivity.java | 3 -- .../sample/app/users/UserDetailsFragment.java | 1 - .../app/users/UserDetailsPresenter.java | 2 +- .../sample/app/users/UserEntity.java | 31 ------------------- .../sample/app/users/UserListActivity.java | 2 -- .../sample/app/users/UserListFragment.java | 1 - .../android10/sample/app/users/UserModel.java | 15 --------- .../sample/app/users/UserModelDataMapper.java | 6 ++-- .../di/modules => users}/UserModule.java | 13 +++----- .../sample/app/users/UsersAdapter.java | 10 +++--- 16 files changed, 23 insertions(+), 97 deletions(-) rename app/src/main/java/com/fernandocejas/android10/sample/app/{core/di/components => users}/UserComponent.java (76%) rename app/src/main/java/com/fernandocejas/android10/sample/app/{core/di/modules => users}/UserModule.java (81%) diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ActivityComponent.java b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ActivityComponent.java index 84e622c2..2ff16d27 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ActivityComponent.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/ActivityComponent.java @@ -29,7 +29,7 @@ */ @PerActivity @Component(dependencies = ApplicationComponent.class, modules = ActivityModule.class) -interface ActivityComponent { +public interface ActivityComponent { //Exposed to sub-graphs. Activity activity(); } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserDetails.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserDetails.java index 2aad0cd4..e542a69d 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserDetails.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserDetails.java @@ -25,13 +25,13 @@ * This class is an implementation of {@link UseCase} that represents a use case for * retrieving data related to an specific {@link User}. */ -public class GetUserDetails extends UseCase { +class GetUserDetails extends UseCase { private final int userId; private final UserRepository userRepository; @Inject - public GetUserDetails(int userId, UserRepository userRepository, + GetUserDetails(int userId, UserRepository userRepository, ThreadExecutor threadExecutor, PostExecutionThread postExecutionThread) { super(threadExecutor, postExecutionThread); this.userId = userId; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserList.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserList.java index a2f24a0d..366979b9 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserList.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/GetUserList.java @@ -25,7 +25,7 @@ * This class is an implementation of {@link UseCase} that represents a use case for * retrieving a collection of all {@link User}. */ -public class GetUserList extends UseCase { +class GetUserList extends UseCase { private final UserRepository userRepository; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/User.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/User.java index ca38b9a2..45d4a162 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/User.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/User.java @@ -75,19 +75,4 @@ int getFollowers() { void setFollowers(int followers) { this.followers = followers; } - - @Override public String toString() { - final StringBuilder stringBuilder = new StringBuilder(); - - stringBuilder.append("***** User Details *****\n"); - stringBuilder.append("id=" + this.getUserId() + "\n"); - stringBuilder.append("cover url=" + this.getCoverUrl() + "\n"); - stringBuilder.append("fullname=" + this.getFullName() + "\n"); - stringBuilder.append("email=" + this.getEmail() + "\n"); - stringBuilder.append("description=" + this.getDescription() + "\n"); - stringBuilder.append("followers=" + this.getFollowers() + "\n"); - stringBuilder.append("*******************************"); - - return stringBuilder.toString(); - } } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/UserComponent.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserComponent.java similarity index 76% rename from app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/UserComponent.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserComponent.java index bfccc495..ac67f0b8 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/components/UserComponent.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserComponent.java @@ -13,13 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.core.di.components; +package com.fernandocejas.android10.sample.app.users; import com.fernandocejas.android10.sample.app.core.di.PerActivity; +import com.fernandocejas.android10.sample.app.core.di.components.ActivityComponent; +import com.fernandocejas.android10.sample.app.core.di.components.ApplicationComponent; import com.fernandocejas.android10.sample.app.core.di.modules.ActivityModule; -import com.fernandocejas.android10.sample.app.core.di.modules.UserModule; -import com.fernandocejas.android10.sample.app.users.UserDetailsFragment; -import com.fernandocejas.android10.sample.app.users.UserListFragment; import dagger.Component; /** @@ -28,7 +27,7 @@ */ @PerActivity @Component(dependencies = ApplicationComponent.class, modules = {ActivityModule.class, UserModule.class}) -public interface UserComponent extends ActivityComponent { +interface UserComponent extends ActivityComponent { void inject(UserListFragment userListFragment); void inject(UserDetailsFragment userDetailsFragment); } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataStoreFactory.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataStoreFactory.java index 0aae451b..945aeebe 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataStoreFactory.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDataStoreFactory.java @@ -57,8 +57,8 @@ UserDataStore create(int userId) { * Create {@link UserDataStore} to retrieve data from the Cloud. */ UserDataStore createCloudDataStore() { - UserEntityJsonMapper userEntityJsonMapper = new UserEntityJsonMapper(); - RestApi restApi = new RestApiImpl(this.context, userEntityJsonMapper); + final UserEntityJsonMapper userEntityJsonMapper = new UserEntityJsonMapper(); + final RestApi restApi = new RestApiImpl(this.context, userEntityJsonMapper); return new CloudUserDataStore(restApi, this.userCache); } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsActivity.java index 0db107e8..f1a276e2 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsActivity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsActivity.java @@ -11,9 +11,6 @@ import android.view.Window; import com.fernandocejas.android10.sample.app.R; import com.fernandocejas.android10.sample.app.core.di.HasComponent; -import com.fernandocejas.android10.sample.app.core.di.components.DaggerUserComponent; -import com.fernandocejas.android10.sample.app.core.di.components.UserComponent; -import com.fernandocejas.android10.sample.app.core.di.modules.UserModule; import com.fernandocejas.android10.sample.app.view.activity.BaseActivity; /** diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsFragment.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsFragment.java index 4cb43cd1..2e302124 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsFragment.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsFragment.java @@ -16,7 +16,6 @@ import butterknife.ButterKnife; import butterknife.OnClick; import com.fernandocejas.android10.sample.app.R; -import com.fernandocejas.android10.sample.app.core.di.components.UserComponent; import com.fernandocejas.android10.sample.app.view.component.AutoLoadImageView; import com.fernandocejas.android10.sample.app.view.fragment.BaseFragment; import javax.inject.Inject; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsPresenter.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsPresenter.java index 4cb30d88..76abdb2e 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsPresenter.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserDetailsPresenter.java @@ -32,7 +32,7 @@ * layer. */ @PerActivity -public class UserDetailsPresenter implements Presenter { +class UserDetailsPresenter implements Presenter { private UserDetailsView viewDetailsView; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntity.java index b7bc8567..f581170e 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserEntity.java @@ -56,10 +56,6 @@ String getCoverUrl() { return coverUrl; } - public void setCoverUrl(String coverUrl) { - this.coverUrl = coverUrl; - } - public String getFullname() { return fullname; } @@ -72,38 +68,11 @@ String getDescription() { return description; } - public void setDescription(String description) { - this.description = description; - } - public int getFollowers() { return followers; } - public void setFollowers(int followers) { - this.followers = followers; - } - String getEmail() { return email; } - - public void setEmail(String email) { - this.email = email; - } - - @Override public String toString() { - final StringBuilder stringBuilder = new StringBuilder(); - - stringBuilder.append("***** User Entity Details *****\n"); - stringBuilder.append("id=" + this.getUserId() + "\n"); - stringBuilder.append("cover url=" + this.getCoverUrl() + "\n"); - stringBuilder.append("fullname=" + this.getFullname() + "\n"); - stringBuilder.append("email=" + this.getEmail() + "\n"); - stringBuilder.append("description=" + this.getDescription() + "\n"); - stringBuilder.append("followers=" + this.getFollowers() + "\n"); - stringBuilder.append("*******************************"); - - return stringBuilder.toString(); - } } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListActivity.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListActivity.java index addc9e17..bc26f709 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListActivity.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListActivity.java @@ -11,8 +11,6 @@ import android.view.Window; import com.fernandocejas.android10.sample.app.R; import com.fernandocejas.android10.sample.app.core.di.HasComponent; -import com.fernandocejas.android10.sample.app.core.di.components.DaggerUserComponent; -import com.fernandocejas.android10.sample.app.core.di.components.UserComponent; import com.fernandocejas.android10.sample.app.view.activity.BaseActivity; /** diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListFragment.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListFragment.java index f140fb05..3596a254 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListFragment.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserListFragment.java @@ -18,7 +18,6 @@ import butterknife.ButterKnife; import butterknife.OnClick; import com.fernandocejas.android10.sample.app.R; -import com.fernandocejas.android10.sample.app.core.di.components.UserComponent; import com.fernandocejas.android10.sample.app.view.fragment.BaseFragment; import java.util.Collection; import javax.inject.Inject; diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModel.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModel.java index 94717352..a0373e6c 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModel.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModel.java @@ -75,19 +75,4 @@ int getFollowers() { void setFollowers(int followers) { this.followers = followers; } - - @Override public String toString() { - final StringBuilder stringBuilder = new StringBuilder(); - - stringBuilder.append("***** User Model Details *****\n"); - stringBuilder.append("id=" + this.getUserId() + "\n"); - stringBuilder.append("cover url=" + this.getCoverUrl() + "\n"); - stringBuilder.append("fullname=" + this.getFullName() + "\n"); - stringBuilder.append("email=" + this.getEmail() + "\n"); - stringBuilder.append("description=" + this.getDescription() + "\n"); - stringBuilder.append("followers=" + this.getFollowers() + "\n"); - stringBuilder.append("*******************************"); - - return stringBuilder.toString(); - } } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModelDataMapper.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModelDataMapper.java index 2ce9d566..5ae55aa8 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModelDataMapper.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModelDataMapper.java @@ -26,10 +26,10 @@ * presentation layer. */ @PerActivity -public class UserModelDataMapper { +class UserModelDataMapper { @Inject - public UserModelDataMapper() {} + UserModelDataMapper() {} /** * Transform a {@link User} into an {@link UserModel}. @@ -41,7 +41,7 @@ UserModel transform(User user) { if (user == null) { throw new IllegalArgumentException("Cannot transform a null value"); } - UserModel userModel = new UserModel(user.getUserId()); + final UserModel userModel = new UserModel(user.getUserId()); userModel.setCoverUrl(user.getCoverUrl()); userModel.setFullName(user.getFullName()); userModel.setEmail(user.getEmail()); diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/UserModule.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModule.java similarity index 81% rename from app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/UserModule.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModule.java index 83281f7f..c901bc3e 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/UserModule.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UserModule.java @@ -13,15 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.core.di.modules; +package com.fernandocejas.android10.sample.app.users; +import com.fernandocejas.android10.sample.app.core.di.PerActivity; import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread; import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; -import com.fernandocejas.android10.sample.app.users.GetUserDetails; -import com.fernandocejas.android10.sample.app.users.GetUserList; import com.fernandocejas.android10.sample.app.interactor.UseCase; -import com.fernandocejas.android10.sample.app.users.UserRepository; -import com.fernandocejas.android10.sample.app.core.di.PerActivity; import dagger.Module; import dagger.Provides; import javax.inject.Named; @@ -30,13 +27,13 @@ * Dagger module that provides user related collaborators. */ @Module -public class UserModule { +class UserModule { private int userId = -1; - public UserModule() {} + UserModule() {} - public UserModule(int userId) { + UserModule(int userId) { this.userId = userId; } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UsersAdapter.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UsersAdapter.java index 7ab42280..10b47666 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/UsersAdapter.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/UsersAdapter.java @@ -21,7 +21,7 @@ /** * Adaptar that manages a collection of {@link UserModel}. */ -public class UsersAdapter extends RecyclerView.Adapter { +class UsersAdapter extends RecyclerView.Adapter { interface OnItemClickListener { void onUserItemClicked(UserModel userModel); @@ -51,11 +51,9 @@ interface OnItemClickListener { @Override public void onBindViewHolder(UserViewHolder holder, final int position) { final UserModel userModel = this.usersCollection.get(position); holder.textViewTitle.setText(userModel.getFullName()); - holder.itemView.setOnClickListener(new View.OnClickListener() { - @Override public void onClick(View v) { - if (UsersAdapter.this.onItemClickListener != null) { - UsersAdapter.this.onItemClickListener.onUserItemClicked(userModel); - } + holder.itemView.setOnClickListener(v -> { + if (UsersAdapter.this.onItemClickListener != null) { + UsersAdapter.this.onItemClickListener.onUserItemClicked(userModel); } }); } From 021ae2f2ae324e4dd286e43564cf64fbb717aa53 Mon Sep 17 00:00:00 2001 From: Fernando Cejas Date: Mon, 26 Sep 2016 01:13:28 +0200 Subject: [PATCH 12/12] Rename JsonSerializer to Serializer and make it generic. --- .../Serializer.java} | 25 ++++++------- .../sample/app/users/cache/UserCacheImpl.java | 35 +++++++++---------- .../SerializerTest.java} | 18 +++++----- 3 files changed, 36 insertions(+), 42 deletions(-) rename app/src/main/java/com/fernandocejas/android10/sample/app/{users/cache/serializer/JsonSerializer.java => data/Serializer.java} (59%) rename app/src/test/java/com/fernandocejas/android10/sample/app/{users/cache/serializer/JsonSerializerTest.java => data/SerializerTest.java} (78%) diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/serializer/JsonSerializer.java b/app/src/main/java/com/fernandocejas/android10/sample/app/data/Serializer.java similarity index 59% rename from app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/serializer/JsonSerializer.java rename to app/src/main/java/com/fernandocejas/android10/sample/app/data/Serializer.java index 070d65f7..f72116bb 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/serializer/JsonSerializer.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/data/Serializer.java @@ -13,40 +13,35 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.users.cache.serializer; +package com.fernandocejas.android10.sample.app.data; -import com.fernandocejas.android10.sample.app.users.UserEntity; import com.google.gson.Gson; import javax.inject.Inject; import javax.inject.Singleton; /** - * Class user as Serializer/Deserializer for user entities. + * Json Serializer/Deserializer. */ @Singleton -public class JsonSerializer { +public class Serializer { private final Gson gson = new Gson(); - @Inject - JsonSerializer() {} + @Inject Serializer() {} /** * Serialize an object to Json. - * - * @param userEntity {@link UserEntity} to serialize. + * @param object to serialize. */ - public String serialize(UserEntity userEntity) { - return gson.toJson(userEntity, UserEntity.class); + public String serialize(Object object, Class clazz) { + return gson.toJson(object, clazz); } /** * Deserialize a json representation of an object. - * - * @param jsonString A json string to deserialize. - * @return {@link UserEntity} + * @param string A json string to deserialize. */ - public UserEntity deserialize(String jsonString) { - return gson.fromJson(jsonString, UserEntity.class); + public T deserialize(String string, Class clazz) { + return gson.fromJson(string, clazz); } } diff --git a/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/UserCacheImpl.java b/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/UserCacheImpl.java index 4b166f62..5ab81405 100644 --- a/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/UserCacheImpl.java +++ b/app/src/main/java/com/fernandocejas/android10/sample/app/users/cache/UserCacheImpl.java @@ -16,11 +16,11 @@ package com.fernandocejas.android10.sample.app.users.cache; import android.content.Context; +import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; import com.fernandocejas.android10.sample.app.data.FileManager; -import com.fernandocejas.android10.sample.app.users.cache.serializer.JsonSerializer; +import com.fernandocejas.android10.sample.app.data.Serializer; import com.fernandocejas.android10.sample.app.users.UserEntity; import com.fernandocejas.android10.sample.app.users.UserNotFoundException; -import com.fernandocejas.android10.sample.app.core.executor.ThreadExecutor; import java.io.File; import javax.inject.Inject; import javax.inject.Singleton; @@ -40,7 +40,7 @@ public class UserCacheImpl implements UserCache { private final Context context; private final File cacheDir; - private final JsonSerializer serializer; + private final Serializer serializer; private final FileManager fileManager; private final ThreadExecutor threadExecutor; @@ -48,27 +48,27 @@ public class UserCacheImpl implements UserCache { * Constructor of the class {@link UserCacheImpl}. * * @param context A - * @param userCacheSerializer {@link JsonSerializer} for object serialization. + * @param serializer {@link Serializer} for object serialization. * @param fileManager {@link FileManager} for saving serialized objects to the file system. */ - @Inject - public UserCacheImpl(Context context, JsonSerializer userCacheSerializer, - FileManager fileManager, ThreadExecutor executor) { - if (context == null || userCacheSerializer == null || fileManager == null || executor == null) { + @Inject UserCacheImpl(Context context, Serializer serializer, FileManager fileManager, + ThreadExecutor executor) { + if (context == null || serializer == null || fileManager == null || executor == null) { throw new IllegalArgumentException("Invalid null parameter"); } this.context = context.getApplicationContext(); this.cacheDir = this.context.getCacheDir(); - this.serializer = userCacheSerializer; + this.serializer = serializer; this.fileManager = fileManager; this.threadExecutor = executor; } @Override public Observable get(final int userId) { return Observable.create(subscriber -> { - File userEntityFile = UserCacheImpl.this.buildFile(userId); - String fileContent = UserCacheImpl.this.fileManager.readFileContent(userEntityFile); - UserEntity userEntity = UserCacheImpl.this.serializer.deserialize(fileContent); + final File userEntityFile = UserCacheImpl.this.buildFile(userId); + final String fileContent = UserCacheImpl.this.fileManager.readFileContent(userEntityFile); + final UserEntity userEntity = + UserCacheImpl.this.serializer.deserialize(fileContent, UserEntity.class); if (userEntity != null) { subscriber.onNext(userEntity); @@ -81,18 +81,17 @@ public UserCacheImpl(Context context, JsonSerializer userCacheSerializer, @Override public void put(UserEntity userEntity) { if (userEntity != null) { - File userEntityFile = this.buildFile(userEntity.getUserId()); + final File userEntityFile = this.buildFile(userEntity.getUserId()); if (!isCached(userEntity.getUserId())) { - String jsonString = this.serializer.serialize(userEntity); - this.executeAsynchronously(new CacheWriter(this.fileManager, userEntityFile, - jsonString)); + final String jsonString = this.serializer.serialize(userEntity, UserEntity.class); + this.executeAsynchronously(new CacheWriter(this.fileManager, userEntityFile, jsonString)); setLastCacheUpdateTimeMillis(); } } } @Override public boolean isCached(int userId) { - File userEntityFile = this.buildFile(userId); + final File userEntityFile = this.buildFile(userId); return this.fileManager.exists(userEntityFile); } @@ -133,7 +132,7 @@ private File buildFile(int userId) { * Set in millis, the last time the cache was accessed. */ private void setLastCacheUpdateTimeMillis() { - long currentMillis = System.currentTimeMillis(); + final long currentMillis = System.currentTimeMillis(); this.fileManager.writeToPreferences(this.context, SETTINGS_FILE_NAME, SETTINGS_KEY_LAST_CACHE_UPDATE, currentMillis); } diff --git a/app/src/test/java/com/fernandocejas/android10/sample/app/users/cache/serializer/JsonSerializerTest.java b/app/src/test/java/com/fernandocejas/android10/sample/app/data/SerializerTest.java similarity index 78% rename from app/src/test/java/com/fernandocejas/android10/sample/app/users/cache/serializer/JsonSerializerTest.java rename to app/src/test/java/com/fernandocejas/android10/sample/app/data/SerializerTest.java index 25e2daa2..d16c52f5 100644 --- a/app/src/test/java/com/fernandocejas/android10/sample/app/users/cache/serializer/JsonSerializerTest.java +++ b/app/src/test/java/com/fernandocejas/android10/sample/app/data/SerializerTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.fernandocejas.android10.sample.app.users.cache.serializer; +package com.fernandocejas.android10.sample.app.data; import com.fernandocejas.android10.sample.app.ApplicationTestCase; import com.fernandocejas.android10.sample.app.users.UserEntity; @@ -24,7 +24,7 @@ import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; -public class JsonSerializerTest extends ApplicationTestCase { +public class SerializerTest extends ApplicationTestCase { private static final String JSON_RESPONSE = "{\n" + " \"id\": 1,\n" @@ -35,18 +35,18 @@ public class JsonSerializerTest extends ApplicationTestCase { + " \"email\": \"jcooper@babbleset.edu\"\n" + "}"; - private JsonSerializer jsonSerializer; + private Serializer serializer; @Before public void setUp() { - jsonSerializer = new JsonSerializer(); + serializer = new Serializer(); } @Test public void testSerializeHappyCase() { - UserEntity userEntityOne = jsonSerializer.deserialize(JSON_RESPONSE); - String jsonString = jsonSerializer.serialize(userEntityOne); - UserEntity userEntityTwo = jsonSerializer.deserialize(jsonString); + final UserEntity userEntityOne = serializer.deserialize(JSON_RESPONSE, UserEntity.class); + final String jsonString = serializer.serialize(userEntityOne, UserEntity.class); + final UserEntity userEntityTwo = serializer.deserialize(jsonString, UserEntity.class); assertThat(userEntityOne.getUserId(), is(userEntityTwo.getUserId())); assertThat(userEntityOne.getFullname(), is(equalTo(userEntityTwo.getFullname()))); @@ -54,8 +54,8 @@ public void testSerializeHappyCase() { } @Test - public void testDesearializeHappyCase() { - UserEntity userEntity = jsonSerializer.deserialize(JSON_RESPONSE); + public void testDeserializeHappyCase() { + final UserEntity userEntity = serializer.deserialize(JSON_RESPONSE, UserEntity.class); assertThat(userEntity.getUserId(), is(1)); assertThat(userEntity.getFullname(), is("Simon Hill"));