Convert SmsManagerFactory to Kotlin

This commit is contained in:
Moez Bhatti
2018-01-14 00:39:01 -05:00
parent 6b33772799
commit dcd8cb69ef
3 changed files with 25 additions and 43 deletions
@@ -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();
}
}
}
@@ -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()
}
}
@@ -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<Message.Part> 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<MMSPart> 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");