diff options
author | Sailesh Nepal <sail@google.com> | 2016-04-14 20:38:40 -0700 |
---|---|---|
committer | Sailesh Nepal <sail@google.com> | 2016-04-29 15:50:16 -0700 |
commit | c76ca765c3ee306ed2ccdc0a71e79e1dcc028715 (patch) | |
tree | 104758ec1cb087e1c75f8f6bb52d858d1c7481e4 /InCallUI/tests/src/com/android/incallui | |
parent | 8f9164c4072f680b68e7abe0c433300d032d66f4 (diff) |
Add LatencyReport for every call
[This is a manual cherry pick from ub-contactsdialer-b-dev.]
This CL tracks latency for all incoming and outgoing calls. We now
measure the following latency values:
- time for a connection service to add a call to telecom.
- time for telecom to process a call
- time for the dialer app to launch and have a call added to it by telecom.
- time for dialer to check if a call should be blocked.
- time to show a notification about the call (incoming only)
- time it took to show the InCallUI (only if HUN wasn't displayed)
Change-Id: I08685d312cbaefc564feb4119350da71df9b9e6c
Diffstat (limited to 'InCallUI/tests/src/com/android/incallui')
-rw-r--r-- | InCallUI/tests/src/com/android/incallui/LatencyReportTest.java | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/InCallUI/tests/src/com/android/incallui/LatencyReportTest.java b/InCallUI/tests/src/com/android/incallui/LatencyReportTest.java new file mode 100644 index 000000000..9d8a5131b --- /dev/null +++ b/InCallUI/tests/src/com/android/incallui/LatencyReportTest.java @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package com.android.incallui; + +import static com.android.incallui.LatencyReport.INVALID_TIME; + +import android.os.Bundle; +import android.telecom.Connection; +import android.test.AndroidTestCase; +import android.test.suitebuilder.annotation.SmallTest; + +import java.util.ArrayList; +import java.util.Arrays; + +public class LatencyReportTest extends AndroidTestCase { + public void testEmptyInit() { + LatencyReport report = new LatencyReport(); + assertEquals(INVALID_TIME, report.getCreatedTimeMillis()); + assertEquals(INVALID_TIME, report.getTelecomRoutingStartTimeMillis()); + assertEquals(INVALID_TIME, report.getTelecomRoutingEndTimeMillis()); + assertTrue(report.getCallAddedTimeMillis() > 0); + } + + public void testCallBlocking() { + LatencyReport report = new LatencyReport(); + assertEquals(INVALID_TIME, report.getCallBlockingTimeMillis()); + report.onCallBlockingDone(); + assertTrue(report.getCallBlockingTimeMillis() > 0); + } + + public void testNotificationShown() { + LatencyReport report = new LatencyReport(); + assertEquals(INVALID_TIME, report.getCallNotificationTimeMillis()); + report.onNotificationShown(); + assertTrue(report.getCallNotificationTimeMillis() > 0); + } + + public void testInCallUiShown() { + LatencyReport report = new LatencyReport(); + assertEquals(INVALID_TIME, report.getInCallUiShownTimeMillis()); + report.onInCallUiShown(false); + assertTrue(report.getInCallUiShownTimeMillis() > 0); + assertFalse(report.getDidDisplayHeadsUpNotification()); + } +} |