Add logging when "Advanced" button is clicked

Change-Id: I8259b1b863991935165afb19e34c30dcf5056acf
Fix: 35356464
Test: RunSettingsRoboTests
This commit is contained in:
Fan Zhang
2017-02-14 13:59:41 -08:00
parent b4d6b4f7f8
commit fe9f0fda35
9 changed files with 116 additions and 102 deletions

View File

@@ -181,7 +181,7 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
@Override
public ProgressiveDisclosureMixin getProgressiveDisclosureMixin(Context context,
DashboardFragment fragment) {
return new ProgressiveDisclosureMixin(context, this, fragment);
return new ProgressiveDisclosureMixin(context, this, mMetricsFeatureProvider, fragment);
}
@Override

View File

@@ -25,7 +25,10 @@ import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
import android.util.Log;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.core.instrumentation.Instrumentable;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.core.lifecycle.LifecycleObserver;
import com.android.settings.core.lifecycle.events.OnCreate;
import com.android.settings.core.lifecycle.events.OnSaveInstanceState;
@@ -45,19 +48,23 @@ public class ProgressiveDisclosureMixin implements Preference.OnPreferenceClickL
private final DashboardFeatureProvider mDashboardFeatureProvider;
// Collapsed preference sorted by order.
private final List<Preference> mCollapsedPrefs = new ArrayList<>();
private /* final */ ExpandPreference mExpandButton;
private final MetricsFeatureProvider mMetricsFeatureProvider;
private final PreferenceFragment mFragment;
private /* final */ ExpandPreference mExpandButton;
private int mTileLimit = DEFAULT_TILE_LIMIT;
private boolean mUserExpanded;
public ProgressiveDisclosureMixin(Context context,
DashboardFeatureProvider dashboardFeatureProvider, PreferenceFragment fragment) {
DashboardFeatureProvider dashboardFeatureProvider,
MetricsFeatureProvider metricsFeatureProvider,
PreferenceFragment fragment) {
mContext = context;
mFragment = fragment;
mExpandButton = new ExpandPreference(context);
mExpandButton.setOnPreferenceClickListener(this);
mDashboardFeatureProvider = dashboardFeatureProvider;
mMetricsFeatureProvider = metricsFeatureProvider;
}
@Override
@@ -83,6 +90,14 @@ public class ProgressiveDisclosureMixin implements Preference.OnPreferenceClickL
}
mCollapsedPrefs.clear();
mUserExpanded = true;
final int metricsCategory;
if (mFragment instanceof Instrumentable) {
metricsCategory = ((Instrumentable) mFragment).getMetricsCategory();
} else {
metricsCategory = MetricsProto.MetricsEvent.VIEW_UNKNOWN;
}
mMetricsFeatureProvider.actionWithSource(mContext, metricsCategory,
MetricsProto.MetricsEvent.ACTION_SETTINGS_ADVANCED_BUTTON_EXPAND);
}
}
return false;