Sound screen migration

- Add a flag for sound and vibration migration
- Adding skeleton of sound screen

Bug: 360015496
Test: atest SoundScreenTest
Flag: com.android.settings.flags.catalyst_sound_screen
Change-Id: Id3a51663d3c1203be0046d12b312c5b64dc26683
This commit is contained in:
Mill Chen
2024-10-08 11:23:43 +00:00
parent 8dde780a3f
commit 29036fd2a9
4 changed files with 131 additions and 13 deletions

View File

@@ -29,6 +29,8 @@ import android.os.UserHandle;
import android.preference.SeekBarVolumizer;
import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.preference.ListPreference;
import androidx.preference.Preference;
@@ -193,21 +195,23 @@ public class SoundSettings extends DashboardFragment implements OnActivityResult
@Override
public void onAttach(Context context) {
super.onAttach(context);
ArrayList<VolumeSeekBarPreferenceController> volumeControllers = new ArrayList<>();
volumeControllers.add(use(AlarmVolumePreferenceController.class));
volumeControllers.add(use(MediaVolumePreferenceController.class));
volumeControllers.add(use(SeparateRingVolumePreferenceController.class));
volumeControllers.add(use(NotificationVolumePreferenceController.class));
volumeControllers.add(use(CallVolumePreferenceController.class));
if (!isCatalystEnabled()) {
ArrayList<VolumeSeekBarPreferenceController> volumeControllers = new ArrayList<>();
volumeControllers.add(use(AlarmVolumePreferenceController.class));
volumeControllers.add(use(MediaVolumePreferenceController.class));
volumeControllers.add(use(SeparateRingVolumePreferenceController.class));
volumeControllers.add(use(NotificationVolumePreferenceController.class));
volumeControllers.add(use(CallVolumePreferenceController.class));
use(HandsFreeProfileOutputPreferenceController.class).setCallback(listPreference ->
onPreferenceDataChanged(listPreference));
mHfpOutputControllerKey =
use(HandsFreeProfileOutputPreferenceController.class).getPreferenceKey();
use(HandsFreeProfileOutputPreferenceController.class).setCallback(listPreference ->
onPreferenceDataChanged(listPreference));
mHfpOutputControllerKey =
use(HandsFreeProfileOutputPreferenceController.class).getPreferenceKey();
for (VolumeSeekBarPreferenceController controller : volumeControllers) {
controller.setCallback(mVolumeCallback);
getSettingsLifecycle().addObserver(controller);
for (VolumeSeekBarPreferenceController controller : volumeControllers) {
controller.setCallback(mVolumeCallback);
getSettingsLifecycle().addObserver(controller);
}
}
}
@@ -321,4 +325,9 @@ public class SoundSettings extends DashboardFragment implements OnActivityResult
mDialogFragment.onListPreferenceUpdated(preference);
}
}
@Override
public @Nullable String getPreferenceScreenBindingKey(@NonNull Context context) {
return SoundScreen.KEY;
}
}