From f715de6b08e428ba45d1076e4133fe9b7f6b9a7d Mon Sep 17 00:00:00 2001 From: calderwoodra Date: Tue, 11 Jul 2017 16:33:32 -0700 Subject: Fixed NPE in CameraComposerFragment. If a user took a picture then quickly closed call composer, when the image was ready we would try to update our view state. Since our fragment is no longer attached, this cuases a crash when we check that getContext() is not null. fragment.getContext is never null in robolectric. Bug: 62687110 Test: manual, cannot test b/c we cannot take photos in Espresso and PiperOrigin-RevId: 161600278 Change-Id: If9bd98578d221fca4bc99ff17a39f917f3a8bcca --- java/com/android/dialer/callcomposer/CameraComposerFragment.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'java/com/android/dialer/callcomposer') diff --git a/java/com/android/dialer/callcomposer/CameraComposerFragment.java b/java/com/android/dialer/callcomposer/CameraComposerFragment.java index 1002b27b1..d55f3222c 100644 --- a/java/com/android/dialer/callcomposer/CameraComposerFragment.java +++ b/java/com/android/dialer/callcomposer/CameraComposerFragment.java @@ -332,7 +332,11 @@ public class CameraComposerFragment extends CallComposerFragment /** Updates the state of the buttons and overlays based on the current state of the view */ private void updateViewState() { Assert.isNotNull(cameraView); - Assert.isNotNull(getContext()); + if (isDetached() || getContext() == null) { + LogUtil.i( + "CameraComposerFragment.updateViewState", "Fragment detached, cannot update view state"); + return; + } boolean isCameraAvailable = CameraManager.get().isCameraAvailable(); boolean uriReadyOrProcessing = cameraUri != null || processingUri; -- cgit v1.2.3