テスト バグ No1 クライアント証明書設定できない
- 内容:アプリ初回起動時、クライアント証明書を設定・解除しようとすると、アプリが落ちる
- 原因:API通信に使用するインスタンス再生成の部分が動いているが、ドメイン・コンテキストが入力されていないためホスト部分がnullになってしまっている
- 修正内容:ドメイン・コンテキストが入力されていない場合、API通信に使用するインスタンス再生成を実施しない
- 修正内容詳細
- ファイル:LoginFragment.kt
- 関数:onStart
- 行数:133行目~
- 変更コード詳細
[修正前]
// クライアント認証ボタン押下時のイベントリスナー
this.requireActivity().findViewById<Button>(R.id.clientCertChoiceButton).apply {
setOnClickListener {
CertRepository.chooseClientCertAlias(requireActivity()) {
requireActivity().runOnUiThread {
setCertificate(it)
}
ApiClient.reCreate()
}
}
}
[修正後]
// クライアント認証ボタン押下時のイベントリスナー
this.requireActivity().findViewById<Button>(R.id.clientCertChoiceButton).apply {
setOnClickListener {
CertRepository.chooseClientCertAlias(requireActivity()) {
requireActivity().runOnUiThread {
setCertificate(it)
}
** ここから **
if (LoginRepository().loadServerUrl().isNotEmpty() && LoginRepository().loadServerContext().isNotEmpty()) {
ApiClient.reCreate()
}
** ここまで **
}
}
}
sbc-atled-aw-devによってに編集されました