Make AudioMessagePlaybackTracker.Listener interface funny
This commit is contained in:
		
							parent
							
								
									226e2026a1
								
							
						
					
					
						commit
						6b57b1190c
					
				@ -148,7 +148,7 @@ class AudioMessagePlaybackTracker @Inject constructor() {
 | 
			
		||||
        const val RECORDING_ID = "RECORDING_ID"
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    interface Listener {
 | 
			
		||||
    fun interface Listener {
 | 
			
		||||
 | 
			
		||||
        fun onUpdate(state: State)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -140,16 +140,14 @@ abstract class MessageAudioItem : AbsMessageItem<MessageAudioItem.Holder>() {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private fun renderStateBasedOnAudioPlayback(holder: Holder) {
 | 
			
		||||
        audioMessagePlaybackTracker.track(attributes.informationData.eventId, object : AudioMessagePlaybackTracker.Listener {
 | 
			
		||||
            override fun onUpdate(state: AudioMessagePlaybackTracker.Listener.State) {
 | 
			
		||||
                when (state) {
 | 
			
		||||
                    is AudioMessagePlaybackTracker.Listener.State.Idle -> renderIdleState(holder)
 | 
			
		||||
                    is AudioMessagePlaybackTracker.Listener.State.Playing -> renderPlayingState(holder, state)
 | 
			
		||||
                    is AudioMessagePlaybackTracker.Listener.State.Paused -> renderPausedState(holder, state)
 | 
			
		||||
                    is AudioMessagePlaybackTracker.Listener.State.Recording -> Unit
 | 
			
		||||
                }
 | 
			
		||||
        audioMessagePlaybackTracker.track(attributes.informationData.eventId) { state ->
 | 
			
		||||
            when (state) {
 | 
			
		||||
                is AudioMessagePlaybackTracker.Listener.State.Idle -> renderIdleState(holder)
 | 
			
		||||
                is AudioMessagePlaybackTracker.Listener.State.Playing -> renderPlayingState(holder, state)
 | 
			
		||||
                is AudioMessagePlaybackTracker.Listener.State.Paused -> renderPausedState(holder, state)
 | 
			
		||||
                is AudioMessagePlaybackTracker.Listener.State.Recording -> Unit
 | 
			
		||||
            }
 | 
			
		||||
        })
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private fun renderIdleState(holder: Holder) {
 | 
			
		||||
 | 
			
		||||
@ -116,14 +116,12 @@ abstract class MessageVoiceBroadcastListeningItem : AbsMessageVoiceBroadcastItem
 | 
			
		||||
                }
 | 
			
		||||
            })
 | 
			
		||||
        }
 | 
			
		||||
        playbackTracker.track(voiceBroadcast.voiceBroadcastId, object : AudioMessagePlaybackTracker.Listener {
 | 
			
		||||
            override fun onUpdate(state: State) {
 | 
			
		||||
                renderBackwardForwardButtons(holder, state)
 | 
			
		||||
                if (!isUserSeeking) {
 | 
			
		||||
                    holder.seekBar.progress = playbackTracker.getPlaybackTime(voiceBroadcast.voiceBroadcastId)
 | 
			
		||||
                }
 | 
			
		||||
        playbackTracker.track(voiceBroadcast.voiceBroadcastId) { playbackState ->
 | 
			
		||||
            renderBackwardForwardButtons(holder, playbackState)
 | 
			
		||||
            if (!isUserSeeking) {
 | 
			
		||||
                holder.seekBar.progress = playbackTracker.getPlaybackTime(voiceBroadcast.voiceBroadcastId)
 | 
			
		||||
            }
 | 
			
		||||
        })
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private fun renderBackwardForwardButtons(holder: Holder, playbackState: State) {
 | 
			
		||||
 | 
			
		||||
@ -122,16 +122,14 @@ abstract class MessageVoiceItem : AbsMessageItem<MessageVoiceItem.Holder>() {
 | 
			
		||||
            true
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        audioMessagePlaybackTracker.track(attributes.informationData.eventId, object : AudioMessagePlaybackTracker.Listener {
 | 
			
		||||
            override fun onUpdate(state: AudioMessagePlaybackTracker.Listener.State) {
 | 
			
		||||
                when (state) {
 | 
			
		||||
                    is AudioMessagePlaybackTracker.Listener.State.Idle -> renderIdleState(holder, waveformColorIdle, waveformColorPlayed)
 | 
			
		||||
                    is AudioMessagePlaybackTracker.Listener.State.Playing -> renderPlayingState(holder, state, waveformColorIdle, waveformColorPlayed)
 | 
			
		||||
                    is AudioMessagePlaybackTracker.Listener.State.Paused -> renderPausedState(holder, state, waveformColorIdle, waveformColorPlayed)
 | 
			
		||||
                    is AudioMessagePlaybackTracker.Listener.State.Recording -> Unit
 | 
			
		||||
                }
 | 
			
		||||
        audioMessagePlaybackTracker.track(attributes.informationData.eventId) { state ->
 | 
			
		||||
            when (state) {
 | 
			
		||||
                is AudioMessagePlaybackTracker.Listener.State.Idle -> renderIdleState(holder, waveformColorIdle, waveformColorPlayed)
 | 
			
		||||
                is AudioMessagePlaybackTracker.Listener.State.Playing -> renderPlayingState(holder, state, waveformColorIdle, waveformColorPlayed)
 | 
			
		||||
                is AudioMessagePlaybackTracker.Listener.State.Paused -> renderPausedState(holder, state, waveformColorIdle, waveformColorPlayed)
 | 
			
		||||
                is AudioMessagePlaybackTracker.Listener.State.Recording -> Unit
 | 
			
		||||
            }
 | 
			
		||||
        })
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private fun getTouchedPositionPercentage(motionEvent: MotionEvent, view: View) = (motionEvent.x / view.width).coerceIn(0f, 1f)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user