Dangling fixes for outgoing calls.
CallsManager.INSTANCE = new CallsManager() -> new Switchboard()
Except that Switchboard tries to use INSTANCE in it's own
constructor...which is yet not initialized. Same problem with
InCallController.
Change-Id: Id0b6487e0e65ea3a90195392cbf1f3acc8c540ac
diff --git a/src/com/android/telecomm/CallsManager.java b/src/com/android/telecomm/CallsManager.java
index 2a621aa..529137c 100644
--- a/src/com/android/telecomm/CallsManager.java
+++ b/src/com/android/telecomm/CallsManager.java
@@ -80,8 +80,8 @@
* Initializes the required Telecomm components.
*/
private CallsManager() {
- mSwitchboard = new Switchboard();
- mInCallController = new InCallController();
+ mSwitchboard = new Switchboard(this);
+ mInCallController = new InCallController(this);
}
/**
diff --git a/src/com/android/telecomm/InCallController.java b/src/com/android/telecomm/InCallController.java
index dedc21c..435296b 100644
--- a/src/com/android/telecomm/InCallController.java
+++ b/src/com/android/telecomm/InCallController.java
@@ -78,8 +78,8 @@
/**
* Persists the specified parameters.
*/
- InCallController() {
- mCallsManager = CallsManager.getInstance();
+ InCallController(CallsManager callsManager) {
+ mCallsManager = callsManager;
}
// TODO(santoscordon): May be better to expose the IInCallService methods directly from this
diff --git a/src/com/android/telecomm/Switchboard.java b/src/com/android/telecomm/Switchboard.java
index 466f97f..c78cefe 100644
--- a/src/com/android/telecomm/Switchboard.java
+++ b/src/com/android/telecomm/Switchboard.java
@@ -92,8 +92,8 @@
/**
* Persists the specified parameters and initializes Switchboard.
*/
- Switchboard() {
- mCallsManager = CallsManager.getInstance();
+ Switchboard(CallsManager callsManager) {
+ mCallsManager = callsManager;
mOutgoingCallsManager = new OutgoingCallsManager(this);
mCallServiceFinder = new CallServiceFinder(this, mOutgoingCallsManager);
mSelectorFinder = new CallServiceSelectorFinder(this);
diff --git a/tests/src/com/android/telecomm/testcallservice/TestCallService.java b/tests/src/com/android/telecomm/testcallservice/TestCallService.java
index db768ba..a72997e 100644
--- a/tests/src/com/android/telecomm/testcallservice/TestCallService.java
+++ b/tests/src/com/android/telecomm/testcallservice/TestCallService.java
@@ -21,7 +21,6 @@
import com.google.common.base.Strings;
import com.google.common.collect.Sets;
-import java.io.IOException;
import java.util.Date;
import java.util.Set;
@@ -44,6 +43,11 @@
private static final String TAG = TestCallService.class.getSimpleName();
/**
+ * The application context.
+ */
+ private final Context mContext;
+
+ /**
* Set of call IDs for live (active, ringing, dialing) calls.
* TODO(santoscordon): Reference CallState javadoc when available for the different call states.
*/
@@ -59,12 +63,6 @@
*/
private MediaPlayer mMediaPlayer;
- /**
- * The application context.
- */
- private final Context mContext;
-
-
/** Persists the specified parameters. */
public TestCallService(Context context) {
mContext = context;