Telephony.java revision 440b44eb71b8d5afeeaa5fda8912f3a61b4c1588
10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/* 20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2006 The Android Open Source Project 30825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 40825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 50825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * you may not use this file except in compliance with the License. 60825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * You may obtain a copy of the License at 70825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 80825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * http://www.apache.org/licenses/LICENSE-2.0 90825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unless required by applicable law or agreed to in writing, software 110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * distributed under the License is distributed on an "AS IS" BASIS, 120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * See the License for the specific language governing permissions and 140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * limitations under the License. 150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 170825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepackage android.provider; 180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 190825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.annotation.SdkConstant; 200825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.annotation.SdkConstant.SdkConstantType; 215c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braunimport android.content.ComponentName; 220825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.content.ContentResolver; 230825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.content.ContentValues; 240825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.content.Context; 250825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.content.Intent; 260825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.database.Cursor; 270825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.database.sqlite.SqliteWrapper; 280825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.net.Uri; 290825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.telephony.SmsMessage; 30a8467dd0c524787104b1ccdddc5e8af10ba729edWink Savilleimport android.telephony.SubscriptionManager; 310825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.text.TextUtils; 3299c2e1d6749cfad2a8ca94a47857d8c3bfc09454Wink Savilleimport android.telephony.Rlog; 330825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.util.Patterns; 340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 35a8467dd0c524787104b1ccdddc5e8af10ba729edWink Savilleimport com.android.internal.telephony.PhoneConstants; 365c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braunimport com.android.internal.telephony.SmsApplication; 375c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun 380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 390825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.util.HashSet; 400825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.util.Set; 410825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.util.regex.Matcher; 420825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.util.regex.Pattern; 430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/** 45b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The Telephony provider contains data related to phone operation, specifically SMS and MMS 46b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * messages and access to the APN list, including the MMSC to use. 4729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 4829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p class="note"><strong>Note:</strong> These APIs are not available on all Android-powered 4929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * devices. If your app depends on telephony features such as for managing SMS messages, include 5029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * a <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code <uses-feature>} 5129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * </a> element in your manifest that declares the {@code "android.hardware.telephony"} hardware 5229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * feature. Alternatively, you can check for telephony availability at runtime using either 5329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * {@link android.content.pm.PackageManager#hasSystemFeature 5429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * hasSystemFeature(PackageManager.FEATURE_TELEPHONY)} or {@link 5529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * android.telephony.TelephonyManager#getPhoneType}.</p> 5629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 5729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <h3>Creating an SMS app</h3> 5829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 5929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>Only the default SMS app (selected by the user in system settings) is able to write to the 6029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * SMS Provider (the tables defined within the {@code Telephony} class) and only the default SMS 6129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * app receives the {@link android.provider.Telephony.Sms.Intents#SMS_DELIVER_ACTION} broadcast 6229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * when the user receives an SMS or the {@link 6329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * android.provider.Telephony.Sms.Intents#WAP_PUSH_DELIVER_ACTION} broadcast when the user 6429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * receives an MMS.</p> 6529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 6629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>Any app that wants to behave as the user's default SMS app must handle the following intents: 6729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <ul> 6829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li>In a broadcast receiver, include an intent filter for {@link Sms.Intents#SMS_DELIVER_ACTION} 6929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * (<code>"android.provider.Telephony.SMS_DELIVER"</code>). The broadcast receiver must also 7029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * require the {@link android.Manifest.permission#BROADCAST_SMS} permission. 7129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>This allows your app to directly receive incoming SMS messages.</p></li> 7229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li>In a broadcast receiver, include an intent filter for {@link 7329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * Sms.Intents#WAP_PUSH_DELIVER_ACTION}} ({@code "android.provider.Telephony.WAP_PUSH_DELIVER"}) 7429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * with the MIME type <code>"application/vnd.wap.mms-message"</code>. 7529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * The broadcast receiver must also require the {@link 7629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * android.Manifest.permission#BROADCAST_WAP_PUSH} permission. 7729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>This allows your app to directly receive incoming MMS messages.</p></li> 7829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li>In your activity that delivers new messages, include an intent filter for 7929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * {@link android.content.Intent#ACTION_SENDTO} (<code>"android.intent.action.SENDTO" 8029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * </code>) with schemas, <code>sms:</code>, <code>smsto:</code>, <code>mms:</code>, and 8129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <code>mmsto:</code>. 8229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>This allows your app to receive intents from other apps that want to deliver a 8329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * message.</p></li> 8429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li>In a service, include an intent filter for {@link 8529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * android.telephony.TelephonyManager#ACTION_RESPOND_VIA_MESSAGE} 8629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * (<code>"android.intent.action.RESPOND_VIA_MESSAGE"</code>) with schemas, 8729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <code>sms:</code>, <code>smsto:</code>, <code>mms:</code>, and <code>mmsto:</code>. 8829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * This service must also require the {@link 8929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * android.Manifest.permission#SEND_RESPOND_VIA_MESSAGE} permission. 9029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>This allows users to respond to incoming phone calls with an immediate text message 9129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * using your app.</p></li> 9229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * </ul> 9329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 9429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>Other apps that are not selected as the default SMS app can only <em>read</em> the SMS 9529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * Provider, but may also be notified when a new SMS arrives by listening for the {@link 9629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * Sms.Intents#SMS_RECEIVED_ACTION} 9729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * broadcast, which is a non-abortable broadcast that may be delivered to multiple apps. This 9829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * broadcast is intended for apps that—while not selected as the default SMS app—need to 9929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * read special incoming messages such as to perform phone number verification.</p> 10029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 10129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p>For more information about building SMS apps, read the blog post, <a 10229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * href="http://android-developers.blogspot.com/2013/10/getting-your-sms-apps-ready-for-kitkat.html" 10329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * >Getting Your SMS Apps Ready for KitKat</a>.</p> 10429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 1050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1060825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic final class Telephony { 1070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private static final String TAG = "Telephony"; 1080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 109b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 110b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 111b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 112b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 113b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Telephony() { 1140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 117b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Base columns for tables that contain text-based SMSs. 1180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public interface TextBasedSmsColumns { 1200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 121b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: all messages. */ 1220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_TYPE_ALL = 0; 123b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 124b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: inbox. */ 1250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_TYPE_INBOX = 1; 126b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 127b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: sent messages. */ 1280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_TYPE_SENT = 2; 129b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 130b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: drafts. */ 1310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_TYPE_DRAFT = 3; 132b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 133b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: outbox. */ 1340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_TYPE_OUTBOX = 4; 135b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 136b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: failed outgoing message. */ 137b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final int MESSAGE_TYPE_FAILED = 5; 138b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 139b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message type: queued to send later. */ 140b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final int MESSAGE_TYPE_QUEUED = 6; 1410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 143b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The type of message. 1440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 146b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final String TYPE = "type"; 1470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 149b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The thread ID of the message. 150b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 1510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 152b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final String THREAD_ID = "thread_id"; 1530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 155b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The address of the other party. 156b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 1570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 158b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final String ADDRESS = "address"; 1590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 161b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The date the message was received. 1620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (long)</P> 1630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DATE = "date"; 1650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 167b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The date the message was sent. 1680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (long)</P> 1690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DATE_SENT = "date_sent"; 1710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 173b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Has the message been read? 1740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (boolean)</P> 1750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String READ = "read"; 1770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 179b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Has the message been seen by the user? The "seen" flag determines 180b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * whether we need to show a notification. 181b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 1820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SEEN = "seen"; 1840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 186b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * {@code TP-Status} value for the message, or -1 if no status has been received. 187b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 1880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STATUS = "status"; 1900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 191b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** TP-Status: no status received. */ 1920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int STATUS_NONE = -1; 193b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** TP-Status: complete. */ 1940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int STATUS_COMPLETE = 0; 195b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** TP-Status: pending. */ 1960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int STATUS_PENDING = 32; 197b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** TP-Status: failed. */ 1980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int STATUS_FAILED = 64; 1990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 201b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The subject of the message, if present. 2020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 2030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SUBJECT = "subject"; 2050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 207b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The body of the message. 2080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 2090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String BODY = "body"; 2110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 213b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The ID of the sender of the conversation, if present. 214b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (reference to item in {@code content://contacts/people})</P> 2150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PERSON = "person"; 2170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 219b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The protocol identifier code. 2200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 2210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PROTOCOL = "protocol"; 2230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 225b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is the {@code TP-Reply-Path} flag set? 2260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: BOOLEAN</P> 2270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_PATH_PRESENT = "reply_path_present"; 2290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 231b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The service center (SC) through which to send the message, if present. 2320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 2330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SERVICE_CENTER = "service_center"; 2350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 237b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is the message locked? 2380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (boolean)</P> 2390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String LOCKED = "locked"; 2410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 243a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * The sub_id to which the message belongs to 244a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * <p>Type: INTEGER (long) </p> 245a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 246a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 247a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville public static final String SUB_ID = "sub_id"; 248a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 249a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 250e9701717e43cc5aacbcf624f77a53be92350662cw * The MTU size of the mobile interface to which the APN connected 251e9701717e43cc5aacbcf624f77a53be92350662cw * @hide 252e9701717e43cc5aacbcf624f77a53be92350662cw */ 253e9701717e43cc5aacbcf624f77a53be92350662cw public static final String MTU = "mtu"; 254e9701717e43cc5aacbcf624f77a53be92350662cw 255e9701717e43cc5aacbcf624f77a53be92350662cw /** 256a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Error code associated with sending or receiving this message 2570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 2580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ERROR_CODE = "error_code"; 260b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen 261b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen /** 262b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen * The creator of a sent or imported message 263b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen */ 264b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen public static final String CREATOR = "creator"; 2650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 268b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all text-based SMS messages. 2690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Sms implements BaseColumns, TextBasedSmsColumns { 271b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 272b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 273b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 274b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 275b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 276b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Sms() { 277b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 278b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 27968b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun /** 28068b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun * Used to determine the currently configured default SMS package. 28168b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun * @param context context of the requesting application 28268b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun * @return package name for the default SMS package or null 28368b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun */ 28468b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun public static String getDefaultSmsPackage(Context context) { 28568b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun ComponentName component = SmsApplication.getDefaultSmsApplication(context, false); 28668b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun if (component != null) { 28768b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun return component.getPackageName(); 28868b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun } 28968b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun return null; 29068b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun } 29168b1cdcce7ac53015c8b5ecbcfb9ce9d1ad5d172David Braun 292b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 293b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Return cursor for table query. 294b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 295b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 296b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static Cursor query(ContentResolver cr, String[] projection) { 2970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return cr.query(CONTENT_URI, projection, null, null, DEFAULT_SORT_ORDER); 2980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 2990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 300b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 301b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Return cursor for table query. 302b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 303b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 304b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static Cursor query(ContentResolver cr, String[] projection, 3050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String where, String orderBy) { 3060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return cr.query(CONTENT_URI, projection, where, 307b47af9b263628c00b1c890f102091098a31463c0Jake Hamby null, orderBy == null ? DEFAULT_SORT_ORDER : orderBy); 3080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 311b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 3120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 313b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://sms"); 3140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 316b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 3170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 3190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 3210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Add an SMS to the given URI. 3220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 3230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param resolver the content resolver to use 3240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param uri the URI to add the message to 3250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param address the address of the sender 3260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param body the body of the message 327b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param subject the pseudo-subject of the message 3280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param date the timestamp for the message 3290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param read true if the message has been read, false if not 3300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param deliveryReport true if a delivery report was requested, false if not 3310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return the URI for the new message 332b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 3330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static Uri addMessageToUri(ContentResolver resolver, 3350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Uri uri, String address, String body, String subject, 3360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Long date, boolean read, boolean deliveryReport) { 337440b44eb71b8d5afeeaa5fda8912f3a61b4c1588Wink Saville return addMessageToUri(SubscriptionManager.getDefaultSmsSubId(), 338a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville resolver, uri, address, body, subject, date, read, deliveryReport, -1L); 339a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 340a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 341a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 342a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Add an SMS to the given URI. 343a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * 344a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param resolver the content resolver to use 345a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param uri the URI to add the message to 346a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param address the address of the sender 347a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param body the body of the message 348a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subject the psuedo-subject of the message 349a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param date the timestamp for the message 350a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param read true if the message has been read, false if not 351a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param deliveryReport true if a delivery report was requested, false if not 352a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subId the sub_id which the message belongs to 353a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @return the URI for the new message 354a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 355a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 356a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville public static Uri addMessageToUri(long subId, ContentResolver resolver, 357a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville Uri uri, String address, String body, String subject, 358a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville Long date, boolean read, boolean deliveryReport) { 359a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville return addMessageToUri(subId, resolver, uri, address, body, subject, 3600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville date, read, deliveryReport, -1L); 3610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 3620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 364b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Add an SMS to the given URI with the specified thread ID. 3650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 3660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param resolver the content resolver to use 3670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param uri the URI to add the message to 3680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param address the address of the sender 3690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param body the body of the message 370b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param subject the pseudo-subject of the message 3710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param date the timestamp for the message 3720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param read true if the message has been read, false if not 3730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param deliveryReport true if a delivery report was requested, false if not 3740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param threadId the thread_id of the message 3750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return the URI for the new message 376b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 3770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static Uri addMessageToUri(ContentResolver resolver, 3790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Uri uri, String address, String body, String subject, 3800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Long date, boolean read, boolean deliveryReport, long threadId) { 381440b44eb71b8d5afeeaa5fda8912f3a61b4c1588Wink Saville return addMessageToUri(SubscriptionManager.getDefaultSmsSubId(), 382a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville resolver, uri, address, body, subject, 383a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville date, read, deliveryReport, threadId); 384a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 385a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 386a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 387a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Add an SMS to the given URI with thread_id specified. 388a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * 389a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param resolver the content resolver to use 390a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param uri the URI to add the message to 391a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param address the address of the sender 392a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param body the body of the message 393a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subject the psuedo-subject of the message 394a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param date the timestamp for the message 395a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param read true if the message has been read, false if not 396a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param deliveryReport true if a delivery report was requested, false if not 397a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param threadId the thread_id of the message 398a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subId the sub_id which the message belongs to 399a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @return the URI for the new message 400a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 401a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 402a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville public static Uri addMessageToUri(long subId, ContentResolver resolver, 403a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville Uri uri, String address, String body, String subject, 404a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville Long date, boolean read, boolean deliveryReport, long threadId) { 405a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville ContentValues values = new ContentValues(8); 406a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville Rlog.v(TAG,"Telephony addMessageToUri sub id: " + subId); 4070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 408a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville values.put(SUB_ID, subId); 4090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(ADDRESS, address); 4100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (date != null) { 4110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(DATE, date); 4120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(READ, read ? Integer.valueOf(1) : Integer.valueOf(0)); 4140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(SUBJECT, subject); 4150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(BODY, body); 4160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (deliveryReport) { 4170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(STATUS, STATUS_PENDING); 4180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (threadId != -1L) { 4200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(THREAD_ID, threadId); 4210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return resolver.insert(uri, values); 4230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 4260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Move a message to the given folder. 4270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 4280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param context the context to use 4290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param uri the message to move 4300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param folder the folder to move to 4310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return true if the operation succeeded 432b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 4330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static boolean moveMessageToFolder(Context context, 4350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Uri uri, int folder, int error) { 4360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (uri == null) { 4370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return false; 4380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean markAsUnread = false; 4410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean markAsRead = false; 4420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville switch(folder) { 4430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case MESSAGE_TYPE_INBOX: 4440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case MESSAGE_TYPE_DRAFT: 4450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville break; 4460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case MESSAGE_TYPE_OUTBOX: 4470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case MESSAGE_TYPE_SENT: 4480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville markAsRead = true; 4490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville break; 4500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case MESSAGE_TYPE_FAILED: 4510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville case MESSAGE_TYPE_QUEUED: 4520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville markAsUnread = true; 4530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville break; 4540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville default: 4550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return false; 4560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ContentValues values = new ContentValues(3); 4590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(TYPE, folder); 4610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (markAsUnread) { 462b47af9b263628c00b1c890f102091098a31463c0Jake Hamby values.put(READ, 0); 4630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } else if (markAsRead) { 464b47af9b263628c00b1c890f102091098a31463c0Jake Hamby values.put(READ, 1); 4650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville values.put(ERROR_CODE, error); 4670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return 1 == SqliteWrapper.update(context, context.getContentResolver(), 4690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville uri, values, null, null); 4700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 4730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Returns true iff the folder (message type) identifies an 4740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * outgoing message. 475b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 4760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static boolean isOutgoingFolder(int messageType) { 4780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return (messageType == MESSAGE_TYPE_FAILED) 4790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville || (messageType == MESSAGE_TYPE_OUTBOX) 4800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville || (messageType == MESSAGE_TYPE_SENT) 4810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville || (messageType == MESSAGE_TYPE_QUEUED); 4820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 4830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 485b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all text-based SMS messages in the SMS app inbox. 4860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Inbox implements BaseColumns, TextBasedSmsColumns { 488b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 4890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 490b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 491b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 4920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 493b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Inbox() { 494b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 4950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 497b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 498b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 499b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://sms/inbox"); 500b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 501b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 502b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 5030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 5050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 5070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Add an SMS to the Draft box. 5080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 5090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param resolver the content resolver to use 5100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param address the address of the sender 5110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param body the body of the message 512b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param subject the pseudo-subject of the message 5130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param date the timestamp for the message 5140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param read true if the message has been read, false if not 5150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return the URI for the new message 516b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 5170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static Uri addMessage(ContentResolver resolver, 5190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String address, String body, String subject, Long date, 5200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean read) { 521440b44eb71b8d5afeeaa5fda8912f3a61b4c1588Wink Saville return addMessageToUri(SubscriptionManager.getDefaultSmsSubId(), 522a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville resolver, CONTENT_URI, address, body, subject, date, read, false); 523a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 524a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 525a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 526a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Add an SMS to the Draft box. 527a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * 528a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param resolver the content resolver to use 529a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param address the address of the sender 530a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param body the body of the message 531a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subject the psuedo-subject of the message 532a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param date the timestamp for the message 533a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param read true if the message has been read, false if not 534a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subId the sub_id which the message belongs to 535a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @return the URI for the new message 536a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 537a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 538a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville public static Uri addMessage(long subId, ContentResolver resolver, 539a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville String address, String body, String subject, Long date, boolean read) { 540a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville return addMessageToUri(subId, resolver, CONTENT_URI, address, body, 5410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville subject, date, read, false); 5420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 5440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 546b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all sent text-based SMS messages in the SMS app. 5470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Sent implements BaseColumns, TextBasedSmsColumns { 549b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 550b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 551b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 552b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 553b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 554b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Sent() { 555b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 556b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 5570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 558b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 5590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 560b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://sms/sent"); 5610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 563b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 5640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 5660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 5680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Add an SMS to the Draft box. 5690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 5700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param resolver the content resolver to use 5710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param address the address of the sender 5720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param body the body of the message 573b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param subject the pseudo-subject of the message 5740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param date the timestamp for the message 5750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return the URI for the new message 576b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 5770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static Uri addMessage(ContentResolver resolver, 5790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String address, String body, String subject, Long date) { 580440b44eb71b8d5afeeaa5fda8912f3a61b4c1588Wink Saville return addMessageToUri(SubscriptionManager.getDefaultSmsSubId(), 581a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville resolver, CONTENT_URI, address, body, subject, date, true, false); 582a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 583a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 584a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 585a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Add an SMS to the Draft box. 586a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * 587a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param resolver the content resolver to use 588a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param address the address of the sender 589a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param body the body of the message 590a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subject the psuedo-subject of the message 591a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param date the timestamp for the message 592a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subId the sub_id which the message belongs to 593a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @return the URI for the new message 594a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 595a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 596a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville public static Uri addMessage(long subId, ContentResolver resolver, 597a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville String address, String body, String subject, Long date) { 598a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville return addMessageToUri(subId, resolver, CONTENT_URI, address, body, 5990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville subject, date, true, false); 6000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 604b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all sent text-based SMS messages in the SMS app. 6050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Draft implements BaseColumns, TextBasedSmsColumns { 6070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 609b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 610b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 6110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 612b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Draft() { 613b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 6140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 616b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 6170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 618b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://sms/draft"); 6190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 620a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 621a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 622a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 623a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville public static Uri addMessage(ContentResolver resolver, 624a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville String address, String body, String subject, Long date) { 625440b44eb71b8d5afeeaa5fda8912f3a61b4c1588Wink Saville return addMessageToUri(SubscriptionManager.getDefaultSmsSubId(), 626a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville resolver, CONTENT_URI, address, body, subject, date, true, false); 627a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 628a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 629a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 630a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Add an SMS to the Draft box. 631a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * 632a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param resolver the content resolver to use 633a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param address the address of the sender 634a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param body the body of the message 635a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subject the psuedo-subject of the message 636a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param date the timestamp for the message 637a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subId the sub_id which the message belongs to 638a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @return the URI for the new message 639a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 640a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 641a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville public static Uri addMessage(long subId, ContentResolver resolver, 642a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville String address, String body, String subject, Long date) { 643a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville return addMessageToUri(subId, resolver, CONTENT_URI, address, body, 644a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville subject, date, true, false); 645a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 646a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 6470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 648b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 649b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 650b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final String DEFAULT_SORT_ORDER = "date DESC"; 6510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 6520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 654b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all pending outgoing text-based SMS messages. 6550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Outbox implements BaseColumns, TextBasedSmsColumns { 657b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 658b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 659b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 660b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 661b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 662b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Outbox() { 663b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 664b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 6650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 666b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 6670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 668b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://sms/outbox"); 6690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 671b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 6720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 6740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 676b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Add an SMS to the outbox. 6770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 6780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param resolver the content resolver to use 6790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param address the address of the sender 6800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param body the body of the message 681b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param subject the pseudo-subject of the message 6820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param date the timestamp for the message 6830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param deliveryReport whether a delivery report was requested for the message 6840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return the URI for the new message 685b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 6860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static Uri addMessage(ContentResolver resolver, 6880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String address, String body, String subject, Long date, 6890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean deliveryReport, long threadId) { 690440b44eb71b8d5afeeaa5fda8912f3a61b4c1588Wink Saville return addMessageToUri(SubscriptionManager.getDefaultSmsSubId(), 691a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville resolver, CONTENT_URI, address, body, subject, date, 692a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville true, deliveryReport, threadId); 693a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville } 694a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 695a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 696a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * Add an SMS to the Out box. 697a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * 698a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param resolver the content resolver to use 699a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param address the address of the sender 700a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param body the body of the message 701a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subject the psuedo-subject of the message 702a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param date the timestamp for the message 703a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param deliveryReport whether a delivery report was requested for the message 704a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @param subId the sub_id which the message belongs to 705a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @return the URI for the new message 706a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 707a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 708a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville public static Uri addMessage(long subId, ContentResolver resolver, 709a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville String address, String body, String subject, Long date, 710a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville boolean deliveryReport, long threadId) { 711a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville return addMessageToUri(subId, resolver, CONTENT_URI, address, body, 7120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville subject, date, true, deliveryReport, threadId); 7130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 7140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 7150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 717b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all sent text-based SMS messages in the SMS app. 7180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Conversations 7200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville implements BaseColumns, TextBasedSmsColumns { 721b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 7220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 723b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 724b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 7250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 726b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Conversations() { 727b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 728b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 729b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 730b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 731b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 732b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://sms/conversations"); 7330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 735b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 7360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 7380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 740b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The first 45 characters of the body of the message. 7410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 7420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SNIPPET = "snippet"; 7440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 746b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The number of messages in the conversation. 7470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 7480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_COUNT = "msg_count"; 7500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 7510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 753b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains constants for SMS related Intents that are broadcast. 7540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Intents { 756b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 7570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 758b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 759b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 760b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 761b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Intents() { 762b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 763b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 764b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 765b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Set by BroadcastReceiver to indicate that the message was handled 7660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * successfully. 7670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int RESULT_SMS_HANDLED = 1; 7690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 771b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Set by BroadcastReceiver to indicate a generic error while 7720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * processing the message. 7730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int RESULT_SMS_GENERIC_ERROR = 2; 7750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 777b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Set by BroadcastReceiver to indicate insufficient memory to store 7780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * the message. 7790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int RESULT_SMS_OUT_OF_MEMORY = 3; 7810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 783b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Set by BroadcastReceiver to indicate that the message, while 7840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * possibly valid, is of a format or encoding that is not 7850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * supported. 7860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int RESULT_SMS_UNSUPPORTED = 4; 7880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 790b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Set by BroadcastReceiver to indicate a duplicate incoming message. 79190271d9ef1377b25b78359039fb2e87f32aba25bSungmin Choi */ 79290271d9ef1377b25b78359039fb2e87f32aba25bSungmin Choi public static final int RESULT_SMS_DUPLICATED = 5; 79390271d9ef1377b25b78359039fb2e87f32aba25bSungmin Choi 79490271d9ef1377b25b78359039fb2e87f32aba25bSungmin Choi /** 7955c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * Activity action: Ask the user to change the default 7965c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * SMS application. This will show a dialog that asks the 7975c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * user whether they want to replace the current default 7985c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * SMS application with the one specified in 7995c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * {@link #EXTRA_PACKAGE_NAME}. 8005c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun */ 8015c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) 8025c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun public static final String ACTION_CHANGE_DEFAULT = 8035c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun "android.provider.Telephony.ACTION_CHANGE_DEFAULT"; 8045c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun 8055c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun /** 8065c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * The PackageName string passed in as an 8075c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * extra for {@link #ACTION_CHANGE_DEFAULT} 8085c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 8095c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * @see #ACTION_CHANGE_DEFAULT 8105c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun */ 8115c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun public static final String EXTRA_PACKAGE_NAME = "package"; 8125c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun 8135c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun /** 814b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Broadcast Action: A new text-based SMS message has been received 8155c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * by the device. This intent will only be delivered to the default 8165c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * sms app. That app is responsible for writing the message and notifying 8175c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * the user. The intent will have the following extra values:</p> 8185c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 8195c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <ul> 82029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"pdus"</em> - An Object[] of byte[]s containing the PDUs 8215c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * that make up the message.</li> 8225c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * </ul> 8235c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 8245c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <p>The extra values can be extracted using 8255c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * {@link #getMessagesFromIntent(Intent)}.</p> 8265c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 8275c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <p>If a BroadcastReceiver encounters an error while processing 8285c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * this intent it should set the result code appropriately.</p> 82929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 83029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p class="note"><strong>Note:</strong> 83129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * The broadcast receiver that filters for this intent must declare 83229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * {@link android.Manifest.permission#BROADCAST_SMS} as a required permission in 83329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * the <a href="{@docRoot}guide/topics/manifest/receiver-element.html">{@code 83429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <receiver>}</a> tag. 8355c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun */ 8365c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 8375c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun public static final String SMS_DELIVER_ACTION = 8385c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun "android.provider.Telephony.SMS_DELIVER"; 8395c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun 8405c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun /** 841b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Broadcast Action: A new text-based SMS message has been received 842c9394399180abbc32d04f6a3652ce22d5931e0b8Shishir Agrawal * by the device. This intent will only be delivered to a 843913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * carrier app which is responsible for filtering the message. 844913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * If the carrier app wants to drop a message, it should set the result 845913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * code to {@link android.app.Activity#RESULT_CANCELED}. The carrier app can 846913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * also modify the SMS PDU by setting the "pdus" value in result extras.</p> 847913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * 848913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * The intent will have the following extra values:</p> 849913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * 850913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * <ul> 851913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * <li><em>"pdus"</em> - An Object[] of byte[]s containing the PDUs 852913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * that make up the message.</li> 853913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * <li><em>"format"</em> - A String describing the format of the PDUs. It can 854913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * be either "3gpp" or "3gpp2".</li> 855913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * <li><em>"destport"</em> - An int describing the destination port of a data 856913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * SMS. It will be -1 for text SMS.</li> 857913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * </ul> 858913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * 859913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * <p>The extra values can be extracted using 860913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * {@link #getMessagesFromIntent(Intent)}.</p> 861913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * 862913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * <p class="note"><strong>Note:</strong> 863c9394399180abbc32d04f6a3652ce22d5931e0b8Shishir Agrawal * The broadcast receiver that filters for this intent must be a carrier privileged app. 8645889fd6e26caa9b8164666cd8c29df973fd7c265Shishir Agrawal * It must also declare {@link android.Manifest.permission#BROADCAST_SMS} as a required 8655889fd6e26caa9b8164666cd8c29df973fd7c265Shishir Agrawal * permission in the <a href="{@docRoot}guide/topics/manifest/receiver-element.html"> 8665889fd6e26caa9b8164666cd8c29df973fd7c265Shishir Agrawal * {@code <receiver>}</a> tag. 867913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang */ 868913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 869913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang public static final String SMS_FILTER_ACTION = 870913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang "android.provider.Telephony.SMS_FILTER"; 871913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang 872913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang /** 873913880b94d8b29d8dec34b2307c313e2180eb6f0Cheuksan Wang * Broadcast Action: A new text-based SMS message has been received 8745c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * by the device. This intent will be delivered to all registered 8755c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * receivers as a notification. These apps are not expected to write the 8765c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * message or notify the user. The intent will have the following extra 8770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * values:</p> 8780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 88029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"pdus"</em> - An Object[] of byte[]s containing the PDUs 8810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * that make up the message.</li> 8820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 8830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>The extra values can be extracted using 8850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #getMessagesFromIntent(Intent)}.</p> 8860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If a BroadcastReceiver encounters an error while processing 8880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this intent it should set the result code appropriately.</p> 8890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 8900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 8910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SMS_RECEIVED_ACTION = 8920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.SMS_RECEIVED"; 8930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 8940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 8950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: A new data based SMS message has been received 8965c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * by the device. This intent will be delivered to all registered 8975c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * receivers as a notification. The intent will have the following extra 8980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * values:</p> 8990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 90129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"pdus"</em> - An Object[] of byte[]s containing the PDUs 9020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * that make up the message.</li> 9030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 9040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>The extra values can be extracted using 9060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #getMessagesFromIntent(Intent)}.</p> 9070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If a BroadcastReceiver encounters an error while processing 9090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this intent it should set the result code appropriately.</p> 9100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 9110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 9120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DATA_SMS_RECEIVED_ACTION = 9130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.intent.action.DATA_SMS_RECEIVED"; 9140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 9150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 9160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: A new WAP PUSH message has been received by the 9175c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * device. This intent will only be delivered to the default 9185c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * sms app. That app is responsible for writing the message and notifying 9195c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * the user. The intent will have the following extra values:</p> 9205c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 9215c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <ul> 92229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"transactionId"</em> - (Integer) The WAP transaction ID</li> 92329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"pduType"</em> - (Integer) The WAP PDU type</li> 92429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"header"</em> - (byte[]) The header of the message</li> 92529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"data"</em> - (byte[]) The data payload of the message</li> 92629305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"contentTypeParameters" </em> 92729305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * -(HashMap<String,String>) Any parameters associated with the content type 9285c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * (decoded from the WSP Content-Type header)</li> 9295c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * </ul> 9305c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 9315c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <p>If a BroadcastReceiver encounters an error while processing 9325c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * this intent it should set the result code appropriately.</p> 9335c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 9345c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <p>The contentTypeParameters extra value is map of content parameters keyed by 9355c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * their names.</p> 9365c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * 9375c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * <p>If any unassigned well-known parameters are encountered, the key of the map will 9385c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * be 'unassigned/0x...', where '...' is the hex value of the unassigned parameter. If 9395c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * a parameter has No-Value the value in the map will be null.</p> 94029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * 94129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <p class="note"><strong>Note:</strong> 94229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * The broadcast receiver that filters for this intent must declare 94329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * {@link android.Manifest.permission#BROADCAST_WAP_PUSH} as a required permission in 94429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * the <a href="{@docRoot}guide/topics/manifest/receiver-element.html">{@code 94529305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <receiver>}</a> tag. 9465c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun */ 9475c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 9485c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun public static final String WAP_PUSH_DELIVER_ACTION = 9495c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun "android.provider.Telephony.WAP_PUSH_DELIVER"; 9505c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun 9515c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun /** 9525c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * Broadcast Action: A new WAP PUSH message has been received by the 9535c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * device. This intent will be delivered to all registered 9545c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * receivers as a notification. These apps are not expected to write the 9555c3b6658d82f3af57161d5a34385dd95ea0f1abbDavid Braun * message or notify the user. The intent will have the following extra 9560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * values:</p> 9570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 95929305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"transactionId"</em> - (Integer) The WAP transaction ID</li> 96029305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"pduType"</em> - (Integer) The WAP PDU type</li> 96129305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"header"</em> - (byte[]) The header of the message</li> 96229305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"data"</em> - (byte[]) The data payload of the message</li> 96329305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"contentTypeParameters"</em> 96429305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * - (HashMap<String,String>) Any parameters associated with the content type 9650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (decoded from the WSP Content-Type header)</li> 9660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 9670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If a BroadcastReceiver encounters an error while processing 9690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this intent it should set the result code appropriately.</p> 9700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>The contentTypeParameters extra value is map of content parameters keyed by 9720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * their names.</p> 9730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If any unassigned well-known parameters are encountered, the key of the map will 9750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * be 'unassigned/0x...', where '...' is the hex value of the unassigned parameter. If 9760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * a parameter has No-Value the value in the map will be null.</p> 9770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 9780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 9790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String WAP_PUSH_RECEIVED_ACTION = 9800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.WAP_PUSH_RECEIVED"; 9810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 9820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 9830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: A new Cell Broadcast message has been received 9840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * by the device. The intent will have the following extra 9850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * values:</p> 9860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 98829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"message"</em> - An SmsCbMessage object containing the broadcast message 9890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * data. This is not an emergency alert, so ETWS and CMAS data will be null.</li> 9900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 9910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>The extra values can be extracted using 9930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #getMessagesFromIntent(Intent)}.</p> 9940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If a BroadcastReceiver encounters an error while processing 9960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this intent it should set the result code appropriately.</p> 9970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 9980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 9990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SMS_CB_RECEIVED_ACTION = 10000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.SMS_CB_RECEIVED"; 10010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: A new Emergency Broadcast message has been received 10040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * by the device. The intent will have the following extra 10050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * values:</p> 10060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 100829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"message"</em> - An SmsCbMessage object containing the broadcast message 10090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * data, including ETWS or CMAS warning notification info if present.</li> 10100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 10110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>The extra values can be extracted using 10130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #getMessagesFromIntent(Intent)}.</p> 10140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If a BroadcastReceiver encounters an error while processing 10160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this intent it should set the result code appropriately.</p> 10170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 10190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SMS_EMERGENCY_CB_RECEIVED_ACTION = 10200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.SMS_EMERGENCY_CB_RECEIVED"; 10210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: A new CDMA SMS has been received containing Service Category 10240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Program Data (updates the list of enabled broadcast channels). The intent will 10250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * have the following extra values:</p> 10260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 102829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"operations"</em> - An array of CdmaSmsCbProgramData objects containing 10290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * the service category operations (add/delete/clear) to perform.</li> 10300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 10310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>The extra values can be extracted using 10330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #getMessagesFromIntent(Intent)}.</p> 10340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p>If a BroadcastReceiver encounters an error while processing 10360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this intent it should set the result code appropriately.</p> 10370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 10390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED_ACTION = 10400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED"; 10410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: The SIM storage for SMS messages is full. If 10440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * space is not freed, messages targeted for the SIM (class 2) may 10450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * not be saved. 10460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 10480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SIM_FULL_ACTION = 10490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.SIM_FULL"; 10500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Broadcast Action: An incoming SMS has been rejected by the 10530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * telephony framework. This intent is sent in lieu of any 10540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * of the RECEIVED_ACTION intents. The intent will have the 10550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * following extra value:</p> 10560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 105829305a0d8e45e8b6731ab91e59fcba7a4d6ff766Scott Main * <li><em>"result"</em> - An int result code, e.g. {@link #RESULT_SMS_OUT_OF_MEMORY} 10590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * indicating the error returned to the network.</li> 10600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 10610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 10630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SMS_REJECTED_ACTION = 10640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "android.provider.Telephony.SMS_REJECTED"; 10650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10678d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * Broadcast Action: A new SMS PDU needs to be sent from 1068c9394399180abbc32d04f6a3652ce22d5931e0b8Shishir Agrawal * the device. This intent will only be delivered to a 10698d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * carrier app. That app is responsible for sending the PDU. 10708d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * The intent will have the following extra values:</p> 10718d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * 10728d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * <ul> 10738d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * <li><em>"pdu"</em> - (byte[]) The PDU to send.</li> 10748d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * <li><em>"smsc"</em> - (byte[]) The service center address (for GSM PDU only).</li> 10758d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * <li><em>"format"</em> - (String) The format of the PDU. Either 3gpp or 3gpp2. </li> 107678d39a9fab86a26f4f39585af5cfe2a07c756fceShishir Agrawal * <li><em>"concat.refNumber"</em> - (int) If the SMS is part of a multi-part SMS, the 107778d39a9fab86a26f4f39585af5cfe2a07c756fceShishir Agrawal * ref number used in the SMS header.</li> 107878d39a9fab86a26f4f39585af5cfe2a07c756fceShishir Agrawal * <li><em>"concat.seqNumber"</em> - (int) If the SMS is part of a multi-part SMS, the 107978d39a9fab86a26f4f39585af5cfe2a07c756fceShishir Agrawal * sequence number of this SMS.</li> 108078d39a9fab86a26f4f39585af5cfe2a07c756fceShishir Agrawal * <li><em>"concat.msgCount"</em> - (int) If the SMS is part of a multi-part SMS, the 108178d39a9fab86a26f4f39585af5cfe2a07c756fceShishir Agrawal * total number of SMSes in the multi-part SMS.</li> 10828d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * </ul> 10838d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * 10848d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * <p>If a BroadcastReceiver is trying to send the message, 10858d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * it should set the result code to {@link android.app.Activity#RESULT_OK} and set 10868d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * the following in the result extra values:</p> 10878d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * 10888d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * <ul> 10898d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * <li><em>"messageref"</em> - (int) The new message reference number which will be 10908d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * later used in the updateSmsSendStatus call.</li> 10918d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * </ul> 10928d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * 10938d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * <p>If a BroadcastReceiver cannot send the message, it should not set the result 10948d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * code and the platform will send it via the normal pathway. 10958d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * </p> 10968d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * 10978d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang * <p class="note"><strong>Note:</strong> 1098c9394399180abbc32d04f6a3652ce22d5931e0b8Shishir Agrawal * The broadcast receiver that filters for this intent must be a carrier privileged app. 10995889fd6e26caa9b8164666cd8c29df973fd7c265Shishir Agrawal * It must also declare {@link android.Manifest.permission#BROADCAST_SMS} as a required 11005889fd6e26caa9b8164666cd8c29df973fd7c265Shishir Agrawal * permission in the <a href="{@docRoot}guide/topics/manifest/receiver-element.html"> 11015889fd6e26caa9b8164666cd8c29df973fd7c265Shishir Agrawal * {@code <receiver>}</a> tag. 11028d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang */ 11038d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 11048d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang public static final String SMS_SEND_ACTION = 11058d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang "android.provider.Telephony.SMS_SEND"; 11068d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang 11078d8e8f45200d17b78d196d8cba389fd9c547ac11Cheuksan Wang /** 11080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Read the PDUs out of an {@link #SMS_RECEIVED_ACTION} or a 11090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #DATA_SMS_RECEIVED_ACTION} intent. 11100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 11110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param intent the intent to read from 11120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return an array of SmsMessages for the PDUs 11130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1114b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static SmsMessage[] getMessagesFromIntent(Intent intent) { 11150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Object[] messages = (Object[]) intent.getSerializableExtra("pdus"); 11160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String format = intent.getStringExtra("format"); 1117440b44eb71b8d5afeeaa5fda8912f3a61b4c1588Wink Saville long subId = intent.getLongExtra(PhoneConstants.SUBSCRIPTION_KEY, 1118440b44eb71b8d5afeeaa5fda8912f3a61b4c1588Wink Saville SubscriptionManager.getDefaultSmsSubId()); 1119a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 1120a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville Rlog.v(TAG, " getMessagesFromIntent sub_id : " + subId); 11210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1122b47af9b263628c00b1c890f102091098a31463c0Jake Hamby int pduCount = messages.length; 11230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville SmsMessage[] msgs = new SmsMessage[pduCount]; 1124b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 11250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville for (int i = 0; i < pduCount; i++) { 1126b47af9b263628c00b1c890f102091098a31463c0Jake Hamby byte[] pdu = (byte[]) messages[i]; 1127b47af9b263628c00b1c890f102091098a31463c0Jake Hamby msgs[i] = SmsMessage.createFromPdu(pdu, format); 1128a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville msgs[i].setSubId(subId); 11290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 11300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return msgs; 11310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 11320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 11330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 11340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 11360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Base columns for tables that contain MMSs. 11370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public interface BaseMmsColumns extends BaseColumns { 11390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1140b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message box: all messages. */ 11410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_BOX_ALL = 0; 1142b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message box: inbox. */ 11430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_BOX_INBOX = 1; 1144b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message box: sent messages. */ 11450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_BOX_SENT = 2; 1146b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message box: drafts. */ 11470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_BOX_DRAFTS = 3; 1148b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Message box: outbox. */ 11490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MESSAGE_BOX_OUTBOX = 4; 1150370971c25973d9d8061b76e756df2fb8c1ebd990Ye Wen /** Message box: failed. */ 1151370971c25973d9d8061b76e756df2fb8c1ebd990Ye Wen public static final int MESSAGE_BOX_FAILED = 5; 11520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1154b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The thread ID of the message. 1155b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 1156b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 1157b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final String THREAD_ID = "thread_id"; 1158b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1159b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 11600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The date the message was received. 11610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (long)</P> 11620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DATE = "date"; 11640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 11660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The date the message was sent. 11670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (long)</P> 11680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DATE_SENT = "date_sent"; 11700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1172b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The box which the message belongs to, e.g. {@link #MESSAGE_BOX_INBOX}. 11730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 11740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_BOX = "msg_box"; 11760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1178b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Has the message been read? 11790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (boolean)</P> 11800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String READ = "read"; 11820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1184b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Has the message been seen by the user? The "seen" flag determines 1185b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * whether we need to show a new message notification. 1186b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 11870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SEEN = "seen"; 11890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1191b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Does the message have only a text part (can also have a subject) with 1192b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * no picture, slideshow, sound, etc. parts? 1193b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 11947a299a45d1132bfecfee02a1a71427dfbbadc72eTom Taylor */ 11957a299a45d1132bfecfee02a1a71427dfbbadc72eTom Taylor public static final String TEXT_ONLY = "text_only"; 11967a299a45d1132bfecfee02a1a71427dfbbadc72eTom Taylor 11977a299a45d1132bfecfee02a1a71427dfbbadc72eTom Taylor /** 1198b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code Message-ID} of the message. 11990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 12000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_ID = "m_id"; 12020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The subject of the message, if present. 12050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 12060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SUBJECT = "sub"; 12080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The character set of the subject, if present. 12110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SUBJECT_CHARSET = "sub_cs"; 12140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1216b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code Content-Type} of the message. 12170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 12180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_TYPE = "ct_t"; 12200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1222b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code Content-Location} of the message. 12230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 12240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_LOCATION = "ct_l"; 12260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The expiry time of the message. 1229b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 12300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String EXPIRY = "exp"; 12320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The class of the message. 12350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 12360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_CLASS = "m_cls"; 12380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The type of the message defined by MMS spec. 12410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_TYPE = "m_type"; 12440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1246b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The version of the specification that this message conforms to. 12470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MMS_VERSION = "v"; 12500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The size of the message. 12530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_SIZE = "m_size"; 12560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The priority of the message. 1259b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 12600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PRIORITY = "pri"; 12620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1264b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code read-report} of the message. 1265b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 12660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String READ_REPORT = "rr"; 12680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1270b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is read report allowed? 1271b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 12720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPORT_ALLOWED = "rpt_a"; 12740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1276b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code response-status} of the message. 12770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RESPONSE_STATUS = "resp_st"; 12800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1282b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code status} of the message. 12830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STATUS = "st"; 12860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1288b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code transaction-id} of the message. 12890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 12900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TRANSACTION_ID = "tr_id"; 12920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1294b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code retrieve-status} of the message. 12950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 12960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RETRIEVE_STATUS = "retr_st"; 12980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1300b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code retrieve-text} of the message. 13010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 13020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RETRIEVE_TEXT = "retr_txt"; 13040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 13060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The character set of the retrieve-text. 1307b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 13080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RETRIEVE_TEXT_CHARSET = "retr_txt_cs"; 13100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1312b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code read-status} of the message. 13130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 13140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String READ_STATUS = "read_status"; 13160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1318b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content-class} of the message. 13190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 13200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_CLASS = "ct_cls"; 13220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1324b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code delivery-report} of the message. 13250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 13260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DELIVERY_REPORT = "d_rpt"; 13280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1330b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code delivery-time-token} of the message. 13310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1332b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1333b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 13340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1335b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 13360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DELIVERY_TIME_TOKEN = "d_tm_tok"; 13370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1339b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code delivery-time} of the message. 13400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 13410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DELIVERY_TIME = "d_tm"; 13430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1345b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code response-text} of the message. 13460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 13470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RESPONSE_TEXT = "resp_txt"; 13490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1351b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code sender-visibility} of the message. 13520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1353b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1354b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 13550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1356b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 13570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SENDER_VISIBILITY = "s_vis"; 13580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1360b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code reply-charging} of the message. 13610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1362b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1363b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 13640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1365b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 13660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_CHARGING = "r_chg"; 13670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1369b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code reply-charging-deadline-token} of the message. 13700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1371b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1372b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 13730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1374b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 13750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_CHARGING_DEADLINE_TOKEN = "r_chg_dl_tok"; 13760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1378b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code reply-charging-deadline} of the message. 13790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1380b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1381b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 13820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1383b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 13840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_CHARGING_DEADLINE = "r_chg_dl"; 13850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1387b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code reply-charging-id} of the message. 13880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1389b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1390b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 13910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1392b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 13930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_CHARGING_ID = "r_chg_id"; 13940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1396b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code reply-charging-size} of the message. 13970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1398b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1399b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1401b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_CHARGING_SIZE = "r_chg_sz"; 14030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1405b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code previously-sent-by} of the message. 14060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1407b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1408b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1410b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PREVIOUSLY_SENT_BY = "p_s_by"; 14120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1414b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code previously-sent-date} of the message. 14150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1416b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1417b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1419b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PREVIOUSLY_SENT_DATE = "p_s_d"; 14210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1423b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code store} of the message. 14240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1425b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1426b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1428b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STORE = "store"; 14300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1432b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mm-state} of the message. 14330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1434b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1435b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1437b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MM_STATE = "mm_st"; 14390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1441b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mm-flags-token} of the message. 14420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1443b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1444b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1446b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MM_FLAGS_TOKEN = "mm_flg_tok"; 14480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1450b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mm-flags} of the message. 14510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1452b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1453b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1455b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MM_FLAGS = "mm_flg"; 14570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1459b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code store-status} of the message. 14600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1461b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1462b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1464b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STORE_STATUS = "store_st"; 14660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1468b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code store-status-text} of the message. 14690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1470b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1471b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1473b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STORE_STATUS_TEXT = "store_st_txt"; 14750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1477b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code stored} of the message. 14780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1479b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1480b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1482b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STORED = "stored"; 14840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1486b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code totals} of the message. 14870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1488b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1489b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1491b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 14920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TOTALS = "totals"; 14930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1495b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mbox-totals} of the message. 14960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1497b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1498b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 14990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1500b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MBOX_TOTALS = "mb_t"; 15020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1504b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mbox-totals-token} of the message. 15050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1506b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1507b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1509b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MBOX_TOTALS_TOKEN = "mb_t_tok"; 15110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1513b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code quotas} of the message. 15140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1515b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1516b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1518b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String QUOTAS = "qt"; 15200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1522b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mbox-quotas} of the message. 15230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1524b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1525b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1527b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MBOX_QUOTAS = "mb_qt"; 15290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1531b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code mbox-quotas-token} of the message. 15320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1533b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1534b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1536b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MBOX_QUOTAS_TOKEN = "mb_qt_tok"; 15380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1540b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code message-count} of the message. 15410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1542b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1543b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1545b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_COUNT = "m_cnt"; 15470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1549b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code start} of the message. 15500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1551b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1552b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1554b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String START = "start"; 15560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1558b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code distribution-indicator} of the message. 15590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1560b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1561b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1563b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DISTRIBUTION_INDICATOR = "d_ind"; 15650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1567b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code element-descriptor} of the message. 15680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1569b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1570b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1572b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ELEMENT_DESCRIPTOR = "e_des"; 15740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1576b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code limit} of the message. 15770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1578b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1579b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1581b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String LIMIT = "limit"; 15830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1585b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code recommended-retrieval-mode} of the message. 15860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1587b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1588b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1590b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 15910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RECOMMENDED_RETRIEVAL_MODE = "r_r_mod"; 15920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1594b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code recommended-retrieval-mode-text} of the message. 15950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1596b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1597b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 15980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1599b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RECOMMENDED_RETRIEVAL_MODE_TEXT = "r_r_mod_txt"; 16010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1603b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code status-text} of the message. 16040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1605b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1606b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1608b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String STATUS_TEXT = "st_txt"; 16100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1612b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code applic-id} of the message. 16130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1614b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1615b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1617b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String APPLIC_ID = "apl_id"; 16190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1621b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code reply-applic-id} of the message. 16220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1623b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1624b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1626b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLY_APPLIC_ID = "r_apl_id"; 16280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1630b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code aux-applic-id} of the message. 16310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1632b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1633b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1635b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String AUX_APPLIC_ID = "aux_apl_id"; 16370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1639b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code drm-content} of the message. 16400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1641b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1642b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1644b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DRM_CONTENT = "drm_c"; 16460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1648b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code adaptation-allowed} of the message. 16490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1650b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1651b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1653b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ADAPTATION_ALLOWED = "adp_a"; 16550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1657b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code replace-id} of the message. 16580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1659b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1660b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1662b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String REPLACE_ID = "repl_id"; 16640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1666b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code cancel-id} of the message. 16670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 1668b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1669b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1671b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CANCEL_ID = "cl_id"; 16730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1675b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code cancel-status} of the message. 16760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 1677b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @deprecated this column is no longer supported. 1678b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 16790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1680b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @Deprecated 16810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CANCEL_STATUS = "cl_st"; 16820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1684b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is the message locked? 16850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (boolean)</P> 16860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 16870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String LOCKED = "locked"; 1688a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 1689a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 1690a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * The sub id to which message belongs to 1691a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * <p>Type: INTEGER</p> 1692a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 1693a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 1694a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville public static final String SUB_ID = "sub_id"; 1695a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 1696b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen /** 1697b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen * The creator of a sent or imported message 1698b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen */ 1699b29851580bba4a13ddbf7a534d8b09295eb2c60fYe Wen public static final String CREATOR = "creator"; 17000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 17010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 17020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1703b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Columns for the "canonical_addresses" table used by MMS and SMS. 17040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public interface CanonicalAddressesColumns extends BaseColumns { 17060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * An address used in MMS or SMS. Email addresses are 17080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * converted to lower case and are compared by string 17090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * equality. Other addresses are compared using 17100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * PHONE_NUMBERS_EQUAL. 17110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 17120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ADDRESS = "address"; 17140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 17150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 17160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Columns for the "threads" table used by MMS and SMS. 17180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public interface ThreadsColumns extends BaseColumns { 1720b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 17210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The date at which the thread was created. 17230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (long)</P> 17240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DATE = "date"; 17260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 17270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * A string encoding of the recipient IDs of the recipients of 17290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * the message, in numerical order and separated by spaces. 17300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 17310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RECIPIENT_IDS = "recipient_ids"; 17330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 17340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The message count of the thread. 17360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 17370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_COUNT = "message_count"; 1739b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 17400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Indicates whether all messages of the thread have been read. 17420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 17430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String READ = "read"; 17450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 17460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The snippet of the latest message in the thread. 17480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 17490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SNIPPET = "snippet"; 1751b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 17520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The charset of the snippet. 17540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 17550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SNIPPET_CHARSET = "snippet_cs"; 1757b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 17580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1759b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Type of the thread, either {@link Threads#COMMON_THREAD} or 1760b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * {@link Threads#BROADCAST_THREAD}. 17610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 17620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TYPE = "type"; 1764b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 17650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Indicates whether there is a transmission error in the thread. 17670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 17680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ERROR = "error"; 1770b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 17710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Indicates whether this thread contains any attachments. 17730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 17740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String HAS_ATTACHMENT = "has_attachment"; 1776e58ff3bd4399dfe68517b100169e01e6b93dc7b6Ye Wen 1777e58ff3bd4399dfe68517b100169e01e6b93dc7b6Ye Wen /** 1778e58ff3bd4399dfe68517b100169e01e6b93dc7b6Ye Wen * If the thread is archived 1779e58ff3bd4399dfe68517b100169e01e6b93dc7b6Ye Wen */ 1780e58ff3bd4399dfe68517b100169e01e6b93dc7b6Ye Wen public static final String ARCHIVED = "archived"; 17810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 17820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 17830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 17840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Helper functions for the "threads" table used by MMS and SMS. 17850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Threads implements ThreadsColumns { 1787b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 17880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private static final String[] ID_PROJECTION = { BaseColumns._ID }; 1789b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1790b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1791b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Private {@code content://} style URL for this table. Used by 1792b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * {@link #getOrCreateThreadId(android.content.Context, java.util.Set)}. 1793b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 17940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private static final Uri THREAD_ID_CONTENT_URI = Uri.parse( 17950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/threadID"); 1796b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1797b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1798b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table, by conversation. 1799b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 18000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_URI = Uri.withAppendedPath( 18010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MmsSms.CONTENT_URI, "conversations"); 1802b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1803b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1804b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table, for obsolete threads. 1805b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 18060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri OBSOLETE_THREADS_URI = Uri.withAppendedPath( 18070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI, "obsolete"); 18080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1809b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Thread type: common thread. */ 18100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int COMMON_THREAD = 0; 1811b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1812b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Thread type: broadcast thread. */ 18130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int BROADCAST_THREAD = 1; 18140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1815b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1816b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 1817b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 1818b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 18190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private Threads() { 18200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1823b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * This is a single-recipient version of {@code getOrCreateThreadId}. 1824b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * It's convenient for use with SMS messages. 1825b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param context the context object to use. 1826b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param recipient the recipient to send to. 1827b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 18280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 18290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static long getOrCreateThreadId(Context context, String recipient) { 18300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Set<String> recipients = new HashSet<String>(); 18310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville recipients.add(recipient); 18330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return getOrCreateThreadId(context, recipients); 18340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 18370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Given the recipients list and subject of an unsaved message, 18380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * return its thread ID. If the message starts a new thread, 18390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * allocate a new thread ID. Otherwise, use the appropriate 18400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * existing thread ID. 18410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 1842b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <p>Find the thread ID of the same set of recipients (in any order, 1843b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * without any additions). If one is found, return it. Otherwise, 1844b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * return a unique thread ID.</p> 1845b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 18460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 18470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static long getOrCreateThreadId( 18480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Context context, Set<String> recipients) { 18490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Uri.Builder uriBuilder = THREAD_ID_CONTENT_URI.buildUpon(); 18500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville for (String recipient : recipients) { 18520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (Mms.isEmailAddress(recipient)) { 18530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville recipient = Mms.extractAddrSpec(recipient); 18540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville uriBuilder.appendQueryParameter("recipient", recipient); 18570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Uri uri = uriBuilder.build(); 186099c2e1d6749cfad2a8ca94a47857d8c3bfc09454Wink Saville //if (DEBUG) Rlog.v(TAG, "getOrCreateThreadId uri: " + uri); 18610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Cursor cursor = SqliteWrapper.query(context, context.getContentResolver(), 18630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville uri, ID_PROJECTION, null, null, null); 18640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (cursor != null) { 18650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville try { 18660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (cursor.moveToFirst()) { 18670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return cursor.getLong(0); 18680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } else { 186999c2e1d6749cfad2a8ca94a47857d8c3bfc09454Wink Saville Rlog.e(TAG, "getOrCreateThreadId returned no rows!"); 18700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } finally { 18720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville cursor.close(); 18730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 187699c2e1d6749cfad2a8ca94a47857d8c3bfc09454Wink Saville Rlog.e(TAG, "getOrCreateThreadId failed with uri " + uri.toString()); 18770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville throw new IllegalArgumentException("Unable to find or allocate a thread ID."); 18780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 18800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 18810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 18820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Contains all MMS messages. 18830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 18840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Mms implements BaseMmsColumns { 1885b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 18860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1887b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 1888b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 1889b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 1890b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Mms() { 1891b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 1892b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1893b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1894b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} URI for this table. 18950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 18960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_URI = Uri.parse("content://mms"); 18970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1898b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1899b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Content URI for getting MMS report requests. 1900b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 19010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri REPORT_REQUEST_URI = Uri.withAppendedPath( 19020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI, "report-request"); 19030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1904b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1905b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Content URI for getting MMS report status. 1906b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 19070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri REPORT_STATUS_URI = Uri.withAppendedPath( 19080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI, "report-status"); 19090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1911b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 19120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 19130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 19140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1916b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Regex pattern for names and email addresses. 1917b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <ul> 1918b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <li><em>mailbox</em> = {@code name-addr}</li> 1919b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <li><em>name-addr</em> = {@code [display-name] angle-addr}</li> 1920b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <li><em>angle-addr</em> = {@code [CFWS] "<" addr-spec ">" [CFWS]}</li> 1921b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * </ul> 1922b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 19230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 19240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Pattern NAME_ADDR_EMAIL_PATTERN = 19250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Pattern.compile("\\s*(\"[^\"]*\"|[^<>\"]+)\\s*<([^<>]+)>\\s*"); 19260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1928b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Helper method to query this table. 1929b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 19300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1931b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static Cursor query( 19320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ContentResolver cr, String[] projection) { 19330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return cr.query(CONTENT_URI, projection, null, null, DEFAULT_SORT_ORDER); 19340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1936b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1937b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Helper method to query this table. 1938b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 1939b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 1940b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static Cursor query( 19410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ContentResolver cr, String[] projection, 19420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String where, String orderBy) { 19430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return cr.query(CONTENT_URI, projection, 19440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville where, null, orderBy == null ? DEFAULT_SORT_ORDER : orderBy); 19450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1947b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1948b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Helper method to extract email address from address string. 1949b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 1950b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 19510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static String extractAddrSpec(String address) { 19520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Matcher match = NAME_ADDR_EMAIL_PATTERN.matcher(address); 19530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (match.matches()) { 19550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return match.group(2); 19560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return address; 19580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1961b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is the specified address an email address? 19620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 1963b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param address the input address to test 1964b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @return true if address is an email address; false otherwise. 1965b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 19660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 19670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static boolean isEmailAddress(String address) { 19680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (TextUtils.isEmpty(address)) { 19690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return false; 19700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String s = extractAddrSpec(address); 19730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Matcher match = Patterns.EMAIL_ADDRESS.matcher(s); 19740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return match.matches(); 19750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1978b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is the specified number a phone number? 19790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 1980b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @param number the input number to test 1981b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @return true if number is a phone number; false otherwise. 1982b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 19830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 19840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static boolean isPhoneNumber(String number) { 19850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville if (TextUtils.isEmpty(number)) { 19860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return false; 19870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Matcher match = Patterns.PHONE.matcher(number); 19900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return match.matches(); 19910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 19920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 19930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1994b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all MMS messages in the MMS app inbox. 19950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 19960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Inbox implements BaseMmsColumns { 1997b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 1998b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 1999b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2000b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2001b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2002b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Inbox() { 2003b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2004b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 20050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2006b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 20070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri 20090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI = Uri.parse("content://mms/inbox"); 20100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2012b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 20130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 20150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 20160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2018b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all MMS messages in the MMS app sent folder. 20190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Sent implements BaseMmsColumns { 2021b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 20220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2023b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2024b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2025b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2026b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Sent() { 2027b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2028b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2029b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2030b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 20310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri 20330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI = Uri.parse("content://mms/sent"); 20340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2036b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 20370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 20390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 20400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2042b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all MMS messages in the MMS app drafts folder. 20430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Draft implements BaseMmsColumns { 2045b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 20460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2047b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2048b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2049b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2050b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Draft() { 2051b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2052b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2053b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2054b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 20550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri 20570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI = Uri.parse("content://mms/drafts"); 20580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2060b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 20610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 20630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 20640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2066b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains all MMS messages in the MMS app outbox. 20670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Outbox implements BaseMmsColumns { 2069b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 20700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2071b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2072b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2073b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2074b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Outbox() { 2075b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2076b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2077b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2078b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 20790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri 20810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CONTENT_URI = Uri.parse("content://mms/outbox"); 20820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 20830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2084b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 20850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 20860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "date DESC"; 20870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 20880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2089b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2090b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains address information for an MMS message. 2091b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 20920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Addr implements BaseColumns { 2093b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2094b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2095b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2096b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2097b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2098b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Addr() { 2099b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2100b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 21010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The ID of MM which this address entry belongs to. 2103b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 21040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MSG_ID = "msg_id"; 21060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The ID of contact entry in Phone Book. 2109b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 21100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTACT_ID = "contact_id"; 21120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The address text. 2115b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 21160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ADDRESS = "address"; 21180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2120b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Type of address: must be one of {@code PduHeaders.BCC}, 2121b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * {@code PduHeaders.CC}, {@code PduHeaders.FROM}, {@code PduHeaders.TO}. 2122b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 21230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TYPE = "type"; 21250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2127b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Character set of this entry (MMS charset value). 2128b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 21290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CHARSET = "charset"; 21310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 21320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2133b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2134b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains message parts. 2135b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 21360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Part implements BaseColumns { 2137b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2138b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2139b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2140b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2141b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2142b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Part() { 2143b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2144b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 21450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The identifier of the message which this part belongs to. 21470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 21480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MSG_ID = "mid"; 21500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The order of the part. 21530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 21540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SEQ = "seq"; 21560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The content type of the part. 21590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 21600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_TYPE = "ct"; 21620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The name of the part. 21650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 21660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String NAME = "name"; 21680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The charset of the part. 21710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 21720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CHARSET = "chset"; 21740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The file name of the part. 21770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 21780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String FILENAME = "fn"; 21800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The content disposition of the part. 21830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 21840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_DISPOSITION = "cd"; 21860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The content ID of the part. 21890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 21900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_ID = "cid"; 21920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 21940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The content location of the part. 21950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 21960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 21970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CONTENT_LOCATION = "cl"; 21980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 21990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 22000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The start of content-type of the message. 22010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 22020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 22030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CT_START = "ctt_s"; 22040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 22050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 22060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The type of content-type of the message. 22070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 22080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 22090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CT_TYPE = "ctt_t"; 22100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 22110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2212b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The location (on filesystem) of the binary data of the part. 22130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 22140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 22150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String _DATA = "_data"; 22160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2217b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2218b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The message text. 2219b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2220b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 22210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TEXT = "text"; 22220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 22230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2224b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2225b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Message send rate table. 2226b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 22270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Rate { 2228b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2229b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2230b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2231b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2232b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2233b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Rate() { 2234b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2235b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2236b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2237b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 2238b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 22390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_URI = Uri.withAppendedPath( 22400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Mms.CONTENT_URI, "rate"); 2241b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 22420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 22430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * When a message was successfully sent. 2244b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 22450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 22460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SENT_TIME = "sent_time"; 22470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 22480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2249b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2250b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Intents class. 2251b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 22520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Intents { 22530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 22540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2255b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2256b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 22570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2258b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Intents() { 2259b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2260b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 22610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 22620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Indicates that the contents of specified URIs were changed. 22630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The application which is showing or caching these contents 22640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * should be updated. 22650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2266b47af9b263628c00b1c890f102091098a31463c0Jake Hamby @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 2267b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final String CONTENT_CHANGED_ACTION 2268b47af9b263628c00b1c890f102091098a31463c0Jake Hamby = "android.intent.action.CONTENT_CHANGED"; 2269b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 22700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2271982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * Broadcast Action: A new MMS PDU needs to be sent from 2272c9394399180abbc32d04f6a3652ce22d5931e0b8Shishir Agrawal * the device. This intent will only be delivered to a 2273982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * carrier app. That app is responsible for sending the PDU. 2274982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * The intent will have the following extra values:</p> 2275982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * 2276982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * <ul> 2277982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * <li><em>"pdu"</em> - (byte[]) The PDU to send.</li> 2278982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * <li><em>"url"</em> - (String) The optional url to send this MMS PDU. 2279982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * If this is not specified, PDU should be sent to the default MMSC url.</li> 2280982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * </ul> 2281982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * 2282982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * <p>If a BroadcastReceiver is trying to send the message, 2283982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * it should set the result code to {@link android.app.Activity#RESULT_OK} and set 2284982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * the following in the result extra values:</p> 2285982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * 2286982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * <ul> 2287982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * <li><em>"messageref"</em> - (int) The new message reference number which will be 2288982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * later used in the updateMmsSendStatus call.</li> 2289982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * </ul> 2290982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * 2291982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * <p>If a BroadcastReceiver cannot send the message, it should not set the result 2292982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * code and the platform will send it via the normal pathway. 2293982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * </p> 2294982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * 2295982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * <p class="note"><strong>Note:</strong> 2296c9394399180abbc32d04f6a3652ce22d5931e0b8Shishir Agrawal * The broadcast receiver that filters for this intent must be a carrier privileged app. 22975889fd6e26caa9b8164666cd8c29df973fd7c265Shishir Agrawal * It must also declare {@link android.Manifest.permission#BROADCAST_WAP_PUSH} as a required 22985889fd6e26caa9b8164666cd8c29df973fd7c265Shishir Agrawal * permission in the <a href="{@docRoot}guide/topics/manifest/receiver-element.html"> 22995889fd6e26caa9b8164666cd8c29df973fd7c265Shishir Agrawal * {@code <receiver>}</a> tag. 2300982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen */ 2301982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 2302982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen public static final String MMS_SEND_ACTION = 2303982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen "android.provider.Telephony.MMS_SEND"; 2304982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen 2305982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen /** 2306982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * Broadcast Action: A new MMS needs to be downloaded. 2307c9394399180abbc32d04f6a3652ce22d5931e0b8Shishir Agrawal * This intent will only be delivered to a 2308982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * carrier app. That app is responsible for downloading the message at the URL. 2309982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * The intent will have the following extra values:</p> 2310982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * 2311982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * <ul> 2312982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * <li><em>"url"</em> - (String) The message URL to be downloaded.</li> 2313982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * </ul> 2314982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * 2315982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * <p>If a BroadcastReceiver is trying to download the message, 2316982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * it should set the result code to {@link android.app.Activity#RESULT_OK} and set 2317982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * the following in the result extra values:</p> 2318982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * 2319982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * <ul> 2320982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * <li><em>"messageref"</em> - (int) The new message reference number which will be 2321982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * later used in the updateMmsDownloadStatus call.</li> 2322982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * </ul> 2323982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * 2324982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * <p>If a BroadcastReceiver cannot download the message, it should not set the result 2325982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * code and the platform will download it via the normal pathway. 2326982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * </p> 2327982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * 2328982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen * <p class="note"><strong>Note:</strong> 2329c9394399180abbc32d04f6a3652ce22d5931e0b8Shishir Agrawal * The broadcast receiver that filters for this intent must be a carrier privileged app. 23305889fd6e26caa9b8164666cd8c29df973fd7c265Shishir Agrawal * It must also declare {@link android.Manifest.permission#BROADCAST_WAP_PUSH} as a required 23315889fd6e26caa9b8164666cd8c29df973fd7c265Shishir Agrawal * permission in the <a href="{@docRoot}guide/topics/manifest/receiver-element.html"> 23325889fd6e26caa9b8164666cd8c29df973fd7c265Shishir Agrawal * {@code <receiver>}</a> tag. 2333982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen */ 2334982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) 2335982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen public static final String MMS_DOWNLOAD_ACTION = 2336982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen "android.provider.Telephony.MMS_DOWNLOAD"; 2337982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen 2338982c5004a49b57a1f9ca7b054df5a7c0bb3bda20Ye Wen /** 23390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * An extra field which stores the URI of deleted contents. 23400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 23410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DELETED_CONTENTS = "deleted_contents"; 23420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 23430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 23440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 23450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 23460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Contains all MMS and SMS messages. 23470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 23480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class MmsSms implements BaseColumns { 2349b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2350b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2351b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2352b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2353b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2354b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private MmsSms() { 2355b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2356b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 23570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2358b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The column to distinguish SMS and MMS messages in query results. 23590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 23600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TYPE_DISCRIMINATOR_COLUMN = 23610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "transport_type"; 23620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2363b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2364b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 2365b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 23660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_URI = Uri.parse("content://mms-sms/"); 23670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2368b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2369b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table, by conversation. 2370b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 23710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_CONVERSATIONS_URI = Uri.parse( 23720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/conversations"); 23730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2374b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2375b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table, by phone number. 2376b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 23770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_FILTER_BYPHONE_URI = Uri.parse( 23780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/messages/byphone"); 23790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2380b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2381b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for undelivered messages in this table. 2382b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 23830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_UNDELIVERED_URI = Uri.parse( 23840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/undelivered"); 23850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2386b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2387b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for draft messages in this table. 2388b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 23890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_DRAFT_URI = Uri.parse( 23900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/draft"); 23910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2392b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2393b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for locked messages in this table. 2394b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 23950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_LOCKED_URI = Uri.parse( 23960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/locked"); 23970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2398b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2399b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Pass in a query parameter called "pattern" which is the text to search for. 2400b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The sort order is fixed to be: {@code thread_id ASC, date DESC}. 24010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 24020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri SEARCH_URI = Uri.parse( 24030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville "content://mms-sms/search"); 24040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 24050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // Constants for message protocol types. 2406b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2407b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** SMS protocol type. */ 24080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int SMS_PROTO = 0; 2409b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2410b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** MMS protocol type. */ 24110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int MMS_PROTO = 1; 24120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 24130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // Constants for error types of pending messages. 2414b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2415b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: no error. */ 24160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int NO_ERROR = 0; 2417b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2418b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: generic transient error. */ 24190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_GENERIC = 1; 2420b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2421b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: SMS protocol transient error. */ 24220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_SMS_PROTO_TRANSIENT = 2; 2423b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2424b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: MMS protocol transient error. */ 24250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_MMS_PROTO_TRANSIENT = 3; 2426b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2427b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: transport failure. */ 24280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_TRANSPORT_FAILURE = 4; 2429b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2430b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: permanent error (along with all higher error values). */ 24310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_GENERIC_PERMANENT = 10; 2432b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2433b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: SMS protocol permanent error. */ 24340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_SMS_PROTO_PERMANENT = 11; 2435b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2436b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** Error type: MMS protocol permanent error. */ 24370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int ERR_TYPE_MMS_PROTO_PERMANENT = 12; 24380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2439b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2440b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Contains pending messages info. 2441b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 24420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class PendingMessages implements BaseColumns { 2443b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2444b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2445b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2446b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2447b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2448b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private PendingMessages() { 2449b47af9b263628c00b1c890f102091098a31463c0Jake Hamby } 2450b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 24510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Uri CONTENT_URI = Uri.withAppendedPath( 24520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MmsSms.CONTENT_URI, "pending"); 2453b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 24540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2455b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The type of transport protocol (MMS or SMS). 24560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 24570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 24580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PROTO_TYPE = "proto_type"; 2459b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 24600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 24610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The ID of the message to be sent or downloaded. 2462b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 24630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 24640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MSG_ID = "msg_id"; 2465b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 24660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 24670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The type of the message to be sent or downloaded. 2468b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * This field is only valid for MM. For SM, its value is always set to 0. 2469b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 24700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 24710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MSG_TYPE = "msg_type"; 2472b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 24730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 24740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The type of the error code. 24750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 24760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 24770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ERROR_TYPE = "err_type"; 2478b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 24790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 24800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The error code of sending/retrieving process. 2481b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 24820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 24830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ERROR_CODE = "err_code"; 2484b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 24850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 24860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * How many times we tried to send or download the message. 2487b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 24880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 24890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String RETRY_INDEX = "retry_index"; 2490b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 24910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 24920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The time to do next retry. 2493b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 24940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 24950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DUE_TIME = "due_time"; 2496b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 24970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 24980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The time we last tried to send or download the message. 2499b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 25000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 25010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String LAST_TRY = "last_try"; 2502a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 2503a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 2504a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * The sub_id to which the pending message belongs to 2505a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * <p>Type: INTEGER (long) </p> 2506a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 2507a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 2508a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville public static final String SUB_ID = "pending_sub_id"; 25090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 25100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2511b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2512b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Words table used by provider for full-text searches. 2513b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2514b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class WordsTable { 2516b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2517b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2518b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2519b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2520b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2521b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private WordsTable() {} 2522b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2523b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2524b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Primary key. 2525b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 2526b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ID = "_id"; 2528b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2529b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2530b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Source row ID. 2531b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (long)</P> 2532b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SOURCE_ROW_ID = "source_id"; 2534b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2535b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2536b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Table ID (either 1 or 2). 2537b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 2538b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TABLE_ID = "table_to_use"; 2540b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2541b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2542b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The words to index. 2543b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2544b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String INDEXED_TEXT = "index_text"; 25460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 25470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 25480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2549b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2550b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Carriers class contains information about APNs, including MMSC information. 2551b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class Carriers implements BaseColumns { 2553b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 2554b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2555b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2556b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2557b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2558b47af9b263628c00b1c890f102091098a31463c0Jake Hamby private Carriers() {} 2559b47af9b263628c00b1c890f102091098a31463c0Jake Hamby 25600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2561b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} style URL for this table. 25620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2563b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://telephony/carriers"); 25640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 25650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2566b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The default sort order for this table. 25670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 25680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = "name ASC"; 25690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2570b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2571b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Entry name. 2572b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2573b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String NAME = "name"; 25750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2576b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2577b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * APN name. 2578b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2579b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String APN = "apn"; 25810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2582b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2583b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Proxy address. 2584b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2585b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PROXY = "proxy"; 25870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2588b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2589b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Proxy port. 2590b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2591b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PORT = "port"; 25930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2594b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2595b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * MMS proxy address. 2596b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2597b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 25980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MMSPROXY = "mmsproxy"; 25990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2600b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2601b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * MMS proxy port. 2602b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2603b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MMSPORT = "mmsport"; 26050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2606b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2607b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Server address. 2608b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2609b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SERVER = "server"; 26110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2612b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2613b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * APN username. 2614b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2615b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String USER = "user"; 26170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2618b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2619b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * APN password. 2620b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2621b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PASSWORD = "password"; 26230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2624b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2625b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * MMSC URL. 2626b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2627b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MMSC = "mmsc"; 26290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2630b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2631b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Mobile Country Code (MCC). 2632b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2633b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MCC = "mcc"; 26350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2636b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2637b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Mobile Network Code (MNC). 2638b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2639b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MNC = "mnc"; 26410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2642b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2643b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Numeric operator ID (as String). Usually {@code MCC + MNC}. 2644b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2645b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String NUMERIC = "numeric"; 26470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2648b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2649b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Authentication type. 2650b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 2651b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String AUTH_TYPE = "authtype"; 26530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2654b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2655b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Comma-delimited list of APN types. 2656b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2657b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String TYPE = "type"; 26590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 26600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2661b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The protocol to use to connect to this APN. 26620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 2663b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * One of the {@code PDP_type} values in TS 27.007 section 10.1.1. 2664b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * For example: {@code IP}, {@code IPV6}, {@code IPV4V6}, or {@code PPP}. 2665b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 26660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 26670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PROTOCOL = "protocol"; 26680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 26690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2670b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The protocol to use to connect to this APN when roaming. 2671b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The syntax is the same as protocol. 2672b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2673b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ROAMING_PROTOCOL = "roaming_protocol"; 26750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2676b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2677b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is this the current APN? 2678b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 2679b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CURRENT = "current"; 26810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 26820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2683b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Is this APN enabled? 2684b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER (boolean)</P> 2685b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CARRIER_ENABLED = "carrier_enabled"; 26870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 26880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2689b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Radio Access Technology info. 2690b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * To check what values are allowed, refer to {@link android.telephony.ServiceState}. 2691b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * This should be spread to other technologies, 2692b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * but is currently only used for LTE (14) and eHRPD (13). 2693b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: INTEGER</P> 2694b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 26950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String BEARER = "bearer"; 2696a796ca5b3f8501630405f1ce2635dde9011b7373Sungmin Choi 2697a796ca5b3f8501630405f1ce2635dde9011b7373Sungmin Choi /** 2698b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * MVNO type: 2699b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * {@code SPN (Service Provider Name), IMSI, GID (Group Identifier Level 1)}. 2700b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2701b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2702a796ca5b3f8501630405f1ce2635dde9011b7373Sungmin Choi public static final String MVNO_TYPE = "mvno_type"; 2703a796ca5b3f8501630405f1ce2635dde9011b7373Sungmin Choi 2704a796ca5b3f8501630405f1ce2635dde9011b7373Sungmin Choi /** 2705b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * MVNO data. 2706b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Use the following examples. 2707b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <ul> 2708b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <li>SPN: A MOBILE, BEN NL, ...</li> 2709b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <li>IMSI: 302720x94, 2060188, ...</li> 2710b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <li>GID: 4E, 33, ...</li> 2711b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * </ul> 2712b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * <P>Type: TEXT</P> 2713b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 2714a796ca5b3f8501630405f1ce2635dde9011b7373Sungmin Choi public static final String MVNO_MATCH_DATA = "mvno_match_data"; 2715a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 2716a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville /** 2717a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * The sub_id to which the APN belongs to 2718a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * <p>Type: INTEGER (long) </p> 2719a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville * @hide 2720a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville */ 2721a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville public static final String SUB_ID = "sub_id"; 2722a8467dd0c524787104b1ccdddc5e8af10ba729edWink Saville 27239d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan /** 27249d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * The profile_id to which the APN saved in modem 27259d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * <p>Type: INTEGER</p> 27269d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan *@hide 27279d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan */ 27289d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan public static final String PROFILE_ID = "profile_id"; 27299d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan 27309d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan /** 27319d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * Is the apn setting to be set in modem 27329d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * <P>Type: INTEGER (boolean)</P> 27339d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan *@hide 27349d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan */ 27359d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan public static final String MODEM_COGNITIVE = "modem_cognitive"; 27369d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan 27379d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan /** 27389d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * The max connections of this apn 27399d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * <p>Type: INTEGER</p> 27409d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan *@hide 27419d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan */ 27429d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan public static final String MAX_CONNS = "max_conns"; 27439d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan 27449d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan /** 27459d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * The wait time for retry of the apn 27469d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * <p>Type: INTEGER</p> 27479d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan *@hide 27489d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan */ 27499d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan public static final String WAIT_TIME = "wait_time"; 27509d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan 27519d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan /** 27529d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * The time to limit max connection for the apn 27539d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan * <p>Type: INTEGER</p> 27549d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan *@hide 27559d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan */ 27569d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan public static final String MAX_CONNS_TIME = "max_conns_time"; 27579d4ec7d45061f1da05f16cd244eb0a798e7f36bbAmit Mahajan 2758e9701717e43cc5aacbcf624f77a53be92350662cw /** 2759e9701717e43cc5aacbcf624f77a53be92350662cw * The MTU size of the mobile interface to which the APN connected 2760e9701717e43cc5aacbcf624f77a53be92350662cw * <p>Type: INTEGER </p> 2761e9701717e43cc5aacbcf624f77a53be92350662cw * @hide 2762e9701717e43cc5aacbcf624f77a53be92350662cw */ 2763e9701717e43cc5aacbcf624f77a53be92350662cw public static final String MTU = "mtu"; 27640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 27650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 27660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 27670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Contains received SMS cell broadcast messages. 2768b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 27690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 27700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final class CellBroadcasts implements BaseColumns { 27710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2772b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** 2773b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Not instantiable. 2774b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * @hide 2775b47af9b263628c00b1c890f102091098a31463c0Jake Hamby */ 27760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private CellBroadcasts() {} 27770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 27780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2779b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * The {@code content://} URI for this table. 27800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2781b47af9b263628c00b1c890f102091098a31463c0Jake Hamby public static final Uri CONTENT_URI = Uri.parse("content://cellbroadcasts"); 27820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 27830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 27840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message geographical scope. 27850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 27860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 27870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String GEOGRAPHICAL_SCOPE = "geo_scope"; 27880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 27890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 27900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message serial number. 27910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 27920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 27930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SERIAL_NUMBER = "serial_number"; 27940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 27950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2796b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * PLMN of broadcast sender. {@code SERIAL_NUMBER + PLMN + LAC + CID} uniquely identifies 2797b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * a broadcast for duplicate detection purposes. 27980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 27990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String PLMN = "plmn"; 28010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Location Area (GSM) or Service Area (UMTS) of broadcast sender. Unused for CDMA. 28040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Only included if Geographical Scope of message is not PLMN wide (01). 28050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String LAC = "lac"; 28080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Cell ID of message sender (GSM/UMTS). Unused for CDMA. Only included when the 28110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Geographical Scope of message is cell wide (00 or 11). 28120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CID = "cid"; 28150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2817b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Message code. <em>OBSOLETE: merged into SERIAL_NUMBER.</em> 28180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String V1_MESSAGE_CODE = "message_code"; 28210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2823b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Message identifier. <em>OBSOLETE: renamed to SERVICE_CATEGORY.</em> 28240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String V1_MESSAGE_IDENTIFIER = "message_id"; 28270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2829b47af9b263628c00b1c890f102091098a31463c0Jake Hamby * Service category (GSM/UMTS: message identifier; CDMA: service category). 28300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String SERVICE_CATEGORY = "service_category"; 28330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message language code. 28360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 28370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String LANGUAGE_CODE = "language"; 28390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message body. 28420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: TEXT</P> 28430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_BODY = "body"; 28450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message delivery time. 28480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (long)</P> 28490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DELIVERY_TIME = "date"; 28510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Has the message been viewed? 28540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER (boolean)</P> 28550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_READ = "read"; 28570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message format (3GPP or 3GPP2). 28600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_FORMAT = "format"; 28630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message priority (including emergency). 28660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String MESSAGE_PRIORITY = "priority"; 28690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * ETWS warning type (ETWS alerts only). 28720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String ETWS_WARNING_TYPE = "etws_warning_type"; 28750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CMAS message class (CMAS alerts only). 28780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CMAS_MESSAGE_CLASS = "cmas_message_class"; 28810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CMAS category (CMAS alerts only). 28840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CMAS_CATEGORY = "cmas_category"; 28870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CMAS response type (CMAS alerts only). 28900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CMAS_RESPONSE_TYPE = "cmas_response_type"; 28930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 28940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 28950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CMAS severity (CMAS alerts only). 28960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 28970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 28980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CMAS_SEVERITY = "cmas_severity"; 28990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 29000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 29010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CMAS urgency (CMAS alerts only). 29020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 29030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 29040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CMAS_URGENCY = "cmas_urgency"; 29050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 29060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 29070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CMAS certainty (CMAS alerts only). 29080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <P>Type: INTEGER</P> 29090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 29100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String CMAS_CERTAINTY = "cmas_certainty"; 29110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2912b47af9b263628c00b1c890f102091098a31463c0Jake Hamby /** The default sort order for this table. */ 29130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String DEFAULT_SORT_ORDER = DELIVERY_TIME + " DESC"; 29140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 29150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 29160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Query columns for instantiating {@link android.telephony.CellBroadcastMessage} objects. 29170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 29180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final String[] QUERY_COLUMNS = { 29190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville _ID, 29200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville GEOGRAPHICAL_SCOPE, 29210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville PLMN, 29220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville LAC, 29230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CID, 29240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville SERIAL_NUMBER, 29250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville SERVICE_CATEGORY, 29260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville LANGUAGE_CODE, 29270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MESSAGE_BODY, 29280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville DELIVERY_TIME, 29290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MESSAGE_READ, 29300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MESSAGE_FORMAT, 29310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MESSAGE_PRIORITY, 29320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ETWS_WARNING_TYPE, 29330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMAS_MESSAGE_CLASS, 29340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMAS_CATEGORY, 29350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMAS_RESPONSE_TYPE, 29360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMAS_SEVERITY, 29370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMAS_URGENCY, 29380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CMAS_CERTAINTY 29390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville }; 29400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 29410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville} 2942