Fix queueKey for SmsSendJob.

This commit is contained in:
Greyson Parrelli 2019-07-16 17:53:08 -04:00
parent 34e8d5ac57
commit 6c31d656dd
4 changed files with 10 additions and 9 deletions

View File

@ -1258,7 +1258,7 @@ public class ConversationItem extends LinearLayout
ApplicationContext.getInstance(context) ApplicationContext.getInstance(context)
.getJobManager() .getJobManager()
.add(new SmsSendJob(context, messageRecord.getId(), .add(new SmsSendJob(context, messageRecord.getId(),
messageRecord.getIndividualRecipient().getAddress().serialize())); messageRecord.getIndividualRecipient().getAddress()));
} }
}); });

View File

@ -9,6 +9,7 @@ import androidx.annotation.NonNull;
import android.telephony.PhoneNumberUtils; import android.telephony.PhoneNumberUtils;
import android.telephony.SmsManager; import android.telephony.SmsManager;
import org.thoughtcrime.securesms.database.Address;
import org.thoughtcrime.securesms.jobmanager.Data; import org.thoughtcrime.securesms.jobmanager.Data;
import org.thoughtcrime.securesms.jobmanager.Job; import org.thoughtcrime.securesms.jobmanager.Job;
import org.thoughtcrime.securesms.jobmanager.impl.NetworkOrCellServiceConstraint; import org.thoughtcrime.securesms.jobmanager.impl.NetworkOrCellServiceConstraint;
@ -39,12 +40,12 @@ public class SmsSendJob extends SendJob {
private long messageId; private long messageId;
private int runAttempt; private int runAttempt;
public SmsSendJob(Context context, long messageId, String name) { public SmsSendJob(Context context, long messageId, @NonNull Address destination) {
this(context, messageId, name, 0); this(context, messageId, destination, 0);
} }
public SmsSendJob(Context context, long messageId, String name, int runAttempt) { public SmsSendJob(Context context, long messageId, @NonNull Address destination, int runAttempt) {
this(constructParameters(context, name), messageId, runAttempt); this(constructParameters(context, destination), messageId, runAttempt);
} }
private SmsSendJob(@NonNull Job.Parameters parameters, long messageId, int runAttempt) { private SmsSendJob(@NonNull Job.Parameters parameters, long messageId, int runAttempt) {
@ -226,12 +227,12 @@ public class SmsSendJob extends SendJob {
} }
} }
private static Job.Parameters constructParameters(@NonNull Context context, String name) { private static Job.Parameters constructParameters(@NonNull Context context, @NonNull Address destination) {
String constraint = TextSecurePreferences.isWifiSmsEnabled(context) ? NetworkOrCellServiceConstraint.KEY String constraint = TextSecurePreferences.isWifiSmsEnabled(context) ? NetworkOrCellServiceConstraint.KEY
: CellServiceConstraint.KEY; : CellServiceConstraint.KEY;
return new Job.Parameters.Builder() return new Job.Parameters.Builder()
.setMaxAttempts(MAX_ATTEMPTS) .setMaxAttempts(MAX_ATTEMPTS)
.setQueue(name) .setQueue(destination.serialize())
.addConstraint(constraint) .addConstraint(constraint)
.build(); .build();
} }

View File

@ -104,7 +104,7 @@ public class SmsSentJob extends BaseJob {
Log.w(TAG, "Service connectivity problem, requeuing..."); Log.w(TAG, "Service connectivity problem, requeuing...");
ApplicationContext.getInstance(context) ApplicationContext.getInstance(context)
.getJobManager() .getJobManager()
.add(new SmsSendJob(context, messageId, record.getIndividualRecipient().getAddress().serialize(), runAttempt + 1)); .add(new SmsSendJob(context, messageId, record.getIndividualRecipient().getAddress(), runAttempt + 1));
break; break;
default: default:
database.markAsSentFailed(messageId); database.markAsSentFailed(messageId);

View File

@ -174,7 +174,7 @@ public class MessageSender {
private static void sendSms(Context context, Recipient recipient, long messageId) { private static void sendSms(Context context, Recipient recipient, long messageId) {
JobManager jobManager = ApplicationContext.getInstance(context).getJobManager(); JobManager jobManager = ApplicationContext.getInstance(context).getJobManager();
jobManager.add(new SmsSendJob(context, messageId, recipient.getName())); jobManager.add(new SmsSendJob(context, messageId, recipient.getAddress()));
} }
private static void sendMms(Context context, long messageId) { private static void sendMms(Context context, long messageId) {