Skip to content

Commit fbe75d5

Browse files
Merge pull request #380 from Ayush0Chaudhary/setter
now set the state of panda from the conversational agent
2 parents 8f7b0f3 + c849826 commit fbe75d5

File tree

9 files changed

+39
-1067
lines changed

9 files changed

+39
-1067
lines changed

app/src/main/java/com/blurr/voice/ConversationalAgentService.kt

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import com.blurr.voice.utilities.addResponse
3636
import com.blurr.voice.utilities.getReasoningModelApiResponse
3737
import com.blurr.voice.data.MemoryManager
3838
import com.blurr.voice.utilities.FreemiumManager
39+
import com.blurr.voice.utilities.PandaState
3940
import com.blurr.voice.utilities.UserProfileManager
4041
import com.blurr.voice.utilities.VisualFeedbackManager
4142
import com.blurr.voice.v2.AgentService
@@ -134,8 +135,9 @@ class ConversationalAgentService : Service() {
134135
showInputBoxIfNeeded()
135136
visualFeedbackManager.showSmallDeltaGlow()
136137

137-
// Start state monitoring
138+
// Start state monitoring and set initial state
138139
pandaStateManager.startMonitoring()
140+
pandaStateManager.setState(PandaState.IDLE)
139141

140142

141143
}
@@ -171,6 +173,7 @@ class ConversationalAgentService : Service() {
171173
firebaseAnalytics.logEvent("text_mode_activated", null)
172174

173175
isTextModeActive = true
176+
pandaStateManager.setState(PandaState.IDLE)
174177
speechCoordinator.stopListening()
175178
speechCoordinator.stopSpeaking()
176179
// Optionally hide the transcription view since user is typing
@@ -226,6 +229,7 @@ class ConversationalAgentService : Service() {
226229
// Skip greeting and start listening immediately
227230
serviceScope.launch {
228231
Log.d("ConvAgent", "Starting immediate listening (no greeting)")
232+
pandaStateManager.setState(PandaState.LISTENING)
229233
startImmediateListening()
230234
}
231235
return START_STICKY
@@ -267,6 +271,7 @@ class ConversationalAgentService : Service() {
267271
onResult = { recognizedText ->
268272
if (isTextModeActive) return@startListening // Ignore results in text mode
269273
Log.d("ConvAgent", "Final user transcription: $recognizedText")
274+
pandaStateManager.setState(PandaState.PROCESSING)
270275
visualFeedbackManager.updateTranscription(recognizedText)
271276
mainHandler.postDelayed({
272277
visualFeedbackManager.hideTranscription()
@@ -325,7 +330,12 @@ class ConversationalAgentService : Service() {
325330
Log.d("ConvAgent", "Listening state: $listening")
326331
if (listening) {
327332
if (isTextModeActive) return@startListening // Ignore state changes in text mode
333+
pandaStateManager.setState(PandaState.LISTENING)
328334
visualFeedbackManager.showTranscription()
335+
} else {
336+
if (!isTextModeActive) {
337+
pandaStateManager.setState(PandaState.IDLE)
338+
}
329339
}
330340
}
331341
)
@@ -340,6 +350,7 @@ class ConversationalAgentService : Service() {
340350
}
341351
ttsManager.setCaptionsEnabled(draw)
342352

353+
pandaStateManager.setState(PandaState.SPEAKING)
343354
speechCoordinator.speakText(text)
344355
Log.d("ConvAgent", "Panda said: $text")
345356
// --- CHANGE 4: Check if we are in text mode before starting to listen ---
@@ -355,6 +366,7 @@ class ConversationalAgentService : Service() {
355366
onResult = { recognizedText ->
356367
if (isTextModeActive) return@startListening // Ignore errors in text mode
357368
Log.d("ConvAgent", "Final user transcription: $recognizedText")
369+
pandaStateManager.setState(PandaState.PROCESSING)
358370
visualFeedbackManager.updateTranscription(recognizedText)
359371
mainHandler.postDelayed({
360372
visualFeedbackManager.hideTranscription()
@@ -413,7 +425,12 @@ class ConversationalAgentService : Service() {
413425
Log.d("ConvAgent", "Listening state: $listening")
414426
if (listening) {
415427
if (isTextModeActive) return@startListening // Ignore errors in text mode
428+
pandaStateManager.setState(PandaState.LISTENING)
416429
visualFeedbackManager.showTranscription()
430+
} else {
431+
if (!isTextModeActive) {
432+
pandaStateManager.setState(PandaState.IDLE)
433+
}
417434
}
418435
}
419436
)
@@ -520,6 +537,7 @@ class ConversationalAgentService : Service() {
520537
gracefulShutdown("Goodbye!", "command")
521538
return@launch
522539
}
540+
pandaStateManager.setState(PandaState.PROCESSING)
523541
visualFeedbackManager.showThinkingIndicator()
524542
val defaultJsonResponse = """{"Type": "Reply", "Reply": "I'm sorry, I had an issue.", "Instruction": "", "Should End": "Continue"}"""
525543
val rawModelResponse = getReasoningModelApiResponse(conversationHistory) ?: defaultJsonResponse
@@ -1338,7 +1356,8 @@ class ConversationalAgentService : Service() {
13381356
ttsManager.setCaptionsEnabled(false)
13391357
isRunning = false
13401358

1341-
// Stop state monitoring
1359+
// Stop state monitoring and set final state
1360+
pandaStateManager.setState(PandaState.IDLE)
13421361
pandaStateManager.stopMonitoring()
13431362
visualFeedbackManager.hideSmallDeltaGlow()
13441363
visualFeedbackManager.hideSpeakingOverlay() // <-- ADD THIS LINE

app/src/main/java/com/blurr/voice/crawler/AppMap.kt

Lines changed: 0 additions & 45 deletions
This file was deleted.

app/src/main/java/com/blurr/voice/crawler/DrawDebugLabeller.kt

Lines changed: 0 additions & 206 deletions
This file was deleted.

0 commit comments

Comments
 (0)