From 560eb125b437fef71e624327a024853dd9bc06ea Mon Sep 17 00:00:00 2001 From: weijiaxu Date: Wed, 18 Apr 2018 16:22:33 -0700 Subject: Add support for adding module in the same class annotated with @DialerRootComponent. Test: local test. PiperOrigin-RevId: 193435828 Change-Id: Ieb2be7c7d3e2861c0d2f32f1461535e439dbcb1a --- .../dialer/inject/demo/DemoDaggerApplication.java | 2 +- java/com/android/dialer/inject/demo/DemoModule.java | 4 +++- java/com/android/dialer/inject/demo/DemoObject.java | 16 +++++++--------- .../com/android/dialer/inject/demo/DemoSubcomponent.java | 3 ++- 4 files changed, 13 insertions(+), 12 deletions(-) (limited to 'java/com/android/dialer/inject') 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 demoObjects(); public static DemoSubcomponent get(Context context) { return ((HasComponent) ((HasRootComponent) context.getApplicationContext()).component()) -- cgit v1.2.3