diff --git a/app/src/main/java/fieldscience/cs/earlham/edu/fieldday/BenchSampleActivity.java b/app/src/main/java/fieldscience/cs/earlham/edu/fieldday/BenchSampleActivity.java new file mode 100644 index 0000000000000000000000000000000000000000..47511950683e9def042082647d2713a65eb563a8 --- /dev/null +++ b/app/src/main/java/fieldscience/cs/earlham/edu/fieldday/BenchSampleActivity.java @@ -0,0 +1,160 @@ +package fieldscience.cs.earlham.edu.fieldday; + + +import android.app.Activity; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.EditText; +import android.widget.Spinner; + +import java.util.List; +import java.util.ArrayList; + +public class BenchSampleActivity extends Activity { + + Spinner siteSpinner, sectorSpinner, spotSpinner, platformSpinner, sensorSpinner; + EditText sensorValue, sensorQuality, readingNotes; + ReadingsDatabase db; + String site, sector, spot, platform, sensor; + boolean remote_db; + List<String> siteList, sectorList, spotList, platformList, sensorList; + public static final String REMOTE_DB = "Remote DB Connected"; + + @Override + protected void onCreate(Bundle savedInstanceState){ + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_benchsample); + + db = ReadingsDatabase.getInstance(this); + + siteList = new ArrayList<>(); + sectorList = new ArrayList<>(); + spotList = new ArrayList<>(); + platformList = new ArrayList<>(); + sensorList = new ArrayList<>(); + + remote_db = getIntent().getBooleanExtra(REMOTE_DB, false); + if (remote_db){ + siteList = db.getSites(null); + } + siteList.add(0, "Site"); + siteSpinner = (Spinner) findViewById(R.id.selectSite); + final ArrayAdapter<String> siteAdapter = new ArrayAdapter<>(this, + android.R.layout.simple_spinner_item, siteList); + siteAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + siteSpinner.setAdapter(siteAdapter); + + sectorSpinner = (Spinner) findViewById(R.id.selectSector); + sectorList.add(0, "Sector"); + final ArrayAdapter<String> sectorAdapter = new ArrayAdapter<>(this, + android.R.layout.simple_spinner_item, sectorList); + sectorAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + sectorSpinner.setAdapter(sectorAdapter); + + spotSpinner = (Spinner) findViewById(R.id.selectSpot); + spotList.add(0, "Spot"); + final ArrayAdapter<String> spotAdapter = new ArrayAdapter<>(this, + android.R.layout.simple_spinner_item, spotList); + spotAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + spotSpinner.setAdapter(spotAdapter); + + platformSpinner = (Spinner) findViewById(R.id.selectPlatform); + platformList.add(0, "Platform"); + if (remote_db){ + platformList.addAll(db.getPlatforms()); + } + ArrayAdapter<String> platformAdapter = new ArrayAdapter<>(this, + android.R.layout.simple_spinner_item, platformList); + platformAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + platformSpinner.setAdapter(platformAdapter); + + sensorSpinner = (Spinner) findViewById(R.id.selectSensor); + sensorList.add(0, "Sensor"); + final ArrayAdapter<String> sensorAdapter = new ArrayAdapter<>(this, + android.R.layout.simple_spinner_item, sensorList); + sensorAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + sensorSpinner.setAdapter(sensorAdapter); + + siteSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { + if (position != 0) { + site = parent.getItemAtPosition(position).toString(); + sectorList.addAll(db.getSectors(site)); + if (siteList.get(0).equals("Site")) { + siteList.remove(0); + } + siteList.remove(0); + } + } + + @Override + public void onNothingSelected(AdapterView<?> parent) { + + } + }); + + sectorSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { + if (position != 0) { + sector = parent.getItemAtPosition(position).toString(); + spotList.addAll(db.getSpots(site, sector)); + if (sectorList.get(0).equals("Sector")) { + sectorList.remove(0); + } + } + } + + @Override + public void onNothingSelected(AdapterView<?> parent) { + + } + }); + + spotSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { + if (position != 0) { + spot = parent.getItemAtPosition(position).toString(); + if (spotList.get(0).equals("Spot")) { + spotList.remove(0); + } + } + } + + @Override + public void onNothingSelected(AdapterView<?> parent) { + + } + }); + + platformSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { + if (position != 0) { + platform = parent.getItemAtPosition(position).toString(); + sensorList = db.getSensors(platform); + if (platformList.get(0).equals("Platform")) { + platformList.remove(0); + } + } + } + + @Override + public void onNothingSelected(AdapterView<?> parent) { + + } + }); + + sensorValue = (EditText) findViewById(R.id.sensorValue); + sensorValue.requestFocus(); + sensorQuality = (EditText) findViewById(R.id.sensorQuality); + sensorQuality.requestFocus(); + readingNotes = (EditText) findViewById(R.id.readingNotes); + readingNotes.requestFocus(); + } +} diff --git a/app/src/main/res/layout/activity_benchsample.xml b/app/src/main/res/layout/activity_benchsample.xml new file mode 100644 index 0000000000000000000000000000000000000000..21eddea9f6042e58f9e59a5d44c1ef0eebcfa512 --- /dev/null +++ b/app/src/main/res/layout/activity_benchsample.xml @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="vertical"> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:id="@+id/siteSectorSpot" + android:layout_marginTop="10dp" + android:orientation="horizontal"> + <Spinner + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_weight="6" + android:id="@+id/selectSite" /> + <Spinner + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_weight="6" + android:id="@+id/selectSector" /> + <Spinner + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_weight="6" + android:id="@+id/selectSpot" /> + </LinearLayout> + <View + android:layout_width="wrap_content" + android:layout_height="3dp" + android:id="@+id/rule" + android:background="@color/dark_gray_blue" /> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:id="@+id/platformSensor" + android:layout_marginTop="10dp" + android:orientation="horizontal"> + <Spinner + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_weight="1" + android:id="@+id/selectPlatform" /> + <Spinner + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_weight="1" + android:id="@+id/selectSensor" /> + </LinearLayout> + <View + android:layout_width="wrap_content" + android:layout_height="3dp" + android:id="@+id/rule2" + android:background="@color/dark_gray_blue" /> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:id="@+id/sensorData" + android:layout_marginTop="10dp" + android:layout_marginBottom="10dp" + android:orientation="horizontal"> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="10dp" + android:textSize="18sp" + android:text="@string/sensorValue"/> + <EditText + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="2" + android:id="@+id/sensorValue" + android:textColorHint="@color/dark_gray_blue" + android:textColor="@color/dark_gray_blue" + android:textCursorDrawable="@null" + android:inputType="number" + android:singleLine="true" + android:layout_marginEnd="10dp"/> + <TextView + android:layout_width="wrap_content" + android:textSize="18sp" + android:layout_height="wrap_content" + android:text="@string/sensorQuality"/> + <EditText + android:layout_width="0dp" + android:layout_height="wrap_content" + android:id="@+id/sensorQuality" + android:textColorHint="@color/dark_gray_blue" + android:textColor="@color/dark_gray_blue" + android:textCursorDrawable="@null" + android:layout_weight="2" + android:singleLine="true" + android:inputType="number"/> + </LinearLayout> + <View + android:layout_width="wrap_content" + android:layout_height="3dp" + android:id="@+id/rule3" + android:background="@color/dark_gray_blue" /> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="vertical"> + <EditText + android:layout_width="match_parent" + android:layout_height="0dp" + android:id="@+id/readingNotes" + android:layout_weight="5" + android:gravity="top" + android:background="@android:color/transparent" + android:hint="@string/readingNotes" + android:layout_marginStart="10dp" + android:layout_marginTop="10dp"/> + <Button + android:layout_width="wrap_content" + android:layout_height="0dp" + android:layout_gravity="end" + android:text="@string/recordButton" + android:layout_weight="1"/> + </LinearLayout> +</LinearLayout> \ No newline at end of file