Log smart settings suggestion enabled/disabled state for A/B experiments

Test: RunSettingsRoboTests
Bug: 64121058

Change-Id: Iadfa575b9a21caecb515b9975d388ee0d0480c11
This commit is contained in:
Soroosh Mariooryad
2017-08-11 00:04:37 -07:00
parent e50d119d90
commit 5ba0f51bcd
7 changed files with 272 additions and 86 deletions

View File

@@ -30,6 +30,7 @@ import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.Log;
import android.util.Pair;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -47,6 +48,7 @@ import com.android.settings.dashboard.conditional.ConditionAdapter;
import com.android.settings.dashboard.suggestions.SuggestionAdapter;
import com.android.settings.dashboard.suggestions.SuggestionDismissController;
import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
import com.android.settings.dashboard.suggestions.SuggestionLogHelper;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.Utils;
import com.android.settingslib.drawer.DashboardCategory;
@@ -159,7 +161,8 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
final String identifier = mSuggestionFeatureProvider.getSuggestionIdentifier(
mContext, suggestion);
mMetricsFeatureProvider.action(
mContext, MetricsEvent.ACTION_SHOW_SETTINGS_SUGGESTION, identifier);
mContext, MetricsEvent.ACTION_SHOW_SETTINGS_SUGGESTION, identifier,
getSuggestionTaggedData());
mSuggestionsShownLogged.add(identifier);
}
}
@@ -289,7 +292,8 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
mContext, suggestion);
if (mSuggestionsShownLogged.contains(suggestionId)) {
mMetricsFeatureProvider.action(
mContext, MetricsEvent.ACTION_HIDE_SETTINGS_SUGGESTION, suggestionId);
mContext, MetricsEvent.ACTION_HIDE_SETTINGS_SUGGESTION, suggestionId,
getSuggestionTaggedData());
}
}
mSuggestionsShownLogged.clear();
@@ -325,8 +329,8 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
mContext, suggestion);
if (!mSuggestionsShownLogged.contains(suggestionId)) {
mMetricsFeatureProvider.action(
mContext, MetricsEvent.ACTION_SHOW_SETTINGS_SUGGESTION,
suggestionId);
mContext, MetricsEvent.ACTION_SHOW_SETTINGS_SUGGESTION, suggestionId,
getSuggestionTaggedData());
mSuggestionsShownLogged.add(suggestionId);
}
}
@@ -507,6 +511,11 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
parent.setVisibility(View.VISIBLE);
}
private Pair<Integer, Object>[] getSuggestionTaggedData() {
return SuggestionLogHelper.getSuggestionTaggedData(
mSuggestionFeatureProvider.isSmartSuggestionEnabled(mContext));
}
public static class IconCache {
private final Context mContext;
private final ArrayMap<Icon, Drawable> mMap = new ArrayMap<>();