diff options
Diffstat (limited to 'java/com/android/incallui/maps')
-rw-r--r-- | java/com/android/incallui/maps/MapsComponent.java | 21 | ||||
-rw-r--r-- | java/com/android/incallui/maps/stub/StubMapsModule.java | 2 |
2 files changed, 17 insertions, 6 deletions
diff --git a/java/com/android/incallui/maps/MapsComponent.java b/java/com/android/incallui/maps/MapsComponent.java index 796abaa92..1ca17b781 100644 --- a/java/com/android/incallui/maps/MapsComponent.java +++ b/java/com/android/incallui/maps/MapsComponent.java @@ -19,18 +19,29 @@ package com.android.incallui.maps; import android.content.Context; import com.android.dialer.inject.HasRootComponent; import dagger.Subcomponent; +import com.android.incallui.maps.stub.StubMapsModule; /** Subcomponent that can be used to access the maps implementation. */ -@Subcomponent -public abstract class MapsComponent { +public class MapsComponent { - public abstract Maps getMaps(); + private static MapsComponent instance; + private Maps maps; + + public Maps getMaps() { + if (maps == null) { + maps = new StubMapsModule.StubMaps(); + } + return maps; + } public static MapsComponent get(Context context) { - return ((HasComponent) ((HasRootComponent) context.getApplicationContext()).component()) - .mapsComponent(); + if (instance == null) { + instance = new MapsComponent(); + } + return instance; } + /** Used to refer to the root application component. */ public interface HasComponent { MapsComponent mapsComponent(); diff --git a/java/com/android/incallui/maps/stub/StubMapsModule.java b/java/com/android/incallui/maps/stub/StubMapsModule.java index 3a193b15d..72678143c 100644 --- a/java/com/android/incallui/maps/stub/StubMapsModule.java +++ b/java/com/android/incallui/maps/stub/StubMapsModule.java @@ -34,7 +34,7 @@ public abstract class StubMapsModule { @Singleton public abstract Maps bindMaps(StubMaps maps); - static final class StubMaps implements Maps { + static public final class StubMaps implements Maps { @Inject public StubMaps() {} |