diff --git a/app/src/main/java/com/github/kr328/clash/ProfileEditActivity.kt b/app/src/main/java/com/github/kr328/clash/ProfileEditActivity.kt
index 2a97900..cda7396 100644
--- a/app/src/main/java/com/github/kr328/clash/ProfileEditActivity.kt
+++ b/app/src/main/java/com/github/kr328/clash/ProfileEditActivity.kt
@@ -40,10 +40,14 @@ class ProfileEditActivity : BaseActivity() {
queryById(id)
} ?: return@launch finish()
- if (metadata.name.isBlank())
- toolbar.setTitle(R.string.new_profile)
- else
- toolbar.setTitle(R.string.edit_profile)
+ when {
+ metadata.lastModified > 0 ->
+ toolbar.setTitle(R.string.edit_profile)
+ metadata.name.isBlank() ->
+ toolbar.setTitle(R.string.new_profile)
+ else ->
+ toolbar.setTitle(R.string.clone_profile)
+ }
val fragment = ProfileEditFragment(
metadata.name, metadata.uri, metadata.interval,
diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml
index 57f1e42..fdfd8cf 100644
--- a/app/src/main/res/values-zh/strings.xml
+++ b/app/src/main/res/values-zh/strings.xml
@@ -130,4 +130,5 @@
载入中
免费开源的项目
我们不提供任何代理服务
请务必不要反馈非应用自身引起的问题]]>
捐赠
+ 复制配置
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 00698cb..e449fd6 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -68,6 +68,7 @@
Loading
New Profile
+ Clone Profile
Edit Profile
Clash Start Failure
Refresh
diff --git a/service/src/main/java/com/github/kr328/clash/service/ProfileService.kt b/service/src/main/java/com/github/kr328/clash/service/ProfileService.kt
index 42d1197..860cfc5 100644
--- a/service/src/main/java/com/github/kr328/clash/service/ProfileService.kt
+++ b/service/src/main/java/com/github/kr328/clash/service/ProfileService.kt
@@ -82,8 +82,9 @@ class ProfileService : BaseService() {
return runBlocking {
val clonedId = generateNextId()
- pending[clonedId] = queryMetadataById(id)?.copy(id = clonedId, active = false)
- ?: return@runBlocking -1L
+ pending[clonedId] =
+ queryMetadataById(id)?.copy(id = clonedId, active = false, lastModified = 0)
+ ?: return@runBlocking -1L
clonedId
}