Merge changes from topic 'SettingsMetrics' into nyc-dev
* changes: Add metrics for suggestions Add metrics for settings conditionals
This commit is contained in:
@@ -28,6 +28,8 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.internal.util.ArrayUtils;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
@@ -223,6 +225,8 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
|
||||
holder.itemView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_SETTINGS_SUGGESTION,
|
||||
DashboardAdapter.getSuggestionIdentifier(mContext, suggestion));
|
||||
((SettingsActivity) mContext).startSuggestion(suggestion.intent);
|
||||
}
|
||||
});
|
||||
@@ -257,6 +261,8 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
|
||||
new MenuItem.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem item) {
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_SETTINGS_DISMISS_SUGGESTION,
|
||||
DashboardAdapter.getSuggestionIdentifier(mContext, suggestion));
|
||||
disableSuggestion(suggestion);
|
||||
mSuggestions.remove(suggestion);
|
||||
recountItems();
|
||||
@@ -343,18 +349,26 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (v.getTag() == mExpandedCondition) {
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_SETTINGS_CONDITION_CLICK,
|
||||
mExpandedCondition.getMetricsConstant());
|
||||
mExpandedCondition.onPrimaryClick();
|
||||
} else {
|
||||
mExpandedCondition = (Condition) v.getTag();
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_SETTINGS_CONDITION_EXPAND,
|
||||
mExpandedCondition.getMetricsConstant());
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public void onExpandClick(View v) {
|
||||
if (v.getTag() == mExpandedCondition) {
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_SETTINGS_CONDITION_COLLAPSE,
|
||||
mExpandedCondition.getMetricsConstant());
|
||||
mExpandedCondition = null;
|
||||
} else {
|
||||
mExpandedCondition = (Condition) v.getTag();
|
||||
MetricsLogger.action(mContext, MetricsEvent.ACTION_SETTINGS_CONDITION_EXPAND,
|
||||
mExpandedCondition.getMetricsConstant());
|
||||
}
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
@@ -368,6 +382,16 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
|
||||
return null;
|
||||
}
|
||||
|
||||
public static String getSuggestionIdentifier(Context context, Tile suggestion) {
|
||||
String packageName = suggestion.intent.getComponent().getPackageName();
|
||||
if (packageName.equals(context.getPackageName())) {
|
||||
// Since Settings provides several suggestions, fill in the class instead of the
|
||||
// package for these.
|
||||
packageName = suggestion.intent.getComponent().getClassName();
|
||||
}
|
||||
return packageName;
|
||||
}
|
||||
|
||||
public static class DashboardItemHolder extends RecyclerView.ViewHolder {
|
||||
public final ImageView icon;
|
||||
public final TextView title;
|
||||
|
@@ -25,18 +25,21 @@ import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.HelpUtils;
|
||||
import com.android.settings.InstrumentedFragment;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Settings;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.dashboard.conditional.Condition;
|
||||
import com.android.settings.dashboard.conditional.ConditionAdapterUtils;
|
||||
import com.android.settings.dashboard.conditional.ConditionManager;
|
||||
import com.android.settings.dashboard.conditional.FocusRecyclerView;
|
||||
import com.android.settingslib.SuggestionParser;
|
||||
import com.android.settingslib.drawer.DashboardCategory;
|
||||
import com.android.settingslib.drawer.SettingsDrawerActivity;
|
||||
import com.android.settingslib.drawer.Tile;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -109,7 +112,13 @@ public class DashboardSummary extends InstrumentedFragment
|
||||
|
||||
((SettingsDrawerActivity) getActivity()).addCategoryListener(this);
|
||||
mSummaryLoader.setListening(true);
|
||||
Log.d(TAG, "onResume");
|
||||
for (Condition c : mConditionManager.getVisibleConditions()) {
|
||||
MetricsLogger.visible(getContext(), c.getMetricsConstant());
|
||||
}
|
||||
for (Tile suggestion : mSuggestionParser.getSuggestions()) {
|
||||
MetricsLogger.action(getContext(), MetricsEvent.ACTION_SHOW_SETTINGS_SUGGESTION,
|
||||
DashboardAdapter.getSuggestionIdentifier(getContext(), suggestion));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -118,6 +127,13 @@ public class DashboardSummary extends InstrumentedFragment
|
||||
|
||||
((SettingsDrawerActivity) getActivity()).remCategoryListener(this);
|
||||
mSummaryLoader.setListening(false);
|
||||
for (Condition c : mConditionManager.getVisibleConditions()) {
|
||||
MetricsLogger.hidden(getContext(), c.getMetricsConstant());
|
||||
}
|
||||
for (Tile suggestion : mSuggestionParser.getSuggestions()) {
|
||||
MetricsLogger.action(getContext(), MetricsEvent.ACTION_HIDE_SETTINGS_SUGGESTION,
|
||||
DashboardAdapter.getSuggestionIdentifier(getContext(), suggestion));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -20,6 +20,7 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.drawable.Icon;
|
||||
import android.net.ConnectivityManager;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Settings;
|
||||
import com.android.settingslib.WirelessUtils;
|
||||
@@ -76,6 +77,11 @@ public class AirplaneModeCondition extends Condition {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsConstant() {
|
||||
return MetricsEvent.SETTINGS_CONDITION_AIRPLANE_MODE;
|
||||
}
|
||||
|
||||
public static class Receiver extends BroadcastReceiver {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
|
@@ -18,6 +18,7 @@ package com.android.settings.dashboard.conditional;
|
||||
import android.content.Intent;
|
||||
import android.graphics.drawable.Icon;
|
||||
import android.net.NetworkPolicyManager;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Settings;
|
||||
|
||||
@@ -58,6 +59,11 @@ public class BackgroundDataCondition extends Condition {
|
||||
Settings.DataUsageSummaryActivity.class));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsConstant() {
|
||||
return MetricsEvent.SETTINGS_CONDITION_BACKGROUND_DATA;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActionClick(int index) {
|
||||
if (index == 0) {
|
||||
|
@@ -17,6 +17,7 @@ package com.android.settings.dashboard.conditional;
|
||||
|
||||
import android.graphics.drawable.Icon;
|
||||
import android.os.PowerManager;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.fuelgauge.BatterySaverSettings;
|
||||
@@ -67,4 +68,9 @@ public class BatterySaverCondition extends Condition {
|
||||
throw new IllegalArgumentException("Unexpected index " + index);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsConstant() {
|
||||
return MetricsEvent.SETTINGS_CONDITION_BATTERY_SAVER;
|
||||
}
|
||||
}
|
||||
|
@@ -16,6 +16,7 @@ import android.content.Intent;
|
||||
import android.graphics.drawable.Icon;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.telephony.TelephonyManager;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.internal.telephony.TelephonyIntents;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Settings;
|
||||
@@ -82,6 +83,11 @@ public class CellularDataCondition extends Condition {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsConstant() {
|
||||
return MetricsEvent.SETTINGS_CONDITION_CELLULAR_DATA;
|
||||
}
|
||||
|
||||
public static class Receiver extends BroadcastReceiver {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
|
@@ -20,6 +20,8 @@ import android.content.ComponentName;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.graphics.drawable.Icon;
|
||||
import android.os.PersistableBundle;
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
|
||||
public abstract class Condition {
|
||||
|
||||
@@ -77,6 +79,8 @@ public abstract class Condition {
|
||||
public void silence() {
|
||||
if (!mIsSilenced) {
|
||||
mIsSilenced = true;
|
||||
MetricsLogger.action(mManager.getContext(),
|
||||
MetricsEvent.ACTION_SETTINGS_CONDITION_DISMISS, getMetricsConstant());
|
||||
onSilenceChanged(mIsSilenced);
|
||||
notifyChanged();
|
||||
}
|
||||
@@ -110,6 +114,8 @@ public abstract class Condition {
|
||||
// State.
|
||||
public abstract void refreshState();
|
||||
|
||||
public abstract int getMetricsConstant();
|
||||
|
||||
// UI.
|
||||
public abstract Icon getIcon();
|
||||
public abstract CharSequence getTitle();
|
||||
|
@@ -25,6 +25,8 @@ import android.view.View.OnLayoutChangeListener;
|
||||
import android.view.ViewGroup.LayoutParams;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.dashboard.DashboardAdapter;
|
||||
|
||||
@@ -89,6 +91,9 @@ public class ConditionAdapterUtils {
|
||||
button.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
MetricsLogger.action(v.getContext(),
|
||||
MetricsEvent.ACTION_SETTINGS_CONDITION_BUTTON,
|
||||
condition.getMetricsConstant());
|
||||
condition.onActionClick(index);
|
||||
}
|
||||
});
|
||||
|
@@ -24,6 +24,7 @@ import android.content.Intent;
|
||||
import android.graphics.drawable.Icon;
|
||||
import android.provider.Settings;
|
||||
import android.service.notification.ZenModeConfig;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
|
||||
public class DndCondition extends Condition {
|
||||
@@ -112,6 +113,11 @@ public class DndCondition extends Condition {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsConstant() {
|
||||
return MetricsEvent.SETTINGS_CONDITION_DND;
|
||||
}
|
||||
|
||||
public static class Receiver extends BroadcastReceiver {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
|
@@ -21,7 +21,7 @@ import android.content.Intent;
|
||||
import android.graphics.drawable.Icon;
|
||||
import android.net.wifi.WifiConfiguration;
|
||||
import android.net.wifi.WifiManager;
|
||||
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.TetherSettings;
|
||||
import com.android.settings.Utils;
|
||||
@@ -93,6 +93,11 @@ public class HotspotCondition extends Condition {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsConstant() {
|
||||
return MetricsEvent.SETTINGS_CONDITION_HOTSPOT;
|
||||
}
|
||||
|
||||
public static class Receiver extends BroadcastReceiver {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
|
@@ -22,7 +22,7 @@ import android.content.pm.UserInfo;
|
||||
import android.graphics.drawable.Icon;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Settings;
|
||||
|
||||
@@ -96,4 +96,9 @@ public class WorkModeCondition extends Condition {
|
||||
throw new IllegalArgumentException("Unexpected index " + index);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsConstant() {
|
||||
return MetricsEvent.SETTINGS_CONDITION_WORK_MODE;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user