disableAllPlugins method
Disable all enabled plugins.
Implementation
Future<PluginOperationResult> disableAllPlugins() async {
var disabledCount = 0;
for (final scope in validInstallableScopes) {
final settingSource = scopeToSettingSource(scope);
final enabled = getSettingsEnabledPlugins(settingSource);
if (enabled == null || enabled.isEmpty) continue;
final newEnabled = <String, bool>{
for (final entry in enabled.entries) entry.key: false,
};
updateSettings(settingSource, {'enabledPlugins': newEnabled});
disabledCount += enabled.length;
}
clearAllCaches();
if (disabledCount == 0) {
return const PluginOperationResult(
success: true,
message: 'No enabled plugins found to disable',
);
}
return PluginOperationResult(
success: true,
message:
'Successfully disabled $disabledCount plugin${disabledCount == 1 ? '' : 's'}',
);
}