diff --git a/app/src/main/kotlin/io/homeassistant/companion/android/HomeAssistantApplication.kt b/app/src/main/kotlin/io/homeassistant/companion/android/HomeAssistantApplication.kt index ce59566bcc1..93e01e426cd 100644 --- a/app/src/main/kotlin/io/homeassistant/companion/android/HomeAssistantApplication.kt +++ b/app/src/main/kotlin/io/homeassistant/companion/android/HomeAssistantApplication.kt @@ -11,6 +11,7 @@ import android.nfc.NfcAdapter import android.os.Build import android.os.PowerManager import android.telephony.TelephonyManager +import android.webkit.WebView import androidx.core.content.ContextCompat import coil3.ImageLoader import coil3.PlatformContext @@ -99,6 +100,7 @@ open class HomeAssistantApplication : registerActivityLifecycleCallbacks(LifecycleHandler) ioScope.launch { + WebView.setWebContentsDebuggingEnabled(BuildConfig.DEBUG || prefsRepository.isWebViewDebugEnabled()) initCrashReporting( applicationContext, prefsRepository.isCrashReporting(), diff --git a/app/src/main/kotlin/io/homeassistant/companion/android/settings/developer/DeveloperSettingsPresenterImpl.kt b/app/src/main/kotlin/io/homeassistant/companion/android/settings/developer/DeveloperSettingsPresenterImpl.kt index 47edcd6ddd9..cd225935281 100644 --- a/app/src/main/kotlin/io/homeassistant/companion/android/settings/developer/DeveloperSettingsPresenterImpl.kt +++ b/app/src/main/kotlin/io/homeassistant/companion/android/settings/developer/DeveloperSettingsPresenterImpl.kt @@ -2,10 +2,12 @@ package io.homeassistant.companion.android.settings.developer import android.content.Context import android.webkit.WebStorage +import android.webkit.WebView import androidx.activity.result.ActivityResult import androidx.preference.PreferenceDataStore import androidx.webkit.WebStorageCompat import androidx.webkit.WebViewFeature +import io.homeassistant.companion.android.BuildConfig import io.homeassistant.companion.android.common.R as commonR import io.homeassistant.companion.android.common.data.prefs.PrefsRepository import io.homeassistant.companion.android.common.data.servers.ServerManager @@ -51,7 +53,10 @@ class DeveloperSettingsPresenterImpl @Inject constructor( override fun putBoolean(key: String?, value: Boolean) { mainScope.launch { when (key) { - "webview_debug" -> prefsRepository.setWebViewDebugEnabled(value) + "webview_debug" -> { + prefsRepository.setWebViewDebugEnabled(value) + WebView.setWebContentsDebuggingEnabled(BuildConfig.DEBUG || value) + } else -> throw IllegalArgumentException("No boolean found by this key: $key") } } diff --git a/app/src/main/kotlin/io/homeassistant/companion/android/webview/WebViewActivity.kt b/app/src/main/kotlin/io/homeassistant/companion/android/webview/WebViewActivity.kt index 6a1ede4c700..a67325e2117 100644 --- a/app/src/main/kotlin/io/homeassistant/companion/android/webview/WebViewActivity.kt +++ b/app/src/main/kotlin/io/homeassistant/companion/android/webview/WebViewActivity.kt @@ -85,7 +85,6 @@ import androidx.webkit.WebViewCompat import androidx.webkit.WebViewFeature import dagger.hilt.android.AndroidEntryPoint import io.homeassistant.companion.android.BaseActivity -import io.homeassistant.companion.android.BuildConfig import io.homeassistant.companion.android.R import io.homeassistant.companion.android.assist.AssistActivity import io.homeassistant.companion.android.authenticator.Authenticator @@ -1355,8 +1354,6 @@ class WebViewActivity : SensorWorker.start(this@WebViewActivity) WebsocketManager.start(this@WebViewActivity) - WebView.setWebContentsDebuggingEnabled(BuildConfig.DEBUG || presenter.isWebViewDebugEnabled()) - requestedOrientation = when (presenter.getScreenOrientation()) { getString( R.string.screen_orientation_option_array_value_portrait, diff --git a/app/src/main/kotlin/io/homeassistant/companion/android/webview/WebViewPresenter.kt b/app/src/main/kotlin/io/homeassistant/companion/android/webview/WebViewPresenter.kt index 783b2a8177d..550d8c0c462 100644 --- a/app/src/main/kotlin/io/homeassistant/companion/android/webview/WebViewPresenter.kt +++ b/app/src/main/kotlin/io/homeassistant/companion/android/webview/WebViewPresenter.kt @@ -41,8 +41,6 @@ interface WebViewPresenter { suspend fun getPageZoomLevel(): Int suspend fun isPinchToZoomEnabled(): Boolean - suspend fun isWebViewDebugEnabled(): Boolean - suspend fun isAppLocked(): Boolean suspend fun setAppActive(active: Boolean) diff --git a/app/src/main/kotlin/io/homeassistant/companion/android/webview/WebViewPresenterImpl.kt b/app/src/main/kotlin/io/homeassistant/companion/android/webview/WebViewPresenterImpl.kt index f6c05491366..d0d11174f49 100644 --- a/app/src/main/kotlin/io/homeassistant/companion/android/webview/WebViewPresenterImpl.kt +++ b/app/src/main/kotlin/io/homeassistant/companion/android/webview/WebViewPresenterImpl.kt @@ -396,10 +396,6 @@ class WebViewPresenterImpl @Inject constructor( return prefsRepository.isPinchToZoomEnabled() } - override suspend fun isWebViewDebugEnabled(): Boolean { - return prefsRepository.isWebViewDebugEnabled() - } - override suspend fun isAppLocked(): Boolean = if (serverManager.isRegistered()) { try { serverManager.integrationRepository(serverId).isAppLocked()