Add Terms of Service and Privacy Policy
This commit is contained in:
parent
aca2e9c41b
commit
4f7ebb7958
28
TERMS_OF_SERVICE_AND_PRIVACY_POLICY-zh.md
Normal file
28
TERMS_OF_SERVICE_AND_PRIVACY_POLICY-zh.md
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
# 服务条款与隐私政策
|
||||||
|
|
||||||
|
### 隐私政策
|
||||||
|
|
||||||
|
我非常重视您的隐私。**Read You** 不收集任何用户数据,所有敏感信息(密码和其他账户信息)都安全地存储在您设备上的本地应用数据库中。
|
||||||
|
|
||||||
|
**Read You** 将使用以下权限为您提供服务:
|
||||||
|
|
||||||
|
- 访问网络权限(用于访问您所指定的在线内容)
|
||||||
|
- 获取网络状态权限(用于获取当前设备是否拥有可用的网络条件)
|
||||||
|
- 后台服务权限(用于定时自动地为您同步已收藏的内容)
|
||||||
|
|
||||||
|
### 第三方服务
|
||||||
|
|
||||||
|
本政策不适用于您与 **Read You** 一起使用的第三方服务。您可以在所使用的第三方服务的网站上查阅相关的隐私政策。
|
||||||
|
|
||||||
|
### 免责声明
|
||||||
|
|
||||||
|
**Read You** 仅是一款内容收藏工具。您在使用 **Read You** 的过程中,应遵守所在国家和地区的法律法规,因您的行为所产生的一切责任将由您个人承担。
|
||||||
|
|
||||||
|
### 开源许可
|
||||||
|
|
||||||
|
**Read You** 是一个使用 GNU GPL 3.0 开源许可协议的开源项目 ①,允许您免费使用、引用、修改 **Read You** 的源代码,但不允许修改后和其衍生的代码作为闭源的商业软件进行发布和销售。具体细节请查看完整的 GNU GPL 3.0 开源许可协议 ②。
|
||||||
|
|
||||||
|
### 附录
|
||||||
|
|
||||||
|
1. [https://github.com/Ashinch/ReadYou](https://github.com/Ashinch/ReadYou)
|
||||||
|
2. [https://www.gnu.org/licenses/gpl-3.0.html](https://www.gnu.org/licenses/gpl-3.0.html)
|
28
TERMS_OF_SERVICE_AND_PRIVACY_POLICY.md
Normal file
28
TERMS_OF_SERVICE_AND_PRIVACY_POLICY.md
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
# Terms of Service and Privacy Policy
|
||||||
|
|
||||||
|
### Privacy Policy
|
||||||
|
|
||||||
|
I take your privacy very seriously. **Read You** does not collect any user data, and all sensitive information (passwords and other account information) is securely stored in the local application database on your device.
|
||||||
|
|
||||||
|
**Read You** will use the following permissions to provide you with the service.
|
||||||
|
|
||||||
|
- Access Network permission (for accessing online content as you specify)
|
||||||
|
- Get network status permission (for getting whether the device currently has available network conditions)
|
||||||
|
- Background service permission (to automatically sync your favorites for you on a regular basis)
|
||||||
|
|
||||||
|
### Third Party Services
|
||||||
|
|
||||||
|
This policy does not apply to third-party services that you use with **Read You**. You can review the privacy policies of the third-party services you use on their websites.
|
||||||
|
|
||||||
|
### Disclaimers
|
||||||
|
|
||||||
|
**Read You** is a content collection tool only. Your use of **Read You** is subject to the laws and regulations of your country and region, and any liability arising from your actions will be borne by you personally.
|
||||||
|
|
||||||
|
### Open Source License
|
||||||
|
|
||||||
|
**Read You** is an open source project under the GNU GPL 3.0 Open Source License ①, which allows you to use, reference, and modify the source code of **Read You** for free, but does not allow the modified and derived code to be distributed and sold as closed-source commercial software. For details, please see the full GNU GPL 3.0 Open Source License ②.
|
||||||
|
|
||||||
|
### Appendix
|
||||||
|
|
||||||
|
1. [https://github.com/Ashinch/ReadYou](https://github.com/Ashinch/ReadYou)
|
||||||
|
2. [https://www.gnu.org/licenses/gpl-3.0.html](https://www.gnu.org/licenses/gpl-3.0.html)
|
|
@ -13,8 +13,8 @@ android {
|
||||||
applicationId "me.ash.reader"
|
applicationId "me.ash.reader"
|
||||||
minSdk 26
|
minSdk 26
|
||||||
targetSdk 32
|
targetSdk 32
|
||||||
versionCode 1
|
versionCode 2
|
||||||
versionName "0.6.1"
|
versionName "0.6.2"
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
vectorDrawables {
|
vectorDrawables {
|
||||||
|
@ -53,6 +53,7 @@ android {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
implementation 'com.github.ireward:compose-html:1.0.2'
|
||||||
implementation 'be.ceau:opml-parser:2.2.0'
|
implementation 'be.ceau:opml-parser:2.2.0'
|
||||||
implementation "androidx.profileinstaller:profileinstaller:1.2.0-alpha02"
|
implementation "androidx.profileinstaller:profileinstaller:1.2.0-alpha02"
|
||||||
implementation("io.coil-kt:coil-compose:2.0.0-rc02")
|
implementation("io.coil-kt:coil-compose:2.0.0-rc02")
|
||||||
|
|
|
@ -11,8 +11,8 @@
|
||||||
"type": "SINGLE",
|
"type": "SINGLE",
|
||||||
"filters": [],
|
"filters": [],
|
||||||
"attributes": [],
|
"attributes": [],
|
||||||
"versionCode": 1,
|
"versionCode": 2,
|
||||||
"versionName": "0.6.1",
|
"versionName": "0.6.2",
|
||||||
"outputFile": "app-release.apk"
|
"outputFile": "app-release.apk"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
@ -3,10 +3,7 @@ package me.ash.reader.ui.ext
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import androidx.datastore.core.DataStore
|
import androidx.datastore.core.DataStore
|
||||||
import androidx.datastore.preferences.core.Preferences
|
import androidx.datastore.preferences.core.*
|
||||||
import androidx.datastore.preferences.core.edit
|
|
||||||
import androidx.datastore.preferences.core.emptyPreferences
|
|
||||||
import androidx.datastore.preferences.core.intPreferencesKey
|
|
||||||
import androidx.datastore.preferences.preferencesDataStore
|
import androidx.datastore.preferences.preferencesDataStore
|
||||||
import kotlinx.coroutines.flow.catch
|
import kotlinx.coroutines.flow.catch
|
||||||
import kotlinx.coroutines.flow.first
|
import kotlinx.coroutines.flow.first
|
||||||
|
@ -15,6 +12,8 @@ import kotlinx.coroutines.runBlocking
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
|
|
||||||
val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "settings")
|
val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "settings")
|
||||||
|
val Context.isFirstLaunch: Boolean
|
||||||
|
get() = this.dataStore.get(DataStoreKeys.IsFirstLaunch) ?: true
|
||||||
val Context.currentAccountId: Int
|
val Context.currentAccountId: Int
|
||||||
get() = this.dataStore.get(DataStoreKeys.CurrentAccountId)!!
|
get() = this.dataStore.get(DataStoreKeys.CurrentAccountId)!!
|
||||||
val Context.currentAccountType: Int
|
val Context.currentAccountType: Int
|
||||||
|
@ -46,6 +45,11 @@ fun <T> DataStore<Preferences>.get(dataStoreKeys: DataStoreKeys<T>): T? {
|
||||||
sealed class DataStoreKeys<T> {
|
sealed class DataStoreKeys<T> {
|
||||||
abstract val key: Preferences.Key<T>
|
abstract val key: Preferences.Key<T>
|
||||||
|
|
||||||
|
object IsFirstLaunch : DataStoreKeys<Boolean>() {
|
||||||
|
override val key: Preferences.Key<Boolean>
|
||||||
|
get() = booleanPreferencesKey("isFirstLaunch")
|
||||||
|
}
|
||||||
|
|
||||||
object CurrentAccountId : DataStoreKeys<Int>() {
|
object CurrentAccountId : DataStoreKeys<Int>() {
|
||||||
override val key: Preferences.Key<Int>
|
override val key: Preferences.Key<Int>
|
||||||
get() = intPreferencesKey("currentAccountId")
|
get() = intPreferencesKey("currentAccountId")
|
||||||
|
|
|
@ -11,6 +11,7 @@ import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import com.google.accompanist.insets.ProvideWindowInsets
|
import com.google.accompanist.insets.ProvideWindowInsets
|
||||||
import com.google.accompanist.insets.navigationBarsHeight
|
import com.google.accompanist.insets.navigationBarsHeight
|
||||||
import com.google.accompanist.insets.statusBarsPadding
|
import com.google.accompanist.insets.statusBarsPadding
|
||||||
|
@ -18,13 +19,16 @@ import com.google.accompanist.navigation.animation.AnimatedNavHost
|
||||||
import com.google.accompanist.navigation.animation.rememberAnimatedNavController
|
import com.google.accompanist.navigation.animation.rememberAnimatedNavController
|
||||||
import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
||||||
import me.ash.reader.ui.ext.animatedComposable
|
import me.ash.reader.ui.ext.animatedComposable
|
||||||
|
import me.ash.reader.ui.ext.isFirstLaunch
|
||||||
import me.ash.reader.ui.page.home.HomePage
|
import me.ash.reader.ui.page.home.HomePage
|
||||||
import me.ash.reader.ui.page.settings.SettingsPage
|
import me.ash.reader.ui.page.settings.SettingsPage
|
||||||
|
import me.ash.reader.ui.page.startup.StartupPage
|
||||||
import me.ash.reader.ui.theme.AppTheme
|
import me.ash.reader.ui.theme.AppTheme
|
||||||
|
|
||||||
@OptIn(ExperimentalAnimationApi::class, androidx.compose.material.ExperimentalMaterialApi::class)
|
@OptIn(ExperimentalAnimationApi::class, androidx.compose.material.ExperimentalMaterialApi::class)
|
||||||
@Composable
|
@Composable
|
||||||
fun HomeEntry() {
|
fun HomeEntry() {
|
||||||
|
val context = LocalContext.current
|
||||||
val navController = rememberAnimatedNavController()
|
val navController = rememberAnimatedNavController()
|
||||||
|
|
||||||
AppTheme {
|
AppTheme {
|
||||||
|
@ -42,8 +46,11 @@ fun HomeEntry() {
|
||||||
) {
|
) {
|
||||||
AnimatedNavHost(
|
AnimatedNavHost(
|
||||||
navController = navController,
|
navController = navController,
|
||||||
startDestination = RouteName.HOME,
|
startDestination = if (context.isFirstLaunch) RouteName.STARTUP else RouteName.HOME,
|
||||||
) {
|
) {
|
||||||
|
animatedComposable(route = RouteName.STARTUP) {
|
||||||
|
StartupPage(navController)
|
||||||
|
}
|
||||||
animatedComposable(route = RouteName.HOME) {
|
animatedComposable(route = RouteName.HOME) {
|
||||||
HomePage(navController)
|
HomePage(navController)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package me.ash.reader.ui.page.common
|
package me.ash.reader.ui.page.common
|
||||||
|
|
||||||
object RouteName {
|
object RouteName {
|
||||||
|
const val STARTUP = "startup"
|
||||||
const val HOME = "home"
|
const val HOME = "home"
|
||||||
const val FEED = "feed"
|
const val FEED = "feed"
|
||||||
const val ARTICLE = "article"
|
const val ARTICLE = "article"
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
package me.ash.reader.ui.page.settings
|
package me.ash.reader.ui.page.settings
|
||||||
|
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.layout.*
|
import androidx.compose.foundation.layout.Spacer
|
||||||
|
import androidx.compose.foundation.layout.height
|
||||||
import androidx.compose.foundation.lazy.LazyColumn
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.outlined.*
|
import androidx.compose.material.icons.outlined.*
|
||||||
|
@ -9,22 +10,15 @@ import androidx.compose.material.icons.rounded.ArrowBack
|
||||||
import androidx.compose.material.icons.rounded.Close
|
import androidx.compose.material.icons.rounded.Close
|
||||||
import androidx.compose.material3.*
|
import androidx.compose.material3.*
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Alignment
|
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.vector.ImageVector
|
|
||||||
import androidx.compose.ui.platform.LocalContext
|
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
|
||||||
import androidx.navigation.NavHostController
|
import androidx.navigation.NavHostController
|
||||||
import me.ash.reader.R
|
import me.ash.reader.R
|
||||||
import me.ash.reader.ui.component.Banner
|
import me.ash.reader.ui.component.Banner
|
||||||
import me.ash.reader.ui.component.DisplayText
|
import me.ash.reader.ui.component.DisplayText
|
||||||
import me.ash.reader.ui.component.FeedbackIconButton
|
import me.ash.reader.ui.component.FeedbackIconButton
|
||||||
import me.ash.reader.ui.component.SelectableSettingGroupItem
|
import me.ash.reader.ui.component.SelectableSettingGroupItem
|
||||||
import me.ash.reader.ui.ext.paddingFixedHorizontal
|
|
||||||
import me.ash.reader.ui.ext.roundClick
|
|
||||||
import me.ash.reader.ui.page.common.RouteName
|
import me.ash.reader.ui.page.common.RouteName
|
||||||
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
|
@ -108,48 +102,3 @@ fun SettingsPage(
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
|
||||||
fun SettingsItem(
|
|
||||||
title: String = "",
|
|
||||||
description: String = "",
|
|
||||||
imageVector: ImageVector,
|
|
||||||
) {
|
|
||||||
Row(modifier = Modifier
|
|
||||||
.fillMaxWidth()
|
|
||||||
.roundClick { }
|
|
||||||
) {
|
|
||||||
|
|
||||||
Row(
|
|
||||||
modifier = Modifier.paddingFixedHorizontal(top = 16.dp, bottom = 16.dp),
|
|
||||||
verticalAlignment = Alignment.CenterVertically
|
|
||||||
) {
|
|
||||||
Spacer(modifier = Modifier.width(4.dp))
|
|
||||||
Icon(
|
|
||||||
imageVector = imageVector,
|
|
||||||
contentDescription = title,
|
|
||||||
tint = MaterialTheme.colorScheme.onPrimaryContainer,
|
|
||||||
)
|
|
||||||
Spacer(modifier = Modifier.width(20.dp))
|
|
||||||
Column {
|
|
||||||
Text(
|
|
||||||
text = title,
|
|
||||||
fontSize = 20.sp,
|
|
||||||
color = MaterialTheme.colorScheme.onPrimaryContainer,
|
|
||||||
)
|
|
||||||
Text(
|
|
||||||
text = description,
|
|
||||||
color = MaterialTheme.colorScheme.outline,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Preview
|
|
||||||
@Composable
|
|
||||||
fun SettingsPreview() {
|
|
||||||
Row(modifier = Modifier.background(MaterialTheme.colorScheme.surface)) {
|
|
||||||
SettingsPage(navController = NavHostController(LocalContext.current))
|
|
||||||
}
|
|
||||||
}
|
|
137
app/src/main/java/me/ash/reader/ui/page/startup/StartupPage.kt
Normal file
137
app/src/main/java/me/ash/reader/ui/page/startup/StartupPage.kt
Normal file
|
@ -0,0 +1,137 @@
|
||||||
|
package me.ash.reader.ui.page.startup
|
||||||
|
|
||||||
|
import android.content.Intent
|
||||||
|
import android.net.Uri
|
||||||
|
import androidx.compose.foundation.Image
|
||||||
|
import androidx.compose.foundation.background
|
||||||
|
import androidx.compose.foundation.layout.*
|
||||||
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
|
import androidx.compose.material.icons.Icons
|
||||||
|
import androidx.compose.material.icons.outlined.Info
|
||||||
|
import androidx.compose.material.icons.rounded.CheckCircleOutline
|
||||||
|
import androidx.compose.material3.*
|
||||||
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
|
import androidx.compose.ui.Alignment
|
||||||
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.platform.LocalContext
|
||||||
|
import androidx.compose.ui.res.painterResource
|
||||||
|
import androidx.compose.ui.res.stringResource
|
||||||
|
import androidx.compose.ui.unit.dp
|
||||||
|
import androidx.navigation.NavHostController
|
||||||
|
import com.ireward.htmlcompose.HtmlText
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
|
import me.ash.reader.R
|
||||||
|
import me.ash.reader.ui.component.DisplayText
|
||||||
|
import me.ash.reader.ui.ext.DataStoreKeys
|
||||||
|
import me.ash.reader.ui.ext.dataStore
|
||||||
|
import me.ash.reader.ui.ext.put
|
||||||
|
import me.ash.reader.ui.page.common.RouteName
|
||||||
|
|
||||||
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
|
@Composable
|
||||||
|
fun StartupPage(
|
||||||
|
navController: NavHostController,
|
||||||
|
) {
|
||||||
|
val context = LocalContext.current
|
||||||
|
val scope = rememberCoroutineScope()
|
||||||
|
|
||||||
|
Scaffold(
|
||||||
|
modifier = Modifier.background(MaterialTheme.colorScheme.surface),
|
||||||
|
topBar = {},
|
||||||
|
content = {
|
||||||
|
LazyColumn {
|
||||||
|
item {
|
||||||
|
Spacer(modifier = Modifier.height(64.dp))
|
||||||
|
DisplayText(text = stringResource(R.string.welcome), desc = "")
|
||||||
|
}
|
||||||
|
item {
|
||||||
|
Spacer(modifier = Modifier.height(16.dp))
|
||||||
|
Image(
|
||||||
|
modifier = Modifier.padding(horizontal = 16.dp),
|
||||||
|
painter = painterResource(id = R.drawable.welcome),
|
||||||
|
contentDescription = stringResource(R.string.welcome),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
item {
|
||||||
|
TipsItem(
|
||||||
|
modifier = Modifier
|
||||||
|
.padding(horizontal = 24.dp)
|
||||||
|
.padding(top = 40.dp)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
item {
|
||||||
|
Spacer(modifier = Modifier.height(10.dp))
|
||||||
|
TextButton(
|
||||||
|
modifier = Modifier.padding(horizontal = 12.dp),
|
||||||
|
onClick = {
|
||||||
|
context.let {
|
||||||
|
it.startActivity(
|
||||||
|
Intent(
|
||||||
|
Intent.ACTION_VIEW,
|
||||||
|
Uri.parse(it.getString(R.string.terms_link))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
) {
|
||||||
|
HtmlText(
|
||||||
|
text = stringResource(R.string.view_terms),
|
||||||
|
style = MaterialTheme.typography.bodySmall.copy(
|
||||||
|
color = MaterialTheme.colorScheme.outline,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
Spacer(modifier = Modifier.height(100.dp))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
bottomBar = {
|
||||||
|
Row(
|
||||||
|
modifier = Modifier
|
||||||
|
.fillMaxWidth()
|
||||||
|
.padding(24.dp),
|
||||||
|
horizontalArrangement = Arrangement.End,
|
||||||
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
|
) {
|
||||||
|
ExtendedFloatingActionButton(
|
||||||
|
onClick = {
|
||||||
|
navController.navigate(route = RouteName.HOME)
|
||||||
|
scope.launch {
|
||||||
|
context.dataStore.put(DataStoreKeys.IsFirstLaunch, false)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
icon = {
|
||||||
|
Icon(
|
||||||
|
Icons.Rounded.CheckCircleOutline,
|
||||||
|
stringResource(R.string.agree_and_continue)
|
||||||
|
)
|
||||||
|
},
|
||||||
|
text = { Text(text = stringResource(R.string.agree_and_continue)) },
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
private fun TipsItem(
|
||||||
|
modifier: Modifier = Modifier,
|
||||||
|
) {
|
||||||
|
Column(
|
||||||
|
modifier = modifier
|
||||||
|
.fillMaxWidth()
|
||||||
|
) {
|
||||||
|
Icon(
|
||||||
|
imageVector = Icons.Outlined.Info,
|
||||||
|
contentDescription = stringResource(R.string.tips_and_support),
|
||||||
|
tint = MaterialTheme.colorScheme.onSurfaceVariant,
|
||||||
|
)
|
||||||
|
Spacer(modifier = Modifier.height(22.dp))
|
||||||
|
Text(
|
||||||
|
text = stringResource(R.string.agree_terms),
|
||||||
|
style = MaterialTheme.typography.titleSmall,
|
||||||
|
color = MaterialTheme.colorScheme.onSurfaceVariant,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
123
app/src/main/res/drawable/welcome.xml
Normal file
123
app/src/main/res/drawable/welcome.xml
Normal file
|
@ -0,0 +1,123 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="846.67004dp"
|
||||||
|
android:height="497.80338dp"
|
||||||
|
android:viewportWidth="846.67004"
|
||||||
|
android:viewportHeight="497.80338">
|
||||||
|
<path
|
||||||
|
android:pathData="M137.075,56.711a25.667,25.667 0,0 0,-25.638 25.638L111.437,361.073a25.667,25.667 0,0 0,25.638 25.638L714.8,386.711a25.667,25.667 0,0 0,25.638 -25.638L740.437,82.348A25.667,25.667 0,0 0,714.8 56.711Z"
|
||||||
|
android:fillColor="#fff"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M714.8,387.711L137.075,387.711a26.668,26.668 0,0 1,-26.638 -26.638L110.437,82.348a26.668,26.668 0,0 1,26.638 -26.638L714.8,55.711a26.668,26.668 0,0 1,26.638 26.638L741.437,361.073A26.668,26.668 0,0 1,714.8 387.711ZM137.075,57.711a24.665,24.665 0,0 0,-24.638 24.638L112.437,361.073a24.665,24.665 0,0 0,24.638 24.638L714.8,385.711a24.665,24.665 0,0 0,24.638 -24.638L739.437,82.348A24.665,24.665 0,0 0,714.8 57.711Z"
|
||||||
|
android:fillColor="#3f3d56"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M295.953,373.817a2.028,7.745 92.272,1 0,0.161 -4.053a2.028,7.745 92.272,1 0,-0.161 4.053z"
|
||||||
|
android:fillColor="#e6e6e6"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M345.256,371.206a2.028,7.745 92.272,1 0,0.161 -4.053a2.028,7.745 92.272,1 0,-0.161 4.053z"
|
||||||
|
android:fillColor="#3f3d56"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M277.01,358.605a2.028,7.745 92.272,1 0,0.161 -4.053a2.028,7.745 92.272,1 0,-0.161 4.053z"
|
||||||
|
android:fillColor="#ff6584"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M257.387,352.746a1.821,3.446 96.502,1 0,0.412 -3.618a1.821,3.446 96.502,1 0,-0.412 3.618z"
|
||||||
|
android:fillColor="#e6e6e6"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M246.009,341.093a1.821,3.446 96.502,1 0,0.412 -3.618a1.821,3.446 96.502,1 0,-0.412 3.618z"
|
||||||
|
android:fillColor="#3f3d56"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M310.31,360.935a1.821,3.446 96.502,1 0,0.412 -3.618a1.821,3.446 96.502,1 0,-0.412 3.618z"
|
||||||
|
android:fillColor="#e6e6e6"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M287.746,365.894a1.821,3.446 96.502,1 0,0.412 -3.618a1.821,3.446 96.502,1 0,-0.412 3.618z"
|
||||||
|
android:fillColor="#ff6584"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M324.243,373.881a1.821,3.446 96.502,1 0,0.412 -3.618a1.821,3.446 96.502,1 0,-0.412 3.618z"
|
||||||
|
android:fillColor="#3f3d56"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M0,331.112a1.186,1.186 0,0 0,1.19 1.19h844.29a1.19,1.19 0,0 0,0 -2.38L1.19,329.922A1.187,1.187 0,0 0,0 331.112Z"
|
||||||
|
android:fillColor="#ccc"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M288.588,310.088a2.807,2.807 0,0 1,-2.035 -4.866l0.192,-0.765q-0.038,-0.092 -0.076,-0.184a7.539,7.539 0,0 0,-13.907 0.052c-2.275,5.478 -5.17,10.966 -5.883,16.758a22.303,22.303 0,0 0,0.392 7.671,89.419 89.419,0 0,1 -8.134,-37.139 86.307,86.307 0,0 1,0.535 -9.628q0.443,-3.931 1.231,-7.807A90.456,90.456 0,0 1,278.841 235.843a24.073,24.073 0,0 0,10.012 -10.387,18.362 18.362,0 0,0 1.67,-5.018c-0.487,0.064 -1.838,-7.359 -1.47,-7.815 -0.679,-1.031 -1.895,-1.543 -2.637,-2.549 -3.689,-5.002 -8.773,-4.129 -11.426,2.669 -5.669,2.861 -5.724,7.606 -2.245,12.169 2.213,2.903 2.517,6.832 4.459,9.94 -0.2,0.256 -0.408,0.503 -0.607,0.759a91.04,91.04 0,0 0,-9.502 15.054,37.846 37.846,0 0,0 -2.259,-17.579c-2.163,-5.217 -6.216,-9.611 -9.786,-14.122 -4.288,-5.418 -13.08,-3.053 -13.836,3.814q-0.011,0.1 -0.021,0.199 0.795,0.449 1.557,0.952a3.808,3.808 0,0 1,-1.535 6.93l-0.078,0.012a37.89,37.89 0,0 0,0.999 5.665c-4.579,17.71 5.307,24.16 19.424,24.45 0.312,0.16 0.615,0.32 0.927,0.471a92.925,92.925 0,0 0,-5.002 23.539,88.137 88.137,0 0,0 0.064,14.231l-0.024,-0.168a23.289,23.289 0,0 0,-7.95 -13.448c-6.118,-5.026 -14.762,-6.877 -21.363,-10.917a4.371,4.371 0,0 0,-6.694 4.252q0.013,0.088 0.027,0.176a25.581,25.581 0,0 1,2.868 1.382q0.795,0.449 1.557,0.952a3.808,3.808 0,0 1,-1.535 6.93l-0.078,0.012c-0.056,0.008 -0.104,0.016 -0.16,0.024a37.923,37.923 0,0 0,6.975 10.923c2.863,15.46 15.162,16.927 28.318,12.425h0.008a92.898,92.898 0,0 0,6.24 18.218h22.293c0.08,-0.248 0.152,-0.503 0.224,-0.751A25.329,25.329 0,0 1,282.085 328.874c1.654,-2.03 3.308,-4.075 4.962,-6.105a1.384,1.384 0,0 0,0.104 -0.12c0.839,-1.039 1.686,-2.069 2.525,-3.108l0,-0.001a37.101,37.101 0,0 0,-1.087 -9.451Z"
|
||||||
|
android:fillColor="#f2f2f2"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M177.301,297.719a4.552,4.552 0,0 1,-3.299 -7.89c0.115,-0.456 0.197,-0.784 0.312,-1.24q-0.062,-0.149 -0.124,-0.298a12.224,12.224 0,0 0,-22.549 0.084c-3.688,8.882 -8.383,17.78 -9.54,27.171a36.164,36.164 0,0 0,0.635 12.437,144.987 144.987,0 0,1 -13.189,-60.218 139.941,139.941 0,0 1,0.868 -15.612q0.719,-6.374 1.995,-12.658a146.667,146.667 0,0 1,29.085 -62.161,39.032 39.032,0 0,0 16.233,-16.842 29.773,29.773 0,0 0,2.708 -8.136c-0.79,0.104 -2.98,-11.932 -2.384,-12.671 -1.101,-1.671 -3.073,-2.502 -4.275,-4.133 -5.982,-8.111 -14.224,-6.694 -18.527,4.327 -9.191,4.639 -9.28,12.332 -3.641,19.731 3.588,4.707 4.081,11.077 7.229,16.117 -0.324,0.415 -0.661,0.816 -0.985,1.231a147.615,147.615 0,0 0,-15.407 24.409,61.364 61.364,0 0,0 -3.664,-28.503c-3.507,-8.459 -10.079,-15.584 -15.867,-22.897 -6.952,-8.784 -21.209,-4.951 -22.434,6.185q-0.018,0.162 -0.035,0.323 1.29,0.727 2.525,1.544a6.174,6.174 0,0 1,-2.489 11.236l-0.126,0.019a61.435,61.435 0,0 0,1.619 9.186c-7.425,28.716 8.605,39.174 31.495,39.644 0.505,0.259 0.998,0.518 1.503,0.764a150.671,150.671 0,0 0,-8.11 38.167,142.905 142.905,0 0,0 0.104,23.074l-0.039,-0.272a37.762,37.762 0,0 0,-12.891 -21.804c-9.92,-8.149 -23.936,-11.15 -34.638,-17.7 -5.152,-3.153 -11.753,0.922 -10.854,6.894q0.022,0.143 0.044,0.286a41.475,41.475 0,0 1,4.651 2.241q1.29,0.728 2.525,1.544a6.175,6.175 0,0 1,-2.489 11.236l-0.126,0.019c-0.091,0.013 -0.168,0.026 -0.259,0.039a61.489,61.489 0,0 0,11.31 17.71c4.643,25.068 24.584,27.446 45.915,20.146h0.013A150.626,150.626 0,0 0,140.249 329.992h36.146c0.13,-0.402 0.246,-0.816 0.363,-1.218a41.069,41.069 0,0 1,-10.002 -0.596c2.682,-3.291 5.364,-6.608 8.045,-9.898a2.243,2.243 0,0 0,0.168 -0.194c1.36,-1.684 2.734,-3.355 4.094,-5.04l0.001,-0.002a60.157,60.157 0,0 0,-1.763 -15.325Z"
|
||||||
|
android:fillColor="#f2f2f2"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M671.989,18.041c-2.427,-18.6 -45.329,-17.413 -49.38,0.086 -2.149,-1.344 -7.615,-0.414 -9.654,1.131s-3.345,3.816 -4.625,6.02c-1.746,3.062 -3.557,6.234 -3.943,9.744 -0.403,3.504 0.974,7.474 4.151,9.034 2.52,1.243 8.066,0.404 10.836,-0.153 1.933,-0.384 3.556,-0.721 4.933,-1.051a9.474,9.474 0,0 0,-0.902 -6.415A7.69,7.69 0,0 1,628.682 40.341c0.217,0.419 8.077,59.585 8.077,59.585a34.144,34.144 0,0 0,6.476 0.162,74.297 74.297,0 0,0 0.723,-22.077 64.334,64.334 0,0 1,5.369 13.249,78.653 78.653,0 0,1 1.822,7.82c18.706,-3.498 43.993,-15.546 48.606,-36.004q-0.038,-0.099 -0.076,-0.198a2.906,2.906 0,0 1,4.784 -3.107c0.564,0.58 1.067,1.077 1.491,1.461C704.315,48.168 694.405,36.412 671.989,18.041Z"
|
||||||
|
android:fillColor="#2f2e41"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M398.857,473.567l-10.487,-5.483l16.63,-43.963l15.479,8.093l-21.622,41.353z"
|
||||||
|
android:fillColor="#a0616a"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M356.54,473.037a5.298,5.298 0,0 0,2.236 7.142l20.853,10.901 7.472,-5.554 -2.479,8.159 7.865,4.119 11.649,-27.663 -2.656,-1.591L390.663,462.034l-3.494,-2.095 -3.924,7.505 -22.667,2.795A5.289,5.289 0,0 0,356.54 473.037Z"
|
||||||
|
android:fillColor="#2f2e41"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M388.113,311.722l-7.628,-9.048l32.048,-34.384l11.258,13.354l-35.678,30.078z"
|
||||||
|
android:fillColor="#a0616a"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M349.152,295.198a5.298,5.298 0,0 0,-0.637 7.456l15.168,17.989 9.019,-2.308 -5.386,6.611 5.718,6.792 21.262,-21.186 -1.855,-2.478 -7.542,-10.129 -2.439,-3.263 -6.475,5.459 -22.036,-6.002A5.289,5.289 0,0 0,349.152 295.198Z"
|
||||||
|
android:fillColor="#2f2e41"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M724.532,277.818s32.386,69.319 -101.729,50.64c0,0 -71.454,-79.188 -69.39,-88.716 0,0 -30.412,-30.903 -28.924,-31.465s2.406,-1.785 -0.053,-1.674 -2.459,-3.549 -2.459,-3.549 -54.961,59.603 -101.24,89.18l-16,-18s6.24,-19.519 9.24,-19.519 4.034,0.721 4.517,-3.14 -1.906,-7.175 1.289,-7.518 69.402,-77.722 69.402,-77.722 7.143,-25.487 28.968,-20.554 135.23,97.134 135.23,97.134Z"
|
||||||
|
android:fillColor="#2f2e41"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M669.918,330.704l-177.181,-1.47 -77,122L393.977,439.715l4.824,-2.036s-1.46,-16.956 0.329,-21.249 7.111,-3.001 7.111,-3.001l44.893,-103.529a43.435,43.435 0,0 1,44.694 -29.423c37.146,-5.417 97.446,-1.089 160.092,4.227Z"
|
||||||
|
android:fillColor="#2f2e41"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M567.335,123.073a13.098,13.098 0,0 1,11.012 14.577,12.566 12.566,0 0,1 -0.46,2.026L614.294,167.292l-7.513,23.404 -45.783,-43.222a13.062,13.062 0,0 1,-8.074 -13.751,12.5 12.5,0 0,1 14.072,-10.7Q567.166,123.045 567.335,123.073Z"
|
||||||
|
android:fillColor="#a0616a"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M727.948,124.797l-13.09,36.24 -51.19,72.34s-0.42,-0.18 -1.18,-0.5c-4.4,-1.9 -20.38,-8.88 -35.41,-16.81 -14.11,-7.45 -27.4,-15.74 -29.46,-21.44q-0.33,-0.9 -0.6,-1.74v-0.01a37.511,37.511 0,0 1,-1.79 -8.96c-0.17,-2.35 -0.02,-3.61 -0.34,-3.76 -0.25,-0.11 -0.77,0.43 -1.92,1.65 -0.08,0.08 -0.15,0.16 -0.23,0.23 -4.16,4.17 -9.27,3.63 -8.02,1.65 1.28,-2.03 0.61,-1.99 -1.27,-4.11 -1.4,-1.58 -5.95,-7.76 -8.19,-10.81 -0.77,-1.05 -1.26,-1.73 -1.26,-1.73l0.77,-1.21 2.13,-3.34 10.13,-15.88 0.56,-0.87s20.82,4.81 23.59,9.38c2.78,4.57 -4.19,4.42 2.78,4.57 6.97,0.15 14.08,-9.33 8.99,0.1 -5.09,9.42 -3.75,12.71 2.55,11.22 2.56,-0.61 6.61,1.32 10.51,3.82v0.01a82.532,82.532 0,0 1,7.05 5.13c2.41,1.94 4.04,3.41 4.04,3.41l39.54,-80.22 4.38,-8.88a22.668,22.668 0,0 1,13.26 -11.5l1.37,2.39A271.157,271.157 0,0 1,727.948 124.797Z"
|
||||||
|
android:fillColor="#c3e7ff"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M730.138,239.817c12.12,2.82 -0.774,91.045 -15.22,91.32 -105,2 -73.03,-56.91 -78.66,-62.55 -5.63,-5.65 -10.71,-1.6 -5.63,-10.39 3.7,-6.4 9.19,-5.45 9.27,-9.04 0.04,-1.34 -0.67,-3.3 -2.51,-6.52 -6.76,-11.84 -6.76,-15.37 -6.76,-15.37a43.439,43.439 0,0 1,-3.55 -11.2,53.185 53.185,0 0,1 -0.4,-17.48 56.831,56.831 0,0 1,9.33 -23.75v-0.01c0.51,-0.76 1.04,-1.53 1.6,-2.29 1.27,-1.73 8.31,-1.4 8.31,-1.4l15,-63 -8.68,-25.12 41.11,-19.26 10.93,19.02 1.37,2.39a271.157,271.157 0,0 1,22.3 39.63c6.07,13.51 11.06,28.51 11.24,41.56 0.48,34.03 -5.39,44.15 -5.39,44.15s14.25,10.65 7.12,17.16C733.798,234.187 718.018,236.997 730.138,239.817Z"
|
||||||
|
android:fillColor="#c3e7ff"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M543.898,114.785l-6.708,5.095a6.304,6.304 0,0 0,-1.192 8.819l16.155,21.234 9.539,12.527a6.293,6.293 0,0 0,8.804 1.19l6.715,-5.101a6.315,6.315 0,0 0,1.184 -8.812l-0.99,-1.309L557.837,122.715l-5.134,-6.74A6.28,6.28 0,0 0,543.898 114.785Z"
|
||||||
|
android:fillColor="#3f3d56"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M547.406,114.4l-7.226,5.041a5.387,5.387 0,0 0,-1.179 7.971l9.458,11.396 5.04,6.071 3.363,4.05 7.521,9.061a6.579,6.579 0,0 0,8.691 1.081l5.415,-3.777 1.802,-1.257a5.476,5.476 0,0 0,2.338 -5.598,5.4 5.4,0 0,0 -1.158,-2.39l-22.223,-26.779 -3.151,-3.79A6.57,6.57 0,0 0,547.406 114.4Z"
|
||||||
|
android:fillColor="#c3e7ff"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M552.023,142.545A13.098,13.098 0,0 1,563.035 157.123a12.565,12.565 0,0 1,-0.46 2.026L598.982,186.764l-7.513,23.404 -45.783,-43.222a13.062,13.062 0,0 1,-8.074 -13.751,12.5 12.5,0 0,1 14.072,-10.7Q551.854,142.517 552.023,142.545Z"
|
||||||
|
android:fillColor="#a0616a"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M700.508,101.59l0,0a22.618,22.618 0,0 1,16.761 29.844L699.55,180.507l-51.198,72.346S586.952,226.918 582.303,214.099s-0.451,-17.242 -4.649,-12.819 -9.521,3.899 -8.246,1.875 0.604,-1.981 -1.273,-4.102S558.687,186.512 558.687,186.512l13.588,-21.301s20.821,4.806 23.595,9.379 -4.198,4.423 2.774,4.573 14.084,-9.334 8.991,0.093 -3.75,12.714 2.551,11.22 21.595,12.374 21.595,12.374l43.929,-89.1A22.618,22.618 0,0 1,700.508 101.59Z"
|
||||||
|
android:fillColor="#c3e7ff"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M651.263,49.004m-23.046,23.046a32.592,32.592 90,1 1,46.092 -46.092a32.592,32.592 90,1 1,-46.092 46.092"
|
||||||
|
android:fillColor="#a0616a"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M689.375,13.498c-2.427,-18.6 -45.329,-17.413 -49.38,0.086 -2.149,-1.344 -7.615,-0.414 -9.654,1.131s-3.345,3.816 -4.625,6.02c-1.746,3.062 -13.967,13.421 -15.799,10.401 -4.121,-6.797 -12.203,8.056 -6,18 1.487,2.384 30.23,-1.443 33,-2 1.933,-0.384 -1.377,0.33 0,0 0.445,-2.157 4.935,-13.304 3.873,-15.242a7.69,7.69 0,0 1,5.277 3.903c0.217,0.419 8.077,59.585 8.077,59.585a34.144,34.144 0,0 0,6.476 0.162,74.297 74.297,0 0,0 0.723,-22.077 64.334,64.334 0,0 1,5.369 13.249,78.654 78.654,0 0,1 1.822,7.82c18.706,-3.498 43.993,-15.546 48.606,-36.004C691.918,50.137 711.791,31.87 689.375,13.498Z"
|
||||||
|
android:fillColor="#2f2e41"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M395.857,111.078a5.257,7.557 98.278,1 0,1.514 -10.404a5.257,7.557 98.278,1 0,-1.514 10.404z"
|
||||||
|
android:fillColor="#e6e6e6"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M445.029,106.28a5.257,7.557 98.278,1 0,1.514 -10.404a5.257,7.557 98.278,1 0,-1.514 10.404z"
|
||||||
|
android:fillColor="#3f3d56"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M382.392,71.27a5.257,7.557 98.278,1 0,1.514 -10.404a5.257,7.557 98.278,1 0,-1.514 10.404z"
|
||||||
|
android:fillColor="#ff6584"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M365.903,55.601a4.776,3.322 90.433,1 0,0.072 -9.551a4.776,3.322 90.433,1 0,-0.072 9.551z"
|
||||||
|
android:fillColor="#e6e6e6"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M358.657,25.229a4.776,3.322 90.433,1 0,0.072 -9.551a4.776,3.322 90.433,1 0,-0.072 9.551z"
|
||||||
|
android:fillColor="#3f3d56"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M415.002,78.681a4.776,3.322 90.433,1 0,0.072 -9.551a4.776,3.322 90.433,1 0,-0.072 9.551z"
|
||||||
|
android:fillColor="#e6e6e6"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M391.24,90.545a4.776,3.322 90.433,1 0,0.072 -9.551a4.776,3.322 90.433,1 0,-0.072 9.551z"
|
||||||
|
android:fillColor="#ff6584"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M424.318,112.473a4.776,3.322 90.433,1 0,0.072 -9.551a4.776,3.322 90.433,1 0,-0.072 9.551z"
|
||||||
|
android:fillColor="#3f3d56"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M538.923,134.315a2.5,1 54.441,1 0,1.627 -1.163a2.5,1 54.441,1 0,-1.627 1.163z"
|
||||||
|
android:fillColor="#3f3d56"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M535.923,130.315a2.5,1 54.441,1 0,1.627 -1.163a2.5,1 54.441,1 0,-1.627 1.163z"
|
||||||
|
android:fillColor="#3f3d56"/>
|
||||||
|
</vector>
|
|
@ -77,4 +77,9 @@
|
||||||
<string name="languages_desc">英语、中文</string>
|
<string name="languages_desc">英语、中文</string>
|
||||||
<string name="tips_and_support">提示和支持</string>
|
<string name="tips_and_support">提示和支持</string>
|
||||||
<string name="tips_and_support_desc">关于、开源</string>
|
<string name="tips_and_support_desc">关于、开源</string>
|
||||||
|
<string name="welcome">欢迎</string>
|
||||||
|
<string name="agree_terms">在此之前,您需要同意 Read You 的服务条款与隐私政策后才能继续。</string>
|
||||||
|
<string name="view_terms">查看《<u>服务条款与隐私政策</u>》</string>
|
||||||
|
<string name="terms_link">https://gitee.com/Ashinch/ReadYou/blob/main/TERMS_OF_SERVICE_AND_PRIVACY_POLICY-zh.md</string>
|
||||||
|
<string name="agree_and_continue">同意并继续</string>
|
||||||
</resources>
|
</resources>
|
|
@ -77,4 +77,9 @@
|
||||||
<string name="languages_desc">English, Chinese</string>
|
<string name="languages_desc">English, Chinese</string>
|
||||||
<string name="tips_and_support">Tips & support</string>
|
<string name="tips_and_support">Tips & support</string>
|
||||||
<string name="tips_and_support_desc">About, open source</string>
|
<string name="tips_and_support_desc">About, open source</string>
|
||||||
|
<string name="welcome">Welcome</string>
|
||||||
|
<string name="agree_terms">Before you can continue, you need to agree to Read You\'s Terms of Service and Privacy Policy.</string>
|
||||||
|
<string name="view_terms">View the <i><u>Terms of Service and Privacy Policy</u></i></string>
|
||||||
|
<string name="terms_link">https://github.com/Ashinch/ReadYou/blob/main/TERMS_OF_SERVICE_AND_PRIVACY_POLICY.md</string>
|
||||||
|
<string name="agree_and_continue">Agree and Continue</string>
|
||||||
</resources>
|
</resources>
|
Loading…
Reference in New Issue
Block a user