@Override public void onGetSentenceSuggestions(SentenceSuggestionsInfo[] results) { Log.d("SoftKeyboard", "onGetSentenceSuggestions"); final List<String> sb = new ArrayList<>(); for (int i = 0; i < results.length; ++i) { final SentenceSuggestionsInfo ssi = results[i]; for (int j = 0; j < ssi.getSuggestionsCount(); ++j) { dumpSuggestionsInfoInternal( sb, ssi.getSuggestionsInfoAt(j), ssi.getOffsetAt(j), ssi.getLengthAt(j)); } } Log.d("SoftKeyboard", "SUGGESTIONS: " + sb.toString()); setSuggestions(sb, true, true); } }
@Override public void onGetSentenceSuggestions(SentenceSuggestionsInfo[] results) { try { final List<String> sb = new ArrayList<>(); for (final SentenceSuggestionsInfo ssi : results) { for (int j = 0; j < ssi.getSuggestionsCount(); ++j) { dumpSuggestionsInfoInternal( sb, ssi.getSuggestionsInfoAt(j), ssi.getOffsetAt(j), ssi.getLengthAt(j)); } } setSuggestions(sb, true, true); } catch(Exception ignored){} } private void setCapsOn(boolean on) {
/** * Checks for typos and sends results back to native through a JNI call. * @param results Results returned by the Android spellchecker. */ @Override public void onGetSentenceSuggestions(SentenceSuggestionsInfo[] results) { ArrayList<Integer> offsets = new ArrayList<Integer>(); ArrayList<Integer> lengths = new ArrayList<Integer>(); for (SentenceSuggestionsInfo result : results) { for (int i = 0; i < result.getSuggestionsCount(); i++) { // If a word looks like a typo, record its offset and length. if ((result.getSuggestionsInfoAt(i).getSuggestionsAttributes() & SuggestionsInfo.RESULT_ATTR_LOOKS_LIKE_TYPO) == SuggestionsInfo.RESULT_ATTR_LOOKS_LIKE_TYPO) { offsets.add(result.getOffsetAt(i)); lengths.add(result.getLengthAt(i)); } } } nativeProcessSpellCheckResults(mNativeSpellCheckerSessionBridge, convertListToArray(offsets), convertListToArray(lengths)); }
@Override public void onGetSentenceSuggestions(SentenceSuggestionsInfo[] sentenceSuggestionsInfos) { final StringBuilder sb = new StringBuilder(); for (int i = 0; i < sentenceSuggestionsInfos.length; ++i) { final SentenceSuggestionsInfo ssi = sentenceSuggestionsInfos[i]; for (int j = 0; j < ssi.getSuggestionsCount(); ++j) { dumpSuggestionsInfoInternal( sb, ssi.getSuggestionsInfoAt(j), ssi.getOffsetAt(j), ssi.getLengthAt(j)); } } runOnUiThread(new Runnable() { @Override public void run() { tvResult.append(sb.toString()); } }); } }