@@ -11,12 +11,13 @@ import android.widget.TextView
1111import androidx.activity.viewModels
1212import androidx.appcompat.app.AlertDialog
1313import androidx.appcompat.app.AppCompatActivity
14- import androidx.core.view.WindowCompat
15- import androidx.core.view.WindowInsetsControllerCompat
14+ import androidx.core.view.ViewCompat
15+ import androidx.core.view.WindowInsetsCompat
1616import androidx.core.widget.doAfterTextChanged
1717import com.automattic.simplenote.databinding.ActivityTagAddBinding
1818import com.automattic.simplenote.utils.DisplayUtils
1919import com.automattic.simplenote.utils.HtmlCompat
20+ import com.automattic.simplenote.utils.SystemBarUtils
2021import com.automattic.simplenote.utils.ThemeUtils
2122import com.automattic.simplenote.viewmodels.AddTagViewModel
2223import com.automattic.simplenote.widgets.MorphCircleToRectangle
@@ -30,28 +31,29 @@ class AddTagActivity : AppCompatActivity() {
3031 override fun onCreate (savedInstanceState : Bundle ? ) {
3132 ThemeUtils .setTheme(this )
3233 super .onCreate(savedInstanceState)
33- val binding: ActivityTagAddBinding = ActivityTagAddBinding .inflate(layoutInflater)
3434
35- binding.setObservers()
36- binding.setupLayout()
37- binding.setupViews()
35+ with (ActivityTagAddBinding .inflate(layoutInflater)) {
36+ setContentView(root)
37+ setupLayout()
38+ setupViews()
39+ setObservers()
3840
39- viewModel.start()
41+ viewModel.start()
4042
41- setContentView(binding.root)
42-
43- // Setup edge-to-edge display for Android 15+ compatibility
44- // This is a transparent dialog activity without toolbar
45- if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .VANILLA_ICE_CREAM ) {
46- WindowCompat .setDecorFitsSystemWindows(window, false )
47-
48- val controller = WindowCompat .getInsetsController(window, window.decorView)
49- controller?.let {
50- // Light status bar appearance for the transparent dialog
51- it.isAppearanceLightStatusBars = true
52- it.isAppearanceLightNavigationBars = true
43+
44+ // Setup edge-to-edge display with proper WindowInsets handling
45+ if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .VANILLA_ICE_CREAM ) {
46+ SystemBarUtils .setupEdgeToEdgeWithAutoTheming(this @AddTagActivity, root, null , null )
47+ }
48+
49+ // Add minimal IME (keyboard) insets handling for dialog positioning
50+ ViewCompat .setOnApplyWindowInsetsListener(root) { view, insets ->
51+ val imeInsets = insets.getInsets(WindowInsetsCompat .Type .ime())
52+ view.setPadding(view.paddingLeft, view.paddingTop, view.paddingRight, imeInsets.bottom)
53+ insets
5354 }
5455 }
56+
5557 }
5658
5759 private fun ActivityTagAddBinding.setupViews () {
0 commit comments