diff options
Diffstat (limited to 'telecomm')
-rw-r--r-- | telecomm/java/android/telecom/Call.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/telecomm/java/android/telecom/Call.java b/telecomm/java/android/telecom/Call.java index 980ea5cd7f8c..432af3aa1aa0 100644 --- a/telecomm/java/android/telecom/Call.java +++ b/telecomm/java/android/telecom/Call.java @@ -2895,7 +2895,19 @@ public final class Call { if (key != null) { final Object value = bundle.get(key); final Object newValue = newBundle.get(key); - if (!Objects.equals(value, newValue)) { + if (!newBundle.containsKey(key)) { + return false; + } + if (value instanceof Bundle && newValue instanceof Bundle) { + if (!areBundlesEqual((Bundle) value, (Bundle) newValue)) { + return false; + } + } + if (value instanceof byte[] && newValue instanceof byte[]) { + if (!Arrays.equals((byte[]) value, (byte[]) newValue)) { + return false; + } + } else if (!Objects.equals(value, newValue)) { return false; } } |