diff --git a/line-sdk/src/main/java/com/linecorp/linesdk/openchat/ui/CreateOpenChatActivity.kt b/line-sdk/src/main/java/com/linecorp/linesdk/openchat/ui/CreateOpenChatActivity.kt index 45a8527..19bfee9 100644 --- a/line-sdk/src/main/java/com/linecorp/linesdk/openchat/ui/CreateOpenChatActivity.kt +++ b/line-sdk/src/main/java/com/linecorp/linesdk/openchat/ui/CreateOpenChatActivity.kt @@ -23,12 +23,13 @@ import com.linecorp.linesdk.databinding.ActivityCreateOpenChatBinding import com.linecorp.linesdk.openchat.OpenChatRoomInfo class CreateOpenChatActivity : AppCompatActivity() { - private enum class CreateOpenChatStep { ChatroomInfo, UserProfile } + private val channelId: String by lazy { intent.getStringExtra(ARG_CHANNEL_ID).orEmpty() } + + private enum class CreateOpenChatStep { ChatroomInfo, UserProfile } private lateinit var binding: ActivityCreateOpenChatBinding private val lineApiClient: LineApiClient by lazy { - val channelId = intent.getStringExtra(ARG_CHANNEL_ID).orEmpty() LineApiClientBuilder(this, channelId) .build() } @@ -38,6 +39,20 @@ class CreateOpenChatActivity : AppCompatActivity() { private var currentStep = CreateOpenChatStep.ChatroomInfo override fun onCreate(savedInstanceState: Bundle?) { + if (channelId.isBlank()) { + super.onCreate(null) + + setResult( + RESULT_CANCELED, + Intent().putExtra( + ARG_ERROR_RESULT, + LineApiError("Missing channelId. Start CreateOpenChatActivity via createIntent(context, channelId).") + ) + ) + finish() + return + } + super.onCreate(savedInstanceState) binding = ActivityCreateOpenChatBinding.inflate(layoutInflater) setContentView(binding.root)