diff --git a/app-android/app/build.gradle b/app-android/app/build.gradle index 84449bb9e7c9..e0d36a177ba7 100644 --- a/app-android/app/build.gradle +++ b/app-android/app/build.gradle @@ -12,7 +12,7 @@ android { compileSdk 36 applicationId "de.tutao.tutanota" minSdkVersion 26 - targetSdkVersion 35 + targetSdkVersion 36 versionCode 396573 versionName "317.251215.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app-android/app/src/main/java/de/tutao/tutanota/MainActivity.kt b/app-android/app/src/main/java/de/tutao/tutanota/MainActivity.kt index 04c79b16636a..efd7b402aa46 100644 --- a/app-android/app/src/main/java/de/tutao/tutanota/MainActivity.kt +++ b/app-android/app/src/main/java/de/tutao/tutanota/MainActivity.kt @@ -22,6 +22,7 @@ import android.util.Log import android.view.ContextMenu import android.view.ContextMenu.ContextMenuInfo import android.view.View +import android.view.ViewGroup import android.webkit.CookieManager import android.webkit.MimeTypeMap import android.webkit.PermissionRequest @@ -33,6 +34,7 @@ import android.webkit.WebSettings import android.webkit.WebView import android.webkit.WebView.HitTestResult import android.webkit.WebViewClient +import android.widget.LinearLayout import android.widget.Toast import androidx.activity.addCallback import androidx.annotation.MainThread @@ -102,6 +104,7 @@ interface WebauthnHandler { class MainActivity : FragmentActivity() { + lateinit var linearLayout: LinearLayout lateinit var webView: WebView private set private lateinit var sseStorage: SseStorage @@ -133,6 +136,8 @@ class MainActivity : FragmentActivity() { createAndroidKeyStoreFacade() ) + linearLayout = LinearLayout(this) + // On top before CalendarFacade because we need the user agent to sync external calendars webView = WebView(this) @@ -161,7 +166,8 @@ class MainActivity : FragmentActivity() { themeFacade = AndroidThemeFacade(this, this) sqlCipherFacade = AndroidSqlCipherFacade(this) - commonSystemFacade = AndroidCommonSystemFacade(this, sqlCipherFacade, fileFacade.tempDir, NetworkUtils.defaultClient) + commonSystemFacade = + AndroidCommonSystemFacade(this, sqlCipherFacade, fileFacade.tempDir, NetworkUtils.defaultClient) val webauthnFacade = AndroidWebauthnFacade(this, ipcJson) @@ -310,7 +316,19 @@ class MainActivity : FragmentActivity() { // Handle long click on links in the WebView registerForContextMenu(webView) - setContentView(webView) + //to make the webView edge-to-edge add the statusBar and bottomNavigation height as top and bottom padding to its parent linearLayout + val navigationBarHeight = getBarHeight("navigation_bar_height") + val statusBarHeight = getBarHeight("status_bar_height") + + linearLayout.setPadding(0, statusBarHeight, 0, navigationBarHeight) + + webView.setLayoutParams( + ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT) + ) + + linearLayout.addView(webView) + + setContentView(linearLayout) // Set callback for back press onBackPressedDispatcher.addCallback(this) { @@ -357,6 +375,15 @@ class MainActivity : FragmentActivity() { firstLoaded = true } + // return the statusBar/BottomNavigationBar height + private fun getBarHeight(sectionName: String): Int { + var result = 0 + val resourceId = resources.getIdentifier(sectionName, "dimen", "android") + if (resourceId > 0) { + result = resources.getDimensionPixelSize(resourceId) + } + return result + } /** @return "result" extra value */ suspend fun startWebauthn(uri: Uri): String { diff --git a/app-android/app/src/main/res/values-night-v35/styles.xml b/app-android/app/src/main/res/values-night-v35/styles.xml index d5a00138edf5..3ebb9469d87c 100644 --- a/app-android/app/src/main/res/values-night-v35/styles.xml +++ b/app-android/app/src/main/res/values-night-v35/styles.xml @@ -10,6 +10,5 @@ @drawable/ic_logo - true \ No newline at end of file diff --git a/app-android/app/src/main/res/values-v35/styles.xml b/app-android/app/src/main/res/values-v35/styles.xml index c41a95308bd9..2fdffe92d98f 100644 --- a/app-android/app/src/main/res/values-v35/styles.xml +++ b/app-android/app/src/main/res/values-v35/styles.xml @@ -6,7 +6,6 @@ @color/red @color/white true - true \ No newline at end of file