From 94df7203674f12ff90d768467a307ed01601565d Mon Sep 17 00:00:00 2001 From: weijiaxu Date: Wed, 25 Oct 2017 18:21:41 -0700 Subject: App latency test migration. Migrate the existing app latency test to a new solution from Project Fi team. The main change on this new solution is that the data collection part is done by Primes now. Also, a few changes has been made on DialerPrimes class and a new Dialer variant dialer_release_test has been created. The benefits of using primes to collect data are: 1. latency tests dont need to insert lines of code to track latency in dialer codebase 2. be able to collect data on any variants with or without Proguard 3. latency tests now only contain ui interaction to trigger scenarios on which we want add measurements 4. share the same logic with primes on production so that data from testbeds and normal users are comparable. 5. easier for anyone to add interesting data entries. ----------Mobile Harness Below----------------------------------- RELNOTES[INC]:Add entries for dialer to use mobileharness plugin. Test: No PiperOrigin-RevId: 173481741 Change-Id: Ia6812794141382898bea4b34bca90278c5663464 --- java/com/android/incallui/InCallActivity.java | 10 ++++++++++ java/com/android/incallui/call/CallList.java | 13 +++++++++++++ 2 files changed, 23 insertions(+) (limited to 'java/com/android/incallui') diff --git a/java/com/android/incallui/InCallActivity.java b/java/com/android/incallui/InCallActivity.java index c3a68c021..c509e4890 100644 --- a/java/com/android/incallui/InCallActivity.java +++ b/java/com/android/incallui/InCallActivity.java @@ -40,6 +40,8 @@ import com.android.dialer.compat.ActivityCompat; import com.android.dialer.configprovider.ConfigProviderBindings; import com.android.dialer.logging.DialerImpression; import com.android.dialer.logging.Logger; +import com.android.dialer.logging.LoggingBindings; +import com.android.dialer.logging.LoggingBindingsFactory; import com.android.dialer.logging.ScreenEvent; import com.android.incallui.answer.bindings.AnswerBindings; import com.android.incallui.answer.protocol.AnswerScreen; @@ -145,6 +147,14 @@ public class InCallActivity extends TransactionSafeFragmentActivity pseudoBlackScreenOverlay = findViewById(R.id.psuedo_black_screen_overlay); sendBroadcast(CallPendingActivity.getFinishBroadcast()); Trace.endSection(); + if (getApplicationContext() instanceof LoggingBindingsFactory) { + LoggingBindings loggingBindings = + ((LoggingBindingsFactory) getApplicationContext()).newLoggingBindings(); + loggingBindings.logStopLatencyTimer( + LoggingBindings.ON_CALL_ADDED_TO_ON_INCALL_UI_SHOWN_INCOMING); + loggingBindings.logStopLatencyTimer( + LoggingBindings.ON_CALL_ADDED_TO_ON_INCALL_UI_SHOWN_OUTGOING); + } } @Override diff --git a/java/com/android/incallui/call/CallList.java b/java/com/android/incallui/call/CallList.java index 59f38349a..4f1dfd43f 100644 --- a/java/com/android/incallui/call/CallList.java +++ b/java/com/android/incallui/call/CallList.java @@ -36,6 +36,8 @@ import com.android.dialer.enrichedcall.EnrichedCallComponent; import com.android.dialer.enrichedcall.EnrichedCallManager; import com.android.dialer.logging.DialerImpression; import com.android.dialer.logging.Logger; +import com.android.dialer.logging.LoggingBindings; +import com.android.dialer.logging.LoggingBindingsFactory; import com.android.dialer.shortcuts.ShortcutUsageReporter; import com.android.dialer.spam.Spam; import com.android.dialer.spam.SpamBindings; @@ -117,6 +119,17 @@ public class CallList implements DialerCallDelegate { public void onCallAdded( final Context context, final android.telecom.Call telecomCall, LatencyReport latencyReport) { Trace.beginSection("CallList.onCallAdded"); + if (context.getApplicationContext() instanceof LoggingBindingsFactory) { + if (telecomCall.getState() == Call.STATE_CONNECTING) { + ((LoggingBindingsFactory) context.getApplicationContext()) + .newLoggingBindings() + .logStartLatencyTimer(LoggingBindings.ON_CALL_ADDED_TO_ON_INCALL_UI_SHOWN_OUTGOING); + } else if (telecomCall.getState() == Call.STATE_RINGING) { + ((LoggingBindingsFactory) context.getApplicationContext()) + .newLoggingBindings() + .logStartLatencyTimer(LoggingBindings.ON_CALL_ADDED_TO_ON_INCALL_UI_SHOWN_INCOMING); + } + } if (mUiListeners != null) { mUiListeners.onCallAdded(); } -- cgit v1.2.3