diff --git a/android-smsmms/src/main/java/com/klinker/android/send_message/SmsManagerFactory.java b/android-smsmms/src/main/java/com/klinker/android/send_message/SmsManagerFactory.java deleted file mode 100755 index a09938ce..00000000 --- a/android-smsmms/src/main/java/com/klinker/android/send_message/SmsManagerFactory.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.klinker.android.send_message; - -import android.os.Build; -import android.telephony.SmsManager; - -public class SmsManagerFactory { - - public static SmsManager createSmsManager(Settings settings) { - return createSmsManager(settings.getSubscriptionId()); - } - - public static SmsManager createSmsManager(int subscriptionId) { - if (subscriptionId != Settings.DEFAULT_SUBSCRIPTION_ID && - Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) { - SmsManager manager = null; - - try { - manager = SmsManager.getSmsManagerForSubscriptionId(subscriptionId); - } catch (Exception e) { - e.printStackTrace(); - } - - if (manager != null) { - return manager; - } else { - return SmsManager.getDefault(); - } - } else { - return SmsManager.getDefault(); - } - } -} diff --git a/android-smsmms/src/main/java/com/klinker/android/send_message/SmsManagerFactory.kt b/android-smsmms/src/main/java/com/klinker/android/send_message/SmsManagerFactory.kt new file mode 100755 index 00000000..5f320469 --- /dev/null +++ b/android-smsmms/src/main/java/com/klinker/android/send_message/SmsManagerFactory.kt @@ -0,0 +1,23 @@ +package com.klinker.android.send_message + +import android.os.Build +import android.telephony.SmsManager + +object SmsManagerFactory { + + fun createSmsManager(settings: Settings) = createSmsManager(settings.subscriptionId) + + fun createSmsManager(subscriptionId: Int): SmsManager { + var manager: SmsManager? = null + + if (subscriptionId != Settings.DEFAULT_SUBSCRIPTION_ID && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) { + try { + manager = SmsManager.getSmsManagerForSubscriptionId(subscriptionId) + } catch (e: Exception) { + e.printStackTrace() + } + } + + return manager ?: SmsManager.getDefault() + } +} diff --git a/android-smsmms/src/main/java/com/klinker/android/send_message/Transaction.java b/android-smsmms/src/main/java/com/klinker/android/send_message/Transaction.java index 689cd163..b5591989 100755 --- a/android-smsmms/src/main/java/com/klinker/android/send_message/Transaction.java +++ b/android-smsmms/src/main/java/com/klinker/android/send_message/Transaction.java @@ -221,7 +221,7 @@ public class Transaction { body = settings.getPreText() + " " + body; } - SmsManager smsManager = SmsManagerFactory.createSmsManager(settings); + SmsManager smsManager = SmsManagerFactory.INSTANCE.createSmsManager(settings); Log.v("send_transaction", "found sms manager"); if (settings.getSplit()) { @@ -331,15 +331,6 @@ public class Transaction { } private void sendMmsMessage(String text, String[] addresses, Bitmap[] image, String[] imageNames, List parts, String subject) { - // merge the string[] of addresses into a single string so they can be inserted into the database easier - StringBuilder address = new StringBuilder(); - - for (String address1 : addresses) { - address.append(address1).append(" "); - } - - address = new StringBuilder(address.toString().trim()); - // create the parts to send ArrayList data = new ArrayList<>(); @@ -555,7 +546,7 @@ public class Transaction { configOverrides.putInt(SmsManager.MMS_CONFIG_MAX_MESSAGE_SIZE, MmsConfig.getMaxMessageSize()); if (contentUri != null) { - SmsManagerFactory.createSmsManager(settings).sendMultimediaMessage(context, + SmsManagerFactory.INSTANCE.createSmsManager(settings).sendMultimediaMessage(context, contentUri, null, configOverrides, pendingIntent); } else { Log.e(TAG, "Error writing sending Mms");