14980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen/*
24980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * Copyright (C) 2006 The Android Open Source Project
34980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen *
44980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * Licensed under the Apache License, Version 2.0 (the "License");
54980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * you may not use this file except in compliance with the License.
64980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * You may obtain a copy of the License at
74980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen *
84980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen *      http://www.apache.org/licenses/LICENSE-2.0
94980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen *
104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * Unless required by applicable law or agreed to in writing, software
114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * distributed under the License is distributed on an "AS IS" BASIS,
124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * See the License for the specific language governing permissions and
144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * limitations under the License.
154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen */
164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenpackage android.provider;
184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport android.annotation.SdkConstant;
204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport android.annotation.SdkConstant.SdkConstantType;
214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport android.annotation.TestApi;
22b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liuimport android.app.job.JobService;
234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport android.content.ComponentName;
244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport android.content.ContentResolver;
254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport android.content.ContentValues;
264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport android.content.Context;
274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport android.content.Intent;
284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport android.database.Cursor;
29b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liuimport android.database.ContentObserver;
304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport android.database.sqlite.SqliteWrapper;
314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport android.net.Uri;
32b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liuimport android.telephony.Rlog;
33b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liuimport android.telephony.ServiceState;
344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport android.telephony.SmsMessage;
354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport android.telephony.SubscriptionManager;
364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport android.text.TextUtils;
374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport android.util.Patterns;
384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport com.android.internal.telephony.PhoneConstants;
404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport com.android.internal.telephony.SmsApplication;
414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport java.util.HashSet;
444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport java.util.Set;
454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport java.util.regex.Matcher;
464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenimport java.util.regex.Pattern;
474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen/**
494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * The Telephony provider contains data related to phone operation, specifically SMS and MMS
50b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu * messages, access to the APN list, including the MMSC to use, and the service state.
514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen *
524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * <p class="note"><strong>Note:</strong> These APIs are not available on all Android-powered
534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * devices. If your app depends on telephony features such as for managing SMS messages, include
544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * a <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code <uses-feature>}
554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * </a> element in your manifest that declares the {@code "android.hardware.telephony"} hardware
564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * feature. Alternatively, you can check for telephony availability at runtime using either
574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * {@link android.content.pm.PackageManager#hasSystemFeature
584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * hasSystemFeature(PackageManager.FEATURE_TELEPHONY)} or {@link
594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * android.telephony.TelephonyManager#getPhoneType}.</p>
604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen *
614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * <h3>Creating an SMS app</h3>
624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen *
634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * <p>Only the default SMS app (selected by the user in system settings) is able to write to the
644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * SMS Provider (the tables defined within the {@code Telephony} class) and only the default SMS
654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * app receives the {@link android.provider.Telephony.Sms.Intents#SMS_DELIVER_ACTION} broadcast
664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * when the user receives an SMS or the {@link
674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * android.provider.Telephony.Sms.Intents#WAP_PUSH_DELIVER_ACTION} broadcast when the user
684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * receives an MMS.</p>
694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen *
704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * <p>Any app that wants to behave as the user's default SMS app must handle the following intents:
714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * <ul>
724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * <li>In a broadcast receiver, include an intent filter for {@link Sms.Intents#SMS_DELIVER_ACTION}
734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * (<code>"android.provider.Telephony.SMS_DELIVER"</code>). The broadcast receiver must also
744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * require the {@link android.Manifest.permission#BROADCAST_SMS} permission.
754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * <p>This allows your app to directly receive incoming SMS messages.</p></li>
764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * <li>In a broadcast receiver, include an intent filter for {@link
774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * Sms.Intents#WAP_PUSH_DELIVER_ACTION}} ({@code "android.provider.Telephony.WAP_PUSH_DELIVER"})
784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * with the MIME type <code>"application/vnd.wap.mms-message"</code>.
794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * The broadcast receiver must also require the {@link
804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * android.Manifest.permission#BROADCAST_WAP_PUSH} permission.
814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * <p>This allows your app to directly receive incoming MMS messages.</p></li>
824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * <li>In your activity that delivers new messages, include an intent filter for
834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * {@link android.content.Intent#ACTION_SENDTO} (<code>"android.intent.action.SENDTO"
844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * </code>) with schemas, <code>sms:</code>, <code>smsto:</code>, <code>mms:</code>, and
854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * <code>mmsto:</code>.
864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * <p>This allows your app to receive intents from other apps that want to deliver a
874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * message.</p></li>
884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * <li>In a service, include an intent filter for {@link
894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * android.telephony.TelephonyManager#ACTION_RESPOND_VIA_MESSAGE}
904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * (<code>"android.intent.action.RESPOND_VIA_MESSAGE"</code>) with schemas,
914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * <code>sms:</code>, <code>smsto:</code>, <code>mms:</code>, and <code>mmsto:</code>.
924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * This service must also require the {@link
934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * android.Manifest.permission#SEND_RESPOND_VIA_MESSAGE} permission.
944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * <p>This allows users to respond to incoming phone calls with an immediate text message
954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * using your app.</p></li>
964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * </ul>
974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen *
984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * <p>Other apps that are not selected as the default SMS app can only <em>read</em> the SMS
994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * Provider, but may also be notified when a new SMS arrives by listening for the {@link
1004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * Sms.Intents#SMS_RECEIVED_ACTION}
1014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * broadcast, which is a non-abortable broadcast that may be delivered to multiple apps. This
1024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * broadcast is intended for apps that&mdash;while not selected as the default SMS app&mdash;need to
1034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * read special incoming messages such as to perform phone number verification.</p>
1044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen *
1054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * <p>For more information about building SMS apps, read the blog post, <a
1064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * href="http://android-developers.blogspot.com/2013/10/getting-your-sms-apps-ready-for-kitkat.html"
1074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen * >Getting Your SMS Apps Ready for KitKat</a>.</p>
1084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen *
1094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen */
1104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsenpublic final class Telephony {
1114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    private static final String TAG = "Telephony";
1124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
1134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    /**
1144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     * Not instantiable.
1154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     * @hide
1164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     */
1174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    private Telephony() {
1184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    }
1194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
1204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    /**
1214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     * Base columns for tables that contain text-based SMSs.
1224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     */
1234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    public interface TextBasedSmsColumns {
1244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
1254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Message type: all messages. */
1264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int MESSAGE_TYPE_ALL    = 0;
1274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
1284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Message type: inbox. */
1294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int MESSAGE_TYPE_INBOX  = 1;
1304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
1314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Message type: sent messages. */
1324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int MESSAGE_TYPE_SENT   = 2;
1334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
1344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Message type: drafts. */
1354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int MESSAGE_TYPE_DRAFT  = 3;
1364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
1374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Message type: outbox. */
1384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int MESSAGE_TYPE_OUTBOX = 4;
1394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
1404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Message type: failed outgoing message. */
1414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int MESSAGE_TYPE_FAILED = 5;
1424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
1434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Message type: queued to send later. */
1444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int MESSAGE_TYPE_QUEUED = 6;
1454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
1464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
1474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The type of message.
1484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
1494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
1504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String TYPE = "type";
1514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
1524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
1534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The thread ID of the message.
1544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
1554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
1564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String THREAD_ID = "thread_id";
1574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
1584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
1594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The address of the other party.
1604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
1614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
1624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String ADDRESS = "address";
1634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
1644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
1654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The date the message was received.
1664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (long)</P>
1674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
1684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String DATE = "date";
1694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
1704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
1714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The date the message was sent.
1724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (long)</P>
1734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
1744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String DATE_SENT = "date_sent";
1754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
1764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
1774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Has the message been read?
1784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (boolean)</P>
1794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
1804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String READ = "read";
1814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
1824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
1834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Has the message been seen by the user? The "seen" flag determines
1844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * whether we need to show a notification.
1854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (boolean)</P>
1864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
1874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String SEEN = "seen";
1884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
1894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
1904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * {@code TP-Status} value for the message, or -1 if no status has been received.
1914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
1924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
1934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String STATUS = "status";
1944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
1954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** TP-Status: no status received. */
1964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int STATUS_NONE = -1;
1974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** TP-Status: complete. */
1984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int STATUS_COMPLETE = 0;
1994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** TP-Status: pending. */
2004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int STATUS_PENDING = 32;
2014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** TP-Status: failed. */
2024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int STATUS_FAILED = 64;
2034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
2044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
2054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The subject of the message, if present.
2064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
2074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
2084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String SUBJECT = "subject";
2094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
2104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
2114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The body of the message.
2124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
2134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
2144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String BODY = "body";
2154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
2164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
2174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The ID of the sender of the conversation, if present.
2184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (reference to item in {@code content://contacts/people})</P>
2194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
2204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String PERSON = "person";
2214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
2224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
2234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The protocol identifier code.
2244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
2254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
2264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String PROTOCOL = "protocol";
2274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
2284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
2294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Is the {@code TP-Reply-Path} flag set?
2304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: BOOLEAN</P>
2314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
2324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String REPLY_PATH_PRESENT = "reply_path_present";
2334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
2344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
2354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The service center (SC) through which to send the message, if present.
2364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
2374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
2384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String SERVICE_CENTER = "service_center";
2394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
2404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
2414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Is the message locked?
2424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (boolean)</P>
2434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
2444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String LOCKED = "locked";
2454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
2464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
2474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The subscription to which the message belongs to. Its value will be
2484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * < 0 if the sub id cannot be determined.
2494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <p>Type: INTEGER (long) </p>
2504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
2514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String SUBSCRIPTION_ID = "sub_id";
2524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
2534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
2544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The MTU size of the mobile interface to which the APN connected
2554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
2564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
2574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MTU = "mtu";
2584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
2594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
2604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Error code associated with sending or receiving this message
2614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
2624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
2634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String ERROR_CODE = "error_code";
2644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
2654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
2664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The identity of the sender of a sent message. It is
2674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * usually the package name of the app which sends the message.
2684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <p class="note"><strong>Note:</strong>
2694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * This column is read-only. It is set by the provider and can not be changed by apps.
2704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <p>Type: TEXT</p>
2714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
2724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String CREATOR = "creator";
2734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    }
2744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
2754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    /**
2764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     * Contains all text-based SMS messages.
2774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     */
2784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    public static final class Sms implements BaseColumns, TextBasedSmsColumns {
2794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
2804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
2814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Not instantiable.
2824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
2834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
2844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        private Sms() {
2854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
2864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
2874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
2884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Used to determine the currently configured default SMS package.
2894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param context context of the requesting application
2904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @return package name for the default SMS package or null
2914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
2924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static String getDefaultSmsPackage(Context context) {
2934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            ComponentName component = SmsApplication.getDefaultSmsApplication(context, false);
2944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            if (component != null) {
2954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                return component.getPackageName();
2964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
2974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            return null;
2984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
2994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
3004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
3014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Return cursor for table query.
3024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
3034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
3044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static Cursor query(ContentResolver cr, String[] projection) {
3054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            return cr.query(CONTENT_URI, projection, null, null, DEFAULT_SORT_ORDER);
3064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
3074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
3084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
3094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Return cursor for table query.
3104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
3114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
3124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static Cursor query(ContentResolver cr, String[] projection,
3134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                String where, String orderBy) {
3144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            return cr.query(CONTENT_URI, projection, where,
3154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    null, orderBy == null ? DEFAULT_SORT_ORDER : orderBy);
3164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
3174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
3184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
3194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code content://} style URL for this table.
3204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
3214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final Uri CONTENT_URI = Uri.parse("content://sms");
3224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
3234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
3244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The default sort order for this table.
3254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
3264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String DEFAULT_SORT_ORDER = "date DESC";
3274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
3284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
3294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Add an SMS to the given URI.
3304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *
3314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param resolver the content resolver to use
3324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param uri the URI to add the message to
3334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param address the address of the sender
3344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param body the body of the message
3354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param subject the pseudo-subject of the message
3364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param date the timestamp for the message
3374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param read true if the message has been read, false if not
3384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param deliveryReport true if a delivery report was requested, false if not
3394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @return the URI for the new message
3404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
3414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
3424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static Uri addMessageToUri(ContentResolver resolver,
3434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                Uri uri, String address, String body, String subject,
3444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                Long date, boolean read, boolean deliveryReport) {
3454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            return addMessageToUri(SubscriptionManager.getDefaultSmsSubscriptionId(),
3464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    resolver, uri, address, body, subject, date, read, deliveryReport, -1L);
3474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
3484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
3494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
3504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Add an SMS to the given URI.
3514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *
3524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param resolver the content resolver to use
3534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param uri the URI to add the message to
3544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param address the address of the sender
3554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param body the body of the message
3564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param subject the psuedo-subject of the message
3574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param date the timestamp for the message
3584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param read true if the message has been read, false if not
3594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param deliveryReport true if a delivery report was requested, false if not
3604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param subId the subscription which the message belongs to
3614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @return the URI for the new message
3624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
3634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
3644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static Uri addMessageToUri(int subId, ContentResolver resolver,
3654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                Uri uri, String address, String body, String subject,
3664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                Long date, boolean read, boolean deliveryReport) {
3674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            return addMessageToUri(subId, resolver, uri, address, body, subject,
3684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    date, read, deliveryReport, -1L);
3694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
3704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
3714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
3724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Add an SMS to the given URI with the specified thread ID.
3734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *
3744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param resolver the content resolver to use
3754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param uri the URI to add the message to
3764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param address the address of the sender
3774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param body the body of the message
3784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param subject the pseudo-subject of the message
3794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param date the timestamp for the message
3804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param read true if the message has been read, false if not
3814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param deliveryReport true if a delivery report was requested, false if not
3824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param threadId the thread_id of the message
3834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @return the URI for the new message
3844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
3854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
3864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static Uri addMessageToUri(ContentResolver resolver,
3874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                Uri uri, String address, String body, String subject,
3884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                Long date, boolean read, boolean deliveryReport, long threadId) {
3894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            return addMessageToUri(SubscriptionManager.getDefaultSmsSubscriptionId(),
3904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    resolver, uri, address, body, subject,
3914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    date, read, deliveryReport, threadId);
3924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
3934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
3944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
3954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Add an SMS to the given URI with thread_id specified.
3964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *
3974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param resolver the content resolver to use
3984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param uri the URI to add the message to
3994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param address the address of the sender
4004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param body the body of the message
4014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param subject the psuedo-subject of the message
4024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param date the timestamp for the message
4034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param read true if the message has been read, false if not
4044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param deliveryReport true if a delivery report was requested, false if not
4054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param threadId the thread_id of the message
4064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param subId the subscription which the message belongs to
4074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @return the URI for the new message
4084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
4094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
4104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static Uri addMessageToUri(int subId, ContentResolver resolver,
4114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                Uri uri, String address, String body, String subject,
4124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                Long date, boolean read, boolean deliveryReport, long threadId) {
4134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            ContentValues values = new ContentValues(8);
4144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            Rlog.v(TAG,"Telephony addMessageToUri sub id: " + subId);
4154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
4164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            values.put(SUBSCRIPTION_ID, subId);
4174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            values.put(ADDRESS, address);
4184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            if (date != null) {
4194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                values.put(DATE, date);
4204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
4214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            values.put(READ, read ? Integer.valueOf(1) : Integer.valueOf(0));
4224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            values.put(SUBJECT, subject);
4234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            values.put(BODY, body);
4244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            if (deliveryReport) {
4254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                values.put(STATUS, STATUS_PENDING);
4264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
4274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            if (threadId != -1L) {
4284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                values.put(THREAD_ID, threadId);
4294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
4304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            return resolver.insert(uri, values);
4314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
4324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
4334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
4344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Move a message to the given folder.
4354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *
4364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param context the context to use
4374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param uri the message to move
4384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param folder the folder to move to
4394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @return true if the operation succeeded
4404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
4414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
4424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static boolean moveMessageToFolder(Context context,
4434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                Uri uri, int folder, int error) {
4444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            if (uri == null) {
4454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                return false;
4464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
4474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
4484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            boolean markAsUnread = false;
4494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            boolean markAsRead = false;
4504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            switch(folder) {
4514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            case MESSAGE_TYPE_INBOX:
4524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            case MESSAGE_TYPE_DRAFT:
4534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                break;
4544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            case MESSAGE_TYPE_OUTBOX:
4554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            case MESSAGE_TYPE_SENT:
4564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                markAsRead = true;
4574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                break;
4584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            case MESSAGE_TYPE_FAILED:
4594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            case MESSAGE_TYPE_QUEUED:
4604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                markAsUnread = true;
4614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                break;
4624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            default:
4634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                return false;
4644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
4654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
4664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            ContentValues values = new ContentValues(3);
4674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
4684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            values.put(TYPE, folder);
4694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            if (markAsUnread) {
4704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                values.put(READ, 0);
4714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            } else if (markAsRead) {
4724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                values.put(READ, 1);
4734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
4744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            values.put(ERROR_CODE, error);
4754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
4764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            return 1 == SqliteWrapper.update(context, context.getContentResolver(),
4774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                            uri, values, null, null);
4784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
4794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
4804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
4814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Returns true iff the folder (message type) identifies an
4824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * outgoing message.
4834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
4844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
4854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static boolean isOutgoingFolder(int messageType) {
4864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            return  (messageType == MESSAGE_TYPE_FAILED)
4874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    || (messageType == MESSAGE_TYPE_OUTBOX)
4884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    || (messageType == MESSAGE_TYPE_SENT)
4894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    || (messageType == MESSAGE_TYPE_QUEUED);
4904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
4914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
4924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
4934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Contains all text-based SMS messages in the SMS app inbox.
4944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
4954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final class Inbox implements BaseColumns, TextBasedSmsColumns {
4964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
4974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
4984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Not instantiable.
4994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
5004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
5014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            private Inbox() {
5024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
5034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
5044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
5054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The {@code content://} style URL for this table.
5064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
5074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final Uri CONTENT_URI = Uri.parse("content://sms/inbox");
5084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
5094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
5104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The default sort order for this table.
5114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
5124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String DEFAULT_SORT_ORDER = "date DESC";
5134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
5144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
5154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Add an SMS to the Draft box.
5164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
5174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param resolver the content resolver to use
5184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param address the address of the sender
5194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param body the body of the message
5204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param subject the pseudo-subject of the message
5214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param date the timestamp for the message
5224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param read true if the message has been read, false if not
5234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @return the URI for the new message
5244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
5254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
5264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static Uri addMessage(ContentResolver resolver,
5274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    String address, String body, String subject, Long date,
5284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    boolean read) {
5294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                return addMessageToUri(SubscriptionManager.getDefaultSmsSubscriptionId(),
5304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                        resolver, CONTENT_URI, address, body, subject, date, read, false);
5314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
5324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
5334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
5344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Add an SMS to the Draft box.
5354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
5364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param resolver the content resolver to use
5374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param address the address of the sender
5384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param body the body of the message
5394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param subject the psuedo-subject of the message
5404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param date the timestamp for the message
5414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param read true if the message has been read, false if not
5424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param subId the subscription which the message belongs to
5434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @return the URI for the new message
5444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
5454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
5464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static Uri addMessage(int subId, ContentResolver resolver,
5474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    String address, String body, String subject, Long date, boolean read) {
5484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                return addMessageToUri(subId, resolver, CONTENT_URI, address, body,
5494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                        subject, date, read, false);
5504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
5514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
5524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
5534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
5544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Contains all sent text-based SMS messages in the SMS app.
5554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
5564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final class Sent implements BaseColumns, TextBasedSmsColumns {
5574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
5584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
5594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Not instantiable.
5604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
5614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
5624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            private Sent() {
5634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
5644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
5654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
5664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The {@code content://} style URL for this table.
5674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
5684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final Uri CONTENT_URI = Uri.parse("content://sms/sent");
5694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
5704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
5714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The default sort order for this table.
5724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
5734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String DEFAULT_SORT_ORDER = "date DESC";
5744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
5754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
5764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Add an SMS to the Draft box.
5774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
5784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param resolver the content resolver to use
5794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param address the address of the sender
5804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param body the body of the message
5814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param subject the pseudo-subject of the message
5824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param date the timestamp for the message
5834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @return the URI for the new message
5844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
5854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
5864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static Uri addMessage(ContentResolver resolver,
5874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    String address, String body, String subject, Long date) {
5884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                return addMessageToUri(SubscriptionManager.getDefaultSmsSubscriptionId(),
5894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                        resolver, CONTENT_URI, address, body, subject, date, true, false);
5904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
5914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
5924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
5934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Add an SMS to the Draft box.
5944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
5954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param resolver the content resolver to use
5964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param address the address of the sender
5974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param body the body of the message
5984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param subject the psuedo-subject of the message
5994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param date the timestamp for the message
6004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param subId the subscription which the message belongs to
6014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @return the URI for the new message
6024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
6034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
6044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static Uri addMessage(int subId, ContentResolver resolver,
6054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    String address, String body, String subject, Long date) {
6064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                return addMessageToUri(subId, resolver, CONTENT_URI, address, body,
6074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                        subject, date, true, false);
6084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
6094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
6104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
6114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
6124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Contains all sent text-based SMS messages in the SMS app.
6134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
6144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final class Draft implements BaseColumns, TextBasedSmsColumns {
6154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
6164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
6174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Not instantiable.
6184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
6194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
6204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            private Draft() {
6214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
6224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
6234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
6244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The {@code content://} style URL for this table.
6254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
6264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final Uri CONTENT_URI = Uri.parse("content://sms/draft");
6274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
6284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen           /**
6294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            * @hide
6304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            */
6314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static Uri addMessage(ContentResolver resolver,
6324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    String address, String body, String subject, Long date) {
6334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                return addMessageToUri(SubscriptionManager.getDefaultSmsSubscriptionId(),
6344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                        resolver, CONTENT_URI, address, body, subject, date, true, false);
6354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
6364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
6374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
6384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Add an SMS to the Draft box.
6394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
6404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param resolver the content resolver to use
6414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param address the address of the sender
6424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param body the body of the message
6434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param subject the psuedo-subject of the message
6444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param date the timestamp for the message
6454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param subId the subscription which the message belongs to
6464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @return the URI for the new message
6474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
6484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
6494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static Uri addMessage(int subId, ContentResolver resolver,
6504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    String address, String body, String subject, Long date) {
6514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                return addMessageToUri(subId, resolver, CONTENT_URI, address, body,
6524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                        subject, date, true, false);
6534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
6544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
6554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
6564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The default sort order for this table.
6574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
6584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String DEFAULT_SORT_ORDER = "date DESC";
6594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
6604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
6614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
6624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Contains all pending outgoing text-based SMS messages.
6634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
6644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final class Outbox implements BaseColumns, TextBasedSmsColumns {
6654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
6664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
6674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Not instantiable.
6684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
6694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
6704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            private Outbox() {
6714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
6724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
6734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
6744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The {@code content://} style URL for this table.
6754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
6764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final Uri CONTENT_URI = Uri.parse("content://sms/outbox");
6774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
6784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
6794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The default sort order for this table.
6804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
6814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String DEFAULT_SORT_ORDER = "date DESC";
6824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
6834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
6844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Add an SMS to the outbox.
6854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
6864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param resolver the content resolver to use
6874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param address the address of the sender
6884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param body the body of the message
6894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param subject the pseudo-subject of the message
6904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param date the timestamp for the message
6914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param deliveryReport whether a delivery report was requested for the message
6924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @return the URI for the new message
6934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
6944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
6954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static Uri addMessage(ContentResolver resolver,
6964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    String address, String body, String subject, Long date,
6974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    boolean deliveryReport, long threadId) {
6984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                return addMessageToUri(SubscriptionManager.getDefaultSmsSubscriptionId(),
6994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                        resolver, CONTENT_URI, address, body, subject, date,
7004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                        true, deliveryReport, threadId);
7014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
7024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
7034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
7044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Add an SMS to the Out box.
7054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
7064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param resolver the content resolver to use
7074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param address the address of the sender
7084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param body the body of the message
7094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param subject the psuedo-subject of the message
7104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param date the timestamp for the message
7114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param deliveryReport whether a delivery report was requested for the message
7124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param subId the subscription which the message belongs to
7134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @return the URI for the new message
7144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
7154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
7164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static Uri addMessage(int subId, ContentResolver resolver,
7174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    String address, String body, String subject, Long date,
7184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    boolean deliveryReport, long threadId) {
7194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                return addMessageToUri(subId, resolver, CONTENT_URI, address, body,
7204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                        subject, date, true, deliveryReport, threadId);
7214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
7224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
7234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
7244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
7254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Contains all sent text-based SMS messages in the SMS app.
7264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
7274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final class Conversations
7284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                implements BaseColumns, TextBasedSmsColumns {
7294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
7304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
7314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Not instantiable.
7324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
7334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
7344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            private Conversations() {
7354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
7364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
7374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
7384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The {@code content://} style URL for this table.
7394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
7404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final Uri CONTENT_URI = Uri.parse("content://sms/conversations");
7414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
7424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
7434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The default sort order for this table.
7444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
7454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String DEFAULT_SORT_ORDER = "date DESC";
7464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
7474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
7484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The first 45 characters of the body of the message.
7494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: TEXT</P>
7504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
7514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String SNIPPET = "snippet";
7524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
7534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
7544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The number of messages in the conversation.
7554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER</P>
7564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
7574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String MESSAGE_COUNT = "msg_count";
7584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
7594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
7604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
7614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Contains constants for SMS related Intents that are broadcast.
7624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
7634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final class Intents {
7644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
7654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
7664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Not instantiable.
7674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
7684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
7694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            private Intents() {
7704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
7714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
7724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
7734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Set by BroadcastReceiver to indicate that the message was handled
7744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * successfully.
7754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
7764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final int RESULT_SMS_HANDLED = 1;
7774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
7784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
7794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Set by BroadcastReceiver to indicate a generic error while
7804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * processing the message.
7814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
7824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final int RESULT_SMS_GENERIC_ERROR = 2;
7834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
7844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
7854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Set by BroadcastReceiver to indicate insufficient memory to store
7864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * the message.
7874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
7884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final int RESULT_SMS_OUT_OF_MEMORY = 3;
7894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
7904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
7914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Set by BroadcastReceiver to indicate that the message, while
7924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * possibly valid, is of a format or encoding that is not
7934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * supported.
7944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
7954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final int RESULT_SMS_UNSUPPORTED = 4;
7964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
7974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
7984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Set by BroadcastReceiver to indicate a duplicate incoming message.
7994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
8004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final int RESULT_SMS_DUPLICATED = 5;
8014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
8024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
8034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Activity action: Ask the user to change the default
8044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * SMS application. This will show a dialog that asks the
8054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * user whether they want to replace the current default
8064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * SMS application with the one specified in
8074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * {@link #EXTRA_PACKAGE_NAME}.
8084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
8094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
8104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String ACTION_CHANGE_DEFAULT =
8114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    "android.provider.Telephony.ACTION_CHANGE_DEFAULT";
8124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
8134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
8144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The PackageName string passed in as an
8154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * extra for {@link #ACTION_CHANGE_DEFAULT}
8164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
8174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @see #ACTION_CHANGE_DEFAULT
8184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
8194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String EXTRA_PACKAGE_NAME = "package";
8204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
8214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
8224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Broadcast Action: A new text-based SMS message has been received
8234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * by the device. This intent will only be delivered to the default
8244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * sms app. That app is responsible for writing the message and notifying
8254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * the user. The intent will have the following extra values:</p>
8264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
8274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <ul>
8284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"pdus"</em> - An Object[] of byte[]s containing the PDUs
8294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   that make up the message.</li>
8304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"format"</em> - A String describing the format of the PDUs. It can
8314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   be either "3gpp" or "3gpp2".</li>
8324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"subscription"</em> - An optional long value of the subscription id which
8334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   received the message.</li>
8344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"slot"</em> - An optional int value of the SIM slot containing the
8354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   subscription.</li>
8364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"phone"</em> - An optional int value of the phone id associated with the
8374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   subscription.</li>
8384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"errorCode"</em> - An optional int error code associated with receiving
8394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   the message.</li>
8404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * </ul>
8414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
8424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>The extra values can be extracted using
8434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * {@link #getMessagesFromIntent(Intent)}.</p>
8444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
8454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>If a BroadcastReceiver encounters an error while processing
8464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * this intent it should set the result code appropriately.</p>
8474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
8484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p class="note"><strong>Note:</strong>
8494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The broadcast receiver that filters for this intent must declare
8504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * {@link android.Manifest.permission#BROADCAST_SMS} as a required permission in
8514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * the <a href="{@docRoot}guide/topics/manifest/receiver-element.html">{@code
8524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <receiver>}</a> tag.
8534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
8544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>Requires {@link android.Manifest.permission#RECEIVE_SMS} to receive.</p>
8554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
8564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
8574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String SMS_DELIVER_ACTION =
8584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    "android.provider.Telephony.SMS_DELIVER";
8594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
8604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
8614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Broadcast Action: A new text-based SMS message has been received
8624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * by the device. This intent will be delivered to all registered
8634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * receivers as a notification. These apps are not expected to write the
8644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * message or notify the user. The intent will have the following extra
8654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * values:</p>
8664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
8674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <ul>
8684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"pdus"</em> - An Object[] of byte[]s containing the PDUs
8694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   that make up the message.</li>
8704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * </ul>
8714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
8724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>The extra values can be extracted using
8734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * {@link #getMessagesFromIntent(Intent)}.</p>
8744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
8754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>If a BroadcastReceiver encounters an error while processing
8764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * this intent it should set the result code appropriately.</p>
8774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
8784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>Requires {@link android.Manifest.permission#RECEIVE_SMS} to receive.</p>
8794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
8804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
8814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String SMS_RECEIVED_ACTION =
8824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    "android.provider.Telephony.SMS_RECEIVED";
8834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
8844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
8854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Broadcast Action: A new data based SMS message has been received
8864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * by the device. This intent will be delivered to all registered
8874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * receivers as a notification. The intent will have the following extra
8884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * values:</p>
8894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
8904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <ul>
8914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"pdus"</em> - An Object[] of byte[]s containing the PDUs
8924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   that make up the message.</li>
8934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * </ul>
8944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
8954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>The extra values can be extracted using
8964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * {@link #getMessagesFromIntent(Intent)}.</p>
8974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
8984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>If a BroadcastReceiver encounters an error while processing
8994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * this intent it should set the result code appropriately.</p>
9004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
9014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>Requires {@link android.Manifest.permission#RECEIVE_SMS} to receive.</p>
9024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
9034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
9044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String DATA_SMS_RECEIVED_ACTION =
9054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    "android.intent.action.DATA_SMS_RECEIVED";
9064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
9074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
9084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Broadcast Action: A new WAP PUSH message has been received by the
9094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * device. This intent will only be delivered to the default
9104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * sms app. That app is responsible for writing the message and notifying
9114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * the user. The intent will have the following extra values:</p>
9124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
9134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <ul>
9144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"transactionId"</em> - (Integer) The WAP transaction ID</li>
9154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"pduType"</em> - (Integer) The WAP PDU type</li>
9164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"header"</em> - (byte[]) The header of the message</li>
9174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"data"</em> - (byte[]) The data payload of the message</li>
9184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"contentTypeParameters" </em>
9194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   -(HashMap&lt;String,String&gt;) Any parameters associated with the content type
9204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   (decoded from the WSP Content-Type header)</li>
9214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"subscription"</em> - An optional long value of the subscription id which
9224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   received the message.</li>
9234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"slot"</em> - An optional int value of the SIM slot containing the
9244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   subscription.</li>
9254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"phone"</em> - An optional int value of the phone id associated with the
9264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   subscription.</li>
9274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * </ul>
9284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
9294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>If a BroadcastReceiver encounters an error while processing
9304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * this intent it should set the result code appropriately.</p>
9314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
9324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>The contentTypeParameters extra value is map of content parameters keyed by
9334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * their names.</p>
9344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
9354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>If any unassigned well-known parameters are encountered, the key of the map will
9364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * be 'unassigned/0x...', where '...' is the hex value of the unassigned parameter.  If
9374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * a parameter has No-Value the value in the map will be null.</p>
9384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
9394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>Requires {@link android.Manifest.permission#RECEIVE_MMS} or
9404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * {@link android.Manifest.permission#RECEIVE_WAP_PUSH} (depending on WAP PUSH type) to
9414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * receive.</p>
9424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
9434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p class="note"><strong>Note:</strong>
9444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The broadcast receiver that filters for this intent must declare
9454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * {@link android.Manifest.permission#BROADCAST_WAP_PUSH} as a required permission in
9464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * the <a href="{@docRoot}guide/topics/manifest/receiver-element.html">{@code
9474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <receiver>}</a> tag.
9484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
9494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
9504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String WAP_PUSH_DELIVER_ACTION =
9514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    "android.provider.Telephony.WAP_PUSH_DELIVER";
9524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
9534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
9544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Broadcast Action: A new WAP PUSH message has been received by the
9554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * device. This intent will be delivered to all registered
9564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * receivers as a notification. These apps are not expected to write the
9574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * message or notify the user. The intent will have the following extra
9584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * values:</p>
9594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
9604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <ul>
9614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"transactionId"</em> - (Integer) The WAP transaction ID</li>
9624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"pduType"</em> - (Integer) The WAP PDU type</li>
9634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"header"</em> - (byte[]) The header of the message</li>
9644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"data"</em> - (byte[]) The data payload of the message</li>
9654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"contentTypeParameters"</em>
9664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   - (HashMap&lt;String,String&gt;) Any parameters associated with the content type
9674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   (decoded from the WSP Content-Type header)</li>
9684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * </ul>
9694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
9704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>If a BroadcastReceiver encounters an error while processing
9714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * this intent it should set the result code appropriately.</p>
9724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
9734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>The contentTypeParameters extra value is map of content parameters keyed by
9744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * their names.</p>
9754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
9764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>If any unassigned well-known parameters are encountered, the key of the map will
9774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * be 'unassigned/0x...', where '...' is the hex value of the unassigned parameter.  If
9784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * a parameter has No-Value the value in the map will be null.</p>
9794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
9804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>Requires {@link android.Manifest.permission#RECEIVE_MMS} or
9814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * {@link android.Manifest.permission#RECEIVE_WAP_PUSH} (depending on WAP PUSH type) to
9824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * receive.</p>
9834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
9844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
9854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String WAP_PUSH_RECEIVED_ACTION =
9864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    "android.provider.Telephony.WAP_PUSH_RECEIVED";
9874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
9884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
9894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Broadcast Action: A new Cell Broadcast message has been received
9904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * by the device. The intent will have the following extra
9914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * values:</p>
9924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
9934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <ul>
9944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"message"</em> - An SmsCbMessage object containing the broadcast message
9954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   data. This is not an emergency alert, so ETWS and CMAS data will be null.</li>
9964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * </ul>
9974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
9984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>The extra values can be extracted using
9994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * {@link #getMessagesFromIntent(Intent)}.</p>
10004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
10014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>If a BroadcastReceiver encounters an error while processing
10024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * this intent it should set the result code appropriately.</p>
10034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
10044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>Requires {@link android.Manifest.permission#RECEIVE_SMS} to receive.</p>
10054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
10064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
10074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String SMS_CB_RECEIVED_ACTION =
10084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    "android.provider.Telephony.SMS_CB_RECEIVED";
10094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
10104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
10114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Action: A SMS based carrier provision intent. Used to identify default
10124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * carrier provisioning app on the device.
10134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
10144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
10154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
10164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            @TestApi
10174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String SMS_CARRIER_PROVISION_ACTION =
10184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    "android.provider.Telephony.SMS_CARRIER_PROVISION";
10194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
10204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
10214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Broadcast Action: A new Emergency Broadcast message has been received
10224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * by the device. The intent will have the following extra
10234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * values:</p>
10244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
10254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <ul>
10264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"message"</em> - An SmsCbMessage object containing the broadcast message
10274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   data, including ETWS or CMAS warning notification info if present.</li>
10284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * </ul>
10294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
10304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>The extra values can be extracted using
10314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * {@link #getMessagesFromIntent(Intent)}.</p>
10324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
10334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>If a BroadcastReceiver encounters an error while processing
10344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * this intent it should set the result code appropriately.</p>
10354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
10364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>Requires {@link android.Manifest.permission#RECEIVE_EMERGENCY_BROADCAST} to
10374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * receive.</p>
10384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @removed
10394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
10404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
10414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String SMS_EMERGENCY_CB_RECEIVED_ACTION =
10424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    "android.provider.Telephony.SMS_EMERGENCY_CB_RECEIVED";
10434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
10444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
10454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Broadcast Action: A new CDMA SMS has been received containing Service Category
10464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Program Data (updates the list of enabled broadcast channels). The intent will
10474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * have the following extra values:</p>
10484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
10494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <ul>
10504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"operations"</em> - An array of CdmaSmsCbProgramData objects containing
10514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   the service category operations (add/delete/clear) to perform.</li>
10524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * </ul>
10534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
10544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>The extra values can be extracted using
10554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * {@link #getMessagesFromIntent(Intent)}.</p>
10564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
10574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>If a BroadcastReceiver encounters an error while processing
10584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * this intent it should set the result code appropriately.</p>
10594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
10604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>Requires {@link android.Manifest.permission#RECEIVE_SMS} to receive.</p>
10614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
10624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
10634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED_ACTION =
10644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    "android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED";
10654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
10664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
10674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Broadcast Action: The SIM storage for SMS messages is full.  If
10684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * space is not freed, messages targeted for the SIM (class 2) may
10694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * not be saved.
10704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
10714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>Requires {@link android.Manifest.permission#RECEIVE_SMS} to receive.</p>
10724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
10734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
10744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String SIM_FULL_ACTION =
10754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    "android.provider.Telephony.SIM_FULL";
10764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
10774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
10784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Broadcast Action: An incoming SMS has been rejected by the
10794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * telephony framework.  This intent is sent in lieu of any
10804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * of the RECEIVED_ACTION intents.  The intent will have the
10814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * following extra value:</p>
10824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
10834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <ul>
10844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   <li><em>"result"</em> - An int result code, e.g. {@link #RESULT_SMS_OUT_OF_MEMORY}
10854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *   indicating the error returned to the network.</li>
10864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * </ul>
10874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
10884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>Requires {@link android.Manifest.permission#RECEIVE_SMS} to receive.</p>
10894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
10904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
10914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String SMS_REJECTED_ACTION =
10924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                "android.provider.Telephony.SMS_REJECTED";
10934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
10944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
10954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Broadcast Action: An incoming MMS has been downloaded. The intent is sent to all
10964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * users, except for secondary users where SMS has been disabled and to managed
10974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * profiles.
10984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
10994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
11004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
11014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String MMS_DOWNLOADED_ACTION =
11024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                "android.provider.Telephony.MMS_DOWNLOADED";
11034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
11044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
11054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Broadcast action: When the default SMS package changes,
11064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * the previous default SMS package and the new default SMS
11074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * package are sent this broadcast to notify them of the change.
11084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * A boolean is specified in {@link #EXTRA_IS_DEFAULT_SMS_APP} to
11094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * indicate whether the package is the new default SMS package.
11104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            */
11114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
11124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String ACTION_DEFAULT_SMS_PACKAGE_CHANGED =
11134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                            "android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED";
11144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
11154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
11164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The IsDefaultSmsApp boolean passed as an
11174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * extra for {@link #ACTION_DEFAULT_SMS_PACKAGE_CHANGED} to indicate whether the
11184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * SMS app is becoming the default SMS app or is no longer the default.
11194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
11204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @see #ACTION_DEFAULT_SMS_PACKAGE_CHANGED
11214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
11224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String EXTRA_IS_DEFAULT_SMS_APP =
11234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    "android.provider.extra.IS_DEFAULT_SMS_APP";
11244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
11254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
11264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Broadcast action: When a change is made to the SmsProvider or
11274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * MmsProvider by a process other than the default SMS application,
11284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * this intent is broadcast to the default SMS application so it can
11294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * re-sync or update the change. The uri that was used to call the provider
11304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * can be retrieved from the intent with getData(). The actual affected uris
11314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * (which would depend on the selection specified) are not included.
11324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            */
11334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
11344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String ACTION_EXTERNAL_PROVIDER_CHANGE =
11354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                          "android.provider.action.EXTERNAL_PROVIDER_CHANGE";
11364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
11374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
11384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Read the PDUs out of an {@link #SMS_RECEIVED_ACTION} or a
11394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * {@link #DATA_SMS_RECEIVED_ACTION} intent.
11404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             *
11414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @param intent the intent to read from
11424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @return an array of SmsMessages for the PDUs
11434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
11444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static SmsMessage[] getMessagesFromIntent(Intent intent) {
11454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                Object[] messages;
11464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                try {
11474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    messages = (Object[]) intent.getSerializableExtra("pdus");
11484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                }
11494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                catch (ClassCastException e) {
11504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    Rlog.e(TAG, "getMessagesFromIntent: " + e);
11514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    return null;
11524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                }
11534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
11544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                if (messages == null) {
11554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    Rlog.e(TAG, "pdus does not exist in the intent");
11564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    return null;
11574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                }
11584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
11594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                String format = intent.getStringExtra("format");
11604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                int subId = intent.getIntExtra(PhoneConstants.SUBSCRIPTION_KEY,
11614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                        SubscriptionManager.getDefaultSmsSubscriptionId());
11624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
11634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                Rlog.v(TAG, " getMessagesFromIntent sub_id : " + subId);
11644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
11654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                int pduCount = messages.length;
11664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                SmsMessage[] msgs = new SmsMessage[pduCount];
11674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
11684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                for (int i = 0; i < pduCount; i++) {
11694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    byte[] pdu = (byte[]) messages[i];
11704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    msgs[i] = SmsMessage.createFromPdu(pdu, format);
11714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    if (msgs[i] != null) msgs[i].setSubId(subId);
11724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                }
11734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                return msgs;
11744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
11754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
11764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    }
11774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
11784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    /**
11794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     * Base columns for tables that contain MMSs.
11804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     */
11814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    public interface BaseMmsColumns extends BaseColumns {
11824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
11834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Message box: all messages. */
11844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int MESSAGE_BOX_ALL    = 0;
11854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Message box: inbox. */
11864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int MESSAGE_BOX_INBOX  = 1;
11874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Message box: sent messages. */
11884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int MESSAGE_BOX_SENT   = 2;
11894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Message box: drafts. */
11904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int MESSAGE_BOX_DRAFTS = 3;
11914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Message box: outbox. */
11924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int MESSAGE_BOX_OUTBOX = 4;
11934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Message box: failed. */
11944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int MESSAGE_BOX_FAILED = 5;
11954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
11964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
11974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The thread ID of the message.
11984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (long)</P>
11994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
12004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String THREAD_ID = "thread_id";
12014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
12024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
12034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The date the message was received.
12044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (long)</P>
12054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
12064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String DATE = "date";
12074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
12084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
12094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The date the message was sent.
12104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (long)</P>
12114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
12124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String DATE_SENT = "date_sent";
12134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
12144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
12154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The box which the message belongs to, e.g. {@link #MESSAGE_BOX_INBOX}.
12164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
12174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
12184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MESSAGE_BOX = "msg_box";
12194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
12204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
12214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Has the message been read?
12224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (boolean)</P>
12234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
12244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String READ = "read";
12254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
12264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
12274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Has the message been seen by the user? The "seen" flag determines
12284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * whether we need to show a new message notification.
12294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (boolean)</P>
12304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
12314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String SEEN = "seen";
12324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
12334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
12344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Does the message have only a text part (can also have a subject) with
12354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * no picture, slideshow, sound, etc. parts?
12364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (boolean)</P>
12374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
12384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String TEXT_ONLY = "text_only";
12394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
12404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
12414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code Message-ID} of the message.
12424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
12434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
12444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MESSAGE_ID = "m_id";
12454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
12464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
12474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The subject of the message, if present.
12484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
12494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
12504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String SUBJECT = "sub";
12514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
12524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
12534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The character set of the subject, if present.
12544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
12554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
12564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String SUBJECT_CHARSET = "sub_cs";
12574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
12584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
12594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code Content-Type} of the message.
12604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
12614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
12624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String CONTENT_TYPE = "ct_t";
12634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
12644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
12654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code Content-Location} of the message.
12664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
12674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
12684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String CONTENT_LOCATION = "ct_l";
12694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
12704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
12714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The expiry time of the message.
12724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (long)</P>
12734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
12744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String EXPIRY = "exp";
12754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
12764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
12774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The class of the message.
12784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
12794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
12804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MESSAGE_CLASS = "m_cls";
12814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
12824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
12834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The type of the message defined by MMS spec.
12844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
12854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
12864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MESSAGE_TYPE = "m_type";
12874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
12884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
12894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The version of the specification that this message conforms to.
12904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
12914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
12924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MMS_VERSION = "v";
12934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
12944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
12954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The size of the message.
12964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
12974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
12984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MESSAGE_SIZE = "m_size";
12994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
13004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
13014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The priority of the message.
13024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
13034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
13044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String PRIORITY = "pri";
13054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
13064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
13074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code read-report} of the message.
13084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (boolean)</P>
13094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
13104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String READ_REPORT = "rr";
13114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
13124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
13134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Is read report allowed?
13144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (boolean)</P>
13154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
13164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String REPORT_ALLOWED = "rpt_a";
13174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
13184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
13194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code response-status} of the message.
13204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
13214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
13224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String RESPONSE_STATUS = "resp_st";
13234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
13244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
13254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code status} of the message.
13264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
13274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
13284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String STATUS = "st";
13294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
13304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
13314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code transaction-id} of the message.
13324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
13334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
13344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String TRANSACTION_ID = "tr_id";
13354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
13364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
13374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code retrieve-status} of the message.
13384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
13394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
13404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String RETRIEVE_STATUS = "retr_st";
13414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
13424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
13434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code retrieve-text} of the message.
13444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
13454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
13464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String RETRIEVE_TEXT = "retr_txt";
13474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
13484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
13494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The character set of the retrieve-text.
13504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
13514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
13524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String RETRIEVE_TEXT_CHARSET = "retr_txt_cs";
13534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
13544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
13554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code read-status} of the message.
13564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
13574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
13584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String READ_STATUS = "read_status";
13594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
13604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
13614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code content-class} of the message.
13624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
13634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
13644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String CONTENT_CLASS = "ct_cls";
13654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
13664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
13674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code delivery-report} of the message.
13684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
13694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
13704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String DELIVERY_REPORT = "d_rpt";
13714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
13724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
13734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code delivery-time-token} of the message.
13744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
13754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
13764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
13774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
13784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
13794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String DELIVERY_TIME_TOKEN = "d_tm_tok";
13804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
13814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
13824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code delivery-time} of the message.
13834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
13844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
13854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String DELIVERY_TIME = "d_tm";
13864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
13874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
13884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code response-text} of the message.
13894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
13904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
13914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String RESPONSE_TEXT = "resp_txt";
13924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
13934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
13944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code sender-visibility} of the message.
13954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
13964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
13974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
13984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
13994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
14004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String SENDER_VISIBILITY = "s_vis";
14014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
14024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
14034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code reply-charging} of the message.
14044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
14054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
14064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
14074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
14084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
14094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String REPLY_CHARGING = "r_chg";
14104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
14114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
14124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code reply-charging-deadline-token} of the message.
14134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
14144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
14154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
14164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
14174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
14184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String REPLY_CHARGING_DEADLINE_TOKEN = "r_chg_dl_tok";
14194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
14204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
14214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code reply-charging-deadline} of the message.
14224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
14234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
14244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
14254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
14264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
14274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String REPLY_CHARGING_DEADLINE = "r_chg_dl";
14284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
14294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
14304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code reply-charging-id} of the message.
14314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
14324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
14334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
14344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
14354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
14364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String REPLY_CHARGING_ID = "r_chg_id";
14374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
14384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
14394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code reply-charging-size} of the message.
14404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
14414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
14424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
14434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
14444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
14454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String REPLY_CHARGING_SIZE = "r_chg_sz";
14464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
14474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
14484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code previously-sent-by} of the message.
14494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
14504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
14514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
14524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
14534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
14544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String PREVIOUSLY_SENT_BY = "p_s_by";
14554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
14564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
14574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code previously-sent-date} of the message.
14584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
14594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
14604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
14614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
14624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
14634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String PREVIOUSLY_SENT_DATE = "p_s_d";
14644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
14654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
14664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code store} of the message.
14674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
14684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
14694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
14704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
14714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
14724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String STORE = "store";
14734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
14744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
14754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code mm-state} of the message.
14764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
14774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
14784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
14794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
14804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
14814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MM_STATE = "mm_st";
14824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
14834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
14844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code mm-flags-token} of the message.
14854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
14864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
14874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
14884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
14894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
14904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MM_FLAGS_TOKEN = "mm_flg_tok";
14914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
14924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
14934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code mm-flags} of the message.
14944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
14954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
14964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
14974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
14984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
14994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MM_FLAGS = "mm_flg";
15004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
15014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
15024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code store-status} of the message.
15034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
15044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
15054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
15064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
15074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
15084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String STORE_STATUS = "store_st";
15094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
15104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
15114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code store-status-text} of the message.
15124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
15134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
15144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
15154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
15164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
15174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String STORE_STATUS_TEXT = "store_st_txt";
15184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
15194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
15204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code stored} of the message.
15214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
15224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
15234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
15244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
15254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
15264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String STORED = "stored";
15274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
15284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
15294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code totals} of the message.
15304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
15314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
15324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
15334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
15344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
15354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String TOTALS = "totals";
15364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
15374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
15384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code mbox-totals} of the message.
15394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
15404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
15414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
15424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
15434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
15444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MBOX_TOTALS = "mb_t";
15454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
15464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
15474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code mbox-totals-token} of the message.
15484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
15494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
15504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
15514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
15524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
15534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MBOX_TOTALS_TOKEN = "mb_t_tok";
15544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
15554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
15564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code quotas} of the message.
15574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
15584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
15594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
15604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
15614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
15624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String QUOTAS = "qt";
15634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
15644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
15654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code mbox-quotas} of the message.
15664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
15674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
15684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
15694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
15704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
15714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MBOX_QUOTAS = "mb_qt";
15724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
15734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
15744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code mbox-quotas-token} of the message.
15754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
15764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
15774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
15784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
15794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
15804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MBOX_QUOTAS_TOKEN = "mb_qt_tok";
15814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
15824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
15834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code message-count} of the message.
15844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
15854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
15864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
15874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
15884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
15894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MESSAGE_COUNT = "m_cnt";
15904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
15914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
15924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code start} of the message.
15934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
15944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
15954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
15964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
15974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
15984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String START = "start";
15994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
16004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
16014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code distribution-indicator} of the message.
16024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
16034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
16044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
16054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
16064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
16074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String DISTRIBUTION_INDICATOR = "d_ind";
16084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
16094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
16104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code element-descriptor} of the message.
16114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
16124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
16134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
16144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
16154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
16164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String ELEMENT_DESCRIPTOR = "e_des";
16174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
16184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
16194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code limit} of the message.
16204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
16214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
16224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
16234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
16244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
16254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String LIMIT = "limit";
16264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
16274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
16284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code recommended-retrieval-mode} of the message.
16294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
16304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
16314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
16324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
16334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
16344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String RECOMMENDED_RETRIEVAL_MODE = "r_r_mod";
16354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
16364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
16374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code recommended-retrieval-mode-text} of the message.
16384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
16394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
16404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
16414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
16424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
16434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String RECOMMENDED_RETRIEVAL_MODE_TEXT = "r_r_mod_txt";
16444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
16454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
16464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code status-text} of the message.
16474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
16484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
16494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
16504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
16514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
16524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String STATUS_TEXT = "st_txt";
16534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
16544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
16554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code applic-id} of the message.
16564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
16574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
16584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
16594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
16604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
16614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String APPLIC_ID = "apl_id";
16624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
16634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
16644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code reply-applic-id} of the message.
16654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
16664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
16674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
16684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
16694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
16704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String REPLY_APPLIC_ID = "r_apl_id";
16714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
16724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
16734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code aux-applic-id} of the message.
16744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
16754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
16764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
16774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
16784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
16794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String AUX_APPLIC_ID = "aux_apl_id";
16804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
16814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
16824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code drm-content} of the message.
16834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
16844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
16854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
16864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
16874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
16884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String DRM_CONTENT = "drm_c";
16894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
16904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
16914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code adaptation-allowed} of the message.
16924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
16934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
16944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
16954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
16964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
16974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String ADAPTATION_ALLOWED = "adp_a";
16984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
16994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
17004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code replace-id} of the message.
17014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
17024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
17034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
17044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
17054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
17064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String REPLACE_ID = "repl_id";
17074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
17084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
17094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code cancel-id} of the message.
17104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
17114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
17124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
17134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
17144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
17154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String CANCEL_ID = "cl_id";
17164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
17174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
17184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code cancel-status} of the message.
17194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
17204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @deprecated this column is no longer supported.
17214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
17224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
17234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        @Deprecated
17244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String CANCEL_STATUS = "cl_st";
17254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
17264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
17274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Is the message locked?
17284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (boolean)</P>
17294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
17304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String LOCKED = "locked";
17314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
17324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
17334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The subscription to which the message belongs to. Its value will be
17344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * < 0 if the sub id cannot be determined.
17354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <p>Type: INTEGER (long)</p>
17364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
17374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String SUBSCRIPTION_ID = "sub_id";
17384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
17394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
17404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The identity of the sender of a sent message. It is
17414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * usually the package name of the app which sends the message.
17424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <p class="note"><strong>Note:</strong>
17434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * This column is read-only. It is set by the provider and can not be changed by apps.
17444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <p>Type: TEXT</p>
17454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
17464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String CREATOR = "creator";
17474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    }
17484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
17494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    /**
17504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     * Columns for the "canonical_addresses" table used by MMS and SMS.
17514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     */
17524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    public interface CanonicalAddressesColumns extends BaseColumns {
17534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
17544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * An address used in MMS or SMS.  Email addresses are
17554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * converted to lower case and are compared by string
17564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * equality.  Other addresses are compared using
17574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * PHONE_NUMBERS_EQUAL.
17584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
17594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
17604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String ADDRESS = "address";
17614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    }
17624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
17634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    /**
17644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     * Columns for the "threads" table used by MMS and SMS.
17654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     */
17664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    public interface ThreadsColumns extends BaseColumns {
17674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
17684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
17694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The date at which the thread was created.
17704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (long)</P>
17714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
17724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String DATE = "date";
17734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
17744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
17754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * A string encoding of the recipient IDs of the recipients of
17764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * the message, in numerical order and separated by spaces.
17774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
17784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
17794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String RECIPIENT_IDS = "recipient_ids";
17804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
17814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
17824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The message count of the thread.
17834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
17844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
17854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MESSAGE_COUNT = "message_count";
17864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
17874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
17884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Indicates whether all messages of the thread have been read.
17894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
17904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
17914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String READ = "read";
17924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
17934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
17944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The snippet of the latest message in the thread.
17954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
17964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
17974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String SNIPPET = "snippet";
17984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
17994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
18004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The charset of the snippet.
18014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
18024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
18034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String SNIPPET_CHARSET = "snippet_cs";
18044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
18054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
18064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Type of the thread, either {@link Threads#COMMON_THREAD} or
18074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * {@link Threads#BROADCAST_THREAD}.
18084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
18094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
18104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String TYPE = "type";
18114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
18124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
18134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Indicates whether there is a transmission error in the thread.
18144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
18154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
18164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String ERROR = "error";
18174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
18184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
18194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Indicates whether this thread contains any attachments.
18204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
18214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
18224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String HAS_ATTACHMENT = "has_attachment";
18234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
18244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
18254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * If the thread is archived
18264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (boolean)</P>
18274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
18284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String ARCHIVED = "archived";
18294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    }
18304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
18314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    /**
18324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     * Helper functions for the "threads" table used by MMS and SMS.
18334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     */
18344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    public static final class Threads implements ThreadsColumns {
18354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
18364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        private static final String[] ID_PROJECTION = { BaseColumns._ID };
18374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
18384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
18394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Private {@code content://} style URL for this table. Used by
18404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * {@link #getOrCreateThreadId(android.content.Context, java.util.Set)}.
18414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
18424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        private static final Uri THREAD_ID_CONTENT_URI = Uri.parse(
18434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                "content://mms-sms/threadID");
18444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
18454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
18464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code content://} style URL for this table, by conversation.
18474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
18484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final Uri CONTENT_URI = Uri.withAppendedPath(
18494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                MmsSms.CONTENT_URI, "conversations");
18504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
18514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
18524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code content://} style URL for this table, for obsolete threads.
18534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
18544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final Uri OBSOLETE_THREADS_URI = Uri.withAppendedPath(
18554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                CONTENT_URI, "obsolete");
18564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
18574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Thread type: common thread. */
18584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int COMMON_THREAD    = 0;
18594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
18604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Thread type: broadcast thread. */
18614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int BROADCAST_THREAD = 1;
18624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
18634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
18644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Not instantiable.
18654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
18664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
18674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        private Threads() {
18684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
18694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
18704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
18714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * This is a single-recipient version of {@code getOrCreateThreadId}.
18724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * It's convenient for use with SMS messages.
18734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param context the context object to use.
18744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param recipient the recipient to send to.
18754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
18764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static long getOrCreateThreadId(Context context, String recipient) {
18774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            Set<String> recipients = new HashSet<String>();
18784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
18794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            recipients.add(recipient);
18804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            return getOrCreateThreadId(context, recipients);
18814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
18824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
18834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
18844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Given the recipients list and subject of an unsaved message,
18854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * return its thread ID.  If the message starts a new thread,
18864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * allocate a new thread ID.  Otherwise, use the appropriate
18874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * existing thread ID.
18884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *
18894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <p>Find the thread ID of the same set of recipients (in any order,
18904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * without any additions). If one is found, return it. Otherwise,
18914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * return a unique thread ID.</p>
18924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
18934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static long getOrCreateThreadId(
18944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                Context context, Set<String> recipients) {
18954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            Uri.Builder uriBuilder = THREAD_ID_CONTENT_URI.buildUpon();
18964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
18974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            for (String recipient : recipients) {
18984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                if (Mms.isEmailAddress(recipient)) {
18994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    recipient = Mms.extractAddrSpec(recipient);
19004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                }
19014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
19024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                uriBuilder.appendQueryParameter("recipient", recipient);
19034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
19044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
19054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            Uri uri = uriBuilder.build();
19064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            //if (DEBUG) Rlog.v(TAG, "getOrCreateThreadId uri: " + uri);
19074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
19084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            Cursor cursor = SqliteWrapper.query(context, context.getContentResolver(),
19094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    uri, ID_PROJECTION, null, null, null);
19104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            if (cursor != null) {
19114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                try {
19124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    if (cursor.moveToFirst()) {
19134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                        return cursor.getLong(0);
19144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    } else {
19154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                        Rlog.e(TAG, "getOrCreateThreadId returned no rows!");
19164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    }
19174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                } finally {
19184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    cursor.close();
19194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                }
19204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
19214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
19224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            Rlog.e(TAG, "getOrCreateThreadId failed with " + recipients.size() + " recipients");
19234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            throw new IllegalArgumentException("Unable to find or allocate a thread ID.");
19244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
19254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    }
19264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
19274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    /**
19284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     * Contains all MMS messages.
19294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     */
19304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    public static final class Mms implements BaseMmsColumns {
19314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
19324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
19334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Not instantiable.
19344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
19354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
19364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        private Mms() {
19374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
19384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
19394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
19404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code content://} URI for this table.
19414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
19424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final Uri CONTENT_URI = Uri.parse("content://mms");
19434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
19444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
19454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Content URI for getting MMS report requests.
19464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
19474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final Uri REPORT_REQUEST_URI = Uri.withAppendedPath(
19484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                                            CONTENT_URI, "report-request");
19494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
19504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
19514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Content URI for getting MMS report status.
19524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
19534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final Uri REPORT_STATUS_URI = Uri.withAppendedPath(
19544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                                            CONTENT_URI, "report-status");
19554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
19564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
19574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The default sort order for this table.
19584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
19594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String DEFAULT_SORT_ORDER = "date DESC";
19604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
19614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
19624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Regex pattern for names and email addresses.
19634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <ul>
19644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *     <li><em>mailbox</em> = {@code name-addr}</li>
19654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *     <li><em>name-addr</em> = {@code [display-name] angle-addr}</li>
19664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *     <li><em>angle-addr</em> = {@code [CFWS] "<" addr-spec ">" [CFWS]}</li>
19674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * </ul>
19684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
19694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
19704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final Pattern NAME_ADDR_EMAIL_PATTERN =
19714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                Pattern.compile("\\s*(\"[^\"]*\"|[^<>\"]+)\\s*<([^<>]+)>\\s*");
19724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
19734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
19744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Helper method to query this table.
19754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
19764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
19774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static Cursor query(
19784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                ContentResolver cr, String[] projection) {
19794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            return cr.query(CONTENT_URI, projection, null, null, DEFAULT_SORT_ORDER);
19804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
19814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
19824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
19834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Helper method to query this table.
19844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
19854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
19864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static Cursor query(
19874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                ContentResolver cr, String[] projection,
19884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                String where, String orderBy) {
19894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            return cr.query(CONTENT_URI, projection,
19904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    where, null, orderBy == null ? DEFAULT_SORT_ORDER : orderBy);
19914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
19924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
19934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
19944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Helper method to extract email address from address string.
19954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
19964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
19974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static String extractAddrSpec(String address) {
19984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            Matcher match = NAME_ADDR_EMAIL_PATTERN.matcher(address);
19994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
20004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            if (match.matches()) {
20014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                return match.group(2);
20024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
20034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            return address;
20044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
20054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
20064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
20074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Is the specified address an email address?
20084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *
20094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param address the input address to test
20104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @return true if address is an email address; false otherwise.
20114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
20124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
20134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static boolean isEmailAddress(String address) {
20144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            if (TextUtils.isEmpty(address)) {
20154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                return false;
20164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
20174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
20184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            String s = extractAddrSpec(address);
20194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            Matcher match = Patterns.EMAIL_ADDRESS.matcher(s);
20204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            return match.matches();
20214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
20224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
20234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
20244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Is the specified number a phone number?
20254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *
20264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @param number the input number to test
20274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @return true if number is a phone number; false otherwise.
20284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
20294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
20304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static boolean isPhoneNumber(String number) {
20314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            if (TextUtils.isEmpty(number)) {
20324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                return false;
20334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
20344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
20354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            Matcher match = Patterns.PHONE.matcher(number);
20364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            return match.matches();
20374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
20384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
20394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
20404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Contains all MMS messages in the MMS app inbox.
20414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
20424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final class Inbox implements BaseMmsColumns {
20434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
20444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
20454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Not instantiable.
20464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
20474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
20484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            private Inbox() {
20494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
20504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
20514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
20524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The {@code content://} style URL for this table.
20534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
20544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final Uri
20554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    CONTENT_URI = Uri.parse("content://mms/inbox");
20564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
20574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
20584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The default sort order for this table.
20594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
20604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String DEFAULT_SORT_ORDER = "date DESC";
20614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
20624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
20634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
20644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Contains all MMS messages in the MMS app sent folder.
20654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
20664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final class Sent implements BaseMmsColumns {
20674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
20684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
20694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Not instantiable.
20704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
20714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
20724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            private Sent() {
20734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
20744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
20754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
20764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The {@code content://} style URL for this table.
20774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
20784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final Uri
20794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    CONTENT_URI = Uri.parse("content://mms/sent");
20804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
20814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
20824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The default sort order for this table.
20834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
20844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String DEFAULT_SORT_ORDER = "date DESC";
20854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
20864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
20874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
20884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Contains all MMS messages in the MMS app drafts folder.
20894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
20904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final class Draft implements BaseMmsColumns {
20914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
20924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
20934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Not instantiable.
20944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
20954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
20964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            private Draft() {
20974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
20984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
20994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
21004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The {@code content://} style URL for this table.
21014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
21024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final Uri
21034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    CONTENT_URI = Uri.parse("content://mms/drafts");
21044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
21054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
21064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The default sort order for this table.
21074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
21084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String DEFAULT_SORT_ORDER = "date DESC";
21094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
21104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
21114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
21124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Contains all MMS messages in the MMS app outbox.
21134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
21144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final class Outbox implements BaseMmsColumns {
21154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
21164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
21174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Not instantiable.
21184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
21194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
21204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            private Outbox() {
21214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
21224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
21234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
21244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The {@code content://} style URL for this table.
21254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
21264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final Uri
21274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    CONTENT_URI = Uri.parse("content://mms/outbox");
21284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
21294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
21304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The default sort order for this table.
21314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
21324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String DEFAULT_SORT_ORDER = "date DESC";
21334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
21344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
21354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
21364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Contains address information for an MMS message.
21374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
21384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final class Addr implements BaseColumns {
21394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
21404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
21414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Not instantiable.
21424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
21434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
21444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            private Addr() {
21454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
21464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
21474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
21484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The ID of MM which this address entry belongs to.
21494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER (long)</P>
21504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
21514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String MSG_ID = "msg_id";
21524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
21534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
21544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The ID of contact entry in Phone Book.
21554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER (long)</P>
21564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
21574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String CONTACT_ID = "contact_id";
21584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
21594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
21604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The address text.
21614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: TEXT</P>
21624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
21634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String ADDRESS = "address";
21644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
21654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
21664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Type of address: must be one of {@code PduHeaders.BCC},
21674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * {@code PduHeaders.CC}, {@code PduHeaders.FROM}, {@code PduHeaders.TO}.
21684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER</P>
21694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
21704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String TYPE = "type";
21714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
21724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
21734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Character set of this entry (MMS charset value).
21744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER</P>
21754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
21764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String CHARSET = "charset";
21774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
21784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
21794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
21804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Contains message parts.
21814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
21824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final class Part implements BaseColumns {
21834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
21844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
21854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Not instantiable.
21864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
21874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
21884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            private Part() {
21894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
21904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
21914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
21924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The identifier of the message which this part belongs to.
21934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER</P>
21944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
21954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String MSG_ID = "mid";
21964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
21974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
21984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The order of the part.
21994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER</P>
22004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
22014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String SEQ = "seq";
22024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
22034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
22044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The content type of the part.
22054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: TEXT</P>
22064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
22074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String CONTENT_TYPE = "ct";
22084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
22094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
22104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The name of the part.
22114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: TEXT</P>
22124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
22134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String NAME = "name";
22144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
22154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
22164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The charset of the part.
22174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: TEXT</P>
22184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
22194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String CHARSET = "chset";
22204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
22214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
22224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The file name of the part.
22234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: TEXT</P>
22244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
22254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String FILENAME = "fn";
22264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
22274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
22284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The content disposition of the part.
22294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: TEXT</P>
22304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
22314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String CONTENT_DISPOSITION = "cd";
22324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
22334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
22344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The content ID of the part.
22354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER</P>
22364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
22374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String CONTENT_ID = "cid";
22384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
22394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
22404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The content location of the part.
22414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER</P>
22424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
22434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String CONTENT_LOCATION = "cl";
22444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
22454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
22464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The start of content-type of the message.
22474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER</P>
22484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
22494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String CT_START = "ctt_s";
22504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
22514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
22524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The type of content-type of the message.
22534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: TEXT</P>
22544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
22554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String CT_TYPE = "ctt_t";
22564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
22574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
22584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The location (on filesystem) of the binary data of the part.
22594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER</P>
22604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
22614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String _DATA = "_data";
22624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
22634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
22644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The message text.
22654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: TEXT</P>
22664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
22674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String TEXT = "text";
22684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
22694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
22704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
22714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Message send rate table.
22724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
22734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final class Rate {
22744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
22754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
22764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Not instantiable.
22774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
22784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
22794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            private Rate() {
22804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
22814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
22824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
22834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The {@code content://} style URL for this table.
22844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
22854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final Uri CONTENT_URI = Uri.withAppendedPath(
22864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    Mms.CONTENT_URI, "rate");
22874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
22884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
22894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * When a message was successfully sent.
22904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER (long)</P>
22914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
22924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String SENT_TIME = "sent_time";
22934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
22944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
22954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
22964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Intents class.
22974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
22984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final class Intents {
22994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
23014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Not instantiable.
23024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
23034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
23044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            private Intents() {
23054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
23064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
23084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Indicates that the contents of specified URIs were changed.
23094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The application which is showing or caching these contents
23104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * should be updated.
23114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
23124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
23134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String CONTENT_CHANGED_ACTION
23144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    = "android.intent.action.CONTENT_CHANGED";
23154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
23174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * An extra field which stores the URI of deleted contents.
23184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
23194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String DELETED_CONTENTS = "deleted_contents";
23204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
23214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    }
23224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    /**
23244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     * Contains all MMS and SMS messages.
23254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     */
23264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    public static final class MmsSms implements BaseColumns {
23274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
23294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Not instantiable.
23304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
23314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
23324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        private MmsSms() {
23334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
23344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
23364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The column to distinguish SMS and MMS messages in query results.
23374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
23384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String TYPE_DISCRIMINATOR_COLUMN =
23394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                "transport_type";
23404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
23424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code content://} style URL for this table.
23434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
23444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final Uri CONTENT_URI = Uri.parse("content://mms-sms/");
23454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
23474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code content://} style URL for this table, by conversation.
23484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
23494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final Uri CONTENT_CONVERSATIONS_URI = Uri.parse(
23504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                "content://mms-sms/conversations");
23514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
23534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code content://} style URL for this table, by phone number.
23544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
23554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final Uri CONTENT_FILTER_BYPHONE_URI = Uri.parse(
23564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                "content://mms-sms/messages/byphone");
23574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
23594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code content://} style URL for undelivered messages in this table.
23604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
23614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final Uri CONTENT_UNDELIVERED_URI = Uri.parse(
23624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                "content://mms-sms/undelivered");
23634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
23654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code content://} style URL for draft messages in this table.
23664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
23674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final Uri CONTENT_DRAFT_URI = Uri.parse(
23684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                "content://mms-sms/draft");
23694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
23714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code content://} style URL for locked messages in this table.
23724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
23734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final Uri CONTENT_LOCKED_URI = Uri.parse(
23744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                "content://mms-sms/locked");
23754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
23774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Pass in a query parameter called "pattern" which is the text to search for.
23784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The sort order is fixed to be: {@code thread_id ASC, date DESC}.
23794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
23804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final Uri SEARCH_URI = Uri.parse(
23814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                "content://mms-sms/search");
23824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        // Constants for message protocol types.
23844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** SMS protocol type. */
23864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int SMS_PROTO = 0;
23874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** MMS protocol type. */
23894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int MMS_PROTO = 1;
23904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        // Constants for error types of pending messages.
23924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Error type: no error. */
23944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int NO_ERROR                      = 0;
23954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Error type: generic transient error. */
23974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int ERR_TYPE_GENERIC              = 1;
23984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
23994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Error type: SMS protocol transient error. */
24004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int ERR_TYPE_SMS_PROTO_TRANSIENT  = 2;
24014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
24024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Error type: MMS protocol transient error. */
24034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int ERR_TYPE_MMS_PROTO_TRANSIENT  = 3;
24044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
24054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Error type: transport failure. */
24064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int ERR_TYPE_TRANSPORT_FAILURE    = 4;
24074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
24084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Error type: permanent error (along with all higher error values). */
24094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int ERR_TYPE_GENERIC_PERMANENT    = 10;
24104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
24114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Error type: SMS protocol permanent error. */
24124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int ERR_TYPE_SMS_PROTO_PERMANENT  = 11;
24134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
24144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** Error type: MMS protocol permanent error. */
24154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int ERR_TYPE_MMS_PROTO_PERMANENT  = 12;
24164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
24174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
24184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Contains pending messages info.
24194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
24204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final class PendingMessages implements BaseColumns {
24214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
24224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
24234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Not instantiable.
24244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
24254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
24264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            private PendingMessages() {
24274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            }
24284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
24294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final Uri CONTENT_URI = Uri.withAppendedPath(
24304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                    MmsSms.CONTENT_URI, "pending");
24314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
24324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
24334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The type of transport protocol (MMS or SMS).
24344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER</P>
24354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
24364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String PROTO_TYPE = "proto_type";
24374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
24384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
24394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The ID of the message to be sent or downloaded.
24404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER (long)</P>
24414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
24424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String MSG_ID = "msg_id";
24434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
24444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
24454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The type of the message to be sent or downloaded.
24464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * This field is only valid for MM. For SM, its value is always set to 0.
24474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER</P>
24484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
24494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String MSG_TYPE = "msg_type";
24504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
24514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
24524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The type of the error code.
24534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER</P>
24544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
24554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String ERROR_TYPE = "err_type";
24564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
24574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
24584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The error code of sending/retrieving process.
24594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER</P>
24604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
24614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String ERROR_CODE = "err_code";
24624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
24634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
24644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * How many times we tried to send or download the message.
24654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER</P>
24664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
24674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String RETRY_INDEX = "retry_index";
24684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
24694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
24704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The time to do next retry.
24714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER (long)</P>
24724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
24734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String DUE_TIME = "due_time";
24744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
24754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
24764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The time we last tried to send or download the message.
24774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER (long)</P>
24784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
24794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String LAST_TRY = "last_try";
24804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
24814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
24824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The subscription to which the message belongs to. Its value will be
24834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * < 0 if the sub id cannot be determined.
24844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <p>Type: INTEGER (long) </p>
24854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
24864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String SUBSCRIPTION_ID = "pending_sub_id";
24874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
24884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
24894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
24904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Words table used by provider for full-text searches.
24914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
24924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
24934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final class WordsTable {
24944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
24954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
24964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Not instantiable.
24974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * @hide
24984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
24994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            private WordsTable() {}
25004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
25014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
25024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Primary key.
25034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER (long)</P>
25044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
25054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String ID = "_id";
25064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
25074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
25084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Source row ID.
25094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER (long)</P>
25104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
25114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String SOURCE_ROW_ID = "source_id";
25124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
25134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
25144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * Table ID (either 1 or 2).
25154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: INTEGER</P>
25164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
25174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String TABLE_ID = "table_to_use";
25184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
25194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            /**
25204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * The words to index.
25214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             * <P>Type: TEXT</P>
25224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen             */
25234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen            public static final String INDEXED_TEXT = "index_text";
25244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        }
25254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    }
25264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
25274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    /**
25284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     * Carriers class contains information about APNs, including MMSC information.
25294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     */
25304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    public static final class Carriers implements BaseColumns {
25314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
25324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
25334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Not instantiable.
25344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
25354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
25364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        private Carriers() {}
25374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
25384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
25394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code content://} style URL for this table.
25404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
25414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final Uri CONTENT_URI = Uri.parse("content://telephony/carriers");
25424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
25434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
25444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The default sort order for this table.
25454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
25464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String DEFAULT_SORT_ORDER = "name ASC";
25474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
25484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
25494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Entry name.
25504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
25514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
25524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String NAME = "name";
25534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
25544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
25554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * APN name.
25564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
25574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
25584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String APN = "apn";
25594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
25604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
25614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Proxy address.
25624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
25634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
25644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String PROXY = "proxy";
25654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
25664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
25674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Proxy port.
25684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
25694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
25704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String PORT = "port";
25714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
25724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
25734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * MMS proxy address.
25744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
25754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
25764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MMSPROXY = "mmsproxy";
25774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
25784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
25794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * MMS proxy port.
25804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
25814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
25824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MMSPORT = "mmsport";
25834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
25844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
25854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Server address.
25864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
25874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
25884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String SERVER = "server";
25894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
25904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
25914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * APN username.
25924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
25934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
25944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String USER = "user";
25954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
25964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
25974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * APN password.
25984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
25994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
26004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String PASSWORD = "password";
26014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
26024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
26034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * MMSC URL.
26044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
26054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
26064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MMSC = "mmsc";
26074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
26084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
26094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Mobile Country Code (MCC).
26104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
26114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
26124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MCC = "mcc";
26134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
26144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
26154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Mobile Network Code (MNC).
26164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
26174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
26184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MNC = "mnc";
26194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
26204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
26214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Numeric operator ID (as String). Usually {@code MCC + MNC}.
26224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
26234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
26244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String NUMERIC = "numeric";
26254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
26264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
26274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Authentication type.
26284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type:  INTEGER</P>
26294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
26304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String AUTH_TYPE = "authtype";
26314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
26324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
26334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Comma-delimited list of APN types.
26344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
26354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
26364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String TYPE = "type";
26374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
26384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
26394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The protocol to use to connect to this APN.
26404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *
26414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * One of the {@code PDP_type} values in TS 27.007 section 10.1.1.
26424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * For example: {@code IP}, {@code IPV6}, {@code IPV4V6}, or {@code PPP}.
26434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
26444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
26454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String PROTOCOL = "protocol";
26464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
26474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
26484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The protocol to use to connect to this APN when roaming.
26494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The syntax is the same as protocol.
26504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
26514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
26524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String ROAMING_PROTOCOL = "roaming_protocol";
26534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
26544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
26554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Is this the current APN?
26564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (boolean)</P>
26574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
26584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String CURRENT = "current";
26594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
26604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
26614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Is this APN enabled?
26624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (boolean)</P>
26634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
26644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String CARRIER_ENABLED = "carrier_enabled";
26654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
26664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
26674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Radio Access Technology info.
26684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * To check what values are allowed, refer to {@link android.telephony.ServiceState}.
26694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * This should be spread to other technologies,
26704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * but is currently only used for LTE (14) and eHRPD (13).
26714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
26724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
26734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String BEARER = "bearer";
26744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
26754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
26764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Radio Access Technology bitmask.
26774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * To check what values can be contained, refer to {@link android.telephony.ServiceState}.
26784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * 0 indicates all techs otherwise first bit refers to RAT/bearer 1, second bit refers to
26794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * RAT/bearer 2 and so on.
26804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Bitmask for a radio tech R is (1 << (R - 1))
26814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
26824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
26834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
26844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String BEARER_BITMASK = "bearer_bitmask";
26854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
26864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
26874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * MVNO type:
26884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * {@code SPN (Service Provider Name), IMSI, GID (Group Identifier Level 1)}.
26894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
26904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
26914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MVNO_TYPE = "mvno_type";
26924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
26934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
26944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * MVNO data.
26954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Use the following examples.
26964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <ul>
26974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *     <li>SPN: A MOBILE, BEN NL, ...</li>
26984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *     <li>IMSI: 302720x94, 2060188, ...</li>
26994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *     <li>GID: 4E, 33, ...</li>
27004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * </ul>
27014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
27024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
27034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MVNO_MATCH_DATA = "mvno_match_data";
27044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
27054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
27064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The subscription to which the APN belongs to
27074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <p>Type: INTEGER (long) </p>
27084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
27094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String SUBSCRIPTION_ID = "sub_id";
27104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
27114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
27124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The profile_id to which the APN saved in modem
27134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <p>Type: INTEGER</p>
27144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *@hide
27154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
27164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String PROFILE_ID = "profile_id";
27174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
27184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
27194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Is the apn setting to be set in modem
27204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (boolean)</P>
27214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *@hide
27224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
27234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MODEM_COGNITIVE = "modem_cognitive";
27244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
27254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
27264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The max connections of this apn
27274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <p>Type: INTEGER</p>
27284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *@hide
27294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
27304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MAX_CONNS = "max_conns";
27314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
27324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
27334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The wait time for retry of the apn
27344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <p>Type: INTEGER</p>
27354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *@hide
27364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
27374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String WAIT_TIME = "wait_time";
27384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
27394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
27404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The time to limit max connection for the apn
27414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <p>Type: INTEGER</p>
27424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *@hide
27434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
27444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MAX_CONNS_TIME = "max_conns_time";
27454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
27464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
27474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The MTU size of the mobile interface to  which the APN connected
27484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <p>Type: INTEGER </p>
27494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
27504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
27514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MTU = "mtu";
27524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
27534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
27544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Is this APN added/edited/deleted by a user or carrier?
27554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <p>Type: INTEGER </p>
27564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
27574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
27584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String EDITED = "edited";
27594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
27604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
27614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Is this APN visible to the user?
27624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <p>Type: INTEGER (boolean) </p>
27634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
27644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
27654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String USER_VISIBLE = "user_visible";
27664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
27674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
27684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Following are possible values for the EDITED field
27694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
27704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
27714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int UNEDITED = 0;
27724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
27734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *  @hide
27744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
27754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int USER_EDITED = 1;
27764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
27774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *  @hide
27784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
27794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int USER_DELETED = 2;
27804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
27814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * DELETED_BUT_PRESENT is an intermediate value used to indicate that an entry deleted
27824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * by the user is still present in the new APN database and therefore must remain tagged
27834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * as user deleted rather than completely removed from the database
27844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
27854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
27864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int USER_DELETED_BUT_PRESENT_IN_XML = 3;
27874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
27884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *  @hide
27894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
27904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int CARRIER_EDITED = 4;
27914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
27924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * CARRIER_DELETED values are currently not used as there is no usecase. If they are used,
27934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * delete() will have to change accordingly. Currently it is hardcoded to USER_DELETED.
27944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
27954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
27964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int CARRIER_DELETED = 5;
27974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
27984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         *  @hide
27994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
28004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final int CARRIER_DELETED_BUT_PRESENT_IN_XML = 6;
28014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    }
28024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
28034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    /**
28044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     * Contains received SMS cell broadcast messages.
28054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     * @hide
28064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen     */
28074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    public static final class CellBroadcasts implements BaseColumns {
28084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
28094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
28104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Not instantiable.
28114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * @hide
28124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
28134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        private CellBroadcasts() {}
28144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
28154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
28164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * The {@code content://} URI for this table.
28174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
28184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final Uri CONTENT_URI = Uri.parse("content://cellbroadcasts");
28194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
28204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
28214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Message geographical scope.
28224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
28234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
28244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String GEOGRAPHICAL_SCOPE = "geo_scope";
28254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
28264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
28274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Message serial number.
28284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
28294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
28304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String SERIAL_NUMBER = "serial_number";
28314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
28324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
28334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * PLMN of broadcast sender. {@code SERIAL_NUMBER + PLMN + LAC + CID} uniquely identifies
28344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * a broadcast for duplicate detection purposes.
28354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
28364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
28374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String PLMN = "plmn";
28384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
28394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
28404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Location Area (GSM) or Service Area (UMTS) of broadcast sender. Unused for CDMA.
28414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Only included if Geographical Scope of message is not PLMN wide (01).
28424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
28434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
28444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String LAC = "lac";
28454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
28464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
28474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Cell ID of message sender (GSM/UMTS). Unused for CDMA. Only included when the
28484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Geographical Scope of message is cell wide (00 or 11).
28494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
28504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
28514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String CID = "cid";
28524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
28534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
28544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Message code. <em>OBSOLETE: merged into SERIAL_NUMBER.</em>
28554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
28564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
28574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String V1_MESSAGE_CODE = "message_code";
28584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
28594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
28604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Message identifier. <em>OBSOLETE: renamed to SERVICE_CATEGORY.</em>
28614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
28624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
28634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String V1_MESSAGE_IDENTIFIER = "message_id";
28644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
28654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
28664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Service category (GSM/UMTS: message identifier; CDMA: service category).
28674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
28684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
28694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String SERVICE_CATEGORY = "service_category";
28704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
28714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
28724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Message language code.
28734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
28744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
28754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String LANGUAGE_CODE = "language";
28764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
28774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
28784980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Message body.
28794980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: TEXT</P>
28804980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
28814980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MESSAGE_BODY = "body";
28824980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
28834980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
28844980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Message delivery time.
28854980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (long)</P>
28864980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
28874980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String DELIVERY_TIME = "date";
28884980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
28894980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
28904980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Has the message been viewed?
28914980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER (boolean)</P>
28924980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
28934980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MESSAGE_READ = "read";
28944980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
28954980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
28964980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Message format (3GPP or 3GPP2).
28974980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
28984980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
28994980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MESSAGE_FORMAT = "format";
29004980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
29014980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
29024980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Message priority (including emergency).
29034980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
29044980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
29054980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String MESSAGE_PRIORITY = "priority";
29064980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
29074980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
29084980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * ETWS warning type (ETWS alerts only).
29094980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
29104980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
29114980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String ETWS_WARNING_TYPE = "etws_warning_type";
29124980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
29134980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
29144980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * CMAS message class (CMAS alerts only).
29154980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
29164980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
29174980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String CMAS_MESSAGE_CLASS = "cmas_message_class";
29184980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
29194980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
29204980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * CMAS category (CMAS alerts only).
29214980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
29224980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
29234980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String CMAS_CATEGORY = "cmas_category";
29244980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
29254980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
29264980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * CMAS response type (CMAS alerts only).
29274980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
29284980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
29294980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String CMAS_RESPONSE_TYPE = "cmas_response_type";
29304980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
29314980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
29324980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * CMAS severity (CMAS alerts only).
29334980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
29344980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
29354980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String CMAS_SEVERITY = "cmas_severity";
29364980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
29374980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
29384980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * CMAS urgency (CMAS alerts only).
29394980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
29404980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
29414980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String CMAS_URGENCY = "cmas_urgency";
29424980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
29434980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
29444980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * CMAS certainty (CMAS alerts only).
29454980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * <P>Type: INTEGER</P>
29464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
29474980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String CMAS_CERTAINTY = "cmas_certainty";
29484980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
29494980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /** The default sort order for this table. */
29504980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String DEFAULT_SORT_ORDER = DELIVERY_TIME + " DESC";
29514980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen
29524980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        /**
29534980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         * Query columns for instantiating {@link android.telephony.CellBroadcastMessage} objects.
29544980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen         */
29554980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        public static final String[] QUERY_COLUMNS = {
29564980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                _ID,
29574980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                GEOGRAPHICAL_SCOPE,
29584980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                PLMN,
29594980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                LAC,
29604980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                CID,
29614980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                SERIAL_NUMBER,
29624980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                SERVICE_CATEGORY,
29634980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                LANGUAGE_CODE,
29644980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                MESSAGE_BODY,
29654980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                DELIVERY_TIME,
29664980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                MESSAGE_READ,
29674980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                MESSAGE_FORMAT,
29684980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                MESSAGE_PRIORITY,
29694980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                ETWS_WARNING_TYPE,
29704980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                CMAS_MESSAGE_CLASS,
29714980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                CMAS_CATEGORY,
29724980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                CMAS_RESPONSE_TYPE,
29734980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                CMAS_SEVERITY,
29744980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                CMAS_URGENCY,
29754980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen                CMAS_CERTAINTY
29764980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen        };
29774980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen    }
2978b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
2979b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu    /**
2980b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu     * Constants for interfacing with the ServiceStateProvider and the different fields of the
2981b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu     * {@link ServiceState} class accessible through the provider.
2982b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu     */
2983b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu    public static final class ServiceStateTable {
2984b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
2985b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
2986b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * Not instantiable.
2987b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
2988b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
2989b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        private ServiceStateTable() {}
2990b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
2991b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
2992b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * The authority string for the ServiceStateProvider
2993b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
2994b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String AUTHORITY = "service-state";
2995b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
2996b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
2997b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * The {@code content://} style URL for the ServiceStateProvider
2998b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
2999b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final Uri CONTENT_URI = Uri.parse("content://service-state/");
3000b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3001b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3002b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * Generates a content {@link Uri} used to receive updates on a specific field in the
3003b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * ServiceState provider.
3004b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * <p>
3005b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * Use this {@link Uri} with a {@link ContentObserver} to be notified of changes to the
3006b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * {@link ServiceState} while your app is running.  You can also use a {@link JobService} to
3007b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * ensure your app is notified of changes to the {@link Uri} even when it is not running.
3008b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * Note, however, that using a {@link JobService} does not guarantee timely delivery of
3009b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * updates to the {@link Uri}.
3010b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         *
30110f332523b2edf3f1b5e935661b8b4400c76a71beJordan Liu         * @param subscriptionId the subscriptionId to receive updates on
3012b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @param field the ServiceState field to receive updates on
3013b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @return the Uri used to observe {@link ServiceState} changes
3014b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
30150f332523b2edf3f1b5e935661b8b4400c76a71beJordan Liu        public static Uri getUriForSubscriptionIdAndField(int subscriptionId, String field) {
30160f332523b2edf3f1b5e935661b8b4400c76a71beJordan Liu            return CONTENT_URI.buildUpon().appendEncodedPath(String.valueOf(subscriptionId))
3017b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu                    .appendEncodedPath(field).build();
3018b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        }
3019b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3020b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3021b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * Generates a content {@link Uri} used to receive updates on every field in the
3022b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * ServiceState provider.
3023b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * <p>
3024b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * Use this {@link Uri} with a {@link ContentObserver} to be notified of changes to the
3025b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * {@link ServiceState} while your app is running.  You can also use a {@link JobService} to
3026b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * ensure your app is notified of changes to the {@link Uri} even when it is not running.
3027b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * Note, however, that using a {@link JobService} does not guarantee timely delivery of
3028b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * updates to the {@link Uri}.
3029b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         *
30300f332523b2edf3f1b5e935661b8b4400c76a71beJordan Liu         * @param subscriptionId the subscriptionId to receive updates on
3031b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @return the Uri used to observe {@link ServiceState} changes
3032b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
30330f332523b2edf3f1b5e935661b8b4400c76a71beJordan Liu        public static Uri getUriForSubscriptionId(int subscriptionId) {
30340f332523b2edf3f1b5e935661b8b4400c76a71beJordan Liu            return CONTENT_URI.buildUpon().appendEncodedPath(String.valueOf(subscriptionId)).build();
3035b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        }
3036b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3037b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3038b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * Used to insert a ServiceState into the ServiceStateProvider as a ContentValues instance.
3039b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         *
3040b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @param state the ServiceState to convert into ContentValues
3041b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @return the convertedContentValues instance
3042b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3043b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3044b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static ContentValues getContentValuesForServiceState(ServiceState state) {
3045b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            ContentValues values = new ContentValues();
3046b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(VOICE_REG_STATE, state.getVoiceRegState());
3047b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(DATA_REG_STATE, state.getDataRegState());
3048b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(VOICE_ROAMING_TYPE, state.getVoiceRoamingType());
3049b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(DATA_ROAMING_TYPE, state.getDataRoamingType());
3050b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(VOICE_OPERATOR_ALPHA_LONG, state.getVoiceOperatorAlphaLong());
3051b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(VOICE_OPERATOR_ALPHA_SHORT, state.getVoiceOperatorAlphaShort());
3052b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(VOICE_OPERATOR_NUMERIC, state.getVoiceOperatorNumeric());
3053b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(DATA_OPERATOR_ALPHA_LONG, state.getDataOperatorAlphaLong());
3054b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(DATA_OPERATOR_ALPHA_SHORT, state.getDataOperatorAlphaShort());
3055b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(DATA_OPERATOR_NUMERIC, state.getDataOperatorNumeric());
3056b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(IS_MANUAL_NETWORK_SELECTION, state.getIsManualSelection());
3057b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(RIL_VOICE_RADIO_TECHNOLOGY, state.getRilVoiceRadioTechnology());
3058b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(RIL_DATA_RADIO_TECHNOLOGY, state.getRilDataRadioTechnology());
3059b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(CSS_INDICATOR, state.getCssIndicator());
3060b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(NETWORK_ID, state.getNetworkId());
3061b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(SYSTEM_ID, state.getSystemId());
3062b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(CDMA_ROAMING_INDICATOR, state.getCdmaRoamingIndicator());
3063b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(CDMA_DEFAULT_ROAMING_INDICATOR, state.getCdmaDefaultRoamingIndicator());
3064b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(CDMA_ERI_ICON_INDEX, state.getCdmaEriIconIndex());
3065b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(CDMA_ERI_ICON_MODE, state.getCdmaEriIconMode());
3066b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(IS_EMERGENCY_ONLY, state.isEmergencyOnly());
3067b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(IS_DATA_ROAMING_FROM_REGISTRATION, state.getDataRoamingFromRegistration());
3068b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            values.put(IS_USING_CARRIER_AGGREGATION, state.isUsingCarrierAggregation());
3069b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu            return values;
3070b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        }
3071b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3072b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3073b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * An integer value indicating the current voice service state.
3074b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * <p>
3075b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * Valid values: {@link ServiceState#STATE_IN_SERVICE},
3076b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * {@link ServiceState#STATE_OUT_OF_SERVICE}, {@link ServiceState#STATE_EMERGENCY_ONLY},
3077b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * {@link ServiceState#STATE_POWER_OFF}.
3078b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * <p>
3079b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getState()}.
3080b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3081b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String VOICE_REG_STATE = "voice_reg_state";
3082b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3083b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3084b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * An integer value indicating the current data service state.
3085b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * <p>
3086b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * Valid values: {@link ServiceState#STATE_IN_SERVICE},
3087b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * {@link ServiceState#STATE_OUT_OF_SERVICE}, {@link ServiceState#STATE_EMERGENCY_ONLY},
3088b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * {@link ServiceState#STATE_POWER_OFF}.
3089b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * <p>
3090b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getDataRegState()}.
3091b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3092b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3093b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String DATA_REG_STATE = "data_reg_state";
3094b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3095b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3096b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * An integer value indicating the current voice roaming type.
3097b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * <p>
3098b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getVoiceRoamingType()}.
3099b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3100b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3101b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String VOICE_ROAMING_TYPE = "voice_roaming_type";
3102b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3103b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3104b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * An integer value indicating the current data roaming type.
3105b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * <p>
3106b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getDataRoamingType()}.
3107b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3108b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3109b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String DATA_ROAMING_TYPE = "data_roaming_type";
3110b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3111b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3112b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * The current registered voice network operator name in long alphanumeric format.
3113b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * <p>
3114b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getVoiceOperatorAlphaLong()}.
3115b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3116b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3117b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String VOICE_OPERATOR_ALPHA_LONG = "voice_operator_alpha_long";
3118b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3119b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3120b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * The current registered operator name in short alphanumeric format.
3121b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * <p>
3122b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * In GSM/UMTS, short format can be up to 8 characters long. The current registered voice
3123b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * network operator name in long alphanumeric format.
3124b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * <p>
3125b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getVoiceOperatorAlphaShort()}.
3126b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3127b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3128b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String VOICE_OPERATOR_ALPHA_SHORT = "voice_operator_alpha_short";
3129b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3130b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3131b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3132b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * The current registered operator numeric id.
3133b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * <p>
3134b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * In GSM/UMTS, numeric format is 3 digit country code plus 2 or 3 digit
3135b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * network code.
3136b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * <p>
3137b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getOperatorNumeric()}.
3138b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3139b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String VOICE_OPERATOR_NUMERIC = "voice_operator_numeric";
3140b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3141b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3142b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * The current registered data network operator name in long alphanumeric format.
3143b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * <p>
3144b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getDataOperatorAlphaLong()}.
3145b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3146b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3147b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String DATA_OPERATOR_ALPHA_LONG = "data_operator_alpha_long";
3148b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3149b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3150b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * The current registered data network operator name in short alphanumeric format.
3151b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * <p>
3152b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getDataOperatorAlphaShort()}.
3153b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3154b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3155b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String DATA_OPERATOR_ALPHA_SHORT = "data_operator_alpha_short";
3156b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3157b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3158b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * The current registered data network operator numeric id.
3159b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * <p>
3160b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getDataOperatorNumeric()}.
3161b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3162b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3163b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String DATA_OPERATOR_NUMERIC = "data_operator_numeric";
3164b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3165b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3166b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * The current network selection mode.
3167b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * <p>
3168b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getIsManualSelection()}.
3169b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3170b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String IS_MANUAL_NETWORK_SELECTION = "is_manual_network_selection";
3171b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3172b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3173b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getRilVoiceRadioTechnology()}.
3174b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3175b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3176b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String RIL_VOICE_RADIO_TECHNOLOGY = "ril_voice_radio_technology";
3177b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3178b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3179b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getRilDataRadioTechnology()}.
3180b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3181b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3182b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String RIL_DATA_RADIO_TECHNOLOGY = "ril_data_radio_technology";
3183b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3184b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3185b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getCssIndicator()}.
3186b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3187b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3188b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String CSS_INDICATOR = "css_indicator";
3189b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3190b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3191b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getNetworkId()}.
3192b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3193b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3194b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String NETWORK_ID = "network_id";
3195b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3196b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3197b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getSystemId()}.
3198b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3199b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3200b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String SYSTEM_ID = "system_id";
3201b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3202b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3203b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getCdmaRoamingIndicator()}.
3204b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3205b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3206b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String CDMA_ROAMING_INDICATOR = "cdma_roaming_indicator";
3207b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3208b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3209b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getCdmaDefaultRoamingIndicator()}.
3210b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3211b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3212b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String CDMA_DEFAULT_ROAMING_INDICATOR =
3213b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu                "cdma_default_roaming_indicator";
3214b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3215b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3216b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getCdmaEriIconIndex()}.
3217b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3218b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3219b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String CDMA_ERI_ICON_INDEX = "cdma_eri_icon_index";
3220b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3221b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3222b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getCdmaEriIconMode()}.
3223b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3224b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3225b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String CDMA_ERI_ICON_MODE = "cdma_eri_icon_mode";
3226b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3227b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3228b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#isEmergencyOnly()}.
3229b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3230b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3231b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String IS_EMERGENCY_ONLY = "is_emergency_only";
3232b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3233b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3234b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#getDataRoamingFromRegistration()}.
3235b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3236b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3237b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String IS_DATA_ROAMING_FROM_REGISTRATION =
3238b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu                "is_data_roaming_from_registration";
3239b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu
3240b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        /**
3241b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * This is the same as {@link ServiceState#isUsingCarrierAggregation()}.
3242b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         * @hide
3243b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu         */
3244b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu        public static final String IS_USING_CARRIER_AGGREGATION = "is_using_carrier_aggregation";
3245b9b75edb2d5042f95b008fe497db2707c18d0eceJordan Liu    }
32464980bf4aff8d49ac4e05444a6ef40ea1536f1afbDan Willemsen}
3247