10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/* 20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2006 The Android Open Source Project 30825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 40825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 50825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * you may not use this file except in compliance with the License. 60825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * You may obtain a copy of the License at 70825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 80825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * http://www.apache.org/licenses/LICENSE-2.0 90825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unless required by applicable law or agreed to in writing, software 110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * distributed under the License is distributed on an "AS IS" BASIS, 120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * See the License for the specific language governing permissions and 140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * limitations under the License. 150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 170825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepackage android.provider; 180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 190825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.annotation.SdkConstant; 200825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.annotation.SdkConstant.SdkConstantType; 215c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braunimport android.content.ComponentName; 220825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.content.ContentResolver; 230825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.content.ContentValues; 240825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.content.Context; 250825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.content.Intent; 260825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.database.Cursor; 270825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.database.sqlite.SqliteWrapper; 280825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.net.Uri; 290825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.telephony.SmsMessage; 30a8467dd0c524787104b1ccdddc5e8af10ba729edWink Savilleimport android.telephony.SubscriptionManager; 310825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.text.TextUtils; 3299c2e1d6749cfad2a8ca94a47857d8c3bfc09454Wink Savilleimport android.telephony.Rlog; 330825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.util.Patterns; 340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 35a8467dd0c524787104b1ccdddc5e8af10ba729edWink Savilleimport com.android.internal.telephony.PhoneConstants; 365c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braunimport com.android.internal.telephony.SmsApplication; 375c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun 380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 390825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.util.HashSet; 400825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.util.Set; 410825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.util.regex.Matcher; 420825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.util.regex.Pattern; 430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/** 45b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The Telephony provider contains data related to phone operation, specifically SMS and MMS 46b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * messages and access to the APN list, including the MMSC to use. 4729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 4829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p class="note"><strong>Note:</strong> These APIs are not available on all Android-powered 4929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * devices. If your app depends on telephony features such as for managing SMS messages, include 5029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * a <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code <uses-feature>} 5129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * </a> element in your manifest that declares the {@code "android.hardware.telephony"} hardware 5229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * feature. Alternatively, you can check for telephony availability at runtime using either 5329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * {@link android.content.pm.PackageManager#hasSystemFeature 5429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * hasSystemFeature(PackageManager.FEATURE_TELEPHONY)} or {@link 5529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * android.telephony.TelephonyManager#getPhoneType}.</p> 5629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 5729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <h3>Creating an SMS app</h3> 5829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 5929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>Only the default SMS app (selected by the user in system settings) is able to write to the 6029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * SMS Provider (the tables defined within the {@code Telephony} class) and only the default SMS 6129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * app receives the {@link android.provider.Telephony.Sms.Intents#SMS_DELIVER_ACTION} broadcast 6229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * when the user receives an SMS or the {@link 6329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * android.provider.Telephony.Sms.Intents#WAP_PUSH_DELIVER_ACTION} broadcast when the user 6429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * receives an MMS.</p> 6529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 6629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>Any app that wants to behave as the user's default SMS app must handle the following intents: 6729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <ul> 6829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li>In a broadcast receiver, include an intent filter for {@link Sms.Intents#SMS_DELIVER_ACTION} 6929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * (<code>"android.provider.Telephony.SMS_DELIVER"</code>). The broadcast receiver must also 7029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * require the {@link android.Manifest.permission#BROADCAST_SMS} permission. 7129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>This allows your app to directly receive incoming SMS messages.</p></li> 7229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li>In a broadcast receiver, include an intent filter for {@link 7329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * Sms.Intents#WAP_PUSH_DELIVER_ACTION}} ({@code "android.provider.Telephony.WAP_PUSH_DELIVER"}) 7429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * with the MIME type <code>"application/vnd.wap.mms-message"</code>. 7529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * The broadcast receiver must also require the {@link 7629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * android.Manifest.permission#BROADCAST_WAP_PUSH} permission. 7729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>This allows your app to directly receive incoming MMS messages.</p></li> 7829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li>In your activity that delivers new messages, include an intent filter for 7929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * {@link android.content.Intent#ACTION_SENDTO} (<code>"android.intent.action.SENDTO" 8029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * </code>) with schemas, <code>sms:</code>, <code>smsto:</code>, <code>mms:</code>, and 8129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <code>mmsto:</code>. 8229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>This allows your app to receive intents from other apps that want to deliver a 8329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * message.</p></li> 8429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li>In a service, include an intent filter for {@link 8529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * android.telephony.TelephonyManager#ACTION_RESPOND_VIA_MESSAGE} 8629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * (<code>"android.intent.action.RESPOND_VIA_MESSAGE"</code>) with schemas, 8729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <code>sms:</code>, <code>smsto:</code>, <code>mms:</code>, and <code>mmsto:</code>. 8829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * This service must also require the {@link 8929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * android.Manifest.permission#SEND_RESPOND_VIA_MESSAGE} permission. 9029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>This allows users to respond to incoming phone calls with an immediate text message 9129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * using your app.</p></li> 9229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * </ul> 9329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 9429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>Other apps that are not selected as the default SMS app can only <em>read</em> the SMS 9529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * Provider, but may also be notified when a new SMS arrives by listening for the {@link 9629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * Sms.Intents#SMS_RECEIVED_ACTION} 9729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * broadcast, which is a non-abortable broadcast that may be delivered to multiple apps. This 9829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * broadcast is intended for apps that—while not selected as the default SMS app—need to 9929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * read special incoming messages such as to perform phone number verification.</p> 10029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 10129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>For more information about building SMS apps, read the blog post, <a 10229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * href="http://android-developers.blogspot.com/2013/10/getting-your-sms-apps-ready-for-kitkat.html" 10329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * >Getting Your SMS Apps Ready for KitKat</a>.</p> 10429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 1050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1060825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic final class Telephony { 1070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private static final String TAG = "Telephony"; 1080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 109b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 110b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 111b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 112b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 113b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Telephony() { 1140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 117b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Base columns for tables that contain text-based SMSs. 1180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public interface TextBasedSmsColumns { 1200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 121b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: all messages. */ 1220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_TYPE_ALL = 0; 123b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 124b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: inbox. */ 1250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_TYPE_INBOX = 1; 126b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 127b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: sent messages. */ 1280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_TYPE_SENT = 2; 129b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 130b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: drafts. */ 1310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_TYPE_DRAFT = 3; 132b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 133b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: outbox. */ 1340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_TYPE_OUTBOX = 4; 135b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 136b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: failed outgoing message. */ 137b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final int MESSAGE_TYPE_FAILED = 5; 138b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 139b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: queued to send later. */ 140b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final int MESSAGE_TYPE_QUEUED = 6; 1410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 143b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The type of message. 1440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 146b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final String TYPE = "type"; 1470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 149b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The thread ID of the message. 150b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 1510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 152b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final String THREAD_ID = "thread_id"; 1530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 155b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The address of the other party. 156b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 1570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 158b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final String ADDRESS = "address"; 1590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 161b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The date the message was received. 1620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (long)</P> 1630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DATE = "date"; 1650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 167b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The date the message was sent. 1680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (long)</P> 1690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DATE_SENT = "date_sent"; 1710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 173b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Has the message been read? 1740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (boolean)</P> 1750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String READ = "read"; 1770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 179b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Has the message been seen by the user? The "seen" flag determines 180b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * whether we need to show a notification. 181b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 1820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SEEN = "seen"; 1840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 186b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * {@code TP-Status} value for the message, or -1 if no status has been received. 187b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 1880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STATUS = "status"; 1900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 191b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** TP-Status: no status received. */ 1920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int STATUS_NONE = -1; 193b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** TP-Status: complete. */ 1940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int STATUS_COMPLETE = 0; 195b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** TP-Status: pending. */ 1960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int STATUS_PENDING = 32; 197b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** TP-Status: failed. */ 1980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int STATUS_FAILED = 64; 1990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 201b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The subject of the message, if present. 2020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 2030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SUBJECT = "subject"; 2050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 207b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The body of the message. 2080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 2090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String BODY = "body"; 2110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 213b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The ID of the sender of the conversation, if present. 214b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (reference to item in {@code content://contacts/people})</P> 2150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PERSON = "person"; 2170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 219b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The protocol identifier code. 2200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 2210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PROTOCOL = "protocol"; 2230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 225b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is the {@code TP-Reply-Path} flag set? 2260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: BOOLEAN</P> 2270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_PATH_PRESENT = "reply_path_present"; 2290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 231b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The service center (SC) through which to send the message, if present. 2320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 2330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SERVICE_CENTER = "service_center"; 2350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 237b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is the message locked? 2380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (boolean)</P> 2390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String LOCKED = "locked"; 2410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2434b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * The subscription to which the message belongs to. Its value will be 244dfdf9c40ebaaed15b5020ad6bce898fadd32dd58Wink Saville * < 0 if the sub id cannot be determined. 245a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * <p>Type: INTEGER (long) </p> 246a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 2474b09dff383ae7dfca595aeeea886a594a1947340Wink Saville public static final String SUBSCRIPTION_ID = "sub_id"; 248a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 249a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 250e9701717e43cc5aacbcf624f77a53be92350662cw * The MTU size of the mobile interface to which the APN connected 251e9701717e43cc5aacbcf624f77a53be92350662cw * @hide 252e9701717e43cc5aacbcf624f77a53be92350662cw */ 253e9701717e43cc5aacbcf624f77a53be92350662cw public static final String MTU = "mtu"; 254e9701717e43cc5aacbcf624f77a53be92350662cw 255e9701717e43cc5aacbcf624f77a53be92350662cw /** 256a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Error code associated with sending or receiving this message 2570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 2580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ERROR_CODE = "error_code"; 260b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen 261b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen /** 262dac6bb4a3b2046e1ac943c661563b6daebf49a8fYe Wen * The identity of the sender of a sent message. It is 263dac6bb4a3b2046e1ac943c661563b6daebf49a8fYe Wen * usually the package name of the app which sends the message. 2643824f44a039a5be05b86acfba427638b3b1e587aYe Wen * <p class="note"><strong>Note:</strong> 2653824f44a039a5be05b86acfba427638b3b1e587aYe Wen * This column is read-only. It is set by the provider and can not be changed by apps. 266dac6bb4a3b2046e1ac943c661563b6daebf49a8fYe Wen * <p>Type: TEXT</p> 267b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen */ 268b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen public static final String CREATOR = "creator"; 2690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 272b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all text-based SMS messages. 2730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Sms implements BaseColumns, TextBasedSmsColumns { 275b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 276b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 277b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 278b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 279b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 280b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Sms() { 281b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 282b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 28368b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun /** 28468b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun * Used to determine the currently configured default SMS package. 28568b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun * @param context context of the requesting application 28668b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun * @return package name for the default SMS package or null 28768b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun */ 28868b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun public static String getDefaultSmsPackage(Context context) { 28968b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun ComponentName component = SmsApplication.getDefaultSmsApplication(context, false); 29068b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun if (component != null) { 29168b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun return component.getPackageName(); 29268b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun } 29368b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun return null; 29468b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun } 29568b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun 296b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 297b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Return cursor for table query. 298b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 299b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 300b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static Cursor query(ContentResolver cr, String[] projection) { 3010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return cr.query(CONTENT_URI, projection, null, null, DEFAULT_SORT_ORDER); 3020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 304b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 305b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Return cursor for table query. 306b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 307b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 308b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static Cursor query(ContentResolver cr, String[] projection, 3090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String where, String orderBy) { 3100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return cr.query(CONTENT_URI, projection, where, 311b47af9b263628c00b1c890f102091098a31463c0Jake Hamby null, orderBy == null ? DEFAULT_SORT_ORDER : orderBy); 3120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 315b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 3160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 317b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://sms"); 3180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 320b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 3210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 3230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 3250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Add an SMS to the given URI. 3260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 3270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param resolver the content resolver to use 3280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param uri the URI to add the message to 3290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param address the address of the sender 3300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param body the body of the message 331b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param subject the pseudo-subject of the message 3320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param date the timestamp for the message 3330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param read true if the message has been read, false if not 3340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param deliveryReport true if a delivery report was requested, false if not 3350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return the URI for the new message 336b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 3370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static Uri addMessageToUri(ContentResolver resolver, 3390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Uri uri, String address, String body, String subject, 3400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Long date, boolean read, boolean deliveryReport) { 341440b44eb71b8d5afeeaa5fda8912f3a61b4c1588Wink Saville return addMessageToUri(SubscriptionManager.getDefaultSmsSubId(), 342a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville resolver, uri, address, body, subject, date, read, deliveryReport, -1L); 343a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 344a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 345a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 346a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Add an SMS to the given URI. 347a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * 348a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param resolver the content resolver to use 349a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param uri the URI to add the message to 350a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param address the address of the sender 351a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param body the body of the message 352a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subject the psuedo-subject of the message 353a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param date the timestamp for the message 354a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param read true if the message has been read, false if not 355a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param deliveryReport true if a delivery report was requested, false if not 3564b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * @param subId the subscription which the message belongs to 357a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @return the URI for the new message 358a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 359a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 360b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville public static Uri addMessageToUri(int subId, ContentResolver resolver, 361a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville Uri uri, String address, String body, String subject, 362a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville Long date, boolean read, boolean deliveryReport) { 363a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville return addMessageToUri(subId, resolver, uri, address, body, subject, 3640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville date, read, deliveryReport, -1L); 3650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 368b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Add an SMS to the given URI with the specified thread ID. 3690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 3700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param resolver the content resolver to use 3710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param uri the URI to add the message to 3720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param address the address of the sender 3730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param body the body of the message 374b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param subject the pseudo-subject of the message 3750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param date the timestamp for the message 3760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param read true if the message has been read, false if not 3770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param deliveryReport true if a delivery report was requested, false if not 3780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param threadId the thread_id of the message 3790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return the URI for the new message 380b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 3810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static Uri addMessageToUri(ContentResolver resolver, 3830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Uri uri, String address, String body, String subject, 3840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Long date, boolean read, boolean deliveryReport, long threadId) { 385440b44eb71b8d5afeeaa5fda8912f3a61b4c1588Wink Saville return addMessageToUri(SubscriptionManager.getDefaultSmsSubId(), 386a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville resolver, uri, address, body, subject, 387a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville date, read, deliveryReport, threadId); 388a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 389a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 390a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 391a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Add an SMS to the given URI with thread_id specified. 392a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * 393a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param resolver the content resolver to use 394a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param uri the URI to add the message to 395a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param address the address of the sender 396a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param body the body of the message 397a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subject the psuedo-subject of the message 398a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param date the timestamp for the message 399a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param read true if the message has been read, false if not 400a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param deliveryReport true if a delivery report was requested, false if not 401a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param threadId the thread_id of the message 4024b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * @param subId the subscription which the message belongs to 403a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @return the URI for the new message 404a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 405a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 406b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville public static Uri addMessageToUri(int subId, ContentResolver resolver, 407a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville Uri uri, String address, String body, String subject, 408a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville Long date, boolean read, boolean deliveryReport, long threadId) { 409a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville ContentValues values = new ContentValues(8); 410a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville Rlog.v(TAG,"Telephony addMessageToUri sub id: " + subId); 4110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4124b09dff383ae7dfca595aeeea886a594a1947340Wink Saville values.put(SUBSCRIPTION_ID, subId); 4130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(ADDRESS, address); 4140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (date != null) { 4150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(DATE, date); 4160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(READ, read ? Integer.valueOf(1) : Integer.valueOf(0)); 4180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(SUBJECT, subject); 4190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(BODY, body); 4200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (deliveryReport) { 4210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(STATUS, STATUS_PENDING); 4220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (threadId != -1L) { 4240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(THREAD_ID, threadId); 4250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return resolver.insert(uri, values); 4270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 4300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Move a message to the given folder. 4310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 4320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param context the context to use 4330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param uri the message to move 4340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param folder the folder to move to 4350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return true if the operation succeeded 436b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 4370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static boolean moveMessageToFolder(Context context, 4390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Uri uri, int folder, int error) { 4400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (uri == null) { 4410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return false; 4420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean markAsUnread = false; 4450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean markAsRead = false; 4460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville switch(folder) { 4470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case MESSAGE_TYPE_INBOX: 4480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case MESSAGE_TYPE_DRAFT: 4490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville break; 4500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case MESSAGE_TYPE_OUTBOX: 4510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case MESSAGE_TYPE_SENT: 4520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville markAsRead = true; 4530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville break; 4540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case MESSAGE_TYPE_FAILED: 4550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case MESSAGE_TYPE_QUEUED: 4560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville markAsUnread = true; 4570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville break; 4580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville default: 4590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return false; 4600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ContentValues values = new ContentValues(3); 4630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(TYPE, folder); 4650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (markAsUnread) { 466b47af9b263628c00b1c890f102091098a31463c0Jake Hamby values.put(READ, 0); 4670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } else if (markAsRead) { 468b47af9b263628c00b1c890f102091098a31463c0Jake Hamby values.put(READ, 1); 4690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(ERROR_CODE, error); 4710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return 1 == SqliteWrapper.update(context, context.getContentResolver(), 4730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville uri, values, null, null); 4740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 4770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Returns true iff the folder (message type) identifies an 4780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * outgoing message. 479b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 4800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static boolean isOutgoingFolder(int messageType) { 4820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return (messageType == MESSAGE_TYPE_FAILED) 4830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville || (messageType == MESSAGE_TYPE_OUTBOX) 4840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville || (messageType == MESSAGE_TYPE_SENT) 4850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville || (messageType == MESSAGE_TYPE_QUEUED); 4860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 489b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all text-based SMS messages in the SMS app inbox. 4900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Inbox implements BaseColumns, TextBasedSmsColumns { 492b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 4930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 494b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 495b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 4960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 497b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Inbox() { 498b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 4990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 501b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 502b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 503b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://sms/inbox"); 504b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 505b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 506b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 5070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 5090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 5110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Add an SMS to the Draft box. 5120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 5130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param resolver the content resolver to use 5140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param address the address of the sender 5150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param body the body of the message 516b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param subject the pseudo-subject of the message 5170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param date the timestamp for the message 5180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param read true if the message has been read, false if not 5190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return the URI for the new message 520b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 5210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static Uri addMessage(ContentResolver resolver, 5230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String address, String body, String subject, Long date, 5240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean read) { 525440b44eb71b8d5afeeaa5fda8912f3a61b4c1588Wink Saville return addMessageToUri(SubscriptionManager.getDefaultSmsSubId(), 526a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville resolver, CONTENT_URI, address, body, subject, date, read, false); 527a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 528a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 529a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 530a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Add an SMS to the Draft box. 531a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * 532a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param resolver the content resolver to use 533a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param address the address of the sender 534a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param body the body of the message 535a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subject the psuedo-subject of the message 536a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param date the timestamp for the message 537a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param read true if the message has been read, false if not 5384b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * @param subId the subscription which the message belongs to 539a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @return the URI for the new message 540a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 541a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 542b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville public static Uri addMessage(int subId, ContentResolver resolver, 543a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville String address, String body, String subject, Long date, boolean read) { 544a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville return addMessageToUri(subId, resolver, CONTENT_URI, address, body, 5450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville subject, date, read, false); 5460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 550b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all sent text-based SMS messages in the SMS app. 5510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Sent implements BaseColumns, TextBasedSmsColumns { 553b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 554b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 555b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 556b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 557b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 558b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Sent() { 559b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 560b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 5610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 562b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 5630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 564b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://sms/sent"); 5650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 567b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 5680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 5700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 5720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Add an SMS to the Draft box. 5730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 5740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param resolver the content resolver to use 5750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param address the address of the sender 5760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param body the body of the message 577b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param subject the pseudo-subject of the message 5780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param date the timestamp for the message 5790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return the URI for the new message 580b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 5810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static Uri addMessage(ContentResolver resolver, 5830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String address, String body, String subject, Long date) { 584440b44eb71b8d5afeeaa5fda8912f3a61b4c1588Wink Saville return addMessageToUri(SubscriptionManager.getDefaultSmsSubId(), 585a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville resolver, CONTENT_URI, address, body, subject, date, true, false); 586a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 587a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 588a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 589a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Add an SMS to the Draft box. 590a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * 591a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param resolver the content resolver to use 592a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param address the address of the sender 593a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param body the body of the message 594a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subject the psuedo-subject of the message 595a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param date the timestamp for the message 5964b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * @param subId the subscription which the message belongs to 597a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @return the URI for the new message 598a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 599a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 600b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville public static Uri addMessage(int subId, ContentResolver resolver, 601a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville String address, String body, String subject, Long date) { 602a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville return addMessageToUri(subId, resolver, CONTENT_URI, address, body, 6030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville subject, date, true, false); 6040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 608b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all sent text-based SMS messages in the SMS app. 6090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Draft implements BaseColumns, TextBasedSmsColumns { 6110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 613b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 614b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 6150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 616b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Draft() { 617b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 6180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 620b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 6210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 622b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://sms/draft"); 6230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 624a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 625a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 626a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 627a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville public static Uri addMessage(ContentResolver resolver, 628a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville String address, String body, String subject, Long date) { 629440b44eb71b8d5afeeaa5fda8912f3a61b4c1588Wink Saville return addMessageToUri(SubscriptionManager.getDefaultSmsSubId(), 630a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville resolver, CONTENT_URI, address, body, subject, date, true, false); 631a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 632a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 633a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 634a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Add an SMS to the Draft box. 635a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * 636a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param resolver the content resolver to use 637a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param address the address of the sender 638a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param body the body of the message 639a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subject the psuedo-subject of the message 640a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param date the timestamp for the message 6414b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * @param subId the subscription which the message belongs to 642a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @return the URI for the new message 643a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 644a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 645b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville public static Uri addMessage(int subId, ContentResolver resolver, 646a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville String address, String body, String subject, Long date) { 647a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville return addMessageToUri(subId, resolver, CONTENT_URI, address, body, 648a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville subject, date, true, false); 649a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 650a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 6510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 652b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 653b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 654b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final String DEFAULT_SORT_ORDER = "date DESC"; 6550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 658b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all pending outgoing text-based SMS messages. 6590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Outbox implements BaseColumns, TextBasedSmsColumns { 661b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 662b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 663b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 664b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 665b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 666b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Outbox() { 667b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 668b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 6690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 670b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 6710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 672b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://sms/outbox"); 6730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 675b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 6760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 6780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 680b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Add an SMS to the outbox. 6810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 6820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param resolver the content resolver to use 6830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param address the address of the sender 6840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param body the body of the message 685b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param subject the pseudo-subject of the message 6860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param date the timestamp for the message 6870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param deliveryReport whether a delivery report was requested for the message 6880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return the URI for the new message 689b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 6900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static Uri addMessage(ContentResolver resolver, 6920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String address, String body, String subject, Long date, 6930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean deliveryReport, long threadId) { 694440b44eb71b8d5afeeaa5fda8912f3a61b4c1588Wink Saville return addMessageToUri(SubscriptionManager.getDefaultSmsSubId(), 695a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville resolver, CONTENT_URI, address, body, subject, date, 696a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville true, deliveryReport, threadId); 697a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 698a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 699a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 700a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Add an SMS to the Out box. 701a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * 702a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param resolver the content resolver to use 703a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param address the address of the sender 704a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param body the body of the message 705a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subject the psuedo-subject of the message 706a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param date the timestamp for the message 707a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param deliveryReport whether a delivery report was requested for the message 7084b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * @param subId the subscription which the message belongs to 709a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @return the URI for the new message 710a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 711a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 712b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville public static Uri addMessage(int subId, ContentResolver resolver, 713a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville String address, String body, String subject, Long date, 714a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville boolean deliveryReport, long threadId) { 715a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville return addMessageToUri(subId, resolver, CONTENT_URI, address, body, 7160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville subject, date, true, deliveryReport, threadId); 7170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 7180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 7190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 721b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all sent text-based SMS messages in the SMS app. 7220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Conversations 7240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville implements BaseColumns, TextBasedSmsColumns { 725b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 7260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 727b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 728b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 7290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 730b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Conversations() { 731b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 732b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 733b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 734b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 735b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 736b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://sms/conversations"); 7370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 739b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 7400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 7420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 744b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The first 45 characters of the body of the message. 7450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 7460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SNIPPET = "snippet"; 7480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 750b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The number of messages in the conversation. 7510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 7520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_COUNT = "msg_count"; 7540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 7550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 757b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains constants for SMS related Intents that are broadcast. 7580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Intents { 760b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 7610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 762b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 763b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 764b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 765b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Intents() { 766b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 767b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 768b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 769b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Set by BroadcastReceiver to indicate that the message was handled 7700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * successfully. 7710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int RESULT_SMS_HANDLED = 1; 7730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 775b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Set by BroadcastReceiver to indicate a generic error while 7760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * processing the message. 7770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int RESULT_SMS_GENERIC_ERROR = 2; 7790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 781b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Set by BroadcastReceiver to indicate insufficient memory to store 7820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * the message. 7830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int RESULT_SMS_OUT_OF_MEMORY = 3; 7850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 787b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Set by BroadcastReceiver to indicate that the message, while 7880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * possibly valid, is of a format or encoding that is not 7890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * supported. 7900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int RESULT_SMS_UNSUPPORTED = 4; 7920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 794b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Set by BroadcastReceiver to indicate a duplicate incoming message. 79590271d9ef1377b25b78359039fb2e87f32aba25bSungmin Choi */ 79690271d9ef1377b25b78359039fb2e87f32aba25bSungmin Choi public static final int RESULT_SMS_DUPLICATED = 5; 79790271d9ef1377b25b78359039fb2e87f32aba25bSungmin Choi 79890271d9ef1377b25b78359039fb2e87f32aba25bSungmin Choi /** 7995c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * Activity action: Ask the user to change the default 8005c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * SMS application. This will show a dialog that asks the 8015c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * user whether they want to replace the current default 8025c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * SMS application with the one specified in 8035c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * {@link #EXTRA_PACKAGE_NAME}. 8045c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun */ 8055c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) 8065c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun public static final String ACTION_CHANGE_DEFAULT = 8075c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun "android.provider.Telephony.ACTION_CHANGE_DEFAULT"; 8085c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun 8095c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun /** 8105c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * The PackageName string passed in as an 8115c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * extra for {@link #ACTION_CHANGE_DEFAULT} 8125c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 8135c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * @see #ACTION_CHANGE_DEFAULT 8145c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun */ 8155c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun public static final String EXTRA_PACKAGE_NAME = "package"; 8165c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun 8175c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun /** 818b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Broadcast Action: A new text-based SMS message has been received 8195c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * by the device. This intent will only be delivered to the default 8205c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * sms app. That app is responsible for writing the message and notifying 8215c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * the user. The intent will have the following extra values:</p> 8225c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 8235c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <ul> 82429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"pdus"</em> - An Object[] of byte[]s containing the PDUs 8255c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * that make up the message.</li> 82654f09e2a595c872800e061c6212265c26aef9a3dShri Borde * <li><em>"format"</em> - A String describing the format of the PDUs. It can 82754f09e2a595c872800e061c6212265c26aef9a3dShri Borde * be either "3gpp" or "3gpp2".</li> 82854f09e2a595c872800e061c6212265c26aef9a3dShri Borde * <li><em>"subscription"</em> - An optional long value of the subscription id which 82954f09e2a595c872800e061c6212265c26aef9a3dShri Borde * received the message.</li> 83054f09e2a595c872800e061c6212265c26aef9a3dShri Borde * <li><em>"slot"</em> - An optional int value of the SIM slot containing the 83154f09e2a595c872800e061c6212265c26aef9a3dShri Borde * subscription.</li> 83254f09e2a595c872800e061c6212265c26aef9a3dShri Borde * <li><em>"phone"</em> - An optional int value of the phone id associated with the 83354f09e2a595c872800e061c6212265c26aef9a3dShri Borde * subscription.</li> 83454f09e2a595c872800e061c6212265c26aef9a3dShri Borde * <li><em>"errorCode"</em> - An optional int error code associated with receiving 83554f09e2a595c872800e061c6212265c26aef9a3dShri Borde * the message.</li> 8365c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * </ul> 8375c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 8385c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <p>The extra values can be extracted using 8395c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * {@link #getMessagesFromIntent(Intent)}.</p> 8405c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 8415c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <p>If a BroadcastReceiver encounters an error while processing 8425c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * this intent it should set the result code appropriately.</p> 84329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 84429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p class="note"><strong>Note:</strong> 84529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * The broadcast receiver that filters for this intent must declare 84629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * {@link android.Manifest.permission#BROADCAST_SMS} as a required permission in 84729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * the <a href="{@docRoot}guide/topics/manifest/receiver-element.html">{@code 84829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <receiver>}</a> tag. 8495c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun */ 8505c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 8515c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun public static final String SMS_DELIVER_ACTION = 8525c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun "android.provider.Telephony.SMS_DELIVER"; 8535c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun 8545c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun /** 855b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Broadcast Action: A new text-based SMS message has been received 8565c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * by the device. This intent will be delivered to all registered 8575c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * receivers as a notification. These apps are not expected to write the 8585c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * message or notify the user. The intent will have the following extra 8590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * values:</p> 8600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 86229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"pdus"</em> - An Object[] of byte[]s containing the PDUs 8630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * that make up the message.</li> 8640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 8650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>The extra values can be extracted using 8670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #getMessagesFromIntent(Intent)}.</p> 8680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If a BroadcastReceiver encounters an error while processing 8700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this intent it should set the result code appropriately.</p> 8710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 8720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 8730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SMS_RECEIVED_ACTION = 8740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.SMS_RECEIVED"; 8750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 8760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 8770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: A new data based SMS message has been received 8785c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * by the device. This intent will be delivered to all registered 8795c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * receivers as a notification. The intent will have the following extra 8800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * values:</p> 8810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 88329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"pdus"</em> - An Object[] of byte[]s containing the PDUs 8840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * that make up the message.</li> 8850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 8860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>The extra values can be extracted using 8880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #getMessagesFromIntent(Intent)}.</p> 8890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If a BroadcastReceiver encounters an error while processing 8910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this intent it should set the result code appropriately.</p> 8920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 8930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 8940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DATA_SMS_RECEIVED_ACTION = 8950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.intent.action.DATA_SMS_RECEIVED"; 8960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 8970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 8980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: A new WAP PUSH message has been received by the 8995c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * device. This intent will only be delivered to the default 9005c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * sms app. That app is responsible for writing the message and notifying 9015c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * the user. The intent will have the following extra values:</p> 9025c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 9035c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <ul> 90429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"transactionId"</em> - (Integer) The WAP transaction ID</li> 90529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"pduType"</em> - (Integer) The WAP PDU type</li> 90629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"header"</em> - (byte[]) The header of the message</li> 90729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"data"</em> - (byte[]) The data payload of the message</li> 90829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"contentTypeParameters" </em> 90929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * -(HashMap<String,String>) Any parameters associated with the content type 9105c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * (decoded from the WSP Content-Type header)</li> 91154f09e2a595c872800e061c6212265c26aef9a3dShri Borde * <li><em>"subscription"</em> - An optional long value of the subscription id which 91254f09e2a595c872800e061c6212265c26aef9a3dShri Borde * received the message.</li> 91354f09e2a595c872800e061c6212265c26aef9a3dShri Borde * <li><em>"slot"</em> - An optional int value of the SIM slot containing the 91454f09e2a595c872800e061c6212265c26aef9a3dShri Borde * subscription.</li> 91554f09e2a595c872800e061c6212265c26aef9a3dShri Borde * <li><em>"phone"</em> - An optional int value of the phone id associated with the 91654f09e2a595c872800e061c6212265c26aef9a3dShri Borde * subscription.</li> 9175c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * </ul> 9185c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 9195c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <p>If a BroadcastReceiver encounters an error while processing 9205c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * this intent it should set the result code appropriately.</p> 9215c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 9225c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <p>The contentTypeParameters extra value is map of content parameters keyed by 9235c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * their names.</p> 9245c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 9255c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <p>If any unassigned well-known parameters are encountered, the key of the map will 9265c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * be 'unassigned/0x...', where '...' is the hex value of the unassigned parameter. If 9275c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * a parameter has No-Value the value in the map will be null.</p> 92829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 92929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p class="note"><strong>Note:</strong> 93029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * The broadcast receiver that filters for this intent must declare 93129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * {@link android.Manifest.permission#BROADCAST_WAP_PUSH} as a required permission in 93229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * the <a href="{@docRoot}guide/topics/manifest/receiver-element.html">{@code 93329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <receiver>}</a> tag. 9345c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun */ 9355c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 9365c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun public static final String WAP_PUSH_DELIVER_ACTION = 9375c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun "android.provider.Telephony.WAP_PUSH_DELIVER"; 9385c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun 9395c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun /** 9405c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * Broadcast Action: A new WAP PUSH message has been received by the 9415c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * device. This intent will be delivered to all registered 9425c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * receivers as a notification. These apps are not expected to write the 9435c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * message or notify the user. The intent will have the following extra 9440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * values:</p> 9450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 94729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"transactionId"</em> - (Integer) The WAP transaction ID</li> 94829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"pduType"</em> - (Integer) The WAP PDU type</li> 94929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"header"</em> - (byte[]) The header of the message</li> 95029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"data"</em> - (byte[]) The data payload of the message</li> 95129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"contentTypeParameters"</em> 95229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * - (HashMap<String,String>) Any parameters associated with the content type 9530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (decoded from the WSP Content-Type header)</li> 9540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 9550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If a BroadcastReceiver encounters an error while processing 9570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this intent it should set the result code appropriately.</p> 9580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>The contentTypeParameters extra value is map of content parameters keyed by 9600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * their names.</p> 9610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If any unassigned well-known parameters are encountered, the key of the map will 9630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * be 'unassigned/0x...', where '...' is the hex value of the unassigned parameter. If 9640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * a parameter has No-Value the value in the map will be null.</p> 9650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 9660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 9670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String WAP_PUSH_RECEIVED_ACTION = 9680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.WAP_PUSH_RECEIVED"; 9690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 9700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 9710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: A new Cell Broadcast message has been received 9720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * by the device. The intent will have the following extra 9730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * values:</p> 9740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 97629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"message"</em> - An SmsCbMessage object containing the broadcast message 9770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * data. This is not an emergency alert, so ETWS and CMAS data will be null.</li> 9780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 9790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>The extra values can be extracted using 9810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #getMessagesFromIntent(Intent)}.</p> 9820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If a BroadcastReceiver encounters an error while processing 9840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this intent it should set the result code appropriately.</p> 9850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 9860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 9870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SMS_CB_RECEIVED_ACTION = 9880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.SMS_CB_RECEIVED"; 9890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 9900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 9913817cc94c781b78c9f52d9483e8426bbb9c5d1b5Junda Liu * Action: A SMS based carrier provision intent. Used to identify default 9923817cc94c781b78c9f52d9483e8426bbb9c5d1b5Junda Liu * carrier provisioning app on the device. 9933817cc94c781b78c9f52d9483e8426bbb9c5d1b5Junda Liu * @hide 9943817cc94c781b78c9f52d9483e8426bbb9c5d1b5Junda Liu */ 9953817cc94c781b78c9f52d9483e8426bbb9c5d1b5Junda Liu @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 9963817cc94c781b78c9f52d9483e8426bbb9c5d1b5Junda Liu public static final String SMS_CARRIER_PROVISION_ACTION = 9973817cc94c781b78c9f52d9483e8426bbb9c5d1b5Junda Liu "android.provider.Telephony.SMS_CARRIER_PROVISION"; 9983817cc94c781b78c9f52d9483e8426bbb9c5d1b5Junda Liu 9993817cc94c781b78c9f52d9483e8426bbb9c5d1b5Junda Liu /** 10000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: A new Emergency Broadcast message has been received 10010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * by the device. The intent will have the following extra 10020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * values:</p> 10030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 100529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"message"</em> - An SmsCbMessage object containing the broadcast message 10060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * data, including ETWS or CMAS warning notification info if present.</li> 10070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 10080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>The extra values can be extracted using 10100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #getMessagesFromIntent(Intent)}.</p> 10110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If a BroadcastReceiver encounters an error while processing 10130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this intent it should set the result code appropriately.</p> 10140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 10160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SMS_EMERGENCY_CB_RECEIVED_ACTION = 10170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.SMS_EMERGENCY_CB_RECEIVED"; 10180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: A new CDMA SMS has been received containing Service Category 10210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Program Data (updates the list of enabled broadcast channels). The intent will 10220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * have the following extra values:</p> 10230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 102529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"operations"</em> - An array of CdmaSmsCbProgramData objects containing 10260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * the service category operations (add/delete/clear) to perform.</li> 10270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 10280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>The extra values can be extracted using 10300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #getMessagesFromIntent(Intent)}.</p> 10310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If a BroadcastReceiver encounters an error while processing 10330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this intent it should set the result code appropriately.</p> 10340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 10360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED_ACTION = 10370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED"; 10380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: The SIM storage for SMS messages is full. If 10410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * space is not freed, messages targeted for the SIM (class 2) may 10420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * not be saved. 10430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 10450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SIM_FULL_ACTION = 10460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.SIM_FULL"; 10470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: An incoming SMS has been rejected by the 10500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * telephony framework. This intent is sent in lieu of any 10510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * of the RECEIVED_ACTION intents. The intent will have the 10520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * following extra value:</p> 10530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 105529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"result"</em> - An int result code, e.g. {@link #RESULT_SMS_OUT_OF_MEMORY} 10560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * indicating the error returned to the network.</li> 10570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 10580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 10600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SMS_REJECTED_ACTION = 10610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.SMS_REJECTED"; 10620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1064c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor * Broadcast Action: An incoming MMS has been downloaded. The intent is sent to all 1065c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor * users, except for secondary users where SMS has been disabled and to managed 1066c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor * profiles. 1067c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor * @hide 1068c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor */ 1069c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 1070c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor public static final String MMS_DOWNLOADED_ACTION = 1071c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor "android.provider.Telephony.MMS_DOWNLOADED"; 1072c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor 1073c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor /** 10740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Read the PDUs out of an {@link #SMS_RECEIVED_ACTION} or a 10750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #DATA_SMS_RECEIVED_ACTION} intent. 10760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param intent the intent to read from 10780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return an array of SmsMessages for the PDUs 10790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1080b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static SmsMessage[] getMessagesFromIntent(Intent intent) { 10810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Object[] messages = (Object[]) intent.getSerializableExtra("pdus"); 10820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String format = intent.getStringExtra("format"); 1083b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville int subId = intent.getIntExtra(PhoneConstants.SUBSCRIPTION_KEY, 1084440b44eb71b8d5afeeaa5fda8912f3a61b4c1588Wink Saville SubscriptionManager.getDefaultSmsSubId()); 1085a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 1086a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville Rlog.v(TAG, " getMessagesFromIntent sub_id : " + subId); 10870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1088b47af9b263628c00b1c890f102091098a31463c0Jake Hamby int pduCount = messages.length; 10890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville SmsMessage[] msgs = new SmsMessage[pduCount]; 1090b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 10910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville for (int i = 0; i < pduCount; i++) { 1092b47af9b263628c00b1c890f102091098a31463c0Jake Hamby byte[] pdu = (byte[]) messages[i]; 1093b47af9b263628c00b1c890f102091098a31463c0Jake Hamby msgs[i] = SmsMessage.createFromPdu(pdu, format); 1094a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville msgs[i].setSubId(subId); 10950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 10960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return msgs; 10970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 10980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 10990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 11000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 11020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Base columns for tables that contain MMSs. 11030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public interface BaseMmsColumns extends BaseColumns { 11050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1106b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message box: all messages. */ 11070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_BOX_ALL = 0; 1108b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message box: inbox. */ 11090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_BOX_INBOX = 1; 1110b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message box: sent messages. */ 11110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_BOX_SENT = 2; 1112b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message box: drafts. */ 11130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_BOX_DRAFTS = 3; 1114b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message box: outbox. */ 11150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_BOX_OUTBOX = 4; 1116370971c25973d9d8061b76e756df2fb8c1ebd990Ye Wen /** Message box: failed. */ 1117370971c25973d9d8061b76e756df2fb8c1ebd990Ye Wen public static final int MESSAGE_BOX_FAILED = 5; 11180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1120b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The thread ID of the message. 1121b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 1122b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 1123b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final String THREAD_ID = "thread_id"; 1124b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1125b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 11260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The date the message was received. 11270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (long)</P> 11280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DATE = "date"; 11300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 11320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The date the message was sent. 11330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (long)</P> 11340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DATE_SENT = "date_sent"; 11360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1138b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The box which the message belongs to, e.g. {@link #MESSAGE_BOX_INBOX}. 11390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 11400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_BOX = "msg_box"; 11420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1144b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Has the message been read? 11450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (boolean)</P> 11460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String READ = "read"; 11480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1150b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Has the message been seen by the user? The "seen" flag determines 1151b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * whether we need to show a new message notification. 1152b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 11530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SEEN = "seen"; 11550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1157b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Does the message have only a text part (can also have a subject) with 1158b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * no picture, slideshow, sound, etc. parts? 1159b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 11607a299a45d1132bfecfee02a1a71427dfbbadc72eTom Taylor */ 11617a299a45d1132bfecfee02a1a71427dfbbadc72eTom Taylor public static final String TEXT_ONLY = "text_only"; 11627a299a45d1132bfecfee02a1a71427dfbbadc72eTom Taylor 11637a299a45d1132bfecfee02a1a71427dfbbadc72eTom Taylor /** 1164b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code Message-ID} of the message. 11650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 11660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_ID = "m_id"; 11680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 11700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The subject of the message, if present. 11710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 11720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SUBJECT = "sub"; 11740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 11760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The character set of the subject, if present. 11770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 11780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SUBJECT_CHARSET = "sub_cs"; 11800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1182b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code Content-Type} of the message. 11830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 11840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_TYPE = "ct_t"; 11860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1188b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code Content-Location} of the message. 11890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 11900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_LOCATION = "ct_l"; 11920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 11940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The expiry time of the message. 1195b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 11960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String EXPIRY = "exp"; 11980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The class of the message. 12010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 12020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_CLASS = "m_cls"; 12040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The type of the message defined by MMS spec. 12070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_TYPE = "m_type"; 12100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1212b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The version of the specification that this message conforms to. 12130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MMS_VERSION = "v"; 12160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The size of the message. 12190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_SIZE = "m_size"; 12220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The priority of the message. 1225b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 12260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PRIORITY = "pri"; 12280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1230b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code read-report} of the message. 1231b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 12320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String READ_REPORT = "rr"; 12340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1236b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is read report allowed? 1237b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 12380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPORT_ALLOWED = "rpt_a"; 12400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1242b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code response-status} of the message. 12430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RESPONSE_STATUS = "resp_st"; 12460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1248b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code status} of the message. 12490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STATUS = "st"; 12520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1254b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code transaction-id} of the message. 12550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 12560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TRANSACTION_ID = "tr_id"; 12580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1260b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code retrieve-status} of the message. 12610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RETRIEVE_STATUS = "retr_st"; 12640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1266b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code retrieve-text} of the message. 12670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 12680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RETRIEVE_TEXT = "retr_txt"; 12700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The character set of the retrieve-text. 1273b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 12740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RETRIEVE_TEXT_CHARSET = "retr_txt_cs"; 12760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1278b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code read-status} of the message. 12790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String READ_STATUS = "read_status"; 12820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1284b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content-class} of the message. 12850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_CLASS = "ct_cls"; 12880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1290b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code delivery-report} of the message. 12910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DELIVERY_REPORT = "d_rpt"; 12940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1296b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code delivery-time-token} of the message. 12970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1298b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1299b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 13000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1301b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 13020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DELIVERY_TIME_TOKEN = "d_tm_tok"; 13030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1305b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code delivery-time} of the message. 13060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 13070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DELIVERY_TIME = "d_tm"; 13090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1311b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code response-text} of the message. 13120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 13130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RESPONSE_TEXT = "resp_txt"; 13150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1317b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code sender-visibility} of the message. 13180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1319b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1320b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 13210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1322b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 13230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SENDER_VISIBILITY = "s_vis"; 13240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1326b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code reply-charging} of the message. 13270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1328b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1329b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 13300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1331b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 13320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_CHARGING = "r_chg"; 13330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1335b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code reply-charging-deadline-token} of the message. 13360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1337b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1338b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 13390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1340b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 13410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_CHARGING_DEADLINE_TOKEN = "r_chg_dl_tok"; 13420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1344b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code reply-charging-deadline} of the message. 13450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1346b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1347b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 13480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1349b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 13500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_CHARGING_DEADLINE = "r_chg_dl"; 13510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1353b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code reply-charging-id} of the message. 13540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1355b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1356b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 13570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1358b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 13590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_CHARGING_ID = "r_chg_id"; 13600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1362b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code reply-charging-size} of the message. 13630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1364b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1365b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 13660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1367b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 13680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_CHARGING_SIZE = "r_chg_sz"; 13690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1371b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code previously-sent-by} of the message. 13720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1373b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1374b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 13750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1376b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 13770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PREVIOUSLY_SENT_BY = "p_s_by"; 13780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1380b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code previously-sent-date} of the message. 13810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1382b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1383b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 13840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1385b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 13860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PREVIOUSLY_SENT_DATE = "p_s_d"; 13870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1389b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code store} of the message. 13900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1391b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1392b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 13930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1394b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 13950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STORE = "store"; 13960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1398b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mm-state} of the message. 13990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1400b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1401b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1403b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MM_STATE = "mm_st"; 14050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1407b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mm-flags-token} of the message. 14080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1409b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1410b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1412b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MM_FLAGS_TOKEN = "mm_flg_tok"; 14140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1416b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mm-flags} of the message. 14170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1418b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1419b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1421b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MM_FLAGS = "mm_flg"; 14230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1425b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code store-status} of the message. 14260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1427b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1428b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1430b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STORE_STATUS = "store_st"; 14320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1434b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code store-status-text} of the message. 14350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1436b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1437b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1439b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STORE_STATUS_TEXT = "store_st_txt"; 14410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1443b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code stored} of the message. 14440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1445b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1446b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1448b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STORED = "stored"; 14500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1452b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code totals} of the message. 14530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1454b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1455b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1457b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TOTALS = "totals"; 14590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1461b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mbox-totals} of the message. 14620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1463b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1464b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1466b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MBOX_TOTALS = "mb_t"; 14680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1470b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mbox-totals-token} of the message. 14710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1472b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1473b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1475b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MBOX_TOTALS_TOKEN = "mb_t_tok"; 14770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1479b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code quotas} of the message. 14800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1481b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1482b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1484b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String QUOTAS = "qt"; 14860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1488b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mbox-quotas} of the message. 14890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1490b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1491b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1493b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MBOX_QUOTAS = "mb_qt"; 14950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1497b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mbox-quotas-token} of the message. 14980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1499b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1500b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1502b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MBOX_QUOTAS_TOKEN = "mb_qt_tok"; 15040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1506b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code message-count} of the message. 15070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1508b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1509b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1511b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_COUNT = "m_cnt"; 15130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1515b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code start} of the message. 15160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1517b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1518b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1520b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String START = "start"; 15220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1524b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code distribution-indicator} of the message. 15250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1526b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1527b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1529b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DISTRIBUTION_INDICATOR = "d_ind"; 15310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1533b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code element-descriptor} of the message. 15340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1535b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1536b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1538b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ELEMENT_DESCRIPTOR = "e_des"; 15400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1542b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code limit} of the message. 15430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1544b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1545b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1547b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String LIMIT = "limit"; 15490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1551b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code recommended-retrieval-mode} of the message. 15520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1553b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1554b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1556b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RECOMMENDED_RETRIEVAL_MODE = "r_r_mod"; 15580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1560b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code recommended-retrieval-mode-text} of the message. 15610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1562b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1563b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1565b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RECOMMENDED_RETRIEVAL_MODE_TEXT = "r_r_mod_txt"; 15670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1569b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code status-text} of the message. 15700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1571b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1572b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1574b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STATUS_TEXT = "st_txt"; 15760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1578b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code applic-id} of the message. 15790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1580b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1581b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1583b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String APPLIC_ID = "apl_id"; 15850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1587b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code reply-applic-id} of the message. 15880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1589b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1590b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1592b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_APPLIC_ID = "r_apl_id"; 15940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1596b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code aux-applic-id} of the message. 15970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1598b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1599b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1601b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String AUX_APPLIC_ID = "aux_apl_id"; 16030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1605b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code drm-content} of the message. 16060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1607b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1608b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1610b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DRM_CONTENT = "drm_c"; 16120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1614b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code adaptation-allowed} of the message. 16150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1616b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1617b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1619b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ADAPTATION_ALLOWED = "adp_a"; 16210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1623b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code replace-id} of the message. 16240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1625b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1626b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1628b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLACE_ID = "repl_id"; 16300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1632b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code cancel-id} of the message. 16330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1634b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1635b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1637b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CANCEL_ID = "cl_id"; 16390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1641b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code cancel-status} of the message. 16420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1643b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1644b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1646b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CANCEL_STATUS = "cl_st"; 16480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1650b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is the message locked? 16510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (boolean)</P> 16520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 16530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String LOCKED = "locked"; 1654a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 1655a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 16564b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * The subscription to which the message belongs to. Its value will be 1657dfdf9c40ebaaed15b5020ad6bce898fadd32dd58Wink Saville * < 0 if the sub id cannot be determined. 16584e71df52b26f87087327819c53570f60262a9c6aShri Borde * <p>Type: INTEGER (long)</p> 1659a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 16604b09dff383ae7dfca595aeeea886a594a1947340Wink Saville public static final String SUBSCRIPTION_ID = "sub_id"; 1661a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 1662b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen /** 1663dac6bb4a3b2046e1ac943c661563b6daebf49a8fYe Wen * The identity of the sender of a sent message. It is 1664dac6bb4a3b2046e1ac943c661563b6daebf49a8fYe Wen * usually the package name of the app which sends the message. 16653824f44a039a5be05b86acfba427638b3b1e587aYe Wen * <p class="note"><strong>Note:</strong> 16663824f44a039a5be05b86acfba427638b3b1e587aYe Wen * This column is read-only. It is set by the provider and can not be changed by apps. 1667dac6bb4a3b2046e1ac943c661563b6daebf49a8fYe Wen * <p>Type: TEXT</p> 1668b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen */ 1669b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen public static final String CREATOR = "creator"; 16700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 16710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1673b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Columns for the "canonical_addresses" table used by MMS and SMS. 16740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 16750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public interface CanonicalAddressesColumns extends BaseColumns { 16760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 16770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * An address used in MMS or SMS. Email addresses are 16780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * converted to lower case and are compared by string 16790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * equality. Other addresses are compared using 16800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * PHONE_NUMBERS_EQUAL. 16810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 16820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 16830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ADDRESS = "address"; 16840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 16850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 16870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Columns for the "threads" table used by MMS and SMS. 16880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 16890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public interface ThreadsColumns extends BaseColumns { 1690b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 16910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 16920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The date at which the thread was created. 16930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (long)</P> 16940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 16950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DATE = "date"; 16960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 16980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * A string encoding of the recipient IDs of the recipients of 16990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * the message, in numerical order and separated by spaces. 17000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 17010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RECIPIENT_IDS = "recipient_ids"; 17030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 17040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The message count of the thread. 17060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 17070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_COUNT = "message_count"; 1709b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 17100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Indicates whether all messages of the thread have been read. 17120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 17130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String READ = "read"; 17150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 17160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The snippet of the latest message in the thread. 17180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 17190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SNIPPET = "snippet"; 1721b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 17220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The charset of the snippet. 17240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 17250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SNIPPET_CHARSET = "snippet_cs"; 1727b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 17280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1729b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Type of the thread, either {@link Threads#COMMON_THREAD} or 1730b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * {@link Threads#BROADCAST_THREAD}. 17310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 17320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TYPE = "type"; 1734b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 17350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Indicates whether there is a transmission error in the thread. 17370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 17380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ERROR = "error"; 1740b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 17410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Indicates whether this thread contains any attachments. 17430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 17440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String HAS_ATTACHMENT = "has_attachment"; 1746e58ff3bd4399dfe68517b100169e01e6b93dc7b6Ye Wen 1747e58ff3bd4399dfe68517b100169e01e6b93dc7b6Ye Wen /** 1748e58ff3bd4399dfe68517b100169e01e6b93dc7b6Ye Wen * If the thread is archived 1749dac6bb4a3b2046e1ac943c661563b6daebf49a8fYe Wen * <P>Type: INTEGER (boolean)</P> 1750e58ff3bd4399dfe68517b100169e01e6b93dc7b6Ye Wen */ 1751e58ff3bd4399dfe68517b100169e01e6b93dc7b6Ye Wen public static final String ARCHIVED = "archived"; 17520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 17530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 17540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Helper functions for the "threads" table used by MMS and SMS. 17560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Threads implements ThreadsColumns { 1758b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 17590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private static final String[] ID_PROJECTION = { BaseColumns._ID }; 1760b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1761b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1762b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Private {@code content://} style URL for this table. Used by 1763b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * {@link #getOrCreateThreadId(android.content.Context, java.util.Set)}. 1764b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 17650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private static final Uri THREAD_ID_CONTENT_URI = Uri.parse( 17660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/threadID"); 1767b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1768b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1769b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table, by conversation. 1770b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 17710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_URI = Uri.withAppendedPath( 17720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MmsSms.CONTENT_URI, "conversations"); 1773b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1774b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1775b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table, for obsolete threads. 1776b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 17770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri OBSOLETE_THREADS_URI = Uri.withAppendedPath( 17780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI, "obsolete"); 17790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1780b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Thread type: common thread. */ 17810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int COMMON_THREAD = 0; 1782b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1783b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Thread type: broadcast thread. */ 17840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int BROADCAST_THREAD = 1; 17850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1786b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1787b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 1788b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 1789b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 17900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private Threads() { 17910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 17920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 17930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1794b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * This is a single-recipient version of {@code getOrCreateThreadId}. 1795b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * It's convenient for use with SMS messages. 1796b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param context the context object to use. 1797b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param recipient the recipient to send to. 17980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static long getOrCreateThreadId(Context context, String recipient) { 18000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Set<String> recipients = new HashSet<String>(); 18010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville recipients.add(recipient); 18030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return getOrCreateThreadId(context, recipients); 18040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 18070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Given the recipients list and subject of an unsaved message, 18080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * return its thread ID. If the message starts a new thread, 18090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * allocate a new thread ID. Otherwise, use the appropriate 18100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * existing thread ID. 18110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 1812b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <p>Find the thread ID of the same set of recipients (in any order, 1813b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * without any additions). If one is found, return it. Otherwise, 1814b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * return a unique thread ID.</p> 18150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 18160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static long getOrCreateThreadId( 18170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Context context, Set<String> recipients) { 18180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Uri.Builder uriBuilder = THREAD_ID_CONTENT_URI.buildUpon(); 18190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville for (String recipient : recipients) { 18210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (Mms.isEmailAddress(recipient)) { 18220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville recipient = Mms.extractAddrSpec(recipient); 18230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville uriBuilder.appendQueryParameter("recipient", recipient); 18260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Uri uri = uriBuilder.build(); 182999c2e1d6749cfad2a8ca94a47857d8c3bfc09454Wink Saville //if (DEBUG) Rlog.v(TAG, "getOrCreateThreadId uri: " + uri); 18300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Cursor cursor = SqliteWrapper.query(context, context.getContentResolver(), 18320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville uri, ID_PROJECTION, null, null, null); 18330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (cursor != null) { 18340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville try { 18350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (cursor.moveToFirst()) { 18360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return cursor.getLong(0); 18370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } else { 183899c2e1d6749cfad2a8ca94a47857d8c3bfc09454Wink Saville Rlog.e(TAG, "getOrCreateThreadId returned no rows!"); 18390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } finally { 18410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville cursor.close(); 18420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18453824f44a039a5be05b86acfba427638b3b1e587aYe Wen Rlog.e(TAG, "getOrCreateThreadId failed with " + recipients.size() + " recipients"); 18460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville throw new IllegalArgumentException("Unable to find or allocate a thread ID."); 18470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 18510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Contains all MMS messages. 18520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 18530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Mms implements BaseMmsColumns { 1854b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 18550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1856b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 1857b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 1858b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 1859b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Mms() { 1860b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 1861b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1862b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1863b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} URI for this table. 18640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 18650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_URI = Uri.parse("content://mms"); 18660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1867b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1868b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Content URI for getting MMS report requests. 1869b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 18700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri REPORT_REQUEST_URI = Uri.withAppendedPath( 18710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI, "report-request"); 18720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1873b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1874b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Content URI for getting MMS report status. 1875b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 18760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri REPORT_STATUS_URI = Uri.withAppendedPath( 18770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI, "report-status"); 18780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1880b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 18810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 18820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 18830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1885b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Regex pattern for names and email addresses. 1886b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <ul> 1887b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <li><em>mailbox</em> = {@code name-addr}</li> 1888b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <li><em>name-addr</em> = {@code [display-name] angle-addr}</li> 1889b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <li><em>angle-addr</em> = {@code [CFWS] "<" addr-spec ">" [CFWS]}</li> 1890b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * </ul> 1891b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 18920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 18930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Pattern NAME_ADDR_EMAIL_PATTERN = 18940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Pattern.compile("\\s*(\"[^\"]*\"|[^<>\"]+)\\s*<([^<>]+)>\\s*"); 18950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1897b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Helper method to query this table. 1898b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 18990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1900b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static Cursor query( 19010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ContentResolver cr, String[] projection) { 19020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return cr.query(CONTENT_URI, projection, null, null, DEFAULT_SORT_ORDER); 19030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1905b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1906b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Helper method to query this table. 1907b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 1908b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 1909b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static Cursor query( 19100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ContentResolver cr, String[] projection, 19110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String where, String orderBy) { 19120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return cr.query(CONTENT_URI, projection, 19130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville where, null, orderBy == null ? DEFAULT_SORT_ORDER : orderBy); 19140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1916b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1917b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Helper method to extract email address from address string. 1918b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 1919b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 19200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static String extractAddrSpec(String address) { 19210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Matcher match = NAME_ADDR_EMAIL_PATTERN.matcher(address); 19220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (match.matches()) { 19240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return match.group(2); 19250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return address; 19270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1930b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is the specified address an email address? 19310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 1932b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param address the input address to test 1933b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @return true if address is an email address; false otherwise. 1934b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 19350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 19360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static boolean isEmailAddress(String address) { 19370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (TextUtils.isEmpty(address)) { 19380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return false; 19390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String s = extractAddrSpec(address); 19420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Matcher match = Patterns.EMAIL_ADDRESS.matcher(s); 19430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return match.matches(); 19440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1947b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is the specified number a phone number? 19480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 1949b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param number the input number to test 1950b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @return true if number is a phone number; false otherwise. 1951b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 19520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 19530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static boolean isPhoneNumber(String number) { 19540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (TextUtils.isEmpty(number)) { 19550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return false; 19560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Matcher match = Patterns.PHONE.matcher(number); 19590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return match.matches(); 19600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1963b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all MMS messages in the MMS app inbox. 19640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 19650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Inbox implements BaseMmsColumns { 1966b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1967b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1968b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 1969b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 1970b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 1971b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Inbox() { 1972b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 1973b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 19740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1975b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 19760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 19770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri 19780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI = Uri.parse("content://mms/inbox"); 19790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1981b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 19820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 19830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 19840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1987b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all MMS messages in the MMS app sent folder. 19880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 19890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Sent implements BaseMmsColumns { 1990b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 19910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1992b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 1993b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 1994b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 1995b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Sent() { 1996b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 1997b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1998b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1999b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 20000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri 20020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI = Uri.parse("content://mms/sent"); 20030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2005b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 20060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 20080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 20090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2011b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all MMS messages in the MMS app drafts folder. 20120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Draft implements BaseMmsColumns { 2014b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 20150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2016b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2017b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2018b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2019b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Draft() { 2020b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2021b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2022b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2023b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 20240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri 20260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI = Uri.parse("content://mms/drafts"); 20270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2029b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 20300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 20320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 20330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2035b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all MMS messages in the MMS app outbox. 20360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Outbox implements BaseMmsColumns { 2038b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 20390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2040b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2041b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2042b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2043b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Outbox() { 2044b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2045b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2046b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2047b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 20480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri 20500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI = Uri.parse("content://mms/outbox"); 20510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2053b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 20540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 20560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 20570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2058b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2059b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains address information for an MMS message. 2060b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 20610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Addr implements BaseColumns { 2062b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2063b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2064b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2065b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2066b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2067b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Addr() { 2068b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2069b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 20700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 20710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The ID of MM which this address entry belongs to. 2072b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 20730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MSG_ID = "msg_id"; 20750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 20770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The ID of contact entry in Phone Book. 2078b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 20790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTACT_ID = "contact_id"; 20810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 20830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The address text. 2084b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 20850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ADDRESS = "address"; 20870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2089b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Type of address: must be one of {@code PduHeaders.BCC}, 2090b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * {@code PduHeaders.CC}, {@code PduHeaders.FROM}, {@code PduHeaders.TO}. 2091b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 20920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TYPE = "type"; 20940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2096b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Character set of this entry (MMS charset value). 2097b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 20980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CHARSET = "charset"; 21000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 21010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2102b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2103b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains message parts. 2104b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 21050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Part implements BaseColumns { 2106b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2107b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2108b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2109b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2110b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2111b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Part() { 2112b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2113b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 21140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The identifier of the message which this part belongs to. 21160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 21170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MSG_ID = "mid"; 21190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The order of the part. 21220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 21230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SEQ = "seq"; 21250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The content type of the part. 21280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 21290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_TYPE = "ct"; 21310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The name of the part. 21340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 21350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String NAME = "name"; 21370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The charset of the part. 21400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 21410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CHARSET = "chset"; 21430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The file name of the part. 21460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 21470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String FILENAME = "fn"; 21490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The content disposition of the part. 21520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 21530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_DISPOSITION = "cd"; 21550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The content ID of the part. 21580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 21590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_ID = "cid"; 21610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The content location of the part. 21640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 21650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_LOCATION = "cl"; 21670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The start of content-type of the message. 21700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 21710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CT_START = "ctt_s"; 21730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The type of content-type of the message. 21760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 21770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CT_TYPE = "ctt_t"; 21790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2181b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The location (on filesystem) of the binary data of the part. 21820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 21830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String _DATA = "_data"; 21850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2186b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2187b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The message text. 2188b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2189b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 21900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TEXT = "text"; 21910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 21920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2193b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2194b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Message send rate table. 2195b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 21960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Rate { 2197b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2198b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2199b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2200b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2201b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2202b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Rate() { 2203b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2204b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2205b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2206b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 2207b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 22080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_URI = Uri.withAppendedPath( 22090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Mms.CONTENT_URI, "rate"); 2210b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 22110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 22120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * When a message was successfully sent. 2213b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 22140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 22150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SENT_TIME = "sent_time"; 22160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 22170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2218b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2219b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Intents class. 2220b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 22210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Intents { 22220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 22230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2224b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2225b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 22260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2227b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Intents() { 2228b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2229b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 22300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 22310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Indicates that the contents of specified URIs were changed. 22320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The application which is showing or caching these contents 22330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * should be updated. 22340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2235b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 2236b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final String CONTENT_CHANGED_ACTION 2237b47af9b263628c00b1c890f102091098a31463c0Jake Hamby = "android.intent.action.CONTENT_CHANGED"; 2238b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 22390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 22400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * An extra field which stores the URI of deleted contents. 22410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 22420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DELETED_CONTENTS = "deleted_contents"; 22430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 22440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 22450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 22460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 22470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Contains all MMS and SMS messages. 22480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 22490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class MmsSms implements BaseColumns { 2250b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2251b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2252b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2253b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2254b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2255b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private MmsSms() { 2256b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2257b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 22580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2259b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The column to distinguish SMS and MMS messages in query results. 22600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 22610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TYPE_DISCRIMINATOR_COLUMN = 22620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "transport_type"; 22630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2264b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2265b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 2266b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 22670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_URI = Uri.parse("content://mms-sms/"); 22680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2269b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2270b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table, by conversation. 2271b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 22720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_CONVERSATIONS_URI = Uri.parse( 22730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/conversations"); 22740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2275b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2276b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table, by phone number. 2277b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 22780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_FILTER_BYPHONE_URI = Uri.parse( 22790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/messages/byphone"); 22800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2281b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2282b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for undelivered messages in this table. 2283b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 22840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_UNDELIVERED_URI = Uri.parse( 22850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/undelivered"); 22860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2287b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2288b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for draft messages in this table. 2289b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 22900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_DRAFT_URI = Uri.parse( 22910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/draft"); 22920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2293b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2294b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for locked messages in this table. 2295b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 22960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_LOCKED_URI = Uri.parse( 22970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/locked"); 22980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2299b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2300b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Pass in a query parameter called "pattern" which is the text to search for. 2301b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The sort order is fixed to be: {@code thread_id ASC, date DESC}. 23020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 23030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri SEARCH_URI = Uri.parse( 23040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/search"); 23050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 23060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // Constants for message protocol types. 2307b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2308b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** SMS protocol type. */ 23090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int SMS_PROTO = 0; 2310b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2311b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** MMS protocol type. */ 23120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MMS_PROTO = 1; 23130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 23140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // Constants for error types of pending messages. 2315b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2316b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: no error. */ 23170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int NO_ERROR = 0; 2318b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2319b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: generic transient error. */ 23200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_GENERIC = 1; 2321b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2322b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: SMS protocol transient error. */ 23230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_SMS_PROTO_TRANSIENT = 2; 2324b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2325b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: MMS protocol transient error. */ 23260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_MMS_PROTO_TRANSIENT = 3; 2327b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2328b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: transport failure. */ 23290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_TRANSPORT_FAILURE = 4; 2330b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2331b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: permanent error (along with all higher error values). */ 23320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_GENERIC_PERMANENT = 10; 2333b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2334b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: SMS protocol permanent error. */ 23350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_SMS_PROTO_PERMANENT = 11; 2336b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2337b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: MMS protocol permanent error. */ 23380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_MMS_PROTO_PERMANENT = 12; 23390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2340b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2341b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains pending messages info. 2342b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 23430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class PendingMessages implements BaseColumns { 2344b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2345b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2346b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2347b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2348b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2349b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private PendingMessages() { 2350b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2351b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 23520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_URI = Uri.withAppendedPath( 23530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MmsSms.CONTENT_URI, "pending"); 2354b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 23550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2356b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The type of transport protocol (MMS or SMS). 23570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 23580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 23590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PROTO_TYPE = "proto_type"; 2360b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 23610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 23620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The ID of the message to be sent or downloaded. 2363b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 23640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 23650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MSG_ID = "msg_id"; 2366b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 23670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 23680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The type of the message to be sent or downloaded. 2369b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * This field is only valid for MM. For SM, its value is always set to 0. 2370b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 23710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 23720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MSG_TYPE = "msg_type"; 2373b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 23740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 23750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The type of the error code. 23760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 23770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 23780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ERROR_TYPE = "err_type"; 2379b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 23800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 23810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The error code of sending/retrieving process. 2382b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 23830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 23840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ERROR_CODE = "err_code"; 2385b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 23860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 23870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * How many times we tried to send or download the message. 2388b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 23890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 23900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RETRY_INDEX = "retry_index"; 2391b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 23920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 23930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The time to do next retry. 2394b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 23950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 23960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DUE_TIME = "due_time"; 2397b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 23980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 23990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The time we last tried to send or download the message. 2400b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 24010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 24020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String LAST_TRY = "last_try"; 2403a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 2404a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 24054b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * The subscription to which the message belongs to. Its value will be 2406dfdf9c40ebaaed15b5020ad6bce898fadd32dd58Wink Saville * < 0 if the sub id cannot be determined. 2407a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * <p>Type: INTEGER (long) </p> 2408a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 24094b09dff383ae7dfca595aeeea886a594a1947340Wink Saville public static final String SUBSCRIPTION_ID = "pending_sub_id"; 24100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 24110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2412b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2413b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Words table used by provider for full-text searches. 2414b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2415b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 24160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class WordsTable { 2417b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2418b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2419b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2420b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2421b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2422b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private WordsTable() {} 2423b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2424b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2425b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Primary key. 2426b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 2427b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 24280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ID = "_id"; 2429b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2430b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2431b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Source row ID. 2432b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 2433b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 24340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SOURCE_ROW_ID = "source_id"; 2435b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2436b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2437b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Table ID (either 1 or 2). 2438b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 2439b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 24400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TABLE_ID = "table_to_use"; 2441b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2442b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2443b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The words to index. 2444b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2445b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 24460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String INDEXED_TEXT = "index_text"; 24470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 24480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 24490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2450b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2451b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Carriers class contains information about APNs, including MMSC information. 2452b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 24530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Carriers implements BaseColumns { 2454b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2455b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2456b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2457b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2458b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2459b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Carriers() {} 2460b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 24610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2462b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 24630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2464b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://telephony/carriers"); 24650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 24660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2467b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 24680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 24690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "name ASC"; 24700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2471b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2472b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Entry name. 2473b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2474b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 24750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String NAME = "name"; 24760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2477b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2478b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * APN name. 2479b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2480b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 24810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String APN = "apn"; 24820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2483b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2484b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Proxy address. 2485b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2486b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 24870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PROXY = "proxy"; 24880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2489b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2490b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Proxy port. 2491b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2492b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 24930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PORT = "port"; 24940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2495b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2496b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * MMS proxy address. 2497b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2498b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 24990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MMSPROXY = "mmsproxy"; 25000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2501b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2502b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * MMS proxy port. 2503b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2504b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MMSPORT = "mmsport"; 25060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2507b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2508b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Server address. 2509b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2510b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SERVER = "server"; 25120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2513b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2514b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * APN username. 2515b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2516b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String USER = "user"; 25180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2519b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2520b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * APN password. 2521b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2522b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PASSWORD = "password"; 25240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2525b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2526b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * MMSC URL. 2527b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2528b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MMSC = "mmsc"; 25300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2531b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2532b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Mobile Country Code (MCC). 2533b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2534b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MCC = "mcc"; 25360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2537b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2538b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Mobile Network Code (MNC). 2539b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2540b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MNC = "mnc"; 25420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2543b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2544b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Numeric operator ID (as String). Usually {@code MCC + MNC}. 2545b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2546b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String NUMERIC = "numeric"; 25480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2549b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2550b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Authentication type. 2551b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 2552b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String AUTH_TYPE = "authtype"; 25540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2555b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2556b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Comma-delimited list of APN types. 2557b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2558b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TYPE = "type"; 25600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 25610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2562b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The protocol to use to connect to this APN. 25630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 2564b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * One of the {@code PDP_type} values in TS 27.007 section 10.1.1. 2565b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * For example: {@code IP}, {@code IPV6}, {@code IPV4V6}, or {@code PPP}. 2566b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 25670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 25680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PROTOCOL = "protocol"; 25690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 25700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2571b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The protocol to use to connect to this APN when roaming. 2572b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The syntax is the same as protocol. 2573b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2574b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ROAMING_PROTOCOL = "roaming_protocol"; 25760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2577b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2578b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is this the current APN? 2579b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 2580b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CURRENT = "current"; 25820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 25830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2584b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is this APN enabled? 2585b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 2586b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CARRIER_ENABLED = "carrier_enabled"; 25880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 25890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2590b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Radio Access Technology info. 2591b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * To check what values are allowed, refer to {@link android.telephony.ServiceState}. 2592b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * This should be spread to other technologies, 2593b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * but is currently only used for LTE (14) and eHRPD (13). 2594b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 2595b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String BEARER = "bearer"; 2597a796ca5b3f8501630405f1ce2635dde9011b7373Sungmin Choi 2598a796ca5b3f8501630405f1ce2635dde9011b7373Sungmin Choi /** 2599aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan * Radio Access Technology bitmask. 2600aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan * To check what values can be contained, refer to {@link android.telephony.ServiceState}. 2601aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan * 0 indicates all techs otherwise first bit refers to RAT/bearer 1, second bit refers to 2602aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan * RAT/bearer 2 and so on. 2603aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan * Bitmask for a radio tech R is (1 << (R - 1)) 2604aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan * <P>Type: INTEGER</P> 2605760b9b8e6659562de17d774f6f799ef08c1898f8Amit Mahajan * @hide 2606aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan */ 2607aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan public static final String BEARER_BITMASK = "bearer_bitmask"; 2608aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan 2609aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan /** 2610b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * MVNO type: 2611b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * {@code SPN (Service Provider Name), IMSI, GID (Group Identifier Level 1)}. 2612b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2613b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2614a796ca5b3f8501630405f1ce2635dde9011b7373Sungmin Choi public static final String MVNO_TYPE = "mvno_type"; 2615a796ca5b3f8501630405f1ce2635dde9011b7373Sungmin Choi 2616a796ca5b3f8501630405f1ce2635dde9011b7373Sungmin Choi /** 2617b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * MVNO data. 2618b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Use the following examples. 2619b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <ul> 2620b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <li>SPN: A MOBILE, BEN NL, ...</li> 2621b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <li>IMSI: 302720x94, 2060188, ...</li> 2622b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <li>GID: 4E, 33, ...</li> 2623b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * </ul> 2624b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2625b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2626a796ca5b3f8501630405f1ce2635dde9011b7373Sungmin Choi public static final String MVNO_MATCH_DATA = "mvno_match_data"; 2627a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 2628a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 26294b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * The subscription to which the APN belongs to 2630a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * <p>Type: INTEGER (long) </p> 2631a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 26324b09dff383ae7dfca595aeeea886a594a1947340Wink Saville public static final String SUBSCRIPTION_ID = "sub_id"; 2633a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 26349d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan /** 26359d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * The profile_id to which the APN saved in modem 26369d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * <p>Type: INTEGER</p> 26379d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan *@hide 26389d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan */ 26399d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan public static final String PROFILE_ID = "profile_id"; 26409d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan 26419d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan /** 26429d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * Is the apn setting to be set in modem 26439d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * <P>Type: INTEGER (boolean)</P> 26449d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan *@hide 26459d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan */ 26469d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan public static final String MODEM_COGNITIVE = "modem_cognitive"; 26479d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan 26489d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan /** 26499d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * The max connections of this apn 26509d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * <p>Type: INTEGER</p> 26519d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan *@hide 26529d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan */ 26539d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan public static final String MAX_CONNS = "max_conns"; 26549d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan 26559d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan /** 26569d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * The wait time for retry of the apn 26579d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * <p>Type: INTEGER</p> 26589d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan *@hide 26599d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan */ 26609d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan public static final String WAIT_TIME = "wait_time"; 26619d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan 26629d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan /** 26639d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * The time to limit max connection for the apn 26649d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * <p>Type: INTEGER</p> 26659d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan *@hide 26669d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan */ 26679d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan public static final String MAX_CONNS_TIME = "max_conns_time"; 26689d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan 2669e9701717e43cc5aacbcf624f77a53be92350662cw /** 2670e9701717e43cc5aacbcf624f77a53be92350662cw * The MTU size of the mobile interface to which the APN connected 2671e9701717e43cc5aacbcf624f77a53be92350662cw * <p>Type: INTEGER </p> 2672e9701717e43cc5aacbcf624f77a53be92350662cw * @hide 2673e9701717e43cc5aacbcf624f77a53be92350662cw */ 2674e9701717e43cc5aacbcf624f77a53be92350662cw public static final String MTU = "mtu"; 2675325cdf5bb7b1ff6ccc0291613c2e30b133bb3258Amit Mahajan 2676325cdf5bb7b1ff6ccc0291613c2e30b133bb3258Amit Mahajan /** 2677a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * Is this APN added/edited/deleted by a user or carrier? 2678325cdf5bb7b1ff6ccc0291613c2e30b133bb3258Amit Mahajan * <p>Type: INTEGER </p> 2679325cdf5bb7b1ff6ccc0291613c2e30b133bb3258Amit Mahajan * @hide 2680325cdf5bb7b1ff6ccc0291613c2e30b133bb3258Amit Mahajan */ 2681aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan public static final String EDITED = "edited"; 2682a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan 2683a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan /** 2684a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * Following are possible values for the EDITED field 2685a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * @hide 2686a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan */ 2687a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan public static final int UNEDITED = 0; 2688a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan /** 2689a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * @hide 2690a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan */ 2691a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan public static final int USER_EDITED = 1; 2692a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan /** 2693a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * @hide 2694a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan */ 2695a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan public static final int USER_DELETED = 2; 2696a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan /** 2697a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * DELETED_BUT_PRESENT is an intermediate value used to indicate that an entry deleted 2698a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * by the user is still present in the new APN database and therefore must remain tagged 2699a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * as user deleted rather than completely removed from the database 2700a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * @hide 2701a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan */ 2702a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan public static final int USER_DELETED_BUT_PRESENT_IN_XML = 3; 2703a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan /** 2704a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * @hide 2705a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan */ 2706a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan public static final int CARRIER_EDITED = 4; 2707a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan /** 2708a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * CARRIER_DELETED values are currently not used as there is no usecase. If they are used, 2709a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * delete() will have to change accordingly. Currently it is hardcoded to USER_DELETED. 2710a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * @hide 2711a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan */ 2712a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan public static final int CARRIER_DELETED = 5; 2713a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan /** 2714a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * @hide 2715a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan */ 2716a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan public static final int CARRIER_DELETED_BUT_PRESENT_IN_XML = 6; 27170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 27180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 27190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 27200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Contains received SMS cell broadcast messages. 2721b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 27220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 27230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class CellBroadcasts implements BaseColumns { 27240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2725b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2726b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2727b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2728b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 27290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private CellBroadcasts() {} 27300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 27310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2732b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} URI for this table. 27330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2734b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://cellbroadcasts"); 27350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 27360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 27370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message geographical scope. 27380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 27390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 27400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String GEOGRAPHICAL_SCOPE = "geo_scope"; 27410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 27420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 27430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message serial number. 27440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 27450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 27460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SERIAL_NUMBER = "serial_number"; 27470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 27480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2749b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * PLMN of broadcast sender. {@code SERIAL_NUMBER + PLMN + LAC + CID} uniquely identifies 2750b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * a broadcast for duplicate detection purposes. 27510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 27520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 27530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PLMN = "plmn"; 27540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 27550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 27560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Location Area (GSM) or Service Area (UMTS) of broadcast sender. Unused for CDMA. 27570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Only included if Geographical Scope of message is not PLMN wide (01). 27580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 27590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 27600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String LAC = "lac"; 27610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 27620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 27630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Cell ID of message sender (GSM/UMTS). Unused for CDMA. Only included when the 27640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Geographical Scope of message is cell wide (00 or 11). 27650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 27660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 27670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CID = "cid"; 27680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 27690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2770b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Message code. <em>OBSOLETE: merged into SERIAL_NUMBER.</em> 27710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 27720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 27730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String V1_MESSAGE_CODE = "message_code"; 27740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 27750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2776b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Message identifier. <em>OBSOLETE: renamed to SERVICE_CATEGORY.</em> 27770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 27780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 27790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String V1_MESSAGE_IDENTIFIER = "message_id"; 27800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 27810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2782b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Service category (GSM/UMTS: message identifier; CDMA: service category). 27830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 27840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 27850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SERVICE_CATEGORY = "service_category"; 27860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 27870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 27880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message language code. 27890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 27900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 27910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String LANGUAGE_CODE = "language"; 27920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 27930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 27940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message body. 27950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 27960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 27970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_BODY = "body"; 27980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 27990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message delivery time. 28010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (long)</P> 28020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DELIVERY_TIME = "date"; 28040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Has the message been viewed? 28070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (boolean)</P> 28080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_READ = "read"; 28100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message format (3GPP or 3GPP2). 28130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_FORMAT = "format"; 28160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message priority (including emergency). 28190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_PRIORITY = "priority"; 28220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * ETWS warning type (ETWS alerts only). 28250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ETWS_WARNING_TYPE = "etws_warning_type"; 28280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CMAS message class (CMAS alerts only). 28310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CMAS_MESSAGE_CLASS = "cmas_message_class"; 28340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CMAS category (CMAS alerts only). 28370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CMAS_CATEGORY = "cmas_category"; 28400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CMAS response type (CMAS alerts only). 28430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CMAS_RESPONSE_TYPE = "cmas_response_type"; 28460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CMAS severity (CMAS alerts only). 28490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CMAS_SEVERITY = "cmas_severity"; 28520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CMAS urgency (CMAS alerts only). 28550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CMAS_URGENCY = "cmas_urgency"; 28580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CMAS certainty (CMAS alerts only). 28610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CMAS_CERTAINTY = "cmas_certainty"; 28640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2865b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** The default sort order for this table. */ 28660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = DELIVERY_TIME + " DESC"; 28670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Query columns for instantiating {@link android.telephony.CellBroadcastMessage} objects. 28700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String[] QUERY_COLUMNS = { 28720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville _ID, 28730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville GEOGRAPHICAL_SCOPE, 28740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville PLMN, 28750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville LAC, 28760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CID, 28770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville SERIAL_NUMBER, 28780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville SERVICE_CATEGORY, 28790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville LANGUAGE_CODE, 28800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MESSAGE_BODY, 28810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville DELIVERY_TIME, 28820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MESSAGE_READ, 28830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MESSAGE_FORMAT, 28840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MESSAGE_PRIORITY, 28850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ETWS_WARNING_TYPE, 28860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMAS_MESSAGE_CLASS, 28870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMAS_CATEGORY, 28880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMAS_RESPONSE_TYPE, 28890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMAS_SEVERITY, 28900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMAS_URGENCY, 28910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMAS_CERTAINTY 28920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville }; 28930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 28940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville} 2895