diff options
Diffstat (limited to 'java/com/android/dialer/callintent')
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; } } + |