-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Java에서 사용하는 법도 README.md 에 있으면 좋을 듯 합니다
CrashHandlerDslKt.installCrashHandler(this, config -> {
config.providers(providers -> {
providers.useDefault();
return Unit.INSTANCE;
});
return Unit.INSTANCE;
});만약 java 호출까지 고려하고 있다면 아래처럼 Builder 패턴은 어떨지 제안합니다
// Kotlin 파일에 추가
class CrashHandlerBuilder(private val application: Application) {
private val config = CrashHandlerConfig()
fun useDefaultProviders(): CrashHandlerBuilder {
config.providersConfig.useDefault()
return this
}
fun addProvider(provider: CrashInfoProvider): CrashHandlerBuilder {
config.providersConfig.add(provider)
return this
}
fun addProviders(vararg providers: CrashInfoProvider): CrashHandlerBuilder {
config.providersConfig.addAll(*providers)
return this
}
fun install(): GlobalExceptionHandler {
return GlobalExceptionHandler.install(application, config)
}
}
@JvmStatic
fun crashHandler(application: Application): CrashHandlerBuilder {
return CrashHandlerBuilder(application)
}
// Java에서 사용:
CrashHandlerDslKt.crashHandler(this)
.useDefaultProviders()
.addProvider(new MyCustomProvider())
.install();
Metadata
Metadata
Assignees
Labels
No labels