Skip to content

Instantly share code, notes, and snippets.

@Redrield
Created March 29, 2017 20:40
Show Gist options
  • Save Redrield/35e3f5909551d01ea6afc8a66559bb91 to your computer and use it in GitHub Desktop.
Save Redrield/35e3f5909551d01ea6afc8a66559bb91 to your computer and use it in GitHub Desktop.
linearLayout {
this.orientation = LinearLayout.VERTICAL
weightSum = 1f
scrollView {
gridLayout {
columnCount = 2
alignmentMode = GridLayout.ALIGN_BOUNDS
// Pre game
textView {
text = "Team number"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
teamNumber = editText {
text = pref.getInt("TEAM_NUMBER", 0).toString().toEditable()
inputType = InputType.TYPE_CLASS_PHONE
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Colour"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
colour = spinner {
val mAdapter = ArrayAdapter.createFromResource(this@ConfirmationActivity, R.array.team_colour_selection, android.R.layout.simple_spinner_item)
mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
adapter = mAdapter
setSelection(mAdapter.getPosition(pref.getString("COLOUR", "")))
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Match number"
inputType = InputType.TYPE_CLASS_PHONE
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
matchNumber = editText {
text = pref.getInt("MATCH_NUMBER", 1).toString().toEditable()
inputType = InputType.TYPE_CLASS_PHONE
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Starting Location"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
startingLocation = spinner {
val mAdapter = ArrayAdapter.createFromResource(this@ConfirmationActivity, R.array.starting_location_selection, android.R.layout.simple_spinner_item)
mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
adapter = mAdapter
setSelection(mAdapter.getPosition(pref.getString("STARTING_LOCATION", "")))
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Autonomous High Goal"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
autoHighGoal = editText {
text = pref.getInt("AUTO_HIGH_GOAL", 0).toString().toEditable()
inputType = InputType.TYPE_CLASS_PHONE
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Autonomous Low Goal"
}.lparams {
setGravity(Gravity.START)
marginEnd = dip(20)
}
autoLowGoal = editText {
text = pref.getInt("AUTO_LOW_GOAL", 0).toString().toEditable()
inputType = InputType.TYPE_CLASS_PHONE
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Delivered Gear (Autonomous)"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
autoDeliveredGear = checkBox {
isChecked = pref.getBoolean("AUTO_DELIVERED_GEAR", false)
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Crossed baseline"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
autoCrossBaseline = checkBox {
isChecked = pref.getBoolean("AUTO_CROSS_BASELINE", false)
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Activates hoppers (Autonomous)"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
autoActivatesHoppers = checkBox {
isChecked = pref.getBoolean("AUTO_ACTIVATES_HOPPERS", false)
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Teleoperated High goal"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
teleHighGoal = editText {
text = pref.getInt("TELE_HIGH_GOAL", 0).toString().toEditable()
inputType = InputType.TYPE_CLASS_PHONE
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Teleoperated Low Goal"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
teleLowGoal = editText {
text = pref.getInt("TELE_LOW_GOAL", 0).toString().toEditable()
inputType = InputType.TYPE_CLASS_PHONE
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Accuracy"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
accuracy = spinner {
val mAdapter = ArrayAdapter.createFromResource(this@ConfirmationActivity, R.array.accuracy_selection, android.R.layout.simple_spinner_item)
mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
adapter = mAdapter
setSelection(mAdapter.getPosition(pref.getString("ACCURACY", "80-100%")))
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Fuel off floor"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
fuelOffFloor = checkBox {
isChecked = pref.getBoolean("FUEL_OFF_FLOOR", false)
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Holding Capacity"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
holdingCapacity = spinner {
val mAdapter = ArrayAdapter.createFromResource(this@ConfirmationActivity, R.array.holding_capacity_selection, android.R.layout.simple_spinner_item)
mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
adapter = mAdapter
setSelection(mAdapter.getPosition(pref.getString("HOLDING_CAPACITY", "")))
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Climbs"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
climbs = checkBox {
isChecked = pref.getBoolean("CLIMBS", false)
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Rope grabbing efficency"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
climbingEfficiency = spinner {
val mAdapter = ArrayAdapter.createFromResource(this@ConfirmationActivity, R.array.grab_rope_selection, android.R.layout.simple_spinner_item)
mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
adapter = mAdapter
setSelection(mAdapter.getPosition(pref.getString("ROPE_GRABBING_EFFICIENCY", "")))
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Triggers touchpad"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
triggersTouchpad = checkBox {
isChecked = pref.getBoolean("TRIGGERS_TOUCHPAD", false)
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Holds on touchpad"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
holdsOnTouchpad = checkBox {
isChecked = pref.getBoolean("HOLDS_ON_TOUCHPAD", false)
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Time taken to trigger"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
timeTakenToTrigger = editText {
text = pref.getInt("TIME_TAKEN_TO_TRIGGER", 0).toString().toEditable()
inputType = InputType.TYPE_CLASS_PHONE
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Number of gears delivered"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
numberOfGearsDelivered = editText {
text = pref.getInt("NUMBER_OF_GEARS_DELIVERED", 0).toString().toEditable()
inputType = InputType.TYPE_CLASS_PHONE
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Number of gear cycles"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
gearCycles = editText {
text = pref.getInt("NUMBER_OF_CYCLES", 0).toString().toEditable()
inputType = InputType.TYPE_CLASS_PHONE
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Can pick up gears off floor"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
gearsOffFloor = checkBox {
isChecked = pref.getBoolean("GEARS_OFF_FLOOR", false)
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Time taken to load gear"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
timeTakenToLoad = spinner {
val mAdapter = ArrayAdapter.createFromResource(this@ConfirmationActivity, R.array.speed_selection, android.R.layout.simple_spinner_item)
mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
adapter = mAdapter
setSelection(mAdapter.getPosition(pref.getString("TIME_TAKEN_TO_LOAD", "")))
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Time taken to place gear"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
timeTakenToPlace = spinner {
val mAdapter = ArrayAdapter.createFromResource(this@ConfirmationActivity, R.array.speed_selection, android.R.layout.simple_spinner_item)
mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
adapter = mAdapter
setSelection(mAdapter.getPosition(pref.getString("TIME_TAKEN_TO_PLACE", "")))
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Defends"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
defends = checkBox {
isChecked = pref.getBoolean("DEFENDS", false)
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Defence efficiency"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
defenceEfficiency = spinner {
val mAdapter = ArrayAdapter.createFromResource(this@ConfirmationActivity, R.array.defence_efficiency_selection, android.R.layout.simple_spinner_item)
mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
adapter = mAdapter
setSelection(mAdapter.getPosition(pref.getString("DEFENCE_EFFICIENCY", "")))
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Number of penalties caused"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
penaltiesCaused = editText {
text = pref.getInt("PENALTIES_CAUSED", 0).toString().toEditable()
inputType = InputType.TYPE_CLASS_PHONE
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Robot speed"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
robotSpeed = spinner {
val mAdapter = ArrayAdapter.createFromResource(this@ConfirmationActivity, R.array.speed_selection, android.R.layout.simple_spinner_item)
mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
adapter = mAdapter
setSelection(mAdapter.getPosition(pref.getString("MOVEMENT_SPEED", "")))
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
textView {
text = "Robot control"
}.lparams {
setGravity(Gravity.START)
marginStart = dip(20)
}
robotControl = spinner {
val mAdapter = ArrayAdapter.createFromResource(this@ConfirmationActivity, R.array.robot_control_selection, android.R.layout.simple_spinner_item)
mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
adapter = mAdapter
setSelection(mAdapter.getPosition(pref.getString("ROBOT_CONTROL", "")))
}.lparams {
setGravity(Gravity.END)
marginEnd = dip(20)
}
}.lparams(width = matchParent)
}.lparams {
weight = 1f
}
button {
setText(R.string.button_text_submit)
onClick {
val tele = Teleoperated(lowGoalScored = teleLowGoal.text.toString().toIntOrNull() ?: 0,
highGoalScored = teleHighGoal.text.toString().toIntOrNull() ?: 0, accuracy = accuracy.selectedItem as String,
canPickUpFuel = fuelOffFloor.isChecked, climbs = climbs.isChecked, control = robotControl.selectedItem as String,
defends = defends.isChecked, efficiency = defenceEfficiency.selectedItem as String,
gearsOffFloor = gearsOffFloor.isChecked, holdOnTouchpad = holdsOnTouchpad.isChecked,
impressions = pref.getString("IMPRESSIONS", ""), movementSpeed = robotSpeed.selectedItem as String,
numberOfCycles = gearCycles.text.toString().toIntOrNull() ?: 0, numberOfGearsDelivered = numberOfGearsDelivered.text.toString().toIntOrNull() ?: 0,
penaltiesCaused = penaltiesCaused.text.toString().toIntOrNull() ?: 0, recommendation = pref.getInt("RECOMMENDATION", 0),
ropeGrabbing = climbingEfficiency.selectedItem as String, timeTakenToLoad = timeTakenToLoad.selectedItem as String,
timeTakenToPlace = timeTakenToPlace.selectedItem as String, timeTakenToTrigger = timeTakenToTrigger.text.toString().toIntOrNull() ?: 0,
triggerTouchpad = triggersTouchpad.isChecked, holdingCapacity = holdingCapacity.selectedItem as String)
val autonomous = Autonomous(startingLocation = startingLocation.selectedItem as String, lowGoalScored = autoLowGoal.text.toString().toIntOrNull() ?: 0,
highGoalScored = autoHighGoal.text.toString().toIntOrNull() ?: 0, activatesHoppers = autoActivatesHoppers.isChecked,
deliveredGear = autoDeliveredGear.isChecked, canCrossBaseline = autoCrossBaseline.isChecked)
val preGame = PreGame(teamNumber.text.toString().toIntOrNull() ?: 0, matchNumber.text.toString().toIntOrNull() ?: 0, colour.selectedItem as String)
val team = ScoutedTeam(preGame, autonomous, tele)
val gson = GsonBuilder().serializeNulls().create()
val json = gson.fromJson(gson.toJson(team), JsonElement::class.java)
val arrFile = File(applicationContext.filesDir, "completed.json")
if (arrFile.exists()) {
val arr = gson.fromJson(InputStreamReader(FileInputStream(arrFile)), JsonArray::class.java)
arr.add(json)
arrFile.delete()
arrFile.createNewFile()
arrFile.writeText(gson.toJson(arr))
} else {
arrFile.createNewFile()
val arr = JsonArray()
arr.add(json)
arrFile.writeText(gson.toJson(arr))
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment