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