diff options
author | 2025-04-04 23:18:49 +0000 | |
---|---|---|
committer | 2025-04-10 16:12:34 -0700 | |
commit | 8416f01401b1abbc9cc74a4a1b298eddab056da1 (patch) | |
tree | 69d86ed53a6768224f9fb5d3b73c5c29b1a300f8 /telecomm | |
parent | ea39268231d379acaf5ed243ea64f5ba37c638c3 (diff) |
Remove extras modification in Telecom Call.Details unparceling.
A recent change (ag/31966526) was made to stash the originating user into
the android.telecom.Call.Details#getExtras(). We have been seeing
crashes in the Telecom system service as a consequence. We thought we
fixed this with (ag/32508382) and assumed it was due to the fact
that an InCallService living in the system server alongside Telecom was
getting a local reference to the Telecom call extras and hence being
able to cause a concurrent modification exception. It appears that was
contributing, but perhaps not the actual root cause.
Looking back at old bugs this same signature is seen as far back as 2023
but at a very low frequency. We thought we fully addressed this with
b/261946446 a long while back. It now seems likely that there has been a
concurrent modification issue with call extras for a long time which was
never fully solved, and this code change just makes it more likely.
This change does NOT fix the underlying problem but should reduce the
incidence. This is done as a fix forward because there are a lot of
stacked CLs related to this particular change (as a result of seeing the
new failure and trying to solve it in a few different ways).
Flag: NONE critical bug fix:
Test: Run tests, CTS, manual testing (not able to reproduce though).
Bug: 408470449
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:7fb0e330e7f4777f07f73b4bfd9ba8e11ee7c044)
Merged-In: I29e1a6019f8a5796f4ebf18c286dd5d3aec3feca
Change-Id: I29e1a6019f8a5796f4ebf18c286dd5d3aec3feca
Diffstat (limited to 'telecomm')
-rw-r--r-- | telecomm/java/android/telecom/Call.java | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/telecomm/java/android/telecom/Call.java b/telecomm/java/android/telecom/Call.java index 51ce144881b7..f534b4ca9cd9 100644 --- a/telecomm/java/android/telecom/Call.java +++ b/telecomm/java/android/telecom/Call.java @@ -23,7 +23,6 @@ import android.annotation.Nullable; import android.annotation.SystemApi; import android.annotation.TestApi; import android.compat.annotation.UnsupportedAppUsage; -import android.content.Intent; import android.content.pm.ServiceInfo; import android.net.Uri; import android.os.BadParcelableException; @@ -1175,10 +1174,6 @@ public final class Call { int callerNumberVerificationStatus, Uri contactPhotoUri, UserHandle originatingUser) { - if (extras == null) { - extras = new Bundle(); - } - extras.putParcelable(Intent.EXTRA_USER_HANDLE, originatingUser); mState = state; mTelecomCallId = telecomCallId; mHandle = handle; |