From f166828c455585f7f3878916cc82aa787eeb71e9 Mon Sep 17 00:00:00 2001 From: Varun Jain Date: Fri, 5 Apr 2024 19:33:26 +0530 Subject: [PATCH] TP-63087 | Null context crash fix (#10327) --- .../com/navi/chat/ui/fragments/NaviChatFragment.kt | 12 ++++++------ .../main/java/com/navi/chat/utils/CommonChatUtils.kt | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/android/navi-chat/src/main/java/com/navi/chat/ui/fragments/NaviChatFragment.kt b/android/navi-chat/src/main/java/com/navi/chat/ui/fragments/NaviChatFragment.kt index 2c13cf30a5..2fb4ad390b 100644 --- a/android/navi-chat/src/main/java/com/navi/chat/ui/fragments/NaviChatFragment.kt +++ b/android/navi-chat/src/main/java/com/navi/chat/ui/fragments/NaviChatFragment.kt @@ -368,9 +368,9 @@ class NaviChatFragment : BaseFragment(), WidgetCallback, MessageOperation, Toolb binding.clFreeText.isVisible = (showFreeText) if (showFreeText) { binding.etFreeText.requestFocus() - openKeyboard(context = requireContext(), view = binding.etFreeText) {} + openKeyboard(context = context, view = binding.etFreeText) {} } else { - hideKeyboard(context = requireContext(), view = binding.etFreeText) + hideKeyboard(context = context, view = binding.etFreeText) } } @@ -897,9 +897,9 @@ class NaviChatFragment : BaseFragment(), WidgetCallback, MessageOperation, Toolb binding.clFreeText.isVisible = it if (it) { binding.etFreeText.requestFocus() - openKeyboard(context = requireContext(), view = binding.etFreeText) {} + openKeyboard(context = context, view = binding.etFreeText) {} } else { - hideKeyboard(context = requireContext(), view = binding.etFreeText) + hideKeyboard(context = context, view = binding.etFreeText) } } } @@ -1606,14 +1606,14 @@ class NaviChatFragment : BaseFragment(), WidgetCallback, MessageOperation, Toolb if (binding.clFreeText.visibility == GONE) { binding.clFreeText.isVisible = true binding.etFreeText.requestFocus() - openKeyboard(context = requireContext(), view = binding.etFreeText) { + openKeyboard(context = context, view = binding.etFreeText) { scrollChatToLatestMessageReceived() } } } NaviChatControllerEnum.DISABLE_FREE_TEXT.name -> { binding.clFreeText.isVisible = false - hideKeyboard(context = requireContext(), view = binding.etFreeText) + hideKeyboard(context = context, view = binding.etFreeText) } } naviChatControllerWidget.widgetData?.controllerConfig?.let { config -> diff --git a/android/navi-chat/src/main/java/com/navi/chat/utils/CommonChatUtils.kt b/android/navi-chat/src/main/java/com/navi/chat/utils/CommonChatUtils.kt index 2d5ff258c2..3ffdd53f08 100644 --- a/android/navi-chat/src/main/java/com/navi/chat/utils/CommonChatUtils.kt +++ b/android/navi-chat/src/main/java/com/navi/chat/utils/CommonChatUtils.kt @@ -22,8 +22,8 @@ fun openKeyboard(context: Context? = null, view: View, onFinish: () -> Unit) { } } -fun hideKeyboard(context: Context, view: View) { - (context.getSystemService(Activity.INPUT_METHOD_SERVICE) as? InputMethodManager)?.apply { +fun hideKeyboard(context: Context?, view: View) { + (context?.getSystemService(Activity.INPUT_METHOD_SERVICE) as? InputMethodManager)?.apply { hideSoftInputFromWindow(view.windowToken, 0) } }