1 /*
2  * Copyright (C) 2024 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.systemui.volume.dialog.ringer.ui.util
18 
19 import androidx.constraintlayout.motion.widget.MotionLayout
20 
21 class VolumeDialogRingerDrawerTransitionListener(private val onProgressChanged: (Float) -> Unit) :
22     MotionLayout.TransitionListener {
23 
24     private var notifyProgressChangeEnabled = true
25 
setProgressChangeEnablednull26     fun setProgressChangeEnabled(enabled: Boolean) {
27         notifyProgressChangeEnabled = enabled
28     }
29 
onTransitionStartednull30     override fun onTransitionStarted(motionLayout: MotionLayout?, startId: Int, endId: Int) {}
31 
onTransitionChangenull32     override fun onTransitionChange(
33         motionLayout: MotionLayout?,
34         startId: Int,
35         endId: Int,
36         progress: Float,
37     ) {
38         if (notifyProgressChangeEnabled) {
39             onProgressChanged(progress)
40         }
41     }
42 
onTransitionCompletednull43     override fun onTransitionCompleted(motionLayout: MotionLayout?, currentId: Int) {}
44 
onTransitionTriggernull45     override fun onTransitionTrigger(
46         motionLayout: MotionLayout?,
47         triggerId: Int,
48         positive: Boolean,
49         progress: Float,
50     ) {}
51 }
52