From b833197f5183addee8452d15417b0e0a65784d79 Mon Sep 17 00:00:00 2001 From: sspanak Date: Thu, 20 Jun 2024 17:57:30 +0300 Subject: [PATCH] fixed a crash when holding Backspace to delete generated word suggestions on slower devices --- .../github/sspanak/tt9/ime/modes/helpers/Predictions.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/modes/helpers/Predictions.java b/app/src/main/java/io/github/sspanak/tt9/ime/modes/helpers/Predictions.java index 218a60f5..a6f0cac8 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ime/modes/helpers/Predictions.java +++ b/app/src/main/java/io/github/sspanak/tt9/ime/modes/helpers/Predictions.java @@ -173,6 +173,12 @@ public class Predictions { private ArrayList generateWordVariations(String baseWord) { ArrayList generatedWords = new ArrayList<>(); + // This function is called from async context, so by the time it is executed, the digit sequence + // might have been deleted. But in this case, it makes no sense to generate suggestions. + if (digitSequence.isEmpty()) { + return generatedWords; + } + // Make sure the displayed word and the digit sequence, we will be generating suggestions from, // have the same length, to prevent visual discrepancies. baseWord = (baseWord != null && !baseWord.isEmpty()) ? baseWord.substring(0, Math.min(digitSequence.length() - 1, baseWord.length())) : "";