summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/simulator
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/simulator')
-rw-r--r--java/com/android/dialer/simulator/SimulatorComponent.java20
-rw-r--r--java/com/android/dialer/simulator/impl/SimulatorImpl.java2
2 files changed, 15 insertions, 7 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. */
diff --git a/java/com/android/dialer/simulator/impl/SimulatorImpl.java b/java/com/android/dialer/simulator/impl/SimulatorImpl.java
index 2dd180ef4..9c6826940 100644
--- a/java/com/android/dialer/simulator/impl/SimulatorImpl.java
+++ b/java/com/android/dialer/simulator/impl/SimulatorImpl.java
@@ -24,7 +24,7 @@ import com.android.dialer.simulator.Simulator;
import javax.inject.Inject;
/** The entry point for the simulator feature. */
-final class SimulatorImpl implements Simulator {
+final public class SimulatorImpl implements Simulator {
@Inject
public SimulatorImpl() {}