diff --git a/android/src/main/java/com/xmartlabs/line/LineLoginModule.kt b/android/src/main/java/com/xmartlabs/line/LineLoginModule.kt index 875fa1b..1daf5e2 100755 --- a/android/src/main/java/com/xmartlabs/line/LineLoginModule.kt +++ b/android/src/main/java/com/xmartlabs/line/LineLoginModule.kt @@ -43,18 +43,24 @@ class LineLoginModule(private val reactContext: ReactApplicationContext) : private var loginResult: Promise? = null override fun setup(args: ReadableMap, promise: Promise) { - channelId = args.getString("channelId")!! - lineApiClient = LineApiClientBuilder(reactContext.applicationContext, channelId).build() - reactContext.addActivityEventListener(object : ActivityEventListener { - override fun onNewIntent(intent: Intent) {} - override fun onActivityResult( - activity: Activity, - requestCode: Int, - resultCode: Int, - data: Intent? - ) = - handleActivityResult(requestCode, resultCode, data) - }) + try { + channelId = args.getString("channelId")!! + lineApiClient = LineApiClientBuilder(reactContext.applicationContext, channelId).build() + + reactContext.addActivityEventListener(object : ActivityEventListener { + override fun onNewIntent(intent: Intent) {} + override fun onActivityResult( + activity: Activity, + requestCode: Int, + resultCode: Int, + data: Intent? + ) = + handleActivityResult(requestCode, resultCode, data) + }) + promise.resolve(null) + } catch (t: Throwable) { + promise.reject("E_SETUP_FAILED", t.message, t) + } } override fun login(args: ReadableMap, promise: Promise) {