From 421ab5f3d5ed44800572194f635f8d44cb519475 Mon Sep 17 00:00:00 2001 From: joe goodall Date: Wed, 3 Jun 2026 15:56:15 +0100 Subject: [PATCH 1/2] fix navigation bar overlapping status bar --- .../retail/PrePurchaseActivity.kt | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/android/src/main/java/com/ticketmasterignite/retail/PrePurchaseActivity.kt b/android/src/main/java/com/ticketmasterignite/retail/PrePurchaseActivity.kt index 488d9c4..87f1445 100644 --- a/android/src/main/java/com/ticketmasterignite/retail/PrePurchaseActivity.kt +++ b/android/src/main/java/com/ticketmasterignite/retail/PrePurchaseActivity.kt @@ -2,7 +2,11 @@ package com.ticketmasterignite.retail import android.os.Bundle import android.graphics.Color +import android.view.View import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowCompat +import androidx.core.view.WindowInsetsCompat import androidx.fragment.app.Fragment import com.ticketmasterignite.R import com.ticketmaster.discoveryapi.models.DiscoveryAbstractEntity @@ -34,8 +38,17 @@ class PrePurchaseActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + WindowCompat.setDecorFitsSystemWindows(window, false) setContentView(R.layout.prepurchase_layout) + val container = findViewById(R.id.prepurchase_container) + container.setBackgroundColor(Color.BLACK) + ViewCompat.setOnApplyWindowInsetsListener(container) { view, insets -> + val statusBarHeight = insets.getInsets(WindowInsetsCompat.Type.statusBars()).top + view.setPadding(0, statusBarHeight, 0, 0) + insets + } + val tmPrePurchase = TMPrePurchase( environment = Environment.getTMEnvironment(Config.get("environment")), discoveryAPIKey = Config.get("apiKey"), From d475d074d9fe86d1266c3f341f08beecaec108d2 Mon Sep 17 00:00:00 2001 From: joe goodall Date: Wed, 3 Jun 2026 16:52:18 +0100 Subject: [PATCH 2/2] fix: handle status bar overlap including display cutouts on Android --- .../ticketmasterignite/retail/PrePurchaseActivity.kt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/com/ticketmasterignite/retail/PrePurchaseActivity.kt b/android/src/main/java/com/ticketmasterignite/retail/PrePurchaseActivity.kt index 87f1445..65e8e46 100644 --- a/android/src/main/java/com/ticketmasterignite/retail/PrePurchaseActivity.kt +++ b/android/src/main/java/com/ticketmasterignite/retail/PrePurchaseActivity.kt @@ -7,6 +7,7 @@ import androidx.appcompat.app.AppCompatActivity import androidx.core.view.ViewCompat import androidx.core.view.WindowCompat import androidx.core.view.WindowInsetsCompat +import androidx.core.view.updatePadding import androidx.fragment.app.Fragment import com.ticketmasterignite.R import com.ticketmaster.discoveryapi.models.DiscoveryAbstractEntity @@ -39,15 +40,21 @@ class PrePurchaseActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) WindowCompat.setDecorFitsSystemWindows(window, false) + WindowCompat.getInsetsController(window, window.decorView).isAppearanceLightStatusBars = + false setContentView(R.layout.prepurchase_layout) val container = findViewById(R.id.prepurchase_container) + val initialPaddingTop = container.paddingTop container.setBackgroundColor(Color.BLACK) ViewCompat.setOnApplyWindowInsetsListener(container) { view, insets -> - val statusBarHeight = insets.getInsets(WindowInsetsCompat.Type.statusBars()).top - view.setPadding(0, statusBarHeight, 0, 0) + val topInsets = insets.getInsets( + WindowInsetsCompat.Type.statusBars() or WindowInsetsCompat.Type.displayCutout() + ) + view.updatePadding(top = initialPaddingTop + topInsets.top) insets } + ViewCompat.requestApplyInsets(container) val tmPrePurchase = TMPrePurchase( environment = Environment.getTMEnvironment(Config.get("environment")),