summaryrefslogtreecommitdiff
path: root/telecomm
diff options
context:
space:
mode:
author Tyler Gunn <tgunn@google.com> 2025-04-04 23:18:49 +0000
committer Android Build Coastguard Worker <android-build-coastguard-worker@google.com> 2025-04-10 16:12:34 -0700
commit8416f01401b1abbc9cc74a4a1b298eddab056da1 (patch)
tree69d86ed53a6768224f9fb5d3b73c5c29b1a300f8 /telecomm
parentea39268231d379acaf5ed243ea64f5ba37c638c3 (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.java5
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;