package com.piglet.ui;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.piglet.R;
import com.piglet.dao.impl.ConnectionInfoDao;
import com.piglet.dao.pojo.ConnectionInfo;
import com.piglet.utils.Constant;
import com.piglet.utils.MysqlUtils;
import com.umeng.analytics.MobclickAgent;
public class EditConnectionActivity extends Activity {
public static final int RESULT_CODE_CONN = 1;
private EditText nameInput;
private EditText hostInput;
private EditText portInput;
private EditText dbnameInput;
private EditText usernameInput;
private EditText passwordInput;
private ConnectionInfoDao dao;
private ConnectionInfo info;
/**
* Called when the activity is first created.
*
* @param savedInstanceState
* If the activity is being re-initialized after previously being
* shut down then this Bundle contains the data it most recently
* supplied in onSaveInstanceState(Bundle). <b>Note: Otherwise it
* is null.</b>
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_conn);
String name = getIntent().getStringExtra(Constant.key.CONNECTION_INFO_NAME);
dao = new ConnectionInfoDao();
info = dao.findById(name);
if (info == null) {
Toast.makeText(getApplicationContext(), R.string.unknown_err, Toast.LENGTH_LONG).show();
back();
}
nameInput = (EditText) findViewById(R.id.name);
nameInput.setEnabled(false);
nameInput.setText(name);
hostInput = (EditText) findViewById(R.id.host);
hostInput.setText(info.getHost());
portInput = (EditText) findViewById(R.id.port);
portInput.setText(info.getPort() + "");
dbnameInput = (EditText) findViewById(R.id.db);
dbnameInput.setText(info.getDbname());
usernameInput = (EditText) findViewById(R.id.user);
usernameInput.setText(info.getUsername());
passwordInput = (EditText) findViewById(R.id.password);
passwordInput.setText(info.getPassword());
Button btn = (Button) findViewById(R.id.add_btn);
btn.setText(R.string.edit);
btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String host = hostInput.getText().toString();
int port = Integer.valueOf(portInput.getText().toString());
String dbname = dbnameInput.getText().toString();
String username = usernameInput.getText().toString();
String password = passwordInput.getText().toString();
if (MysqlUtils.checkHost(host) && MysqlUtils.checkDbName(dbname) && MysqlUtils.checkUserName(username) && MysqlUtils.checkPassword(password)) {
info.setHost(host);
info.setPort(port);
info.setUsername(username);
info.setPassword(password);
info.setDbname(dbname);
dao.update(info);
Toast.makeText(getApplicationContext(), R.string.update_conn_succ, Toast.LENGTH_LONG).show();
back();
} else {
Toast.makeText(getApplicationContext(), R.string.illegal_conn_info, Toast.LENGTH_LONG).show();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(com.piglet.R.menu.main, menu);
return true;
}
private void back() {
setResult(RESULT_CODE_CONN);
finish();
}
public void onResume() {
super.onResume();
MobclickAgent.onResume(this);
}
public void onPause() {
super.onPause();
MobclickAgent.onPause(this);
}
}