Home | History | Annotate | Download | only in tests
      1 package com.android.bluetooth.tests;
      2 
      3 import android.test.AndroidTestCase;
      4 import android.util.Log;
      5 import android.database.Cursor;
      6 import android.content.Context;
      7 import android.content.ContentResolver;
      8 
      9 import java.text.SimpleDateFormat;
     10 import java.util.Date;
     11 
     12 import com.android.bluetooth.map.BluetoothMapContent;
     13 import com.android.bluetooth.map.BluetoothMapContentObserver;
     14 
     15 import com.android.emailcommon.provider.EmailContent;
     16 import com.android.emailcommon.provider.EmailContent.Message;
     17 import com.android.emailcommon.provider.EmailContent.MessageColumns;
     18 import com.android.emailcommon.provider.EmailContent.SyncColumns;
     19 
     20 public 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.DRAFT_INFO,
     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.DRAFT_INFO + " : " + c.getInt(c.getColumnIndex(MessageColumns.DRAFT_INFO)) +
     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