From 5cb2ee17159933e12c3a9f2a291c1814981e8ff1 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Wed, 14 Sep 2022 13:35:31 +0800 Subject: [PATCH] Fix web URLs in Android app --- android/Omnivore/app/build.gradle | 2 ++ .../app/src/main/java/app/omnivore/omnivore/Constants.kt | 3 ++- .../src/main/java/app/omnivore/omnivore/ui/auth/AppleAuth.kt | 3 ++- .../java/app/omnivore/omnivore/ui/reader/WebAppReader.kt | 5 +++-- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/android/Omnivore/app/build.gradle b/android/Omnivore/app/build.gradle index 281b3ef98..23add2ab0 100644 --- a/android/Omnivore/app/build.gradle +++ b/android/Omnivore/app/build.gradle @@ -45,12 +45,14 @@ android { debug{ signingConfig signingConfigs.debug buildConfigField("String", "OMNIVORE_API_URL", "\"https://api-demo.omnivore.app\"") + buildConfigField("String", "OMNIVORE_WEB_URL", "\"https://demo.omnivore.app\"") buildConfigField("String", "OMNIVORE_GAUTH_SERVER_CLIENT_ID", "\"267918240109-eu2ar09unac3lqqigluknhk7t0021b54.apps.googleusercontent.com\"") } release { minifyEnabled false signingConfig signingConfigs.release buildConfigField("String", "OMNIVORE_API_URL", "\"https://api-prod.omnivore.app\"") + buildConfigField("String", "OMNIVORE_WEB_URL", "\"https://omnivore.app\"") buildConfigField("String", "OMNIVORE_GAUTH_SERVER_CLIENT_ID", "\"687911924401-lq8j1e97n0sv3khhb8g8n368lk4dqkbp.apps.googleusercontent.com\"") proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/Constants.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/Constants.kt index 4aa48a1e3..b351e3ecf 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/Constants.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/Constants.kt @@ -2,6 +2,7 @@ package app.omnivore.omnivore object Constants { const val apiURL = BuildConfig.OMNIVORE_API_URL + const val webURL = BuildConfig.OMNIVORE_WEB_URL const val dataStoreName = "omnivore-datastore" } @@ -12,7 +13,7 @@ object DatastoreKeys { object AppleConstants { const val clientId = "app.omnivore" - const val redirectURI = "https%3A%2F%2Fapi-demo.omnivore.app%2Fapi%2Fmobile-auth%2Fandroid-apple-redirect" + const val redirectURI = BuildConfig.OMNIVORE_API_URL + "/api/mobile-auth/android-apple-redirect" const val scope = "name%20email" const val authUrl = "https://appleid.apple.com/auth/authorize" } diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/auth/AppleAuth.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/auth/AppleAuth.kt index 54c001f11..9ade3f780 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/auth/AppleAuth.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/auth/AppleAuth.kt @@ -20,6 +20,7 @@ import androidx.compose.ui.viewinterop.AndroidView import androidx.compose.ui.window.Dialog import app.omnivore.omnivore.AppleConstants import app.omnivore.omnivore.R +import java.net.URLEncoder import java.util.* @Composable @@ -62,7 +63,7 @@ fun AppleAuthDialog(onDismiss: (String?) -> Unit) { fun AppleAuthWebView(onDismiss: (String?) -> Unit) { val url = AppleConstants.authUrl + "?client_id=" + AppleConstants.clientId + - "&redirect_uri=" + AppleConstants.redirectURI + + "&redirect_uri=" + URLEncoder.encode(AppleConstants.redirectURI, "utf8") + "&response_type=code%20id_token" + "&scope=" + AppleConstants.scope + "&response_mode=form_post" + 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 index b09157fd0..6bae096ad 100644 --- 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 @@ -8,13 +8,14 @@ import android.webkit.WebViewClient import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.viewinterop.AndroidView +import app.omnivore.omnivore.BuildConfig @SuppressLint("SetJavaScriptEnabled") @Composable fun ArticleWebView(slug: String, authCookieString: String) { WebView.setWebContentsDebuggingEnabled(true) - val url = "https://demo.omnivore.app/app/me/$slug" + val url = BuildConfig.OMNIVORE_WEB_URL + "/app/me/$slug" AndroidView(factory = { WebView(it).apply { @@ -33,7 +34,7 @@ fun ArticleWebView(slug: String, authCookieString: String) { CookieManager.getInstance().setAcceptThirdPartyCookies(this, true) CookieManager.getInstance().setAcceptCookie(true) - CookieManager.getInstance().setCookie("https://api-demo.omnivore.app", authCookieString) { + CookieManager.getInstance().setCookie(BuildConfig.OMNIVORE_WEB_URL, authCookieString) { loadUrl(url) } }