aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/tv/guide/ProgramGuide.java31
-rw-r--r--src/com/android/tv/perf/EventNames.java6
2 files changed, 36 insertions, 1 deletions
diff --git a/src/com/android/tv/guide/ProgramGuide.java b/src/com/android/tv/guide/ProgramGuide.java
index 03b47d38..435be501 100644
--- a/src/com/android/tv/guide/ProgramGuide.java
+++ b/src/com/android/tv/guide/ProgramGuide.java
@@ -324,12 +324,43 @@ public class ProgramGuide
mGrid.setItemAlignmentOffset(0);
mGrid.setItemAlignmentOffsetPercent(ProgramGrid.ITEM_ALIGN_OFFSET_PERCENT_DISABLED);
+ mGrid.addOnScrollListener(
+ new RecyclerView.OnScrollListener() {
+ @Override
+ public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
+ if (DEBUG) {
+ Log.d(TAG, "ProgramGrid onScrollStateChanged. newState=" + newState);
+ }
+ if (newState == RecyclerView.SCROLL_STATE_SETTLING) {
+ mPerformanceMonitor.startJankRecorder(
+ EventNames.PROGRAM_GUIDE_SCROLL_VERTICALLY);
+ } else if (newState == RecyclerView.SCROLL_STATE_IDLE) {
+ mPerformanceMonitor.stopJankRecorder(
+ EventNames.PROGRAM_GUIDE_SCROLL_VERTICALLY);
+ }
+ }
+ }
+ );
+
RecyclerView.OnScrollListener onScrollListener =
new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
onHorizontalScrolled(dx);
}
+ @Override
+ public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
+ if (DEBUG) {
+ Log.d(TAG, "TimelineRow onScrollStateChanged. newState=" + newState);
+ }
+ if (newState == RecyclerView.SCROLL_STATE_SETTLING) {
+ mPerformanceMonitor.startJankRecorder(
+ EventNames.PROGRAM_GUIDE_SCROLL_HORIZONTALLY);
+ } else if (newState == RecyclerView.SCROLL_STATE_IDLE) {
+ mPerformanceMonitor.stopJankRecorder(
+ EventNames.PROGRAM_GUIDE_SCROLL_HORIZONTALLY);
+ }
+ }
};
mTimelineRow.addOnScrollListener(onScrollListener);
diff --git a/src/com/android/tv/perf/EventNames.java b/src/com/android/tv/perf/EventNames.java
index 2189be99..0b0b0cd6 100644
--- a/src/com/android/tv/perf/EventNames.java
+++ b/src/com/android/tv/perf/EventNames.java
@@ -32,7 +32,8 @@ public final class EventNames {
@Retention(SOURCE)
@StringDef({FETCH_EPG_TASK, ON_DEVICE_SEARCH, PROGRAM_GUIDE_SHOW,
PROGRAM_DATA_MANAGER_PROGRAMS_PREFETCH_TASK_DO_IN_BACKGROUND,
- PROGRAM_GUIDE_SHOW_FROM_EMPTY_CACHE})
+ PROGRAM_GUIDE_SHOW_FROM_EMPTY_CACHE, PROGRAM_GUIDE_SCROLL_HORIZONTALLY,
+ PROGRAM_GUIDE_SCROLL_VERTICALLY})
public @interface EventName {}
public static final String FETCH_EPG_TASK = "FetchEpgTask";
@@ -46,6 +47,9 @@ public final class EventNames {
"ProgramDataManager.ProgramsPrefetchTask.doInBackground";
public static final String PROGRAM_GUIDE_SHOW_FROM_EMPTY_CACHE =
"ProgramGuide.show.fromEmptyCache";
+ public static final String PROGRAM_GUIDE_SCROLL_HORIZONTALLY =
+ "ProgramGuide.scroll.horizontally";
+ public static final String PROGRAM_GUIDE_SCROLL_VERTICALLY = "ProgramGuide.scroll.vertically";
private EventNames() {}
}