Add extra data when making call through emergency dialer
This data is used in telecom metrics to determine the call source.
Bug: 111818008
Test: manual and check the result of
'adb shell dumpsys telecom' for metrics data
Change-Id: Id3b18fa38df490f9428c6f6aa51a35c890541243
diff --git a/src/com/android/phone/EmergencyDialer.java b/src/com/android/phone/EmergencyDialer.java
index a89b52d..4b00061 100644
--- a/src/com/android/phone/EmergencyDialer.java
+++ b/src/com/android/phone/EmergencyDialer.java
@@ -38,6 +38,7 @@
import android.os.Bundle;
import android.os.PersistableBundle;
import android.provider.Settings;
+import android.telecom.ParcelableCallAnalytics;
import android.telecom.PhoneAccount;
import android.telecom.TelecomManager;
import android.telephony.CarrierConfigManager;
@@ -459,8 +460,11 @@
if (!TextUtils.isEmpty(phoneNumber)) {
if (DBG) Log.d(LOG_TAG, "dial emergency number: " + Rlog.pii(LOG_TAG, phoneNumber));
+ Bundle extras = new Bundle();
+ extras.putInt(TelecomManager.EXTRA_CALL_SOURCE,
+ ParcelableCallAnalytics.CALL_SOURCE_EMERGENCY_SHORTCUT);
TelecomManager tm = (TelecomManager) getSystemService(TELECOM_SERVICE);
- tm.placeCall(Uri.fromParts(PhoneAccount.SCHEME_TEL, phoneNumber, null), null);
+ tm.placeCall(Uri.fromParts(PhoneAccount.SCHEME_TEL, phoneNumber, null), extras);
} else {
Log.d(LOG_TAG, "emergency number is empty");
}
@@ -718,8 +722,11 @@
playTone(ToneGenerator.TONE_PROP_NACK);
return;
}
+ Bundle extras = new Bundle();
+ extras.putInt(TelecomManager.EXTRA_CALL_SOURCE,
+ ParcelableCallAnalytics.CALL_SOURCE_EMERGENCY_DIALPAD);
TelecomManager tm = (TelecomManager) getSystemService(TELECOM_SERVICE);
- tm.placeCall(Uri.fromParts(PhoneAccount.SCHEME_TEL, mLastNumber, null), null);
+ tm.placeCall(Uri.fromParts(PhoneAccount.SCHEME_TEL, mLastNumber, null), extras);
} else {
if (DBG) Log.d(LOG_TAG, "rejecting bad requested number " + mLastNumber);