Support click metrics logs in several pages
- Assign metrics category to perferences at an earlier stage in DashboardFragment for better usability. Bug: 137559984 Test: robotest Change-Id: Icd4185efa0e655be20c4b673a1380fa42140923f
This commit is contained in:
@@ -17,11 +17,14 @@
|
||||
package com.android.settings.location;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.widget.RestrictedAppPreference;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settingslib.location.InjectedSetting;
|
||||
import com.android.settingslib.location.SettingsInjector;
|
||||
import com.android.settingslib.widget.apppreference.AppPreference;
|
||||
@@ -31,8 +34,13 @@ import com.android.settingslib.widget.apppreference.AppPreference;
|
||||
*/
|
||||
public class AppSettingsInjector extends SettingsInjector {
|
||||
|
||||
public AppSettingsInjector(Context context) {
|
||||
private final MetricsFeatureProvider mMetricsFeatureProvider;
|
||||
private final int mMetricsCategory;
|
||||
|
||||
public AppSettingsInjector(Context context, int metricsCategory) {
|
||||
super(context);
|
||||
mMetricsCategory = metricsCategory;
|
||||
mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -41,4 +49,9 @@ public class AppSettingsInjector extends SettingsInjector {
|
||||
? new AppPreference(prefContext)
|
||||
: new RestrictedAppPreference(prefContext, setting.userRestriction);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void logPreferenceClick(Intent intent) {
|
||||
mMetricsFeatureProvider.logStartedIntent(intent, mMetricsCategory);
|
||||
}
|
||||
}
|
||||
|
@@ -58,7 +58,7 @@ public class LocationServicePreferenceController extends LocationBasePreferenceC
|
||||
@Override
|
||||
public void init(DashboardFragment fragment) {
|
||||
super.init(fragment);
|
||||
mInjector = new AppSettingsInjector(mContext);
|
||||
mInjector = new AppSettingsInjector(mContext, getMetricsCategory());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user