public class Config extends Activity implements onconfigconexao {
private Configuracoes confi;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.config);
lerconfig();
ativarTabs();
}
private void ativarTabs() {
ConfigConexao fragConexao = new ConfigConexao();
Bundle b = new Bundle();
b.putSerializable("configuracoes", confi);
fragConexao.setArguments(b);
ConfigComunicacao fragComunicacao = new ConfigComunicacao();
/* Adiciona os fragments */
FragmentManager fm = getFragmentManager();
FragmentTransaction t = fm.beginTransaction();
t.add(R.id.lay_config, fragConexao, "fragComunicacao");
t.add(R.id.lay_config, fragComunicacao, "fragComunicacao");
t.commit();
/* Ativa a navegacao por tabs */
ActionBar bar = getActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
;
/* Ativa o icone da home */
bar.setDisplayHomeAsUpEnabled(true);
/* Cria as tabls */
Tab conexao = bar.newTab();
conexao.setText("Conexão");
conexao.setTabListener(new NavegacaoTabListener(R.id.lay_config,fragConexao));
bar.addTab(conexao);
Tab comunicacao = bar.newTab();
comunicacao.setText("Comunicação");
comunicacao.setTabListener(new NavegacaoTabListener(R.id.lay_config,fragComunicacao));
bar.addTab(comunicacao);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuItem salvar = menu.add(0, 0, 0, "Salvar");
salvar.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
// salvar.setIcon(R.drawable.ic_sucesso);
MenuItem cancelar = menu.add(0, 1, 1, "Cancelar");
cancelar.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
// cancelar.setIcon(R.drawable.ic_error_envio);
return true;
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
switch (item.getItemId()) {
case 0:
if (confi != null) {
salvarconfig(confi);
AlertDialog.Builder aler = new AlertDialog.Builder(Config.this);
aler.setTitle("Informação");
aler.setMessage("Configurações Salvar com sucesso!");
aler.setNegativeButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
finish();
}
});
AlertDialog bulder = aler.create();
bulder.show();
}
break;
case 1:
AlertDialog.Builder alerta = new AlertDialog.Builder(this);
alerta.setTitle("Atenção!");
alerta.setMessage("As configurações ainda não foram salvas. \n Deseja continuar?");
alerta.setPositiveButton("Sim",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
finish();
}
});
alerta.setNegativeButton("Não",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog alert = alerta.create();
alert.show();
break;
}
return true;
}
public void salvarconfig(Configuracoes c) {
SharedPreferences sp = getSharedPreferences(
Salva_Preferences.PREFERENCES_NAME, MODE_PRIVATE);
SharedPreferences.Editor edt = sp.edit();
/* Conexão */
edt.putString("host", c.getHost());
Log.d("Config - Salvarconfig","Valor do host informado " + String.valueOf(c.getHost()));
edt.putInt("port", c.getPortaHost());
Log.d("Config - Salvarconfig","Porta informada " + String.valueOf(c.getPortaHost()));
edt.putInt("connect", c.getConexao());
Log.d("Config - Salvarconfig","Tipo de conexao informada " + String.valueOf(c.getConexao()));
/* Confirma a gravaçao */
edt.commit();
}
public void lerconfig() {
confi = new Configuracoes();
if (confi != null) {
SharedPreferences sp = getSharedPreferences(
Salva_Preferences.PREFERENCES_NAME, MODE_PRIVATE);
/* Conexão */
/* recupera tipo de conexao */
if (sp.getInt("connect", -1) == 0) {
confi.setConexao(0);
} else if (sp.getInt("connect", -1) == 1) {
confi.setConexao(1);
} else {
confi.setConexao(-1);
}
/* fim da recuperaçao do tipo de conexao */
/* Recupera o host */
confi.setHost(sp.getString("host", ""));
/* Recupera a porta de conexao */
confi.setPortaHost(sp.getInt("port", 0));
}
}
@Override
public void onResultConexao(Configuracoes configuracoes) {
confi.setHost(configuracoes.getHost());
Log.d("Config - onResultConexao","Valor do host informado " + String.valueOf(confi.getHost()));
confi.setPortaHost(configuracoes.getPortaHost());
Log.d("Config - onResultConexao","Porta informada " + String.valueOf(confi.getPortaHost()));
confi.setConexao(configuracoes.getConexao());
Log.d("Config - onResultConexao","Tipo de conexao informada " + String.valueOf(configuracoes.getConexao()));
}
}