package com.zulip.android.test.mutated;
import com.zulip.android.activities.MessageListFragment;
import com.zulip.android.models.Message;
import com.zulip.android.models.MessageRange;
import com.zulip.android.networking.AsyncGetOldMessages;
import com.zulip.android.util.MessageListener.LoadPosition;
import java.util.ArrayList;
import java.util.List;
public class FakeAsyncGetOldMessages extends
AsyncGetOldMessages {
public List<Message> appendTheseMessages;
public List<FakeAsyncGetOldMessages> recurseRequestsReceived;
private String calculatedResult;
private int fmAnchor;
private int fmNumBefore;
private int fmNumAfter;
private boolean shouldFmSucceed;
private boolean fmCalled;
private MessageListFragment myfragment;
public FakeAsyncGetOldMessages(MessageListFragment fragment) {
super(fragment);
this.app = fragment.app;
myfragment = fragment;
fmCalled = false;
shouldFmSucceed = false;
recurseRequestsReceived = new ArrayList<FakeAsyncGetOldMessages>();
filter = null;
}
public void executeBasedOnPresetValues() {
// LP doesn't matter, so just go with INITIAL
this.execute(fmAnchor, LoadPosition.INITIAL, fmNumBefore, fmNumAfter,
filter);
}
@Override
protected boolean fetchMessages(int anchor, int numBefore, int numAfter,
String[] params) {
fmCalled = true;
fmAnchor = anchor;
fmNumBefore = numBefore;
fmNumAfter = numAfter;
if (appendTheseMessages != null) {
this.receivedMessages.addAll(appendTheseMessages);
}
return shouldFmSucceed;
}
@Override
protected void recurse(LoadPosition position, int amount, MessageRange rng,
int anchor) {
FakeAsyncGetOldMessages task = new FakeAsyncGetOldMessages(myfragment);
task.rng = rng;
if (position == LoadPosition.ABOVE) {
task.fmNumBefore = amount;
} else {
task.fmNumAfter = amount;
}
task.fmAnchor = anchor;
recurseRequestsReceived.add(task);
}
@Override
protected void onPostExecute(String result) {
calculatedResult = result;
}
public String getCalculatedResult() {
return calculatedResult;
}
public void setCalculatedResult(String calculatedResult) {
this.calculatedResult = calculatedResult;
}
public int getFmAnchor() {
return fmAnchor;
}
public void setFmAnchor(int fmAnchor) {
this.fmAnchor = fmAnchor;
}
public int getFmNumBefore() {
return fmNumBefore;
}
public void setFmNumBefore(int fmNumBefore) {
this.fmNumBefore = fmNumBefore;
}
public int getFmNumAfter() {
return fmNumAfter;
}
public void setFmNumAfter(int fmNumAfter) {
this.fmNumAfter = fmNumAfter;
}
public boolean shouldFmSucceed() {
return shouldFmSucceed;
}
public void setShouldFmSucceed(boolean shouldFmSucceed) {
this.shouldFmSucceed = shouldFmSucceed;
}
public boolean isFmCalled() {
return fmCalled;
}
public void setFmCalled(boolean fmCalled) {
this.fmCalled = fmCalled;
}
}