/*
* Copyright (C) 2015 Actor LLC. <https://actor.im>
*/
package im.actor.core.modules.settings;
import im.actor.core.api.updates.UpdateParameterChanged;
import im.actor.core.modules.AbsModule;
import im.actor.core.modules.ModuleContext;
import im.actor.core.modules.sequence.processor.SequenceProcessor;
import im.actor.core.network.parser.Update;
import im.actor.runtime.actors.messages.Void;
import im.actor.runtime.promise.Promise;
public class SettingsProcessor extends AbsModule implements SequenceProcessor {
public SettingsProcessor(ModuleContext modules) {
super(modules);
}
public void onSettingsChanged(String key, String value) {
context().getSettingsModule().onUpdatedSetting(key, value);
context().getSettingsModule().notifySettingsChanged();
}
@Override
public Promise<Void> process(Update update) {
if (update instanceof UpdateParameterChanged) {
onSettingsChanged(
((UpdateParameterChanged) update).getKey(),
((UpdateParameterChanged) update).getValue());
return Promise.success(null);
}
return null;
}
}