package com.firebase.jobdispatcher.testapp;
import android.databinding.BaseObservable;
import android.databinding.Bindable;
import android.databinding.ObservableBoolean;
import android.databinding.ObservableField;
import android.databinding.ObservableInt;
import android.text.TextUtils;
import com.firebase.jobdispatcher.RetryStrategy;
/** POJO that represents the job form (via databinding). */
public class JobForm extends BaseObservable {
public final ObservableField<String> tag = new ObservableField<>("");
private int winStartSeconds = 30;
private int winEndSeconds = 60;
private int initialBackoffSeconds = 30;
private int maximumBackoffSeconds = 3600;
public final ObservableBoolean constrainOnAnyNetwork = new ObservableBoolean(true);
public final ObservableBoolean constrainOnUnmeteredNetwork = new ObservableBoolean(false);
public final ObservableBoolean constrainDeviceCharging = new ObservableBoolean(false);
public final ObservableBoolean recurring = new ObservableBoolean(false);
public final ObservableBoolean persistent = new ObservableBoolean(false);
public final ObservableBoolean replaceCurrent = new ObservableBoolean(false);
public final ObservableInt retryStrategy = new ObservableInt(RetryStrategy.RETRY_POLICY_EXPONENTIAL);
@Bindable
public String getWinEndSecondsStr() {
return String.valueOf(winEndSeconds);
}
@Bindable
public String getWinStartSecondsStr() {
return String.valueOf(winStartSeconds);
}
public void setWinStartSecondsStr(String in) {
winStartSeconds = convertToInt(in);
}
public void setWinEndSecondsStr(String in) {
winEndSeconds = convertToInt(in);
}
@Bindable
public String getInitialBackoffSecondsStr() {
return String.valueOf(initialBackoffSeconds);
}
public void setInitialBackoffSecondsStr(String in) {
this.initialBackoffSeconds = Integer.valueOf(in, 10);
}
@Bindable
public String getMaximumBackoffSecondsStr() {
return String.valueOf(maximumBackoffSeconds);
}
public void setMaximumBackoffSecondsStr(String in) {
this.maximumBackoffSeconds = Integer.valueOf(in, 10);
}
public int getWinStartSeconds() {
return winStartSeconds;
}
public int getWinEndSeconds() {
return winEndSeconds;
}
public int getInitialBackoffSeconds() {
return initialBackoffSeconds;
}
public int getMaximumBackoffSeconds() {
return maximumBackoffSeconds;
}
private int convertToInt(String in) {
return !TextUtils.isEmpty(in) ? Integer.valueOf(in, 10) : 0;
}
}