Skip to content

Commit 3932338

Browse files
committed
simplify ServiceProvider's serviceMap and lock
No logic changes in this commit
1 parent 0e613e3 commit 3932338

File tree

1 file changed

+4
-9
lines changed

1 file changed

+4
-9
lines changed

OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/services/ServiceProvider.kt

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,9 @@ import com.onesignal.debug.internal.logging.Logging
88
class ServiceProvider(
99
registrations: List<ServiceRegistration<*>>,
1010
) : IServiceProvider {
11-
private var serviceMap: Map<Class<*>, List<ServiceRegistration<*>>>
12-
private val serviceMapLock = Any()
11+
private val serviceMap = mutableMapOf<Class<*>, MutableList<ServiceRegistration<*>>>()
1312

1413
init {
15-
val serviceMap = mutableMapOf<Class<*>, MutableList<ServiceRegistration<*>>>()
16-
1714
// go through the registrations to create the service map for easier lookup post-build
1815
for (reg in registrations) {
1916
for (service in reg.services) {
@@ -24,8 +21,6 @@ class ServiceProvider(
2421
}
2522
}
2623
}
27-
28-
this.serviceMap = serviceMap
2924
}
3025

3126
internal inline fun <reified T : Any> hasService(): Boolean {
@@ -45,13 +40,13 @@ class ServiceProvider(
4540
}
4641

4742
override fun <T> hasService(c: Class<T>): Boolean {
48-
synchronized(serviceMapLock) {
43+
synchronized(serviceMap) {
4944
return serviceMap.containsKey(c)
5045
}
5146
}
5247

5348
override fun <T> getAllServices(c: Class<T>): List<T> {
54-
synchronized(serviceMapLock) {
49+
synchronized(serviceMap) {
5550
val listOfServices: MutableList<T> = mutableListOf()
5651

5752
if (serviceMap.containsKey(c)) {
@@ -79,7 +74,7 @@ class ServiceProvider(
7974
}
8075

8176
override fun <T> getServiceOrNull(c: Class<T>): T? {
82-
synchronized(serviceMapLock) {
77+
synchronized(serviceMap) {
8378
Logging.debug("${indent}Retrieving service $c")
8479
return serviceMap[c]?.last()?.resolve(this) as T?
8580
}

0 commit comments

Comments
 (0)