170be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulzpackage com.android.bluetooth.tests;
270be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz
370be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulzimport android.test.AndroidTestCase;
470be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulzimport android.util.Log;
570be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulzimport android.database.Cursor;
670be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulzimport android.content.Context;
770be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulzimport android.content.ContentResolver;
870be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz
970be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulzimport java.text.SimpleDateFormat;
1070be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulzimport java.util.Date;
1170be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz
1270be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulzimport com.android.bluetooth.map.BluetoothMapContent;
1370be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulzimport com.android.bluetooth.map.BluetoothMapContentObserver;
1470be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz
1570be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulzimport com.android.emailcommon.provider.EmailContent;
1670be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulzimport com.android.emailcommon.provider.EmailContent.Message;
1770be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulzimport com.android.emailcommon.provider.EmailContent.MessageColumns;
1870be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulzimport com.android.emailcommon.provider.EmailContent.SyncColumns;
1970be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz
2070be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulzpublic class BluetoothMapContentTest extends AndroidTestCase {
2170be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz    private static final String TAG = "BluetoothMapContentTest";
2270be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz
2370be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz    private static final boolean D = true;
2470be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz    private static final boolean V = true;
2570be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz
2670be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz    private Context mContext;
2770be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz    private ContentResolver mResolver;
2870be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz
2970be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz    static final String[] EMAIL_PROJECTION = new String[] {
3070be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        EmailContent.RECORD_ID,
3170be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        MessageColumns.DISPLAY_NAME, MessageColumns.TIMESTAMP,
3270be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        MessageColumns.SUBJECT, MessageColumns.FLAG_READ,
3370be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        MessageColumns.FLAG_ATTACHMENT, MessageColumns.FLAGS,
34b42ddd9abf40e1f3e3c5a33fa67dea898adcb219Ying Wang        SyncColumns.SERVER_ID, MessageColumns.DRAFT_INFO,
3570be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        MessageColumns.MESSAGE_ID, MessageColumns.MAILBOX_KEY,
3670be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        MessageColumns.ACCOUNT_KEY, MessageColumns.FROM_LIST,
3770be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        MessageColumns.TO_LIST, MessageColumns.CC_LIST,
3870be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        MessageColumns.BCC_LIST, MessageColumns.REPLY_TO_LIST,
3970be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        SyncColumns.SERVER_TIMESTAMP, MessageColumns.MEETING_INFO,
4070be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        MessageColumns.SNIPPET, MessageColumns.PROTOCOL_SEARCH_INFO,
4170be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        MessageColumns.THREAD_TOPIC
4270be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz    };
4370be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz
4470be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz    private String getDateTimeString(long timestamp) {
4570be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd'T'HHmmss");
4670be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        Date date = new Date(timestamp);
4770be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        return format.format(date); // Format to YYYYMMDDTHHMMSS local time
4870be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz    }
4970be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz
5070be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz    private void printEmail(Cursor c) {
5170be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        if (D) Log.d(TAG, "printEmail " +
5270be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            c.getLong(c.getColumnIndex(EmailContent.RECORD_ID)) +
5370be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + MessageColumns.DISPLAY_NAME + " : " + c.getString(c.getColumnIndex(MessageColumns.DISPLAY_NAME)) +
5470be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + MessageColumns.TIMESTAMP + " : " + getDateTimeString(c.getLong(c.getColumnIndex(MessageColumns.TIMESTAMP))) +
5570be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + MessageColumns.SUBJECT + " : " + c.getString(c.getColumnIndex(MessageColumns.SUBJECT)) +
5670be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + MessageColumns.FLAG_READ + " : " + c.getString(c.getColumnIndex(MessageColumns.FLAG_READ)) +
5770be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + MessageColumns.FLAG_ATTACHMENT + " : " + c.getInt(c.getColumnIndex(MessageColumns.FLAG_ATTACHMENT)) +
5870be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + MessageColumns.FLAGS + " : " + c.getInt(c.getColumnIndex(MessageColumns.FLAGS)) +
5970be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + SyncColumns.SERVER_ID + " : " + c.getInt(c.getColumnIndex(SyncColumns.SERVER_ID)) +
60b42ddd9abf40e1f3e3c5a33fa67dea898adcb219Ying Wang            "\n   " + MessageColumns.DRAFT_INFO + " : " + c.getInt(c.getColumnIndex(MessageColumns.DRAFT_INFO)) +
6170be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + MessageColumns.MESSAGE_ID + " : " + c.getInt(c.getColumnIndex(MessageColumns.MESSAGE_ID)) +
6270be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + MessageColumns.MAILBOX_KEY + " : " + c.getInt(c.getColumnIndex(MessageColumns.MAILBOX_KEY)) +
6370be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + MessageColumns.ACCOUNT_KEY + " : " + c.getInt(c.getColumnIndex(MessageColumns.ACCOUNT_KEY)) +
6470be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + MessageColumns.FROM_LIST + " : " + c.getString(c.getColumnIndex(MessageColumns.FROM_LIST)) +
6570be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + MessageColumns.TO_LIST + " : " + c.getString(c.getColumnIndex(MessageColumns.TO_LIST)) +
6670be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + MessageColumns.CC_LIST + " : " + c.getString(c.getColumnIndex(MessageColumns.CC_LIST)) +
6770be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + MessageColumns.BCC_LIST + " : " + c.getString(c.getColumnIndex(MessageColumns.BCC_LIST)) +
6870be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + MessageColumns.REPLY_TO_LIST + " : " + c.getString(c.getColumnIndex(MessageColumns.REPLY_TO_LIST)) +
6970be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + SyncColumns.SERVER_TIMESTAMP + " : " + getDateTimeString(c.getLong(c.getColumnIndex(SyncColumns.SERVER_TIMESTAMP))) +
7070be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + MessageColumns.MEETING_INFO + " : " + c.getString(c.getColumnIndex(MessageColumns.MEETING_INFO)) +
7170be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + MessageColumns.SNIPPET + " : " + c.getString(c.getColumnIndex(MessageColumns.SNIPPET)) +
7270be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + MessageColumns.PROTOCOL_SEARCH_INFO + " : " + c.getString(c.getColumnIndex(MessageColumns.PROTOCOL_SEARCH_INFO)) +
7370be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            "\n   " + MessageColumns.THREAD_TOPIC + " : " + c.getString(c.getColumnIndex(MessageColumns.THREAD_TOPIC)));
7470be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz    }
7570be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz
7670be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz    public void dumpEmailMessageTable() {
7770be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        Log.d(TAG, "**** Dump of email message table ****");
7870be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz
7970be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        Cursor c = mResolver.query(Message.CONTENT_URI,
8070be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            EMAIL_PROJECTION, null, null, "_id DESC");
8170be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        if (c != null) {
8270be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            Log.d(TAG, "c.getCount() = " + c.getCount());
8370be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            c.moveToPosition(-1);
8470be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            while (c.moveToNext()) {
8570be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz                printEmail(c);
8670be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            }
8770be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        } else {
8870be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            Log.d(TAG, "query failed");
8970be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz            c.close();
9070be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        }
9170be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz    }
9270be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz
9370be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz    public BluetoothMapContentTest() {
9470be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        super();
9570be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz    }
9670be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz
9770be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz    public void testDumpMessages() {
9870be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        mContext = this.getContext();
9970be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        mResolver = mContext.getContentResolver();
10070be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz        dumpEmailMessageTable();
10170be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz    }
10270be005a18a35ec5fcb46152f0dfbe82156efa3aKim Schulz}
103