package tw.gov.tfri.sensorpodconfig;
import java.io.File;
import java.io.IOException;
import org.cleos.android.ntl.utils.Configurator;
//import tw.gov.tfri.XPathParser;
//import tw.gov.tfri.MainActivity.SaveButtonListener;
//import com.example.test3.R;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
public class SensorPodConfig_Activity extends Activity {
public static EditText editRemoteDT_IP;
public static EditText editRemoteDT_port;
public static EditText editSiteName;
public static EditText editUart1;
public static Button buttonSave;
public static Spinner spinnerUart1;
public static String DEFAULT_REMOTEDT_IP = "192.168.168.168";
public static String DEFAULT_REMOTEDT_PORT = "3333";
public static String DEFAULT_SITENAME = "TEST";
public static String DEFAULT_UART1 = "V";
public static File configPath = new File("/mnt/sdcard/SensorPodConfig");
public static File configFile = new File(configPath + "/" + "SensorPodConfig.xml");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sensor_pod_config_activity);
editRemoteDT_IP = (EditText)findViewById(R.id.editRemoteDT_IP);
editRemoteDT_port = (EditText)findViewById(R.id.editRemoteDT_port);
editSiteName = (EditText)findViewById(R.id.editSiteName);
editUart1 = (EditText)findViewById(R.id.editUart1);
spinnerUart1 = (Spinner) findViewById(R.id.spinnerUart1);
// Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.arrayUart1, 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
spinnerUart1.setAdapter(adapter);
spinnerUart1.setOnItemSelectedListener(new SpinnerActivity());
buttonSave = (Button)findViewById(R.id.buttonSave);
buttonSave.setOnClickListener(new SaveButtonListener());
//
if(!(configFile.exists())){
editRemoteDT_IP.setText(DEFAULT_REMOTEDT_IP);
editRemoteDT_port.setText(DEFAULT_REMOTEDT_PORT);
editSiteName.setText(DEFAULT_SITENAME);
editUart1.setText(DEFAULT_UART1);
CreateConfigFile cf = new CreateConfigFile();
cf.createConfigFile(configPath, configFile, DEFAULT_REMOTEDT_IP, DEFAULT_REMOTEDT_PORT, DEFAULT_SITENAME, DEFAULT_UART1);
}else{
if(configFile.exists()){
//Toast.makeText(this, "Config File Exists", Toast.LENGTH_LONG).show();
XPathParser g = new XPathParser();
//get remoteDT_IP
try {
editRemoteDT_IP.setText(g.getDdataFromXML(configFile, "//config//remoteDT_IP"));
} catch (Exception e) {
// TODO Auto-generated catch block
Toast.makeText(this, "IP ERROR", Toast.LENGTH_LONG).show();
e.printStackTrace();
}
//get remoteDT_port
try {
editRemoteDT_port.setText(g.getDdataFromXML(configFile, "//config//remoteDT_port"));
} catch (Exception e) {
// TODO Auto-generated catch block
Toast.makeText(this, "PORT ERROR", Toast.LENGTH_LONG).show();
e.printStackTrace();
}
//get siteName
try {
editSiteName.setText(g.getDdataFromXML(configFile, "//config//siteName"));
} catch (Exception e){
// TODO Auto-generated catch block
Toast.makeText(this, "SITENAME ERROR", Toast.LENGTH_LONG).show();
e.printStackTrace();
}
//get Uart1Rx
try {
editUart1.setText(g.getDdataFromXML(configFile, "//config//uart1"));
String check = g.getDdataFromXML(configFile, "//config//uart1");
switch (check.charAt(0)) {
case 'v':
spinnerUart1.setSelection(0);
break;
case 'c':
spinnerUart1.setSelection(1);
break;
}
}
catch (Exception e){
// TODO Auto-generated catch block
Toast.makeText(this, "UART1RX ERROR", Toast.LENGTH_LONG).show();
e.printStackTrace();
}
}
}
}//onCreate
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.sensor_pod_config, menu);
return true;
}
public class SpinnerActivity extends Activity implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
if(pos == 0)
editUart1.setText("v");
else if(pos == 1)
editUart1.setText("c");
}
public void onNothingSelected(AdapterView<?> parent) {
// Another interface callback
}
}
public class SaveButtonListener implements OnClickListener{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
CreateConfigFile cf = new CreateConfigFile();
try {
cf.saveXML(
configFile,
editRemoteDT_IP.getText().toString(),
editRemoteDT_port.getText().toString(),
editSiteName.getText().toString(),
editUart1.getText().toString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}//SaveButtonListener
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
}
}