diff --git a/data/src/main/java/com/moez/QKSMS/manager/AlarmManagerImpl.kt b/data/src/main/java/com/moez/QKSMS/manager/AlarmManagerImpl.kt index 1767085f..526d5d0a 100644 --- a/data/src/main/java/com/moez/QKSMS/manager/AlarmManagerImpl.kt +++ b/data/src/main/java/com/moez/QKSMS/manager/AlarmManagerImpl.kt @@ -22,14 +22,14 @@ import android.app.PendingIntent import android.content.Context import android.content.Intent import android.os.Build -import com.moez.QKSMS.service.SendScheduledMessageService +import com.moez.QKSMS.receiver.SendScheduledMessageReceiver import javax.inject.Inject class AlarmManagerImpl @Inject constructor(private val context: Context) : AlarmManager { override fun getScheduledMessageIntent(id: Long): PendingIntent { - val intent = Intent(context, SendScheduledMessageService::class.java).putExtra("id", id) - return PendingIntent.getService(context, id.toInt(), intent, PendingIntent.FLAG_UPDATE_CURRENT) + val intent = Intent(context, SendScheduledMessageReceiver::class.java).putExtra("id", id) + return PendingIntent.getBroadcast(context, id.toInt(), intent, PendingIntent.FLAG_UPDATE_CURRENT) } override fun setAlarm(date: Long, intent: PendingIntent) { diff --git a/data/src/main/java/com/moez/QKSMS/service/SendScheduledMessageService.kt b/data/src/main/java/com/moez/QKSMS/receiver/SendScheduledMessageReceiver.kt similarity index 81% rename from data/src/main/java/com/moez/QKSMS/service/SendScheduledMessageService.kt rename to data/src/main/java/com/moez/QKSMS/receiver/SendScheduledMessageReceiver.kt index e1151e04..eac9d68e 100644 --- a/data/src/main/java/com/moez/QKSMS/service/SendScheduledMessageService.kt +++ b/data/src/main/java/com/moez/QKSMS/receiver/SendScheduledMessageReceiver.kt @@ -16,22 +16,23 @@ * You should have received a copy of the GNU General Public License * along with QKSMS. If not, see . */ -package com.moez.QKSMS.service +package com.moez.QKSMS.receiver -import android.app.IntentService +import android.content.BroadcastReceiver +import android.content.Context import android.content.Intent import com.moez.QKSMS.interactor.SendScheduledMessage import com.moez.QKSMS.repository.MessageRepository import dagger.android.AndroidInjection import javax.inject.Inject -class SendScheduledMessageService : IntentService(null) { +class SendScheduledMessageReceiver : BroadcastReceiver() { @Inject lateinit var messageRepo: MessageRepository @Inject lateinit var sendScheduledMessage: SendScheduledMessage - override fun onHandleIntent(intent: Intent) { - AndroidInjection.inject(this) + override fun onReceive(context: Context, intent: Intent) { + AndroidInjection.inject(this, context) intent.getLongExtra("id", -1L).takeIf { it >= 0 }?.let { id -> sendScheduledMessage.buildObservable(id).blockingSubscribe() diff --git a/presentation/src/main/AndroidManifest.xml b/presentation/src/main/AndroidManifest.xml index e5d8f607..5e5eaa13 100644 --- a/presentation/src/main/AndroidManifest.xml +++ b/presentation/src/main/AndroidManifest.xml @@ -147,6 +147,7 @@ + @@ -187,7 +188,6 @@ -