diff --git a/app/src/main/java/com/idormy/sms/forwarder/sender/SenderSmsMsg.java b/app/src/main/java/com/idormy/sms/forwarder/sender/SenderSmsMsg.java index 2976598d..8092dc57 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/sender/SenderSmsMsg.java +++ b/app/src/main/java/com/idormy/sms/forwarder/sender/SenderSmsMsg.java @@ -4,16 +4,9 @@ import android.os.Handler; import android.util.Log; import com.idormy.sms.forwarder.utils.LogUtil; -import com.idormy.sms.forwarder.utils.SettingUtil; import com.idormy.sms.forwarder.utils.SimUtil; import com.idormy.sms.forwarder.utils.SmsUtil; -import java.util.concurrent.TimeUnit; - -import io.reactivex.rxjava3.core.Observable; -import io.reactivex.rxjava3.core.ObservableEmitter; - -@SuppressWarnings("ResultOfMethodCallIgnored") public class SenderSmsMsg extends SenderBaseMsg { static final String TAG = "SenderSmsMsg"; @@ -23,35 +16,16 @@ public class SenderSmsMsg extends SenderBaseMsg { //TODO:simSlot转subId final int subId = SimUtil.getSubscriptionIdBySimId(simSlot); + String res = SmsUtil.sendSms(subId, mobiles, text); - Observable - .create((ObservableEmitter emitter) -> { - Toast(handError, TAG, "开始发送短信..."); + //TODO:粗略解析是否发送成功 + if (res == null) { + LogUtil.updateLog(logId, 1, "发送成功"); + } else { + LogUtil.updateLog(logId, 0, res); + Toast(handError, TAG, "短信发送失败"); + } - String res = SmsUtil.sendSms(subId, mobiles, text); - - //TODO:粗略解析是否发送成功 - if (res == null) { - LogUtil.updateLog(logId, 1, "发送成功"); - } else { - LogUtil.updateLog(logId, 0, res); - Toast(handError, TAG, "短信发送失败"); - emitter.onError(new RuntimeException("短信发送异常...")); - } - - }).retryWhen((Observable errorObservable) -> errorObservable - .zipWith(Observable.just( - SettingUtil.getRetryDelayTime(1), - SettingUtil.getRetryDelayTime(2), - SettingUtil.getRetryDelayTime(3), - SettingUtil.getRetryDelayTime(4), - SettingUtil.getRetryDelayTime(5) - ), (Throwable e, Integer time) -> time) - .flatMap((Integer delay) -> { - Toast(handError, TAG, "短信发送异常," + delay + "秒后重试"); - return Observable.timer(delay, TimeUnit.SECONDS); - })) - .subscribe(System.out::println); } }