API Review: InputConnection error handling is inconsistent
Make BaseInputConnection also throws IllegalArgumentException as API defined. Test: atest BaseInputConnectionTest#testInvalidGetTextBeforeOrAfterCursorRequest BUG: 172313372 Change-Id: Ia99a7e0b6a652bc3995529780ba910fd370d3f5f
This commit is contained in:
@@ -43,6 +43,8 @@ import android.view.KeyEvent;
|
||||
import android.view.OnReceiveContentCallback;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.internal.util.Preconditions;
|
||||
|
||||
class ComposingText implements NoCopySpan {
|
||||
}
|
||||
|
||||
@@ -504,7 +506,7 @@ public class BaseInputConnection implements InputConnection {
|
||||
*/
|
||||
@Nullable
|
||||
public CharSequence getTextBeforeCursor(@IntRange(from = 0) int length, int flags) {
|
||||
if (length < 0) return null;
|
||||
Preconditions.checkArgumentNonnegative(length);
|
||||
|
||||
final Editable content = getEditable();
|
||||
if (content == null) return null;
|
||||
@@ -563,7 +565,7 @@ public class BaseInputConnection implements InputConnection {
|
||||
*/
|
||||
@Nullable
|
||||
public CharSequence getTextAfterCursor(@IntRange(from = 0) int length, int flags) {
|
||||
if (length < 0) return null;
|
||||
Preconditions.checkArgumentNonnegative(length);
|
||||
|
||||
final Editable content = getEditable();
|
||||
if (content == null) return null;
|
||||
@@ -600,7 +602,8 @@ public class BaseInputConnection implements InputConnection {
|
||||
@Nullable
|
||||
public SurroundingText getSurroundingText(
|
||||
@IntRange(from = 0) int beforeLength, @IntRange(from = 0) int afterLength, int flags) {
|
||||
if (beforeLength < 0 || afterLength < 0) return null;
|
||||
Preconditions.checkArgumentNonnegative(beforeLength);
|
||||
Preconditions.checkArgumentNonnegative(afterLength);
|
||||
|
||||
final Editable content = getEditable();
|
||||
if (content == null) return null;
|
||||
|
||||
Reference in New Issue
Block a user