File tree Expand file tree Collapse file tree 4 files changed +19
-26
lines changed
presentation/src/main/java/com/fernandocejas/android10/sample/presentation Expand file tree Collapse file tree 4 files changed +19
-26
lines changed Original file line number Diff line number Diff line change 8
8
import com .fernandocejas .android10 .sample .presentation .internal .di .components .ApplicationComponent ;
9
9
import com .fernandocejas .android10 .sample .presentation .internal .di .components .Dagger_ApplicationComponent ;
10
10
import com .fernandocejas .android10 .sample .presentation .internal .di .modules .ApplicationModule ;
11
+ import com .fernandocejas .android10 .sample .presentation .view .activity .BaseActivity ;
11
12
12
13
/**
13
14
* Android Main Application
@@ -18,10 +19,17 @@ public class AndroidApplication extends Application {
18
19
19
20
@ Override public void onCreate () {
20
21
super .onCreate ();
22
+ this .initializeInjector ();
23
+ }
21
24
25
+ private void initializeInjector () {
22
26
this .applicationComponent = Dagger_ApplicationComponent .builder ()
23
27
.applicationModule (new ApplicationModule (this ))
24
28
.build ();
25
29
this .applicationComponent .inject (this );
26
30
}
31
+
32
+ public void inject (BaseActivity baseActivity ) {
33
+ this .applicationComponent .inject (baseActivity );
34
+ }
27
35
}
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 5
5
package com .fernandocejas .android10 .sample .presentation .internal .di .components ;
6
6
7
7
import com .fernandocejas .android10 .sample .presentation .AndroidApplication ;
8
+ import com .fernandocejas .android10 .sample .presentation .internal .di .modules .ActivityModule ;
8
9
import com .fernandocejas .android10 .sample .presentation .internal .di .modules .ApplicationModule ;
10
+ import com .fernandocejas .android10 .sample .presentation .view .activity .BaseActivity ;
9
11
import dagger .Component ;
12
+ import javax .inject .Singleton ;
10
13
11
- @ Component (modules = ApplicationModule .class )
14
+ @ Singleton
15
+ @ Component (modules = {ApplicationModule .class , ActivityModule .class })
12
16
public interface ApplicationComponent {
13
- AndroidApplication inject (AndroidApplication androidApplication );
17
+ void inject (AndroidApplication androidApplication );
18
+ void inject (BaseActivity activity );
14
19
}
Original file line number Diff line number Diff line change 4
4
import android .app .Fragment ;
5
5
import android .app .FragmentTransaction ;
6
6
import android .os .Bundle ;
7
- import com .fernandocejas .android10 .sample .presentation .internal .di .components .ActivityComponent ;
8
- import com .fernandocejas .android10 .sample .presentation .internal .di .components .Dagger_ActivityComponent ;
9
- import com .fernandocejas .android10 .sample .presentation .internal .di .modules .ActivityModule ;
7
+ import com .fernandocejas .android10 .sample .presentation .AndroidApplication ;
10
8
import com .fernandocejas .android10 .sample .presentation .navigation .Navigator ;
11
9
import javax .inject .Inject ;
12
10
15
13
*/
16
14
public abstract class BaseActivity extends Activity {
17
15
18
- ActivityComponent activityComponent ;
19
-
20
16
@ Inject Navigator navigator ;
21
17
22
18
@ Override
23
19
protected void onCreate (Bundle savedInstanceState ) {
24
20
super .onCreate (savedInstanceState );
25
-
26
- this .activityComponent = Dagger_ActivityComponent .builder ()
27
- .activityModule (new ActivityModule ())
28
- .build ();
29
- this .activityComponent .inject (this );
21
+ this .initializeInjector ();
30
22
}
31
23
24
+ private void initializeInjector () {((AndroidApplication )getApplication ()).inject (this );}
25
+
32
26
/**
33
27
* Adds a {@link Fragment} to this activity's layout.
34
28
*
You can’t perform that action at this time.
0 commit comments