/*
 * Copyright (C) 2012 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.telephony.cdma;

import android.os.Parcel;
import android.os.Parcelable;

CDMA Service Category Program Data from SCPT teleservice SMS. The CellBroadcastReceiver app receives an Intent with action Intents.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED_ACTION containing an array of these objects to update its list of cell broadcast service categories to display. {@hide}
/** * CDMA Service Category Program Data from SCPT teleservice SMS. * The CellBroadcastReceiver app receives an Intent with action * {@link android.provider.Telephony.Sms.Intents#SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED_ACTION} * containing an array of these objects to update its list of cell broadcast service categories * to display. * * {@hide} */
public class CdmaSmsCbProgramData implements Parcelable {
Delete the specified service category from the list of enabled categories.
/** Delete the specified service category from the list of enabled categories. */
public static final int OPERATION_DELETE_CATEGORY = 0;
Add the specified service category to the list of enabled categories.
/** Add the specified service category to the list of enabled categories. */
public static final int OPERATION_ADD_CATEGORY = 1;
Clear all service categories from the list of enabled categories.
/** Clear all service categories from the list of enabled categories. */
public static final int OPERATION_CLEAR_CATEGORIES = 2;
Alert option: no alert.
/** Alert option: no alert. */
public static final int ALERT_OPTION_NO_ALERT = 0;
Alert option: default alert.
/** Alert option: default alert. */
public static final int ALERT_OPTION_DEFAULT_ALERT = 1;
Alert option: vibrate alert once.
/** Alert option: vibrate alert once. */
public static final int ALERT_OPTION_VIBRATE_ONCE = 2;
Alert option: vibrate alert - repeat.
/** Alert option: vibrate alert - repeat. */
public static final int ALERT_OPTION_VIBRATE_REPEAT = 3;
Alert option: visual alert once.
/** Alert option: visual alert once. */
public static final int ALERT_OPTION_VISUAL_ONCE = 4;
Alert option: visual alert - repeat.
/** Alert option: visual alert - repeat. */
public static final int ALERT_OPTION_VISUAL_REPEAT = 5;
Alert option: low-priority alert once.
/** Alert option: low-priority alert once. */
public static final int ALERT_OPTION_LOW_PRIORITY_ONCE = 6;
Alert option: low-priority alert - repeat.
/** Alert option: low-priority alert - repeat. */
public static final int ALERT_OPTION_LOW_PRIORITY_REPEAT = 7;
Alert option: medium-priority alert once.
/** Alert option: medium-priority alert once. */
public static final int ALERT_OPTION_MED_PRIORITY_ONCE = 8;
Alert option: medium-priority alert - repeat.
/** Alert option: medium-priority alert - repeat. */
public static final int ALERT_OPTION_MED_PRIORITY_REPEAT = 9;
Alert option: high-priority alert once.
/** Alert option: high-priority alert once. */
public static final int ALERT_OPTION_HIGH_PRIORITY_ONCE = 10;
Alert option: high-priority alert - repeat.
/** Alert option: high-priority alert - repeat. */
public static final int ALERT_OPTION_HIGH_PRIORITY_REPEAT = 11;
Service category operation (add/delete/clear).
/** Service category operation (add/delete/clear). */
private final int mOperation;
Service category to modify.
/** Service category to modify. */
private final int mCategory;
Language used for service category name (defined in BearerData.LANGUAGE_*).
/** Language used for service category name (defined in BearerData.LANGUAGE_*). */
private final int mLanguage;
Maximum number of messages to store for this service category.
/** Maximum number of messages to store for this service category. */
private final int mMaxMessages;
Service category alert option.
/** Service category alert option. */
private final int mAlertOption;
Name of service category.
/** Name of service category. */
private final String mCategoryName;
Create a new CdmaSmsCbProgramData object with the specified values.
/** Create a new CdmaSmsCbProgramData object with the specified values. */
public CdmaSmsCbProgramData(int operation, int category, int language, int maxMessages, int alertOption, String categoryName) { mOperation = operation; mCategory = category; mLanguage = language; mMaxMessages = maxMessages; mAlertOption = alertOption; mCategoryName = categoryName; }
Create a new CdmaSmsCbProgramData object from a Parcel.
/** Create a new CdmaSmsCbProgramData object from a Parcel. */
CdmaSmsCbProgramData(Parcel in) { mOperation = in.readInt(); mCategory = in.readInt(); mLanguage = in.readInt(); mMaxMessages = in.readInt(); mAlertOption = in.readInt(); mCategoryName = in.readString(); }
Flatten this object into a Parcel.
Params:
  • dest – The Parcel in which the object should be written.
  • flags – Additional flags about how the object should be written (ignored).
/** * Flatten this object into a Parcel. * * @param dest The Parcel in which the object should be written. * @param flags Additional flags about how the object should be written (ignored). */
@Override public void writeToParcel(Parcel dest, int flags) { dest.writeInt(mOperation); dest.writeInt(mCategory); dest.writeInt(mLanguage); dest.writeInt(mMaxMessages); dest.writeInt(mAlertOption); dest.writeString(mCategoryName); }
Returns the service category operation, e.g. OPERATION_ADD_CATEGORY.
Returns:one of the OPERATION_* values
/** * Returns the service category operation, e.g. {@link #OPERATION_ADD_CATEGORY}. * @return one of the {@code OPERATION_*} values */
public int getOperation() { return mOperation; }
Returns the CDMA service category to modify.
Returns:a 16-bit CDMA service category value
/** * Returns the CDMA service category to modify. * @return a 16-bit CDMA service category value */
public int getCategory() { return mCategory; }
Returns the CDMA language code for this service category.
Returns:one of the language values defined in BearerData.LANGUAGE_*
/** * Returns the CDMA language code for this service category. * @return one of the language values defined in BearerData.LANGUAGE_* */
public int getLanguage() { return mLanguage; }
Returns the maximum number of messages to store for this service category.
Returns:the maximum number of messages to store for this service category
/** * Returns the maximum number of messages to store for this service category. * @return the maximum number of messages to store for this service category */
public int getMaxMessages() { return mMaxMessages; }
Returns the service category alert option, e.g. ALERT_OPTION_DEFAULT_ALERT.
Returns:one of the ALERT_OPTION_* values
/** * Returns the service category alert option, e.g. {@link #ALERT_OPTION_DEFAULT_ALERT}. * @return one of the {@code ALERT_OPTION_*} values */
public int getAlertOption() { return mAlertOption; }
Returns the service category name, in the language specified by getLanguage().
Returns:an optional service category name
/** * Returns the service category name, in the language specified by {@link #getLanguage()}. * @return an optional service category name */
public String getCategoryName() { return mCategoryName; } @Override public String toString() { return "CdmaSmsCbProgramData{operation=" + mOperation + ", category=" + mCategory + ", language=" + mLanguage + ", max messages=" + mMaxMessages + ", alert option=" + mAlertOption + ", category name=" + mCategoryName + '}'; }
Describe the kinds of special objects contained in the marshalled representation.
Returns:a bitmask indicating this Parcelable contains no special objects
/** * Describe the kinds of special objects contained in the marshalled representation. * @return a bitmask indicating this Parcelable contains no special objects */
@Override public int describeContents() { return 0; }
Creator for unparcelling objects.
/** Creator for unparcelling objects. */
public static final Parcelable.Creator<CdmaSmsCbProgramData> CREATOR = new Parcelable.Creator<CdmaSmsCbProgramData>() { @Override public CdmaSmsCbProgramData createFromParcel(Parcel in) { return new CdmaSmsCbProgramData(in); } @Override public CdmaSmsCbProgramData[] newArray(int size) { return new CdmaSmsCbProgramData[size]; } }; }