[Settings] Add preference click metric log

- Move the log point of onPreferenceTreeClick from DashboardFragment to
  it's super class InstrumentedPreferenceFragment for better coverage.
- Write the preference click metric log in PreferenceController handling
  case in DashboardFragment which will skip super class's log point.

Bug: 137559984
Test: robotest
Change-Id: I67178f613c74f755e20fc9dc41319974cb02e83c
This commit is contained in:
Jason Chiu
2019-12-12 17:31:28 +08:00
parent e7e4dd905a
commit 1281e595e4
4 changed files with 18 additions and 12 deletions

View File

@@ -87,6 +87,12 @@ public abstract class InstrumentedPreferenceFragment extends ObservablePreferenc
return super.findPreference(key);
}
@Override
public boolean onPreferenceTreeClick(Preference preference) {
writePreferenceClickMetric(preference);
return super.onPreferenceTreeClick(preference);
}
protected final Context getPrefContext() {
return getPreferenceManager().getContext();
}
@@ -102,6 +108,10 @@ public abstract class InstrumentedPreferenceFragment extends ObservablePreferenc
mVisibilityLoggerMixin.writeElapsedTimeMetric(action, key);
}
protected void writePreferenceClickMetric(Preference preference) {
mMetricsFeatureProvider.logClickedPreference(preference, getMetricsCategory());
}
private void updateActivityTitleWithScreenTitle(PreferenceScreen screen) {
if (screen != null) {
final CharSequence title = screen.getTitle();