Skip to content

Commit 269ef36

Browse files
committed
Make everything compile in one module. Unit tests passing. Wip.
1 parent 8c34551 commit 269ef36

File tree

91 files changed

+264
-399
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+264
-399
lines changed

app/build.gradle

+22-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
1+
buildscript {
2+
repositories {
3+
mavenCentral()
4+
}
5+
dependencies {
6+
classpath 'me.tatarka:gradle-retrolambda:3.2.3'
7+
}
8+
}
9+
110
apply plugin: 'com.android.application'
211
apply plugin: 'com.neenbedankt.android-apt'
312
apply plugin: 'com.fernandocejas.frodo'
13+
apply plugin: 'me.tatarka.retrolambda'
414

515
frodo {
616
enabled = true
@@ -24,8 +34,8 @@ android {
2434
}
2535

2636
compileOptions {
27-
sourceCompatibility JavaVersion.VERSION_1_7
28-
targetCompatibility JavaVersion.VERSION_1_7
37+
sourceCompatibility JavaVersion.VERSION_1_8
38+
targetCompatibility JavaVersion.VERSION_1_8
2939
}
3040

3141
packagingOptions {
@@ -65,17 +75,19 @@ android {
6575
dependencies {
6676
def presentationDependencies = rootProject.ext.presentationDependencies
6777
def presentationTestDependencies = rootProject.ext.presentationTestDependencies
78+
def dataDependencies = rootProject.ext.dataDependencies
79+
def testDependencies = rootProject.ext.dataTestDependencies
6880
def developmentDependencies = rootProject.ext.developmentDependencies
6981

70-
compile project(':domain')
71-
compile project(':data')
72-
7382
apt presentationDependencies.daggerCompiler
7483
compile presentationDependencies.dagger
84+
compile dataDependencies.okHttp
85+
compile dataDependencies.gson
7586
compile presentationDependencies.butterKnife
7687
compile presentationDependencies.recyclerView
7788
compile presentationDependencies.rxJava
7889
compile presentationDependencies.rxAndroid
90+
compile dataDependencies.androidAnnotations
7991
provided presentationDependencies.javaxAnnotation
8092

8193
androidTestCompile presentationTestDependencies.mockito
@@ -84,6 +96,11 @@ dependencies {
8496
androidTestCompile presentationTestDependencies.espresso
8597
androidTestCompile presentationTestDependencies.testingSupportLib
8698

99+
testCompile testDependencies.junit
100+
testCompile testDependencies.assertj
101+
testCompile testDependencies.mockito
102+
testCompile testDependencies.robolectric
103+
87104
//Development
88105
compile developmentDependencies.leakCanary
89106
}

app/src/androidTest/java/com/fernandocejas/android10/sample/test/exception/ErrorMessageFactoryTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
package com.fernandocejas.android10.sample.test.exception;
1717

1818
import android.test.AndroidTestCase;
19-
import com.fernandocejas.android10.sample.data.exception.NetworkConnectionException;
20-
import com.fernandocejas.android10.sample.data.exception.UserNotFoundException;
19+
import com.fernandocejas.android10.sample.app.data.exception.NetworkConnectionException;
20+
import com.fernandocejas.android10.sample.app.data.exception.UserNotFoundException;
2121
import com.fernandocejas.android10.sample.app.R;
2222
import com.fernandocejas.android10.sample.app.exception.ErrorMessageFactory;
2323

app/src/androidTest/java/com/fernandocejas/android10/sample/test/mapper/UserModelDataMapperTest.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
*/
1616
package com.fernandocejas.android10.sample.test.mapper;
1717

18-
import com.fernandocejas.android10.sample.domain.User;
19-
import com.fernandocejas.android10.sample.app.mapper.UserModelDataMapper;
20-
import com.fernandocejas.android10.sample.app.model.UserModel;
18+
import com.fernandocejas.android10.sample.app.users.User;
19+
import com.fernandocejas.android10.sample.app.users.UserModelDataMapper;
20+
import com.fernandocejas.android10.sample.app.users.UserModel;
2121
import java.util.ArrayList;
2222
import java.util.Collection;
2323
import java.util.List;

app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserDetailsPresenterTest.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717

1818
import android.content.Context;
1919
import android.test.AndroidTestCase;
20-
import com.fernandocejas.android10.sample.domain.interactor.GetUserDetails;
21-
import com.fernandocejas.android10.sample.app.mapper.UserModelDataMapper;
22-
import com.fernandocejas.android10.sample.app.presenter.UserDetailsPresenter;
23-
import com.fernandocejas.android10.sample.app.view.UserDetailsView;
20+
import com.fernandocejas.android10.sample.app.users.GetUserDetails;
21+
import com.fernandocejas.android10.sample.app.users.UserModelDataMapper;
22+
import com.fernandocejas.android10.sample.app.users.UserDetailsPresenter;
23+
import com.fernandocejas.android10.sample.app.users.UserDetailsView;
2424
import org.mockito.Mock;
2525
import org.mockito.MockitoAnnotations;
2626
import rx.Subscriber;

app/src/androidTest/java/com/fernandocejas/android10/sample/test/presenter/UserListPresenterTest.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717

1818
import android.content.Context;
1919
import android.test.AndroidTestCase;
20-
import com.fernandocejas.android10.sample.domain.interactor.GetUserList;
21-
import com.fernandocejas.android10.sample.app.mapper.UserModelDataMapper;
22-
import com.fernandocejas.android10.sample.app.presenter.UserListPresenter;
23-
import com.fernandocejas.android10.sample.app.view.UserListView;
20+
import com.fernandocejas.android10.sample.app.users.GetUserList;
21+
import com.fernandocejas.android10.sample.app.users.UserModelDataMapper;
22+
import com.fernandocejas.android10.sample.app.users.UserListPresenter;
23+
import com.fernandocejas.android10.sample.app.users.UserListView;
2424
import org.mockito.Mock;
2525
import org.mockito.MockitoAnnotations;
2626
import rx.Subscriber;

app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserDetailsActivityTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import android.content.Intent;
2020
import android.test.ActivityInstrumentationTestCase2;
2121
import com.fernandocejas.android10.sample.app.R;
22-
import com.fernandocejas.android10.sample.app.view.activity.UserDetailsActivity;
22+
import com.fernandocejas.android10.sample.app.users.UserDetailsActivity;
2323

2424
import static android.support.test.espresso.Espresso.onView;
2525
import static android.support.test.espresso.assertion.ViewAssertions.matches;

app/src/androidTest/java/com/fernandocejas/android10/sample/test/view/activity/UserListActivityTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import android.content.Intent;
2020
import android.test.ActivityInstrumentationTestCase2;
2121
import com.fernandocejas.android10.sample.app.R;
22-
import com.fernandocejas.android10.sample.app.view.activity.UserListActivity;
22+
import com.fernandocejas.android10.sample.app.users.UserListActivity;
2323

2424
import static org.hamcrest.CoreMatchers.is;
2525
import static org.hamcrest.CoreMatchers.notNullValue;

app/src/main/AndroidManifest.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
android:theme="@style/AppTheme">
1414

1515
<activity
16-
android:name="com.fernandocejas.android10.sample.app.view.activity.MainActivity"
16+
android:name=".core.view.activity.MainActivity"
1717
android:label="@string/app_name">
1818
<intent-filter>
1919
<action android:name="android.intent.action.MAIN" />
@@ -22,12 +22,12 @@
2222
</activity>
2323

2424
<activity
25-
android:name="com.fernandocejas.android10.sample.app.view.activity.UserListActivity"
25+
android:name=".users.UserListActivity"
2626
android:label="@string/activity_title_user_list">
2727
</activity>
2828

2929
<activity
30-
android:name="com.fernandocejas.android10.sample.app.view.activity.UserDetailsActivity"
30+
android:name=".users.UserDetailsActivity"
3131
android:label="@string/activity_title_user_details">
3232
</activity>
3333
</application>

app/src/main/java/com/fernandocejas/android10/sample/app/AndroidApplication.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
package com.fernandocejas.android10.sample.app;
1717

1818
import android.app.Application;
19-
import com.fernandocejas.android10.sample.app.internal.di.components.ApplicationComponent;
20-
import com.fernandocejas.android10.sample.app.internal.di.components.DaggerApplicationComponent;
21-
import com.fernandocejas.android10.sample.app.internal.di.modules.ApplicationModule;
19+
import com.fernandocejas.android10.sample.app.core.di.components.ApplicationComponent;
20+
import com.fernandocejas.android10.sample.app.core.di.components.DaggerApplicationComponent;
21+
import com.fernandocejas.android10.sample.app.core.di.modules.ApplicationModule;
2222
import com.squareup.leakcanary.LeakCanary;
2323

2424
/**

app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/HasComponent.java renamed to app/src/main/java/com/fernandocejas/android10/sample/app/core/di/HasComponent.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.fernandocejas.android10.sample.app.internal.di;
16+
package com.fernandocejas.android10.sample.app.core.di;
1717

1818
/**
1919
* Interface representing a contract for clients that contains a component for dependency injection.

app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/PerActivity.java renamed to app/src/main/java/com/fernandocejas/android10/sample/app/core/di/PerActivity.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.fernandocejas.android10.sample.app.internal.di;
16+
package com.fernandocejas.android10.sample.app.core.di;
1717

1818
import java.lang.annotation.Retention;
1919
import javax.inject.Scope;
+4-4
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,19 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.fernandocejas.android10.sample.app.internal.di.components;
16+
package com.fernandocejas.android10.sample.app.core.di.components;
1717

1818
import android.app.Activity;
19-
import com.fernandocejas.android10.sample.app.internal.di.PerActivity;
20-
import com.fernandocejas.android10.sample.app.internal.di.modules.ActivityModule;
19+
import com.fernandocejas.android10.sample.app.core.di.PerActivity;
20+
import com.fernandocejas.android10.sample.app.core.di.modules.ActivityModule;
2121
import dagger.Component;
2222

2323
/**
2424
* A base component upon which fragment's components may depend.
2525
* Activity-level components should extend this component.
2626
*
2727
* Subtypes of ActivityComponent should be decorated with annotation:
28-
* {@link com.fernandocejas.android10.sample.app.internal.di.PerActivity}
28+
* {@link PerActivity}
2929
*/
3030
@PerActivity
3131
@Component(dependencies = ApplicationComponent.class, modules = ActivityModule.class)
+6-6
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.fernandocejas.android10.sample.app.internal.di.components;
16+
package com.fernandocejas.android10.sample.app.core.di.components;
1717

1818
import android.content.Context;
19-
import com.fernandocejas.android10.sample.domain.executor.PostExecutionThread;
20-
import com.fernandocejas.android10.sample.domain.executor.ThreadExecutor;
21-
import com.fernandocejas.android10.sample.domain.repository.UserRepository;
22-
import com.fernandocejas.android10.sample.app.internal.di.modules.ApplicationModule;
23-
import com.fernandocejas.android10.sample.app.view.activity.BaseActivity;
19+
import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread;
20+
import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor;
21+
import com.fernandocejas.android10.sample.app.users.UserRepository;
22+
import com.fernandocejas.android10.sample.app.core.di.modules.ApplicationModule;
23+
import com.fernandocejas.android10.sample.app.core.view.activity.BaseActivity;
2424
import dagger.Component;
2525
import javax.inject.Singleton;
2626

+7-7
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,17 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.fernandocejas.android10.sample.app.internal.di.components;
16+
package com.fernandocejas.android10.sample.app.core.di.components;
1717

18-
import com.fernandocejas.android10.sample.app.internal.di.PerActivity;
19-
import com.fernandocejas.android10.sample.app.internal.di.modules.ActivityModule;
20-
import com.fernandocejas.android10.sample.app.internal.di.modules.UserModule;
21-
import com.fernandocejas.android10.sample.app.view.fragment.UserDetailsFragment;
22-
import com.fernandocejas.android10.sample.app.view.fragment.UserListFragment;
18+
import com.fernandocejas.android10.sample.app.core.di.PerActivity;
19+
import com.fernandocejas.android10.sample.app.core.di.modules.ActivityModule;
20+
import com.fernandocejas.android10.sample.app.core.di.modules.UserModule;
21+
import com.fernandocejas.android10.sample.app.users.UserDetailsFragment;
22+
import com.fernandocejas.android10.sample.app.users.UserListFragment;
2323
import dagger.Component;
2424

2525
/**
26-
* A scope {@link com.fernandocejas.android10.sample.app.internal.di.PerActivity} component.
26+
* A scope {@link PerActivity} component.
2727
* Injects user specific Fragments.
2828
*/
2929
@PerActivity
+2-2
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.fernandocejas.android10.sample.app.internal.di.modules;
16+
package com.fernandocejas.android10.sample.app.core.di.modules;
1717

1818
import android.app.Activity;
19-
import com.fernandocejas.android10.sample.app.internal.di.PerActivity;
19+
import com.fernandocejas.android10.sample.app.core.di.PerActivity;
2020
import dagger.Module;
2121
import dagger.Provides;
2222

+9-9
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.fernandocejas.android10.sample.app.internal.di.modules;
16+
package com.fernandocejas.android10.sample.app.core.di.modules;
1717

1818
import android.content.Context;
19-
import com.fernandocejas.android10.sample.data.cache.UserCache;
20-
import com.fernandocejas.android10.sample.data.cache.UserCacheImpl;
21-
import com.fernandocejas.android10.sample.data.executor.JobExecutor;
22-
import com.fernandocejas.android10.sample.data.repository.UserDataRepository;
23-
import com.fernandocejas.android10.sample.domain.executor.PostExecutionThread;
24-
import com.fernandocejas.android10.sample.domain.executor.ThreadExecutor;
25-
import com.fernandocejas.android10.sample.domain.repository.UserRepository;
19+
import com.fernandocejas.android10.sample.app.data.cache.UserCache;
20+
import com.fernandocejas.android10.sample.app.data.cache.UserCacheImpl;
21+
import com.fernandocejas.android10.sample.app.data.executor.JobExecutor;
22+
import com.fernandocejas.android10.sample.app.data.repository.UserDataRepository;
23+
import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread;
24+
import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor;
25+
import com.fernandocejas.android10.sample.app.users.UserRepository;
2626
import com.fernandocejas.android10.sample.app.AndroidApplication;
27-
import com.fernandocejas.android10.sample.app.UIThread;
27+
import com.fernandocejas.android10.sample.app.core.executor.UIThread;
2828
import dagger.Module;
2929
import dagger.Provides;
3030
import javax.inject.Singleton;

app/src/main/java/com/fernandocejas/android10/sample/app/internal/di/modules/UserModule.java renamed to app/src/main/java/com/fernandocejas/android10/sample/app/core/di/modules/UserModule.java

+8-8
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.fernandocejas.android10.sample.app.internal.di.modules;
16+
package com.fernandocejas.android10.sample.app.core.di.modules;
1717

18-
import com.fernandocejas.android10.sample.domain.executor.PostExecutionThread;
19-
import com.fernandocejas.android10.sample.domain.executor.ThreadExecutor;
20-
import com.fernandocejas.android10.sample.domain.interactor.GetUserDetails;
21-
import com.fernandocejas.android10.sample.domain.interactor.GetUserList;
22-
import com.fernandocejas.android10.sample.domain.interactor.UseCase;
23-
import com.fernandocejas.android10.sample.domain.repository.UserRepository;
24-
import com.fernandocejas.android10.sample.app.internal.di.PerActivity;
18+
import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread;
19+
import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor;
20+
import com.fernandocejas.android10.sample.app.users.GetUserDetails;
21+
import com.fernandocejas.android10.sample.app.users.GetUserList;
22+
import com.fernandocejas.android10.sample.app.core.interactor.UseCase;
23+
import com.fernandocejas.android10.sample.app.users.UserRepository;
24+
import com.fernandocejas.android10.sample.app.core.di.PerActivity;
2525
import dagger.Module;
2626
import dagger.Provides;
2727
import javax.inject.Named;

domain/src/main/java/com/fernandocejas/android10/sample/domain/executor/PostExecutionThread.java renamed to app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/PostExecutionThread.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.fernandocejas.android10.sample.domain.executor;
16+
package com.fernandocejas.android10.sample.app.core.executor;
1717

1818
import rx.Scheduler;
1919

app/src/main/java/com/fernandocejas/android10/sample/app/UIThread.java renamed to app/src/main/java/com/fernandocejas/android10/sample/app/core/executor/UIThread.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.fernandocejas.android10.sample.app;
16+
package com.fernandocejas.android10.sample.app.core.executor;
1717

18-
import com.fernandocejas.android10.sample.domain.executor.PostExecutionThread;
18+
import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread;
1919
import javax.inject.Inject;
2020
import javax.inject.Singleton;
2121
import rx.Scheduler;

domain/src/main/java/com/fernandocejas/android10/sample/domain/interactor/DefaultSubscriber.java renamed to app/src/main/java/com/fernandocejas/android10/sample/app/core/interactor/DefaultSubscriber.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.fernandocejas.android10.sample.domain.interactor;
16+
package com.fernandocejas.android10.sample.app.core.interactor;
1717

1818
/**
1919
* Default subscriber base class to be used whenever you want default error handling.

domain/src/main/java/com/fernandocejas/android10/sample/domain/interactor/UseCase.java renamed to app/src/main/java/com/fernandocejas/android10/sample/app/core/interactor/UseCase.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.fernandocejas.android10.sample.domain.interactor;
16+
package com.fernandocejas.android10.sample.app.core.interactor;
1717

18-
import com.fernandocejas.android10.sample.domain.executor.PostExecutionThread;
19-
import com.fernandocejas.android10.sample.domain.executor.ThreadExecutor;
20-
import rx.Subscriber;
18+
import com.fernandocejas.android10.sample.app.core.executor.PostExecutionThread;
19+
import com.fernandocejas.android10.sample.app.data.executor.ThreadExecutor;
2120
import rx.Observable;
21+
import rx.Subscriber;
2222
import rx.Subscription;
2323
import rx.schedulers.Schedulers;
2424
import rx.subscriptions.Subscriptions;

app/src/main/java/com/fernandocejas/android10/sample/app/presenter/Presenter.java renamed to app/src/main/java/com/fernandocejas/android10/sample/app/core/presenter/Presenter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.fernandocejas.android10.sample.app.presenter;
16+
package com.fernandocejas.android10.sample.app.core.presenter;
1717

1818
/**
1919
* Interface representing a Presenter in a model view presenter (MVP) pattern.

0 commit comments

Comments
 (0)