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