Skip to content

Commit 2852e7a

Browse files
committed
Add broadcast to the service
1 parent 7c9b875 commit 2852e7a

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

uploadservice/src/main/java/net/gotev/uploadservice/UploadService.kt

+12
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@ package net.gotev.uploadservice
22

33
import android.app.Notification
44
import android.app.Service
5+
import android.content.BroadcastReceiver
56
import android.content.Context
67
import android.content.Intent
8+
import android.content.IntentFilter
79
import android.os.IBinder
810
import android.os.PowerManager
911
import androidx.core.app.NotificationCompat
@@ -14,6 +16,7 @@ import net.gotev.uploadservice.extensions.getUploadTaskCreationParameters
1416
import net.gotev.uploadservice.extensions.safeRelease
1517
import net.gotev.uploadservice.logger.UploadServiceLogger
1618
import net.gotev.uploadservice.logger.UploadServiceLogger.NA
19+
import net.gotev.uploadservice.network.hurl.HurlStack
1720
import net.gotev.uploadservice.observer.task.BroadcastEmitter
1821
import net.gotev.uploadservice.observer.task.TaskCompletionNotifier
1922
import java.util.Timer
@@ -187,11 +190,19 @@ class UploadService : Service() {
187190
}
188191
}
189192

193+
private val connectionReceiver: BroadcastReceiver = object : BroadcastReceiver() {
194+
override fun onReceive(context: Context, intent: Intent) {
195+
val closeConnection = intent.getBooleanExtra("close", false)
196+
if (closeConnection) (UploadServiceConfig.httpStack as HurlStack).httpRequest.close()
197+
}
198+
}
199+
190200
override fun onCreate() {
191201
super.onCreate()
192202

193203
wakeLock = acquirePartialWakeLock(wakeLock, TAG)
194204
notificationActionsObserver.register()
205+
registerReceiver(connectionReceiver, IntentFilter("closeConnection"))
195206
}
196207

197208
override fun onBind(intent: Intent): IBinder? {
@@ -255,6 +266,7 @@ class UploadService : Service() {
255266

256267
uploadTasksMap.clear()
257268

269+
unregisterReceiver(connectionReceiver)
258270
UploadServiceLogger.debug(TAG, NA) { "UploadService destroyed" }
259271
}
260272
}

uploadservice/src/main/java/net/gotev/uploadservice/UploadServiceConfig.kt

-8
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,6 @@ object UploadServiceConfig {
5151
}
5252
}
5353

54-
private val connectionReceiver: BroadcastReceiver = object : BroadcastReceiver() {
55-
override fun onReceive(context: Context, intent: Intent) {
56-
val closeConnection = intent.getBooleanExtra("close", false)
57-
if (closeConnection) (httpStack as HurlStack).httpRequest.close()
58-
}
59-
}
60-
6154
/**
6255
* Initializes Upload Service with namespace and default notification channel.
6356
* This must be done in your application subclass onCreate method before anything else.
@@ -71,7 +64,6 @@ object UploadServiceConfig {
7164
this.defaultNotificationChannel = defaultNotificationChannel
7265
UploadServiceLogger.setDevelopmentMode(debug)
7366
UploadServiceLogger.setLogFilePath(logFilePath)
74-
context.registerReceiver(connectionReceiver, IntentFilter("closeConnection"))
7567
}
7668

7769
/**

0 commit comments

Comments
 (0)