16435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne/* 26435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne * Copyright (C) 2011 The Android Open Source Project 36435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne * 46435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne * Licensed under the Apache License, Version 2.0 (the "License"); 56435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne * you may not use this file except in compliance with the License. 66435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne * You may obtain a copy of the License at 76435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne * 86435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne * http://www.apache.org/licenses/LICENSE-2.0 96435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne * 106435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne * Unless required by applicable law or agreed to in writing, software 116435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne * distributed under the License is distributed on an "AS IS" BASIS, 126435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne * See the License for the specific language governing permissions and 146435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne * limitations under the License. 156435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne */ 166435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne 176435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunnepackage android.text.style; 186435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne 1928294cc74491885c7fe4442353026f01f5b773e8Gilles Debunneimport android.os.Parcel; 2028294cc74491885c7fe4442353026f01f5b773e8Gilles Debunneimport android.text.ParcelableSpan; 2128294cc74491885c7fe4442353026f01f5b773e8Gilles Debunneimport android.text.TextUtils; 2228294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne 236435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne/** 246435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne * A SpellCheckSpan is an internal data structure created by the TextView's SpellChecker to 256435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne * annotate portions of the text that are about to or currently being spell checked. They are 266435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne * automatically removed once the spell check is completed. 276435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne * 286435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne * @hide 296435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne */ 3028294cc74491885c7fe4442353026f01f5b773e8Gilles Debunnepublic class SpellCheckSpan implements ParcelableSpan { 316435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne 326435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne private boolean mSpellCheckInProgress; 336435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne 346435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne public SpellCheckSpan() { 356435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne mSpellCheckInProgress = false; 366435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne } 376435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne 3828294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne public SpellCheckSpan(Parcel src) { 3928294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne mSpellCheckInProgress = (src.readInt() != 0); 4028294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne } 4128294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne 42b062e81e3a16af43db3619d721aa522c137d1aa9Gilles Debunne public void setSpellCheckInProgress(boolean inProgress) { 43b062e81e3a16af43db3619d721aa522c137d1aa9Gilles Debunne mSpellCheckInProgress = inProgress; 446435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne } 456435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne 466435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne public boolean isSpellCheckInProgress() { 476435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne return mSpellCheckInProgress; 486435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne } 4928294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne 5028294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne @Override 5128294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne public int describeContents() { 5228294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne return 0; 5328294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne } 5428294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne 5528294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne @Override 5628294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne public void writeToParcel(Parcel dest, int flags) { 5728294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne dest.writeInt(mSpellCheckInProgress ? 1 : 0); 5828294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne } 5928294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne 6028294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne @Override 6128294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne public int getSpanTypeId() { 6228294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne return TextUtils.SPELL_CHECK_SPAN; 6328294cc74491885c7fe4442353026f01f5b773e8Gilles Debunne } 646435a56a8c02de98befcc8cd743b2b638cffb327Gilles Debunne} 65