1
1
package com.sidharth.lg_motion.ui.home.fragment
2
2
3
3
import android.content.Context
4
+ import android.content.SharedPreferences
4
5
import android.media.AudioManager
5
6
import android.os.Bundle
6
7
import android.util.Log
@@ -9,6 +10,7 @@ import android.view.View
9
10
import android.view.ViewGroup
10
11
import androidx.fragment.app.Fragment
11
12
import androidx.lifecycle.lifecycleScope
13
+ import androidx.preference.PreferenceManager
12
14
import com.sidharth.lg_motion.databinding.FragmentAudioBinding
13
15
import com.sidharth.lg_motion.util.LiquidGalaxyManager
14
16
import com.sidharth.lg_motion.util.LottieSpeechAnimator
@@ -20,6 +22,10 @@ import kotlinx.coroutines.launch
20
22
class AudioFragment : Fragment (), LottieSpeechAnimator.OnSpeechRecognitionListener {
21
23
private lateinit var binding: FragmentAudioBinding
22
24
private lateinit var lottieSpeechAnimator: LottieSpeechAnimator
25
+ private val preferences: SharedPreferences by lazy {
26
+ PreferenceManager .getDefaultSharedPreferences(requireContext())
27
+ }
28
+ private var continuousListen: Boolean = false
23
29
24
30
override fun onCreate (savedInstanceState : Bundle ? ) {
25
31
super .onCreate(savedInstanceState)
@@ -30,18 +36,29 @@ class AudioFragment : Fragment(), LottieSpeechAnimator.OnSpeechRecognitionListen
30
36
AudioManager .FLAG_REMOVE_SOUND_AND_VIBRATE
31
37
)
32
38
}
39
+ continuousListen = preferences.getBoolean(" continuous_listen" , false )
33
40
binding = FragmentAudioBinding .inflate(layoutInflater)
34
- lottieSpeechAnimator = LottieSpeechAnimator (requireContext(), binding.animationView)
41
+ lottieSpeechAnimator = LottieSpeechAnimator (
42
+ context = requireContext(),
43
+ animationView = binding.animationView,
44
+ listenContinuously = continuousListen
45
+ )
35
46
lottieSpeechAnimator.setOnSpeechRecognitionListener(this )
36
47
}
37
48
38
49
override fun onCreateView (
39
50
inflater : LayoutInflater , container : ViewGroup ? ,
40
51
savedInstanceState : Bundle ?
41
52
): View {
42
- binding.listen.setOnClickListener {
43
- lottieSpeechAnimator.stop()
53
+ if (continuousListen) {
54
+ binding.listen.visibility = View . GONE
44
55
lottieSpeechAnimator.start()
56
+ } else {
57
+ binding.listen.visibility = View .VISIBLE
58
+ binding.listen.setOnClickListener {
59
+ lottieSpeechAnimator.stop()
60
+ lottieSpeechAnimator.start()
61
+ }
45
62
}
46
63
return binding.root
47
64
}
0 commit comments