package org.petabytes.awesomeblogs.settings;
import android.support.annotation.NonNull;
import android.support.v7.widget.SwitchCompat;
import android.view.View;
import com.f2prateek.rx.preferences.Preference;
import org.petabytes.awesomeblogs.R;
import org.petabytes.awesomeblogs.util.Analytics;
import org.petabytes.awesomeblogs.util.Preferences;
import org.petabytes.awesomeblogs.util.Views;
import org.petabytes.coordinator.Coordinator;
import butterknife.BindView;
import butterknife.OnClick;
import rx.functions.Action0;
class SettingsCoordinator extends Coordinator {
@BindView(R.id.digest_switch) SwitchCompat digestSwitch;
@BindView(R.id.silent_switch) SwitchCompat silentSwitch;
private final Action0 closeAction;
private final Preference<Boolean> digestPreference;
private final Preference<Boolean> silentPreference;
SettingsCoordinator(@NonNull Action0 closeAction) {
this.closeAction = closeAction;
this.digestPreference = Preferences.digest();
this.silentPreference = Preferences.silent();
}
@Override
public void attach(@NonNull View view) {
super.attach(view);
bind(digestPreference.asObservable()
.doOnNext($ -> digestSwitch.animate().setStartDelay(100).alpha(1)), digestSwitch::setChecked);
bind(silentPreference.asObservable()
.doOnNext($ -> silentSwitch.animate().setStartDelay(100).alpha(1)), silentSwitch::setChecked);
Analytics.event(Analytics.Event.VIEW_SETTINGS);
}
@OnClick(R.id.close)
void onCloseClick() {
closeAction.call();
}
@OnClick({R.id.digest, R.id.digest_switch})
void onDigestClick() {
digestPreference.set(!digestPreference.get());
Analytics.event(Analytics.Event.SETTINGS_DIGEST,
Analytics.Param.ENABLED, String.valueOf(digestPreference.get()));
}
@OnClick({R.id.silent, R.id.silent_switch})
void onSilentClick() {
silentPreference.set(!silentPreference.get());
Analytics.event(Analytics.Event.SETTINGS_SILENT,
Analytics.Param.ENABLED, String.valueOf(silentPreference.get()));
}
}