package org.commcare.android.util;
import org.commcare.CommCareApplication;
import org.commcare.activities.StandardHomeActivity;
import org.commcare.android.mocks.FormAndDataSyncerFake;
import org.commcare.models.AndroidSessionWrapper;
import org.commcare.session.CommCareSession;
import org.commcare.session.SessionNavigator;
import org.robolectric.Robolectric;
import org.robolectric.Shadows;
import org.robolectric.shadows.ShadowActivity;
/**
* @author Phillip Mates (pmates@dimagi.com)
*/
public class ActivityLaunchUtils {
public static ShadowActivity buildHomeActivityForFormEntryLaunch(String sessionCommand) {
AndroidSessionWrapper sessionWrapper =
CommCareApplication.instance().getCurrentSessionWrapper();
CommCareSession session = sessionWrapper.getSession();
session.setCommand(sessionCommand);
return buildHomeActivity();
}
public static ShadowActivity buildHomeActivity() {
StandardHomeActivity homeActivity =
Robolectric.buildActivity(StandardHomeActivity.class).create().get();
// make sure we don't actually submit forms by using a fake form submitter
homeActivity.setFormAndDataSyncer(new FormAndDataSyncerFake());
SessionNavigator sessionNavigator = homeActivity.getSessionNavigator();
sessionNavigator.startNextSessionStep();
return Shadows.shadowOf(homeActivity);
}
}