From 4fafca7f467c92e9e04cbf08e56ab6a66221689b Mon Sep 17 00:00:00 2001 From: Satindar Dhillon Date: Wed, 31 Aug 2022 13:38:01 -0700 Subject: [PATCH] Move web reader into own file --- .../app/omnivore/omnivore/ui/home/HomeView.kt | 36 ---------------- .../omnivore/ui/reader/WebAppReader.kt | 42 +++++++++++++++++++ 2 files changed, 42 insertions(+), 36 deletions(-) create mode 100644 android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/WebAppReader.kt diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/home/HomeView.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/home/HomeView.kt index ed09e0f3e..238e47c94 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/home/HomeView.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/home/HomeView.kt @@ -1,8 +1,6 @@ package app.omnivore.omnivore.ui.home import android.annotation.SuppressLint -import android.view.ViewGroup -import android.webkit.* import androidx.compose.foundation.background import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn @@ -17,7 +15,6 @@ import androidx.compose.runtime.livedata.observeAsState import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import androidx.compose.ui.viewinterop.AndroidView import androidx.navigation.NavHostController import app.omnivore.omnivore.Routes @@ -86,36 +83,3 @@ fun HomeViewContent( } } } - -@SuppressLint("SetJavaScriptEnabled") -@Composable -fun ArticleWebView(slug: String, authCookieString: String) { - WebView.setWebContentsDebuggingEnabled(true) - - val url = "https://demo.omnivore.app/app/me/$slug" - - AndroidView(factory = { - WebView(it).apply { - layoutParams = ViewGroup.LayoutParams( - ViewGroup.LayoutParams.MATCH_PARENT, - ViewGroup.LayoutParams.MATCH_PARENT - ) - - settings.javaScriptEnabled = true - settings.allowContentAccess = true - settings.allowFileAccess = true - settings.domStorageEnabled = true - - webViewClient = object : WebViewClient() { - } - - CookieManager.getInstance().setAcceptThirdPartyCookies(this, true) - CookieManager.getInstance().setAcceptCookie(true) - CookieManager.getInstance().setCookie("https://api-demo.omnivore.app", authCookieString) { - loadUrl(url) - } - } - }, update = { - it.loadUrl(url) - }) -} diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/WebAppReader.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/WebAppReader.kt new file mode 100644 index 000000000..1b1091bbe --- /dev/null +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/WebAppReader.kt @@ -0,0 +1,42 @@ +package app.omnivore.omnivore.ui.reader + +import android.annotation.SuppressLint +import android.view.ViewGroup +import android.webkit.CookieManager +import android.webkit.WebView +import android.webkit.WebViewClient +import androidx.compose.runtime.Composable +import androidx.compose.ui.viewinterop.AndroidView + +@SuppressLint("SetJavaScriptEnabled") +@Composable +fun ArticleWebView(slug: String, authCookieString: String) { + WebView.setWebContentsDebuggingEnabled(true) + + val url = "https://demo.omnivore.app/app/me/$slug" + + AndroidView(factory = { + WebView(it).apply { + layoutParams = ViewGroup.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.MATCH_PARENT + ) + + settings.javaScriptEnabled = true + settings.allowContentAccess = true + settings.allowFileAccess = true + settings.domStorageEnabled = true + + webViewClient = object : WebViewClient() { + } + + CookieManager.getInstance().setAcceptThirdPartyCookies(this, true) + CookieManager.getInstance().setAcceptCookie(true) + CookieManager.getInstance().setCookie("https://api-demo.omnivore.app", authCookieString) { + loadUrl(url) + } + } + }, update = { + it.loadUrl(url) + }) +}