create common application class, fix fab styling (#287)

* create common application class, fix fab styling

* fix: remove unused imports and add last line

* fix: spotless issues

* common application changes
This commit is contained in:
Yogesh Choudhary Paliyal
2023-01-14 17:16:37 +05:30
committed by GitHub
parent 84c5a98346
commit 872098a04e
10 changed files with 61 additions and 49 deletions
+10 -1
View File
@@ -1,5 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.yogeshpaliyal.common">
package="com.yogeshpaliyal.common"
xmlns:tools="http://schemas.android.com/tools">
<application>
<provider
android:name="androidx.startup.InitializationProvider"
android:authorities="${applicationId}.androidx-startup"
android:exported="false"
tools:node="remove" />
</application>
</manifest>
@@ -0,0 +1,38 @@
package com.yogeshpaliyal.common
import android.app.Application
import android.content.Intent
import android.util.Log
import androidx.hilt.work.HiltWorkerFactory
import androidx.work.Configuration
import com.google.android.material.color.DynamicColors
import javax.inject.Inject
import kotlin.system.exitProcess
abstract class CommonMyApplication : Application(), Configuration.Provider {
@Inject
lateinit var workerFactory: HiltWorkerFactory
abstract fun getCrashActivityIntent(throwable: Throwable): Intent
override fun onCreate() {
super.onCreate()
Thread.setDefaultUncaughtExceptionHandler { thread, throwable ->
Log.d("MyApplication", "crashed ")
val intent = getCrashActivityIntent(throwable)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
startActivity(intent)
exitProcess(1)
}
DynamicColors.applyToActivitiesIfAvailable(this)
}
override fun getWorkManagerConfiguration(): Configuration {
return Configuration.Builder()
.setMinimumLoggingLevel(android.util.Log.INFO)
.setWorkerFactory(workerFactory)
.build()
}
}