Skip to content

Commit bf57ef0

Browse files
committed
fix 分享订阅后剪切板导入异常
1 parent 04e2169 commit bf57ef0

1 file changed

Lines changed: 16 additions & 12 deletions

File tree

app/src/main/java/io/nekohasekai/sagernet/ui/ConfigurationFragment.kt

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -394,18 +394,22 @@ class ConfigurationFragment @JvmOverloads constructor(
394394
}
395395
} catch (e: SubscriptionFoundException) {
396396
onMainDispatcher {
397-
val subscriptionLink = Uri.parse(e.link).getQueryParameter("url") ?: e.link
398-
399-
val group = ProxyGroup(type = GroupType.SUBSCRIPTION)
400-
val subscription = SubscriptionBean()
401-
group.subscription = subscription
402-
subscription.link = subscriptionLink
403-
subscription.autoUpdate = false
404-
group.name = ""
405-
startActivity(Intent(requireContext(), GroupSettingsActivity::class.java).apply {
406-
putExtra(GroupSettingsActivity.EXTRA_FROM_CLIPBOARD, true)
407-
putExtra(GroupSettingsActivity.EXTRA_GROUP_SUBSCRIPTION_LINK, subscriptionLink)
408-
})
397+
if (e.link.startsWith("sn://")) {
398+
(requireActivity() as MainActivity).importSubscription(e.link.toUri())
399+
} else {
400+
val subscriptionLink = Uri.parse(e.link).getQueryParameter("url") ?: e.link
401+
402+
val group = ProxyGroup(type = GroupType.SUBSCRIPTION)
403+
val subscription = SubscriptionBean()
404+
group.subscription = subscription
405+
subscription.link = subscriptionLink
406+
subscription.autoUpdate = false
407+
group.name = ""
408+
startActivity(Intent(requireContext(), GroupSettingsActivity::class.java).apply {
409+
putExtra(GroupSettingsActivity.EXTRA_FROM_CLIPBOARD, true)
410+
putExtra(GroupSettingsActivity.EXTRA_GROUP_SUBSCRIPTION_LINK, subscriptionLink)
411+
})
412+
}
409413
}
410414
} catch (e: Exception) {
411415
Logs.w(e)

0 commit comments

Comments
 (0)