Skip to content

Commit

Permalink
add error log and clarify comments
Browse files Browse the repository at this point in the history
  • Loading branch information
nan-li committed Apr 12, 2024
1 parent f09845a commit d2c0d51
Showing 1 changed file with 8 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import android.content.Context
import androidx.work.Configuration
import androidx.work.WorkManager
import androidx.work.impl.WorkManagerImpl
import com.onesignal.debug.internal.logging.Logging

object OSWorkManagerHelper {
/**
Expand Down Expand Up @@ -34,11 +35,15 @@ object OSWorkManagerHelper {
fun getInstance(context: Context): WorkManager {
if (!isInitialized()) {
try {
// Initialization can fail if another thread initializes in the small time gap
// https://android.googlesource.com/platform/frameworks/support/+/60ae0eec2a32396c22ad92502cde952c80d514a0/work/workmanager/src/main/java/androidx/work/impl/WorkManagerImpl.java#177
WorkManager.initialize(context, Configuration.Builder().build())
} catch (e: IllegalStateException) {
// Admittedly starting to get hacky
/*
This catch is meant for the exception -
https://android.googlesource.com/platform/frameworks/support/+/60ae0eec2a32396c22ad92502cde952c80d514a0/work/workmanager/src/main/java/androidx/work/impl/WorkManagerImpl.java#177
1. We lost the race with another call to WorkManager.initialize outside of OneSignal.
2. It is possible for some other unexpected error is thrown from WorkManager.
*/
Logging.error("OSWorkManagerHelper initializing WorkManager failed: $e")
}
}
return WorkManager.getInstance(context)
Expand Down

0 comments on commit d2c0d51

Please sign in to comment.