From ed519640fafab8be09c1c6b3b7a4ad749e7b6964 Mon Sep 17 00:00:00 2001 From: Angela Wang Date: Mon, 2 Sep 2024 06:10:56 +0000 Subject: [PATCH] Add hearing device related logs in Settings 1. The HAC toggle on/off event 2. The "See more devices" button click in hearing device pairing page 3. The preset changed event in Bluetooth device details page Flag: EXEMPT, simple log Bug: 361206470 Test: manually check on go/atomviewer Test: atest BluetoothDetailsHearingAidsPresetsControllerTest Change-Id: I743ea136ec4cb3370c0463df865db830e73e7997 --- ...HearingAidCompatibilityPreferenceController.java | 3 +++ ...ViewAllBluetoothDevicesPreferenceController.java | 3 +++ ...luetoothDetailsHearingAidsPresetsController.java | 13 +++++++++++++ 3 files changed, 19 insertions(+) diff --git a/src/com/android/settings/accessibility/HearingAidCompatibilityPreferenceController.java b/src/com/android/settings/accessibility/HearingAidCompatibilityPreferenceController.java index 727cdd53d57..821fddd956f 100644 --- a/src/com/android/settings/accessibility/HearingAidCompatibilityPreferenceController.java +++ b/src/com/android/settings/accessibility/HearingAidCompatibilityPreferenceController.java @@ -25,6 +25,7 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.telephony.flags.Flags; import com.android.settings.R; import com.android.settings.core.TogglePreferenceController; +import com.android.settings.overlay.FeatureFactory; /** Preference controller for Hearing Aid Compatibility (HAC) settings */ public class HearingAidCompatibilityPreferenceController extends TogglePreferenceController { @@ -73,6 +74,8 @@ public class HearingAidCompatibilityPreferenceController extends TogglePreferenc @Override public boolean setChecked(boolean isChecked) { + FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().changed( + getMetricsCategory(), getPreferenceKey(), isChecked ? 1 : 0); setAudioParameterHacEnabled(isChecked); return Settings.System.putInt(mContext.getContentResolver(), Settings.System.HEARING_AID, (isChecked ? HAC_ENABLED : HAC_DISABLED)); diff --git a/src/com/android/settings/accessibility/ViewAllBluetoothDevicesPreferenceController.java b/src/com/android/settings/accessibility/ViewAllBluetoothDevicesPreferenceController.java index 622d5d8d3c4..b35575e2b2f 100644 --- a/src/com/android/settings/accessibility/ViewAllBluetoothDevicesPreferenceController.java +++ b/src/com/android/settings/accessibility/ViewAllBluetoothDevicesPreferenceController.java @@ -26,6 +26,7 @@ import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment; import com.android.settings.core.BasePreferenceController; import com.android.settings.core.SubSettingLauncher; import com.android.settings.dashboard.DashboardFragment; +import com.android.settings.overlay.FeatureFactory; /** Preference controller for all bluetooth device preference. */ public class ViewAllBluetoothDevicesPreferenceController extends BasePreferenceController { @@ -52,6 +53,8 @@ public class ViewAllBluetoothDevicesPreferenceController extends BasePreferenceC @Override public boolean handlePreferenceTreeClick(Preference preference) { if (TextUtils.equals(preference.getKey(), getPreferenceKey())) { + FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().clicked( + getMetricsCategory(), getPreferenceKey()); launchConnectedDevicePage(); return true; } diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsController.java index f7ccc610870..25a99eda5a2 100644 --- a/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsController.java +++ b/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsController.java @@ -38,6 +38,7 @@ import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceScreen; import com.android.settings.R; +import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.HapClientProfile; import com.android.settingslib.bluetooth.LocalBluetoothManager; @@ -111,6 +112,7 @@ public class BluetoothDetailsHearingAidsPresetsController extends final int index = listPreference.findIndexOfValue(value); final String presetName = listPreference.getEntries()[index].toString(); final int presetIndex = Integer.parseInt(value); + logPresetChangedIfNeeded(); listPreference.setSummary(presetName); if (DEBUG) { Log.d(TAG, "onPreferenceChange" @@ -373,4 +375,15 @@ public class BluetoothDetailsHearingAidsPresetsController extends mHapClientProfile.selectPreset(memberDevice.getDevice(), presetIndex); } } + + private void logPresetChangedIfNeeded() { + if (mPreference == null || mPreference.getEntries() == null) { + return; + } + if (mFragment instanceof BluetoothDeviceDetailsFragment) { + int category = ((BluetoothDeviceDetailsFragment) mFragment).getMetricsCategory(); + FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().changed(category, + getPreferenceKey(), mPreference.getEntries().length); + } + } }