Loading src/com/android/settings/dashboard/DashboardAdapter.java +35 −26 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -172,7 +174,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); } } Loading Loading @@ -302,7 +305,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(); Loading Loading @@ -338,8 +342,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); } } Loading Loading @@ -526,6 +530,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<>(); Loading src/com/android/settings/dashboard/suggestions/SuggestionAdapter.java +14 −4 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.settings.dashboard.suggestions; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.text.TextUtils; import android.util.Pair; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; Loading Loading @@ -71,7 +72,8 @@ public class SuggestionAdapter extends RecyclerView.Adapter<DashboardItemHolder> // This is for cases when a suggestion is dismissed and the next one comes to view if (!mSuggestionsShownLogged.contains(suggestionId)) { mMetricsFeatureProvider.action( mContext, MetricsEvent.ACTION_SHOW_SETTINGS_SUGGESTION, suggestionId); mContext, MetricsEvent.ACTION_SHOW_SETTINGS_SUGGESTION, suggestionId, getSuggestionTaggedData()); mSuggestionsShownLogged.add(suggestionId); } if (suggestion.remoteViews != null) { Loading Loading @@ -102,9 +104,11 @@ public class SuggestionAdapter extends RecyclerView.Adapter<DashboardItemHolder> // set the item view to disabled to remove any touch effects holder.itemView.setEnabled(false); } clickHandler.setOnClickListener(v -> { mMetricsFeatureProvider.action(mContext, MetricsEvent.ACTION_SETTINGS_SUGGESTION, suggestionId); MetricsEvent.ACTION_SETTINGS_SUGGESTION, suggestionId, getSuggestionTaggedData()); ((SettingsActivity) mContext).startSuggestion(suggestion.intent); }); } Loading Loading @@ -141,4 +145,10 @@ public class SuggestionAdapter extends RecyclerView.Adapter<DashboardItemHolder> mSuggestions.remove(suggestion); notifyDataSetChanged(); } private Pair<Integer, Object>[] getSuggestionTaggedData() { return SuggestionLogHelper.getSuggestionTaggedData( mSuggestionFeatureProvider.isSmartSuggestionEnabled(mContext)); } } src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java +9 −4 Original line number Diff line number Diff line Loading @@ -26,8 +26,9 @@ import android.provider.Settings.Secure; import android.support.annotation.NonNull; import android.support.annotation.VisibleForTesting; import android.util.Log; import android.util.Pair; import com.android.internal.logging.nano.MetricsProto; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.Settings.AmbientDisplayPickupSuggestionActivity; import com.android.settings.Settings.AmbientDisplaySuggestionActivity; import com.android.settings.Settings.DoubleTapPowerSuggestionActivity; Loading @@ -45,6 +46,7 @@ import com.android.settings.support.NewDeviceIntroSuggestionActivity; import com.android.settingslib.drawer.Tile; import com.android.settingslib.suggestions.SuggestionParser; import java.util.ArrayList; import java.util.List; public class SuggestionFeatureProviderImpl implements SuggestionFeatureProvider { Loading Loading @@ -130,10 +132,13 @@ public class SuggestionFeatureProviderImpl implements SuggestionFeatureProvider if (parser == null || suggestion == null || context == null) { return; } mMetricsFeatureProvider.action( context, MetricsProto.MetricsEvent.ACTION_SETTINGS_DISMISS_SUGGESTION, getSuggestionIdentifier(context, suggestion)); final Pair<Integer, Object>[] taggedData = SuggestionLogHelper.getSuggestionTaggedData(isSmartSuggestionEnabled(context)); mMetricsFeatureProvider.action( context, MetricsEvent.ACTION_SETTINGS_DISMISS_SUGGESTION, getSuggestionIdentifier(context, suggestion), taggedData); if (!parser.dismissSuggestion(suggestion)) { return; } Loading src/com/android/settings/dashboard/suggestions/SuggestionLogHelper.java 0 → 100644 +29 −0 Original line number Diff line number Diff line /* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.dashboard.suggestions; import android.util.Pair; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; public class SuggestionLogHelper { public static Pair<Integer, Object>[] getSuggestionTaggedData(boolean enabled) { return new Pair[]{ Pair.create( MetricsEvent.FIELD_SETTINGS_SMART_SUGGESTIONS_ENABLED, enabled ? 1 : 0)}; } } Loading
src/com/android/settings/dashboard/DashboardAdapter.java +35 −26 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -172,7 +174,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); } } Loading Loading @@ -302,7 +305,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(); Loading Loading @@ -338,8 +342,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); } } Loading Loading @@ -526,6 +530,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<>(); Loading
src/com/android/settings/dashboard/suggestions/SuggestionAdapter.java +14 −4 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.settings.dashboard.suggestions; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.text.TextUtils; import android.util.Pair; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; Loading Loading @@ -71,7 +72,8 @@ public class SuggestionAdapter extends RecyclerView.Adapter<DashboardItemHolder> // This is for cases when a suggestion is dismissed and the next one comes to view if (!mSuggestionsShownLogged.contains(suggestionId)) { mMetricsFeatureProvider.action( mContext, MetricsEvent.ACTION_SHOW_SETTINGS_SUGGESTION, suggestionId); mContext, MetricsEvent.ACTION_SHOW_SETTINGS_SUGGESTION, suggestionId, getSuggestionTaggedData()); mSuggestionsShownLogged.add(suggestionId); } if (suggestion.remoteViews != null) { Loading Loading @@ -102,9 +104,11 @@ public class SuggestionAdapter extends RecyclerView.Adapter<DashboardItemHolder> // set the item view to disabled to remove any touch effects holder.itemView.setEnabled(false); } clickHandler.setOnClickListener(v -> { mMetricsFeatureProvider.action(mContext, MetricsEvent.ACTION_SETTINGS_SUGGESTION, suggestionId); MetricsEvent.ACTION_SETTINGS_SUGGESTION, suggestionId, getSuggestionTaggedData()); ((SettingsActivity) mContext).startSuggestion(suggestion.intent); }); } Loading Loading @@ -141,4 +145,10 @@ public class SuggestionAdapter extends RecyclerView.Adapter<DashboardItemHolder> mSuggestions.remove(suggestion); notifyDataSetChanged(); } private Pair<Integer, Object>[] getSuggestionTaggedData() { return SuggestionLogHelper.getSuggestionTaggedData( mSuggestionFeatureProvider.isSmartSuggestionEnabled(mContext)); } }
src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java +9 −4 Original line number Diff line number Diff line Loading @@ -26,8 +26,9 @@ import android.provider.Settings.Secure; import android.support.annotation.NonNull; import android.support.annotation.VisibleForTesting; import android.util.Log; import android.util.Pair; import com.android.internal.logging.nano.MetricsProto; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.Settings.AmbientDisplayPickupSuggestionActivity; import com.android.settings.Settings.AmbientDisplaySuggestionActivity; import com.android.settings.Settings.DoubleTapPowerSuggestionActivity; Loading @@ -45,6 +46,7 @@ import com.android.settings.support.NewDeviceIntroSuggestionActivity; import com.android.settingslib.drawer.Tile; import com.android.settingslib.suggestions.SuggestionParser; import java.util.ArrayList; import java.util.List; public class SuggestionFeatureProviderImpl implements SuggestionFeatureProvider { Loading Loading @@ -130,10 +132,13 @@ public class SuggestionFeatureProviderImpl implements SuggestionFeatureProvider if (parser == null || suggestion == null || context == null) { return; } mMetricsFeatureProvider.action( context, MetricsProto.MetricsEvent.ACTION_SETTINGS_DISMISS_SUGGESTION, getSuggestionIdentifier(context, suggestion)); final Pair<Integer, Object>[] taggedData = SuggestionLogHelper.getSuggestionTaggedData(isSmartSuggestionEnabled(context)); mMetricsFeatureProvider.action( context, MetricsEvent.ACTION_SETTINGS_DISMISS_SUGGESTION, getSuggestionIdentifier(context, suggestion), taggedData); if (!parser.dismissSuggestion(suggestion)) { return; } Loading
src/com/android/settings/dashboard/suggestions/SuggestionLogHelper.java 0 → 100644 +29 −0 Original line number Diff line number Diff line /* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.dashboard.suggestions; import android.util.Pair; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; public class SuggestionLogHelper { public static Pair<Integer, Object>[] getSuggestionTaggedData(boolean enabled) { return new Pair[]{ Pair.create( MetricsEvent.FIELD_SETTINGS_SMART_SUGGESTIONS_ENABLED, enabled ? 1 : 0)}; } }