Loading java/src/com/android/inputmethod/latin/CompletionInfoUtils.java 0 → 100644 +43 −0 Original line number Diff line number Diff line /* * Copyright (C) 2013 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.inputmethod.latin; import android.text.TextUtils; import android.view.inputmethod.CompletionInfo; import java.util.Arrays; /** * Utilities to do various stuff with CompletionInfo. */ public class CompletionInfoUtils { private CompletionInfoUtils() { // This utility class is not publicly instantiable. } public static CompletionInfo[] removeNulls(final CompletionInfo[] src) { int j = 0; final CompletionInfo[] dst = new CompletionInfo[src.length]; for (int i = 0; i < src.length; ++i) { if (null != src[i] && !TextUtils.isEmpty(src[i].getText())) { dst[j] = src[i]; ++j; } } return Arrays.copyOfRange(dst, 0, j); } } java/src/com/android/inputmethod/latin/LatinIME.java +2 −1 Original line number Diff line number Diff line Loading @@ -983,7 +983,8 @@ public final class LatinIME extends InputMethodService implements KeyboardAction } } if (!mSettings.getCurrent().isApplicationSpecifiedCompletionsOn()) return; mApplicationSpecifiedCompletions = applicationSpecifiedCompletions; mApplicationSpecifiedCompletions = CompletionInfoUtils.removeNulls(applicationSpecifiedCompletions); if (applicationSpecifiedCompletions == null) { clearSuggestionStrip(); if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) { Loading java/src/com/android/inputmethod/latin/RichInputConnection.java +3 −1 Original line number Diff line number Diff line Loading @@ -392,7 +392,9 @@ public final class RichInputConnection { public void commitCompletion(final CompletionInfo completionInfo) { if (DEBUG_BATCH_NESTING) checkBatchEdit(); if (DEBUG_PREVIOUS_TEXT) checkConsistencyForDebug(); final CharSequence text = completionInfo.getText(); CharSequence text = completionInfo.getText(); // text should never be null, but just in case, it's better to insert nothing than to crash if (null == text) text = ""; mCommittedTextBeforeComposingText.append(text); mCurrentCursorPosition += text.length() - mComposingText.length(); mComposingText.setLength(0); Loading Loading
java/src/com/android/inputmethod/latin/CompletionInfoUtils.java 0 → 100644 +43 −0 Original line number Diff line number Diff line /* * Copyright (C) 2013 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.inputmethod.latin; import android.text.TextUtils; import android.view.inputmethod.CompletionInfo; import java.util.Arrays; /** * Utilities to do various stuff with CompletionInfo. */ public class CompletionInfoUtils { private CompletionInfoUtils() { // This utility class is not publicly instantiable. } public static CompletionInfo[] removeNulls(final CompletionInfo[] src) { int j = 0; final CompletionInfo[] dst = new CompletionInfo[src.length]; for (int i = 0; i < src.length; ++i) { if (null != src[i] && !TextUtils.isEmpty(src[i].getText())) { dst[j] = src[i]; ++j; } } return Arrays.copyOfRange(dst, 0, j); } }
java/src/com/android/inputmethod/latin/LatinIME.java +2 −1 Original line number Diff line number Diff line Loading @@ -983,7 +983,8 @@ public final class LatinIME extends InputMethodService implements KeyboardAction } } if (!mSettings.getCurrent().isApplicationSpecifiedCompletionsOn()) return; mApplicationSpecifiedCompletions = applicationSpecifiedCompletions; mApplicationSpecifiedCompletions = CompletionInfoUtils.removeNulls(applicationSpecifiedCompletions); if (applicationSpecifiedCompletions == null) { clearSuggestionStrip(); if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) { Loading
java/src/com/android/inputmethod/latin/RichInputConnection.java +3 −1 Original line number Diff line number Diff line Loading @@ -392,7 +392,9 @@ public final class RichInputConnection { public void commitCompletion(final CompletionInfo completionInfo) { if (DEBUG_BATCH_NESTING) checkBatchEdit(); if (DEBUG_PREVIOUS_TEXT) checkConsistencyForDebug(); final CharSequence text = completionInfo.getText(); CharSequence text = completionInfo.getText(); // text should never be null, but just in case, it's better to insert nothing than to crash if (null == text) text = ""; mCommittedTextBeforeComposingText.append(text); mCurrentCursorPosition += text.length() - mComposingText.length(); mComposingText.setLength(0); Loading