@@ -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