Remove plugin interaction on main thread for channels

This commit is contained in:
Kelvin 2023-11-06 14:53:24 +01:00
parent 41176464db
commit 599b119e62

View File

@ -386,14 +386,18 @@ class ChannelFragment : MainFragment() {
}); });
}); });
val plugin = StatePlatform.instance.getChannelClientOrNull(channel.url); _fragment.lifecycleScope.launch(Dispatchers.IO) {
if (plugin != null && plugin.capabilities.hasSearchChannelContents) { val plugin = StatePlatform.instance.getChannelClientOrNull(channel.url);
buttons.add(Pair(R.drawable.ic_search) { withContext(Dispatchers.Main) {
_fragment.navigate<SuggestionsFragment>(SuggestionsFragmentData("", SearchType.VIDEO, channel.url)); if (plugin != null && plugin.capabilities.hasSearchChannelContents) {
}); buttons.add(Pair(R.drawable.ic_search) {
} _fragment.navigate<SuggestionsFragment>(SuggestionsFragmentData("", SearchType.VIDEO, channel.url));
});
_fragment.topBar?.assume<NavigationTopBarFragment>()?.setMenuItems(buttons); _fragment.topBar?.assume<NavigationTopBarFragment>()?.setMenuItems(buttons);
}
}
}
_buttonSubscribe.setSubscribeChannel(channel); _buttonSubscribe.setSubscribeChannel(channel);
_buttonSubscriptionSettings.visibility = if(_buttonSubscribe.isSubscribed) View.VISIBLE else View.GONE; _buttonSubscriptionSettings.visibility = if(_buttonSubscribe.isSubscribed) View.VISIBLE else View.GONE;