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

Commit e9aed1c1 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Controls UI - Do not update while drag in progress" into rvc-dev am: a7143d54

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11919891

Change-Id: I156a499fbdde86ba425cbacdda34eb2a84c73b71
parents b4967ddf a7143d54
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -128,6 +128,8 @@ class ControlViewHolder(
    val controlTemplate: ControlTemplate
        get() = cws.control?.let { it.controlTemplate } ?: ControlTemplate.NO_TEMPLATE

    var userInteractionInProgress = false

    init {
        val ld = layout.getBackground() as LayerDrawable
        ld.mutate()
@@ -139,6 +141,11 @@ class ControlViewHolder(
    }

    fun bindData(cws: ControlWithState) {
        // If an interaction is in progress, the update may visually interfere with the action the
        // action the user wants to make. Don't apply the update, and instead assume a new update
        // will coming from when the user interaction is complete.
        if (userInteractionInProgress) return

        this.cws = cws

        cancelUpdate?.run()
+2 −0
Original line number Diff line number Diff line
@@ -216,6 +216,7 @@ class ToggleRangeBehavior : Behavior {
    }

    fun beginUpdateRange() {
        cvh.userInteractionInProgress = true
        cvh.setStatusTextSize(context.getResources()
                .getDimensionPixelSize(R.dimen.control_status_expanded).toFloat())
    }
@@ -296,6 +297,7 @@ class ToggleRangeBehavior : Behavior {
        cvh.setStatusText("$currentStatusText $currentRangeValue", /* immediately */ true)
        cvh.controlActionCoordinator.setValue(cvh, rangeTemplate.getTemplateId(),
            findNearestStep(levelToRangeValue(clipLayer.getLevel())))
        cvh.userInteractionInProgress = false
    }

    fun findNearestStep(value: Float): Float {