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
This commit is contained in:
Angela Wang
2024-09-02 06:10:56 +00:00
parent db89eaa0a2
commit ed519640fa
3 changed files with 19 additions and 0 deletions

View File

@@ -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));

View File

@@ -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;
}

View File

@@ -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);
}
}
}