diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 5131ad6363..77510c5ba8 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -33,14 +33,17 @@ #################################################################################################### # Force removal of slow Dispatchers.Main ServiceLoader -# -# Please remove these rules when Android Gradle Plugin 3.6+ & coroutines 1.3.0+ are both in use #################################################################################################### -# Ensure the custom, fast service loader implementation is removed. --assumevalues class kotlinx.coroutines.internal.MainDispatcherLoader { - boolean FAST_SERVICE_LOADER_ENABLED return false; +# Allow R8 to optimize away the FastServiceLoader. +# Together with ServiceLoader optimization in R8 +# this results in direct instantiation when loading Dispatchers.Main +-assumenosideeffects class kotlinx.coroutines.internal.MainDispatcherLoader { + boolean FAST_SERVICE_LOADER_ENABLED return false; +} + +-assumenosideeffects class kotlinx.coroutines.internal.FastServiceLoader { + boolean ANDROID_DETECTED return true; } --checkdiscard class kotlinx.coroutines.internal.FastServiceLoader #################################################################################################### # Mozilla Application Services