Fix NPE in DialerCall that cause it crash and failed to show
disconnection error message.
Bug: 184662292
Test: Manual test to guarantee the error message
Change-Id: I29ad67fdbe66a4ee246d3ecbaf0967e9f89df6cf
diff --git a/java/com/android/incallui/CallButtonPresenter.java b/java/com/android/incallui/CallButtonPresenter.java
index 2a9600a..f2f7a40 100644
--- a/java/com/android/incallui/CallButtonPresenter.java
+++ b/java/com/android/incallui/CallButtonPresenter.java
@@ -208,18 +208,22 @@
int newRoute;
if (audioState.getRoute() == CallAudioState.ROUTE_SPEAKER) {
newRoute = CallAudioState.ROUTE_WIRED_OR_EARPIECE;
- Logger.get(context)
- .logCallImpression(
- DialerImpression.Type.IN_CALL_SCREEN_TURN_ON_WIRED_OR_EARPIECE,
- call.getUniqueCallId(),
- call.getTimeAddedMs());
+ if (call != null) {
+ Logger.get(context)
+ .logCallImpression(
+ DialerImpression.Type.IN_CALL_SCREEN_TURN_ON_WIRED_OR_EARPIECE,
+ call.getUniqueCallId(),
+ call.getTimeAddedMs());
+ }
} else {
newRoute = CallAudioState.ROUTE_SPEAKER;
- Logger.get(context)
- .logCallImpression(
- DialerImpression.Type.IN_CALL_SCREEN_TURN_ON_SPEAKERPHONE,
- call.getUniqueCallId(),
- call.getTimeAddedMs());
+ if (call != null) {
+ Logger.get(context)
+ .logCallImpression(
+ DialerImpression.Type.IN_CALL_SCREEN_TURN_ON_SPEAKERPHONE,
+ call.getUniqueCallId(),
+ call.getTimeAddedMs());
+ }
}
setAudioRoute(newRoute);