Loading src/com/android/settings/bluetooth/AmbientVolumePreference.java +28 −2 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceViewHolder; import com.android.settings.R; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.bluetooth.AmbientVolumeUi; import com.android.settingslib.widget.SliderPreference; Loading @@ -58,6 +59,10 @@ public class AmbientVolumePreference extends PreferenceGroup implements AmbientV private static final int ORDER_AMBIENT_VOLUME_CONTROL_UNIFIED = 0; private static final int ORDER_AMBIENT_VOLUME_CONTROL_SEPARATED = 1; private static final String METRIC_KEY_AMBIENT_SLIDER = "ambient_slider"; private static final String METRIC_KEY_AMBIENT_MUTE = "ambient_mute"; private static final String METRIC_KEY_AMBIENT_EXPAND = "ambient_expand"; @Nullable private AmbientVolumeUiListener mListener; @Nullable Loading @@ -71,13 +76,18 @@ public class AmbientVolumePreference extends PreferenceGroup implements AmbientV private final BiMap<Integer, SliderPreference> mSideToSliderMap = HashBiMap.create(); private int mVolumeLevel = AMBIENT_VOLUME_LEVEL_DEFAULT; private int mMetricsCategory; private final OnPreferenceChangeListener mPreferenceChangeListener = (slider, v) -> { if (slider instanceof SliderPreference && v instanceof final Integer value) { final Integer side = mSideToSliderMap.inverse().get(slider); if (mListener != null && side != null) { if (side != null) { logMetrics(METRIC_KEY_AMBIENT_SLIDER, side); if (mListener != null) { mListener.onSliderValueChange(side, value); } } return true; } return false; Loading Loading @@ -106,6 +116,7 @@ public class AmbientVolumePreference extends PreferenceGroup implements AmbientV return; } setMuted(!mMuted); logMetrics(METRIC_KEY_AMBIENT_MUTE, mMuted ? 1 : 0); if (mListener != null) { mListener.onAmbientVolumeIconClick(); } Loading @@ -115,6 +126,7 @@ public class AmbientVolumePreference extends PreferenceGroup implements AmbientV mExpandIcon = holder.itemView.requireViewById(R.id.expand_icon); mExpandIcon.setOnClickListener(v -> { setExpanded(!mExpanded); logMetrics(METRIC_KEY_AMBIENT_EXPAND, mExpanded ? 1 : 0); if (mListener != null) { mListener.onExpandIconClick(); } Loading Loading @@ -249,6 +261,15 @@ public class AmbientVolumePreference extends PreferenceGroup implements AmbientV updateVolumeLevel(); } /** Sets the metrics category. */ public void setMetricsCategory(int category) { mMetricsCategory = category; } private int getMetricsCategory() { return mMetricsCategory; } private void updateVolumeLevel() { int leftLevel, rightLevel; if (mExpanded) { Loading Loading @@ -329,4 +350,9 @@ public class AmbientVolumePreference extends PreferenceGroup implements AmbientV Map<Integer, SliderPreference> getSliders() { return mSideToSliderMap; } private void logMetrics(String key, int value) { FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().changed( getMetricsCategory(), key, value); } } src/com/android/settings/bluetooth/BluetoothDetailsAmbientVolumePreferenceController.java +4 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import com.android.settingslib.bluetooth.AmbientVolumeUiController; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.LocalBluetoothManager; import com.android.settingslib.bluetooth.VolumeControlProfile; import com.android.settingslib.core.instrumentation.Instrumentable; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; Loading Loading @@ -83,6 +84,9 @@ public class BluetoothDetailsAmbientVolumePreferenceController extends Bluetooth mPreference = new AmbientVolumePreference(deviceControls.getContext()); mPreference.setKey(KEY_AMBIENT_VOLUME); mPreference.setOrder(ORDER_AMBIENT_VOLUME); if (mFragment instanceof Instrumentable) { mPreference.setMetricsCategory(((Instrumentable) mFragment).getMetricsCategory()); } deviceControls.addPreference(mPreference); mAmbientUiController = new AmbientVolumeUiController(mContext, mBluetoothManager, Loading Loading
src/com/android/settings/bluetooth/AmbientVolumePreference.java +28 −2 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceViewHolder; import com.android.settings.R; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.bluetooth.AmbientVolumeUi; import com.android.settingslib.widget.SliderPreference; Loading @@ -58,6 +59,10 @@ public class AmbientVolumePreference extends PreferenceGroup implements AmbientV private static final int ORDER_AMBIENT_VOLUME_CONTROL_UNIFIED = 0; private static final int ORDER_AMBIENT_VOLUME_CONTROL_SEPARATED = 1; private static final String METRIC_KEY_AMBIENT_SLIDER = "ambient_slider"; private static final String METRIC_KEY_AMBIENT_MUTE = "ambient_mute"; private static final String METRIC_KEY_AMBIENT_EXPAND = "ambient_expand"; @Nullable private AmbientVolumeUiListener mListener; @Nullable Loading @@ -71,13 +76,18 @@ public class AmbientVolumePreference extends PreferenceGroup implements AmbientV private final BiMap<Integer, SliderPreference> mSideToSliderMap = HashBiMap.create(); private int mVolumeLevel = AMBIENT_VOLUME_LEVEL_DEFAULT; private int mMetricsCategory; private final OnPreferenceChangeListener mPreferenceChangeListener = (slider, v) -> { if (slider instanceof SliderPreference && v instanceof final Integer value) { final Integer side = mSideToSliderMap.inverse().get(slider); if (mListener != null && side != null) { if (side != null) { logMetrics(METRIC_KEY_AMBIENT_SLIDER, side); if (mListener != null) { mListener.onSliderValueChange(side, value); } } return true; } return false; Loading Loading @@ -106,6 +116,7 @@ public class AmbientVolumePreference extends PreferenceGroup implements AmbientV return; } setMuted(!mMuted); logMetrics(METRIC_KEY_AMBIENT_MUTE, mMuted ? 1 : 0); if (mListener != null) { mListener.onAmbientVolumeIconClick(); } Loading @@ -115,6 +126,7 @@ public class AmbientVolumePreference extends PreferenceGroup implements AmbientV mExpandIcon = holder.itemView.requireViewById(R.id.expand_icon); mExpandIcon.setOnClickListener(v -> { setExpanded(!mExpanded); logMetrics(METRIC_KEY_AMBIENT_EXPAND, mExpanded ? 1 : 0); if (mListener != null) { mListener.onExpandIconClick(); } Loading Loading @@ -249,6 +261,15 @@ public class AmbientVolumePreference extends PreferenceGroup implements AmbientV updateVolumeLevel(); } /** Sets the metrics category. */ public void setMetricsCategory(int category) { mMetricsCategory = category; } private int getMetricsCategory() { return mMetricsCategory; } private void updateVolumeLevel() { int leftLevel, rightLevel; if (mExpanded) { Loading Loading @@ -329,4 +350,9 @@ public class AmbientVolumePreference extends PreferenceGroup implements AmbientV Map<Integer, SliderPreference> getSliders() { return mSideToSliderMap; } private void logMetrics(String key, int value) { FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().changed( getMetricsCategory(), key, value); } }
src/com/android/settings/bluetooth/BluetoothDetailsAmbientVolumePreferenceController.java +4 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import com.android.settingslib.bluetooth.AmbientVolumeUiController; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.LocalBluetoothManager; import com.android.settingslib.bluetooth.VolumeControlProfile; import com.android.settingslib.core.instrumentation.Instrumentable; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; Loading Loading @@ -83,6 +84,9 @@ public class BluetoothDetailsAmbientVolumePreferenceController extends Bluetooth mPreference = new AmbientVolumePreference(deviceControls.getContext()); mPreference.setKey(KEY_AMBIENT_VOLUME); mPreference.setOrder(ORDER_AMBIENT_VOLUME); if (mFragment instanceof Instrumentable) { mPreference.setMetricsCategory(((Instrumentable) mFragment).getMetricsCategory()); } deviceControls.addPreference(mPreference); mAmbientUiController = new AmbientVolumeUiController(mContext, mBluetoothManager, Loading