mirror of https://github.com/M66B/FairEmail.git
LanguageTool premium: check per paragraph
This commit is contained in:
parent
29698d3a92
commit
e384f0ac2e
|
@ -99,8 +99,28 @@ public class LanguageTool {
|
|||
}
|
||||
|
||||
static List<Suggestion> getSuggestions(Context context, CharSequence text) throws IOException, JSONException {
|
||||
if (TextUtils.isEmpty(text))
|
||||
if (isPremium(context)) {
|
||||
// Check per paragraph, so the language is detected by paragraph
|
||||
List<Suggestion> result = new ArrayList<>();
|
||||
int start = 0;
|
||||
int end = start;
|
||||
int len = text.length();
|
||||
while (end < len) {
|
||||
while (end < len && text.charAt(end) != '\n')
|
||||
end++;
|
||||
result.addAll(getSuggestions(context, text, start, end));
|
||||
start = end + 1;
|
||||
end = start;
|
||||
}
|
||||
return result;
|
||||
} else
|
||||
return getSuggestions(context, text, 0, text.length());
|
||||
}
|
||||
|
||||
private static List<Suggestion> getSuggestions(Context context, CharSequence text, int start, int end) throws IOException, JSONException {
|
||||
if (start < 0 || end > text.length() || start == end)
|
||||
return new ArrayList<>();
|
||||
String t = text.subSequence(start, end).toString();
|
||||
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
boolean lt_picky = prefs.getBoolean("lt_picky", false);
|
||||
|
@ -111,7 +131,7 @@ public class LanguageTool {
|
|||
|
||||
// https://languagetool.org/http-api/swagger-ui/#!/default/post_check
|
||||
Uri.Builder builder = new Uri.Builder()
|
||||
.appendQueryParameter("text", text.toString())
|
||||
.appendQueryParameter("text", t)
|
||||
.appendQueryParameter("language", "auto");
|
||||
|
||||
// curl -X GET --header 'Accept: application/json' 'https://api.languagetool.org/v2/languages'
|
||||
|
|
Loading…
Reference in New Issue