From fe086be17210d0212705d4c9bae586b9a033cd93 Mon Sep 17 00:00:00 2001 From: Richard MacGregor Date: Fri, 29 Apr 2016 23:20:46 -0700 Subject: Quick Fix for NPE in Dialer Change-Id: I5f7e901a0344900f452bc0ee2a55e3830fad8eba --- .../dialer/deeplink/DeepLinkIntegrationManager.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/com/android/dialer/deeplink/DeepLinkIntegrationManager.java b/src/com/android/dialer/deeplink/DeepLinkIntegrationManager.java index 8d729a1e9..6af4d3ea2 100644 --- a/src/com/android/dialer/deeplink/DeepLinkIntegrationManager.java +++ b/src/com/android/dialer/deeplink/DeepLinkIntegrationManager.java @@ -56,7 +56,6 @@ public class DeepLinkIntegrationManager { private static DeepLinkIntegrationManager sInstance; private AmbientApiClient mAmbientApiClient; private DeepLinkApi mApi; - private volatile boolean mConnected = false; public void setUp(Context ctx) { if(ambientIsAvailable(ctx)) { @@ -69,7 +68,7 @@ public class DeepLinkIntegrationManager { ResultCallback callback, DeepLinkContentType category, Uri uri) { PendingResult result = null; - if (mAmbientApiClient.isConnected()) { + if (hasConnectedClient()) { result = mApi.getPreferredLinksForSingleItem(mAmbientApiClient, DeepLinkApplicationType.NOTE, category, uri); result.setResultCallback(callback); @@ -81,7 +80,7 @@ public class DeepLinkIntegrationManager { ResultCallback callback, DeepLinkContentType category, List uris) { PendingResult result = null; - if (mAmbientApiClient.isConnected()) { + if (hasConnectedClient()) { result = mApi.getPreferredLinksForList(mAmbientApiClient, DeepLinkApplicationType.NOTE, category, uris); result.setResultCallback(callback); @@ -92,7 +91,7 @@ public class DeepLinkIntegrationManager { public void getDefaultPlugin(ResultCallback callback, DeepLinkContentType category) { PendingResult result = null; - if (mAmbientApiClient.isConnected()) { + if (hasConnectedClient()) { result = mApi.getDefaultProviderDisplayInformation(mAmbientApiClient, DeepLinkApplicationType.NOTE, category, DeepLinkIntegrationManager.generateCallUri(dummyNumber, dummyTime)); @@ -115,9 +114,13 @@ public class DeepLinkIntegrationManager { return CyanogenAmbientUtil.isCyanogenAmbientAvailable(ctx) == CyanogenAmbientUtil.SUCCESS; } + private boolean hasConnectedClient() { + return mAmbientApiClient != null && mAmbientApiClient.isConnected(); + } + public void sendEvent(Context ctx, Categories categories, Events event, HashMap params) { - if(mAmbientApiClient.isConnected()) { + if(hasConnectedClient()) { DeepLinkMetricsHelper.sendEvent(ctx, categories, event, params, mAmbientApiClient); } } @@ -148,14 +151,14 @@ public class DeepLinkIntegrationManager { public void openDeepLinkPreferences(DeepLinkApplicationType deepLinkApplicationType) { - if (mAmbientApiClient.isConnected()) { + if (hasConnectedClient()) { mApi.openDeepLinkPreferences(mAmbientApiClient, deepLinkApplicationType); } } public void isApplicationTypeEnabled(DeepLinkApplicationType deepLinkApplicationType, ResultCallback callback) { - if (mAmbientApiClient.isConnected()) { + if (hasConnectedClient()) { PendingResult result = mApi.isApplicationTypeEnabled( mAmbientApiClient, deepLinkApplicationType); result.setResultCallback(callback); -- cgit v1.2.3