BluetoothMapContentTest.java revision 70be005a18a35ec5fcb46152f0dfbe82156efa3a
1package com.android.bluetooth.tests;
2
3import android.test.AndroidTestCase;
4import android.util.Log;
5import android.database.Cursor;
6import android.content.Context;
7import android.content.ContentResolver;
8
9import java.text.SimpleDateFormat;
10import java.util.Date;
11
12import com.android.bluetooth.map.BluetoothMapContent;
13import com.android.bluetooth.map.BluetoothMapContentObserver;
14
15import com.android.emailcommon.provider.EmailContent;
16import com.android.emailcommon.provider.EmailContent.Message;
17import com.android.emailcommon.provider.EmailContent.MessageColumns;
18import com.android.emailcommon.provider.EmailContent.SyncColumns;
19
20public class BluetoothMapContentTest extends AndroidTestCase {
21    private static final String TAG = "BluetoothMapContentTest";
22
23    private static final boolean D = true;
24    private static final boolean V = true;
25
26    private Context mContext;
27    private ContentResolver mResolver;
28
29    static final String[] EMAIL_PROJECTION = new String[] {
30        EmailContent.RECORD_ID,
31        MessageColumns.DISPLAY_NAME, MessageColumns.TIMESTAMP,
32        MessageColumns.SUBJECT, MessageColumns.FLAG_READ,
33        MessageColumns.FLAG_ATTACHMENT, MessageColumns.FLAGS,
34        SyncColumns.SERVER_ID, MessageColumns.CLIENT_ID,
35        MessageColumns.MESSAGE_ID, MessageColumns.MAILBOX_KEY,
36        MessageColumns.ACCOUNT_KEY, MessageColumns.FROM_LIST,
37        MessageColumns.TO_LIST, MessageColumns.CC_LIST,
38        MessageColumns.BCC_LIST, MessageColumns.REPLY_TO_LIST,
39        SyncColumns.SERVER_TIMESTAMP, MessageColumns.MEETING_INFO,
40        MessageColumns.SNIPPET, MessageColumns.PROTOCOL_SEARCH_INFO,
41        MessageColumns.THREAD_TOPIC
42    };
43
44    private String getDateTimeString(long timestamp) {
45        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd'T'HHmmss");
46        Date date = new Date(timestamp);
47        return format.format(date); // Format to YYYYMMDDTHHMMSS local time
48    }
49
50    private void printEmail(Cursor c) {
51        if (D) Log.d(TAG, "printEmail " +
52            c.getLong(c.getColumnIndex(EmailContent.RECORD_ID)) +
53            "\n   " + MessageColumns.DISPLAY_NAME + " : " + c.getString(c.getColumnIndex(MessageColumns.DISPLAY_NAME)) +
54            "\n   " + MessageColumns.TIMESTAMP + " : " + getDateTimeString(c.getLong(c.getColumnIndex(MessageColumns.TIMESTAMP))) +
55            "\n   " + MessageColumns.SUBJECT + " : " + c.getString(c.getColumnIndex(MessageColumns.SUBJECT)) +
56            "\n   " + MessageColumns.FLAG_READ + " : " + c.getString(c.getColumnIndex(MessageColumns.FLAG_READ)) +
57            "\n   " + MessageColumns.FLAG_ATTACHMENT + " : " + c.getInt(c.getColumnIndex(MessageColumns.FLAG_ATTACHMENT)) +
58            "\n   " + MessageColumns.FLAGS + " : " + c.getInt(c.getColumnIndex(MessageColumns.FLAGS)) +
59            "\n   " + SyncColumns.SERVER_ID + " : " + c.getInt(c.getColumnIndex(SyncColumns.SERVER_ID)) +
60            "\n   " + MessageColumns.CLIENT_ID + " : " + c.getInt(c.getColumnIndex(MessageColumns.CLIENT_ID)) +
61            "\n   " + MessageColumns.MESSAGE_ID + " : " + c.getInt(c.getColumnIndex(MessageColumns.MESSAGE_ID)) +
62            "\n   " + MessageColumns.MAILBOX_KEY + " : " + c.getInt(c.getColumnIndex(MessageColumns.MAILBOX_KEY)) +
63            "\n   " + MessageColumns.ACCOUNT_KEY + " : " + c.getInt(c.getColumnIndex(MessageColumns.ACCOUNT_KEY)) +
64            "\n   " + MessageColumns.FROM_LIST + " : " + c.getString(c.getColumnIndex(MessageColumns.FROM_LIST)) +
65            "\n   " + MessageColumns.TO_LIST + " : " + c.getString(c.getColumnIndex(MessageColumns.TO_LIST)) +
66            "\n   " + MessageColumns.CC_LIST + " : " + c.getString(c.getColumnIndex(MessageColumns.CC_LIST)) +
67            "\n   " + MessageColumns.BCC_LIST + " : " + c.getString(c.getColumnIndex(MessageColumns.BCC_LIST)) +
68            "\n   " + MessageColumns.REPLY_TO_LIST + " : " + c.getString(c.getColumnIndex(MessageColumns.REPLY_TO_LIST)) +
69            "\n   " + SyncColumns.SERVER_TIMESTAMP + " : " + getDateTimeString(c.getLong(c.getColumnIndex(SyncColumns.SERVER_TIMESTAMP))) +
70            "\n   " + MessageColumns.MEETING_INFO + " : " + c.getString(c.getColumnIndex(MessageColumns.MEETING_INFO)) +
71            "\n   " + MessageColumns.SNIPPET + " : " + c.getString(c.getColumnIndex(MessageColumns.SNIPPET)) +
72            "\n   " + MessageColumns.PROTOCOL_SEARCH_INFO + " : " + c.getString(c.getColumnIndex(MessageColumns.PROTOCOL_SEARCH_INFO)) +
73            "\n   " + MessageColumns.THREAD_TOPIC + " : " + c.getString(c.getColumnIndex(MessageColumns.THREAD_TOPIC)));
74    }
75
76    public void dumpEmailMessageTable() {
77        Log.d(TAG, "**** Dump of email message table ****");
78
79        Cursor c = mResolver.query(Message.CONTENT_URI,
80            EMAIL_PROJECTION, null, null, "_id DESC");
81        if (c != null) {
82            Log.d(TAG, "c.getCount() = " + c.getCount());
83            c.moveToPosition(-1);
84            while (c.moveToNext()) {
85                printEmail(c);
86            }
87        } else {
88            Log.d(TAG, "query failed");
89            c.close();
90        }
91    }
92
93    public BluetoothMapContentTest() {
94        super();
95    }
96
97    public void testDumpMessages() {
98        mContext = this.getContext();
99        mResolver = mContext.getContentResolver();
100        dumpEmailMessageTable();
101    }
102}
103