diff --git a/app/build.gradle b/app/build.gradle index e8678091a0f3..42bc5aff82fc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,7 +6,7 @@ apply plugin: 'kotlin-kapt' apply from: '../versioning.gradle' ext { - VERSION_NAME = "4.0.9" + VERSION_NAME = "4.0.10" } android { diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt index 0c07b586bcd4..dfd37e21b513 100644 --- a/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt +++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt @@ -32,7 +32,6 @@ import android.view.KeyEvent.KEYCODE_ENTER import android.view.Menu import android.view.MenuItem import android.view.View -import android.view.View.FOCUSABLE import android.view.inputmethod.EditorInfo.IME_ACTION_DONE import android.webkit.CookieManager import android.webkit.WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE @@ -107,14 +106,14 @@ class BrowserActivity : DuckDuckGoActivity() { popupMenu = BrowserPopupMenu(layoutInflater) } - // inspired by https://stackoverflow.com/a/8011027/73479 private fun createWebView() { - webView = NestedWebView(this.applicationContext) + webView = NestedWebView(this) webView.gone() webView.isFocusableInTouchMode = true if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - webView.focusable = FOCUSABLE + webView.focusable = View.FOCUSABLE } + webViewContainer.addView(webView) } diff --git a/app/src/main/java/com/duckduckgo/app/global/DuckDuckGoApplication.kt b/app/src/main/java/com/duckduckgo/app/global/DuckDuckGoApplication.kt index 975a92e3fd5b..bf68d7d1b953 100644 --- a/app/src/main/java/com/duckduckgo/app/global/DuckDuckGoApplication.kt +++ b/app/src/main/java/com/duckduckgo/app/global/DuckDuckGoApplication.kt @@ -116,7 +116,7 @@ class DuckDuckGoApplication : HasActivityInjector, HasServiceInjector, Applicati .doAfterTerminate({ appConfigurationSyncer.scheduleRegularSync(this) }) - .subscribe({}, { Timber.w(it, "Failed to download initial app configuration") }) + .subscribe({}, { Timber.w("Failed to download initial app configuration ${it.localizedMessage}") }) } override fun activityInjector(): AndroidInjector = activityInjector diff --git a/app/src/main/java/com/duckduckgo/app/job/AppConfigurationDownloader.kt b/app/src/main/java/com/duckduckgo/app/job/AppConfigurationDownloader.kt index dfa219a13139..64ad2ad061de 100644 --- a/app/src/main/java/com/duckduckgo/app/job/AppConfigurationDownloader.kt +++ b/app/src/main/java/com/duckduckgo/app/job/AppConfigurationDownloader.kt @@ -38,7 +38,7 @@ class AppConfigurationDownloader @Inject constructor( val disconnectDownload = trackerDataDownloader.downloadList(Client.ClientName.DISCONNECT) val httpsUpgradeDownload = httpsUpgradeListDownloader.downloadList() - return Completable.merge(listOf( + return Completable.mergeDelayError(listOf( easyListDownload.subscribeOn(Schedulers.io()), easyPrivacyDownload.subscribeOn(Schedulers.io()), trackersWhitelist.subscribeOn(Schedulers.io()), diff --git a/app/src/main/java/com/duckduckgo/app/job/AppConfigurationJobService.kt b/app/src/main/java/com/duckduckgo/app/job/AppConfigurationJobService.kt index 2016f80b028d..99296c81e216 100644 --- a/app/src/main/java/com/duckduckgo/app/job/AppConfigurationJobService.kt +++ b/app/src/main/java/com/duckduckgo/app/job/AppConfigurationJobService.kt @@ -40,13 +40,13 @@ class AppConfigurationJobService : JobService() { override fun onStartJob(params: JobParameters?): Boolean { Timber.i("onStartJob") - appConfigurationDownloader.downloadTask() + downloadTask= appConfigurationDownloader.downloadTask() .subscribeOn(Schedulers.io()) .subscribe({ Timber.i("Successfully downloaded all data") jobFinishedSuccessfully(params) }, { - Timber.w(it, "Failed to download app configuration") + Timber.w("Failed to download app configuration ${it.localizedMessage}") jobFinishedFailed(params) })