Skip to content

Java에서 호출이 필요한 경우에 대한 README.md 업데이트 제안 #2

@tnwlsgk1002

Description

@tnwlsgk1002

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions