package com.mechinn.android.ouralliance.fragment; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.widget.TextView; import com.activeandroid.ActiveAndroid; import com.activeandroid.Model; import com.mechinn.android.ouralliance.Prefs; import com.mechinn.android.ouralliance.R; import com.mechinn.android.ouralliance.Utility; import com.mechinn.android.ouralliance.adapter.MatchTeamSelectAdapter; import com.mechinn.android.ouralliance.data.Event; import com.mechinn.android.ouralliance.data.EventTeam; import com.mechinn.android.ouralliance.data.Team; import com.mechinn.android.ouralliance.data.TeamScouting; import com.mechinn.android.ouralliance.data.frc2014.MatchScouting2014; import com.mechinn.android.ouralliance.data.frc2014.TeamScouting2014; import com.mechinn.android.ouralliance.data.frc2015.TeamScouting2015; import java.util.ArrayList; import java.util.List; import de.greenrobot.event.EventBus; import de.greenrobot.event.util.AsyncExecutor; import timber.log.Timber; public class InsertTeamDialogFragment extends DialogFragment { public static final String TAG = "InsertTeamDialogFrag"; public static final String RANK_ARG = "rank"; private View dialog; private TextView teamNumber; private Team team; private Prefs prefs; private int rank; @Override public void onAttach(Activity activity) { super.onAttach(activity); prefs = new Prefs(activity); } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { setRetainInstance(true); // Use the Builder class for convenient dialog construction AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); LayoutInflater inflater = getActivity().getLayoutInflater(); dialog = inflater.inflate(R.layout.dialog_team_insert, null); teamNumber = (TextView) dialog.findViewById(R.id.editTeamNumber); rank = getArguments().getInt(RANK_ARG); int yes; team = new Team(); yes = R.string.create; Timber.d("insert"); builder.setView(dialog) .setPositiveButton(yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { team.setTeamNumber(Utility.getIntFromText(teamNumber.getText())); AsyncExecutor.create().execute(new AsyncExecutor.RunnableEx() { @Override public void run() throws Exception { ActiveAndroid.beginTransaction(); try { EventTeam eventTeam = new EventTeam(); eventTeam.setEvent(Model.load(Event.class, prefs.getComp())); eventTeam.setTeam(team); eventTeam.setRank(rank); eventTeam.saveMod(); switch (prefs.getYear()) { case 2015: TeamScouting2015 teamScouting2015 = new TeamScouting2015(); teamScouting2015.setTeam(team); teamScouting2015.saveMod(); } ActiveAndroid.setTransactionSuccessful(); EventBus.getDefault().post(team); EventBus.getDefault().post(eventTeam); switch (prefs.getYear()) { case 2014: EventBus.getDefault().post(new TeamScouting2014()); break; case 2015: EventBus.getDefault().post(new TeamScouting2015()); break; } } finally { ActiveAndroid.endTransaction(); } } }); } }).setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); // Create the AlertDialog object and return it return builder.create(); } }