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; 213af57fefff3fc28e8f1f7e6431d1228009c5210cJeff Sharkeyimport android.annotation.TestApi; 225c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braunimport android.content.ComponentName; 230825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.content.ContentResolver; 240825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.content.ContentValues; 250825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.content.Context; 260825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.content.Intent; 270825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.database.Cursor; 280825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.database.sqlite.SqliteWrapper; 290825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.net.Uri; 300825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.telephony.SmsMessage; 31a8467dd0c524787104b1ccdddc5e8af10ba729edWink Savilleimport android.telephony.SubscriptionManager; 320825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.text.TextUtils; 3399c2e1d6749cfad2a8ca94a47857d8c3bfc09454Wink Savilleimport android.telephony.Rlog; 340825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.util.Patterns; 350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 36a8467dd0c524787104b1ccdddc5e8af10ba729edWink Savilleimport com.android.internal.telephony.PhoneConstants; 375c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braunimport com.android.internal.telephony.SmsApplication; 385c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun 390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 400825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.util.HashSet; 410825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.util.Set; 420825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.util.regex.Matcher; 430825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.util.regex.Pattern; 440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/** 46b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The Telephony provider contains data related to phone operation, specifically SMS and MMS 47b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * messages and access to the APN list, including the MMSC to use. 4829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 4929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p class="note"><strong>Note:</strong> These APIs are not available on all Android-powered 5029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * devices. If your app depends on telephony features such as for managing SMS messages, include 51801f831458747c55b58dc0c33d156267339eb822Neil Fuller * a <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code <uses-feature>} 5229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * </a> element in your manifest that declares the {@code "android.hardware.telephony"} hardware 5329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * feature. Alternatively, you can check for telephony availability at runtime using either 5429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * {@link android.content.pm.PackageManager#hasSystemFeature 5529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * hasSystemFeature(PackageManager.FEATURE_TELEPHONY)} or {@link 5629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * android.telephony.TelephonyManager#getPhoneType}.</p> 5729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 5829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <h3>Creating an SMS app</h3> 5929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 6029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>Only the default SMS app (selected by the user in system settings) is able to write to the 6129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * SMS Provider (the tables defined within the {@code Telephony} class) and only the default SMS 6229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * app receives the {@link android.provider.Telephony.Sms.Intents#SMS_DELIVER_ACTION} broadcast 6329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * when the user receives an SMS or the {@link 6429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * android.provider.Telephony.Sms.Intents#WAP_PUSH_DELIVER_ACTION} broadcast when the user 6529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * receives an MMS.</p> 6629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 6729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>Any app that wants to behave as the user's default SMS app must handle the following intents: 6829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <ul> 6929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li>In a broadcast receiver, include an intent filter for {@link Sms.Intents#SMS_DELIVER_ACTION} 7029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * (<code>"android.provider.Telephony.SMS_DELIVER"</code>). The broadcast receiver must also 7129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * require the {@link android.Manifest.permission#BROADCAST_SMS} permission. 7229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>This allows your app to directly receive incoming SMS messages.</p></li> 7329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li>In a broadcast receiver, include an intent filter for {@link 7429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * Sms.Intents#WAP_PUSH_DELIVER_ACTION}} ({@code "android.provider.Telephony.WAP_PUSH_DELIVER"}) 7529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * with the MIME type <code>"application/vnd.wap.mms-message"</code>. 7629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * The broadcast receiver must also require the {@link 7729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * android.Manifest.permission#BROADCAST_WAP_PUSH} permission. 7829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>This allows your app to directly receive incoming MMS messages.</p></li> 7929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li>In your activity that delivers new messages, include an intent filter for 8029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * {@link android.content.Intent#ACTION_SENDTO} (<code>"android.intent.action.SENDTO" 8129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * </code>) with schemas, <code>sms:</code>, <code>smsto:</code>, <code>mms:</code>, and 8229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <code>mmsto:</code>. 8329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>This allows your app to receive intents from other apps that want to deliver a 8429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * message.</p></li> 8529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li>In a service, include an intent filter for {@link 8629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * android.telephony.TelephonyManager#ACTION_RESPOND_VIA_MESSAGE} 8729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * (<code>"android.intent.action.RESPOND_VIA_MESSAGE"</code>) with schemas, 8829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <code>sms:</code>, <code>smsto:</code>, <code>mms:</code>, and <code>mmsto:</code>. 8929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * This service must also require the {@link 9029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * android.Manifest.permission#SEND_RESPOND_VIA_MESSAGE} permission. 9129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>This allows users to respond to incoming phone calls with an immediate text message 9229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * using your app.</p></li> 9329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * </ul> 9429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 9529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>Other apps that are not selected as the default SMS app can only <em>read</em> the SMS 9629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * Provider, but may also be notified when a new SMS arrives by listening for the {@link 9729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * Sms.Intents#SMS_RECEIVED_ACTION} 9829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * broadcast, which is a non-abortable broadcast that may be delivered to multiple apps. This 9929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * broadcast is intended for apps that—while not selected as the default SMS app—need to 10029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * read special incoming messages such as to perform phone number verification.</p> 10129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 10229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>For more information about building SMS apps, read the blog post, <a 10329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * href="http://android-developers.blogspot.com/2013/10/getting-your-sms-apps-ready-for-kitkat.html" 10429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * >Getting Your SMS Apps Ready for KitKat</a>.</p> 10529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 1060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1070825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic final class Telephony { 1080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private static final String TAG = "Telephony"; 1090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 110b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 111b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 112b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 113b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 114b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Telephony() { 1150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 118b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Base columns for tables that contain text-based SMSs. 1190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public interface TextBasedSmsColumns { 1210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 122b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: all messages. */ 1230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_TYPE_ALL = 0; 124b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 125b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: inbox. */ 1260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_TYPE_INBOX = 1; 127b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 128b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: sent messages. */ 1290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_TYPE_SENT = 2; 130b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 131b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: drafts. */ 1320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_TYPE_DRAFT = 3; 133b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 134b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: outbox. */ 1350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_TYPE_OUTBOX = 4; 136b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 137b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: failed outgoing message. */ 138b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final int MESSAGE_TYPE_FAILED = 5; 139b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 140b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: queued to send later. */ 141b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final int MESSAGE_TYPE_QUEUED = 6; 1420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 144b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The type of message. 1450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 147b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final String TYPE = "type"; 1480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 150b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The thread ID of the message. 151b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 1520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 153b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final String THREAD_ID = "thread_id"; 1540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 156b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The address of the other party. 157b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 1580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 159b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final String ADDRESS = "address"; 1600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 162b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The date the message was received. 1630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (long)</P> 1640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DATE = "date"; 1660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 168b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The date the message was sent. 1690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (long)</P> 1700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DATE_SENT = "date_sent"; 1720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 174b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Has the message been read? 1750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (boolean)</P> 1760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String READ = "read"; 1780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 180b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Has the message been seen by the user? The "seen" flag determines 181b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * whether we need to show a notification. 182b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 1830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SEEN = "seen"; 1850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 187b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * {@code TP-Status} value for the message, or -1 if no status has been received. 188b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 1890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STATUS = "status"; 1910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 192b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** TP-Status: no status received. */ 1930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int STATUS_NONE = -1; 194b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** TP-Status: complete. */ 1950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int STATUS_COMPLETE = 0; 196b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** TP-Status: pending. */ 1970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int STATUS_PENDING = 32; 198b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** TP-Status: failed. */ 1990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int STATUS_FAILED = 64; 2000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 202b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The subject of the message, if present. 2030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 2040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SUBJECT = "subject"; 2060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 208b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The body of the message. 2090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 2100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String BODY = "body"; 2120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 214b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The ID of the sender of the conversation, if present. 215b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (reference to item in {@code content://contacts/people})</P> 2160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PERSON = "person"; 2180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 220b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The protocol identifier code. 2210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 2220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PROTOCOL = "protocol"; 2240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 226b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is the {@code TP-Reply-Path} flag set? 2270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: BOOLEAN</P> 2280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_PATH_PRESENT = "reply_path_present"; 2300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 232b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The service center (SC) through which to send the message, if present. 2330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 2340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SERVICE_CENTER = "service_center"; 2360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 238b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is the message locked? 2390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (boolean)</P> 2400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String LOCKED = "locked"; 2420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2444b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * The subscription to which the message belongs to. Its value will be 245dfdf9c40ebaaed15b5020ad6bce898fadd32dd58Wink Saville * < 0 if the sub id cannot be determined. 246a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * <p>Type: INTEGER (long) </p> 247a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 2484b09dff383ae7dfca595aeeea886a594a1947340Wink Saville public static final String SUBSCRIPTION_ID = "sub_id"; 249a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 250a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 251e9701717e43cc5aacbcf624f77a53be92350662cw * The MTU size of the mobile interface to which the APN connected 252e9701717e43cc5aacbcf624f77a53be92350662cw * @hide 253e9701717e43cc5aacbcf624f77a53be92350662cw */ 254e9701717e43cc5aacbcf624f77a53be92350662cw public static final String MTU = "mtu"; 255e9701717e43cc5aacbcf624f77a53be92350662cw 256e9701717e43cc5aacbcf624f77a53be92350662cw /** 257a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Error code associated with sending or receiving this message 2580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 2590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ERROR_CODE = "error_code"; 261b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen 262b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen /** 263dac6bb4a3b2046e1ac943c661563b6daebf49a8fYe Wen * The identity of the sender of a sent message. It is 264dac6bb4a3b2046e1ac943c661563b6daebf49a8fYe Wen * usually the package name of the app which sends the message. 2653824f44a039a5be05b86acfba427638b3b1e587aYe Wen * <p class="note"><strong>Note:</strong> 2663824f44a039a5be05b86acfba427638b3b1e587aYe Wen * This column is read-only. It is set by the provider and can not be changed by apps. 267dac6bb4a3b2046e1ac943c661563b6daebf49a8fYe Wen * <p>Type: TEXT</p> 268b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen */ 269b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen public static final String CREATOR = "creator"; 2700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 273b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all text-based SMS messages. 2740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Sms implements BaseColumns, TextBasedSmsColumns { 276b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 277b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 278b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 279b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 280b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 281b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Sms() { 282b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 283b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 28468b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun /** 28568b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun * Used to determine the currently configured default SMS package. 28668b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun * @param context context of the requesting application 28768b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun * @return package name for the default SMS package or null 28868b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun */ 28968b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun public static String getDefaultSmsPackage(Context context) { 29068b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun ComponentName component = SmsApplication.getDefaultSmsApplication(context, false); 29168b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun if (component != null) { 29268b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun return component.getPackageName(); 29368b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun } 29468b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun return null; 29568b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun } 29668b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun 297b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 298b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Return cursor for table query. 299b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 300b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 301b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static Cursor query(ContentResolver cr, String[] projection) { 3020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return cr.query(CONTENT_URI, projection, null, null, DEFAULT_SORT_ORDER); 3030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 305b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 306b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Return cursor for table query. 307b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 308b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 309b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static Cursor query(ContentResolver cr, String[] projection, 3100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String where, String orderBy) { 3110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return cr.query(CONTENT_URI, projection, where, 312b47af9b263628c00b1c890f102091098a31463c0Jake Hamby null, orderBy == null ? DEFAULT_SORT_ORDER : orderBy); 3130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 316b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 3170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 318b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://sms"); 3190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 321b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 3220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 3240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 3260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Add an SMS to the given URI. 3270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 3280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param resolver the content resolver to use 3290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param uri the URI to add the message to 3300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param address the address of the sender 3310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param body the body of the message 332b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param subject the pseudo-subject of the message 3330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param date the timestamp for the message 3340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param read true if the message has been read, false if not 3350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param deliveryReport true if a delivery report was requested, false if not 3360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return the URI for the new message 337b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 3380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static Uri addMessageToUri(ContentResolver resolver, 3400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Uri uri, String address, String body, String subject, 3410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Long date, boolean read, boolean deliveryReport) { 342960c250fc2afee078852df1f37a887cec848ec5dShishir Agrawal return addMessageToUri(SubscriptionManager.getDefaultSmsSubscriptionId(), 343a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville resolver, uri, address, body, subject, date, read, deliveryReport, -1L); 344a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 345a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 346a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 347a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Add an SMS to the given URI. 348a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * 349a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param resolver the content resolver to use 350a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param uri the URI to add the message to 351a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param address the address of the sender 352a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param body the body of the message 353a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subject the psuedo-subject of the message 354a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param date the timestamp for the message 355a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param read true if the message has been read, false if not 356a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param deliveryReport true if a delivery report was requested, false if not 3574b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * @param subId the subscription which the message belongs to 358a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @return the URI for the new message 359a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 360a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 361b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville public static Uri addMessageToUri(int subId, ContentResolver resolver, 362a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville Uri uri, String address, String body, String subject, 363a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville Long date, boolean read, boolean deliveryReport) { 364a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville return addMessageToUri(subId, resolver, uri, address, body, subject, 3650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville date, read, deliveryReport, -1L); 3660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 369b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Add an SMS to the given URI with the specified thread ID. 3700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 3710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param resolver the content resolver to use 3720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param uri the URI to add the message to 3730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param address the address of the sender 3740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param body the body of the message 375b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param subject the pseudo-subject of the message 3760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param date the timestamp for the message 3770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param read true if the message has been read, false if not 3780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param deliveryReport true if a delivery report was requested, false if not 3790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param threadId the thread_id of the message 3800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return the URI for the new message 381b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 3820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static Uri addMessageToUri(ContentResolver resolver, 3840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Uri uri, String address, String body, String subject, 3850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Long date, boolean read, boolean deliveryReport, long threadId) { 386960c250fc2afee078852df1f37a887cec848ec5dShishir Agrawal return addMessageToUri(SubscriptionManager.getDefaultSmsSubscriptionId(), 387a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville resolver, uri, address, body, subject, 388a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville date, read, deliveryReport, threadId); 389a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 390a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 391a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 392a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Add an SMS to the given URI with thread_id specified. 393a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * 394a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param resolver the content resolver to use 395a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param uri the URI to add the message to 396a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param address the address of the sender 397a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param body the body of the message 398a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subject the psuedo-subject of the message 399a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param date the timestamp for the message 400a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param read true if the message has been read, false if not 401a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param deliveryReport true if a delivery report was requested, false if not 402a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param threadId the thread_id of the message 4034b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * @param subId the subscription which the message belongs to 404a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @return the URI for the new message 405a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 406a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 407b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville public static Uri addMessageToUri(int subId, ContentResolver resolver, 408a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville Uri uri, String address, String body, String subject, 409a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville Long date, boolean read, boolean deliveryReport, long threadId) { 410a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville ContentValues values = new ContentValues(8); 411a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville Rlog.v(TAG,"Telephony addMessageToUri sub id: " + subId); 4120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4134b09dff383ae7dfca595aeeea886a594a1947340Wink Saville values.put(SUBSCRIPTION_ID, subId); 4140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(ADDRESS, address); 4150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (date != null) { 4160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(DATE, date); 4170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(READ, read ? Integer.valueOf(1) : Integer.valueOf(0)); 4190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(SUBJECT, subject); 4200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(BODY, body); 4210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (deliveryReport) { 4220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(STATUS, STATUS_PENDING); 4230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (threadId != -1L) { 4250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(THREAD_ID, threadId); 4260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return resolver.insert(uri, values); 4280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 4310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Move a message to the given folder. 4320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 4330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param context the context to use 4340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param uri the message to move 4350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param folder the folder to move to 4360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return true if the operation succeeded 437b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 4380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static boolean moveMessageToFolder(Context context, 4400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Uri uri, int folder, int error) { 4410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (uri == null) { 4420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return false; 4430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean markAsUnread = false; 4460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean markAsRead = false; 4470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville switch(folder) { 4480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case MESSAGE_TYPE_INBOX: 4490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case MESSAGE_TYPE_DRAFT: 4500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville break; 4510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case MESSAGE_TYPE_OUTBOX: 4520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case MESSAGE_TYPE_SENT: 4530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville markAsRead = true; 4540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville break; 4550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case MESSAGE_TYPE_FAILED: 4560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case MESSAGE_TYPE_QUEUED: 4570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville markAsUnread = true; 4580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville break; 4590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville default: 4600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return false; 4610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ContentValues values = new ContentValues(3); 4640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(TYPE, folder); 4660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (markAsUnread) { 467b47af9b263628c00b1c890f102091098a31463c0Jake Hamby values.put(READ, 0); 4680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } else if (markAsRead) { 469b47af9b263628c00b1c890f102091098a31463c0Jake Hamby values.put(READ, 1); 4700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(ERROR_CODE, error); 4720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return 1 == SqliteWrapper.update(context, context.getContentResolver(), 4740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville uri, values, null, null); 4750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 4780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Returns true iff the folder (message type) identifies an 4790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * outgoing message. 480b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 4810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static boolean isOutgoingFolder(int messageType) { 4830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return (messageType == MESSAGE_TYPE_FAILED) 4840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville || (messageType == MESSAGE_TYPE_OUTBOX) 4850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville || (messageType == MESSAGE_TYPE_SENT) 4860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville || (messageType == MESSAGE_TYPE_QUEUED); 4870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 490b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all text-based SMS messages in the SMS app inbox. 4910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Inbox implements BaseColumns, TextBasedSmsColumns { 493b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 4940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 495b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 496b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 4970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 498b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Inbox() { 499b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 5000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 502b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 503b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 504b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://sms/inbox"); 505b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 506b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 507b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 5080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 5100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 5120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Add an SMS to the Draft box. 5130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 5140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param resolver the content resolver to use 5150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param address the address of the sender 5160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param body the body of the message 517b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param subject the pseudo-subject of the message 5180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param date the timestamp for the message 5190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param read true if the message has been read, false if not 5200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return the URI for the new message 521b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 5220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static Uri addMessage(ContentResolver resolver, 5240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String address, String body, String subject, Long date, 5250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean read) { 526960c250fc2afee078852df1f37a887cec848ec5dShishir Agrawal return addMessageToUri(SubscriptionManager.getDefaultSmsSubscriptionId(), 527a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville resolver, CONTENT_URI, address, body, subject, date, read, false); 528a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 529a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 530a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 531a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Add an SMS to the Draft box. 532a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * 533a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param resolver the content resolver to use 534a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param address the address of the sender 535a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param body the body of the message 536a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subject the psuedo-subject of the message 537a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param date the timestamp for the message 538a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param read true if the message has been read, false if not 5394b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * @param subId the subscription which the message belongs to 540a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @return the URI for the new message 541a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 542a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 543b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville public static Uri addMessage(int subId, ContentResolver resolver, 544a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville String address, String body, String subject, Long date, boolean read) { 545a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville return addMessageToUri(subId, resolver, CONTENT_URI, address, body, 5460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville subject, date, read, false); 5470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 551b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all sent text-based SMS messages in the SMS app. 5520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Sent implements BaseColumns, TextBasedSmsColumns { 554b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 555b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 556b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 557b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 558b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 559b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Sent() { 560b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 561b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 5620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 563b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 5640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 565b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://sms/sent"); 5660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 568b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 5690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 5710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 5730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Add an SMS to the Draft box. 5740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 5750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param resolver the content resolver to use 5760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param address the address of the sender 5770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param body the body of the message 578b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param subject the pseudo-subject of the message 5790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param date the timestamp for the message 5800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return the URI for the new message 581b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 5820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static Uri addMessage(ContentResolver resolver, 5840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String address, String body, String subject, Long date) { 585960c250fc2afee078852df1f37a887cec848ec5dShishir Agrawal return addMessageToUri(SubscriptionManager.getDefaultSmsSubscriptionId(), 586a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville resolver, CONTENT_URI, address, body, subject, date, true, false); 587a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 588a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 589a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 590a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Add an SMS to the Draft box. 591a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * 592a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param resolver the content resolver to use 593a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param address the address of the sender 594a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param body the body of the message 595a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subject the psuedo-subject of the message 596a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param date the timestamp for the message 5974b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * @param subId the subscription which the message belongs to 598a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @return the URI for the new message 599a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 600a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 601b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville public static Uri addMessage(int subId, ContentResolver resolver, 602a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville String address, String body, String subject, Long date) { 603a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville return addMessageToUri(subId, resolver, CONTENT_URI, address, body, 6040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville subject, date, true, false); 6050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 609b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all sent text-based SMS messages in the SMS app. 6100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Draft implements BaseColumns, TextBasedSmsColumns { 6120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 614b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 615b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 6160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 617b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Draft() { 618b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 6190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 621b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 6220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 623b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://sms/draft"); 6240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 625a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 626a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 627a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 628a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville public static Uri addMessage(ContentResolver resolver, 629a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville String address, String body, String subject, Long date) { 630960c250fc2afee078852df1f37a887cec848ec5dShishir Agrawal return addMessageToUri(SubscriptionManager.getDefaultSmsSubscriptionId(), 631a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville resolver, CONTENT_URI, address, body, subject, date, true, false); 632a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 633a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 634a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 635a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Add an SMS to the Draft box. 636a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * 637a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param resolver the content resolver to use 638a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param address the address of the sender 639a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param body the body of the message 640a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subject the psuedo-subject of the message 641a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param date the timestamp for the message 6424b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * @param subId the subscription which the message belongs to 643a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @return the URI for the new message 644a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 645a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 646b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville public static Uri addMessage(int subId, ContentResolver resolver, 647a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville String address, String body, String subject, Long date) { 648a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville return addMessageToUri(subId, resolver, CONTENT_URI, address, body, 649a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville subject, date, true, false); 650a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 651a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 6520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 653b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 654b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 655b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final String DEFAULT_SORT_ORDER = "date DESC"; 6560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 659b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all pending outgoing text-based SMS messages. 6600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Outbox implements BaseColumns, TextBasedSmsColumns { 662b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 663b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 664b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 665b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 666b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 667b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Outbox() { 668b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 669b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 6700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 671b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 6720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 673b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://sms/outbox"); 6740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 676b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 6770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 6790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 681b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Add an SMS to the outbox. 6820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 6830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param resolver the content resolver to use 6840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param address the address of the sender 6850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param body the body of the message 686b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param subject the pseudo-subject of the message 6870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param date the timestamp for the message 6880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param deliveryReport whether a delivery report was requested for the message 6890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return the URI for the new message 690b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 6910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static Uri addMessage(ContentResolver resolver, 6930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String address, String body, String subject, Long date, 6940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean deliveryReport, long threadId) { 695960c250fc2afee078852df1f37a887cec848ec5dShishir Agrawal return addMessageToUri(SubscriptionManager.getDefaultSmsSubscriptionId(), 696a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville resolver, CONTENT_URI, address, body, subject, date, 697a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville true, deliveryReport, threadId); 698a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 699a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 700a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 701a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Add an SMS to the Out box. 702a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * 703a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param resolver the content resolver to use 704a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param address the address of the sender 705a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param body the body of the message 706a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subject the psuedo-subject of the message 707a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param date the timestamp for the message 708a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param deliveryReport whether a delivery report was requested for the message 7094b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * @param subId the subscription which the message belongs to 710a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @return the URI for the new message 711a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 712a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 713b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville public static Uri addMessage(int subId, ContentResolver resolver, 714a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville String address, String body, String subject, Long date, 715a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville boolean deliveryReport, long threadId) { 716a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville return addMessageToUri(subId, resolver, CONTENT_URI, address, body, 7170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville subject, date, true, deliveryReport, threadId); 7180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 7190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 7200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 722b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all sent text-based SMS messages in the SMS app. 7230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Conversations 7250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville implements BaseColumns, TextBasedSmsColumns { 726b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 7270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 728b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 729b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 7300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 731b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Conversations() { 732b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 733b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 734b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 735b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 736b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 737b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://sms/conversations"); 7380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 740b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 7410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 7430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 745b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The first 45 characters of the body of the message. 7460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 7470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SNIPPET = "snippet"; 7490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 751b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The number of messages in the conversation. 7520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 7530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_COUNT = "msg_count"; 7550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 7560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 758b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains constants for SMS related Intents that are broadcast. 7590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Intents { 761b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 7620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 763b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 764b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 765b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 766b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Intents() { 767b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 768b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 769b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 770b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Set by BroadcastReceiver to indicate that the message was handled 7710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * successfully. 7720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int RESULT_SMS_HANDLED = 1; 7740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 776b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Set by BroadcastReceiver to indicate a generic error while 7770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * processing the message. 7780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int RESULT_SMS_GENERIC_ERROR = 2; 7800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 782b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Set by BroadcastReceiver to indicate insufficient memory to store 7830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * the message. 7840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int RESULT_SMS_OUT_OF_MEMORY = 3; 7860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 788b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Set by BroadcastReceiver to indicate that the message, while 7890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * possibly valid, is of a format or encoding that is not 7900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * supported. 7910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int RESULT_SMS_UNSUPPORTED = 4; 7930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 795b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Set by BroadcastReceiver to indicate a duplicate incoming message. 79690271d9ef1377b25b78359039fb2e87f32aba25bSungmin Choi */ 79790271d9ef1377b25b78359039fb2e87f32aba25bSungmin Choi public static final int RESULT_SMS_DUPLICATED = 5; 79890271d9ef1377b25b78359039fb2e87f32aba25bSungmin Choi 79990271d9ef1377b25b78359039fb2e87f32aba25bSungmin Choi /** 8005c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * Activity action: Ask the user to change the default 8015c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * SMS application. This will show a dialog that asks the 8025c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * user whether they want to replace the current default 8035c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * SMS application with the one specified in 8045c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * {@link #EXTRA_PACKAGE_NAME}. 8055c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun */ 8065c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) 8075c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun public static final String ACTION_CHANGE_DEFAULT = 8085c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun "android.provider.Telephony.ACTION_CHANGE_DEFAULT"; 8095c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun 8105c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun /** 8115c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * The PackageName string passed in as an 8125c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * extra for {@link #ACTION_CHANGE_DEFAULT} 8135c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 8145c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * @see #ACTION_CHANGE_DEFAULT 8155c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun */ 8165c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun public static final String EXTRA_PACKAGE_NAME = "package"; 8175c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun 8185c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun /** 819b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Broadcast Action: A new text-based SMS message has been received 8205c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * by the device. This intent will only be delivered to the default 8215c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * sms app. That app is responsible for writing the message and notifying 8225c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * the user. The intent will have the following extra values:</p> 8235c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 8245c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <ul> 82529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"pdus"</em> - An Object[] of byte[]s containing the PDUs 8265c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * that make up the message.</li> 82754f09e2a595c872800e061c6212265c26aef9a3dShri Borde * <li><em>"format"</em> - A String describing the format of the PDUs. It can 82854f09e2a595c872800e061c6212265c26aef9a3dShri Borde * be either "3gpp" or "3gpp2".</li> 82954f09e2a595c872800e061c6212265c26aef9a3dShri Borde * <li><em>"subscription"</em> - An optional long value of the subscription id which 83054f09e2a595c872800e061c6212265c26aef9a3dShri Borde * received the message.</li> 83154f09e2a595c872800e061c6212265c26aef9a3dShri Borde * <li><em>"slot"</em> - An optional int value of the SIM slot containing the 83254f09e2a595c872800e061c6212265c26aef9a3dShri Borde * subscription.</li> 83354f09e2a595c872800e061c6212265c26aef9a3dShri Borde * <li><em>"phone"</em> - An optional int value of the phone id associated with the 83454f09e2a595c872800e061c6212265c26aef9a3dShri Borde * subscription.</li> 83554f09e2a595c872800e061c6212265c26aef9a3dShri Borde * <li><em>"errorCode"</em> - An optional int error code associated with receiving 83654f09e2a595c872800e061c6212265c26aef9a3dShri Borde * the message.</li> 8375c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * </ul> 8385c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 8395c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <p>The extra values can be extracted using 8405c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * {@link #getMessagesFromIntent(Intent)}.</p> 8415c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 8425c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <p>If a BroadcastReceiver encounters an error while processing 8435c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * this intent it should set the result code appropriately.</p> 84429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 84529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p class="note"><strong>Note:</strong> 84629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * The broadcast receiver that filters for this intent must declare 84729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * {@link android.Manifest.permission#BROADCAST_SMS} as a required permission in 84829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * the <a href="{@docRoot}guide/topics/manifest/receiver-element.html">{@code 849801f831458747c55b58dc0c33d156267339eb822Neil Fuller * <receiver>}</a> tag. 8503f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * 8513f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * <p>Requires {@link android.Manifest.permission#RECEIVE_SMS} to receive.</p> 8525c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun */ 8535c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 8545c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun public static final String SMS_DELIVER_ACTION = 8555c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun "android.provider.Telephony.SMS_DELIVER"; 8565c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun 8575c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun /** 858b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Broadcast Action: A new text-based SMS message has been received 8595c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * by the device. This intent will be delivered to all registered 8605c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * receivers as a notification. These apps are not expected to write the 8615c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * message or notify the user. The intent will have the following extra 8620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * values:</p> 8630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 86529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"pdus"</em> - An Object[] of byte[]s containing the PDUs 8660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * that make up the message.</li> 8670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 8680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>The extra values can be extracted using 8700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #getMessagesFromIntent(Intent)}.</p> 8710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If a BroadcastReceiver encounters an error while processing 8730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this intent it should set the result code appropriately.</p> 8743f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * 8753f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * <p>Requires {@link android.Manifest.permission#RECEIVE_SMS} to receive.</p> 8760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 8770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 8780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SMS_RECEIVED_ACTION = 8790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.SMS_RECEIVED"; 8800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 8810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 8820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: A new data based SMS message has been received 8835c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * by the device. This intent will be delivered to all registered 8845c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * receivers as a notification. The intent will have the following extra 8850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * values:</p> 8860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 88829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"pdus"</em> - An Object[] of byte[]s containing the PDUs 8890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * that make up the message.</li> 8900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 8910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>The extra values can be extracted using 8930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #getMessagesFromIntent(Intent)}.</p> 8940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If a BroadcastReceiver encounters an error while processing 8960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this intent it should set the result code appropriately.</p> 8973f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * 8983f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * <p>Requires {@link android.Manifest.permission#RECEIVE_SMS} to receive.</p> 8990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 9000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 9010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DATA_SMS_RECEIVED_ACTION = 9020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.intent.action.DATA_SMS_RECEIVED"; 9030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 9040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 9050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: A new WAP PUSH message has been received by the 9065c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * device. This intent will only be delivered to the default 9075c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * sms app. That app is responsible for writing the message and notifying 9085c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * the user. The intent will have the following extra values:</p> 9095c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 9105c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <ul> 91129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"transactionId"</em> - (Integer) The WAP transaction ID</li> 91229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"pduType"</em> - (Integer) The WAP PDU type</li> 91329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"header"</em> - (byte[]) The header of the message</li> 91429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"data"</em> - (byte[]) The data payload of the message</li> 91529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"contentTypeParameters" </em> 91629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * -(HashMap<String,String>) Any parameters associated with the content type 9175c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * (decoded from the WSP Content-Type header)</li> 91854f09e2a595c872800e061c6212265c26aef9a3dShri Borde * <li><em>"subscription"</em> - An optional long value of the subscription id which 91954f09e2a595c872800e061c6212265c26aef9a3dShri Borde * received the message.</li> 92054f09e2a595c872800e061c6212265c26aef9a3dShri Borde * <li><em>"slot"</em> - An optional int value of the SIM slot containing the 92154f09e2a595c872800e061c6212265c26aef9a3dShri Borde * subscription.</li> 92254f09e2a595c872800e061c6212265c26aef9a3dShri Borde * <li><em>"phone"</em> - An optional int value of the phone id associated with the 92354f09e2a595c872800e061c6212265c26aef9a3dShri Borde * subscription.</li> 9245c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * </ul> 9255c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 9265c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <p>If a BroadcastReceiver encounters an error while processing 9275c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * this intent it should set the result code appropriately.</p> 9285c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 9295c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <p>The contentTypeParameters extra value is map of content parameters keyed by 9305c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * their names.</p> 9315c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 9325c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <p>If any unassigned well-known parameters are encountered, the key of the map will 9335c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * be 'unassigned/0x...', where '...' is the hex value of the unassigned parameter. If 9345c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * a parameter has No-Value the value in the map will be null.</p> 93529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 9363f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * <p>Requires {@link android.Manifest.permission#RECEIVE_MMS} or 9373f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * {@link android.Manifest.permission#RECEIVE_WAP_PUSH} (depending on WAP PUSH type) to 9383f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * receive.</p> 9393f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * 94029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p class="note"><strong>Note:</strong> 94129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * The broadcast receiver that filters for this intent must declare 94229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * {@link android.Manifest.permission#BROADCAST_WAP_PUSH} as a required permission in 94329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * the <a href="{@docRoot}guide/topics/manifest/receiver-element.html">{@code 944801f831458747c55b58dc0c33d156267339eb822Neil Fuller * <receiver>}</a> tag. 9455c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun */ 9465c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 9475c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun public static final String WAP_PUSH_DELIVER_ACTION = 9485c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun "android.provider.Telephony.WAP_PUSH_DELIVER"; 9495c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun 9505c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun /** 9515c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * Broadcast Action: A new WAP PUSH message has been received by the 9525c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * device. This intent will be delivered to all registered 9535c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * receivers as a notification. These apps are not expected to write the 9545c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * message or notify the user. The intent will have the following extra 9550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * values:</p> 9560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 95829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"transactionId"</em> - (Integer) The WAP transaction ID</li> 95929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"pduType"</em> - (Integer) The WAP PDU type</li> 96029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"header"</em> - (byte[]) The header of the message</li> 96129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"data"</em> - (byte[]) The data payload of the message</li> 96229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"contentTypeParameters"</em> 96329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * - (HashMap<String,String>) Any parameters associated with the content type 9640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (decoded from the WSP Content-Type header)</li> 9650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 9660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If a BroadcastReceiver encounters an error while processing 9680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this intent it should set the result code appropriately.</p> 9690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>The contentTypeParameters extra value is map of content parameters keyed by 9710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * their names.</p> 9720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If any unassigned well-known parameters are encountered, the key of the map will 9740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * be 'unassigned/0x...', where '...' is the hex value of the unassigned parameter. If 9750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * a parameter has No-Value the value in the map will be null.</p> 9763f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * 9773f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * <p>Requires {@link android.Manifest.permission#RECEIVE_MMS} or 9783f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * {@link android.Manifest.permission#RECEIVE_WAP_PUSH} (depending on WAP PUSH type) to 9793f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * receive.</p> 9800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 9810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 9820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String WAP_PUSH_RECEIVED_ACTION = 9830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.WAP_PUSH_RECEIVED"; 9840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 9850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 9860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: A new Cell Broadcast message has been received 9870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * by the device. The intent will have the following extra 9880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * values:</p> 9890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 99129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"message"</em> - An SmsCbMessage object containing the broadcast message 9920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * data. This is not an emergency alert, so ETWS and CMAS data will be null.</li> 9930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 9940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>The extra values can be extracted using 9960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #getMessagesFromIntent(Intent)}.</p> 9970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If a BroadcastReceiver encounters an error while processing 9990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this intent it should set the result code appropriately.</p> 10003f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * 10013f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * <p>Requires {@link android.Manifest.permission#RECEIVE_SMS} to receive.</p> 10020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 10040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SMS_CB_RECEIVED_ACTION = 10050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.SMS_CB_RECEIVED"; 10060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10083817cc94c781b78c9f52d9483e8426bbb9c5d1b5Junda Liu * Action: A SMS based carrier provision intent. Used to identify default 10093817cc94c781b78c9f52d9483e8426bbb9c5d1b5Junda Liu * carrier provisioning app on the device. 10103817cc94c781b78c9f52d9483e8426bbb9c5d1b5Junda Liu * @hide 10113817cc94c781b78c9f52d9483e8426bbb9c5d1b5Junda Liu */ 10123817cc94c781b78c9f52d9483e8426bbb9c5d1b5Junda Liu @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 10133af57fefff3fc28e8f1f7e6431d1228009c5210cJeff Sharkey @TestApi 10143817cc94c781b78c9f52d9483e8426bbb9c5d1b5Junda Liu public static final String SMS_CARRIER_PROVISION_ACTION = 10153817cc94c781b78c9f52d9483e8426bbb9c5d1b5Junda Liu "android.provider.Telephony.SMS_CARRIER_PROVISION"; 10163817cc94c781b78c9f52d9483e8426bbb9c5d1b5Junda Liu 10173817cc94c781b78c9f52d9483e8426bbb9c5d1b5Junda Liu /** 10180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: A new Emergency Broadcast message has been received 10190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * by the device. The intent will have the following extra 10200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * values:</p> 10210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 102329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"message"</em> - An SmsCbMessage object containing the broadcast message 10240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * data, including ETWS or CMAS warning notification info if present.</li> 10250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 10260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>The extra values can be extracted using 10280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #getMessagesFromIntent(Intent)}.</p> 10290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If a BroadcastReceiver encounters an error while processing 10310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this intent it should set the result code appropriately.</p> 103240d4a848248bb4f6af6aeb32a849f33413f0c521Amit Mahajan * 10333f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * <p>Requires {@link android.Manifest.permission#RECEIVE_EMERGENCY_BROADCAST} to 10343f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * receive.</p> 103540d4a848248bb4f6af6aeb32a849f33413f0c521Amit Mahajan * @removed 10360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 10380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SMS_EMERGENCY_CB_RECEIVED_ACTION = 10390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.SMS_EMERGENCY_CB_RECEIVED"; 10400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: A new CDMA SMS has been received containing Service Category 10430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Program Data (updates the list of enabled broadcast channels). The intent will 10440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * have the following extra values:</p> 10450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 104729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"operations"</em> - An array of CdmaSmsCbProgramData objects containing 10480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * the service category operations (add/delete/clear) to perform.</li> 10490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 10500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>The extra values can be extracted using 10520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #getMessagesFromIntent(Intent)}.</p> 10530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If a BroadcastReceiver encounters an error while processing 10550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this intent it should set the result code appropriately.</p> 10563f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * 10573f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * <p>Requires {@link android.Manifest.permission#RECEIVE_SMS} to receive.</p> 10580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 10600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED_ACTION = 10610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED"; 10620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: The SIM storage for SMS messages is full. If 10650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * space is not freed, messages targeted for the SIM (class 2) may 10660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * not be saved. 10673f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * 10683f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * <p>Requires {@link android.Manifest.permission#RECEIVE_SMS} to receive.</p> 10690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 10710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SIM_FULL_ACTION = 10720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.SIM_FULL"; 10730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: An incoming SMS has been rejected by the 10760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * telephony framework. This intent is sent in lieu of any 10770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * of the RECEIVED_ACTION intents. The intent will have the 10780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * following extra value:</p> 10790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 108129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"result"</em> - An int result code, e.g. {@link #RESULT_SMS_OUT_OF_MEMORY} 10820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * indicating the error returned to the network.</li> 10830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 10843f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * 10853f3c4d9f3ba369a5a067d5e56529d9bb6978a445Amit Mahajan * <p>Requires {@link android.Manifest.permission#RECEIVE_SMS} to receive.</p> 10860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 10880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SMS_REJECTED_ACTION = 10890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.SMS_REJECTED"; 10900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1092c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor * Broadcast Action: An incoming MMS has been downloaded. The intent is sent to all 1093c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor * users, except for secondary users where SMS has been disabled and to managed 1094c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor * profiles. 1095c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor * @hide 1096c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor */ 1097c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 1098c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor public static final String MMS_DOWNLOADED_ACTION = 1099c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor "android.provider.Telephony.MMS_DOWNLOADED"; 1100c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor 1101c1fd61bf259f192afbbdb58db15d64fa95c0befbTom Taylor /** 11027a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor * Broadcast action: When the default SMS package changes, 11037a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor * the previous default SMS package and the new default SMS 11047a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor * package are sent this broadcast to notify them of the change. 11057a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor * A boolean is specified in {@link #EXTRA_IS_DEFAULT_SMS_APP} to 11067a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor * indicate whether the package is the new default SMS package. 11077a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor */ 11087a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 11097a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor public static final String ACTION_DEFAULT_SMS_PACKAGE_CHANGED = 11107a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor "android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED"; 11117a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor 11127a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor /** 11137a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor * The IsDefaultSmsApp boolean passed as an 11147a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor * extra for {@link #ACTION_DEFAULT_SMS_PACKAGE_CHANGED} to indicate whether the 11157a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor * SMS app is becoming the default SMS app or is no longer the default. 11167a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor * 11177a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor * @see #ACTION_DEFAULT_SMS_PACKAGE_CHANGED 11187a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor */ 11197a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor public static final String EXTRA_IS_DEFAULT_SMS_APP = 11207a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor "android.provider.extra.IS_DEFAULT_SMS_APP"; 11217a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor 11227a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor /** 11237a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor * Broadcast action: When a change is made to the SmsProvider or 11247a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor * MmsProvider by a process other than the default SMS application, 11257a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor * this intent is broadcast to the default SMS application so it can 11267a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor * re-sync or update the change. The uri that was used to call the provider 11277a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor * can be retrieved from the intent with getData(). The actual affected uris 11287a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor * (which would depend on the selection specified) are not included. 11297a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor */ 11307a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 11317a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor public static final String ACTION_EXTERNAL_PROVIDER_CHANGE = 11327a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor "android.provider.action.EXTERNAL_PROVIDER_CHANGE"; 11337a68be31d1fedbc97d712c6114d4585370f0c399Tom Taylor 1134676e73ec8586d1a8f2b471780d198e556ea95ecfAmit Mahajan /** 11350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Read the PDUs out of an {@link #SMS_RECEIVED_ACTION} or a 11360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #DATA_SMS_RECEIVED_ACTION} intent. 11370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 11380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param intent the intent to read from 11390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return an array of SmsMessages for the PDUs 11400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1141b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static SmsMessage[] getMessagesFromIntent(Intent intent) { 1142aa58ad8d8254ca547897d33c8bd3627d47edf55aJack Yu Object[] messages; 1143aa58ad8d8254ca547897d33c8bd3627d47edf55aJack Yu try { 1144aa58ad8d8254ca547897d33c8bd3627d47edf55aJack Yu messages = (Object[]) intent.getSerializableExtra("pdus"); 1145aa58ad8d8254ca547897d33c8bd3627d47edf55aJack Yu } 1146aa58ad8d8254ca547897d33c8bd3627d47edf55aJack Yu catch (ClassCastException e) { 1147aa58ad8d8254ca547897d33c8bd3627d47edf55aJack Yu Rlog.e(TAG, "getMessagesFromIntent: " + e); 1148aa58ad8d8254ca547897d33c8bd3627d47edf55aJack Yu return null; 1149aa58ad8d8254ca547897d33c8bd3627d47edf55aJack Yu } 1150aa58ad8d8254ca547897d33c8bd3627d47edf55aJack Yu 1151aa58ad8d8254ca547897d33c8bd3627d47edf55aJack Yu if (messages == null) { 1152aa58ad8d8254ca547897d33c8bd3627d47edf55aJack Yu Rlog.e(TAG, "pdus does not exist in the intent"); 1153aa58ad8d8254ca547897d33c8bd3627d47edf55aJack Yu return null; 1154aa58ad8d8254ca547897d33c8bd3627d47edf55aJack Yu } 1155aa58ad8d8254ca547897d33c8bd3627d47edf55aJack Yu 11560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String format = intent.getStringExtra("format"); 1157b237a11044ed842d2865ff8c8716befb06b6ca25Wink Saville int subId = intent.getIntExtra(PhoneConstants.SUBSCRIPTION_KEY, 1158960c250fc2afee078852df1f37a887cec848ec5dShishir Agrawal SubscriptionManager.getDefaultSmsSubscriptionId()); 1159a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 1160a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville Rlog.v(TAG, " getMessagesFromIntent sub_id : " + subId); 11610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1162b47af9b263628c00b1c890f102091098a31463c0Jake Hamby int pduCount = messages.length; 11630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville SmsMessage[] msgs = new SmsMessage[pduCount]; 1164b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 11650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville for (int i = 0; i < pduCount; i++) { 1166b47af9b263628c00b1c890f102091098a31463c0Jake Hamby byte[] pdu = (byte[]) messages[i]; 1167b47af9b263628c00b1c890f102091098a31463c0Jake Hamby msgs[i] = SmsMessage.createFromPdu(pdu, format); 1168676e73ec8586d1a8f2b471780d198e556ea95ecfAmit Mahajan if (msgs[i] != null) msgs[i].setSubId(subId); 11690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 11700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return msgs; 11710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 11720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 11730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 11740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 11760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Base columns for tables that contain MMSs. 11770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public interface BaseMmsColumns extends BaseColumns { 11790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1180b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message box: all messages. */ 11810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_BOX_ALL = 0; 1182b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message box: inbox. */ 11830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_BOX_INBOX = 1; 1184b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message box: sent messages. */ 11850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_BOX_SENT = 2; 1186b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message box: drafts. */ 11870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_BOX_DRAFTS = 3; 1188b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message box: outbox. */ 11890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_BOX_OUTBOX = 4; 1190370971c25973d9d8061b76e756df2fb8c1ebd990Ye Wen /** Message box: failed. */ 1191370971c25973d9d8061b76e756df2fb8c1ebd990Ye Wen public static final int MESSAGE_BOX_FAILED = 5; 11920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1194b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The thread ID of the message. 1195b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 1196b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 1197b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final String THREAD_ID = "thread_id"; 1198b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1199b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 12000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The date the message was received. 12010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (long)</P> 12020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DATE = "date"; 12040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The date the message was sent. 12070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (long)</P> 12080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DATE_SENT = "date_sent"; 12100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1212b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The box which the message belongs to, e.g. {@link #MESSAGE_BOX_INBOX}. 12130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_BOX = "msg_box"; 12160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1218b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Has the message been read? 12190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (boolean)</P> 12200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String READ = "read"; 12220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1224b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Has the message been seen by the user? The "seen" flag determines 1225b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * whether we need to show a new message notification. 1226b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 12270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SEEN = "seen"; 12290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1231b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Does the message have only a text part (can also have a subject) with 1232b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * no picture, slideshow, sound, etc. parts? 1233b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 12347a299a45d1132bfecfee02a1a71427dfbbadc72eTom Taylor */ 12357a299a45d1132bfecfee02a1a71427dfbbadc72eTom Taylor public static final String TEXT_ONLY = "text_only"; 12367a299a45d1132bfecfee02a1a71427dfbbadc72eTom Taylor 12377a299a45d1132bfecfee02a1a71427dfbbadc72eTom Taylor /** 1238b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code Message-ID} of the message. 12390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 12400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_ID = "m_id"; 12420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The subject of the message, if present. 12450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 12460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SUBJECT = "sub"; 12480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The character set of the subject, if present. 12510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SUBJECT_CHARSET = "sub_cs"; 12540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1256b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code Content-Type} of the message. 12570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 12580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_TYPE = "ct_t"; 12600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1262b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code Content-Location} of the message. 12630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 12640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_LOCATION = "ct_l"; 12660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The expiry time of the message. 1269b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 12700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String EXPIRY = "exp"; 12720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The class of the message. 12750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 12760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_CLASS = "m_cls"; 12780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The type of the message defined by MMS spec. 12810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_TYPE = "m_type"; 12840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1286b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The version of the specification that this message conforms to. 12870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MMS_VERSION = "v"; 12900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The size of the message. 12930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_SIZE = "m_size"; 12960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The priority of the message. 1299b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 13000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PRIORITY = "pri"; 13020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1304b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code read-report} of the message. 1305b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 13060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String READ_REPORT = "rr"; 13080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1310b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is read report allowed? 1311b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 13120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPORT_ALLOWED = "rpt_a"; 13140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1316b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code response-status} of the message. 13170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 13180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RESPONSE_STATUS = "resp_st"; 13200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1322b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code status} of the message. 13230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 13240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STATUS = "st"; 13260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1328b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code transaction-id} of the message. 13290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 13300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TRANSACTION_ID = "tr_id"; 13320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1334b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code retrieve-status} of the message. 13350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 13360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RETRIEVE_STATUS = "retr_st"; 13380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1340b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code retrieve-text} of the message. 13410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 13420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RETRIEVE_TEXT = "retr_txt"; 13440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 13460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The character set of the retrieve-text. 1347b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 13480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RETRIEVE_TEXT_CHARSET = "retr_txt_cs"; 13500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1352b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code read-status} of the message. 13530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 13540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String READ_STATUS = "read_status"; 13560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1358b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content-class} of the message. 13590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 13600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_CLASS = "ct_cls"; 13620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1364b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code delivery-report} of the message. 13650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 13660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DELIVERY_REPORT = "d_rpt"; 13680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1370b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code delivery-time-token} of the message. 13710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1372b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1373b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 13740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1375b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 13760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DELIVERY_TIME_TOKEN = "d_tm_tok"; 13770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1379b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code delivery-time} of the message. 13800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 13810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DELIVERY_TIME = "d_tm"; 13830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1385b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code response-text} of the message. 13860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 13870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RESPONSE_TEXT = "resp_txt"; 13890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1391b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code sender-visibility} of the message. 13920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1393b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1394b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 13950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1396b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 13970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SENDER_VISIBILITY = "s_vis"; 13980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1400b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code reply-charging} of the message. 14010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1402b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1403b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1405b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_CHARGING = "r_chg"; 14070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1409b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code reply-charging-deadline-token} of the message. 14100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1411b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1412b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1414b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_CHARGING_DEADLINE_TOKEN = "r_chg_dl_tok"; 14160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1418b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code reply-charging-deadline} of the message. 14190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1420b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1421b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1423b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_CHARGING_DEADLINE = "r_chg_dl"; 14250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1427b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code reply-charging-id} of the message. 14280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1429b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1430b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1432b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_CHARGING_ID = "r_chg_id"; 14340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1436b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code reply-charging-size} of the message. 14370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1438b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1439b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1441b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_CHARGING_SIZE = "r_chg_sz"; 14430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1445b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code previously-sent-by} of the message. 14460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1447b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1448b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1450b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PREVIOUSLY_SENT_BY = "p_s_by"; 14520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1454b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code previously-sent-date} of the message. 14550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1456b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1457b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1459b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PREVIOUSLY_SENT_DATE = "p_s_d"; 14610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1463b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code store} of the message. 14640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1465b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1466b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1468b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STORE = "store"; 14700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1472b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mm-state} of the message. 14730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1474b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1475b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1477b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MM_STATE = "mm_st"; 14790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1481b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mm-flags-token} of the message. 14820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1483b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1484b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1486b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MM_FLAGS_TOKEN = "mm_flg_tok"; 14880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1490b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mm-flags} of the message. 14910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1492b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1493b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1495b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MM_FLAGS = "mm_flg"; 14970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1499b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code store-status} of the message. 15000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1501b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1502b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1504b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STORE_STATUS = "store_st"; 15060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1508b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code store-status-text} of the message. 15090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1510b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1511b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1513b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STORE_STATUS_TEXT = "store_st_txt"; 15150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1517b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code stored} of the message. 15180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1519b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1520b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1522b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STORED = "stored"; 15240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1526b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code totals} of the message. 15270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1528b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1529b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1531b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TOTALS = "totals"; 15330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1535b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mbox-totals} of the message. 15360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1537b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1538b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1540b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MBOX_TOTALS = "mb_t"; 15420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1544b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mbox-totals-token} of the message. 15450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1546b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1547b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1549b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MBOX_TOTALS_TOKEN = "mb_t_tok"; 15510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1553b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code quotas} of the message. 15540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1555b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1556b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1558b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String QUOTAS = "qt"; 15600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1562b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mbox-quotas} of the message. 15630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1564b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1565b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1567b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MBOX_QUOTAS = "mb_qt"; 15690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1571b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mbox-quotas-token} of the message. 15720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1573b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1574b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1576b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MBOX_QUOTAS_TOKEN = "mb_qt_tok"; 15780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1580b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code message-count} of the message. 15810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1582b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1583b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1585b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_COUNT = "m_cnt"; 15870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1589b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code start} of the message. 15900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1591b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1592b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1594b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String START = "start"; 15960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1598b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code distribution-indicator} of the message. 15990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1600b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1601b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1603b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DISTRIBUTION_INDICATOR = "d_ind"; 16050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1607b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code element-descriptor} of the message. 16080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1609b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1610b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1612b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ELEMENT_DESCRIPTOR = "e_des"; 16140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1616b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code limit} of the message. 16170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1618b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1619b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1621b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String LIMIT = "limit"; 16230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1625b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code recommended-retrieval-mode} of the message. 16260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1627b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1628b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1630b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RECOMMENDED_RETRIEVAL_MODE = "r_r_mod"; 16320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1634b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code recommended-retrieval-mode-text} of the message. 16350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1636b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1637b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1639b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RECOMMENDED_RETRIEVAL_MODE_TEXT = "r_r_mod_txt"; 16410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1643b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code status-text} of the message. 16440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1645b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1646b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1648b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STATUS_TEXT = "st_txt"; 16500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1652b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code applic-id} of the message. 16530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1654b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1655b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1657b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String APPLIC_ID = "apl_id"; 16590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1661b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code reply-applic-id} of the message. 16620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1663b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1664b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1666b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_APPLIC_ID = "r_apl_id"; 16680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1670b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code aux-applic-id} of the message. 16710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1672b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1673b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1675b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String AUX_APPLIC_ID = "aux_apl_id"; 16770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1679b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code drm-content} of the message. 16800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1681b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1682b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1684b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DRM_CONTENT = "drm_c"; 16860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1688b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code adaptation-allowed} of the message. 16890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1690b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1691b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1693b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ADAPTATION_ALLOWED = "adp_a"; 16950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1697b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code replace-id} of the message. 16980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1699b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1700b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 17010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1702b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 17030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLACE_ID = "repl_id"; 17040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 17050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1706b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code cancel-id} of the message. 17070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1708b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1709b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 17100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1711b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 17120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CANCEL_ID = "cl_id"; 17130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 17140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1715b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code cancel-status} of the message. 17160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1717b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1718b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 17190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1720b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 17210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CANCEL_STATUS = "cl_st"; 17220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 17230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1724b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is the message locked? 17250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (boolean)</P> 17260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String LOCKED = "locked"; 1728a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 1729a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 17304b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * The subscription to which the message belongs to. Its value will be 1731dfdf9c40ebaaed15b5020ad6bce898fadd32dd58Wink Saville * < 0 if the sub id cannot be determined. 17324e71df52b26f87087327819c53570f60262a9c6aShri Borde * <p>Type: INTEGER (long)</p> 1733a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 17344b09dff383ae7dfca595aeeea886a594a1947340Wink Saville public static final String SUBSCRIPTION_ID = "sub_id"; 1735a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 1736b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen /** 1737dac6bb4a3b2046e1ac943c661563b6daebf49a8fYe Wen * The identity of the sender of a sent message. It is 1738dac6bb4a3b2046e1ac943c661563b6daebf49a8fYe Wen * usually the package name of the app which sends the message. 17393824f44a039a5be05b86acfba427638b3b1e587aYe Wen * <p class="note"><strong>Note:</strong> 17403824f44a039a5be05b86acfba427638b3b1e587aYe Wen * This column is read-only. It is set by the provider and can not be changed by apps. 1741dac6bb4a3b2046e1ac943c661563b6daebf49a8fYe Wen * <p>Type: TEXT</p> 1742b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen */ 1743b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen public static final String CREATOR = "creator"; 17440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 17450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 17460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1747b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Columns for the "canonical_addresses" table used by MMS and SMS. 17480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public interface CanonicalAddressesColumns extends BaseColumns { 17500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * An address used in MMS or SMS. Email addresses are 17520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * converted to lower case and are compared by string 17530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * equality. Other addresses are compared using 17540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * PHONE_NUMBERS_EQUAL. 17550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 17560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ADDRESS = "address"; 17580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 17590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 17600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Columns for the "threads" table used by MMS and SMS. 17620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public interface ThreadsColumns extends BaseColumns { 1764b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 17650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The date at which the thread was created. 17670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (long)</P> 17680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DATE = "date"; 17700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 17710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * A string encoding of the recipient IDs of the recipients of 17730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * the message, in numerical order and separated by spaces. 17740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 17750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RECIPIENT_IDS = "recipient_ids"; 17770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 17780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The message count of the thread. 17800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 17810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_COUNT = "message_count"; 1783b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 17840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Indicates whether all messages of the thread have been read. 17860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 17870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String READ = "read"; 17890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 17900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The snippet of the latest message in the thread. 17920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 17930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SNIPPET = "snippet"; 1795b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 17960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The charset of the snippet. 17980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 17990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 18000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SNIPPET_CHARSET = "snippet_cs"; 1801b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 18020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1803b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Type of the thread, either {@link Threads#COMMON_THREAD} or 1804b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * {@link Threads#BROADCAST_THREAD}. 18050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 18060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 18070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TYPE = "type"; 1808b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 18090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 18100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Indicates whether there is a transmission error in the thread. 18110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 18120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 18130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ERROR = "error"; 1814b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 18150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 18160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Indicates whether this thread contains any attachments. 18170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 18180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 18190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String HAS_ATTACHMENT = "has_attachment"; 1820e58ff3bd4399dfe68517b100169e01e6b93dc7b6Ye Wen 1821e58ff3bd4399dfe68517b100169e01e6b93dc7b6Ye Wen /** 1822e58ff3bd4399dfe68517b100169e01e6b93dc7b6Ye Wen * If the thread is archived 1823dac6bb4a3b2046e1ac943c661563b6daebf49a8fYe Wen * <P>Type: INTEGER (boolean)</P> 1824e58ff3bd4399dfe68517b100169e01e6b93dc7b6Ye Wen */ 1825e58ff3bd4399dfe68517b100169e01e6b93dc7b6Ye Wen public static final String ARCHIVED = "archived"; 18260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 18290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Helper functions for the "threads" table used by MMS and SMS. 18300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 18310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Threads implements ThreadsColumns { 1832b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 18330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private static final String[] ID_PROJECTION = { BaseColumns._ID }; 1834b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1835b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1836b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Private {@code content://} style URL for this table. Used by 1837b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * {@link #getOrCreateThreadId(android.content.Context, java.util.Set)}. 1838b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 18390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private static final Uri THREAD_ID_CONTENT_URI = Uri.parse( 18400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/threadID"); 1841b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1842b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1843b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table, by conversation. 1844b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 18450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_URI = Uri.withAppendedPath( 18460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MmsSms.CONTENT_URI, "conversations"); 1847b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1848b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1849b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table, for obsolete threads. 1850b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 18510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri OBSOLETE_THREADS_URI = Uri.withAppendedPath( 18520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI, "obsolete"); 18530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1854b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Thread type: common thread. */ 18550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int COMMON_THREAD = 0; 1856b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1857b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Thread type: broadcast thread. */ 18580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int BROADCAST_THREAD = 1; 18590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1860b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1861b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 1862b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 1863b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 18640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private Threads() { 18650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1868b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * This is a single-recipient version of {@code getOrCreateThreadId}. 1869b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * It's convenient for use with SMS messages. 1870b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param context the context object to use. 1871b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param recipient the recipient to send to. 18720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 18730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static long getOrCreateThreadId(Context context, String recipient) { 18740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Set<String> recipients = new HashSet<String>(); 18750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville recipients.add(recipient); 18770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return getOrCreateThreadId(context, recipients); 18780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 18810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Given the recipients list and subject of an unsaved message, 18820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * return its thread ID. If the message starts a new thread, 18830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * allocate a new thread ID. Otherwise, use the appropriate 18840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * existing thread ID. 18850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 1886b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <p>Find the thread ID of the same set of recipients (in any order, 1887b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * without any additions). If one is found, return it. Otherwise, 1888b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * return a unique thread ID.</p> 18890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 18900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static long getOrCreateThreadId( 18910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Context context, Set<String> recipients) { 18920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Uri.Builder uriBuilder = THREAD_ID_CONTENT_URI.buildUpon(); 18930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville for (String recipient : recipients) { 18950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (Mms.isEmailAddress(recipient)) { 18960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville recipient = Mms.extractAddrSpec(recipient); 18970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville uriBuilder.appendQueryParameter("recipient", recipient); 19000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Uri uri = uriBuilder.build(); 190399c2e1d6749cfad2a8ca94a47857d8c3bfc09454Wink Saville //if (DEBUG) Rlog.v(TAG, "getOrCreateThreadId uri: " + uri); 19040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Cursor cursor = SqliteWrapper.query(context, context.getContentResolver(), 19060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville uri, ID_PROJECTION, null, null, null); 19070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (cursor != null) { 19080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville try { 19090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (cursor.moveToFirst()) { 19100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return cursor.getLong(0); 19110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } else { 191299c2e1d6749cfad2a8ca94a47857d8c3bfc09454Wink Saville Rlog.e(TAG, "getOrCreateThreadId returned no rows!"); 19130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } finally { 19150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville cursor.close(); 19160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19193824f44a039a5be05b86acfba427638b3b1e587aYe Wen Rlog.e(TAG, "getOrCreateThreadId failed with " + recipients.size() + " recipients"); 19200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville throw new IllegalArgumentException("Unable to find or allocate a thread ID."); 19210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 19250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Contains all MMS messages. 19260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 19270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Mms implements BaseMmsColumns { 1928b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 19290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1930b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 1931b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 1932b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 1933b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Mms() { 1934b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 1935b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1936b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1937b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} URI for this table. 19380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 19390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_URI = Uri.parse("content://mms"); 19400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1941b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1942b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Content URI for getting MMS report requests. 1943b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 19440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri REPORT_REQUEST_URI = Uri.withAppendedPath( 19450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI, "report-request"); 19460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1947b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1948b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Content URI for getting MMS report status. 1949b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 19500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri REPORT_STATUS_URI = Uri.withAppendedPath( 19510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI, "report-status"); 19520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1954b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 19550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 19560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 19570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1959b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Regex pattern for names and email addresses. 1960b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <ul> 1961b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <li><em>mailbox</em> = {@code name-addr}</li> 1962b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <li><em>name-addr</em> = {@code [display-name] angle-addr}</li> 1963b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <li><em>angle-addr</em> = {@code [CFWS] "<" addr-spec ">" [CFWS]}</li> 1964b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * </ul> 1965b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 19660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 19670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Pattern NAME_ADDR_EMAIL_PATTERN = 19680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Pattern.compile("\\s*(\"[^\"]*\"|[^<>\"]+)\\s*<([^<>]+)>\\s*"); 19690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1971b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Helper method to query this table. 1972b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 19730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1974b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static Cursor query( 19750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ContentResolver cr, String[] projection) { 19760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return cr.query(CONTENT_URI, projection, null, null, DEFAULT_SORT_ORDER); 19770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1979b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1980b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Helper method to query this table. 1981b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 1982b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 1983b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static Cursor query( 19840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ContentResolver cr, String[] projection, 19850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String where, String orderBy) { 19860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return cr.query(CONTENT_URI, projection, 19870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville where, null, orderBy == null ? DEFAULT_SORT_ORDER : orderBy); 19880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1990b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1991b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Helper method to extract email address from address string. 1992b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 1993b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 19940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static String extractAddrSpec(String address) { 19950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Matcher match = NAME_ADDR_EMAIL_PATTERN.matcher(address); 19960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (match.matches()) { 19980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return match.group(2); 19990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 20000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return address; 20010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 20020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2004b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is the specified address an email address? 20050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 2006b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param address the input address to test 2007b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @return true if address is an email address; false otherwise. 2008b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 20090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static boolean isEmailAddress(String address) { 20110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (TextUtils.isEmpty(address)) { 20120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return false; 20130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 20140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String s = extractAddrSpec(address); 20160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Matcher match = Patterns.EMAIL_ADDRESS.matcher(s); 20170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return match.matches(); 20180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 20190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2021b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is the specified number a phone number? 20220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 2023b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param number the input number to test 2024b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @return true if number is a phone number; false otherwise. 2025b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 20260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static boolean isPhoneNumber(String number) { 20280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (TextUtils.isEmpty(number)) { 20290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return false; 20300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 20310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Matcher match = Patterns.PHONE.matcher(number); 20330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return match.matches(); 20340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 20350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2037b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all MMS messages in the MMS app inbox. 20380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Inbox implements BaseMmsColumns { 2040b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2041b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2042b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2043b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2044b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2045b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Inbox() { 2046b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2047b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 20480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2049b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 20500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri 20520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI = Uri.parse("content://mms/inbox"); 20530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2055b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 20560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 20580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 20590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2061b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all MMS messages in the MMS app sent folder. 20620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Sent implements BaseMmsColumns { 2064b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 20650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2066b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2067b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2068b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2069b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Sent() { 2070b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2071b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2072b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2073b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 20740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri 20760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI = Uri.parse("content://mms/sent"); 20770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2079b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 20800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 20820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 20830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2085b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all MMS messages in the MMS app drafts folder. 20860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Draft implements BaseMmsColumns { 2088b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 20890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2090b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2091b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2092b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2093b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Draft() { 2094b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2095b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2096b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2097b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 20980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri 21000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI = Uri.parse("content://mms/drafts"); 21010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2103b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 21040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 21060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 21070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2109b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all MMS messages in the MMS app outbox. 21100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Outbox implements BaseMmsColumns { 2112b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 21130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2114b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2115b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2116b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2117b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Outbox() { 2118b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2119b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2120b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2121b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 21220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri 21240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI = Uri.parse("content://mms/outbox"); 21250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2127b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 21280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 21300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 21310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2132b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2133b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains address information for an MMS message. 2134b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 21350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Addr implements BaseColumns { 2136b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2137b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2138b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2139b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2140b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2141b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Addr() { 2142b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2143b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 21440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The ID of MM which this address entry belongs to. 2146b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 21470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MSG_ID = "msg_id"; 21490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The ID of contact entry in Phone Book. 2152b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 21530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTACT_ID = "contact_id"; 21550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The address text. 2158b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 21590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ADDRESS = "address"; 21610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2163b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Type of address: must be one of {@code PduHeaders.BCC}, 2164b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * {@code PduHeaders.CC}, {@code PduHeaders.FROM}, {@code PduHeaders.TO}. 2165b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 21660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TYPE = "type"; 21680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2170b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Character set of this entry (MMS charset value). 2171b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 21720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CHARSET = "charset"; 21740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 21750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2176b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2177b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains message parts. 2178b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 21790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Part implements BaseColumns { 2180b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2181b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2182b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2183b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2184b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2185b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Part() { 2186b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2187b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 21880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The identifier of the message which this part belongs to. 21900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 21910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MSG_ID = "mid"; 21930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The order of the part. 21960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 21970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SEQ = "seq"; 21990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 22000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 22010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The content type of the part. 22020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 22030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 22040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_TYPE = "ct"; 22050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 22060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 22070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The name of the part. 22080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 22090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 22100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String NAME = "name"; 22110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 22120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 22130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The charset of the part. 22140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 22150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 22160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CHARSET = "chset"; 22170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 22180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 22190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The file name of the part. 22200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 22210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 22220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String FILENAME = "fn"; 22230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 22240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 22250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The content disposition of the part. 22260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 22270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 22280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_DISPOSITION = "cd"; 22290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 22300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 22310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The content ID of the part. 22320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 22330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 22340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_ID = "cid"; 22350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 22360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 22370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The content location of the part. 22380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 22390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 22400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_LOCATION = "cl"; 22410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 22420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 22430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The start of content-type of the message. 22440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 22450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 22460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CT_START = "ctt_s"; 22470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 22480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 22490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The type of content-type of the message. 22500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 22510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 22520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CT_TYPE = "ctt_t"; 22530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 22540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2255b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The location (on filesystem) of the binary data of the part. 22560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 22570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 22580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String _DATA = "_data"; 22590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2260b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2261b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The message text. 2262b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2263b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 22640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TEXT = "text"; 22650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 22660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2267b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2268b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Message send rate table. 2269b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 22700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Rate { 2271b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2272b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2273b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2274b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2275b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2276b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Rate() { 2277b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2278b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2279b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2280b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 2281b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 22820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_URI = Uri.withAppendedPath( 22830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Mms.CONTENT_URI, "rate"); 2284b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 22850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 22860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * When a message was successfully sent. 2287b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 22880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 22890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SENT_TIME = "sent_time"; 22900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 22910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2292b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2293b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Intents class. 2294b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 22950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Intents { 22960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 22970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2298b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2299b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 23000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2301b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Intents() { 2302b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2303b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 23040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 23050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Indicates that the contents of specified URIs were changed. 23060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The application which is showing or caching these contents 23070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * should be updated. 23080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2309b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 2310b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final String CONTENT_CHANGED_ACTION 2311b47af9b263628c00b1c890f102091098a31463c0Jake Hamby = "android.intent.action.CONTENT_CHANGED"; 2312b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 23130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 23140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * An extra field which stores the URI of deleted contents. 23150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 23160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DELETED_CONTENTS = "deleted_contents"; 23170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 23180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 23190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 23200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 23210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Contains all MMS and SMS messages. 23220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 23230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class MmsSms implements BaseColumns { 2324b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2325b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2326b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2327b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2328b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2329b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private MmsSms() { 2330b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2331b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 23320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2333b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The column to distinguish SMS and MMS messages in query results. 23340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 23350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TYPE_DISCRIMINATOR_COLUMN = 23360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "transport_type"; 23370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2338b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2339b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 2340b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 23410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_URI = Uri.parse("content://mms-sms/"); 23420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2343b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2344b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table, by conversation. 2345b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 23460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_CONVERSATIONS_URI = Uri.parse( 23470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/conversations"); 23480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2349b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2350b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table, by phone number. 2351b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 23520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_FILTER_BYPHONE_URI = Uri.parse( 23530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/messages/byphone"); 23540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2355b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2356b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for undelivered messages in this table. 2357b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 23580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_UNDELIVERED_URI = Uri.parse( 23590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/undelivered"); 23600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2361b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2362b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for draft messages in this table. 2363b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 23640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_DRAFT_URI = Uri.parse( 23650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/draft"); 23660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2367b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2368b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for locked messages in this table. 2369b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 23700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_LOCKED_URI = Uri.parse( 23710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/locked"); 23720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2373b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2374b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Pass in a query parameter called "pattern" which is the text to search for. 2375b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The sort order is fixed to be: {@code thread_id ASC, date DESC}. 23760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 23770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri SEARCH_URI = Uri.parse( 23780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/search"); 23790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 23800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // Constants for message protocol types. 2381b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2382b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** SMS protocol type. */ 23830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int SMS_PROTO = 0; 2384b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2385b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** MMS protocol type. */ 23860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MMS_PROTO = 1; 23870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 23880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // Constants for error types of pending messages. 2389b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2390b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: no error. */ 23910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int NO_ERROR = 0; 2392b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2393b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: generic transient error. */ 23940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_GENERIC = 1; 2395b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2396b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: SMS protocol transient error. */ 23970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_SMS_PROTO_TRANSIENT = 2; 2398b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2399b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: MMS protocol transient error. */ 24000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_MMS_PROTO_TRANSIENT = 3; 2401b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2402b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: transport failure. */ 24030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_TRANSPORT_FAILURE = 4; 2404b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2405b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: permanent error (along with all higher error values). */ 24060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_GENERIC_PERMANENT = 10; 2407b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2408b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: SMS protocol permanent error. */ 24090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_SMS_PROTO_PERMANENT = 11; 2410b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2411b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: MMS protocol permanent error. */ 24120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_MMS_PROTO_PERMANENT = 12; 24130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2414b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2415b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains pending messages info. 2416b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 24170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class PendingMessages implements BaseColumns { 2418b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2419b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2420b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2421b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2422b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2423b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private PendingMessages() { 2424b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2425b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 24260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_URI = Uri.withAppendedPath( 24270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MmsSms.CONTENT_URI, "pending"); 2428b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 24290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2430b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The type of transport protocol (MMS or SMS). 24310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 24320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 24330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PROTO_TYPE = "proto_type"; 2434b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 24350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 24360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The ID of the message to be sent or downloaded. 2437b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 24380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 24390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MSG_ID = "msg_id"; 2440b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 24410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 24420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The type of the message to be sent or downloaded. 2443b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * This field is only valid for MM. For SM, its value is always set to 0. 2444b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 24450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 24460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MSG_TYPE = "msg_type"; 2447b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 24480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 24490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The type of the error code. 24500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 24510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 24520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ERROR_TYPE = "err_type"; 2453b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 24540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 24550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The error code of sending/retrieving process. 2456b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 24570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 24580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ERROR_CODE = "err_code"; 2459b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 24600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 24610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * How many times we tried to send or download the message. 2462b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 24630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 24640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RETRY_INDEX = "retry_index"; 2465b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 24660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 24670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The time to do next retry. 2468b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 24690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 24700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DUE_TIME = "due_time"; 2471b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 24720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 24730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The time we last tried to send or download the message. 2474b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 24750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 24760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String LAST_TRY = "last_try"; 2477a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 2478a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 24794b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * The subscription to which the message belongs to. Its value will be 2480dfdf9c40ebaaed15b5020ad6bce898fadd32dd58Wink Saville * < 0 if the sub id cannot be determined. 2481a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * <p>Type: INTEGER (long) </p> 2482a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 24834b09dff383ae7dfca595aeeea886a594a1947340Wink Saville public static final String SUBSCRIPTION_ID = "pending_sub_id"; 24840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 24850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2486b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2487b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Words table used by provider for full-text searches. 2488b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2489b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 24900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class WordsTable { 2491b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2492b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2493b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2494b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2495b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2496b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private WordsTable() {} 2497b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2498b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2499b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Primary key. 2500b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 2501b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ID = "_id"; 2503b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2504b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2505b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Source row ID. 2506b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 2507b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SOURCE_ROW_ID = "source_id"; 2509b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2510b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2511b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Table ID (either 1 or 2). 2512b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 2513b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TABLE_ID = "table_to_use"; 2515b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2516b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2517b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The words to index. 2518b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2519b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String INDEXED_TEXT = "index_text"; 25210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 25220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 25230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2524b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2525b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Carriers class contains information about APNs, including MMSC information. 2526b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Carriers implements BaseColumns { 2528b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2529b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2530b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2531b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2532b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2533b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Carriers() {} 2534b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 25350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2536b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 25370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2538b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://telephony/carriers"); 25390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 25400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2541b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 25420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 25430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "name ASC"; 25440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2545b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2546b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Entry name. 2547b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2548b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String NAME = "name"; 25500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2551b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2552b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * APN name. 2553b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2554b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String APN = "apn"; 25560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2557b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2558b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Proxy address. 2559b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2560b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PROXY = "proxy"; 25620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2563b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2564b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Proxy port. 2565b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2566b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PORT = "port"; 25680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2569b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2570b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * MMS proxy address. 2571b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2572b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MMSPROXY = "mmsproxy"; 25740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2575b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2576b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * MMS proxy port. 2577b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2578b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MMSPORT = "mmsport"; 25800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2581b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2582b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Server address. 2583b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2584b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SERVER = "server"; 25860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2587b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2588b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * APN username. 2589b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2590b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String USER = "user"; 25920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2593b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2594b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * APN password. 2595b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2596b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PASSWORD = "password"; 25980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2599b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2600b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * MMSC URL. 2601b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2602b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MMSC = "mmsc"; 26040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2605b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2606b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Mobile Country Code (MCC). 2607b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2608b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MCC = "mcc"; 26100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2611b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2612b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Mobile Network Code (MNC). 2613b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2614b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MNC = "mnc"; 26160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2617b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2618b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Numeric operator ID (as String). Usually {@code MCC + MNC}. 2619b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2620b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String NUMERIC = "numeric"; 26220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2623b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2624b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Authentication type. 2625b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 2626b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String AUTH_TYPE = "authtype"; 26280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2629b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2630b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Comma-delimited list of APN types. 2631b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2632b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TYPE = "type"; 26340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 26350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2636b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The protocol to use to connect to this APN. 26370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 2638b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * One of the {@code PDP_type} values in TS 27.007 section 10.1.1. 2639b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * For example: {@code IP}, {@code IPV6}, {@code IPV4V6}, or {@code PPP}. 2640b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 26410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 26420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PROTOCOL = "protocol"; 26430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 26440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2645b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The protocol to use to connect to this APN when roaming. 2646b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The syntax is the same as protocol. 2647b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2648b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ROAMING_PROTOCOL = "roaming_protocol"; 26500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2651b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2652b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is this the current APN? 2653b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 2654b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CURRENT = "current"; 26560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 26570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2658b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is this APN enabled? 2659b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 2660b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CARRIER_ENABLED = "carrier_enabled"; 26620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 26630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2664b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Radio Access Technology info. 2665b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * To check what values are allowed, refer to {@link android.telephony.ServiceState}. 2666b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * This should be spread to other technologies, 2667b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * but is currently only used for LTE (14) and eHRPD (13). 2668b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 2669b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String BEARER = "bearer"; 2671a796ca5b3f8501630405f1ce2635dde9011b7373Sungmin Choi 2672a796ca5b3f8501630405f1ce2635dde9011b7373Sungmin Choi /** 2673aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan * Radio Access Technology bitmask. 2674aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan * To check what values can be contained, refer to {@link android.telephony.ServiceState}. 2675aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan * 0 indicates all techs otherwise first bit refers to RAT/bearer 1, second bit refers to 2676aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan * RAT/bearer 2 and so on. 2677aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan * Bitmask for a radio tech R is (1 << (R - 1)) 2678aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan * <P>Type: INTEGER</P> 2679760b9b8e6659562de17d774f6f799ef08c1898f8Amit Mahajan * @hide 2680aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan */ 2681aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan public static final String BEARER_BITMASK = "bearer_bitmask"; 2682aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan 2683aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan /** 2684b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * MVNO type: 2685b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * {@code SPN (Service Provider Name), IMSI, GID (Group Identifier Level 1)}. 2686b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2687b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2688a796ca5b3f8501630405f1ce2635dde9011b7373Sungmin Choi public static final String MVNO_TYPE = "mvno_type"; 2689a796ca5b3f8501630405f1ce2635dde9011b7373Sungmin Choi 2690a796ca5b3f8501630405f1ce2635dde9011b7373Sungmin Choi /** 2691b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * MVNO data. 2692b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Use the following examples. 2693b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <ul> 2694b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <li>SPN: A MOBILE, BEN NL, ...</li> 2695b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <li>IMSI: 302720x94, 2060188, ...</li> 2696b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <li>GID: 4E, 33, ...</li> 2697b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * </ul> 2698b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2699b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2700a796ca5b3f8501630405f1ce2635dde9011b7373Sungmin Choi public static final String MVNO_MATCH_DATA = "mvno_match_data"; 2701a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 2702a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 27034b09dff383ae7dfca595aeeea886a594a1947340Wink Saville * The subscription to which the APN belongs to 2704a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * <p>Type: INTEGER (long) </p> 2705a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 27064b09dff383ae7dfca595aeeea886a594a1947340Wink Saville public static final String SUBSCRIPTION_ID = "sub_id"; 2707a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 27089d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan /** 27099d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * The profile_id to which the APN saved in modem 27109d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * <p>Type: INTEGER</p> 27119d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan *@hide 27129d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan */ 27139d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan public static final String PROFILE_ID = "profile_id"; 27149d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan 27159d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan /** 27169d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * Is the apn setting to be set in modem 27179d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * <P>Type: INTEGER (boolean)</P> 27189d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan *@hide 27199d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan */ 27209d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan public static final String MODEM_COGNITIVE = "modem_cognitive"; 27219d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan 27229d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan /** 27239d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * The max connections of this apn 27249d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * <p>Type: INTEGER</p> 27259d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan *@hide 27269d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan */ 27279d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan public static final String MAX_CONNS = "max_conns"; 27289d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan 27299d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan /** 27309d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * The wait time for retry of the apn 27319d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * <p>Type: INTEGER</p> 27329d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan *@hide 27339d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan */ 27349d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan public static final String WAIT_TIME = "wait_time"; 27359d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan 27369d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan /** 27379d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * The time to limit max connection for the apn 27389d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * <p>Type: INTEGER</p> 27399d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan *@hide 27409d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan */ 27419d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan public static final String MAX_CONNS_TIME = "max_conns_time"; 27429d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan 2743e9701717e43cc5aacbcf624f77a53be92350662cw /** 2744e9701717e43cc5aacbcf624f77a53be92350662cw * The MTU size of the mobile interface to which the APN connected 2745e9701717e43cc5aacbcf624f77a53be92350662cw * <p>Type: INTEGER </p> 2746e9701717e43cc5aacbcf624f77a53be92350662cw * @hide 2747e9701717e43cc5aacbcf624f77a53be92350662cw */ 2748e9701717e43cc5aacbcf624f77a53be92350662cw public static final String MTU = "mtu"; 2749325cdf5bb7b1ff6ccc0291613c2e30b133bb3258Amit Mahajan 2750325cdf5bb7b1ff6ccc0291613c2e30b133bb3258Amit Mahajan /** 2751a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * Is this APN added/edited/deleted by a user or carrier? 2752325cdf5bb7b1ff6ccc0291613c2e30b133bb3258Amit Mahajan * <p>Type: INTEGER </p> 2753325cdf5bb7b1ff6ccc0291613c2e30b133bb3258Amit Mahajan * @hide 2754325cdf5bb7b1ff6ccc0291613c2e30b133bb3258Amit Mahajan */ 2755aaf0e8d623b1e94004557573aef9235177ca19e3Amit Mahajan public static final String EDITED = "edited"; 2756a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan 2757a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan /** 27587302701dea2259cb436da6c248d4b6aa398182ddAmit Mahajan * Is this APN visible to the user? 27597302701dea2259cb436da6c248d4b6aa398182ddAmit Mahajan * <p>Type: INTEGER (boolean) </p> 27607302701dea2259cb436da6c248d4b6aa398182ddAmit Mahajan * @hide 27617302701dea2259cb436da6c248d4b6aa398182ddAmit Mahajan */ 27627302701dea2259cb436da6c248d4b6aa398182ddAmit Mahajan public static final String USER_VISIBLE = "user_visible"; 27637302701dea2259cb436da6c248d4b6aa398182ddAmit Mahajan 27647302701dea2259cb436da6c248d4b6aa398182ddAmit Mahajan /** 2765a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * Following are possible values for the EDITED field 2766a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * @hide 2767a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan */ 2768a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan public static final int UNEDITED = 0; 2769a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan /** 2770a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * @hide 2771a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan */ 2772a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan public static final int USER_EDITED = 1; 2773a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan /** 2774a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * @hide 2775a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan */ 2776a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan public static final int USER_DELETED = 2; 2777a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan /** 2778a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * DELETED_BUT_PRESENT is an intermediate value used to indicate that an entry deleted 2779a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * by the user is still present in the new APN database and therefore must remain tagged 2780a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * as user deleted rather than completely removed from the database 2781a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * @hide 2782a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan */ 2783a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan public static final int USER_DELETED_BUT_PRESENT_IN_XML = 3; 2784a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan /** 2785a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * @hide 2786a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan */ 2787a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan public static final int CARRIER_EDITED = 4; 2788a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan /** 2789a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * CARRIER_DELETED values are currently not used as there is no usecase. If they are used, 2790a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * delete() will have to change accordingly. Currently it is hardcoded to USER_DELETED. 2791a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * @hide 2792a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan */ 2793a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan public static final int CARRIER_DELETED = 5; 2794a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan /** 2795a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan * @hide 2796a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan */ 2797a0ed9793719185862e18f33cb9c5447b85549174Amit Mahajan public static final int CARRIER_DELETED_BUT_PRESENT_IN_XML = 6; 27980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 27990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Contains received SMS cell broadcast messages. 2802b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 28030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class CellBroadcasts implements BaseColumns { 28050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2806b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2807b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2808b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2809b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 28100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private CellBroadcasts() {} 28110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2813b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} URI for this table. 28140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2815b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://cellbroadcasts"); 28160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message geographical scope. 28190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String GEOGRAPHICAL_SCOPE = "geo_scope"; 28220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message serial number. 28250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SERIAL_NUMBER = "serial_number"; 28280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2830b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * PLMN of broadcast sender. {@code SERIAL_NUMBER + PLMN + LAC + CID} uniquely identifies 2831b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * a broadcast for duplicate detection purposes. 28320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 28330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PLMN = "plmn"; 28350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Location Area (GSM) or Service Area (UMTS) of broadcast sender. Unused for CDMA. 28380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Only included if Geographical Scope of message is not PLMN wide (01). 28390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String LAC = "lac"; 28420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Cell ID of message sender (GSM/UMTS). Unused for CDMA. Only included when the 28450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Geographical Scope of message is cell wide (00 or 11). 28460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CID = "cid"; 28490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2851b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Message code. <em>OBSOLETE: merged into SERIAL_NUMBER.</em> 28520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String V1_MESSAGE_CODE = "message_code"; 28550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2857b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Message identifier. <em>OBSOLETE: renamed to SERVICE_CATEGORY.</em> 28580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String V1_MESSAGE_IDENTIFIER = "message_id"; 28610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2863b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Service category (GSM/UMTS: message identifier; CDMA: service category). 28640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SERVICE_CATEGORY = "service_category"; 28670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message language code. 28700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 28710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String LANGUAGE_CODE = "language"; 28730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message body. 28760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 28770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_BODY = "body"; 28790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message delivery time. 28820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (long)</P> 28830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DELIVERY_TIME = "date"; 28850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Has the message been viewed? 28880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (boolean)</P> 28890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_READ = "read"; 28910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message format (3GPP or 3GPP2). 28940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_FORMAT = "format"; 28970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message priority (including emergency). 29000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 29010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 29020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_PRIORITY = "priority"; 29030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 29040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 29050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * ETWS warning type (ETWS alerts only). 29060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 29070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 29080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ETWS_WARNING_TYPE = "etws_warning_type"; 29090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 29100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 29110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CMAS message class (CMAS alerts only). 29120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 29130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 29140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CMAS_MESSAGE_CLASS = "cmas_message_class"; 29150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 29160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 29170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CMAS category (CMAS alerts only). 29180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 29190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 29200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CMAS_CATEGORY = "cmas_category"; 29210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 29220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 29230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CMAS response type (CMAS alerts only). 29240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 29250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 29260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CMAS_RESPONSE_TYPE = "cmas_response_type"; 29270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 29280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 29290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CMAS severity (CMAS alerts only). 29300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 29310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 29320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CMAS_SEVERITY = "cmas_severity"; 29330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 29340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 29350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CMAS urgency (CMAS alerts only). 29360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 29370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 29380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CMAS_URGENCY = "cmas_urgency"; 29390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 29400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 29410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CMAS certainty (CMAS alerts only). 29420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 29430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 29440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CMAS_CERTAINTY = "cmas_certainty"; 29450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2946b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** The default sort order for this table. */ 29470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = DELIVERY_TIME + " DESC"; 29480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 29490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 29500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Query columns for instantiating {@link android.telephony.CellBroadcastMessage} objects. 29510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 29520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String[] QUERY_COLUMNS = { 29530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville _ID, 29540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville GEOGRAPHICAL_SCOPE, 29550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville PLMN, 29560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville LAC, 29570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CID, 29580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville SERIAL_NUMBER, 29590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville SERVICE_CATEGORY, 29600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville LANGUAGE_CODE, 29610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MESSAGE_BODY, 29620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville DELIVERY_TIME, 29630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MESSAGE_READ, 29640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MESSAGE_FORMAT, 29650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MESSAGE_PRIORITY, 29660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ETWS_WARNING_TYPE, 29670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMAS_MESSAGE_CLASS, 29680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMAS_CATEGORY, 29690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMAS_RESPONSE_TYPE, 29700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMAS_SEVERITY, 29710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMAS_URGENCY, 29720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMAS_CERTAINTY 29730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville }; 29740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 29750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville} 2976