package ua.kpi.ecampus.ui; import android.app.Activity; import android.content.Context; import android.content.Intent; import javax.inject.Inject; import ua.kpi.ecampus.ui.activity.VotingStudentActivity; import ua.kpi.ecampus.Config; import ua.kpi.ecampus.di.ActivityContext; import ua.kpi.ecampus.model.pojo.Bulletin; import ua.kpi.ecampus.model.pojo.VoteTeacher; import ua.kpi.ecampus.ui.activity.AddBulletinActivity; import ua.kpi.ecampus.ui.activity.BulletinBoardActivity; import ua.kpi.ecampus.ui.activity.BulletinBoardModeratorActivity; import ua.kpi.ecampus.ui.activity.BulletinContentActivity; import ua.kpi.ecampus.ui.activity.EditBulletinActivity; import ua.kpi.ecampus.ui.activity.LoginActivity; import ua.kpi.ecampus.ui.activity.MainActivity; import ua.kpi.ecampus.ui.activity.RateTeacherActivity; /** * Class created to handle all the navigation between activities. This class knows how to open * every activity in the application and provides to the client code different methods to start * activities with the information needed. * <p/> * Created by Administrator on 29.01.2016. */ public class Navigator { private Activity mActivityContext; @Inject public Navigator(@ActivityContext Context context) { mActivityContext = (Activity) context; } public void startLoginActivity() { Intent intent = getLaunchIntent(LoginActivity.class); mActivityContext.startActivity(intent); } public void startMainActivity() { Intent intent = getLaunchIntent(MainActivity.class); mActivityContext.startActivity(intent); } public void startBulletinBoardActivity() { Intent intent = getLaunchIntent(BulletinBoardActivity.class); mActivityContext.startActivity(intent); } public void startBulletinContentActivity(Bulletin item) { Intent intent = getLaunchIntent(BulletinContentActivity.class); intent.putExtra(Config.KEY_BULLETIN, item); mActivityContext.startActivity(intent); } public void startNewBulletinActivity() { Intent intent = getLaunchIntent(AddBulletinActivity.class); mActivityContext.startActivity(intent); } public void startEditBulletinActivity(Bulletin item) { Intent intent = getLaunchIntent(EditBulletinActivity.class); intent.putExtra(Config.KEY_BULLETIN, item); mActivityContext.startActivity(intent); } public void startVotingStudentActivity() { Intent intent = getLaunchIntent(VotingStudentActivity.class); mActivityContext.startActivity(intent); } public void startRatingActivity(VoteTeacher item) { Intent intent = getLaunchIntent(RateTeacherActivity.class); intent.putExtra(Config.KEY_TEACHER, item); mActivityContext.startActivityForResult(intent, Config.REQUEST_CODE); } /** * Generates the intent needed by the client code to launch this activity. */ private Intent getLaunchIntent(Class activityClass) { return new Intent(mActivityContext, activityClass); } public void startBulletinBoardModeratorActivity() { Intent intent = getLaunchIntent(BulletinBoardModeratorActivity.class); mActivityContext.startActivity(intent); } }