summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/inject
diff options
context:
space:
mode:
authorweijiaxu <weijiaxu@google.com>2018-04-18 16:22:33 -0700
committerCopybara-Service <copybara-piper@google.com>2018-04-18 16:51:04 -0700
commit560eb125b437fef71e624327a024853dd9bc06ea (patch)
tree07e3197d0a4f8759eff7de0f528829c13d9dfc07 /java/com/android/dialer/inject
parentad11c3f4f2063d216422f2405ce92639afebf071 (diff)
Add support for adding module in the same class annotated with @DialerRootComponent.
Test: local test. PiperOrigin-RevId: 193435828 Change-Id: Ieb2be7c7d3e2861c0d2f32f1461535e439dbcb1a
Diffstat (limited to 'java/com/android/dialer/inject')
-rw-r--r--java/com/android/dialer/inject/demo/DemoDaggerApplication.java2
-rw-r--r--java/com/android/dialer/inject/demo/DemoModule.java4
-rw-r--r--java/com/android/dialer/inject/demo/DemoObject.java16
-rw-r--r--java/com/android/dialer/inject/demo/DemoSubcomponent.java3
4 files changed, 13 insertions, 12 deletions
diff --git a/java/com/android/dialer/inject/demo/DemoDaggerApplication.java b/java/com/android/dialer/inject/demo/DemoDaggerApplication.java
index 0c13dbb48..ab40eca1b 100644
--- a/java/com/android/dialer/inject/demo/DemoDaggerApplication.java
+++ b/java/com/android/dialer/inject/demo/DemoDaggerApplication.java
@@ -50,6 +50,6 @@ public final class DemoDaggerApplication extends Application implements HasRootC
public void onCreate() {
super.onCreate();
- DemoSubcomponent.get(this).demoObject();
+ DemoSubcomponent.get(this).demoObjects();
}
}
diff --git a/java/com/android/dialer/inject/demo/DemoModule.java b/java/com/android/dialer/inject/demo/DemoModule.java
index 40cd6fea1..9917c7dbd 100644
--- a/java/com/android/dialer/inject/demo/DemoModule.java
+++ b/java/com/android/dialer/inject/demo/DemoModule.java
@@ -20,6 +20,7 @@ import com.android.dialer.inject.DialerVariant;
import com.android.dialer.inject.InstallIn;
import dagger.Module;
import dagger.Provides;
+import dagger.multibindings.IntoSet;
/** Module for demo dagger application. */
@Module
@@ -29,7 +30,8 @@ public final class DemoModule {
private DemoModule() {}
@Provides
+ @IntoSet
static DemoObject provide() {
- return new DemoObject("prod");
+ return DemoObject.create("prod");
}
}
diff --git a/java/com/android/dialer/inject/demo/DemoObject.java b/java/com/android/dialer/inject/demo/DemoObject.java
index c6d48a14d..3c3862124 100644
--- a/java/com/android/dialer/inject/demo/DemoObject.java
+++ b/java/com/android/dialer/inject/demo/DemoObject.java
@@ -16,17 +16,15 @@
package com.android.dialer.inject.demo;
-/** Object used to demonstrate dagger bindings. */
-class DemoObject {
+import com.google.auto.value.AutoValue;
- private final String value;
+/** Object used to demonstrate dagger bindings. */
+@AutoValue
+abstract class DemoObject {
- DemoObject(String value) {
- this.value = value;
- }
+ abstract String value();
- @Override
- public String toString() {
- return value;
+ static DemoObject create(String value) {
+ return new AutoValue_DemoObject(value);
}
}
diff --git a/java/com/android/dialer/inject/demo/DemoSubcomponent.java b/java/com/android/dialer/inject/demo/DemoSubcomponent.java
index ff000aaa9..3e4dd66bb 100644
--- a/java/com/android/dialer/inject/demo/DemoSubcomponent.java
+++ b/java/com/android/dialer/inject/demo/DemoSubcomponent.java
@@ -20,12 +20,13 @@ import android.content.Context;
import com.android.dialer.inject.HasRootComponent;
import com.android.dialer.inject.IncludeInDialerRoot;
import dagger.Subcomponent;
+import java.util.Set;
/** Subcomponent for the demo dagger application. */
@Subcomponent
public abstract class DemoSubcomponent {
- abstract DemoObject demoObject();
+ abstract Set<DemoObject> demoObjects();
public static DemoSubcomponent get(Context context) {
return ((HasComponent) ((HasRootComponent) context.getApplicationContext()).component())