package net.rdrei.android.scdl2;
import android.app.Activity;
import android.app.Fragment;
import android.content.Intent;
import android.support.annotation.Nullable;
import com.google.inject.Inject;
/**
* Helper proxy that starts an activity either from an activity or a fragment.
*
* @author pascal
*
*/
public class ActivityStarter {
@Inject
@Nullable
private Fragment mFragment;
@Inject
@Nullable
private Activity mActivity;
// Injectable
public ActivityStarter() {
}
public ActivityStarter(final Fragment fragment) {
mFragment = fragment;
}
public ActivityStarter(final Activity activity) {
mActivity = activity;
}
public void startActivityForResult(Intent intent, int requestCode) {
if (mFragment != null) {
mFragment.startActivityForResult(intent, requestCode);
} else if (mActivity != null) {
mActivity.startActivityForResult(intent, requestCode);
} else {
throw new NullPointerException(
"Neither Fragment nor Activity could be injected.");
}
}
public void setFragment(final Fragment fragment) {
mFragment = fragment;
}
public void setActivity(final Activity activity) {
mActivity = activity;
}
}