diff --git a/jami-android/app/src/main/java/cx/ring/settings/pluginssettings/PluginsListAdapter.kt b/jami-android/app/src/main/java/cx/ring/settings/pluginssettings/PluginsListAdapter.kt index a7990b5c1af660b2b0f81c6d767ffd9cd796f899..e7b5f7ffd2c897a87dd281433bfe73151449e129 100644 --- a/jami-android/app/src/main/java/cx/ring/settings/pluginssettings/PluginsListAdapter.kt +++ b/jami-android/app/src/main/java/cx/ring/settings/pluginssettings/PluginsListAdapter.kt @@ -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 diff --git a/jami-android/app/src/main/java/cx/ring/settings/pluginssettings/PluginsListSettingsFragment.kt b/jami-android/app/src/main/java/cx/ring/settings/pluginssettings/PluginsListSettingsFragment.kt index ae0d9eec623913edc5be085258dd4ae0bbbb2b66..7749fe5169d09f36b4332c424a7a9f8e2a31493a 100644 --- a/jami-android/app/src/main/java/cx/ring/settings/pluginssettings/PluginsListSettingsFragment.kt +++ b/jami-android/app/src/main/java/cx/ring/settings/pluginssettings/PluginsListSettingsFragment.kt @@ -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() } diff --git a/jami-android/app/src/main/res/values/strings.xml b/jami-android/app/src/main/res/values/strings.xml index 0b2bdec89d26b672eaee6ee57de918a0d13b4a0c..efecc89dead850751a9fbb1df4ca893ab7500f1d 100644 --- a/jami-android/app/src/main/res/values/strings.xml +++ b/jami-android/app/src/main/res/values/strings.xml @@ -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>