1
0
Fork 0

for #11698 added on demand workmanager initialization (#12739)

master
Sachin 2020-07-28 16:26:18 -07:00 committed by GitHub
parent bef98698cb
commit 6a618aa318
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 1 deletions

View File

@ -282,6 +282,11 @@
<meta-data <meta-data
android:name="firebase_analytics_collection_enabled" android:name="firebase_analytics_collection_enabled"
android:value="false" /> android:value="false" />
<!-- Removes the default Workmanager initialization so that we can use on-demand initializer. -->
<provider
android:name="androidx.work.impl.WorkManagerInitializer"
android:authorities="${applicationId}.workmanager-init"
tools:node="remove" />
</application> </application>
</manifest> </manifest>

View File

@ -8,9 +8,12 @@ import android.annotation.SuppressLint
import android.os.Build import android.os.Build
import android.os.Build.VERSION.SDK_INT import android.os.Build.VERSION.SDK_INT
import android.os.StrictMode import android.os.StrictMode
import android.util.Log.INFO
import androidx.annotation.CallSuper import androidx.annotation.CallSuper
import androidx.appcompat.app.AppCompatDelegate import androidx.appcompat.app.AppCompatDelegate
import androidx.core.content.getSystemService import androidx.core.content.getSystemService
import androidx.work.Configuration.Provider
import androidx.work.Configuration.Builder
import kotlinx.coroutines.Deferred import kotlinx.coroutines.Deferred
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.GlobalScope
@ -53,7 +56,7 @@ import org.mozilla.fenix.utils.BrowsersCache
* Installs [CrashReporter], initializes [Glean] in fenix builds and setup Megazord in the main process. * Installs [CrashReporter], initializes [Glean] in fenix builds and setup Megazord in the main process.
*/ */
@Suppress("Registered", "TooManyFunctions", "LargeClass") @Suppress("Registered", "TooManyFunctions", "LargeClass")
open class FenixApplication : LocaleAwareApplication() { open class FenixApplication : LocaleAwareApplication(), Provider {
init { init {
recordOnInit() // DO NOT MOVE ANYTHING ABOVE HERE: the timing of this measurement is critical. recordOnInit() // DO NOT MOVE ANYTHING ABOVE HERE: the timing of this measurement is critical.
} }
@ -420,4 +423,6 @@ open class FenixApplication : LocaleAwareApplication() {
companion object { companion object {
private const val KINTO_ENDPOINT_PROD = "https://firefox.settings.services.mozilla.com/v1" private const val KINTO_ENDPOINT_PROD = "https://firefox.settings.services.mozilla.com/v1"
} }
override fun getWorkManagerConfiguration() = Builder().setMinimumLoggingLevel(INFO).build()
} }