diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4a84a2b29f..5979dc8c9a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -55,7 +55,7 @@ android:launchMode="singleTop" android:screenOrientation="portrait" android:theme="@style/SplashTheme" - android:windowSoftInputMode="adjustNothing"> + android:windowSoftInputMode="adjustResize"> diff --git a/app/src/main/java/com/tangem/tap/MainActivity.kt b/app/src/main/java/com/tangem/tap/MainActivity.kt index 7735974a6d..10d69f7704 100644 --- a/app/src/main/java/com/tangem/tap/MainActivity.kt +++ b/app/src/main/java/com/tangem/tap/MainActivity.kt @@ -4,8 +4,10 @@ import android.annotation.SuppressLint import android.content.Intent import android.content.pm.ActivityInfo import android.content.res.Configuration +import android.os.Build import android.os.Bundle import android.view.View +import android.view.WindowManager import androidx.activity.SystemBarStyle import androidx.activity.enableEdgeToEdge import androidx.activity.viewModels @@ -217,6 +219,15 @@ class MainActivity : AppCompatActivity(), SnackbarHandler, ActivityResultCallbac super.onCreate(savedInstanceState) + // We have to allow adjust_resize (can only be specified in the manifest) for Android <=10, + // in order for imePadding to work correctly + // for Android 11+ we set SOFT_INPUT_ADJUST_NOTHING to prevent resizing the layout + // so that we don't have any distortions in the layout when displaying the keyboard + // https://issuetracker.google.com/issues/266331465 + if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q) { + window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING) + } + splashScreen.setKeepOnScreenCondition { viewModel.isSplashScreenShown } installActivityDependencies()