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