package org.openlmis.core;
import org.openlmis.core.exceptions.LMISException;
import org.openlmis.core.googleAnalytics.ScreenName;
import org.openlmis.core.googleAnalytics.TrackerActions;
import org.openlmis.core.googleAnalytics.TrackerCategories;
import org.openlmis.core.network.LMISRestApi;
import java.util.HashMap;
public class LMISTestApp extends LMISApp {
private boolean networkAvailable;
private long currentTimeMillis;
private HashMap<Integer, Boolean> featureToggles = new HashMap<>();
private static LMISTestApp instance;
private LMISRestApi restApi;
@Override
public void onCreate() {
super.onCreate();
instance = this;
}
@Override
protected void setupFabric() {
}
public static LMISTestApp getInstance() {
return instance;
}
public void setNetworkConnection(boolean networkAvailable) {
this.networkAvailable = networkAvailable;
}
public void setFeatureToggle(int id, boolean featureToggle) {
featureToggles.put(id, featureToggle);
}
@Override
public boolean isConnectionAvailable() {
return networkAvailable;
}
public void setCurrentTimeMillis(long currentTimeMillis) {
this.currentTimeMillis = currentTimeMillis;
}
@Override
public long getCurrentTimeMillis() {
return currentTimeMillis;
}
@Override
public boolean getFeatureToggleFor(int id) {
return featureToggles.get(id) == null ? false : featureToggles.get(id);
}
@Override
public LMISRestApi getRestApi() {
return restApi;
}
public void setRestApi(LMISRestApi restApi) {
this.restApi = restApi;
}
@Override
public void logErrorOnFabric(LMISException exception) {
//do nothing
}
@Override
protected void setupGoogleAnalytics() {
}
@Override
public void trackEvent(TrackerCategories category, TrackerActions action) {
}
@Override
public void trackScreen(ScreenName screenName) {
}
@Override
public boolean isQAEnabled() {
return false;
}
}