From e5e82400ac8b3b6b9a78ca91d21ea37c4e982b04 Mon Sep 17 00:00:00 2001 From: Sunny Shao Date: Wed, 27 Nov 2019 18:55:16 +0800 Subject: [PATCH] Add page creation latency for updatePreferenceStates - The updatePreferenceStates is called in the onResume. Here creates a new enum to record the elapsed time. Bug: 137558156 Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.dashboard Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.core Change-Id: I02bdbeecd61fbc0082eea19ea64cbfe7541a6970 --- .../settings/core/InstrumentedPreferenceFragment.java | 4 ++++ src/com/android/settings/dashboard/DashboardFragment.java | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/core/InstrumentedPreferenceFragment.java b/src/com/android/settings/core/InstrumentedPreferenceFragment.java index 8b592812ebc..31ac11f0d19 100644 --- a/src/com/android/settings/core/InstrumentedPreferenceFragment.java +++ b/src/com/android/settings/core/InstrumentedPreferenceFragment.java @@ -98,6 +98,10 @@ public abstract class InstrumentedPreferenceFragment extends ObservablePreferenc return -1; } + protected void writeElapsedTimeMetric(int action, String key) { + mVisibilityLoggerMixin.writeElapsedTimeMetric(action, key); + } + private void updateActivityTitleWithScreenTitle(PreferenceScreen screen) { if (screen != null) { final CharSequence title = screen.getTitle(); diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java index f51b5cfab82..92c23b9c61f 100644 --- a/src/com/android/settings/dashboard/DashboardFragment.java +++ b/src/com/android/settings/dashboard/DashboardFragment.java @@ -73,13 +73,12 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment new ArrayMap<>(); private final List mRegisteredObservers = new ArrayList<>(); private final List mControllers = new ArrayList<>(); - + @VisibleForTesting + UiBlockerController mBlockerController; private DashboardFeatureProvider mDashboardFeatureProvider; private DashboardTilePlaceholderPreferenceController mPlaceholderPreferenceController; private boolean mListeningToCategoryChange; private List mSuppressInjectedTileKeys; - @VisibleForTesting - UiBlockerController mBlockerController; @Override public void onAttach(Context context) { @@ -195,6 +194,8 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment public void onResume() { super.onResume(); updatePreferenceStates(); + writeElapsedTimeMetric(SettingsEnums.ACTION_DASHBOARD_VISIBLE_TIME, + "isParalleledControllers:" + isParalleledControllers()); } @Override