19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/*
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2009 The Android Open Source Project
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License.
69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and
149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License.
159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */
169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.text;
189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
19a70d4a90a029910f788c3e7f8715cf3b842b1e2bAlan Viveretteimport android.os.Parcel;
209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Parcelable;
219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/**
239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * A special kind of Parcelable for objects that will serve as text spans.
249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * This can only be used by code in the framework; it is not intended for
259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * applications to implement their own Parcelable spans.
269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */
279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic interface ParcelableSpan extends Parcelable {
289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    /**
299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project     * Return a special type identifier for this span class.
309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project     */
31a70d4a90a029910f788c3e7f8715cf3b842b1e2bAlan Viverette    int getSpanTypeId();
32a70d4a90a029910f788c3e7f8715cf3b842b1e2bAlan Viverette
33a70d4a90a029910f788c3e7f8715cf3b842b1e2bAlan Viverette    /**
34a70d4a90a029910f788c3e7f8715cf3b842b1e2bAlan Viverette     * Internal implementation of {@link #getSpanTypeId()} that is not meant to
35a70d4a90a029910f788c3e7f8715cf3b842b1e2bAlan Viverette     * be overridden outside of the framework.
36a70d4a90a029910f788c3e7f8715cf3b842b1e2bAlan Viverette     *
37a70d4a90a029910f788c3e7f8715cf3b842b1e2bAlan Viverette     * @hide
38a70d4a90a029910f788c3e7f8715cf3b842b1e2bAlan Viverette     */
39a70d4a90a029910f788c3e7f8715cf3b842b1e2bAlan Viverette    int getSpanTypeIdInternal();
40a70d4a90a029910f788c3e7f8715cf3b842b1e2bAlan Viverette
41a70d4a90a029910f788c3e7f8715cf3b842b1e2bAlan Viverette    /**
42a70d4a90a029910f788c3e7f8715cf3b842b1e2bAlan Viverette     * Internal implementation of {@link Parcelable#writeToParcel(Parcel, int)}
43a70d4a90a029910f788c3e7f8715cf3b842b1e2bAlan Viverette     * that is not meant to be overridden outside of the framework.
44a70d4a90a029910f788c3e7f8715cf3b842b1e2bAlan Viverette     *
45a70d4a90a029910f788c3e7f8715cf3b842b1e2bAlan Viverette     * @hide
46a70d4a90a029910f788c3e7f8715cf3b842b1e2bAlan Viverette     */
47a70d4a90a029910f788c3e7f8715cf3b842b1e2bAlan Viverette    void writeToParcelInternal(Parcel dest, int flags);
489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
49