1 /* 2 * Copyright (C) 2011 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.exchange.provider; 18 19 import com.android.emailcommon.provider.Account; 20 import com.android.emailcommon.provider.EmailContent.Message; 21 import com.android.emailcommon.provider.Mailbox; 22 23 import android.content.Context; 24 25 /** 26 * Simplified EmailContent class setup (condensed from ProviderTestUtils in com.android.email) 27 */ 28 public class EmailContentSetupUtils { 29 30 /** 31 * No constructor - statics only 32 */ 33 private EmailContentSetupUtils() { 34 } 35 36 /** 37 * Create an account for test purposes 38 */ 39 public static Account setupAccount(String name, boolean saveIt, Context context) { 40 Account account = new Account(); 41 42 account.mDisplayName = name; 43 account.mEmailAddress = name + "@android.com"; 44 account.mProtocolVersion = "2.5" + name; 45 if (saveIt) { 46 account.save(context); 47 } 48 return account; 49 } 50 51 /** 52 * Create a mailbox for test purposes 53 */ 54 public static Mailbox setupMailbox(String name, long accountId, boolean saveIt, 55 Context context) { 56 return setupMailbox(name, accountId, saveIt, context, Mailbox.TYPE_MAIL, null); 57 } 58 59 public static Mailbox setupMailbox(String name, long accountId, boolean saveIt, 60 Context context, int type) { 61 return setupMailbox(name, accountId, saveIt, context, type, null); 62 } 63 64 public static Mailbox setupMailbox(String name, long accountId, boolean saveIt, 65 Context context, int type, Mailbox parentBox) { 66 Mailbox box = new Mailbox(); 67 68 box.mDisplayName = name; 69 box.mAccountKey = accountId; 70 box.mSyncKey = "sync-key-" + name; 71 box.mSyncLookback = 2; 72 box.mSyncInterval = Account.CHECK_INTERVAL_NEVER; 73 box.mType = type; 74 box.mServerId = "serverid-" + name; 75 box.mParentServerId = parentBox != null ? parentBox.mServerId : "parent-serverid-" + name; 76 77 if (saveIt) { 78 box.save(context); 79 } 80 return box; 81 } 82 83 /** 84 * Create a message for test purposes 85 */ 86 public static Message setupMessage(String name, long accountId, long mailboxId, 87 boolean addBody, boolean saveIt, Context context) { 88 // Default starred, read, (backword compatibility) 89 return setupMessage(name, accountId, mailboxId, addBody, saveIt, context, true, true); 90 } 91 92 /** 93 * Create a message for test purposes 94 */ 95 public static Message setupMessage(String name, long accountId, long mailboxId, 96 boolean addBody, boolean saveIt, Context context, boolean starred, boolean read) { 97 Message message = new Message(); 98 99 message.mDisplayName = name; 100 message.mMailboxKey = mailboxId; 101 message.mAccountKey = accountId; 102 message.mFlagRead = read; 103 message.mFlagLoaded = Message.FLAG_LOADED_UNLOADED; 104 message.mFlagFavorite = starred; 105 message.mServerId = "serverid " + name; 106 107 if (addBody) { 108 message.mText = "body text " + name; 109 message.mHtml = "body html " + name; 110 } 111 112 if (saveIt) { 113 message.save(context); 114 } 115 return message; 116 } 117 } 118