Skip to content
Snippets Groups Projects
Commit 851a4757 authored by Pierre Nicolas's avatar Pierre Nicolas :joy: Committed by Pierre Nicolas
Browse files

plugin: improve load/unload plugin user experience

GitLab: #1475

Change-Id: I8838d5d8885ee30b06e74e379033c1a012b12fc1
parent f2a2c344
No related branches found
No related tags found
No related merge requests found
......@@ -29,6 +29,9 @@ class PluginsListAdapter(private var mList: List<PluginDetails>, private val lis
return PluginSettingViewHolder(view, listener)
}
fun notifyItemChanged(pluginDetails: PluginDetails) =
mList.indexOf(pluginDetails).let { if (it != -1) notifyItemChanged(it) }
override fun onBindViewHolder(holderSetting: PluginSettingViewHolder, position: Int) {
for (item in mList) {
item.accountId = accountId
......
......@@ -87,14 +87,22 @@ class PluginsListSettingsFragment : Fragment(), PluginListItemListener {
* @param pluginDetails instance of a plugin details that is sent to PluginSettingsFragment
*/
override fun onPluginEnabled(pluginDetails: PluginDetails) {
var status: String?
if (pluginDetails.isEnabled) {
pluginDetails.isEnabled = loadPlugin(pluginDetails.rootPath)
status =
if (pluginDetails.isEnabled) getString(R.string.load_sucess, pluginDetails.name)
else {
mAdapter?.notifyItemChanged(pluginDetails)
getString(R.string.unable_to_load, pluginDetails.name)
}
} else {
unloadPlugin(pluginDetails.rootPath)
status = getString(R.string.unload_sucess, pluginDetails.name)
}
val status = if (pluginDetails.isEnabled) "ON" else "OFF"
Toast.makeText(
requireContext(), pluginDetails.name + " " + status,
requireContext(), status,
Toast.LENGTH_SHORT
).show()
}
......
......@@ -476,4 +476,9 @@ along with this program; if not, write to the Free Software
<string name="donation_setting_description">Enable the donation reminder</string>
<string name="donation_url" translatable="false">https://crowdfunding.lfx.linuxfoundation.org/projects/jami-a-gnu-package</string>
<!-- Plugin -->
<string name="unable_to_load">Unable to load %1$s</string>
<string name="load_sucess">%1$s: enabled</string>
<string name="unload_sucess">%1$s: disabled</string>
</resources>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment