package com.mairos.twisterblog.network;
import com.google.common.annotations.VisibleForTesting;
/**
* Created by Mike on 01.02.2015.
*/
public class RequestStatusObject {
public interface RequestStatusChange {
public void onChange();
}
public static final String BEFORE_START = "before_start";
public static final String IN_PROCESS = "in_process";
public static final String FIHISHED = "finished";
private static final RequestStatusObject sRequestStatusObject = new RequestStatusObject();
private String state = BEFORE_START;
private RequestStatusChange resourceCallback;
private static RequestStatusObject mInstance = new RequestStatusObject();
private RequestStatusObject(){}
@VisibleForTesting
public static synchronized RequestStatusObject getInstance(){
return mInstance;
}
public void setResourceCallback(RequestStatusChange resourceCallback){
this.resourceCallback = resourceCallback;
}
public String getState(){
return state;
}
public void setStarted(){
state = IN_PROCESS;
if (resourceCallback != null) resourceCallback.onChange();
}
public void setFinished(){
state = FIHISHED;
if (resourceCallback != null) resourceCallback.onChange();
}
}