Skip to content

Commit

Permalink
#450 using local broadcast manager instead of global to notify upload…
Browse files Browse the repository at this point in the history
… task event. This reduces overhead and augments security.
  • Loading branch information
gotev committed Oct 20, 2019
1 parent d4a91eb commit 5a2d213
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 4 deletions.
2 changes: 1 addition & 1 deletion manifest.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -37,5 +37,5 @@ ext {

// Library and app dependencies versions
androidx_appcompat_version = '1.1.0'

androidx_local_broadcast_version = '1.0.0'
}
1 change: 1 addition & 0 deletions uploadservice/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ dependencies {
implementation "androidx.appcompat:appcompat:$androidx_appcompat_version"

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "androidx.localbroadcastmanager:localbroadcastmanager:$androidx_local_broadcast_version"
}

bintray {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleObserver
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.OnLifecycleEvent
import androidx.localbroadcastmanager.content.LocalBroadcastManager
import net.gotev.uploadservice.UploadRequest
import net.gotev.uploadservice.UploadService
import net.gotev.uploadservice.UploadServiceConfig
Expand Down Expand Up @@ -62,7 +63,8 @@ class RequestObserver(
*/
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
fun register() {
context.registerReceiver(this, UploadServiceConfig.broadcastIntentFilter)
LocalBroadcastManager.getInstance(context)
.registerReceiver(this, UploadServiceConfig.broadcastIntentFilter)

subscribedUploadID?.let {
if (!UploadService.taskList.contains(it)) {
Expand All @@ -76,7 +78,7 @@ class RequestObserver(
*/
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
fun unregister() {
context.unregisterReceiver(this)
LocalBroadcastManager.getInstance(context).unregisterReceiver(this)
}

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package net.gotev.uploadservice.observer.task

import android.content.Context
import androidx.localbroadcastmanager.content.LocalBroadcastManager
import net.gotev.uploadservice.data.BroadcastData
import net.gotev.uploadservice.data.UploadInfo
import net.gotev.uploadservice.data.UploadStatus
Expand All @@ -9,7 +10,7 @@ import net.gotev.uploadservice.network.ServerResponse
class BroadcastEmitter(private val context: Context) : UploadTaskObserver {

private fun send(data: BroadcastData) {
context.sendBroadcast(data.toIntent())
LocalBroadcastManager.getInstance(context).sendBroadcast(data.toIntent())
}

override fun initialize(info: UploadInfo) {}
Expand Down

0 comments on commit 5a2d213

Please sign in to comment.