aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Ebinger <breadley@google.com>2018-01-19 00:14:01 +0000
committerandroid-build-merger <android-build-merger@google.com>2018-01-19 00:14:01 +0000
commitb0a222522f8bdf9ccfb4efe63ec0e2128500d730 (patch)
treed616ef5b4e3f0eafa17d4428de7cb765410758bb
parentaee697f28152c603d6f36dc8266422d3f2ed41e7 (diff)
parent7aafd2a6bbb2b2a1f97fdb00a85f38ded9e8066d (diff)
downloadims-b0a222522f8bdf9ccfb4efe63ec0e2128500d730.tar.gz
Include Context in ImsServiceProxy Compat Layer am: 3418c13699 am: a6575492c4
am: 7aafd2a6bb Change-Id: I730796b71affa6f279f22fa4624f27ad661b724c
-rw-r--r--src/java/com/android/ims/ImsManager.java9
-rw-r--r--src/java/com/android/ims/ImsServiceProxy.java6
-rw-r--r--src/java/com/android/ims/ImsServiceProxyCompat.java9
3 files changed, 14 insertions, 10 deletions
diff --git a/src/java/com/android/ims/ImsManager.java b/src/java/com/android/ims/ImsManager.java
index d335fa2e..c73db6ad 100644
--- a/src/java/com/android/ims/ImsManager.java
+++ b/src/java/com/android/ims/ImsManager.java
@@ -39,6 +39,7 @@ import com.android.ims.internal.IImsCallSession;
import com.android.ims.internal.IImsConfig;
import com.android.ims.internal.IImsEcbm;
import com.android.ims.internal.IImsMultiEndpoint;
+import com.android.ims.internal.IImsRegistration;
import com.android.ims.internal.IImsRegistrationCallback;
import com.android.ims.internal.IImsRegistrationListener;
import com.android.ims.internal.IImsServiceController;
@@ -1427,8 +1428,10 @@ public class ImsManager {
checkAndThrowExceptionIfServiceUnavailable();
// TODO: Remove once new MmTelFeature is merged in
mImsServiceProxy.addRegistrationListener(mImsRegistrationListenerProxy);
- mImsServiceProxy.getRegistration().addRegistrationCallback(
- mRegistrationCallback);
+ IImsRegistration regBinder = mImsServiceProxy.getRegistration();
+ if (regBinder != null) {
+ regBinder.addRegistrationCallback(mRegistrationCallback);
+ }
log("Registration Callback/Listener registered.");
// Only record if there isn't a RemoteException.
mHasRegisteredForProxy = true;
@@ -1871,7 +1874,7 @@ public class ImsManager {
if (!mConfigDynamicBind) {
// Deprecated method of binding
Rlog.i(TAG, "Creating ImsService using ServiceManager");
- mImsServiceProxy = ImsServiceProxyCompat.create(mPhoneId, mDeathRecipient);
+ mImsServiceProxy = ImsServiceProxyCompat.create(mContext, mPhoneId, mDeathRecipient);
} else {
Rlog.i(TAG, "Creating ImsService using ImsResolver");
mImsServiceProxy = ImsServiceProxy.create(mContext, mPhoneId);
diff --git a/src/java/com/android/ims/ImsServiceProxy.java b/src/java/com/android/ims/ImsServiceProxy.java
index a22dadd4..153c5f52 100644
--- a/src/java/com/android/ims/ImsServiceProxy.java
+++ b/src/java/com/android/ims/ImsServiceProxy.java
@@ -147,15 +147,15 @@ public class ImsServiceProxy {
}
};
- public ImsServiceProxy(int slotId, IBinder binder, int featureType) {
+ public ImsServiceProxy(Context context, int slotId, IBinder binder, int featureType) {
mSlotId = slotId;
mBinder = binder;
mSupportedFeature = featureType;
+ mContext = context;
}
public ImsServiceProxy(Context context, int slotId, int featureType) {
- this(slotId, null, featureType);
- mContext = context;
+ this(context, slotId, null, featureType);
}
public @Nullable IImsRegistration getRegistration() {
diff --git a/src/java/com/android/ims/ImsServiceProxyCompat.java b/src/java/com/android/ims/ImsServiceProxyCompat.java
index 44f72e6a..a6d1865e 100644
--- a/src/java/com/android/ims/ImsServiceProxyCompat.java
+++ b/src/java/com/android/ims/ImsServiceProxyCompat.java
@@ -54,7 +54,8 @@ public class ImsServiceProxyCompat extends ImsServiceProxy {
*/
private static final String IMS_SERVICE = "ims";
- public static ImsServiceProxyCompat create(int slotId, IBinder.DeathRecipient recipient) {
+ public static ImsServiceProxyCompat create(Context context, int slotId,
+ IBinder.DeathRecipient recipient) {
IBinder binder = ServiceManager.checkService(IMS_SERVICE);
if (binder != null) {
@@ -66,11 +67,11 @@ public class ImsServiceProxyCompat extends ImsServiceProxy {
// If the proxy is created with a null binder, subsequent calls that depend on a live
// binder will fail, causing this structure to be torn down and created again.
- return new ImsServiceProxyCompat(slotId, binder);
+ return new ImsServiceProxyCompat(context, slotId, binder);
}
- public ImsServiceProxyCompat(int slotId, IBinder binder) {
- super(slotId, binder, SERVICE_ID);
+ public ImsServiceProxyCompat(Context context, int slotId, IBinder binder) {
+ super(context, slotId, binder, SERVICE_ID);
}
@Override