Skip to content

Instantly share code, notes, and snippets.

@rommac100
Created December 5, 2017 02:44
Show Gist options
  • Select an option

  • Save rommac100/b5431c5b660bf68bf02f22595bad3ef4 to your computer and use it in GitHub Desktop.

Select an option

Save rommac100/b5431c5b660bf68bf02f22595bad3ef4 to your computer and use it in GitHub Desktop.
AutoOptions with alliance member
package org.firstinspires.ftc.robotcontroller.internal;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.preference.EditTextPreference;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import com.qualcomm.ftcrobotcontroller.R;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* Autonomous Options - Related to additonal functionality added to RC - Distance, red or blue alliance
*/
public class Autonomous_Options extends Activity implements AdapterView.OnItemSelectedListener {
SharedPreferences internalPreferences;
EditText distance;
TextView distance_text;
Spinner alliance_colour_selector;
ArrayAdapter<String> alliance_colour_adapter;
List<String> alliance_colour_list = new ArrayList<>();
EditText alliance_colour_edit;
String alliance_colour;
Spinner knockball_selector;
ArrayAdapter<String> knockball_adapter;
List<String> knockball_list = new ArrayList<>();
EditText knockball_edit;
String knockball_str;
Spinner alliance_member_spin;
ArrayAdapter<String> alliance_member_adapter;
List<String> alliance_member_list = new ArrayList<>();
int alliance_member_int;
Spinner team_spin;
ArrayAdapter<String> team_spin_adapter;
List<String> team_list = new ArrayList<>();
String team_str;
Button btn_save;
double distance_val;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.autonomous_menu);
internalPreferences = this.getSharedPreferences("org.firstinspires.ftc.robotcontroller", Context.MODE_PRIVATE);
//open_settings();
MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.startup_windows);
mp.start();
alliance_member_list.add("1");
alliance_member_list.add("2");
alliance_colour_list.add("Red");
alliance_colour_list.add("Blue");
knockball_list.add("Yes");
knockball_list.add("No");
team_list.add("7840");
team_list.add("3666");
setupAllianceSelector();
setupAllianceMemberSpinner();
setupDistance();
setupKnockball();
btn_save = (Button) findViewById(R.id.save_btn);
}
public void saveAndExit(View v)
{
//commit changes
internalPreferences.edit().putFloat("Distance Travel", ((float) distance_val)).commit();
internalPreferences.edit().putString("Alliance Colour", alliance_colour).commit();
internalPreferences.edit().putString("Knock Ball", knockball_str).commit();
internalPreferences.edit().putInt("Alliance Member", alliance_member_int).commit();
save_settings();
MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.startup_windows);
mp.start();
finish();
}
public void setupTeamSpinner()
{
team_spin = (Spinner) findViewById(R.id.team_spinner);
team_spin_adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, team_list);
team_spin_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
team_spin.setAdapter(team_spin_adapter);
team_spin.setOnItemSelectedListener(this);
team_spin.setSelection(team_spin_adapter.getPosition(internalPreferences.getString("Team","")));
}
public void setupAllianceMemberSpinner()
{
alliance_member_spin = (Spinner) findViewById(R.id.alliance_member_spinner);
alliance_member_adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, alliance_member_list);
alliance_member_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
alliance_member_spin.setAdapter(alliance_member_adapter);
alliance_member_spin.setOnItemSelectedListener(this);
alliance_member_spin.setSelection(alliance_member_adapter.getPosition(Integer.toString(internalPreferences.getInt("Alliance Member",0))));
}
public void setupAllianceSelector()
{
alliance_colour_selector = (Spinner) findViewById(R.id.alliance_selector);
alliance_colour_adapter = new ArrayAdapter<>(this,android.R.layout.simple_spinner_item, alliance_colour_list);
alliance_colour_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
alliance_colour_selector.setAdapter(alliance_colour_adapter);
alliance_colour_selector.setOnItemSelectedListener(this);
alliance_colour_selector.setSelection(alliance_colour_adapter.getPosition(internalPreferences.getString("Alliance Colour","")));
}
public void setupDistance()
{
distance = (EditText) findViewById(R.id.dist_value);
distance_text = (TextView) findViewById(R.id.dist_name);
}
public void setupKnockball()
{
knockball_selector = (Spinner) findViewById(R.id.knockball_spinner);
knockball_adapter = new ArrayAdapter<>(this,android.R.layout.simple_spinner_item, knockball_list);
knockball_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
knockball_selector.setAdapter(knockball_adapter);
knockball_selector.setOnItemSelectedListener(this);
knockball_selector.setSelection(knockball_adapter.getPosition(internalPreferences.getString("Knock Ball","")));
}
@Deprecated
public void updateSettingsFromPrefs()
{
Log.i("CREATION","I am in the updatePrefs");
internalPreferences.getString("Alliance Colour", alliance_colour);
if (alliance_colour != null) {
if (alliance_colour.equals("Red")) {
alliance_colour_selector.setSelection(0);
} else if (alliance_colour.equals("Blue")) {
alliance_colour_selector.setSelection(1);
}
}
internalPreferences.getFloat("Distance Travel",(float) distance_val);
Log.i("CREATION","Distance Val"+ distance_val);
if (distance_val !=0)
{
Log.i("CREATION","I am in the updatePrefs-Distance");
distance.setText(Double.toString(distance_val));
}
}
public void save_settings() {
//Merge Changes
SharedPreferences globalPrefs = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = globalPrefs.edit();
editor.putFloat("Distance Travel", ((float) distance_val));
editor.putString("Alliance Colour", internalPreferences.getString("Alliance Colour",""));
editor.putString("Knock Ball", internalPreferences.getString("Knock Ball",""));
editor.putInt("Alliance Member", internalPreferences.getInt("Alliance Member",0));
editor.apply();
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (parent.getId() == R.id.alliance_selector)
{
alliance_colour = parent.getItemAtPosition(position).toString();
}
if (parent.getId() == R.id.knockball_spinner)
{
knockball_str = parent.getItemAtPosition(position).toString();
}
if (parent.getId() == R.id.alliance_member_spinner)
{
alliance_member_int = Integer.parseInt(parent.getItemAtPosition(position).toString());
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment