diff --git a/res/xml/wifi_settings.xml b/res/xml/wifi_settings.xml index 5fac85a0e39..a7f5a20774b 100644 --- a/res/xml/wifi_settings.xml +++ b/res/xml/wifi_settings.xml @@ -34,7 +34,7 @@ settings:searchable="false"/> diff --git a/res/xml/wifi_settings2.xml b/res/xml/wifi_settings2.xml index 8cd38575618..2bf39dbe28e 100644 --- a/res/xml/wifi_settings2.xml +++ b/res/xml/wifi_settings2.xml @@ -32,7 +32,7 @@ android:layout="@layout/preference_category_no_label"/> diff --git a/src/com/android/settings/applications/RecentAppsPreferenceController.java b/src/com/android/settings/applications/RecentAppsPreferenceController.java index 4f5ec01fc7e..7e02065c73f 100644 --- a/src/com/android/settings/applications/RecentAppsPreferenceController.java +++ b/src/com/android/settings/applications/RecentAppsPreferenceController.java @@ -23,7 +23,6 @@ import android.content.Context; import android.icu.text.RelativeDateTimeFormatter; import android.os.UserHandle; import android.util.IconDrawableFactory; -import android.util.Log; import android.view.View; import androidx.annotation.NonNull; @@ -37,7 +36,9 @@ import com.android.settings.applications.appinfo.AppInfoDashboardFragment; import com.android.settings.applications.manageapplications.ManageApplications; import com.android.settings.core.BasePreferenceController; import com.android.settings.core.SubSettingLauncher; +import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.applications.ApplicationsState; +import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.utils.StringUtil; import com.android.settingslib.widget.AppEntitiesHeaderController; import com.android.settingslib.widget.AppEntityInfo; @@ -65,6 +66,7 @@ public class RecentAppsPreferenceController extends BasePreferenceController private final ApplicationsState mApplicationsState; private final int mUserId; private final IconDrawableFactory mIconDrawableFactory; + private final MetricsFeatureProvider mMetricsFeatureProvider; private Fragment mHost; private List mRecentApps; @@ -75,6 +77,7 @@ public class RecentAppsPreferenceController extends BasePreferenceController (Application) mContext.getApplicationContext()); mUserId = UserHandle.myUserId(); mIconDrawableFactory = IconDrawableFactory.newInstance(mContext); + mMetricsFeatureProvider = FeatureFactory.getFactory(mContext).getMetricsFeatureProvider(); } public void setFragment(Fragment fragment) { @@ -96,6 +99,8 @@ public class RecentAppsPreferenceController extends BasePreferenceController mAppEntitiesController = AppEntitiesHeaderController.newInstance(mContext, view) .setHeaderTitleRes(R.string.recent_app_category_title) .setHeaderDetailsClickListener((View v) -> { + mMetricsFeatureProvider.logClickedPreference(mRecentAppsPreference, + SettingsEnums.SETTINGS_APP_NOTIF_CATEGORY); new SubSettingLauncher(mContext) .setDestination(ManageApplications.class.getName()) .setArguments(null /* arguments */) @@ -161,11 +166,14 @@ public class RecentAppsPreferenceController extends BasePreferenceController .setSummary(StringUtil.formatRelativeTime(mContext, System.currentTimeMillis() - stat.getLastTimeUsed(), false, RelativeDateTimeFormatter.Style.SHORT)) - .setOnClickListener(v -> - AppInfoBase.startAppInfoFragment(AppInfoDashboardFragment.class, - R.string.application_info_label, pkgName, appEntry.info.uid, - mHost, 1001 /*RequestCode*/, - SettingsEnums.SETTINGS_APP_NOTIF_CATEGORY)) + .setOnClickListener(v -> { + mMetricsFeatureProvider.logClickedPreference(mRecentAppsPreference, + SettingsEnums.SETTINGS_APP_NOTIF_CATEGORY); + AppInfoBase.startAppInfoFragment(AppInfoDashboardFragment.class, + R.string.application_info_label, pkgName, appEntry.info.uid, + mHost, 1001 /*RequestCode*/, + SettingsEnums.SETTINGS_APP_NOTIF_CATEGORY); + }) .build(); } } diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java index 73acc12f5aa..0f8849dde51 100644 --- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java +++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java @@ -46,6 +46,9 @@ import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; import com.android.settings.core.BasePreferenceController; +import com.android.settings.dashboard.DashboardFragment; +import com.android.settings.overlay.FeatureFactory; +import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; @@ -71,6 +74,7 @@ public class DeviceAdminListPreferenceController extends BasePreferenceControlle private final UserManager mUm; private final PackageManager mPackageManager; private final IPackageManager mIPackageManager; + private final MetricsFeatureProvider mMetricsFeatureProvider; /** * Internal collection of device admin info objects for all profiles associated with the current * user. @@ -102,6 +106,7 @@ public class DeviceAdminListPreferenceController extends BasePreferenceControlle mUm = (UserManager) context.getSystemService(Context.USER_SERVICE); mPackageManager = mContext.getPackageManager(); mIPackageManager = AppGlobals.getPackageManager(); + mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider(); } @Override @@ -197,6 +202,8 @@ public class DeviceAdminListPreferenceController extends BasePreferenceControlle pref.setSummary(item.getDescription()); pref.setEnabled(item.isEnabled()); pref.setOnPreferenceClickListener(preference -> { + mMetricsFeatureProvider.logClickedPreference(preference, + pref.getExtras().getInt(DashboardFragment.CATEGORY)); final UserHandle user = item.getUser(); mContext.startActivityAsUser(item.getLaunchIntent(mContext), user); return true; diff --git a/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdater.java index 45ac7f790eb..aa4f869cfea 100644 --- a/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdater.java +++ b/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdater.java @@ -35,6 +35,8 @@ public class AvailableMediaBluetoothDeviceUpdater extends BluetoothDeviceUpdater private static final String TAG = "AvailableMediaBluetoothDeviceUpdater"; private static final boolean DBG = false; + private static final String PREF_KEY = "available_media_bt"; + private final AudioManager mAudioManager; public AvailableMediaBluetoothDeviceUpdater(Context context, DashboardFragment fragment, @@ -97,9 +99,14 @@ public class AvailableMediaBluetoothDeviceUpdater extends BluetoothDeviceUpdater @Override public boolean onPreferenceClick(Preference preference) { + mMetricsFeatureProvider.logClickedPreference(preference, mFragment.getMetricsCategory()); final CachedBluetoothDevice device = ((BluetoothDevicePreference) preference) .getBluetoothDevice(); return device.setActive(); } -} + @Override + protected String getPreferenceKey() { + return PREF_KEY; + } +} diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java index 7cf7fd5833e..e2715d304e3 100644 --- a/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java +++ b/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java @@ -28,12 +28,14 @@ import com.android.settings.R; import com.android.settings.connecteddevice.DevicePreferenceCallback; import com.android.settings.core.SubSettingLauncher; import com.android.settings.dashboard.DashboardFragment; +import com.android.settings.overlay.FeatureFactory; import com.android.settings.widget.GearPreference; import com.android.settingslib.bluetooth.BluetoothCallback; import com.android.settingslib.bluetooth.BluetoothDeviceFilter; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.LocalBluetoothManager; import com.android.settingslib.bluetooth.LocalBluetoothProfileManager; +import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import java.util.Collection; import java.util.HashMap; @@ -52,6 +54,7 @@ public abstract class BluetoothDeviceUpdater implements BluetoothCallback, private static final String TAG = "BluetoothDeviceUpdater"; private static final boolean DBG = false; + protected final MetricsFeatureProvider mMetricsFeatureProvider; protected final DevicePreferenceCallback mDevicePreferenceCallback; protected final Map mPreferenceMap; protected Context mPrefContext; @@ -76,6 +79,8 @@ public abstract class BluetoothDeviceUpdater implements BluetoothCallback, mDevicePreferenceCallback = devicePreferenceCallback; mPreferenceMap = new HashMap<>(); mLocalManager = localManager; + mMetricsFeatureProvider = FeatureFactory.getFactory(mFragment.getContext()) + .getMetricsFeatureProvider(); } /** @@ -206,6 +211,11 @@ public abstract class BluetoothDeviceUpdater implements BluetoothCallback, */ public abstract boolean isFilterMatched(CachedBluetoothDevice cachedBluetoothDevice); + /** + * Return a preference key for logging + */ + protected abstract String getPreferenceKey(); + /** * Update whether to show {@link CachedBluetoothDevice} in the list. */ @@ -228,6 +238,7 @@ public abstract class BluetoothDeviceUpdater implements BluetoothCallback, new BluetoothDevicePreference(mPrefContext, cachedDevice, true /* showDeviceWithoutNames */, BluetoothDevicePreference.SortType.TYPE_DEFAULT); + btPreference.setKey(getPreferenceKey()); btPreference.setOnGearClickListener(mDeviceProfilesListener); if (this instanceof Preference.OnPreferenceClickListener) { btPreference.setOnPreferenceClickListener( @@ -264,6 +275,7 @@ public abstract class BluetoothDeviceUpdater implements BluetoothCallback, * {@link SubSettingLauncher} to launch {@link BluetoothDeviceDetailsFragment} */ protected void launchDeviceDetails(Preference preference) { + mMetricsFeatureProvider.logClickedPreference(preference, mFragment.getMetricsCategory()); final CachedBluetoothDevice device = ((BluetoothDevicePreference) preference).getBluetoothDevice(); if (device == null) { diff --git a/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdater.java index 3ae081cc968..c7cae7fd6b9 100644 --- a/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdater.java +++ b/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdater.java @@ -35,6 +35,8 @@ public class ConnectedBluetoothDeviceUpdater extends BluetoothDeviceUpdater { private static final String TAG = "ConnBluetoothDeviceUpdater"; private static final boolean DBG = false; + private static final String PREF_KEY = "connected_bt"; + private final AudioManager mAudioManager; public ConnectedBluetoothDeviceUpdater(Context context, DashboardFragment fragment, @@ -111,4 +113,9 @@ public class ConnectedBluetoothDeviceUpdater extends BluetoothDeviceUpdater { }); } } + + @Override + protected String getPreferenceKey() { + return PREF_KEY; + } } diff --git a/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java index 6381b848c9c..8d91dfcabe8 100644 --- a/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java +++ b/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java @@ -30,9 +30,12 @@ import com.android.settingslib.bluetooth.CachedBluetoothDevice; */ public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater implements Preference.OnPreferenceClickListener { + private static final String TAG = "SavedBluetoothDeviceUpdater"; private static final boolean DBG = false; + private static final String PREF_KEY = "saved_bt"; + public SavedBluetoothDeviceUpdater(Context context, DashboardFragment fragment, DevicePreferenceCallback devicePreferenceCallback) { super(context, fragment, devicePreferenceCallback); @@ -51,9 +54,15 @@ public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater @Override public boolean onPreferenceClick(Preference preference) { + mMetricsFeatureProvider.logClickedPreference(preference, mFragment.getMetricsCategory()); final CachedBluetoothDevice device = ((BluetoothDevicePreference) preference) .getBluetoothDevice(); device.connect(true); return true; } + + @Override + protected String getPreferenceKey() { + return PREF_KEY; + } } diff --git a/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdater.java b/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdater.java index 0be1438407a..1078a211d75 100644 --- a/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdater.java +++ b/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdater.java @@ -29,11 +29,18 @@ import com.android.settings.R; import com.android.settings.connecteddevice.DevicePreferenceCallback; import com.android.settings.core.SubSettingLauncher; import com.android.settings.dashboard.DashboardFragment; +import com.android.settings.overlay.FeatureFactory; +import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; /** * Controller to maintain connected usb device */ public class ConnectedUsbDeviceUpdater { + + private static final String PREF_KEY = "connected_usb"; + + private final MetricsFeatureProvider mMetricsFeatureProvider; + private DashboardFragment mFragment; private UsbBackend mUsbBackend; private DevicePreferenceCallback mDevicePreferenceCallback; @@ -67,6 +74,8 @@ public class ConnectedUsbDeviceUpdater { mUsbBackend = usbBackend; mUsbReceiver = new UsbConnectionBroadcastReceiver(context, mUsbConnectionListener, mUsbBackend); + mMetricsFeatureProvider = FeatureFactory.getFactory(mFragment.getContext()) + .getMetricsFeatureProvider(); } public void registerCallback() { @@ -82,7 +91,9 @@ public class ConnectedUsbDeviceUpdater { mUsbPreference = new Preference(context, null /* AttributeSet */); mUsbPreference.setTitle(R.string.usb_pref); mUsbPreference.setIcon(R.drawable.ic_usb); + mUsbPreference.setKey(PREF_KEY); mUsbPreference.setOnPreferenceClickListener((Preference p) -> { + mMetricsFeatureProvider.logClickedPreference(p, mFragment.getMetricsCategory()); // New version - uses a separate screen. new SubSettingLauncher(mFragment.getContext()) .setDestination(UsbDetailsFragment.class.getName()) diff --git a/src/com/android/settings/datausage/BillingCycleSettings.java b/src/com/android/settings/datausage/BillingCycleSettings.java index f680bddd254..5efd175207b 100644 --- a/src/com/android/settings/datausage/BillingCycleSettings.java +++ b/src/com/android/settings/datausage/BillingCycleSettings.java @@ -150,12 +150,15 @@ public class BillingCycleSettings extends DataUsageBaseFragment implements @Override public boolean onPreferenceTreeClick(Preference preference) { if (preference == mBillingCycle) { + writePreferenceClickMetric(preference); CycleEditorFragment.show(this); return true; } else if (preference == mDataWarning) { + writePreferenceClickMetric(preference); BytesEditorFragment.show(this, false); return true; } else if (preference == mDataLimit) { + writePreferenceClickMetric(preference); BytesEditorFragment.show(this, true); return true; } diff --git a/src/com/android/settings/network/MobileNetworkSummaryController.java b/src/com/android/settings/network/MobileNetworkSummaryController.java index 861adf17943..9e3f1e8957c 100644 --- a/src/com/android/settings/network/MobileNetworkSummaryController.java +++ b/src/com/android/settings/network/MobileNetworkSummaryController.java @@ -27,22 +27,25 @@ import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.euicc.EuiccManager; -import com.android.settings.R; -import com.android.settings.core.PreferenceControllerMixin; -import com.android.settings.network.telephony.MobileNetworkActivity; -import com.android.settings.network.telephony.MobileNetworkUtils; -import com.android.settings.widget.AddPreference; -import com.android.settingslib.Utils; -import com.android.settingslib.core.AbstractPreferenceController; - -import java.util.List; - import androidx.lifecycle.Lifecycle; import androidx.lifecycle.LifecycleObserver; import androidx.lifecycle.OnLifecycleEvent; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; +import com.android.settings.R; +import com.android.settings.core.PreferenceControllerMixin; +import com.android.settings.dashboard.DashboardFragment; +import com.android.settings.network.telephony.MobileNetworkActivity; +import com.android.settings.network.telephony.MobileNetworkUtils; +import com.android.settings.overlay.FeatureFactory; +import com.android.settings.widget.AddPreference; +import com.android.settingslib.Utils; +import com.android.settingslib.core.AbstractPreferenceController; +import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; + +import java.util.List; + public class MobileNetworkSummaryController extends AbstractPreferenceController implements SubscriptionsChangeListener.SubscriptionsChangeListenerClient, LifecycleObserver, PreferenceControllerMixin { @@ -50,6 +53,8 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController private static final String KEY = "mobile_network_list"; + private final MetricsFeatureProvider mMetricsFeatureProvider; + private SubscriptionManager mSubscriptionManager; private UserManager mUserManager; private SubscriptionsChangeListener mChangeListener; @@ -72,6 +77,7 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController */ public MobileNetworkSummaryController(Context context, Lifecycle lifecycle) { super(context); + mMetricsFeatureProvider = FeatureFactory.getFactory(mContext).getMetricsFeatureProvider(); mSubscriptionManager = context.getSystemService(SubscriptionManager.class); mUserManager = context.getSystemService(UserManager.class); if (lifecycle != null) { @@ -146,6 +152,8 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController if (subs.isEmpty()) { if (MobileNetworkUtils.showEuiccSettings(mContext)) { mPreference.setOnPreferenceClickListener((Preference pref) -> { + mMetricsFeatureProvider.logClickedPreference(pref, + pref.getExtras().getInt(DashboardFragment.CATEGORY)); startAddSimFlow(); return true; }); @@ -157,11 +165,17 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController // supported. if (MobileNetworkUtils.showEuiccSettings(mContext)) { mPreference.setAddWidgetEnabled(!mChangeListener.isAirplaneModeOn()); - mPreference.setOnAddClickListener(p -> startAddSimFlow()); + mPreference.setOnAddClickListener(p -> { + mMetricsFeatureProvider.logClickedPreference(p, + p.getExtras().getInt(DashboardFragment.CATEGORY)); + startAddSimFlow(); + }); } if (subs.size() == 1) { mPreference.setOnPreferenceClickListener((Preference pref) -> { + mMetricsFeatureProvider.logClickedPreference(pref, + pref.getExtras().getInt(DashboardFragment.CATEGORY)); final SubscriptionInfo info = subs.get(0); final int subId = info.getSubscriptionId(); if (!info.isEmbedded() && !mSubscriptionManager.isActiveSubscriptionId(subId) diff --git a/src/com/android/settings/network/MobilePlanPreferenceController.java b/src/com/android/settings/network/MobilePlanPreferenceController.java index dc41708099b..255dfcd99a6 100644 --- a/src/com/android/settings/network/MobilePlanPreferenceController.java +++ b/src/com/android/settings/network/MobilePlanPreferenceController.java @@ -85,6 +85,7 @@ public class MobilePlanPreferenceController extends AbstractPreferenceController if (mHost != null && KEY_MANAGE_MOBILE_PLAN.equals(preference.getKey())) { mMobilePlanDialogMessage = null; onManageMobilePlanClick(); + return true; } return false; } diff --git a/src/com/android/settings/notification/ConfigureNotificationSettings.java b/src/com/android/settings/notification/ConfigureNotificationSettings.java index abbd9a7899a..0a9a5b1e988 100644 --- a/src/com/android/settings/notification/ConfigureNotificationSettings.java +++ b/src/com/android/settings/notification/ConfigureNotificationSettings.java @@ -133,6 +133,7 @@ public class ConfigureNotificationSettings extends DashboardFragment implements @Override public boolean onPreferenceTreeClick(Preference preference) { if (preference instanceof RingtonePreference) { + writePreferenceClickMetric(preference); mRequestPreference = (RingtonePreference) preference; mRequestPreference.onPrepareRingtonePickerIntent(mRequestPreference.getIntent()); getActivity().startActivityForResultAsUser( diff --git a/src/com/android/settings/notification/zen/ZenModeButtonPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeButtonPreferenceController.java index 270fb73dd05..a53b4fa334c 100644 --- a/src/com/android/settings/notification/zen/ZenModeButtonPreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenModeButtonPreferenceController.java @@ -27,6 +27,7 @@ import androidx.preference.Preference; import com.android.settings.R; import com.android.settings.core.PreferenceControllerMixin; +import com.android.settings.dashboard.DashboardFragment; import com.android.settings.notification.SettingsEnableZenModeDialog; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.widget.LayoutPreference; @@ -65,23 +66,22 @@ public class ZenModeButtonPreferenceController extends AbstractZenModePreference mZenButtonOn = ((LayoutPreference) preference) .findViewById(R.id.zen_mode_settings_turn_on_button); mZenButtonOn.setFocusableInTouchMode(true); - updateZenButtonOnClickListener(); + updateZenButtonOnClickListener(preference); } if (null == mZenButtonOff) { mZenButtonOff = ((LayoutPreference) preference) .findViewById(R.id.zen_mode_settings_turn_off_button); mZenButtonOff.setOnClickListener(v -> { - mMetricsFeatureProvider.action(mContext, - SettingsEnums.ACTION_ZEN_TOGGLE_DND_BUTTON, false); + writeMetrics(preference, false); mBackend.setZenMode(Settings.Global.ZEN_MODE_OFF); }); } - updateButtons(); + updateButtons(preference); } - private void updateButtons() { + private void updateButtons(Preference preference) { switch (getZenMode()) { case Settings.Global.ZEN_MODE_ALARMS: case Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS: @@ -93,35 +93,39 @@ public class ZenModeButtonPreferenceController extends AbstractZenModePreference case Settings.Global.ZEN_MODE_OFF: default: mZenButtonOff.setVisibility(View.GONE); - updateZenButtonOnClickListener(); + updateZenButtonOnClickListener(preference); mZenButtonOn.setVisibility(View.VISIBLE); mZenButtonOn.requestFocus(); } } - private void updateZenButtonOnClickListener() { + private void updateZenButtonOnClickListener(Preference preference) { int zenDuration = getZenDuration(); switch (zenDuration) { case Settings.Secure.ZEN_DURATION_PROMPT: mZenButtonOn.setOnClickListener(v -> { - mMetricsFeatureProvider.action(mContext, - SettingsEnums.ACTION_ZEN_TOGGLE_DND_BUTTON, false); + writeMetrics(preference, true); new SettingsEnableZenModeDialog().show(mFragment, TAG); }); break; case Settings.Secure.ZEN_DURATION_FOREVER: mZenButtonOn.setOnClickListener(v -> { - mMetricsFeatureProvider.action(mContext, - SettingsEnums.ACTION_ZEN_TOGGLE_DND_BUTTON, false); + writeMetrics(preference, true); mBackend.setZenMode(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS); }); break; default: mZenButtonOn.setOnClickListener(v -> { - mMetricsFeatureProvider.action(mContext, - SettingsEnums.ACTION_ZEN_TOGGLE_DND_BUTTON, false); + writeMetrics(preference, true); mBackend.setZenModeForDuration(zenDuration); }); } } + + private void writeMetrics(Preference preference, boolean buttonOn) { + mMetricsFeatureProvider.logClickedPreference(preference, + preference.getExtras().getInt(DashboardFragment.CATEGORY)); + mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_TOGGLE_DND_BUTTON, + buttonOn); + } } \ No newline at end of file diff --git a/src/com/android/settings/notification/zen/ZenModeStarredContactsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeStarredContactsPreferenceController.java index 80fae970138..64f20103ea1 100644 --- a/src/com/android/settings/notification/zen/ZenModeStarredContactsPreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenModeStarredContactsPreferenceController.java @@ -28,6 +28,7 @@ import android.provider.Contacts; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; +import com.android.settings.dashboard.DashboardFragment; import com.android.settingslib.core.lifecycle.Lifecycle; public class ZenModeStarredContactsPreferenceController extends @@ -89,6 +90,8 @@ public class ZenModeStarredContactsPreferenceController extends @Override public boolean onPreferenceClick(Preference preference) { + mMetricsFeatureProvider.logClickedPreference(preference, + preference.getExtras().getInt(DashboardFragment.CATEGORY)); if (mStarredContactsIntent.resolveActivity(mPackageManager) != null) { mContext.startActivity(mStarredContactsIntent); } else { diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index 43104769417..27b5c3bfc40 100644 --- a/src/com/android/settings/wifi/WifiSettings.java +++ b/src/com/android/settings/wifi/WifiSettings.java @@ -118,7 +118,7 @@ public class WifiSettings extends RestrictedSettingsFragment private static final String PREF_KEY_EMPTY_WIFI_LIST = "wifi_empty_list"; private static final String PREF_KEY_CONNECTED_ACCESS_POINTS = "connected_access_point"; private static final String PREF_KEY_ACCESS_POINTS = "access_points"; - private static final String PREF_KEY_CONFIGURE_WIFI_SETTINGS = "configure_settings"; + private static final String PREF_KEY_CONFIGURE_WIFI_SETTINGS = "configure_wifi_settings"; private static final String PREF_KEY_SAVED_NETWORKS = "saved_networks"; private static final String PREF_KEY_STATUS_MESSAGE = "wifi_status_message"; @VisibleForTesting diff --git a/src/com/android/settings/wifi/WifiSettings2.java b/src/com/android/settings/wifi/WifiSettings2.java index bd79b3f6ae0..a667d4a8733 100644 --- a/src/com/android/settings/wifi/WifiSettings2.java +++ b/src/com/android/settings/wifi/WifiSettings2.java @@ -120,7 +120,7 @@ public class WifiSettings2 extends RestrictedSettingsFragment // TODO(b/70983952): Rename these to use WifiEntry instead of AccessPoint. private static final String PREF_KEY_CONNECTED_ACCESS_POINTS = "connected_access_point"; private static final String PREF_KEY_ACCESS_POINTS = "access_points"; - private static final String PREF_KEY_CONFIGURE_WIFI_SETTINGS = "configure_settings"; + private static final String PREF_KEY_CONFIGURE_WIFI_SETTINGS = "configure_wifi_settings"; private static final String PREF_KEY_SAVED_NETWORKS = "saved_networks"; private static final String PREF_KEY_STATUS_MESSAGE = "wifi_status_message"; @VisibleForTesting @@ -1111,7 +1111,7 @@ public class WifiSettings2 extends RestrictedSettingsFragment .launch(); } - /** Helper method to return whether an WifiEntry is disabled due to a wrong password */ + /** Helper method to return whether a WifiEntry is disabled due to a wrong password */ private static boolean isDisabledByWrongPassword(WifiEntry wifiEntry) { WifiConfiguration config = wifiEntry.getWifiConfiguration(); if (config == null) { diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java index 66bf959de61..260fc41788f 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java @@ -82,7 +82,7 @@ public class BluetoothDeviceUpdaterTest { private BluetoothDeviceUpdater mBluetoothDeviceUpdater; private BluetoothDevicePreference mPreference; private ShadowBluetoothAdapter mShadowBluetoothAdapter; - private List mCachedDevices = new ArrayList(); + private List mCachedDevices = new ArrayList<>(); @Before public void setUp() { @@ -104,11 +104,16 @@ public class BluetoothDeviceUpdaterTest { mBluetoothDeviceUpdater = new BluetoothDeviceUpdater(mDashboardFragment, mDevicePreferenceCallback, mLocalManager) { - @Override - public boolean isFilterMatched(CachedBluetoothDevice cachedBluetoothDevice) { - return true; - } - }; + @Override + public boolean isFilterMatched(CachedBluetoothDevice cachedBluetoothDevice) { + return true; + } + + @Override + protected String getPreferenceKey() { + return "test_bt"; + } + }; mBluetoothDeviceUpdater.setPrefContext(mContext); }