Update app/src/main/java/com/example/cuida/ui/sns24/Sns24Fragment.java

This commit is contained in:
2026-04-28 15:22:45 +00:00
parent 3a6007d23c
commit b07d5778fc

View File

@@ -74,39 +74,42 @@ public class Sns24Fragment extends Fragment {
"Se os sintomas indicarem perigo de vida ou necessidade de observação urgente, OBRIGATORIAMENTE começa a tua primeira linha com a palavra [GRAVE]. " + "Se os sintomas indicarem perigo de vida ou necessidade de observação urgente, OBRIGATORIAMENTE começa a tua primeira linha com a palavra [GRAVE]. " +
"Sintomas do paciente: " + symptoms; "Sintomas do paciente: " + symptoms;
ollama.fazerPergunta(prompt, new Ollama().OllamaCallback() { ollama.fazerPergunta(prompt, new OllamaService.OllamaCallback() {
@Override @Override
public void onSuccess(String result) { public void onSuccess(String result) {
if (getActivity() != null && binding != null) { // Já estamos na Main Thread graças ao Handler no serviço!
getActivity().runOnUiThread(() -> { if (getActivity() != null && binding != null) {
String displayResult = result.replace("[GRAVE]", "").trim();
binding.textAiResult.setText(displayResult);
binding.buttonAiTriage.setEnabled(true);
if (result.contains("[GRAVE]")) { // Limpa o marcador [GRAVE] para não aparecer ao utilizador
binding.buttonFindHospital.setVisibility(View.VISIBLE); String displayResult = result.replace("[GRAVE]", "").trim();
binding.buttonFindHospital.setOnClickListener(v -> {
Uri gmmIntentUri = Uri.parse("geo:0,0?q=hospital+mais+proximo"); binding.textAiResult.setText(displayResult);
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); binding.buttonAiTriage.setEnabled(true);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent); // Verifica se a string ORIGINAL continha o marcador
}); if (result.contains("[GRAVE]")) {
} binding.buttonFindHospital.setVisibility(View.VISIBLE);
saveTriageToHistory(symptoms, displayResult); binding.buttonFindHospital.setOnClickListener(v -> {
}); Uri gmmIntentUri = Uri.parse("geo:0,0?q=hospital+mais+proximo");
} Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
});
} }
@Override saveTriageToHistory(symptoms, displayResult);
public void onError(Throwable t) { }
if (getActivity() != null && binding != null) { }
getActivity().runOnUiThread(() -> {
binding.textAiResult.setText("Erro na ligação: " + t.getMessage()); @Override
binding.buttonAiTriage.setEnabled(true); public void onError(Throwable t) {
}); // Já estamos na Main Thread
} if (getActivity() != null && binding != null) {
} binding.textAiResult.setText("Erro na ligação: " + t.getMessage());
}); binding.buttonAiTriage.setEnabled(true);
}
}
});
} }
private void saveTriageToHistory(String symptoms, String result) { private void saveTriageToHistory(String symptoms, String result) {