| @@ -0,0 +1,128 @@ | ||
| package com.uottawa.tournamentmaker; | ||
|
|
||
| import android.app.ActionBar; | ||
| import android.content.DialogInterface; | ||
| import android.content.Intent; | ||
| import android.os.Bundle; | ||
| import android.support.design.widget.FloatingActionButton; | ||
| import android.support.design.widget.Snackbar; | ||
| import android.support.v7.app.AlertDialog; | ||
| import android.support.v7.app.AppCompatActivity; | ||
| import android.support.v7.widget.Toolbar; | ||
| import android.view.View; | ||
| import android.view.Menu; | ||
| import android.view.MenuItem; | ||
| import android.view.Window; | ||
| import android.widget.Button; | ||
| import android.widget.FrameLayout; | ||
|
|
||
| import java.io.FileInputStream; | ||
| import java.io.ObjectInputStream; | ||
|
|
||
| public class MainPage extends AppCompatActivity { | ||
|
|
||
| Tournament tournament; //tournament object to do stuff with | ||
| public final static SaveManager sv = new SaveManager(); //object used for managing save file | ||
| Boolean tournamentExists = false; | ||
|
|
||
| public static SaveManager getSV(){ | ||
| return sv; | ||
| } | ||
|
|
||
| public void MPonDeleteTournament(View v) { | ||
|
|
||
| DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { | ||
| @Override | ||
| public void onClick(DialogInterface dialog, int which) { | ||
| switch (which){ | ||
| case DialogInterface.BUTTON_POSITIVE: | ||
| tournament = new Tournament("Empty_Tournament", true, false, 0); | ||
| sv.writeData(tournament); | ||
| break; | ||
|
|
||
| case DialogInterface.BUTTON_NEGATIVE: | ||
| //No button clicked | ||
| break; | ||
| } | ||
| } | ||
| }; | ||
|
|
||
| AlertDialog.Builder builder = new AlertDialog.Builder(this); | ||
| builder.setMessage("Are you sure you wish to delete current tournament?").setPositiveButton("Yes", dialogClickListener) | ||
| .setNegativeButton("No", dialogClickListener).show(); | ||
|
|
||
| } | ||
| public void onAddQuickTournament(View v){ | ||
| DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { | ||
| @Override | ||
| public void onClick(DialogInterface dialog, int which) { | ||
| switch (which){ | ||
| case DialogInterface.BUTTON_POSITIVE: | ||
|
|
||
| Intent i = new Intent(MainPage.this, QuickStart.class); | ||
| startActivity(i); | ||
| break; | ||
|
|
||
| case DialogInterface.BUTTON_NEGATIVE: | ||
| //No button clicked | ||
| break; | ||
| } | ||
| } | ||
| }; | ||
|
|
||
| AlertDialog.Builder builder = new AlertDialog.Builder(this); | ||
| builder.setMessage("Are you sure to create a new Tournament?").setPositiveButton("Yes", dialogClickListener) | ||
| .setNegativeButton("No", dialogClickListener).show(); | ||
| } | ||
|
|
||
|
|
||
| public void onTournamentView(View v){ // this must select a tournament from the list before it can call TournamentView. it must pass this tournament to tournamentview so that it can access info over there | ||
| Intent i = new Intent(MainPage.this, TournamentView.class); | ||
| startActivity(i); | ||
| } | ||
|
|
||
| public void MPonHelpButton(View v){ | ||
| Intent i = new Intent(MainPage.this, HelpPage.class); | ||
| startActivity(i); | ||
| } | ||
|
|
||
| public void onCreateNewTournament(View v){ | ||
| DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { | ||
| @Override | ||
| public void onClick(DialogInterface dialog, int which) { | ||
| switch (which){ | ||
| case DialogInterface.BUTTON_POSITIVE: | ||
| Intent i = new Intent(MainPage.this, TournamentOptions.class); | ||
| startActivity(i); | ||
| break; | ||
|
|
||
| case DialogInterface.BUTTON_NEGATIVE: | ||
| //No button clicked | ||
| break; | ||
| } | ||
| } | ||
| }; | ||
|
|
||
| AlertDialog.Builder builder = new AlertDialog.Builder(this); | ||
| builder.setMessage("Are you sure you wish to create a new Tournament?").setPositiveButton("Yes", dialogClickListener) | ||
| .setNegativeButton("No", dialogClickListener).show(); | ||
|
|
||
| } | ||
|
|
||
|
|
||
|
|
||
| @Override | ||
| protected void onCreate(Bundle savedInstanceState) { | ||
| super.onCreate(savedInstanceState); | ||
| setContentView(R.layout.activity_main_page); | ||
|
|
||
| if(tournamentExists==false){ | ||
| tournamentExists = true; | ||
| sv.writeData(this.getApplicationContext()); | ||
| } | ||
|
|
||
|
|
||
| tournament = sv.loadData(); | ||
| } | ||
|
|
||
| } |
| @@ -0,0 +1,45 @@ | ||
| package com.uottawa.tournamentmaker; | ||
|
|
||
| /** | ||
| * Created by Owner on 11/30/2015. | ||
| */ | ||
| public class Match { | ||
| int scoreA = 0; | ||
| int scoreB = 0; | ||
| String teamA; | ||
| String teamB; | ||
|
|
||
| public Match(Team _teamA, Team _teamB){ | ||
| teamA = _teamA.getName(); | ||
| teamB = _teamB.getName(); | ||
| } | ||
|
|
||
| public void setScore(int _scoreA, int _scoreB){ | ||
| scoreA = _scoreA; | ||
| scoreB = _scoreB; | ||
| } | ||
|
|
||
| public String[] getTeams(){ | ||
| String[] res = new String[2]; | ||
| res[0] = teamA; | ||
| res[1] = teamB; | ||
| return res; | ||
| } | ||
|
|
||
| public int[] getScore(){ | ||
| int[] res = new int[2]; | ||
| res[0] = scoreA; | ||
| res[1] = scoreB; | ||
| return res; | ||
| } | ||
|
|
||
| public String getWinner(){ | ||
| if(scoreA > scoreB){ | ||
| return teamA; | ||
| } else if(scoreA < scoreB){ | ||
| return teamB; | ||
| } else { | ||
| return "draw"; | ||
| } | ||
| } | ||
| } |
| @@ -0,0 +1,88 @@ | ||
|
|
||
|
|
||
| // Things left to do: | ||
|
|
||
| //Connect button methods to their actions | ||
| //Connect name input to method here | ||
| //Connect team # inout to method here | ||
|
|
||
| package com.uottawa.tournamentmaker; | ||
|
|
||
| import android.content.Intent; | ||
| import android.os.Bundle; | ||
| import android.support.design.widget.FloatingActionButton; | ||
| import android.support.design.widget.Snackbar; | ||
| import android.support.v7.app.AppCompatActivity; | ||
| import android.support.v7.widget.Toolbar; | ||
| import android.view.View; | ||
| import android.widget.ArrayAdapter; | ||
| import android.widget.Button; | ||
| import android.widget.EditText; | ||
| import android.widget.NumberPicker; | ||
| import android.widget.Spinner; | ||
|
|
||
| public class QuickStart extends AppCompatActivity { | ||
| Boolean roundRobin = false; | ||
| Boolean both = false; //if user selected both types | ||
| int numTeams = 0; | ||
| String name = ("Default name"); | ||
| Tournament tournament; //tournament object to do stuff with | ||
| SaveManager sv = new SaveManager(); //object used for managing save file | ||
|
|
||
|
|
||
| public void onQuickStartEditTeamNumber(View v) { | ||
| NumberPicker _numTeams = (NumberPicker) findViewById(R.id.numberPickerQS); | ||
| this.numTeams = _numTeams.getValue(); | ||
| } | ||
|
|
||
| public void onSaveButton(View v){ | ||
| Spinner spinner = (Spinner)findViewById(R.id.spinnerQS); | ||
| int style = spinner.getSelectedItemPosition(); | ||
| if (style == 0){ | ||
| this.roundRobin = true; | ||
| } | ||
| else if (style == 1){ | ||
| this.roundRobin = false; | ||
| } | ||
| else{ | ||
| this.roundRobin = true; | ||
| this.both = true; | ||
| } | ||
| tournament = new Tournament (name,numTeams); | ||
| tournament.quickStart(name,roundRobin,both,numTeams); | ||
| sv.writeData(tournament); | ||
|
|
||
| // now one goes to Tournament View and they must pass this tournament created above for use in TournamentView | ||
|
|
||
| finish(); | ||
| } | ||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
| @Override | ||
| protected void onCreate(Bundle savedInstanceState) { | ||
| super.onCreate(savedInstanceState); | ||
| setContentView(R.layout.activity_quick_start); | ||
|
|
||
| Spinner spinnerQS = (Spinner) findViewById(R.id.spinnerQS); | ||
| // Create an ArrayAdapter using the string array and a default spinner layout | ||
| ArrayAdapter<CharSequence> adapterQS1 = ArrayAdapter.createFromResource(this, | ||
| R.array.tournament_type, android.R.layout.simple_spinner_item); | ||
| // Specify the layout to use when the list of choices appears | ||
| adapterQS1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); | ||
| // Apply the adapter to the spinner | ||
| spinnerQS.setAdapter(adapterQS1); | ||
|
|
||
| NumberPicker numberPickerQS = (NumberPicker) findViewById(R.id.numberPickerQS); | ||
| numberPickerQS.setMinValue(2); | ||
| numberPickerQS.setMaxValue(100); | ||
|
|
||
|
|
||
| /* Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); | ||
| setSupportActionBar(toolbar);*/ | ||
|
|
||
| tournament = sv.loadData(); | ||
| } | ||
| } |
| @@ -0,0 +1,89 @@ | ||
| package com.uottawa.tournamentmaker; | ||
|
|
||
| import android.content.Context; | ||
|
|
||
| import java.io.File; | ||
| import java.io.FileInputStream; | ||
| import java.io.FileOutputStream; | ||
| import java.io.ObjectInputStream; | ||
| import java.io.ObjectOutputStream; | ||
| import java.io.IOException; | ||
| import java.io.Serializable; | ||
|
|
||
| /** | ||
| * Created by Shuai on 04/12/2015. | ||
| */ | ||
| public class SaveManager implements Serializable { | ||
|
|
||
| Context fileContext; | ||
| String fileName = "save.dat"; | ||
| File myFile; | ||
|
|
||
|
|
||
| public Tournament loadData(){ | ||
| try { | ||
| //create input stream | ||
| FileInputStream fis = new FileInputStream(myFile); | ||
| ObjectInputStream ois = new ObjectInputStream(fis); | ||
|
|
||
| //attempt to read the file into our object | ||
| Tournament tournamentObj = (Tournament) ois.readObject(); | ||
|
|
||
| System.out.println(tournamentObj.getName()); | ||
| //close the input stream | ||
| ois.close(); | ||
|
|
||
| fis.close(); | ||
| //return the object read | ||
| return tournamentObj; | ||
| } catch (Exception e) { | ||
| //file error | ||
| System.out.println(e.toString()); // for testing | ||
| return null; | ||
| } | ||
| } | ||
|
|
||
|
|
||
|
|
||
| public boolean writeData(Tournament tournamentObj){ | ||
| try{ | ||
| //create output stream | ||
| FileOutputStream fos = fileContext.getApplicationContext().openFileOutput("save.dat",Context.MODE_PRIVATE); | ||
| ObjectOutputStream oos = new ObjectOutputStream(fos); | ||
|
|
||
| myFile = new File(fileContext.getFilesDir(),fileName); | ||
| //attempt to write to our file | ||
| oos.writeObject(tournamentObj); | ||
| //close the output stream | ||
| oos.close(); | ||
| fos.close(); | ||
| return true; | ||
| } catch (Exception e){ | ||
| System.out.println(e.toString()); | ||
| return false; | ||
| } | ||
| } | ||
|
|
||
| public boolean writeData(Context fileContext){ | ||
|
|
||
| Tournament tournamentObj = new Tournament("Empty_Tournament", true, false, 0); | ||
| try{ | ||
| //create output stream | ||
| FileOutputStream fos = fileContext.getApplicationContext().openFileOutput("save.dat", Context.MODE_PRIVATE); | ||
| this.fileContext = fileContext; | ||
| myFile = new File(fileContext.getFilesDir(),fileName); | ||
|
|
||
| ObjectOutputStream oos = new ObjectOutputStream(fos); | ||
| //attempt to write to our file | ||
| oos.writeObject(tournamentObj); | ||
| //close the output stream | ||
| oos.close(); | ||
| fos.close(); | ||
| return true; | ||
| } catch (Exception e){ | ||
| System.out.println("Failed write data"); | ||
| System.out.println(e.toString()); | ||
| return false; | ||
| } | ||
| } | ||
| } |
| @@ -0,0 +1,29 @@ | ||
| package com.uottawa.tournamentmaker; | ||
|
|
||
| import android.os.Bundle; | ||
| import android.support.design.widget.FloatingActionButton; | ||
| import android.support.design.widget.Snackbar; | ||
| import android.support.v7.app.AppCompatActivity; | ||
| import android.support.v7.widget.Toolbar; | ||
| import android.view.View; | ||
|
|
||
| public class Scoreboard extends AppCompatActivity { | ||
|
|
||
| Tournament tournament; //tournament object to do stuff with | ||
| SaveManager sv = new SaveManager(); //object used for managing save file | ||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
| @Override | ||
| protected void onCreate(Bundle savedInstanceState) { | ||
| super.onCreate(savedInstanceState); | ||
| setContentView(R.layout.activity_scoreboard); | ||
| // Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); | ||
| //setSupportActionBar(toolbar); | ||
| tournament = sv.loadData(); | ||
|
|
||
| } | ||
|
|
||
| } |
| @@ -0,0 +1,127 @@ | ||
| package com.uottawa.tournamentmaker; | ||
|
|
||
| /** | ||
| * Created by Owner on 11/30/2015. | ||
| */ | ||
| public class Team { | ||
|
|
||
| String name; | ||
| int rank = -1; | ||
| int logo = 0; | ||
| String address; | ||
| int gamesPlayed = 0; | ||
| int gamesWon = 0; | ||
| int gamesLost = 0; | ||
| int gamesDrawn = 0; | ||
| int points = 0; | ||
| Boolean playing = true; //used for knock out tournament | ||
|
|
||
| public Team(String _name, String _address){ | ||
| name = _name; | ||
| address = _address; | ||
| } | ||
|
|
||
| /*set*/ | ||
| public void setName(String _name){ | ||
| name = _name; | ||
| } | ||
|
|
||
| public void setRank(int _rank){ | ||
| rank = _rank; | ||
| } | ||
|
|
||
| public void setAddress(String _address){ | ||
| address = _address; | ||
| } | ||
|
|
||
| public void setLogo(int _logo){ logo = _logo; } | ||
|
|
||
| public void setGamesPlayed(int numPlayed){ | ||
| gamesPlayed = numPlayed; | ||
| } | ||
|
|
||
| public void setGamesWon(int numWon){ | ||
| gamesWon = numWon; | ||
| } | ||
|
|
||
| public void setGamesLost(int numLost){ | ||
| gamesLost = numLost; | ||
| } | ||
|
|
||
| public void setGamesDrawn(int numDrawn){ | ||
| gamesDrawn = numDrawn; | ||
| } | ||
|
|
||
| public void setPoints(int numPoints){ | ||
| points = numPoints; | ||
| } | ||
|
|
||
| public void setPlaying(Boolean p){ | ||
| playing = p; | ||
| } | ||
| /*get*/ | ||
| public String getName(){ | ||
| return name; | ||
| } | ||
|
|
||
| public int getRank(){ | ||
| return rank; | ||
| } | ||
|
|
||
| public int getLogo() { return logo; } | ||
|
|
||
| public String getAddress(){ | ||
| return address; | ||
| } | ||
|
|
||
| public int getGamesPlayed(){ | ||
| return gamesPlayed; | ||
| } | ||
|
|
||
| public int getGamesWon(){ | ||
| return gamesWon; | ||
| } | ||
|
|
||
| public int getGamesLost(){ | ||
| return gamesLost; | ||
| } | ||
|
|
||
| public int getGamesDrawn(){ | ||
| return gamesDrawn; | ||
| } | ||
|
|
||
| public int getPoints(){ | ||
| return points; | ||
| } | ||
|
|
||
| public Boolean isPlaying(){ | ||
| return playing; | ||
| } | ||
| /*update methods*/ | ||
|
|
||
| public void updateGamesPlayed(){ | ||
| gamesPlayed++; | ||
| } | ||
|
|
||
| public void updateGamesWon(){ | ||
| gamesWon++; | ||
| } | ||
|
|
||
| public void updateGamesLost(){ | ||
| gamesLost++; | ||
| } | ||
|
|
||
| public void updateGamesDrawn(){ | ||
| gamesDrawn++; | ||
| } | ||
|
|
||
| public void updatePoints(String result){ | ||
| if (result.compareToIgnoreCase("win") == 0){ | ||
| points += 3; | ||
| } else if (result.compareToIgnoreCase("draw") == 0){ | ||
| points += 1; | ||
| } else { | ||
| //lost | ||
| } | ||
| } | ||
| } |
| @@ -0,0 +1,82 @@ | ||
| // Things left to do: | ||
| //Connect button methods to their actions | ||
| //Connect name input to method here | ||
| //Connect team # input to method here | ||
| //Connect logo input to method here | ||
|
|
||
|
|
||
| package com.uottawa.tournamentmaker; | ||
|
|
||
| import android.os.Bundle; | ||
| import android.support.design.widget.FloatingActionButton; | ||
| import android.support.design.widget.Snackbar; | ||
| import android.support.v7.app.AppCompatActivity; | ||
| import android.support.v7.widget.Toolbar; | ||
| import android.view.View; | ||
| import android.widget.EditText; | ||
|
|
||
| public class TeamOptions extends AppCompatActivity { | ||
| Team team; | ||
| String name; | ||
| int logo = 0; | ||
| String address; | ||
| Tournament tournament; //tournament object to do stuff with | ||
| SaveManager sv = new SaveManager(); //object used for managing save file | ||
|
|
||
| public TeamOptions(Team team){ | ||
| this.team = team; | ||
| this.name = team.getName(); | ||
| this.logo = team.getLogo(); | ||
| this.address = team.getAddress(); | ||
|
|
||
| // Populate name location with name now assigned | ||
| // Populate logo location with logo now assigned | ||
| // Populate address location with address now assigned | ||
| } | ||
| public TeamOptions(){ | ||
| // This is stop from crashing, theoretically this should never be called, one must have a team to call | ||
| // edit team/ teamOptions, thus the other constructor shall always be invoked | ||
| } | ||
|
|
||
|
|
||
| public void onTeamOptionsEditName(View v) { | ||
| EditText _name = (EditText) findViewById(R.id.teamAddressField); | ||
| if((_name.equals(""))||(_name.equals(null))){} | ||
| else{ | ||
| this.name = _name.getText().toString(); | ||
| } | ||
| } | ||
| public void onTeamOptionsEditAddress(View v) { | ||
| EditText teamAddress = (EditText) findViewById(R.id.teamAddressField); | ||
| if((teamAddress.equals(""))||(teamAddress.equals(null))){} | ||
| else{ | ||
| this.address = teamAddress.getText().toString(); | ||
| } | ||
| } | ||
|
|
||
|
|
||
|
|
||
| //Method for input of logo | ||
| //this.logo = logo; | ||
|
|
||
| public void onTeamOptionsSave(View v){ | ||
| team.setName(name); | ||
| team.setAddress(address); | ||
| team.setLogo(logo); | ||
|
|
||
| sv.writeData(tournament); | ||
| //Return to previous page with new team with edits | ||
| } | ||
|
|
||
|
|
||
|
|
||
|
|
||
| @Override | ||
| protected void onCreate(Bundle savedInstanceState) { | ||
| super.onCreate(savedInstanceState); | ||
| setContentView(R.layout.activity_team_options); | ||
|
|
||
| tournament = sv.loadData(); | ||
|
|
||
| } | ||
| } |
| @@ -0,0 +1,187 @@ | ||
| package com.uottawa.tournamentmaker; | ||
|
|
||
| import java.io.Serializable; | ||
|
|
||
| /** | ||
| * Created by Owner on 11/30/2015. | ||
| */ | ||
| public class Tournament implements Serializable { | ||
|
|
||
| String name; | ||
| Boolean started = false; | ||
| Boolean roundRobin = false; | ||
| Boolean both = false; //if user selected both types | ||
| int numTeams = 0; | ||
| int teamCount = 0; | ||
| Team[] teams; | ||
| Match[] matches; | ||
| int nextMatchIndex = 0; | ||
| int teamsRemaining = 0; | ||
|
|
||
| /*constructors*/ | ||
| public Tournament(String _name, int _numTeams){ | ||
| name = _name; | ||
| numTeams = _numTeams; | ||
| teams = new Team[numTeams]; | ||
| // for(int i = 0; i < numTeams; i++){ | ||
| // teams[i] = null; | ||
| // } | ||
| } | ||
|
|
||
| public Tournament(String _name, Boolean _roundRobin, Boolean _both, int _numTeams){ | ||
| name = _name; | ||
| roundRobin = _roundRobin; | ||
| both = _both; | ||
| numTeams = _numTeams; | ||
| teams = new Team[numTeams]; | ||
| teamsRemaining = numTeams; | ||
| } | ||
|
|
||
| public void quickStart(String _name, Boolean _roundRobin, Boolean _both, int _numTeams){ | ||
| name = _name; | ||
| roundRobin = _roundRobin; | ||
| both = _both; | ||
| numTeams = _numTeams; | ||
| teamsRemaining = numTeams; | ||
| teams = new Team[numTeams]; | ||
|
|
||
| for(int i = 0; i < numTeams; i++){ | ||
| int num = i + 1; | ||
| teams[i] = new Team("Team " + num, ""); | ||
| } | ||
| } | ||
|
|
||
| /*set*/ | ||
| public void setName(String _name){ | ||
| name = _name; | ||
| } | ||
|
|
||
| public void setStarted(Boolean b){ | ||
| started = b; | ||
| } | ||
|
|
||
| public void setRoundRobin(Boolean b){ | ||
| roundRobin = b; | ||
| } | ||
|
|
||
| public void setBoth(Boolean b){ | ||
| both = b; | ||
| } | ||
|
|
||
| public void setTournamentType(Boolean _roundRobin, Boolean _both){ | ||
| roundRobin = _roundRobin; | ||
| both = _both; | ||
| } | ||
|
|
||
| /*get*/ | ||
| public String getName(){ | ||
| return name; | ||
| } | ||
|
|
||
| public int getNumTeams(){return numTeams;} | ||
|
|
||
| public int getTeamCount(){return teamCount;} | ||
|
|
||
| public Team[] getTeams(){ | ||
| return teams; | ||
| } | ||
|
|
||
| public Boolean setTeams(Team[] teams){ | ||
| this.teams = teams; | ||
| return true; | ||
| } | ||
| public Boolean hasStarted(){ | ||
| return started; | ||
| } | ||
|
|
||
| public Boolean isRoundRobin(){ | ||
| return roundRobin; | ||
| } | ||
|
|
||
| public Boolean isBoth(){ | ||
| return both; | ||
| } | ||
|
|
||
| /*functions*/ | ||
|
|
||
| //adds team to first available spot | ||
| public Boolean addTeam(Team newTeam){ | ||
| for(int i = 0; i < numTeams; i++){ | ||
| if (teams[i] == null){ | ||
| teams[i] = newTeam; | ||
| teamCount++; | ||
| return true; | ||
| } | ||
| } | ||
| return false; //failed to find spot | ||
| } | ||
|
|
||
| //sorts all teams by rank from highest score to lowest by quicksort | ||
| public void updateRank(){ | ||
| quickSort(teams, 0, numTeams - 1); | ||
| for(int i = 0; i < numTeams; i++){ | ||
| teams[i].setRank(i+1); | ||
| } | ||
| } | ||
|
|
||
| private int partition(Team arr[], int left, int right){ | ||
| int i = left, j = right; | ||
| Team tmp; | ||
| int pivot = arr[(left + right) / 2].getPoints(); | ||
|
|
||
| while(i <= j){ | ||
| while(arr[i].getPoints() < pivot) | ||
| i++; | ||
| while(arr[j].getPoints() > pivot) | ||
| j--; | ||
| if(i <= j){ | ||
| tmp = arr[i]; | ||
| arr[i] = arr[j]; | ||
| arr[j] = tmp; | ||
| i++; | ||
| j--; | ||
| } | ||
| }; | ||
| return i; | ||
| } | ||
|
|
||
| private void quickSort(Team arr[], int left, int right){ | ||
| int index = partition(arr, left, right); | ||
| if(left < index - 1) | ||
| quickSort(arr, left, index - 1); | ||
| if(index < right) | ||
| quickSort(arr, index, right); | ||
| } | ||
|
|
||
| //update teams remaining | ||
| public void updateTeamsRemaining(){ | ||
| teamsRemaining /= 2; | ||
| } | ||
|
|
||
| //create roundrobin matches | ||
| public void createRRMatches(){ | ||
| matches = new Match[numTeams*numTeams]; | ||
| for(int i = 0; i < numTeams; i++){ | ||
| for(int j = 0; i <numTeams; i++){ | ||
| if(i != j){ | ||
| matches[i] = new Match(teams[i], teams[j]); | ||
| } | ||
| } | ||
| } | ||
| } | ||
|
|
||
| //create KO matches | ||
| public void updateKOMatches(){ | ||
| matches = new Match[teamsRemaining/2]; | ||
| for(int i = 0; i < numTeams/2; i++){ | ||
| for(int j = numTeams - 1; j >= numTeams/2; j--){ | ||
| if(i != j && teams[i].isPlaying() && teams[j].isPlaying()){ | ||
| matches[i] = new Match(teams[i], teams[j]); | ||
| } | ||
| } | ||
| } | ||
| } | ||
|
|
||
|
|
||
|
|
||
| } |
| @@ -0,0 +1,114 @@ | ||
| // Things left to do: | ||
| //Connect button methods to their actions | ||
|
|
||
|
|
||
|
|
||
| package com.uottawa.tournamentmaker; | ||
|
|
||
| import android.content.Intent; | ||
| import android.os.Bundle; | ||
| import android.support.design.widget.FloatingActionButton; | ||
| import android.support.design.widget.Snackbar; | ||
| import android.support.v7.app.AppCompatActivity; | ||
| import android.support.v7.widget.Toolbar; | ||
| import android.view.View; | ||
| import android.widget.ArrayAdapter; | ||
| import android.widget.ListAdapter; | ||
| import android.widget.ListView; | ||
| import android.widget.Spinner; | ||
| import android.widget.Toast; | ||
|
|
||
| import java.util.ArrayList; | ||
| import java.util.List; | ||
|
|
||
| public class TournamentOptions extends AppCompatActivity { | ||
|
|
||
| Tournament tournament; // Tournament that options holds onto to edit | ||
| Boolean roundRobin = false; | ||
| Boolean both = false; //if user selected both types | ||
| Team[] teams; | ||
| int teamCount = 0; | ||
| int maxTeams = 32; | ||
| String name; | ||
| SaveManager sv; | ||
|
|
||
| public TournamentOptions(Tournament _tournament){ // called if I am editing an existing tournament | ||
| this.tournament = _tournament; | ||
| this.roundRobin = _tournament.isRoundRobin(); | ||
| this.both = _tournament.isBoth(); | ||
| this.teams = _tournament.getTeams(); | ||
| this.name = _tournament.getName(); | ||
| for (int i = 0; i < teams.length; i ++) | ||
| if (teams[i] != null) { | ||
| teamCount++; | ||
| } | ||
| } | ||
| public TournamentOptions(String name){ //called if first time editing a new tournament (if we choose to make user enter name when they create a tournament from main page) | ||
| this.name = name; | ||
| this.tournament = new Tournament(name, maxTeams); | ||
| this.teams = new Team[maxTeams]; | ||
| } | ||
| public TournamentOptions(){ //called if first time editing a new tournament (if we choose to make user edit name on tournament options page) | ||
| this.name = "Default Tournament Name"; | ||
| this.tournament = new Tournament(name, maxTeams); | ||
| this.teams = new Team[maxTeams]; | ||
| } | ||
|
|
||
|
|
||
| public void onTournamentOptSetStyle(View v){ | ||
|
|
||
| } | ||
|
|
||
| public void onSaveTournamentOpt(View v){ | ||
| //sets all the variables to the tournament object that it was passed | ||
| tournament.setRoundRobin(roundRobin); | ||
| tournament.setBoth(both); | ||
| tournament.setTeams(teams); | ||
|
|
||
| // Return back to main page or tournament view page (potentially return the tournament copy) | ||
| sv.writeData(tournament); | ||
| finish(); //returns to previous screen | ||
| } | ||
| public void onAddTeamTournamentOpt(View v){ // not sure if i need something other than View v to make this method be called and populate the list after | ||
| if (teamCount+1 == maxTeams){ | ||
| // Filled possible list of teams | ||
| } | ||
| else{ | ||
| String defaultLocation = "No One Cares"; | ||
| String defaultName = ("Team "+ (teamCount+1)); | ||
| teams[teamCount] = new Team(defaultName, defaultLocation); | ||
| teamCount ++; | ||
|
|
||
| // populate list for user to see | ||
| } | ||
| } | ||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
| @Override | ||
| protected void onCreate(Bundle savedInstanceState) { | ||
| super.onCreate(savedInstanceState); | ||
| setContentView(R.layout.activity_tournament_options); | ||
|
|
||
| Spinner spinner = (Spinner) findViewById(R.id.spinnerTO); | ||
| // Create an ArrayAdapter using the string array and a default spinner layout | ||
| ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, | ||
| R.array.tournament_type, android.R.layout.simple_spinner_item); | ||
| // Specify the layout to use when the list of choices appears | ||
| adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); | ||
| // Apply the adapter to the spinner | ||
| spinner.setAdapter(adapter); | ||
| sv = MainPage.getSV(); | ||
| tournament = sv.loadData(); | ||
|
|
||
| roundRobin = tournament.isRoundRobin(); | ||
| both = tournament.isBoth(); //if user selected both types | ||
| teams = tournament.getTeams(); | ||
| teamCount = 0; | ||
| maxTeams = tournament.getNumTeams(); | ||
| name = tournament.getName(); | ||
| } | ||
| } |
| @@ -0,0 +1,43 @@ | ||
| package com.uottawa.tournamentmaker; | ||
|
|
||
| import android.content.Intent; | ||
| import android.os.Bundle; | ||
| import android.support.design.widget.FloatingActionButton; | ||
| import android.support.design.widget.Snackbar; | ||
| import android.support.v7.app.AppCompatActivity; | ||
| import android.support.v7.widget.Toolbar; | ||
| import android.view.View; | ||
|
|
||
| public class TournamentView extends AppCompatActivity { | ||
| //Things to do: | ||
| // | ||
| // The UI for edit Score / Match Edit needs to be built | ||
| Tournament tournament; //tournament object to do stuff with | ||
| SaveManager sv = new SaveManager(); //object used for managing save file | ||
|
|
||
| public void onViewScoreboardTournamentView(View v){ | ||
| startActivity(new Intent(TournamentView.this, Scoreboard.class)); | ||
| } | ||
| public void onEditTournamentTournamentView(View v){ | ||
| startActivity(new Intent(TournamentView.this, TournamentOptions.class)); | ||
| } | ||
| public void onStartTournamentTournamentView(View v){ | ||
| // start tournament object | ||
| } | ||
| public void onEditScoreTournamentView(View v){ | ||
| startActivity(new Intent(TournamentView.this, EditMatchScorePage.class)); | ||
| } | ||
|
|
||
|
|
||
|
|
||
|
|
||
| @Override | ||
| protected void onCreate(Bundle savedInstanceState) { | ||
| super.onCreate(savedInstanceState); | ||
| setContentView(R.layout.activity_tournament_view); | ||
| /* Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); | ||
| setSupportActionBar(toolbar);*/ | ||
| tournament = sv.loadData(); | ||
| } | ||
|
|
||
| } |
| @@ -0,0 +1,139 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| xmlns:tools="http://schemas.android.com/tools" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:paddingBottom="@dimen/activity_vertical_margin" | ||
| android:paddingLeft="@dimen/activity_horizontal_margin" | ||
| android:paddingRight="@dimen/activity_horizontal_margin" | ||
| android:paddingTop="@dimen/activity_vertical_margin" | ||
| tools:context="com.uottawa.tournamentmaker.EditMatchScorePage"> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="horizontal" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="400dp" | ||
| android:id="@+id/linearLayout3" | ||
| android:layout_above="@+id/linearLayout4" | ||
| android:layout_alignParentTop="true"> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="vertical" | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="match_parent" | ||
| android:layout_gravity="left|right"> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="horizontal" | ||
| android:layout_width="171dp" | ||
| android:layout_height="196dp"> | ||
|
|
||
| <TextView | ||
| android:layout_width="match_parent" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceLarge" | ||
| android:text="@string/teamA" | ||
| android:id="@+id/teamA" /> | ||
| </LinearLayout> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="horizontal" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="161dp"> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceLarge" | ||
| android:text="Please Input Score for This Team" /> | ||
| </LinearLayout> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="horizontal" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="196dp" | ||
| android:layout_weight="1"> | ||
|
|
||
| <EditText | ||
| android:layout_width="match_parent" | ||
| android:layout_height="fill_parent" | ||
| android:id="@+id/editText4" | ||
| android:layout_weight="0.15" | ||
| android:digits="0123456789" | ||
| android:inputType="number" | ||
| android:onClick="onEditScoreTeamAGoals" | ||
|
|
||
| android:imeOptions="actionDone"/> | ||
| </LinearLayout> | ||
| </LinearLayout> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="vertical" | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="match_parent" | ||
| android:layout_gravity="left|right" | ||
| android:layout_alignParentTop="true" | ||
| android:layout_alignParentRight="true" | ||
| android:layout_alignParentEnd="true"> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="horizontal" | ||
| android:layout_width="167dp" | ||
| android:layout_height="194dp"> | ||
|
|
||
| <TextView | ||
| android:layout_width="match_parent" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceLarge" | ||
| android:text="@string/teamB" | ||
| android:id="@+id/teamB" /> | ||
| </LinearLayout> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="horizontal" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="154dp"> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="83dp" | ||
| android:textAppearance="?android:attr/textAppearanceLarge" | ||
| android:text="Please Input Score for This Team" | ||
| android:id="@+id/textView28" /> | ||
| </LinearLayout> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="horizontal" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent"> | ||
|
|
||
| <EditText | ||
| android:layout_width="match_parent" | ||
| android:layout_height="fill_parent" | ||
| android:id="@+id/editText3" | ||
| android:digits="0123456789" | ||
| android:inputType="number" | ||
| android:onClick="onEditScoreTeamBGoals" | ||
| android:imeOptions="actionDone"/>/> | ||
| </LinearLayout> | ||
| </LinearLayout> | ||
| </LinearLayout> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="horizontal" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="50dp" | ||
| android:layout_centerHorizontal="true" | ||
| android:layout_alignParentBottom="true" | ||
| android:id="@+id/linearLayout4"> | ||
|
|
||
| <Button | ||
| android:layout_width="fill_parent" | ||
| android:layout_height="fill_parent" | ||
| android:text="Save" | ||
| android:id="@+id/saveScoreEdit" | ||
| android:background="#3F51B5" | ||
| android:onClick="onEditMatchScoreSave" /> | ||
| </LinearLayout> | ||
|
|
||
| </RelativeLayout> |
| @@ -0,0 +1,103 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| xmlns:tools="http://schemas.android.com/tools" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:paddingBottom="@dimen/activity_vertical_margin" | ||
| android:paddingLeft="@dimen/activity_horizontal_margin" | ||
| android:paddingRight="@dimen/activity_horizontal_margin" | ||
| android:paddingTop="@dimen/activity_vertical_margin" | ||
| tools:context="com.uottawa.tournamentmaker.HelpPage"> | ||
|
|
||
| <ScrollView | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent"> | ||
|
|
||
| <TextView | ||
| android:id="@+id/textView29" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:text= | ||
| "HOW TO SETUP A QUICK TOURNAMENT \n \n | ||
| 1) Click on the “New Quick Tournament” button on the Main Menu page to gain access to the QuickStart page. \n | ||
| 2)If there’s already an existing Tournament, the system will display a dialog warning you on if you wish to overwrite the existing Tournament. \n | ||
| 3) The next step is to enter the Tournament Name, specify the number of teams in the Tournament and choose a particular Tournament Style. \n | ||
| 4) Click on save to store current settings. \n | ||
| 5) You will now be returned to the main page with an unstarted Tournament with the following information you provided. \n | ||
| \n | ||
| \n | ||
| \n | ||
| HOW TO SETUP A CUSTOM TOURNAMENT \n\n | ||
| 1) Click on the “New Tournament” button on the Main Menu page to gain access to the Tournament Options page. \n | ||
| 2) If there’s already an existing Tournament, the system will display a dialog warning you on if you wish to overwrite the existing Tournament. \n | ||
| 3) The next step is to select the Tournament Style, Tournament Teams. \n | ||
| 4) After selection, you have the option to add, edit information or delete teams in the Tournament. \n | ||
| 5) Click on save to store current settings. \n | ||
| 6) You will now be returned to the main page with an unstarted Tournament with the following information you provided. \n | ||
| \n | ||
| \n | ||
| \n | ||
| HOW TO EDIT AN UN-STARTED TOURNAMENT \n\n | ||
| 1) Click on the “View Tournament” button on the Main Menu page to gain access to the Tournament View page. \n | ||
| 2) Click on the “Edit tournament” button to gain access to the Tournament Options page. \n | ||
| 3) You can now change Tournament style, add, edit information or delete teams in the Tournament. \n | ||
| 4) Click on save to store current settings. \n | ||
| 5) You will now be returned to the main page with an unstarted Tournament with the following information you provided. \n | ||
| \n | ||
| \n | ||
| \n | ||
| HOW TO START A TOURNAMENT \n\n | ||
| 1) Click on the “View Tournament” button on the Main Menu page to gain access to the Tournament View page. \n | ||
| 2) Click on the “Start Tournament” button. \n | ||
| \n | ||
| \n | ||
| \n | ||
| HOW TO EDIT SCORE OF A MATCH IN A TOURNAMENT \n\n | ||
| 1) Click on the “View Tournament” button on the Main Menu page to gain access to the Tournament View page. \n | ||
| 2) Click on the “Edit Score” button. \n | ||
| 3) You will now be redirected to a window were you can input scores of a match. \n | ||
| 4) Click on save to store current settings. \n | ||
| 5) You will now be returned to the view Tournament page. \n | ||
| \n | ||
| \n | ||
| \n | ||
| HOW TO VIEW SCOREBOARD OF A TOURNAMENT \n\n | ||
| 1) Click on the “View Tournament” button on the Main Menu page to gain access to the Tournament View page. \n | ||
| 2) Click on the “view Scoreboard” button. \n | ||
| \n | ||
| \n | ||
| \n | ||
| HOW TO DELETE A TOURNAMENT \n\n | ||
| 1) Click on the “Delete Tournament” button on the Main Menu page. \n | ||
| 2) System prompts the user if user wishes to continue. \n | ||
| 3) User selects yeahh. \n | ||
| 4) Tournament will now be deleted. You will now be returned to the view Tournament page. \n | ||
| \n | ||
| \n | ||
| \n | ||
| HOW TO EDIT A TEAM \n\n | ||
| 1) If on the Main Menu page, click on the “View Tournament” button to proceed to the Tournament view page. \n | ||
| 2) Click on the “Edit Tournament” button to proceed to the Tournament Options page. \n | ||
| 3) Select the team which you will like to edit and click on the edit button. \n | ||
| 4) You will now be transitioned to the Team Options page. \n | ||
| 5) The Team Name and address can now be changed. \n | ||
| 6) Click on save team to store current settings. \n | ||
| 7) You will now be returned to the Tournament Options page. \n | ||
| \n | ||
| \n | ||
| \n | ||
| HOW TO DELETE A TEAM \n\n | ||
| 1) If on the Main Menu page, click on the “View Tournament” button to proceed to the Tournament view page. \n | ||
| 2) Click on the “Edit Tournament” button to proceed to the Tournament Options page. \n | ||
| 3) Select the team which you will like to delete and click on the edit button. \n | ||
| 4) You will now be transitioned to the Team Options page. \n | ||
| 5) Click on delete team button to delete the selected team. \n | ||
| 6) System prompts the user if user wishes to continue. \n | ||
| 7) User selects yeahh. \n | ||
| 8) Team will now be deleted. You will now be returned to the Tournament Options page. \n | ||
| \n | ||
| \n | ||
| \n " /> | ||
| </ScrollView> | ||
|
|
||
| </RelativeLayout> |
| @@ -0,0 +1,12 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| xmlns:app="http://schemas.android.com/apk/res-auto" | ||
| xmlns:tools="http://schemas.android.com/tools" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:fitsSystemWindows="true" | ||
| tools:context="com.uottawa.tournamentmaker.MainPage"> | ||
|
|
||
| <include layout="@layout/content_main_page" /> | ||
|
|
||
| </android.support.design.widget.CoordinatorLayout> |
| @@ -0,0 +1,115 @@ | ||
| <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" | ||
| android:layout_height="wrap_content" android:paddingLeft="@dimen/activity_horizontal_margin" | ||
| android:paddingRight="@dimen/activity_horizontal_margin" | ||
| android:paddingTop="@dimen/activity_vertical_margin" | ||
| android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".QuickStart"> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="vertical" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent"> | ||
|
|
||
| <LinearLayout | ||
| android:layout_width="match_parent" | ||
| android:layout_height="wrap_content" | ||
| android:orientation="vertical" | ||
| android:layout_weight="0.52"> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="vertical" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="0dp" | ||
| android:layout_weight="0.62"> | ||
|
|
||
| <NumberPicker | ||
| android:layout_width="match_parent" | ||
| android:layout_height="0dp" | ||
| android:id="@+id/numberPickerQS" | ||
| android:layout_weight="1.88" | ||
| android:layout_gravity="center_horizontal" | ||
| android:onClick="onQuickStartEditTeamNumber" /><![CDATA[ | ||
| /> | ||
| ]]> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="0dp" | ||
| android:text="Specify the Number of Teams" | ||
| android:id="@+id/textView3" | ||
| android:layout_gravity="center_horizontal" | ||
| android:layout_weight="1" /> | ||
|
|
||
| <LinearLayout | ||
| android:layout_width="match_parent" | ||
| android:layout_height="0dp" | ||
| android:layout_weight="1" | ||
| android:orientation="vertical"> | ||
|
|
||
| </LinearLayout> | ||
|
|
||
| <Space | ||
| android:layout_width="match_parent" | ||
| android:layout_height="0dp" | ||
| android:layout_gravity="center_horizontal" | ||
| android:layout_weight="1" /> | ||
|
|
||
| <Space | ||
| android:layout_width="match_parent" | ||
| android:layout_height="0dp" | ||
| android:layout_gravity="center_horizontal" | ||
| android:layout_weight="1" /> | ||
|
|
||
| <Spinner | ||
| android:layout_width="match_parent" | ||
| android:layout_height="0dp" | ||
| android:id="@+id/spinnerQS" | ||
| android:spinnerMode="dialog" | ||
| android:dropDownSelector="#db1818" | ||
| android:text="Tournament Style" | ||
| android:layout_weight="1" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="0dp" | ||
| android:text="Choose the Tournament Style" | ||
| android:id="@+id/textView4" | ||
| android:layout_gravity="center_horizontal" | ||
| android:layout_weight="1" /> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="vertical" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="0dp" | ||
| android:layout_weight="1"> | ||
|
|
||
| </LinearLayout> | ||
|
|
||
| </LinearLayout> | ||
|
|
||
| </LinearLayout> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="vertical" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="wrap_content" | ||
| android:gravity="bottom|center"> | ||
|
|
||
| <Button | ||
| android:layout_width="match_parent" | ||
| android:layout_height="wrap_content" | ||
| android:text="Save" | ||
| android:id="@+id/saveButton" | ||
| android:layout_weight="1" | ||
| android:layout_alignParentStart="false" | ||
| android:background="#3F51B5" | ||
| android:textColor="#FFF" | ||
| android:clickable="true" | ||
| android:onClick="onSaveButton" /> | ||
| </LinearLayout> | ||
|
|
||
| </LinearLayout> | ||
|
|
||
| </RelativeLayout> |
| @@ -0,0 +1,256 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" | ||
| android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" | ||
| android:paddingRight="@dimen/activity_horizontal_margin" | ||
| android:paddingTop="@dimen/activity_vertical_margin" | ||
| android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".Scoreboard"> | ||
|
|
||
| <TableLayout | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:orientation="horizontal"> | ||
|
|
||
| <TableRow | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="match_parent" | ||
| android:orientation="horizontal"> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text=" Rank " | ||
| android:id="@+id/textView" | ||
| android:textColor="#000001" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text=" Team Name " | ||
| android:id="@+id/textView2" | ||
| android:textColor="#000001" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text=" GP " | ||
| android:id="@+id/textView3" | ||
| android:textColor="#000001" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text=" W " | ||
| android:id="@+id/textView4" | ||
| android:textColor="#000001" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text=" L " | ||
| android:id="@+id/textView5" | ||
| android:textColor="#000001" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text=" D " | ||
| android:id="@+id/textView6" | ||
| android:textColor="#000001" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text=" GS " | ||
| android:id="@+id/textView7" | ||
| android:layout_column="6" | ||
| android:textColor="#000001" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text=" GD " | ||
| android:id="@+id/textView8" | ||
| android:layout_column="7" | ||
| android:textColor="#000001" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text=" P " | ||
| android:id="@+id/textView9" | ||
| android:layout_column="8" | ||
| android:textColor="#000001" /> | ||
|
|
||
| </TableRow> | ||
|
|
||
| <TableRow | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="match_parent" | ||
| android:orientation="horizontal" > | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text=" 1 " | ||
| android:id="@+id/textView10" | ||
| android:layout_gravity="center" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text="Team 1" | ||
| android:id="@+id/textView11" | ||
| android:layout_gravity="center" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text="1" | ||
| android:id="@+id/textView12" | ||
| android:layout_gravity="center" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text=" 1 " | ||
| android:id="@+id/textView13" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text="0" | ||
| android:id="@+id/textView14" | ||
| android:layout_gravity="center" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text="0" | ||
| android:id="@+id/textView15" | ||
| android:layout_gravity="center" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text="19 " | ||
| android:id="@+id/textView16" | ||
| android:layout_column="6" | ||
| android:layout_gravity="center" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text="1" | ||
| android:id="@+id/textView17" | ||
| android:layout_column="7" | ||
| android:layout_gravity="center" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text="3" | ||
| android:id="@+id/textView18" | ||
| android:layout_column="8" | ||
| android:layout_gravity="center" /> | ||
| </TableRow> | ||
|
|
||
| <TableRow | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="match_parent" | ||
| android:orientation="horizontal" > | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text=" 2 " | ||
| android:id="@+id/textView19" | ||
| android:layout_gravity="center" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text="Team 2" | ||
| android:id="@+id/textView20" | ||
| android:layout_gravity="center" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text="1" | ||
| android:id="@+id/textView21" | ||
| android:layout_gravity="center" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text=" 0 " | ||
| android:id="@+id/textView22" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text="1" | ||
| android:id="@+id/textView23" | ||
| android:layout_gravity="center" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text="0" | ||
| android:id="@+id/textView24" | ||
| android:layout_gravity="center" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text="18 " | ||
| android:id="@+id/textView25" | ||
| android:layout_column="6" | ||
| android:layout_gravity="center" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text="-1" | ||
| android:id="@+id/textView26" | ||
| android:layout_column="7" | ||
| android:layout_gravity="center" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:textAppearance="?android:attr/textAppearanceSmall" | ||
| android:text="0" | ||
| android:id="@+id/textView27" | ||
| android:layout_column="8" | ||
| android:layout_gravity="center" /> | ||
| </TableRow> | ||
| </TableLayout> | ||
| </RelativeLayout> |
| @@ -0,0 +1,127 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" | ||
| android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" | ||
| android:paddingRight="@dimen/activity_horizontal_margin" | ||
| android:paddingTop="@dimen/activity_vertical_margin" | ||
| android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".TeamOptions" | ||
| android:onClick="onTeamOptionsSave"> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="vertical" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="wrap_content" | ||
| android:id="@+id/linearLayout5"> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="0dp" | ||
| android:text="Team Options" | ||
| android:id="@+id/titleTextView" | ||
| android:layout_gravity="center_horizontal" | ||
| android:layout_weight="1" | ||
| android:textSize="25dp" /> | ||
|
|
||
| <ImageView | ||
| android:layout_width="100dp" | ||
| android:layout_height="100dp" | ||
| android:id="@+id/avatarImage" | ||
| android:layout_gravity="center_horizontal" | ||
| android:src="@drawable/ic_logo_00" | ||
| android:layout_weight="1" /> | ||
|
|
||
| <Space | ||
| android:layout_width="20px" | ||
| android:layout_height="25dp" /> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="vertical" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:layout_weight="1"> | ||
|
|
||
| <EditText | ||
| android:layout_width="300dp" | ||
| android:layout_height="wrap_content" | ||
| android:id="@+id/teamNameField" | ||
| android:textAlignment="center" | ||
| android:layout_gravity="center_horizontal" | ||
| android:hint="(Please enter team name)" | ||
| android:onClick="onTeamOptionsEditName" | ||
| android:imeOptions="actionDone" | ||
| android:singleLine="true" | ||
| android:text="@string/teamName" /> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:text="Team Name" | ||
| android:id="@+id/teamNameTextField" | ||
| android:layout_gravity="center_horizontal" /> | ||
|
|
||
| <Space | ||
| android:layout_width="20px" | ||
| android:layout_height="25dp" /> | ||
|
|
||
| </LinearLayout> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="vertical" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:layout_weight="1"> | ||
|
|
||
| <EditText | ||
| android:layout_width="300dp" | ||
| android:layout_height="wrap_content" | ||
| android:id="@+id/teamAddressField" | ||
| android:textAlignment="center" | ||
| android:layout_gravity="center_horizontal" | ||
| android:hint="(Please enter a team location)" | ||
| android:onClick="onTeamOptionsEditAddress" | ||
| android:imeOptions="actionDone" | ||
| android:singleLine="true"/> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:text="Team Address" | ||
| android:id="@+id/teamAddressTextField" | ||
| android:layout_gravity="center_horizontal" /> | ||
|
|
||
| <Space | ||
| android:layout_width="match_parent" | ||
| android:layout_height="25dp" | ||
| android:layout_gravity="right" /> | ||
| </LinearLayout> | ||
|
|
||
| </LinearLayout> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="horizontal" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:layout_marginTop="74dp" | ||
| android:layout_below="@+id/linearLayout5" | ||
| android:layout_alignParentLeft="true" | ||
| android:layout_alignParentStart="true"> | ||
|
|
||
| <Button | ||
| android:layout_width="0dp" | ||
| android:layout_height="wrap_content" | ||
| android:text="Save Team" | ||
| android:id="@+id/saveTeam" | ||
| android:layout_gravity="center_horizontal" | ||
| android:layout_weight="1" | ||
| android:onClick="onTeamOptionsSave" | ||
| android:background="#3F51B5" /> | ||
|
|
||
| <Button | ||
| android:layout_width="0dp" | ||
| android:layout_height="wrap_content" | ||
| android:text="Delete Team" | ||
| android:id="@+id/deleteTeam" | ||
| android:layout_weight="1" | ||
| android:background="#f9403d" /> | ||
| </LinearLayout> | ||
| </RelativeLayout> |
| @@ -0,0 +1,118 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" | ||
| android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" | ||
| android:paddingRight="@dimen/activity_horizontal_margin" | ||
| android:paddingTop="@dimen/activity_vertical_margin" | ||
| android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".TournamentOptions"> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="vertical" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:layout_alignParentBottom="true" | ||
| android:layout_alignParentRight="true" | ||
| android:layout_alignParentEnd="true" | ||
| android:layout_alignParentTop="true" | ||
| android:layout_alignParentLeft="true" | ||
| android:layout_alignParentStart="true" | ||
| android:weightSum="1" | ||
| android:id="@+id/linearLayout"> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="vertical" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="wrap_content"> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:text="Please Choose a Tournament Style" | ||
| android:id="@+id/styleLabel" | ||
| android:layout_gravity="center_horizontal" /> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="horizontal" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="wrap_content" | ||
| android:layout_gravity="center_horizontal"> | ||
|
|
||
| <Spinner | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:id="@+id/spinnerTO" | ||
| android:spinnerMode="dialog" | ||
| android:dropDownSelector="#db1818" | ||
| android:text="Tournament Style"/> | ||
| </LinearLayout> | ||
|
|
||
| </LinearLayout> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="vertical" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="fill_parent" | ||
| android:weightSum="1" | ||
| android:layout_weight="1"> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:text="Please Select a Team " | ||
| android:id="@+id/teamSelection" | ||
| android:layout_gravity="center_horizontal" /> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="horizontal" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="wrap_content" | ||
| android:layout_weight="0.86"> | ||
|
|
||
| <ListView | ||
| android:layout_width="fill_parent" | ||
| android:layout_height="fill_parent" | ||
| android:id="@+id/listView" /> | ||
| </LinearLayout> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="horizontal" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="wrap_content" | ||
| android:layout_gravity="center_horizontal" | ||
| android:layout_weight="0.05"> | ||
|
|
||
| <Button | ||
| style="?android:attr/buttonStyleSmall" | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="fill_parent" | ||
| android:text="Add Team" | ||
| android:layout_weight="1" | ||
| android:id="@+id/addTeam" | ||
| android:onClick="onAddTeamTournamentOpt" /> | ||
|
|
||
| </LinearLayout> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="horizontal" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="wrap_content" | ||
| android:gravity="bottom" | ||
| android:layout_weight="0.12"> | ||
|
|
||
| <Button | ||
| style="?android:attr/buttonStyleSmall" | ||
| android:layout_width="fill_parent" | ||
| android:layout_height="fill_parent" | ||
| android:text="Save" | ||
| android:id="@+id/saveEdit" | ||
| android:layout_weight="1" | ||
| android:background="#3F51B5" | ||
| android:textColor="#ffffff" | ||
| android:onClick="onSaveTournamentOpt" /> | ||
| </LinearLayout> | ||
|
|
||
| </LinearLayout> | ||
|
|
||
| </LinearLayout> | ||
|
|
||
| </RelativeLayout> |
| @@ -0,0 +1,99 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" | ||
| android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" | ||
| android:paddingRight="@dimen/activity_horizontal_margin" | ||
| android:paddingTop="@dimen/activity_vertical_margin" | ||
| android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".TournamentOptions"> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="vertical" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:layout_alignParentRight="true" | ||
| android:layout_alignParentEnd="true" | ||
| android:layout_alignParentTop="true" | ||
| android:layout_alignParentLeft="true" | ||
| android:layout_alignParentStart="true" | ||
| android:weightSum="1" | ||
| android:id="@+id/linearLayout"> | ||
|
|
||
| <TextView | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:text="Tournament Match List" | ||
| android:id="@+id/tournamentSelection" | ||
| android:layout_gravity="center_horizontal" /> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="vertical" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="wrap_content"> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="horizontal" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="0dp" | ||
| android:layout_gravity="center_horizontal" | ||
| android:layout_weight="0.1"> | ||
|
|
||
| <Button | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:text="Edit Score" | ||
| android:layout_weight="1" | ||
| android:id="@+id/editScore" | ||
| android:onClick="onEditScoreTournamentView" /> | ||
|
|
||
| <Button | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:text="Edit Tournament" | ||
| android:id="@+id/deleteTournament" | ||
| android:layout_weight="1" | ||
| android:onClick="onEditTournamentTournamentView" /> | ||
|
|
||
| </LinearLayout> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="horizontal" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent"> | ||
|
|
||
| <Button | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:text="@string/viewScoreboard" | ||
| android:id="@+id/button3" | ||
| android:layout_weight="1" | ||
| android:onClick="onViewScoreboardTournamentView" /> | ||
|
|
||
| <Button | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:text="@string/startTournament" | ||
| android:id="@+id/button2" | ||
| android:layout_weight="1" | ||
| android:onClick="onStartTournamentTournamentView" /> | ||
| </LinearLayout> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="vertical" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="0dp" | ||
| android:layout_weight="0.90" | ||
| android:weightSum="1"> | ||
|
|
||
| <ListView | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:id="@+id/listView2" /> | ||
|
|
||
| </LinearLayout> | ||
|
|
||
| </LinearLayout> | ||
|
|
||
|
|
||
| </LinearLayout> | ||
|
|
||
| </RelativeLayout> |
| @@ -0,0 +1,120 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" | ||
| android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" | ||
| android:paddingRight="@dimen/activity_horizontal_margin" | ||
| android:paddingTop="@dimen/activity_vertical_margin" | ||
| android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainPage"> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="horizontal" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="fill_parent" | ||
| android:layout_alignParentBottom="true" | ||
| android:id="@+id/linearLayout" | ||
| android:layout_below="@+id/linearLayout2"> | ||
|
|
||
| <LinearLayout | ||
| android:layout_width="175dp" | ||
| android:layout_height="match_parent" | ||
| android:weightSum="1" | ||
| android:orientation="vertical" | ||
| android:layout_weight="1"> | ||
|
|
||
| <Button | ||
| android:layout_width="match_parent" | ||
| android:layout_height="0dp" | ||
| android:text="View Tournament" | ||
| android:id="@+id/viewTournamentButton" | ||
| android:layout_weight="0.25" | ||
| android:clickable="true" | ||
| android:onClick="onTournamentView" | ||
| android:background="#4c65d5" /> | ||
|
|
||
| <Space | ||
| android:layout_width="20px" | ||
| android:layout_height="20px" /> | ||
|
|
||
| <Button | ||
| android:layout_width="match_parent" | ||
| android:layout_height="0dp" | ||
| android:text="@string/newTournament" | ||
| android:id="@+id/addTournamentButton" | ||
| android:layout_weight="0.25" | ||
| android:clickable="true" | ||
| android:onClick="onCreateNewTournament" | ||
| android:background="#41AE5D" /> | ||
|
|
||
| <Space | ||
| android:layout_width="20px" | ||
| android:layout_height="20px" /> | ||
|
|
||
| <Button | ||
| android:layout_width="match_parent" | ||
| android:layout_height="0dp" | ||
| android:text="New Quick Tournament" | ||
| android:id="@+id/addQuickTournamentButton" | ||
| android:layout_weight="0.25" | ||
| android:clickable="true" | ||
| android:onClick="onAddQuickTournament" | ||
| android:background="#EF6C00" /> | ||
|
|
||
| <Space | ||
| android:layout_width="20px" | ||
| android:layout_height="20px" /> | ||
|
|
||
| <Button | ||
| android:layout_width="match_parent" | ||
| android:layout_height="0dp" | ||
| android:id="@+id/removeTournamentButton" | ||
| android:text="Delete Tournament" | ||
| android:layout_weight="0.25" | ||
| android:clickable="true" | ||
| android:onClick="MPonDeleteTournament" | ||
| android:background="#f9403d" /> | ||
| </LinearLayout> | ||
|
|
||
| </LinearLayout> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="horizontal" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="55dp" | ||
| android:layout_alignParentLeft="true" | ||
| android:layout_alignParentStart="true" | ||
| android:id="@+id/linearLayout2" | ||
| android:layout_alignParentTop="true"> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="vertical" | ||
| android:layout_width="250dp" | ||
| android:layout_height="match_parent" | ||
| android:weightSum="1"> | ||
|
|
||
| <TextView | ||
| android:layout_width="224dp" | ||
| android:layout_height="0dp" | ||
| android:textAppearance="?android:attr/textAppearanceLarge" | ||
| android:text="Main Menu" | ||
| android:id="@+id/textViewMainMenu" | ||
| android:layout_weight="0.77" /> | ||
| </LinearLayout> | ||
|
|
||
| <LinearLayout | ||
| android:orientation="vertical" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent"> | ||
|
|
||
| <Button | ||
| style="?android:attr/buttonStyleSmall" | ||
| android:layout_width="wrap_content" | ||
| android:layout_height="wrap_content" | ||
| android:text="Help / Info" | ||
| android:id="@+id/infoButton" | ||
| android:clickable="true" | ||
| android:onClick="MPonHelpButton" | ||
| android:layout_gravity="right" /> | ||
| </LinearLayout> | ||
| </LinearLayout> | ||
|
|
||
| </RelativeLayout> |
| @@ -0,0 +1,15 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| xmlns:app="http://schemas.android.com/apk/res-auto" | ||
| xmlns:tools="http://schemas.android.com/tools" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:paddingBottom="@dimen/activity_vertical_margin" | ||
| android:paddingLeft="@dimen/activity_horizontal_margin" | ||
| android:paddingRight="@dimen/activity_horizontal_margin" | ||
| android:paddingTop="@dimen/activity_vertical_margin" | ||
| app:layout_behavior="@string/appbar_scrolling_view_behavior" | ||
| tools:context="com.uottawa.tournamentmaker.QuickStart" | ||
| tools:showIn="@layout/activity_quick_start"> | ||
|
|
||
| </RelativeLayout> |
| @@ -0,0 +1,15 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| xmlns:app="http://schemas.android.com/apk/res-auto" | ||
| xmlns:tools="http://schemas.android.com/tools" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:paddingBottom="@dimen/activity_vertical_margin" | ||
| android:paddingLeft="@dimen/activity_horizontal_margin" | ||
| android:paddingRight="@dimen/activity_horizontal_margin" | ||
| android:paddingTop="@dimen/activity_vertical_margin" | ||
| app:layout_behavior="@string/appbar_scrolling_view_behavior" | ||
| tools:context="com.uottawa.tournamentmaker.Scoreboard" | ||
| tools:showIn="@layout/activity_scoreboard"> | ||
|
|
||
| </RelativeLayout> |
| @@ -0,0 +1,15 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| xmlns:app="http://schemas.android.com/apk/res-auto" | ||
| xmlns:tools="http://schemas.android.com/tools" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:paddingBottom="@dimen/activity_vertical_margin" | ||
| android:paddingLeft="@dimen/activity_horizontal_margin" | ||
| android:paddingRight="@dimen/activity_horizontal_margin" | ||
| android:paddingTop="@dimen/activity_vertical_margin" | ||
| app:layout_behavior="@string/appbar_scrolling_view_behavior" | ||
| tools:context="com.uottawa.tournamentmaker.TeamOptions" | ||
| tools:showIn="@layout/activity_team_options"> | ||
|
|
||
| </RelativeLayout> |
| @@ -0,0 +1,15 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| xmlns:app="http://schemas.android.com/apk/res-auto" | ||
| xmlns:tools="http://schemas.android.com/tools" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:paddingBottom="@dimen/activity_vertical_margin" | ||
| android:paddingLeft="@dimen/activity_horizontal_margin" | ||
| android:paddingRight="@dimen/activity_horizontal_margin" | ||
| android:paddingTop="@dimen/activity_vertical_margin" | ||
| app:layout_behavior="@string/appbar_scrolling_view_behavior" | ||
| tools:context="com.uottawa.tournamentmaker.TournamentOptions" | ||
| tools:showIn="@layout/activity_tournament_options"> | ||
|
|
||
| </RelativeLayout> |
| @@ -0,0 +1,15 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| xmlns:app="http://schemas.android.com/apk/res-auto" | ||
| xmlns:tools="http://schemas.android.com/tools" | ||
| android:layout_width="match_parent" | ||
| android:layout_height="match_parent" | ||
| android:paddingBottom="@dimen/activity_vertical_margin" | ||
| android:paddingLeft="@dimen/activity_horizontal_margin" | ||
| android:paddingRight="@dimen/activity_horizontal_margin" | ||
| android:paddingTop="@dimen/activity_vertical_margin" | ||
| app:layout_behavior="@string/appbar_scrolling_view_behavior" | ||
| tools:context="com.uottawa.tournamentmaker.TournamentView" | ||
| tools:showIn="@layout/activity_tournament_view"> | ||
|
|
||
| </RelativeLayout> |
| @@ -0,0 +1,10 @@ | ||
| <menu xmlns:android="http://schemas.android.com/apk/res/android" | ||
| xmlns:app="http://schemas.android.com/apk/res-auto" | ||
| xmlns:tools="http://schemas.android.com/tools" | ||
| tools:context="com.uottawa.tournamentmaker.MainPage"> | ||
| <item | ||
| android:id="@+id/action_settings" | ||
| android:orderInCategory="100" | ||
| android:title="@string/action_settings" | ||
| app:showAsAction="never" /> | ||
| </menu> |
| @@ -0,0 +1,9 @@ | ||
| <resources>> | ||
|
|
||
| <style name="AppTheme.NoActionBar"> | ||
| <item name="windowActionBar">false</item> | ||
| <item name="windowNoTitle">true</item> | ||
| <item name="android:windowDrawsSystemBarBackgrounds">true</item> | ||
| <item name="android:statusBarColor">@android:color/transparent</item> | ||
| </style> | ||
| </resources> |
| @@ -0,0 +1,6 @@ | ||
| <resources> | ||
| <!-- Example customization of dimensions originally defined in res/values/dimens.xml | ||
| (such as screen margins) for screens with more than 820dp of available width. This | ||
| would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). --> | ||
| <dimen name="activity_horizontal_margin">64dp</dimen> | ||
| </resources> |
| @@ -0,0 +1,6 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <resources> | ||
| <color name="colorPrimary">#3F51B5</color> | ||
| <color name="colorPrimaryDark">#303F9F</color> | ||
| <color name="colorAccent">#FF4081</color> | ||
| </resources> |
| @@ -0,0 +1,6 @@ | ||
| <resources> | ||
| <!-- Default screen margins, per the Android Design guidelines. --> | ||
| <dimen name="activity_horizontal_margin">16dp</dimen> | ||
| <dimen name="activity_vertical_margin">16dp</dimen> | ||
| <dimen name="fab_margin">16dp</dimen> | ||
| </resources> |
| @@ -0,0 +1,24 @@ | ||
| <resources> | ||
| <string name="app_name">Tournament Maker</string> | ||
| <string name="action_settings">Settings</string> | ||
| <string name="title_activity_quick_start">Quick Start</string> | ||
| <string name="title_activity_tournament_options">Tournament Options</string> | ||
| <string name="title_activity_scoreboard">Scoreboard</string> | ||
| <string name="title_activity_team_options">Team Options</string> | ||
| <string name="title_activity_tournament_view">Tournament View</string> | ||
| <string name="roundRobin">Round Robin</string> | ||
| <string name="knockoutStyle">Knockout</string> | ||
| <string name="combination">Combination</string> | ||
| <string name="startTournament">Start Tournament</string> | ||
| <string name="viewScoreboard">View Scoreboard</string> | ||
| <string name="newTournament">New Tournament</string> | ||
| <string name="teamA">Team A</string> | ||
| <string name="teamB">Team B</string> | ||
| <string name="longStringHelpPage" /> | ||
| <string name="teamName" /> | ||
| <string-array name="tournament_type"> | ||
| <item>Round Robin</item> | ||
| <item>Knockout</item> | ||
| <item>Combination</item> | ||
| </string-array> | ||
| </resources> |
| @@ -0,0 +1,20 @@ | ||
| <resources> | ||
|
|
||
| <!-- Base application theme. --> | ||
| <style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> | ||
| <!-- Customize your theme here. --> | ||
| <item name="colorPrimary">@color/colorPrimary</item> | ||
| <item name="colorPrimaryDark">@color/colorPrimaryDark</item> | ||
| <item name="colorAccent">@color/colorAccent</item> | ||
| </style> | ||
|
|
||
| <style name="AppTheme.NoActionBar"> | ||
| <item name="windowActionBar">false</item> | ||
| <item name="windowNoTitle">true</item> | ||
| </style> | ||
|
|
||
| <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> | ||
|
|
||
| <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> | ||
|
|
||
| </resources> |
| @@ -0,0 +1,15 @@ | ||
| package com.uottawa.tournamentmaker; | ||
|
|
||
| import org.junit.Test; | ||
|
|
||
| import static org.junit.Assert.*; | ||
|
|
||
| /** | ||
| * To work on unit tests, switch the Test Artifact in the Build Variants view. | ||
| */ | ||
| public class ExampleUnitTest { | ||
| @Test | ||
| public void addition_isCorrect() throws Exception { | ||
| assertEquals(4, 2 + 2); | ||
| } | ||
| } |
| @@ -0,0 +1,23 @@ | ||
| // Top-level build file where you can add configuration options common to all sub-projects/modules. | ||
|
|
||
| buildscript { | ||
| repositories { | ||
| jcenter() | ||
| } | ||
| dependencies { | ||
| classpath 'com.android.tools.build:gradle:1.5.0' | ||
|
|
||
| // NOTE: Do not place your application dependencies here; they belong | ||
| // in the individual module build.gradle files | ||
| } | ||
| } | ||
|
|
||
| allprojects { | ||
| repositories { | ||
| jcenter() | ||
| } | ||
| } | ||
|
|
||
| task clean(type: Delete) { | ||
| delete rootProject.buildDir | ||
| } |
| @@ -0,0 +1,18 @@ | ||
| # Project-wide Gradle settings. | ||
|
|
||
| # IDE (e.g. Android Studio) users: | ||
| # Gradle settings configured through the IDE *will override* | ||
| # any settings specified in this file. | ||
|
|
||
| # For more details on how to configure your build environment visit | ||
| # http://www.gradle.org/docs/current/userguide/build_environment.html | ||
|
|
||
| # Specifies the JVM arguments used for the daemon process. | ||
| # The setting is particularly useful for tweaking memory settings. | ||
| # Default value: -Xmx10248m -XX:MaxPermSize=256m | ||
| # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 | ||
|
|
||
| # When configured, Gradle will run in incubating parallel mode. | ||
| # This option should only be used with decoupled projects. More details, visit | ||
| # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects | ||
| # org.gradle.parallel=true |
| @@ -0,0 +1,6 @@ | ||
| #Wed Oct 21 11:34:03 PDT 2015 | ||
| distributionBase=GRADLE_USER_HOME | ||
| distributionPath=wrapper/dists | ||
| zipStoreBase=GRADLE_USER_HOME | ||
| zipStorePath=wrapper/dists | ||
| distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip |
| @@ -0,0 +1,160 @@ | ||
| #!/usr/bin/env bash | ||
|
|
||
| ############################################################################## | ||
| ## | ||
| ## Gradle start up script for UN*X | ||
| ## | ||
| ############################################################################## | ||
|
|
||
| # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | ||
| DEFAULT_JVM_OPTS="" | ||
|
|
||
| APP_NAME="Gradle" | ||
| APP_BASE_NAME=`basename "$0"` | ||
|
|
||
| # Use the maximum available, or set MAX_FD != -1 to use that value. | ||
| MAX_FD="maximum" | ||
|
|
||
| warn ( ) { | ||
| echo "$*" | ||
| } | ||
|
|
||
| die ( ) { | ||
| echo | ||
| echo "$*" | ||
| echo | ||
| exit 1 | ||
| } | ||
|
|
||
| # OS specific support (must be 'true' or 'false'). | ||
| cygwin=false | ||
| msys=false | ||
| darwin=false | ||
| case "`uname`" in | ||
| CYGWIN* ) | ||
| cygwin=true | ||
| ;; | ||
| Darwin* ) | ||
| darwin=true | ||
| ;; | ||
| MINGW* ) | ||
| msys=true | ||
| ;; | ||
| esac | ||
|
|
||
| # Attempt to set APP_HOME | ||
| # Resolve links: $0 may be a link | ||
| PRG="$0" | ||
| # Need this for relative symlinks. | ||
| while [ -h "$PRG" ] ; do | ||
| ls=`ls -ld "$PRG"` | ||
| link=`expr "$ls" : '.*-> \(.*\)$'` | ||
| if expr "$link" : '/.*' > /dev/null; then | ||
| PRG="$link" | ||
| else | ||
| PRG=`dirname "$PRG"`"/$link" | ||
| fi | ||
| done | ||
| SAVED="`pwd`" | ||
| cd "`dirname \"$PRG\"`/" >/dev/null | ||
| APP_HOME="`pwd -P`" | ||
| cd "$SAVED" >/dev/null | ||
|
|
||
| CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar | ||
|
|
||
| # Determine the Java command to use to start the JVM. | ||
| if [ -n "$JAVA_HOME" ] ; then | ||
| if [ -x "$JAVA_HOME/jre/sh/java" ] ; then | ||
| # IBM's JDK on AIX uses strange locations for the executables | ||
| JAVACMD="$JAVA_HOME/jre/sh/java" | ||
| else | ||
| JAVACMD="$JAVA_HOME/bin/java" | ||
| fi | ||
| if [ ! -x "$JAVACMD" ] ; then | ||
| die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME | ||
| Please set the JAVA_HOME variable in your environment to match the | ||
| location of your Java installation." | ||
| fi | ||
| else | ||
| JAVACMD="java" | ||
| which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | ||
| Please set the JAVA_HOME variable in your environment to match the | ||
| location of your Java installation." | ||
| fi | ||
|
|
||
| # Increase the maximum file descriptors if we can. | ||
| if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then | ||
| MAX_FD_LIMIT=`ulimit -H -n` | ||
| if [ $? -eq 0 ] ; then | ||
| if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then | ||
| MAX_FD="$MAX_FD_LIMIT" | ||
| fi | ||
| ulimit -n $MAX_FD | ||
| if [ $? -ne 0 ] ; then | ||
| warn "Could not set maximum file descriptor limit: $MAX_FD" | ||
| fi | ||
| else | ||
| warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" | ||
| fi | ||
| fi | ||
|
|
||
| # For Darwin, add options to specify how the application appears in the dock | ||
| if $darwin; then | ||
| GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" | ||
| fi | ||
|
|
||
| # For Cygwin, switch paths to Windows format before running java | ||
| if $cygwin ; then | ||
| APP_HOME=`cygpath --path --mixed "$APP_HOME"` | ||
| CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` | ||
| JAVACMD=`cygpath --unix "$JAVACMD"` | ||
|
|
||
| # We build the pattern for arguments to be converted via cygpath | ||
| ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` | ||
| SEP="" | ||
| for dir in $ROOTDIRSRAW ; do | ||
| ROOTDIRS="$ROOTDIRS$SEP$dir" | ||
| SEP="|" | ||
| done | ||
| OURCYGPATTERN="(^($ROOTDIRS))" | ||
| # Add a user-defined pattern to the cygpath arguments | ||
| if [ "$GRADLE_CYGPATTERN" != "" ] ; then | ||
| OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" | ||
| fi | ||
| # Now convert the arguments - kludge to limit ourselves to /bin/sh | ||
| i=0 | ||
| for arg in "$@" ; do | ||
| CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` | ||
| CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option | ||
|
|
||
| if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition | ||
| eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` | ||
| else | ||
| eval `echo args$i`="\"$arg\"" | ||
| fi | ||
| i=$((i+1)) | ||
| done | ||
| case $i in | ||
| (0) set -- ;; | ||
| (1) set -- "$args0" ;; | ||
| (2) set -- "$args0" "$args1" ;; | ||
| (3) set -- "$args0" "$args1" "$args2" ;; | ||
| (4) set -- "$args0" "$args1" "$args2" "$args3" ;; | ||
| (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; | ||
| (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; | ||
| (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; | ||
| (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; | ||
| (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; | ||
| esac | ||
| fi | ||
|
|
||
| # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules | ||
| function splitJvmOpts() { | ||
| JVM_OPTS=("$@") | ||
| } | ||
| eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS | ||
| JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" | ||
|
|
||
| exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" |
| @@ -0,0 +1,90 @@ | ||
| @if "%DEBUG%" == "" @echo off | ||
| @rem ########################################################################## | ||
| @rem | ||
| @rem Gradle startup script for Windows | ||
| @rem | ||
| @rem ########################################################################## | ||
|
|
||
| @rem Set local scope for the variables with windows NT shell | ||
| if "%OS%"=="Windows_NT" setlocal | ||
|
|
||
| @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | ||
| set DEFAULT_JVM_OPTS= | ||
|
|
||
| set DIRNAME=%~dp0 | ||
| if "%DIRNAME%" == "" set DIRNAME=. | ||
| set APP_BASE_NAME=%~n0 | ||
| set APP_HOME=%DIRNAME% | ||
|
|
||
| @rem Find java.exe | ||
| if defined JAVA_HOME goto findJavaFromJavaHome | ||
|
|
||
| set JAVA_EXE=java.exe | ||
| %JAVA_EXE% -version >NUL 2>&1 | ||
| if "%ERRORLEVEL%" == "0" goto init | ||
|
|
||
| echo. | ||
| echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | ||
| echo. | ||
| echo Please set the JAVA_HOME variable in your environment to match the | ||
| echo location of your Java installation. | ||
|
|
||
| goto fail | ||
|
|
||
| :findJavaFromJavaHome | ||
| set JAVA_HOME=%JAVA_HOME:"=% | ||
| set JAVA_EXE=%JAVA_HOME%/bin/java.exe | ||
|
|
||
| if exist "%JAVA_EXE%" goto init | ||
|
|
||
| echo. | ||
| echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% | ||
| echo. | ||
| echo Please set the JAVA_HOME variable in your environment to match the | ||
| echo location of your Java installation. | ||
|
|
||
| goto fail | ||
|
|
||
| :init | ||
| @rem Get command-line arguments, handling Windowz variants | ||
|
|
||
| if not "%OS%" == "Windows_NT" goto win9xME_args | ||
| if "%@eval[2+2]" == "4" goto 4NT_args | ||
|
|
||
| :win9xME_args | ||
| @rem Slurp the command line arguments. | ||
| set CMD_LINE_ARGS= | ||
| set _SKIP=2 | ||
|
|
||
| :win9xME_args_slurp | ||
| if "x%~1" == "x" goto execute | ||
|
|
||
| set CMD_LINE_ARGS=%* | ||
| goto execute | ||
|
|
||
| :4NT_args | ||
| @rem Get arguments from the 4NT Shell from JP Software | ||
| set CMD_LINE_ARGS=%$ | ||
|
|
||
| :execute | ||
| @rem Setup the command line | ||
|
|
||
| set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar | ||
|
|
||
| @rem Execute Gradle | ||
| "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% | ||
|
|
||
| :end | ||
| @rem End local scope for the variables with windows NT shell | ||
| if "%ERRORLEVEL%"=="0" goto mainEnd | ||
|
|
||
| :fail | ||
| rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of | ||
| rem the _cmd.exe /c_ return code! | ||
| if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 | ||
| exit /b 1 | ||
|
|
||
| :mainEnd | ||
| if "%OS%"=="Windows_NT" endlocal | ||
|
|
||
| :omega |
| @@ -0,0 +1 @@ | ||
| include ':app', ':helppage' |