diff options
Diffstat (limited to 'java/com/android/dialer/simulator/SimulatorComponent.java')
-rw-r--r-- | java/com/android/dialer/simulator/SimulatorComponent.java | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/java/com/android/dialer/simulator/SimulatorComponent.java b/java/com/android/dialer/simulator/SimulatorComponent.java index f14496b80..a16592e34 100644 --- a/java/com/android/dialer/simulator/SimulatorComponent.java +++ b/java/com/android/dialer/simulator/SimulatorComponent.java @@ -17,18 +17,26 @@ package com.android.dialer.simulator; import android.content.Context; -import com.android.dialer.inject.HasRootComponent; import dagger.Subcomponent; +import com.android.dialer.simulator.impl.SimulatorImpl; /** Subcomponent that can be used to access the simulator implementation. */ -@Subcomponent -public abstract class SimulatorComponent { +public class SimulatorComponent { + private static SimulatorComponent instance; + private Simulator simulator; - public abstract Simulator getSimulator(); + public Simulator getSimulator() { + if (simulator == null) { + simulator = new SimulatorImpl(); + } + return simulator; + } public static SimulatorComponent get(Context context) { - return ((HasComponent) ((HasRootComponent) context.getApplicationContext()).component()) - .simulatorComponent(); + if (instance == null) { + instance = new SimulatorComponent(); + } + return instance; } /** Used to refer to the root application component. */ |