From 3a74c7ac8ebcdbca3f5dfcea3ac97e0d4cbab99c Mon Sep 17 00:00:00 2001 From: Eugene Susla Date: Fri, 7 Jul 2017 14:06:14 -0700 Subject: [Companion] Prevent NPE in CallbackProxy Fixes: 63383044 Test: Ensure all fields of CompanionDeviceManager.CallbackProxy are null-checked in onSuccess and onFailure Change-Id: If95a46686f74d184bccfcb2d8c8195add4747a07 --- core/java/android/companion/CompanionDeviceManager.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/core/java/android/companion/CompanionDeviceManager.java b/core/java/android/companion/CompanionDeviceManager.java index 86a30cf0c846..076deab5d211 100644 --- a/core/java/android/companion/CompanionDeviceManager.java +++ b/core/java/android/companion/CompanionDeviceManager.java @@ -280,12 +280,24 @@ public final class CompanionDeviceManager { @Override public void onSuccess(PendingIntent launcher) { - mHandler.post(() -> mCallback.onDeviceFound(launcher.getIntentSender())); + Handler handler = mHandler; + if (handler == null) return; + handler.post(() -> { + Callback callback = mCallback; + if (callback == null) return; + callback.onDeviceFound(launcher.getIntentSender()); + }); } @Override public void onFailure(CharSequence reason) { - mHandler.post(() -> mCallback.onFailure(reason)); + Handler handler = mHandler; + if (handler == null) return; + handler.post(() -> { + Callback callback = mCallback; + if (callback == null) return; + callback.onFailure(reason); + }); } @Override -- cgit v1.2.3-59-g8ed1b