diff options
author | twyen <twyen@google.com> | 2018-03-23 17:39:25 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-03-26 22:20:45 -0700 |
commit | efc3de47fd8394fd7f929f12bf7cbe0feb3a74cc (patch) | |
tree | 82f29a4bee02b6366d2bdaed79a081c0128b0d9b /java/com/android/dialer/callintent | |
parent | 36c8b53f677db00b28ab54ae0d4eb690d563528d (diff) |
Forward extras from pre call external receivers to placeCall().
All extras that CallIntentBuilder handles will be stripped and read into the builder. Other entries will be send to telecom when the intent is build.
Renamed CallIntentBuilder.outGoingCallExtras for clarity.
Bug: 72877810
Test: Unit tests
PiperOrigin-RevId: 190301333
Change-Id: I9a8bf6664b270078d91dbfb3398f8990d243b9f8
Diffstat (limited to 'java/com/android/dialer/callintent')
-rw-r--r-- | java/com/android/dialer/callintent/CallIntentBuilder.java | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/java/com/android/dialer/callintent/CallIntentBuilder.java b/java/com/android/dialer/callintent/CallIntentBuilder.java index 9d9fcf4da..0f9f8905d 100644 --- a/java/com/android/dialer/callintent/CallIntentBuilder.java +++ b/java/com/android/dialer/callintent/CallIntentBuilder.java @@ -46,7 +46,8 @@ public class CallIntentBuilder implements Parcelable { private String callSubject; private boolean allowAssistedDial; - private final Bundle outgoingCallExtras = new Bundle(); + private final Bundle inCallUiIntentExtras = new Bundle(); + private final Bundle placeCallExtras = new Bundle(); private static int lightbringerButtonAppearInExpandedCallLogItemCount = 0; private static int lightbringerButtonAppearInCollapsedCallLogItemCount = 0; @@ -110,7 +111,7 @@ public class CallIntentBuilder implements Parcelable { isVideoCall = parcel.readInt() != 0; callSubject = parcel.readString(); allowAssistedDial = parcel.readInt() != 0; - outgoingCallExtras.putAll(parcel.readBundle(classLoader)); + inCallUiIntentExtras.putAll(parcel.readBundle(classLoader)); } public static CallIntentBuilder forVoicemail( @@ -170,8 +171,16 @@ public class CallIntentBuilder implements Parcelable { } /** Additional data the in call UI can read with {@link Details#getIntentExtras()} */ - public Bundle getOutgoingCallExtras() { - return outgoingCallExtras; + public Bundle getInCallUiIntentExtras() { + return inCallUiIntentExtras; + } + + /** + * Other extras that should be used with {@link TelecomManager#placeCall(Uri, Bundle)}. This will + * override everything set by the CallIntentBuilder + */ + public Bundle getPlaceCallExtras() { + return placeCallExtras; } /** @@ -186,11 +195,11 @@ public class CallIntentBuilder implements Parcelable { TelecomManager.EXTRA_START_CALL_WITH_VIDEO_STATE, isVideoCall ? VideoProfile.STATE_BIDIRECTIONAL : VideoProfile.STATE_AUDIO_ONLY); - outgoingCallExtras.putLong( + inCallUiIntentExtras.putLong( Constants.EXTRA_CALL_CREATED_TIME_MILLIS, SystemClock.elapsedRealtime()); - CallIntentParser.putCallSpecificAppData(outgoingCallExtras, callSpecificAppData); + CallIntentParser.putCallSpecificAppData(inCallUiIntentExtras, callSpecificAppData); - intent.putExtra(TelecomManager.EXTRA_OUTGOING_CALL_EXTRAS, outgoingCallExtras); + intent.putExtra(TelecomManager.EXTRA_OUTGOING_CALL_EXTRAS, inCallUiIntentExtras); if (phoneAccountHandle != null) { intent.putExtra(TelecomManager.EXTRA_PHONE_ACCOUNT_HANDLE, phoneAccountHandle); @@ -200,6 +209,8 @@ public class CallIntentBuilder implements Parcelable { intent.putExtra(TelecomManager.EXTRA_CALL_SUBJECT, callSubject); } + intent.putExtras(placeCallExtras); + return intent; } @@ -257,7 +268,7 @@ public class CallIntentBuilder implements Parcelable { dest.writeInt(isVideoCall ? 1 : 0); dest.writeString(callSubject); dest.writeInt(allowAssistedDial ? 1 : 0); - dest.writeBundle(outgoingCallExtras); + dest.writeBundle(inCallUiIntentExtras); } public static final Creator<CallIntentBuilder> CREATOR = |