Loading api/current.xml +264 −0 Original line number Diff line number Diff line Loading @@ -201858,6 +201858,186 @@ </parameter> </method> </class> <class name="CorrectionSpan" extends="java.lang.Object" abstract="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <implements name="android.text.ParcelableSpan"> </implements> <constructor name="CorrectionSpan" type="android.text.style.CorrectionSpan" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="context" type="android.content.Context"> </parameter> <parameter name="suggests" type="java.util.List<java.lang.CharSequence>"> </parameter> <parameter name="flags" type="int"> </parameter> </constructor> <constructor name="CorrectionSpan" type="android.text.style.CorrectionSpan" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="locale" type="java.util.Locale"> </parameter> <parameter name="suggests" type="java.util.List<java.lang.CharSequence>"> </parameter> <parameter name="flags" type="int"> </parameter> </constructor> <constructor name="CorrectionSpan" type="android.text.style.CorrectionSpan" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="context" type="android.content.Context"> </parameter> <parameter name="locale" type="java.util.Locale"> </parameter> <parameter name="suggests" type="java.util.List<java.lang.CharSequence>"> </parameter> <parameter name="flags" type="int"> </parameter> <parameter name="originalString" type="java.lang.String"> </parameter> </constructor> <constructor name="CorrectionSpan" type="android.text.style.CorrectionSpan" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="src" type="android.os.Parcel"> </parameter> </constructor> <method name="describeContents" return="int" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="getFlags" return="int" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="getLocale" return="java.lang.String" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="getOriginalString" return="java.lang.String" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="getSpanTypeId" return="int" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="getSuggests" return="java.util.List<java.lang.CharSequence>" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="writeToParcel" return="void" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="dest" type="android.os.Parcel"> </parameter> <parameter name="flags" type="int"> </parameter> </method> <field name="CREATOR" type="android.os.Parcelable.Creator" transient="false" volatile="false" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="FLAG_DEFAULT" type="int" transient="false" volatile="false" value="0" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="FLAG_VERBATIM" type="int" transient="false" volatile="false" value="1" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> </class> <class name="DrawableMarginSpan" extends="java.lang.Object" abstract="false" Loading Loading @@ -236559,6 +236739,27 @@ <parameter name="newCursorPosition" type="int"> </parameter> </method> <method name="setCorrectionSpan" return="boolean" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="token" type="android.os.IBinder"> </parameter> <parameter name="correctionSpan" type="android.text.style.CorrectionSpan"> </parameter> <parameter name="start" type="int"> </parameter> <parameter name="end" type="int"> </parameter> <parameter name="flags" type="int"> </parameter> </method> <method name="setSelection" return="boolean" abstract="false" Loading Loading @@ -237829,6 +238030,27 @@ <parameter name="newCursorPosition" type="int"> </parameter> </method> <method name="setCorrectionSpan" return="boolean" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="token" type="android.os.IBinder"> </parameter> <parameter name="correctionSpan" type="android.text.style.CorrectionSpan"> </parameter> <parameter name="start" type="int"> </parameter> <parameter name="end" type="int"> </parameter> <parameter name="flags" type="int"> </parameter> </method> <method name="setSelection" return="boolean" abstract="true" Loading Loading @@ -238159,6 +238381,27 @@ <parameter name="newCursorPosition" type="int"> </parameter> </method> <method name="setCorrectionSpan" return="boolean" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="token" type="android.os.IBinder"> </parameter> <parameter name="correctionSpan" type="android.text.style.CorrectionSpan"> </parameter> <parameter name="start" type="int"> </parameter> <parameter name="end" type="int"> </parameter> <parameter name="flags" type="int"> </parameter> </method> <method name="setSelection" return="boolean" abstract="false" Loading Loading @@ -264485,6 +264728,27 @@ <parameter name="bottom" type="android.graphics.drawable.Drawable"> </parameter> </method> <method name="setCorrectionSpan" return="boolean" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="token" type="android.os.IBinder"> </parameter> <parameter name="span" type="android.text.style.CorrectionSpan"> </parameter> <parameter name="start" type="int"> </parameter> <parameter name="end" type="int"> </parameter> <parameter name="flags" type="int"> </parameter> </method> <method name="setCursorVisible" return="void" abstract="false" core/java/android/text/TextUtils.java +2 −0 Original line number Diff line number Diff line Loading @@ -565,6 +565,8 @@ public class TextUtils { public static final int TEXT_APPEARANCE_SPAN = 17; /** @hide */ public static final int ANNOTATION = 18; /** @hide */ public static final int CORRECTION_SPAN = 19; /** * Flatten a CharSequence and whatever styles can be copied across processes Loading core/java/android/text/style/CorrectionSpan.aidl 0 → 100644 +19 −0 Original line number Diff line number Diff line /* * Copyright (C) 2011 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 android.text.style; parcelable CorrectionSpan; core/java/android/text/style/CorrectionSpan.java 0 → 100644 +161 −0 Original line number Diff line number Diff line /* * Copyright (C) 2011 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 android.text.style; import android.content.Context; import android.os.Parcel; import android.os.Parcelable; import android.text.ParcelableSpan; import android.text.TextUtils; import java.util.ArrayList; import java.util.List; import java.util.Locale; public class CorrectionSpan implements ParcelableSpan { /** * Flag for the default value. */ public static final int FLAG_DEFAULT = 0x0000; /** * Flag for indicating that the input is verbatim. TextView refers to this flag to determine * how it displays a word with CorrectionSpan. */ public static final int FLAG_VERBATIM = 0x0001; private static final int SUGGESTS_MAX_SIZE = 5; /* * TODO: Needs to check the validity and add a feature that TextView will change * the current IME to the other IME which is specified in CorrectionSpan. * An IME needs to set the span by specifying the target IME and Subtype of CorrectionSpan. * And the current IME might want to specify any IME as the target IME including other IMEs. */ private final int mFlags; private final List<CharSequence> mSuggests = new ArrayList<CharSequence>(); private final String mLocaleString; private final String mOriginalString; /* * TODO: If switching IME is required, needs to add parameters for ids of InputMethodInfo * and InputMethodSubtype. */ /** * @param context Context for the application * @param suggests Suggests for the string under the span * @param flags Additional flags indicating how this span is handled in TextView */ public CorrectionSpan(Context context, List<CharSequence> suggests, int flags) { this(context, null, suggests, flags, null); } /** * @param locale Locale of the suggestions * @param suggests Suggests for the string under the span * @param flags Additional flags indicating how this span is handled in TextView */ public CorrectionSpan(Locale locale, List<CharSequence> suggests, int flags) { this(null, locale, suggests, flags, null); } /** * @param context Context for the application * @param locale locale Locale of the suggestions * @param suggests suggests Suggests for the string under the span * @param flags Additional flags indicating how this span is handled in TextView * @param originalString originalString for suggests */ public CorrectionSpan(Context context, Locale locale, List<CharSequence> suggests, int flags, String originalString) { final int N = Math.min(SUGGESTS_MAX_SIZE, suggests.size()); for (int i = 0; i < N; ++i) { mSuggests.add(suggests.get(i)); } mFlags = flags; if (context != null && locale == null) { mLocaleString = context.getResources().getConfiguration().locale.toString(); } else { mLocaleString = locale.toString(); } mOriginalString = originalString; } public CorrectionSpan(Parcel src) { src.readList(mSuggests, null); mFlags = src.readInt(); mLocaleString = src.readString(); mOriginalString = src.readString(); } /** * @return suggestions */ public List<CharSequence> getSuggests() { return new ArrayList<CharSequence>(mSuggests); } /** * @return locale of suggestions */ public String getLocale() { return mLocaleString; } /** * @return original string of suggestions */ public String getOriginalString() { return mOriginalString; } public int getFlags() { return mFlags; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeList(mSuggests); dest.writeInt(mFlags); dest.writeString(mLocaleString); dest.writeString(mOriginalString); } @Override public int getSpanTypeId() { return TextUtils.CORRECTION_SPAN; } public static final Parcelable.Creator<CorrectionSpan> CREATOR = new Parcelable.Creator<CorrectionSpan>() { @Override public CorrectionSpan createFromParcel(Parcel source) { return new CorrectionSpan(source); } @Override public CorrectionSpan[] newArray(int size) { return new CorrectionSpan[size]; } }; } core/java/android/view/inputmethod/BaseInputConnection.java +11 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.content.Context; import android.content.res.TypedArray; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.os.SystemClock; import android.text.Editable; import android.text.NoCopySpan; Loading @@ -29,6 +30,7 @@ import android.text.SpannableStringBuilder; import android.text.Spanned; import android.text.TextUtils; import android.text.method.MetaKeyKeyListener; import android.text.style.CorrectionSpan; import android.util.Log; import android.util.LogPrinter; import android.view.KeyCharacterMap; Loading Loading @@ -189,6 +191,15 @@ public class BaseInputConnection implements InputConnection { return true; } /** * Default implementation does nothing and returns false. */ @Override public boolean setCorrectionSpan(IBinder token, CorrectionSpan correctionSpan, int start, int end, int flags) { return false; } /** * The default implementation performs the deletion around the current * selection position of the editable text. Loading Loading
api/current.xml +264 −0 Original line number Diff line number Diff line Loading @@ -201858,6 +201858,186 @@ </parameter> </method> </class> <class name="CorrectionSpan" extends="java.lang.Object" abstract="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <implements name="android.text.ParcelableSpan"> </implements> <constructor name="CorrectionSpan" type="android.text.style.CorrectionSpan" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="context" type="android.content.Context"> </parameter> <parameter name="suggests" type="java.util.List<java.lang.CharSequence>"> </parameter> <parameter name="flags" type="int"> </parameter> </constructor> <constructor name="CorrectionSpan" type="android.text.style.CorrectionSpan" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="locale" type="java.util.Locale"> </parameter> <parameter name="suggests" type="java.util.List<java.lang.CharSequence>"> </parameter> <parameter name="flags" type="int"> </parameter> </constructor> <constructor name="CorrectionSpan" type="android.text.style.CorrectionSpan" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="context" type="android.content.Context"> </parameter> <parameter name="locale" type="java.util.Locale"> </parameter> <parameter name="suggests" type="java.util.List<java.lang.CharSequence>"> </parameter> <parameter name="flags" type="int"> </parameter> <parameter name="originalString" type="java.lang.String"> </parameter> </constructor> <constructor name="CorrectionSpan" type="android.text.style.CorrectionSpan" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="src" type="android.os.Parcel"> </parameter> </constructor> <method name="describeContents" return="int" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="getFlags" return="int" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="getLocale" return="java.lang.String" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="getOriginalString" return="java.lang.String" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="getSpanTypeId" return="int" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="getSuggests" return="java.util.List<java.lang.CharSequence>" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > </method> <method name="writeToParcel" return="void" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="dest" type="android.os.Parcel"> </parameter> <parameter name="flags" type="int"> </parameter> </method> <field name="CREATOR" type="android.os.Parcelable.Creator" transient="false" volatile="false" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="FLAG_DEFAULT" type="int" transient="false" volatile="false" value="0" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="FLAG_VERBATIM" type="int" transient="false" volatile="false" value="1" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> </class> <class name="DrawableMarginSpan" extends="java.lang.Object" abstract="false" Loading Loading @@ -236559,6 +236739,27 @@ <parameter name="newCursorPosition" type="int"> </parameter> </method> <method name="setCorrectionSpan" return="boolean" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="token" type="android.os.IBinder"> </parameter> <parameter name="correctionSpan" type="android.text.style.CorrectionSpan"> </parameter> <parameter name="start" type="int"> </parameter> <parameter name="end" type="int"> </parameter> <parameter name="flags" type="int"> </parameter> </method> <method name="setSelection" return="boolean" abstract="false" Loading Loading @@ -237829,6 +238030,27 @@ <parameter name="newCursorPosition" type="int"> </parameter> </method> <method name="setCorrectionSpan" return="boolean" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="token" type="android.os.IBinder"> </parameter> <parameter name="correctionSpan" type="android.text.style.CorrectionSpan"> </parameter> <parameter name="start" type="int"> </parameter> <parameter name="end" type="int"> </parameter> <parameter name="flags" type="int"> </parameter> </method> <method name="setSelection" return="boolean" abstract="true" Loading Loading @@ -238159,6 +238381,27 @@ <parameter name="newCursorPosition" type="int"> </parameter> </method> <method name="setCorrectionSpan" return="boolean" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="token" type="android.os.IBinder"> </parameter> <parameter name="correctionSpan" type="android.text.style.CorrectionSpan"> </parameter> <parameter name="start" type="int"> </parameter> <parameter name="end" type="int"> </parameter> <parameter name="flags" type="int"> </parameter> </method> <method name="setSelection" return="boolean" abstract="false" Loading Loading @@ -264485,6 +264728,27 @@ <parameter name="bottom" type="android.graphics.drawable.Drawable"> </parameter> </method> <method name="setCorrectionSpan" return="boolean" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="token" type="android.os.IBinder"> </parameter> <parameter name="span" type="android.text.style.CorrectionSpan"> </parameter> <parameter name="start" type="int"> </parameter> <parameter name="end" type="int"> </parameter> <parameter name="flags" type="int"> </parameter> </method> <method name="setCursorVisible" return="void" abstract="false"
core/java/android/text/TextUtils.java +2 −0 Original line number Diff line number Diff line Loading @@ -565,6 +565,8 @@ public class TextUtils { public static final int TEXT_APPEARANCE_SPAN = 17; /** @hide */ public static final int ANNOTATION = 18; /** @hide */ public static final int CORRECTION_SPAN = 19; /** * Flatten a CharSequence and whatever styles can be copied across processes Loading
core/java/android/text/style/CorrectionSpan.aidl 0 → 100644 +19 −0 Original line number Diff line number Diff line /* * Copyright (C) 2011 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 android.text.style; parcelable CorrectionSpan;
core/java/android/text/style/CorrectionSpan.java 0 → 100644 +161 −0 Original line number Diff line number Diff line /* * Copyright (C) 2011 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 android.text.style; import android.content.Context; import android.os.Parcel; import android.os.Parcelable; import android.text.ParcelableSpan; import android.text.TextUtils; import java.util.ArrayList; import java.util.List; import java.util.Locale; public class CorrectionSpan implements ParcelableSpan { /** * Flag for the default value. */ public static final int FLAG_DEFAULT = 0x0000; /** * Flag for indicating that the input is verbatim. TextView refers to this flag to determine * how it displays a word with CorrectionSpan. */ public static final int FLAG_VERBATIM = 0x0001; private static final int SUGGESTS_MAX_SIZE = 5; /* * TODO: Needs to check the validity and add a feature that TextView will change * the current IME to the other IME which is specified in CorrectionSpan. * An IME needs to set the span by specifying the target IME and Subtype of CorrectionSpan. * And the current IME might want to specify any IME as the target IME including other IMEs. */ private final int mFlags; private final List<CharSequence> mSuggests = new ArrayList<CharSequence>(); private final String mLocaleString; private final String mOriginalString; /* * TODO: If switching IME is required, needs to add parameters for ids of InputMethodInfo * and InputMethodSubtype. */ /** * @param context Context for the application * @param suggests Suggests for the string under the span * @param flags Additional flags indicating how this span is handled in TextView */ public CorrectionSpan(Context context, List<CharSequence> suggests, int flags) { this(context, null, suggests, flags, null); } /** * @param locale Locale of the suggestions * @param suggests Suggests for the string under the span * @param flags Additional flags indicating how this span is handled in TextView */ public CorrectionSpan(Locale locale, List<CharSequence> suggests, int flags) { this(null, locale, suggests, flags, null); } /** * @param context Context for the application * @param locale locale Locale of the suggestions * @param suggests suggests Suggests for the string under the span * @param flags Additional flags indicating how this span is handled in TextView * @param originalString originalString for suggests */ public CorrectionSpan(Context context, Locale locale, List<CharSequence> suggests, int flags, String originalString) { final int N = Math.min(SUGGESTS_MAX_SIZE, suggests.size()); for (int i = 0; i < N; ++i) { mSuggests.add(suggests.get(i)); } mFlags = flags; if (context != null && locale == null) { mLocaleString = context.getResources().getConfiguration().locale.toString(); } else { mLocaleString = locale.toString(); } mOriginalString = originalString; } public CorrectionSpan(Parcel src) { src.readList(mSuggests, null); mFlags = src.readInt(); mLocaleString = src.readString(); mOriginalString = src.readString(); } /** * @return suggestions */ public List<CharSequence> getSuggests() { return new ArrayList<CharSequence>(mSuggests); } /** * @return locale of suggestions */ public String getLocale() { return mLocaleString; } /** * @return original string of suggestions */ public String getOriginalString() { return mOriginalString; } public int getFlags() { return mFlags; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeList(mSuggests); dest.writeInt(mFlags); dest.writeString(mLocaleString); dest.writeString(mOriginalString); } @Override public int getSpanTypeId() { return TextUtils.CORRECTION_SPAN; } public static final Parcelable.Creator<CorrectionSpan> CREATOR = new Parcelable.Creator<CorrectionSpan>() { @Override public CorrectionSpan createFromParcel(Parcel source) { return new CorrectionSpan(source); } @Override public CorrectionSpan[] newArray(int size) { return new CorrectionSpan[size]; } }; }
core/java/android/view/inputmethod/BaseInputConnection.java +11 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.content.Context; import android.content.res.TypedArray; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.os.SystemClock; import android.text.Editable; import android.text.NoCopySpan; Loading @@ -29,6 +30,7 @@ import android.text.SpannableStringBuilder; import android.text.Spanned; import android.text.TextUtils; import android.text.method.MetaKeyKeyListener; import android.text.style.CorrectionSpan; import android.util.Log; import android.util.LogPrinter; import android.view.KeyCharacterMap; Loading Loading @@ -189,6 +191,15 @@ public class BaseInputConnection implements InputConnection { return true; } /** * Default implementation does nothing and returns false. */ @Override public boolean setCorrectionSpan(IBinder token, CorrectionSpan correctionSpan, int start, int end, int flags) { return false; } /** * The default implementation performs the deletion around the current * selection position of the editable text. Loading