summaryrefslogtreecommitdiffstats
path: root/java/com/android/dialer/callintent
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/callintent')
-rw-r--r--java/com/android/dialer/callintent/CallIntentBuilder.java16
-rw-r--r--java/com/android/dialer/callintent/call_specific_app_data.proto10
-rw-r--r--java/com/android/dialer/callintent/speed_dial_contact_type.proto4
3 files changed, 28 insertions, 2 deletions
diff --git a/java/com/android/dialer/callintent/CallIntentBuilder.java b/java/com/android/dialer/callintent/CallIntentBuilder.java
index 6066f6654..c9468baa6 100644
--- a/java/com/android/dialer/callintent/CallIntentBuilder.java
+++ b/java/com/android/dialer/callintent/CallIntentBuilder.java
@@ -27,6 +27,7 @@ import android.telecom.TelecomManager;
import android.telecom.VideoProfile;
import android.text.TextUtils;
import com.android.dialer.common.Assert;
+import com.android.dialer.performancereport.PerformanceReport;
import com.android.dialer.util.CallUtil;
/** Creates an intent to start a new outgoing call. */
@@ -39,9 +40,22 @@ public class CallIntentBuilder {
public CallIntentBuilder(@NonNull Uri uri, @NonNull CallSpecificAppData callSpecificAppData) {
this.uri = Assert.isNotNull(uri);
- this.callSpecificAppData = Assert.isNotNull(callSpecificAppData);
+ Assert.isNotNull(callSpecificAppData);
Assert.checkArgument(
callSpecificAppData.getCallInitiationType() != CallInitiationType.Type.UNKNOWN_INITIATION);
+
+ if (PerformanceReport.isRecording()) {
+ this.callSpecificAppData =
+ CallSpecificAppData.newBuilder(callSpecificAppData)
+ .setTimeSinceAppLaunch(PerformanceReport.getTimeSinceAppLaunch())
+ .setTimeSinceFirstClick(PerformanceReport.getTimeSinceFirstClick())
+ .addAllUiActionsSinceAppLaunch(PerformanceReport.getActions())
+ .addAllUiActionTimestampsSinceAppLaunch(PerformanceReport.getActionTimestamps())
+ .build();
+ PerformanceReport.stopRecording();
+ } else {
+ this.callSpecificAppData = callSpecificAppData;
+ }
}
public CallIntentBuilder(@NonNull Uri uri, CallInitiationType.Type callInitiationType) {
diff --git a/java/com/android/dialer/callintent/call_specific_app_data.proto b/java/com/android/dialer/callintent/call_specific_app_data.proto
index c62006dfc..766449f71 100644
--- a/java/com/android/dialer/callintent/call_specific_app_data.proto
+++ b/java/com/android/dialer/callintent/call_specific_app_data.proto
@@ -8,10 +8,12 @@ package com.android.dialer.callintent;
import "java/com/android/dialer/callintent/call_initiation_type.proto";
import "java/com/android/dialer/callintent/speed_dial_contact_type.proto";
+import "java/com/android/dialer/logging/ui_action.proto";
// Miscellaneous data that's included in a new outgoing call initiated by
// Dialer. The system will pass this data to the InCallUi which can use it
// for logging or for something else.
+// Next tag: 10
message CallSpecificAppData {
optional CallInitiationType.Type call_initiation_type = 1;
@@ -21,4 +23,12 @@ message CallSpecificAppData {
repeated SpeedDialContactType.Type speed_dial_contact_type = 4;
optional int32 speed_dial_contact_position = 5;
+
+ optional int64 time_since_app_launch = 6;
+ optional int64 time_since_first_click = 7;
+ // The following two list should be of the same length
+ // (adding another message is not allowed here)
+ repeated com.android.dialer.logging.UiAction.Type
+ ui_actions_since_app_launch = 8;
+ repeated int64 ui_action_timestamps_since_app_launch = 9;
}
diff --git a/java/com/android/dialer/callintent/speed_dial_contact_type.proto b/java/com/android/dialer/callintent/speed_dial_contact_type.proto
index d352f458b..bf34d095a 100644
--- a/java/com/android/dialer/callintent/speed_dial_contact_type.proto
+++ b/java/com/android/dialer/callintent/speed_dial_contact_type.proto
@@ -2,9 +2,10 @@ syntax = "proto2";
option java_package = "com.android.dialer.callintent";
option java_multiple_files = true;
+option optimize_for = LITE_RUNTIME;
package com.android.dialer.callintent;
-option optimize_for = LITE_RUNTIME;
+
// The type of speed call contact (favorites). Applies to initiation type
// SPEED_DIAL only.
@@ -16,3 +17,4 @@ message SpeedDialContactType {
FREQUENT_CONTACT = 3;
}
}
+