Skip to content

Commit 0be5ffc

Browse files
committed
update protocol urls
1 parent 34c979e commit 0be5ffc

File tree

7 files changed

+81
-20
lines changed

7 files changed

+81
-20
lines changed

app/src/main/java/io/agora/flat/Constants.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,6 @@ class Constants {
88
}
99

1010
object URL {
11-
const val Service = "https://www.flat.apprtc.cn/service.html"
12-
13-
const val Privacy = "https://www.flat.apprtc.cn/privacy.html"
14-
1511
const val Registration = "https://beian.miit.gov.cn"
1612

1713
const val Libraries = "https://www.flat.apprtc.cn/privacy-extra/libraries.html"

app/src/main/java/io/agora/flat/MainApplication.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import dagger.hilt.android.HiltAndroidApp
1010
import io.agora.flat.common.android.CallingCodeManager
1111
import io.agora.flat.common.android.DarkModeManager
1212
import io.agora.flat.common.android.LanguageManager
13+
import io.agora.flat.common.android.ProtocolUrlManager
1314
import io.agora.flat.common.upload.UploadManager
1415
import io.agora.flat.di.GlobalInstanceProvider
1516
import io.agora.flat.util.isApkInDebug
@@ -23,6 +24,7 @@ class MainApplication : Application(), CameraXConfig.Provider {
2324
DarkModeManager.init(this)
2425
CallingCodeManager.init(this)
2526
GlobalInstanceProvider.init(this)
27+
ProtocolUrlManager.init(this)
2628
WebView.setWebContentsDebuggingEnabled(isApkInDebug())
2729
WhiteboardView.setEntryUrl("file:///android_asset/flatboard/index.html")
2830
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package io.agora.flat.common.android
2+
3+
import android.app.Application
4+
import android.content.Context
5+
import io.agora.flat.data.AppEnv
6+
import io.agora.flat.data.AppEnv.Companion.ENV_CN_DEV
7+
import io.agora.flat.data.AppEnv.Companion.ENV_CN_PROD
8+
import io.agora.flat.data.AppEnv.Companion.ENV_SG_DEV
9+
import io.agora.flat.data.AppEnv.Companion.ENV_SG_PROD
10+
11+
object ProtocolUrlManager {
12+
private const val PRIVACY = "privacy"
13+
private const val SERVICE = "service"
14+
15+
private lateinit var application: Context
16+
17+
private val appEnv by lazy { AppEnv(application) }
18+
19+
private val urls: Map<String, Map<String, Map<String, String>>> = mapOf(
20+
PRIVACY to mapOf(
21+
ENV_CN_PROD to mapOf(
22+
"en" to "https://www.flat.apprtc.cn/en/privacy.html", "zh" to "https://www.flat.apprtc.cn/privacy.html"
23+
), ENV_CN_DEV to mapOf(
24+
"en" to "https://www.flat.apprtc.cn/en/privacy.html", "zh" to "https://www.flat.apprtc.cn/privacy.html"
25+
), ENV_SG_PROD to mapOf(
26+
"en" to "https://flat.agora.io/privacy.html", "zh" to "https://flat.agora.io/zh/privacy.html"
27+
), ENV_SG_DEV to mapOf(
28+
"en" to "https://flat.agora.io/privacy.html", "zh" to "https://flat.agora.io/zh/privacy.html"
29+
)
30+
),
31+
SERVICE to mapOf(
32+
ENV_CN_PROD to mapOf(
33+
"en" to "https://www.flat.apprtc.cn/en/service.html", "zh" to "https://www.flat.apprtc.cn/service.html"
34+
), ENV_CN_DEV to mapOf(
35+
"en" to "https://www.flat.apprtc.cn/en/service.html", "zh" to "https://www.flat.apprtc.cn/service.html"
36+
), ENV_SG_PROD to mapOf(
37+
"en" to "https://flat.agora.io/en/service.html", "zh" to "https://flat.agora.io/zh/service.html"
38+
), ENV_SG_DEV to mapOf(
39+
"en" to "https://flat.agora.io/en/service.html", "zh" to "https://flat.agora.io/zh/service.html"
40+
)
41+
),
42+
)
43+
44+
fun init(app: Application) {
45+
application = app
46+
}
47+
48+
val Service: String
49+
get() {
50+
val env = appEnv.getEnv()
51+
val lang = LanguageManager.currentLocale().language
52+
return urls[SERVICE]!![env]?.get(lang) ?: "https://www.flat.apprtc.cn/service.html"
53+
}
54+
55+
val Privacy: String
56+
get() {
57+
val env = appEnv.getEnv()
58+
val lang = LanguageManager.currentLocale().language
59+
return urls[PRIVACY]!![env]?.get(lang) ?: "https://www.flat.apprtc.cn/privacy.html"
60+
}
61+
}

app/src/main/java/io/agora/flat/ui/activity/LoginActivity.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ import androidx.compose.ui.tooling.preview.Preview
4949
import androidx.compose.ui.unit.dp
5050
import androidx.core.view.WindowCompat
5151
import dagger.hilt.android.AndroidEntryPoint
52-
import io.agora.flat.Constants
5352
import io.agora.flat.R
5453
import io.agora.flat.common.Navigator
5554
import io.agora.flat.common.android.LanguageManager
55+
import io.agora.flat.common.android.ProtocolUrlManager
5656
import io.agora.flat.common.login.LoginActivityHandler
5757
import io.agora.flat.common.login.LoginState
5858
import io.agora.flat.common.login.LoginType
@@ -125,11 +125,11 @@ class LoginActivity : BaseComposeActivity() {
125125
}
126126

127127
LoginUiAction.OpenServiceProtocol -> {
128-
Navigator.launchWebViewActivity(this, Constants.URL.Service)
128+
Navigator.launchWebViewActivity(this, ProtocolUrlManager.Service)
129129
}
130130

131131
LoginUiAction.OpenPrivacyProtocol -> {
132-
Navigator.launchWebViewActivity(this, Constants.URL.Privacy)
132+
Navigator.launchWebViewActivity(this, ProtocolUrlManager.Privacy)
133133
}
134134

135135
is LoginUiAction.PhoneLogin -> {
@@ -618,8 +618,8 @@ fun LoginAgreement(
618618
Checkbox(checked = checked, onCheckedChange = onCheckedChange)
619619
Spacer(Modifier.width(4.dp))
620620
val items = listOf(
621-
ClickableItem(stringResource(R.string.privacy_policy), "privacy", Constants.URL.Privacy),
622-
ClickableItem(stringResource(R.string.term_of_service), "service", Constants.URL.Service)
621+
ClickableItem(stringResource(R.string.privacy_policy), "privacy", ProtocolUrlManager.Privacy),
622+
ClickableItem(stringResource(R.string.term_of_service), "service", ProtocolUrlManager.Service)
623623
)
624624
FlatClickableText(stringResource(R.string.login_agreement_message), items = items)
625625
}

app/src/main/java/io/agora/flat/ui/activity/setting/AboutUsActivity.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import dagger.hilt.android.AndroidEntryPoint
2929
import io.agora.flat.Constants
3030
import io.agora.flat.R
3131
import io.agora.flat.common.Navigator
32+
import io.agora.flat.common.android.ProtocolUrlManager
3233
import io.agora.flat.data.AppEnv
3334
import io.agora.flat.ui.activity.base.BaseComposeActivity
3435
import io.agora.flat.ui.compose.BackTopAppBar
@@ -54,11 +55,11 @@ class AboutUsActivity : BaseComposeActivity() {
5455
when (action) {
5556
is AboutUiAction.Back -> finish()
5657
is AboutUiAction.OpenServiceProtocol -> {
57-
Navigator.launchWebViewActivity(this@AboutUsActivity, Constants.URL.Service)
58+
Navigator.launchWebViewActivity(this@AboutUsActivity, ProtocolUrlManager.Service)
5859
}
5960

6061
is AboutUiAction.OpenPrivacyProtocol -> {
61-
Navigator.launchWebViewActivity(this@AboutUsActivity, Constants.URL.Privacy)
62+
Navigator.launchWebViewActivity(this@AboutUsActivity, ProtocolUrlManager.Privacy)
6263
}
6364

6465
is AboutUiAction.OpenRegistration -> {

app/src/main/java/io/agora/flat/ui/activity/setting/Settings.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import androidx.navigation.NavController
3737
import io.agora.flat.Constants
3838
import io.agora.flat.R
3939
import io.agora.flat.common.Navigator
40+
import io.agora.flat.common.android.ProtocolUrlManager
4041
import io.agora.flat.ui.compose.BackTopAppBar
4142
import io.agora.flat.ui.compose.FlatColumnPage
4243
import io.agora.flat.ui.compose.FlatDivider
@@ -126,12 +127,12 @@ private fun SettingsList(state: SettingsUiState, onDownload: suspend () -> Uri,
126127
SettingItem(
127128
id = R.drawable.ic_settings_privacy_policy,
128129
tip = stringResource(R.string.privacy_policy),
129-
onClick = { Navigator.launchWebViewActivity(context, Constants.URL.Privacy) })
130+
onClick = { Navigator.launchWebViewActivity(context, ProtocolUrlManager.Privacy) })
130131
SettingItemDivider()
131132
SettingItem(
132133
id = R.drawable.ic_settings_term_of_service,
133134
tip = stringResource(R.string.term_of_service),
134-
onClick = { Navigator.launchWebViewActivity(context, Constants.URL.Service) })
135+
onClick = { Navigator.launchWebViewActivity(context, ProtocolUrlManager.Service) })
135136
SettingItemDivider()
136137
SettingItem(
137138
id = R.drawable.ic_settings_info_gathering,

app/src/main/java/io/agora/flat/ui/compose/FlatAgreement.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import androidx.compose.ui.Modifier
1010
import androidx.compose.ui.res.stringResource
1111
import androidx.compose.ui.unit.dp
1212
import androidx.compose.ui.window.Dialog
13-
import io.agora.flat.Constants
1413
import io.agora.flat.R
14+
import io.agora.flat.common.android.ProtocolUrlManager
1515
import io.agora.flat.data.model.Agreement
1616
import io.agora.flat.ui.theme.Shapes
1717

@@ -82,8 +82,8 @@ internal fun AgreementDialog(agreement: Agreement? = null, onAgree: () -> Unit,
8282
private fun LoginAgreementDialogMessage(agreement: Agreement?) {
8383
var text = agreement?.message ?: stringResource(R.string.login_agreement_dialog_message)
8484
val items = listOf(
85-
ClickableItem(stringResource(R.string.agreement_global_privacy), "privacy", Constants.URL.Privacy),
86-
ClickableItem(stringResource(R.string.agreement_global_service), "service", Constants.URL.Service)
85+
ClickableItem(stringResource(R.string.agreement_global_privacy), "privacy", ProtocolUrlManager.Privacy),
86+
ClickableItem(stringResource(R.string.agreement_global_service), "service", ProtocolUrlManager.Service)
8787
)
8888

8989
FlatClickableText(text = text, items = items)
@@ -93,8 +93,8 @@ private fun LoginAgreementDialogMessage(agreement: Agreement?) {
9393
private fun GlobalAgreementMessage() {
9494
val text = stringResource(R.string.agreement_global_dialog_message)
9595
val items = listOf(
96-
ClickableItem(stringResource(R.string.agreement_global_privacy), "privacy", Constants.URL.Privacy),
97-
ClickableItem(stringResource(R.string.agreement_global_service), "service", Constants.URL.Service)
96+
ClickableItem(stringResource(R.string.agreement_global_privacy), "privacy", ProtocolUrlManager.Privacy),
97+
ClickableItem(stringResource(R.string.agreement_global_service), "service", ProtocolUrlManager.Service)
9898
)
9999

100100
FlatClickableText(text = text, items = items)
@@ -104,8 +104,8 @@ private fun GlobalAgreementMessage() {
104104
private fun GlobalRecheckAgreementMessage() {
105105
val text = stringResource(R.string.agreement_global_recheck_dialog_message)
106106
val items = listOf(
107-
ClickableItem(stringResource(R.string.agreement_global_privacy), "privacy", Constants.URL.Privacy),
108-
ClickableItem(stringResource(R.string.agreement_global_service), "service", Constants.URL.Service)
107+
ClickableItem(stringResource(R.string.agreement_global_privacy), "privacy", ProtocolUrlManager.Privacy),
108+
ClickableItem(stringResource(R.string.agreement_global_service), "service", ProtocolUrlManager.Service)
109109
)
110110

111111
FlatClickableText(text = text, items = items)

0 commit comments

Comments
 (0)