--- /dev/null
+package com.example.lede2;\r
+\r
+import android.app.ProgressDialog;\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.os.Bundle;\r
+import android.support.design.widget.Snackbar;\r
+import android.support.v7.app.AppCompatActivity;\r
+import android.util.Log;\r
+import android.view.View;\r
+import android.view.inputmethod.InputMethodManager;\r
+import android.widget.AdapterView;\r
+import android.widget.ArrayAdapter;\r
+import android.widget.Button;\r
+import android.widget.Spinner;\r
+\r
+import java.io.File;\r
+import java.io.FileInputStream;\r
+import java.io.IOException;\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+import java.util.Properties;\r
+\r
+/**\r
+ * Created by Brian on 2/16/2018.\r
+ */\r
+\r
+public class DriversSelectActivity extends AppCompatActivity implements View.OnClickListener, View.OnFocusChangeListener {\r
+ Spinner typeSpinner;\r
+ Button doneButton;\r
+ Properties prop;\r
+ ProgressDialog dialog;\r
+\r
+\r
+ protected void onCreate(Bundle savedInstanceState) {\r
+ super.onCreate(savedInstanceState);\r
+ setContentView(R.layout.drivers);\r
+ SSH_MySQL getListOfDrivers = new SSH_MySQL();\r
+ typeSpinner = (Spinner) findViewById(R.id.spinnerDrivers);\r
+ doneButton = (Button) findViewById(R.id.doneDrivers);\r
+ String getListOfDriversCommand = this.getString(R.string.getListOfDriversCommand);\r
+ List<String> results = new ArrayList<>();\r
+ String driversListFilename = this.getString(R.string.driversListFilename);\r
+\r
+ //get list of all driver types\r
+ try {\r
+ getListOfDrivers.execute(getListOfDriversCommand);\r
+ Thread.sleep(1000);//To execute asyntask in ssh object, we have to sleep main thread\r
+ results = getListOfDrivers.getResultLines();\r
+ while(results.size() == 0){\r
+ Thread.sleep(500);\r
+ results = getListOfDrivers.getResultLines();\r
+ }\r
+ System.out.println(results);\r
+ } catch (Exception e) {\r
+ Log.d("Sleep exception", "exception at getSetsAndRelations");\r
+ }\r
+\r
+ addSSHResultsToConfig(results, driversListFilename);\r
+ System.out.println("read from file: " + ConfigFileIO.readFromFile(driversListFilename, this));\r
+ prop = new Properties();\r
+ File file = new File(getApplicationContext().getFilesDir(), driversListFilename);\r
+ FileInputStream fis = null;\r
+ try{\r
+ fis = new FileInputStream(file);\r
+ prop.load(fis);\r
+ fis.close();\r
+ }\r
+ catch (IOException ex){\r
+ System.out.println("Error when reading drivers list file ");\r
+ ex.printStackTrace();\r
+ }\r
+\r
+ ArrayList driverTypeList = new ArrayList();\r
+ //add sets relations to the relation hashmap\r
+ int numFields = Integer.parseInt(prop.getProperty("FIELD_NUMBER"));\r
+ for(int i = 0; i < numFields; i++){\r
+ driverTypeList.add(prop.getProperty("FIELD_" + i));\r
+ }\r
+ ArrayAdapter typeAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, driverTypeList);\r
+ typeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);\r
+ typeSpinner.setAdapter(typeAdapter);\r
+\r
+\r
+ typeSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {\r
+ @Override\r
+ public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {\r
+ }\r
+\r
+ @Override\r
+ public void onNothingSelected(AdapterView<?> adapterView) {\r
+\r
+ }\r
+ });\r
+ doneButton.setOnClickListener(this);\r
+\r
+ }\r
+\r
+ @Override\r
+ public void onClick(View view) {\r
+ if (view == doneButton) {\r
+ dialog = new ProgressDialog(this);\r
+ dialog.setMessage("Please Wait");\r
+ dialog.setCancelable(false);\r
+ dialog.setInverseBackgroundForced(false);\r
+ dialog.show();\r
+\r
+ Log.d("CLICKING", "Clicking on done button!");\r
+ //determine the where to cat based on user selection and go to next screen\r
+ //looks at config file for the command based on the user selection\r
+ String userSelection = typeSpinner.getSelectedItem().toString();\r
+ String fromProperty = prop.getProperty(userSelection);\r
+ String command2 = prop.getProperty("COMMAND_PREFIX") + fromProperty;\r
+ Intent i = new Intent(this, DriversAddActivity.class);\r
+ i.putExtra("getConfigCommand", command2);\r
+ startActivity(i);\r
+ finish();\r
+ }\r
+\r
+ }\r
+ @Override\r
+ protected void onStop() {\r
+ super.onStop();\r
+ if(dialog != null && dialog.isShowing()){\r
+ dialog.dismiss();\r
+ }\r
+ }\r
+\r
+\r
+\r
+ public void onFocusChange(View view, boolean hasFocus) {\r
+ InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);\r
+ if (hasFocus) {\r
+ imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);\r
+ } else {\r
+ imm.hideSoftInputFromWindow(view.getWindowToken(), 0);\r
+ }\r
+ }\r
+\r
+ protected void addSSHResultsToConfig(List<String> results, String filename) {\r
+ ConfigFileIO.writeToNewFile(filename,"", this );\r
+ File dir = getFilesDir();\r
+ File file = new File(dir, filename);\r
+ file.delete();\r
+ for (int i = 0; i < results.size(); i++) {\r
+ ConfigFileIO.writeToFile(filename, results.get(i), this);\r
+ }\r
+ }\r
+}
\ No newline at end of file