diff --git a/Android.mk b/Android.mk
index 8d61024a2..cc9a53549 100644
--- a/Android.mk
+++ b/Android.mk
@@ -19,11 +19,12 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
-# Include res dir from chips, unified, and photoviewer
+# Include res dir from chips, unified, emailcommon, and photoviewer
chips_dir := ../../../frameworks/ex/chips/res
unified_email_dir := ../UnifiedEmail
photo_dir := ../../../frameworks/opt/photoviewer/res
-res_dir := $(chips_dir) res $(unified_email_dir)/res $(photo_dir) build/res
+emailcommon_dir := emailcommon
+res_dir := $(chips_dir) res $(unified_email_dir)/res $(photo_dir) $(emailcommon_dir)/res build/res
LOCAL_MODULE_TAGS := optional
@@ -38,9 +39,9 @@ LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dir))
LOCAL_ASSET_DIR := $(LOCAL_PATH)/$(unified_email_dir)/assets
LOCAL_AAPT_FLAGS := --auto-add-overlay
-LOCAL_AAPT_FLAGS += --extra-packages com.android.ex.chips:com.android.mail:com.android.email:com.android.ex.photo
+LOCAL_AAPT_FLAGS += --extra-packages com.android.ex.chips:com.android.mail:com.android.email:com.android.emailcommon:com.android.ex.photo
-LOCAL_STATIC_JAVA_LIBRARIES := android-common com.android.emailcommon2 com.android.emailsync guava android-common-chips libphotoviewer
+LOCAL_STATIC_JAVA_LIBRARIES := android-common com.android.emailcommon com.android.emailsync guava android-common-chips libphotoviewer
LOCAL_STATIC_JAVA_LIBRARIES += android-support-v4
LOCAL_STATIC_JAVA_LIBRARIES += android-support-v13
diff --git a/CleanSpec.mk b/CleanSpec.mk
index 8a60b6966..289e65b24 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -50,4 +50,5 @@
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.email*)
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/Email*)
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.email*)
-$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/Email*)
\ No newline at end of file
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/Email*)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.email*)
\ No newline at end of file
diff --git a/emailcommon/Android.mk b/emailcommon/Android.mk
index 872e6c227..55f9525ca 100644
--- a/emailcommon/Android.mk
+++ b/emailcommon/Android.mk
@@ -31,7 +31,7 @@ imported_unified_email_files := \
$(unified_email_src_dir)/com/android/mail/utils/LogUtils.java \
$(unified_email_src_dir)/com/android/mail/providers/UIProvider.java
-LOCAL_MODULE := com.android.emailcommon2
+LOCAL_MODULE := com.android.emailcommon
LOCAL_STATIC_JAVA_LIBRARIES := guava android-common
LOCAL_SRC_FILES := $(call all-java-files-under, src/com/android/emailcommon)
LOCAL_SRC_FILES += \
@@ -44,4 +44,6 @@ LOCAL_SRC_FILES += $(imported_unified_email_files)
LOCAL_SDK_VERSION := 14
+LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
+
include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/emailcommon/AndroidManifest.xml b/emailcommon/AndroidManifest.xml
new file mode 100644
index 000000000..a31137da4
--- /dev/null
+++ b/emailcommon/AndroidManifest.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/emailcommon/res/values/strings.xml b/emailcommon/res/values/strings.xml
new file mode 100644
index 000000000..15acd80e8
--- /dev/null
+++ b/emailcommon/res/values/strings.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+ Inbox
+
+ Outbox
+
+ Drafts
+
+ Trash
+
+ Sent
+
+ Junk
+
+ Starred
+
diff --git a/emailcommon/src/com/android/emailcommon/provider/Mailbox.java b/emailcommon/src/com/android/emailcommon/provider/Mailbox.java
index 77d5138b0..e8d5c1c55 100644
--- a/emailcommon/src/com/android/emailcommon/provider/Mailbox.java
+++ b/emailcommon/src/com/android/emailcommon/provider/Mailbox.java
@@ -27,6 +27,7 @@ import android.os.Parcelable;
import android.util.Log;
import com.android.emailcommon.Logging;
+import com.android.emailcommon.R;
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
import com.android.emailcommon.provider.EmailContent.SyncColumns;
import com.android.emailcommon.utility.Utility;
@@ -229,6 +230,36 @@ public class Mailbox extends EmailContent implements SyncColumns, MailboxColumns
mBaseUri = CONTENT_URI;
}
+ public static String getSystemMailboxName(Context context, int mailboxType) {
+ int resId = -1;
+ switch (mailboxType) {
+ case Mailbox.TYPE_INBOX:
+ resId = R.string.mailbox_name_server_inbox;
+ break;
+ case Mailbox.TYPE_OUTBOX:
+ resId = R.string.mailbox_name_server_outbox;
+ break;
+ case Mailbox.TYPE_DRAFTS:
+ resId = R.string.mailbox_name_server_drafts;
+ break;
+ case Mailbox.TYPE_TRASH:
+ resId = R.string.mailbox_name_server_trash;
+ break;
+ case Mailbox.TYPE_SENT:
+ resId = R.string.mailbox_name_server_sent;
+ break;
+ case Mailbox.TYPE_JUNK:
+ resId = R.string.mailbox_name_server_junk;
+ break;
+ case Mailbox.TYPE_STARRED:
+ resId = R.string.mailbox_name_server_starred;
+ break;
+ default:
+ throw new IllegalArgumentException("Illegal mailbox type");
+ }
+ return context.getString(resId);
+ }
+
/**
* Restore a Mailbox from the database, given its unique id
* @param context
@@ -246,7 +277,7 @@ public class Mailbox extends EmailContent implements SyncColumns, MailboxColumns
* system mailboxes synced with the server.
* Note: the mailbox is not persisted - clients must call {@link #save} themselves.
*/
- public static Mailbox newSystemMailbox(long accountId, int mailboxType, String name) {
+ public static Mailbox newSystemMailbox(Context context, long accountId, int mailboxType) {
if (mailboxType == Mailbox.TYPE_MAIL) {
throw new IllegalArgumentException("Cannot specify TYPE_MAIL for a system mailbox");
}
@@ -255,7 +286,8 @@ public class Mailbox extends EmailContent implements SyncColumns, MailboxColumns
box.mType = mailboxType;
box.mSyncInterval = Account.CHECK_INTERVAL_NEVER;
box.mFlagVisible = true;
- box.mServerId = box.mDisplayName = name;
+ // TODO: Fix how display names work.
+ box.mServerId = box.mDisplayName = getSystemMailboxName(context, mailboxType);
box.mParentKey = Mailbox.NO_MAILBOX;
box.mFlags = Mailbox.FLAG_HOLDS_MAIL;
return box;
diff --git a/emailsync/Android.mk b/emailsync/Android.mk
index 0076c5d72..5f18d175d 100644
--- a/emailsync/Android.mk
+++ b/emailsync/Android.mk
@@ -23,7 +23,7 @@ include $(CLEAR_VARS)
LOCAL_MODULE := com.android.emailsync
LOCAL_SRC_FILES := $(call all-java-files-under, src/com/android/emailsync)
-LOCAL_STATIC_JAVA_LIBRARIES := com.android.emailcommon2
+LOCAL_STATIC_JAVA_LIBRARIES := com.android.emailcommon
LOCAL_SDK_VERSION := 14
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 72d1261ca..d53cfd618 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -179,20 +179,6 @@
- %1$d account
- %1$d accounts
-
-
- Inbox
-
- Outbox
-
- Drafts
-
- Trash
-
- Sent
-
- Junk
-
Inbox
diff --git a/src/com/android/email/mail/store/Pop3Store.java b/src/com/android/email/mail/store/Pop3Store.java
index e7814029b..26ccfe824 100644
--- a/src/com/android/email/mail/store/Pop3Store.java
+++ b/src/com/android/email/mail/store/Pop3Store.java
@@ -126,8 +126,7 @@ public class Pop3Store extends Store {
// Build default mailboxes as well, in case they're not already made.
for (int type : DEFAULT_FOLDERS) {
if (Mailbox.findMailboxOfType(mContext, mAccount.mId, type) == Mailbox.NO_MAILBOX) {
- String name = getMailboxServerName(mContext, type);
- mailbox = Mailbox.newSystemMailbox(mAccount.mId, type, name);
+ mailbox = Mailbox.newSystemMailbox(mContext, mAccount.mId, type);
mailbox.save(mContext);
}
}
@@ -135,37 +134,6 @@ public class Pop3Store extends Store {
return new Folder[] { getFolder(inboxName) };
}
-
- /**
- * Returns the server-side name for a specific mailbox.
- *
- * @return the resource string corresponding to the mailbox type, empty if not found.
- */
- public String getMailboxServerName(Context context, int mailboxType) {
- int resId = -1;
- switch (mailboxType) {
- case Mailbox.TYPE_INBOX:
- resId = R.string.mailbox_name_server_inbox;
- break;
- case Mailbox.TYPE_OUTBOX:
- resId = R.string.mailbox_name_server_outbox;
- break;
- case Mailbox.TYPE_DRAFTS:
- resId = R.string.mailbox_name_server_drafts;
- break;
- case Mailbox.TYPE_TRASH:
- resId = R.string.mailbox_name_server_trash;
- break;
- case Mailbox.TYPE_SENT:
- resId = R.string.mailbox_name_server_sent;
- break;
- case Mailbox.TYPE_JUNK:
- resId = R.string.mailbox_name_server_junk;
- break;
- }
- return resId != -1 ? context.getString(resId) : "";
- }
-
/**
* Used by account setup to test if an account's settings are appropriate. The definition
* of "checked" here is simply, can you log into the account and does it meet some minimum set
diff --git a/src/com/android/email/provider/EmailProvider.java b/src/com/android/email/provider/EmailProvider.java
index bee90637d..c1492e0bf 100644
--- a/src/com/android/email/provider/EmailProvider.java
+++ b/src/com/android/email/provider/EmailProvider.java
@@ -3027,7 +3027,8 @@ outer:
Object[] values = new Object[UIProvider.FOLDERS_PROJECTION.length];
values[UIProvider.FOLDER_ID_COLUMN] = 0;
values[UIProvider.FOLDER_URI_COLUMN] = combinedUriString("uifolder", idString);
- values[UIProvider.FOLDER_NAME_COLUMN] = getMailboxNameForType(mailboxType);
+ values[UIProvider.FOLDER_NAME_COLUMN] =
+ Mailbox.getSystemMailboxName(getContext(), mailboxType);
values[UIProvider.FOLDER_HAS_CHILDREN_COLUMN] = 0;
values[UIProvider.FOLDER_CAPABILITIES_COLUMN] = UIProvider.FolderCapabilities.IS_VIRTUAL;
values[UIProvider.FOLDER_CONVERSATION_LIST_URI_COLUMN] = combinedUriString("uimessages",
@@ -3485,44 +3486,12 @@ outer:
return att;
}
- private String getMailboxNameForType(int mailboxType) {
- Context context = getContext();
- int resId;
- switch (mailboxType) {
- case Mailbox.TYPE_INBOX:
- resId = R.string.mailbox_name_server_inbox;
- break;
- case Mailbox.TYPE_OUTBOX:
- resId = R.string.mailbox_name_server_outbox;
- break;
- case Mailbox.TYPE_DRAFTS:
- resId = R.string.mailbox_name_server_drafts;
- break;
- case Mailbox.TYPE_TRASH:
- resId = R.string.mailbox_name_server_trash;
- break;
- case Mailbox.TYPE_SENT:
- resId = R.string.mailbox_name_server_sent;
- break;
- case Mailbox.TYPE_JUNK:
- resId = R.string.mailbox_name_server_junk;
- break;
- case Mailbox.TYPE_STARRED:
- resId = R.string.widget_starred;
- break;
- default:
- throw new IllegalArgumentException("Illegal mailbox type");
- }
- return context.getString(resId);
- }
-
/**
* Create a mailbox given the account and mailboxType.
*/
private Mailbox createMailbox(long accountId, int mailboxType) {
Context context = getContext();
- Mailbox box = Mailbox.newSystemMailbox(accountId, mailboxType,
- getMailboxNameForType(mailboxType));
+ Mailbox box = Mailbox.newSystemMailbox(context, accountId, mailboxType);
// Make sure drafts and save will show up in recents...
// If these already exist (from old Email app), they will have touch times
switch (mailboxType) {