diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index fcd4f45..ce55c21 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -22,8 +22,8 @@ android { applicationId = "eu.itaz.internaluploader" minSdk = 26 targetSdk = 35 - versionCode = 2 - versionName = "1.1.0" + versionCode = 3 + versionName = "1.1.1" // The one place the server address exists. Never rendered in the UI; // a pairing QR can carry a different origin and overrides this. diff --git a/android/app/src/main/java/eu/itaz/internaluploader/MainActivity.kt b/android/app/src/main/java/eu/itaz/internaluploader/MainActivity.kt index e63135c..5cfb49d 100644 --- a/android/app/src/main/java/eu/itaz/internaluploader/MainActivity.kt +++ b/android/app/src/main/java/eu/itaz/internaluploader/MainActivity.kt @@ -13,6 +13,9 @@ import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AppCompatActivity import androidx.browser.customtabs.CustomTabsIntent import androidx.core.net.toUri +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import androidx.core.view.updatePadding import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.LinearLayoutManager import com.journeyapps.barcodescanner.ScanContract @@ -70,6 +73,16 @@ class MainActivity : AppCompatActivity() { binding.queue.layoutManager = LinearLayoutManager(this) binding.queue.adapter = adapter + // Edge-to-edge (forced on Android 15 / targetSdk 35): the app bar is + // inset by fitsSystemWindows on the root, but the scrolling list still + // needs bottom padding so its last rows clear the gesture nav bar. + val basePadding = binding.queue.paddingBottom + ViewCompat.setOnApplyWindowInsetsListener(binding.queue) { view, insets -> + val bars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + view.updatePadding(bottom = basePadding + bars.bottom) + insets + } + binding.scanButton.setOnClickListener { startScan() } binding.ssoButton.setOnClickListener { startAppSso() } binding.addButton.setOnClickListener { diff --git a/android/app/src/main/res/layout/activity_main.xml b/android/app/src/main/res/layout/activity_main.xml index 91759c1..0362a44 100644 --- a/android/app/src/main/res/layout/activity_main.xml +++ b/android/app/src/main/res/layout/activity_main.xml @@ -3,7 +3,8 @@ xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" - android:layout_height="match_parent"> + android:layout_height="match_parent" + android:fitsSystemWindows="true">