#Email-specific proguard flags, required for tests, that are not covered by UnifiedEmail go here

-keepclasseswithmembers class com.android.emailcommon.internet.Rfc822Output {
  *** getHtmlBody(java.lang.String);
}

-keepclasseswithmembers class com.android.emailcommon.utility.Utility {
  *** fromUtf8(byte[]);
}

-keepclasseswithmembers class com.android.emailcommon.provider.EmailContent$Attachment {
  *** createUniqueFile(java.lang.String);
}

-keepclasseswithmembers class com.android.emailcommon.mail.Message {
  *** setRecipient(com.android.emailcommon.mail.Message$RecipientType, com.android.emailcommon.mail.Address);
}

-keepclasseswithmembers class com.android.emailcommon.internet.MimeMessage {
  *** getExtendedHeader(java.lang.String);
  *** setExtendedHeader(java.lang.String, java.lang.String);
  *** getExtendedHeaders();
  *** setExtendedHeaders(java.lang.String);
}

-keepclasseswithmembers class com.android.emailcommon.internet.MimeUtility {
  *** foldAndEncode(java.lang.String);
}

-keepclasseswithmembers class com.android.email.mail.transport.SmtpSender {
  *** setTransport(com.android.email.mail.transport.MailTransport);
}

-keepclasseswithmembers class com.android.email.mail.store.ImapFolder {
  *** getUnreadMessageCount();
}

-keepclasseswithmembers class com.android.email.mail.store.Pop3Store {
  *** setTransport(com.android.email.mail.transport.MailTransport);
}

-keepclasseswithmembers class com.android.email.mail.store.Pop3Store$Pop3Folder {
  *** getMessages(int, int, com.android.emailcommon.mail.Folder$MessageRetrievalListener);
  *** getMessages(java.lang.String[], com.android.emailcommon.mail.Folder$MessageRetrievalListener);
  *** getUnreadMessageCount();
  *** isOpen();
}

-keepclasseswithmembers class com.android.emailcommon.mail.Folder {
  *** getUnreadMessageCount();
  *** delete(boolean);
  *** getRole();
}

-keepclasseswithmembers class com.android.emailcommon.mail.PackedString$Builder {
  <init>();
  <init>(java.lang.String);
  *** get(java.lang.String);
  *** put(java.lang.String, java.lang.String);
}

-keepclasseswithmembers class com.android.email.provider.ContentCache$CounterMap {
  *** getCount(...);
  *** size();
}

-keepclasseswithmembers class org.apache.james.mime4j.field.Field {
  *** getBody();
}

# The following classes are used only by unit tests.
# We should move them into tests/ if possible.
-keepclasseswithmembers class org.apache.james.mime4j.message.Message {
  <init>(java.io.InputStream);
}

-keepclasseswithmembers class com.android.mail.utils.Throttle {
  *** getTimeoutForTest();
}

-keepclasseswithmembers class com.android.emailcommon.VendorPolicyLoader {
  *** clearInstanceForTest();
  *** injectPolicyForTest(android.content.Context, java.lang.String, java.lang.Class);
}

-keepclasseswithmembers class com.android.email.mail.store.imap.ImapElement {
  *** equalsForTest(com.android.email.mail.store.imap.ImapElement);
}

-keepclasseswithmembers class com.android.email.mail.store.imap.ImapTempFileLiteral {
  *** tempFileExistsForTest();
}

-keepclasseswithmembers class com.android.emailcommon.utility.EmailAsyncTask {
  *** callDoInBackgroundForTest(Params...);
}
-keepclasseswithmembers class com.android.emailcommon.utility.EmailAsyncTask$Tracker {
  <init>();
  *** getTaskCountForTest();
  *** containsTaskForTest(com.android.emailcommon.utility.EmailAsyncTask);
}
-keep class com.android.emailcommon.utility.DelayedOperations