From 1a9962072dd5cf9ebb3fc23efa7844d24d3213f3 Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 15 May 2024 13:48:11 +0200 Subject: [PATCH] OpenAI: prevent empty text parts --- app/src/main/java/eu/faircode/email/OpenAI.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/OpenAI.java b/app/src/main/java/eu/faircode/email/OpenAI.java index cf6cac23ef..e9c3af24b2 100644 --- a/app/src/main/java/eu/faircode/email/OpenAI.java +++ b/app/src/main/java/eu/faircode/email/OpenAI.java @@ -273,9 +273,16 @@ public class OpenAI { int start = 0; while (start < ssb.length()) { int end = ssb.nextSpanTransition(start, ssb.length(), ImageSpanEx.class); - String text = ssb.subSequence(start, end).toString(); - Log.i("OpenAI content " + start + "..." + end + " text=" + text.replace('\n', '|')); - contents.add(new OpenAI.Content(OpenAI.CONTENT_TEXT, text)); + + String text = ssb.subSequence(start, end).toString().trim() + .replace("\u00a0", "") + .replace("\ufffc", ""); + Log.i("OpenAI content " + start + "..." + end + + " text=[" + Helper.getPrintableString(text, true) + "]"); + + if (!TextUtils.isEmpty(text)) + contents.add(new OpenAI.Content(OpenAI.CONTENT_TEXT, text)); + if (end < ssb.length()) { ImageSpanEx[] spans = ssb.getSpans(end, end, ImageSpanEx.class); Log.i("OpenAI images=" + (spans == null ? null : spans.length)); @@ -307,6 +314,7 @@ public class OpenAI { end = e; } } + start = (end > start ? end : start + 1); }