Skip to content

Commit 1f8b62c

Browse files
Merge pull request #11 from SidharthMudgil/feature-interaction-controls
feature interaction controls
2 parents e0ad411 + 17a5b10 commit 1f8b62c

File tree

75 files changed

+787
-134
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+787
-134
lines changed

app/build.gradle

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ dependencies {
4343
implementation 'com.google.android.material:material:1.9.0'
4444
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
4545
implementation 'androidx.preference:preference-ktx:1.2.1'
46+
implementation 'androidx.preference:preference:1.2.1'
4647
testImplementation 'junit:junit:4.13.2'
4748
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
4849
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
@@ -57,8 +58,8 @@ dependencies {
5758
implementation "androidx.camera:camera-view:1.2.3"
5859

5960
// Navigation
60-
implementation "androidx.navigation:navigation-fragment-ktx:2.7.0"
61-
implementation "androidx.navigation:navigation-ui-ktx:2.7.0"
61+
implementation "androidx.navigation:navigation-fragment-ktx:2.7.1"
62+
implementation "androidx.navigation:navigation-ui-ktx:2.7.1"
6263

6364
// Coroutines
6465
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.1'

app/src/main/java/com/sidharth/lg_motion/MainActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,14 +105,14 @@ class MainActivity : AppCompatActivity(), ProgressIndicatorCallback {
105105

106106
private fun checkBottomNavigationViewMenuItem(id: Int) {
107107
when (id) {
108-
R.id.cameraFragment, R.id.audioFragment, R.id.infoFragment -> {
108+
R.id.cameraFragment, R.id.audioFragment -> {
109109
activityMainBinding.bottomNavigationView?.menu?.findItem(R.id.homeFragment)?.isChecked =
110110
true
111111
activityMainBinding.navigationRailView?.menu?.findItem(R.id.homeFragment)?.isChecked =
112112
true
113113
}
114114

115-
R.id.aboutFragment, R.id.openSourceLicenseFragment, R.id.privacyPolicyFragment -> {
115+
R.id.aboutFragment, R.id.openSourceLicenseFragment, R.id.privacyPolicyFragment, R.id.facialGesturesSettingsFragment -> {
116116
activityMainBinding.bottomNavigationView?.menu?.findItem(R.id.settingsFragment)?.isChecked =
117117
true
118118
activityMainBinding.navigationRailView?.menu?.findItem(R.id.settingsFragment)?.isChecked =

app/src/main/java/com/sidharth/lg_motion/ui/home/fragment/AudioFragment.kt

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.sidharth.lg_motion.ui.home.fragment
22

33
import android.content.Context
4+
import android.content.SharedPreferences
45
import android.media.AudioManager
56
import android.os.Bundle
67
import android.util.Log
@@ -9,6 +10,7 @@ import android.view.View
910
import android.view.ViewGroup
1011
import androidx.fragment.app.Fragment
1112
import androidx.lifecycle.lifecycleScope
13+
import androidx.preference.PreferenceManager
1214
import com.sidharth.lg_motion.databinding.FragmentAudioBinding
1315
import com.sidharth.lg_motion.util.LiquidGalaxyManager
1416
import com.sidharth.lg_motion.util.LottieSpeechAnimator
@@ -20,6 +22,10 @@ import kotlinx.coroutines.launch
2022
class AudioFragment : Fragment(), LottieSpeechAnimator.OnSpeechRecognitionListener {
2123
private lateinit var binding: FragmentAudioBinding
2224
private lateinit var lottieSpeechAnimator: LottieSpeechAnimator
25+
private val preferences: SharedPreferences by lazy {
26+
PreferenceManager.getDefaultSharedPreferences(requireContext())
27+
}
28+
private var continuousListen: Boolean = false
2329

2430
override fun onCreate(savedInstanceState: Bundle?) {
2531
super.onCreate(savedInstanceState)
@@ -30,18 +36,29 @@ class AudioFragment : Fragment(), LottieSpeechAnimator.OnSpeechRecognitionListen
3036
AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE
3137
)
3238
}
39+
continuousListen = preferences.getBoolean("continuous_listen", false)
3340
binding = FragmentAudioBinding.inflate(layoutInflater)
34-
lottieSpeechAnimator = LottieSpeechAnimator(requireContext(), binding.animationView)
41+
lottieSpeechAnimator = LottieSpeechAnimator(
42+
context = requireContext(),
43+
animationView = binding.animationView,
44+
listenContinuously = continuousListen
45+
)
3546
lottieSpeechAnimator.setOnSpeechRecognitionListener(this)
3647
}
3748

3849
override fun onCreateView(
3950
inflater: LayoutInflater, container: ViewGroup?,
4051
savedInstanceState: Bundle?
4152
): View {
42-
binding.listen.setOnClickListener {
43-
lottieSpeechAnimator.stop()
53+
if (continuousListen) {
54+
binding.listen.visibility = View.GONE
4455
lottieSpeechAnimator.start()
56+
} else {
57+
binding.listen.visibility = View.VISIBLE
58+
binding.listen.setOnClickListener {
59+
lottieSpeechAnimator.stop()
60+
lottieSpeechAnimator.start()
61+
}
4562
}
4663
return binding.root
4764
}

0 commit comments

Comments
 (0)