diff --git a/app/src/main/java/org/linphone/activities/main/MainActivity.kt b/app/src/main/java/org/linphone/activities/main/MainActivity.kt index d234bf280..1b0f8b9bf 100644 --- a/app/src/main/java/org/linphone/activities/main/MainActivity.kt +++ b/app/src/main/java/org/linphone/activities/main/MainActivity.kt @@ -30,6 +30,8 @@ import android.view.Gravity import android.view.MotionEvent import android.view.View import android.view.inputmethod.InputMethodManager +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat import androidx.databinding.DataBindingUtil import androidx.fragment.app.FragmentContainerView import androidx.lifecycle.ViewModelProvider @@ -174,6 +176,16 @@ class MainActivity : GenericActivity(), SnackBarActivity, NavController.OnDestin registerComponentCallbacks(componentCallbacks) findNavController(R.id.nav_host_fragment).addOnDestinationChangedListener(this) + binding.rootCoordinatorLayout.viewTreeObserver.addOnGlobalLayoutListener { + val keyboardVisible = ViewCompat.getRootWindowInsets(binding.rootCoordinatorLayout)?.isVisible(WindowInsetsCompat.Type.ime()) == true + Log.d("[Tabs Fragment] Keyboard is ${if (keyboardVisible) "visible" else "invisible"}") + if (keyboardVisible) { + hideTabsFragment() + } else { + showTabsFragment() + } + } + if (intent != null) handleIntentParams(intent) } diff --git a/app/src/main/res/layout/main_activity.xml b/app/src/main/res/layout/main_activity.xml index 8e6946318..2b5c798e1 100644 --- a/app/src/main/res/layout/main_activity.xml +++ b/app/src/main/res/layout/main_activity.xml @@ -13,6 +13,7 @@