From 2ba9c5c5a13fb1e13432ee2ea6fd9d438138bb07 Mon Sep 17 00:00:00 2001 From: Stephen Bird Date: Thu, 7 Apr 2016 18:34:21 -0700 Subject: [3/4] Update incall for callmethodhelper refactor Change-Id: I218857bde16799ea57910c18effcd4ff29d3b0a9 --- src/com/android/incallui/CallButtonPresenter.java | 2 +- src/com/android/incallui/InCallPresenter.java | 15 +++++++-------- .../incallapi/InCallPluginInfoAsyncTask.java | 20 +++++++------------- 3 files changed, 15 insertions(+), 22 deletions(-) diff --git a/src/com/android/incallui/CallButtonPresenter.java b/src/com/android/incallui/CallButtonPresenter.java index 648bf431..d9b36162 100644 --- a/src/com/android/incallui/CallButtonPresenter.java +++ b/src/com/android/incallui/CallButtonPresenter.java @@ -54,8 +54,8 @@ import com.android.incallui.InCallPresenter.IncomingCallListener; import com.android.incallui.InCallPresenter.InCallDetailsListener; import com.android.phone.common.ambient.AmbientConnection; -import com.android.phone.common.util.StartInCallCallReceiver; +import com.android.phone.common.incall.StartInCallCallReceiver; import com.cyanogen.ambient.common.api.AmbientApiClient; import com.cyanogen.ambient.incall.InCallServices; import com.cyanogen.ambient.incall.extension.OriginCodes; diff --git a/src/com/android/incallui/InCallPresenter.java b/src/com/android/incallui/InCallPresenter.java index 523d7def..e5589dc9 100644 --- a/src/com/android/incallui/InCallPresenter.java +++ b/src/com/android/incallui/InCallPresenter.java @@ -24,7 +24,6 @@ import android.content.Intent; import android.content.ActivityNotFoundException; import android.content.res.Resources; import android.graphics.Point; -import android.net.Uri; import android.os.Bundle; import android.os.PowerManager; import android.telecom.DisconnectCause; @@ -32,9 +31,7 @@ import android.telecom.PhoneAccount; import android.telecom.PhoneAccountHandle; import android.telecom.TelecomManager; import android.telecom.VideoProfile; -import android.telephony.PhoneNumberUtils; import android.text.TextUtils; -import android.view.Surface; import android.view.View; import android.view.Window; import android.view.WindowManager; @@ -44,8 +41,9 @@ import com.android.contacts.common.interactions.TouchPointManager; import com.android.contacts.common.testing.NeededForTesting; import com.android.contacts.common.util.MaterialColorMapUtils.MaterialPalette; import com.android.incalluibind.ObjectFactory; -import com.android.phone.common.incall.CallMethodHelper; import com.android.phone.common.incall.CallMethodInfo; +import com.android.phone.common.incall.DialerDataSubscription; + import com.google.common.base.Preconditions; import java.util.Collections; @@ -68,7 +66,7 @@ import java.util.concurrent.CopyOnWriteArrayList; public class InCallPresenter implements CallList.Listener, CircularRevealFragment.OnCircularRevealCompleteListener, ContactInfoCache.ContactInfoCacheCallback, - CallMethodHelper.CallMethodReceiver { + DialerDataSubscription.PluginChanged { private static final boolean DEBUG = false; private static final String AMBIENT_SUBSCRIPTION_ID = InCallPresenter.class.getSimpleName(); @@ -255,7 +253,7 @@ public class InCallPresenter implements CallList.Listener, // This only gets called by the service so this is okay. mServiceConnected = true; - CallMethodHelper.subscribe(AMBIENT_SUBSCRIPTION_ID, this); + DialerDataSubscription.get(mContext).subscribe(AMBIENT_SUBSCRIPTION_ID, this); // The final thing we do in this set up is add ourselves as a listener to CallList. This // will kick off an update and the whole process can start. @@ -547,7 +545,7 @@ public class InCallPresenter implements CallList.Listener, } @Override - public void onChanged(HashMap callMethodInfo) { + public void onChanged(HashMap pluginInfos) { if (DEBUG) Log.i(this, "InCall plugins updated"); // Update ContactInfoCache then notify listeners final CallList calls = CallList.getInstance(); @@ -1456,6 +1454,8 @@ public class InCallPresenter implements CallList.Listener, } mCallList = null; + DialerDataSubscription.get(mContext).unsubscribe(AMBIENT_SUBSCRIPTION_ID); + mContext = null; mInCallActivity = null; @@ -1467,7 +1467,6 @@ public class InCallPresenter implements CallList.Listener, mInCallEventListeners.clear(); mInCallPluginUpdateListeners.clear(); - CallMethodHelper.unsubscribe(AMBIENT_SUBSCRIPTION_ID); Log.d(this, "Finished InCallPresenter.CleanUp"); } diff --git a/src/com/android/incallui/incallapi/InCallPluginInfoAsyncTask.java b/src/com/android/incallui/incallapi/InCallPluginInfoAsyncTask.java index 17a9ec40..574acd0f 100644 --- a/src/com/android/incallui/incallapi/InCallPluginInfoAsyncTask.java +++ b/src/com/android/incallui/incallapi/InCallPluginInfoAsyncTask.java @@ -16,11 +16,8 @@ package com.android.incallui.incallapi; -import android.app.PendingIntent; import android.content.ComponentName; import android.content.Context; -import android.content.pm.PackageManager; -import android.content.res.Resources; import android.database.Cursor; import android.net.Uri; import android.os.AsyncTask; @@ -30,19 +27,14 @@ import android.provider.ContactsContract.Data; import android.text.TextUtils; import android.util.Log; import com.android.phone.common.ambient.AmbientConnection; -import com.android.phone.common.incall.CallMethodHelper; import com.android.phone.common.incall.CallMethodInfo; -import com.cyanogen.ambient.common.api.AmbientApiClient; +import com.android.phone.common.incall.DialerDataSubscription; +import com.android.phone.common.incall.utils.CallMethodFilters; +import com.android.phone.common.incall.utils.MimeTypeUtils; import com.cyanogen.ambient.incall.InCallApi; import com.cyanogen.ambient.incall.InCallServices; import com.cyanogen.ambient.incall.extension.InCallContactInfo; -import com.cyanogen.ambient.incall.results.MimeTypeListResult; import com.cyanogen.ambient.incall.results.PendingIntentResult; -import com.cyanogen.ambient.incall.results.PluginStatusResult; -import com.cyanogen.ambient.incall.results.InCallProviderInfoResult; -import com.cyanogen.ambient.incall.results.MimeTypeResult; -import com.cyanogen.ambient.plugin.PluginStatus; -import com.google.common.base.Joiner; import java.lang.ref.WeakReference; import java.util.ArrayList; @@ -87,8 +79,10 @@ public class InCallPluginInfoAsyncTask extends AsyncTask inCallPluginInfoBuilderList = new ArrayList(); Map pluginIndex = new HashMap(); - HashMap plugins = CallMethodHelper.getAllEnabledCallMethods(); - String mimeTypes = CallMethodHelper.getAllEnabledVideoCallableMimeTypes(); + HashMap plugins = + CallMethodFilters.getAllEnabledCallMethods(DialerDataSubscription.get(mContext)); + String mimeTypes = MimeTypeUtils.getAllEnabledVideoCallableMimeTypes( + DialerDataSubscription.get(mContext)); if (mContactInfo == null) { return inCallPluginList; -- cgit v1.2.3