From 4f1cd6ba1ee660a4ad89c58d5726bbc9188ddc4f Mon Sep 17 00:00:00 2001 From: kjcharles Date: Wed, 7 Dec 2016 14:35:20 -0400 Subject: [PATCH 1/2] Set email text type in builder Update to sdk 25 --- app/build.gradle | 10 +++---- build.gradle | 2 +- gmailbackgroundlibrary/build.gradle | 8 +++--- .../BackgroundMail.java | 28 ++++++++++++++++++- .../util/GmailSender.java | 4 +-- gradle/wrapper/gradle-wrapper.properties | 4 +-- 6 files changed, 41 insertions(+), 15 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 73c7150..972e6b9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 23 - buildToolsVersion "23.0.2" + compileSdkVersion 25 + buildToolsVersion "25.0.1" defaultConfig { applicationId "com.creativityapps.gmailbackground" minSdkVersion 11 - targetSdkVersion 23 + targetSdkVersion 25 versionCode 2 versionName "1.1" } @@ -21,7 +21,7 @@ android { dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') - compile 'com.android.support:appcompat-v7:23.1.1' - compile 'com.android.support:design:23.1.1' + compile 'com.android.support:appcompat-v7:25.0.1' + compile 'com.android.support:design:25.0.1' compile project(':gmailbackgroundlibrary') } diff --git a/build.gradle b/build.gradle index e0b366a..74b2ab0 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:1.5.0' + classpath 'com.android.tools.build:gradle:2.2.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gmailbackgroundlibrary/build.gradle b/gmailbackgroundlibrary/build.gradle index 6eb56c7..947d948 100644 --- a/gmailbackgroundlibrary/build.gradle +++ b/gmailbackgroundlibrary/build.gradle @@ -1,12 +1,12 @@ apply plugin: 'com.android.library' android { - compileSdkVersion 23 - buildToolsVersion "23.0.2" + compileSdkVersion 25 + buildToolsVersion "25.0.1" defaultConfig { minSdkVersion 11 - targetSdkVersion 23 + targetSdkVersion 25 versionCode 2 versionName "1.1" } @@ -20,5 +20,5 @@ android { dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') - compile 'com.android.support:support-annotations:23.1.1' + compile 'com.android.support:support-annotations:25.0.1' } diff --git a/gmailbackgroundlibrary/src/main/java/com/creativityapps/gmailbackgroundlibrary/BackgroundMail.java b/gmailbackgroundlibrary/src/main/java/com/creativityapps/gmailbackgroundlibrary/BackgroundMail.java index 85289cc..058b0f9 100755 --- a/gmailbackgroundlibrary/src/main/java/com/creativityapps/gmailbackgroundlibrary/BackgroundMail.java +++ b/gmailbackgroundlibrary/src/main/java/com/creativityapps/gmailbackgroundlibrary/BackgroundMail.java @@ -27,6 +27,7 @@ public class BackgroundMail { private String mailto; private String subject; private String body; + private String type; private String sendingMessage; private String sendingMessageSuccess; private String sendingMessageError; @@ -63,6 +64,7 @@ private BackgroundMail(Builder builder) { mailto = builder.mailto; subject = builder.subject; body = builder.body; + type = builder.type; setSendingMessage(builder.sendingMessage); setSendingMessageSuccess(builder.sendingMessageSuccess); setSendingMessageError(builder.sendingMessageError); @@ -105,6 +107,19 @@ public String getGmailPassword() { return password; } + public void setType(@NonNull String string) { + this.type = string; + } + + public void setType(@StringRes int strRes) { + this.type = mContext.getResources().getString(strRes); + } + + @NonNull + public String getType() { + return type; + } + public void showVisibleProgress(boolean state) { this.processVisibility = state; } @@ -269,7 +284,7 @@ protected Boolean doInBackground(String... arg0) { } } } - sender.sendMail(subject, body, username, mailto); + sender.sendMail(subject, body, username, mailto, type); } catch (Exception e) { e.printStackTrace(); return false; @@ -308,6 +323,7 @@ public static final class Builder { private String mailto; private String subject; private String body; + private String type = "text/plain"; private ArrayList attachments = new ArrayList<>(); private String sendingMessage; private String sendingMessageSuccess; @@ -363,6 +379,16 @@ public Builder withSubject(@StringRes int subjectRes) { return this; } + public Builder withType(@NonNull String type) { + this.type = type; + return this; + } + + public Builder withType(@StringRes int typeRes) { + this.type = context.getResources().getString(typeRes); + return this; + } + public Builder withBody(@NonNull String body) { this.body = body; return this; diff --git a/gmailbackgroundlibrary/src/main/java/com/creativityapps/gmailbackgroundlibrary/util/GmailSender.java b/gmailbackgroundlibrary/src/main/java/com/creativityapps/gmailbackgroundlibrary/util/GmailSender.java index 3742535..da4cfde 100755 --- a/gmailbackgroundlibrary/src/main/java/com/creativityapps/gmailbackgroundlibrary/util/GmailSender.java +++ b/gmailbackgroundlibrary/src/main/java/com/creativityapps/gmailbackgroundlibrary/util/GmailSender.java @@ -54,9 +54,9 @@ protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(user, password); } - public synchronized void sendMail(String subject, String body, String sender, String recipients) throws Exception { + public synchronized void sendMail(String subject, String body, String sender, String recipients, String type) throws Exception { MimeMessage message = new MimeMessage(session); - DataHandler handler = new DataHandler(new ByteArrayDataSource(body.getBytes(), "text/plain")); + DataHandler handler = new DataHandler(new ByteArrayDataSource(body.getBytes(), type)); message.setSender(new InternetAddress(sender)); message.setSubject(subject); diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index cbbb66d..7b681f7 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sat Nov 14 07:52:44 COT 2015 +#Wed Dec 07 14:18:03 BOT 2016 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip From 891c006c94e1c2735a232f361ebe7ef24f9b1393 Mon Sep 17 00:00:00 2001 From: kjcharles Date: Wed, 7 Dec 2016 14:48:29 -0400 Subject: [PATCH 2/2] Updated documentation --- README.md | 1 + .../gmailbackgroundlibrary/BackgroundMail.java | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9541961..6d49531 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ a small library to send a email in background withou user interaction .withUsername("username@gmail.com") .withPassword("password12345") .withMailto("toemail@gmail.com") + .withType(BackgroundMail.TYPE_PLAIN) .withSubject("this is the subject") .withBody("this is the body") .withOnSuccessCallback(new BackgroundMail.OnSuccessCallback() { diff --git a/gmailbackgroundlibrary/src/main/java/com/creativityapps/gmailbackgroundlibrary/BackgroundMail.java b/gmailbackgroundlibrary/src/main/java/com/creativityapps/gmailbackgroundlibrary/BackgroundMail.java index 058b0f9..02f76d1 100755 --- a/gmailbackgroundlibrary/src/main/java/com/creativityapps/gmailbackgroundlibrary/BackgroundMail.java +++ b/gmailbackgroundlibrary/src/main/java/com/creativityapps/gmailbackgroundlibrary/BackgroundMail.java @@ -37,6 +37,9 @@ public class BackgroundMail { private OnSuccessCallback onSuccessCallback; private OnFailCallback onFailCallback; + public final static String TYPE_PLAIN = "text/plain"; + public final static String TYPE_HTML = "text/html"; + public interface OnSuccessCallback { void onSuccess(); } @@ -323,7 +326,7 @@ public static final class Builder { private String mailto; private String subject; private String body; - private String type = "text/plain"; + private String type = BackgroundMail.TYPE_PLAIN; private ArrayList attachments = new ArrayList<>(); private String sendingMessage; private String sendingMessageSuccess; @@ -379,6 +382,7 @@ public Builder withSubject(@StringRes int subjectRes) { return this; } + //set email mime type public Builder withType(@NonNull String type) { this.type = type; return this;