Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3c2a3f35 authored by Santiago Etchebehere's avatar Santiago Etchebehere
Browse files

Use change listener instead of touch when using accessibility

Bug: 418222523
Flag: com.android.systemui.shared.new_customization_picker_ui
Test: manually verified slider changes apply when using talkback
Change-Id: I6a2a2603ca650e651de2ab39ce8fdb4cb1708c00
parent 43e84aee
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -471,12 +471,20 @@ object ClockFloatingSheetBinder {
                                override fun onStartTrackingTouch(slider: Slider) {}

                                override fun onStopTrackingTouch(slider: Slider) {
                                    if (!optionsViewModel.isAccessibilityEnabled(slider.context)) {
                                        axisPresetsSliderViewModel.onSliderStopTrackingTouch(
                                            slider.value
                                        )
                                    }
                                }
                            }
                        )
                        axisPresetSlider.clearOnChangeListeners()
                        axisPresetSlider.addOnChangeListener { slider, value, fromUser ->
                            if (optionsViewModel.isAccessibilityEnabled(slider.context)) {
                                axisPresetsSliderViewModel.onSliderStopTrackingTouch(value)
                            }
                        }
                    }
                }

+9 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.wallpaper.customization.ui.viewmodel

import android.content.Context
import android.view.accessibility.AccessibilityManager
import com.android.customization.picker.mode.ui.viewmodel.DarkModeViewModel
import com.android.wallpaper.customization.ui.util.ThemePickerCustomizationOptionUtil
import com.android.wallpaper.picker.customization.ui.view.ApplyButton
@@ -26,6 +28,7 @@ import com.android.wallpaper.picker.customization.ui.viewmodel.CustomizationOpti
import com.android.wallpaper.picker.customization.ui.viewmodel.CustomizationOptionsViewModel
import com.android.wallpaper.picker.customization.ui.viewmodel.CustomizationOptionsViewModelFactory
import com.android.wallpaper.picker.customization.ui.viewmodel.DefaultCustomizationOptionsViewModel
import com.android.wallpaper.picker.preview.ui.util.AccessibilityUtil
import dagger.assisted.Assisted
import dagger.assisted.AssistedFactory
import dagger.assisted.AssistedInject
@@ -270,6 +273,12 @@ constructor(

    val isApplyButtonVisible: Flow<Boolean> = selectedOption.map { it != null }

    fun isAccessibilityEnabled(context: Context): Boolean {
        return AccessibilityUtil.isAccessibilityEnabled(
            context.getSystemService(Context.ACCESSIBILITY_SERVICE) as AccessibilityManager
        )
    }

    @ViewModelScoped
    @AssistedFactory
    interface Factory : CustomizationOptionsViewModelFactory {