Android Open Source - ReqDroid Tela Hipotese Detalhada Activity






From Project

Back to project page ReqDroid.

License

The source code is released under:

GNU General Public License

If you think the Android project ReqDroid listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Este arquivo esta sujeito aos termos e condicoes definidos
 * no arquivo 'LICENSE.txt, o qual e parte deste pacote de codigo fonte.
 *//*from   w w w  . j  a v a 2  s . co m*/

package com.vrs.reqdroid.activities;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.NumberPicker;
import android.widget.TextView;
import com.vrs.reqdroid.R;
import com.vrs.reqdroid.dao.BDGerenciador;
import com.vrs.reqdroid.fragments.HipotesesFragment;
import com.vrs.reqdroid.util.HipotesesUtils;
import com.vrs.reqdroid.util.ProjetoUtils;

/**
 * Implementa a tela de hipotese detalhada.
 *
 * @author Vinicius Rodrigues Silva <vinicius.rodsilva@gmail.com>
 * @version 1.0
 */
public class TelaHipoteseDetalhadaActivity extends ActionBarActivity {

    private TextView descricaoHipoteseTV;
    private TextView dataTV;
    private TextView versaoTV;
    private TextView autorTV;
    private TextView titulo;
    private int versaoHipotese;
    private int subversaoHipotese;

    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.hipotese_detalhada);
        recebeHipotese();
        editaHipotese();
        removeHipotese();
        validaHipotese();
        editaAutorHipotese();
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }

    /**
     * Carrega a descricaoHipoteseTV selecionado na lista de hipoteses atraves do banco de dados do aplicativo.
     */
    void recebeHipotese()
    {
        String descricaoHipotese = HipotesesFragment.getHipoteseSelecionada();
        int idProjeto = ProjetoUtils.getIdProjeto();
        String dataHipotese;
        String autorHipotese;

        descricaoHipoteseTV = (TextView)findViewById(R.id.textohipotesedetalhada);
        descricaoHipoteseTV.setText(descricaoHipotese);

        dataTV = (TextView)findViewById(R.id.campoDataHipotese);
        dataHipotese = BDGerenciador.getInstance(this).selectDataHipotese(descricaoHipotese, idProjeto);
        dataTV.setText(dataHipotese);

        versaoTV = (TextView)findViewById(R.id.campoVersaoHipotese);
        versaoHipotese = BDGerenciador.getInstance(this).selectVersaoHipotese(descricaoHipotese, idProjeto);
        subversaoHipotese = BDGerenciador.getInstance(this).selectSubversaoHipotese(descricaoHipotese, idProjeto);
        versaoTV.setText(versaoHipotese + "." + subversaoHipotese);

        autorTV = (EditText)findViewById(R.id.campoAutorHipotese);
        autorHipotese = BDGerenciador.getInstance(this).selectAutorHipotese(descricaoHipotese, idProjeto);
        autorTV.setText(autorHipotese);
    }

    /**
     * Edita a descricaoHipoteseTV ao clicar no botao "Editar".
     */
    void editaHipotese()
    {
        Button bEditarHipotese = (Button)findViewById(R.id.botaoEditarHipotese);

        bEditarHipotese.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v) {
                exibeJanelaEditarHipotese();
            }
        });
    }

    /**
     * Edita o autorTV da descricaoHipoteseTV.
     */
    private void editaAutorHipotese()
    {
        autorTV.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
                editaAutorHipoteseBD(descricaoHipoteseTV.getText().toString(), autorTV.getText().toString());
            }

            @Override
            public void afterTextChanged(Editable editable) {

            }
        });
    }

    /**
     * Remove a descricaoHipoteseTV da lista e do banco de dados do aplicativo.
     */
    void removeHipotese()
    {
        Button bRemoverHipotese = (Button)findViewById(R.id.botaoRemoverHipotese);
        final AlertDialog.Builder alertBoxConfirmaExclusao = new AlertDialog.Builder(this);

        bRemoverHipotese.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v) {
                alertBoxConfirmaExclusao.setTitle(R.string.alert_remover_hipotese_titulo);
                alertBoxConfirmaExclusao.setMessage(R.string.alert_remover_hipotese_msg);
                alertBoxConfirmaExclusao.setPositiveButton(R.string.alert_sim, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                        String hipotese = HipotesesFragment.getHipoteseSelecionada();
                        HipotesesFragment.atualizaListaRemovido(HipotesesFragment.getPosicaoHipoteseSelecionada());
                        HipotesesUtils.removeHipoteseBD(TelaHipoteseDetalhadaActivity.this, hipotese,
                                ProjetoUtils.getIdProjeto());
                        finish();
                    }
                });
                alertBoxConfirmaExclusao.setNegativeButton(R.string.alert_cancelar, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                    }
                });
                alertBoxConfirmaExclusao.show();
            }
        });
    }

    /**
     * Valida a descricaoHipoteseTV movendo-a para a lista de requisitos do aplicativo.
     */
    void validaHipotese()
    {
        Button bValidarHipotese = (Button)findViewById(R.id.botaoValidarHipotese);
        final AlertDialog.Builder alertbox = new AlertDialog.Builder(this);

        bValidarHipotese.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v) {
                alertbox.setTitle(R.string.alert_validar_hipotese_titulo);
                alertbox.setMessage(R.string.alert_validar_hipotese_msg);
                alertbox.setPositiveButton(R.string.alert_sim, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                        String hipotese = HipotesesFragment.getHipoteseSelecionada();
                        HipotesesFragment.atualizaListaRemovido(HipotesesFragment.getPosicaoHipoteseSelecionada());
                        HipotesesUtils.removeHipoteseBD(TelaHipoteseDetalhadaActivity.this, hipotese,
                                ProjetoUtils.getIdProjeto());
                        HipotesesUtils.validaHipoteseBD(TelaHipoteseDetalhadaActivity.this, hipotese, dataTV.getText().toString(),
                                versaoHipotese, subversaoHipotese, autorTV.getText().toString(), ProjetoUtils.getIdProjeto());
                        finish();
                    }
                });
                alertbox.setNegativeButton(R.string.alert_cancelar, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                    }
                });
                alertbox.show();
            }
        });
    }

    /**
     * Exibe a janela para editar a descricao da descricaoHipoteseTV.
     */
    void exibeJanelaEditarHipotese()
    {
        final AlertDialog.Builder alert = new AlertDialog.Builder(this);
        alert.setTitle(R.string.alert_editar_hipotese);
        LayoutInflater inflater = getLayoutInflater();
        LinearLayout layoutEditar = (LinearLayout)inflater.inflate(R.layout.alert_editar, null);

        final EditText entrada = (EditText) layoutEditar.findViewById(R.id.descricao_item);
        final NumberPicker npVersao = (NumberPicker) layoutEditar.findViewById(R.id.versao_item);
        final NumberPicker npSubversao = (NumberPicker) layoutEditar.findViewById(R.id.subversao_item);
        npVersao.setMinValue(1);
        npVersao.setMaxValue(10);
        npSubversao.setMinValue(0);
        npSubversao.setMaxValue(9);

        entrada.setText(descricaoHipoteseTV.getText().toString());
        npVersao.setValue(versaoHipotese);
        npSubversao.setValue(subversaoHipotese);
        final String descricaoAtual = entrada.getText().toString();

        alert.setView(layoutEditar);
        alert.create();

        alert.setPositiveButton(R.string.alert_salvar, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                if (!entrada.getText().toString().equals(""))
                {
                    HipotesesUtils.editaHipotese(TelaHipoteseDetalhadaActivity.this, descricaoAtual, entrada.getText().toString(),
                                                 npVersao.getValue(), npSubversao.getValue(),
                                                 HipotesesFragment.getPosicaoHipoteseSelecionada(), ProjetoUtils.getIdProjeto());
                    descricaoHipoteseTV.setText(entrada.getText());
                    versaoTV.setText(npVersao.getValue() + "." + npSubversao.getValue());
                }
            }
        });

        alert.setNegativeButton(R.string.alert_cancelar, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
            }
        });
        alert.show();
    }


    /**
     * Atualiza o autorTV da descricaoHipoteseTV no banco de dados do aplicativo.
     *
     * @param descricaoAtual A descricao atual da descricaoHipoteseTV
     * @param autorNovo O novo autorTV da descricaoHipoteseTV
     */
    void editaAutorHipoteseBD(String descricaoAtual, String autorNovo)
    {
        int idHipotese = BDGerenciador.getInstance(this).selectHipotesePorDescricao(descricaoAtual,
                                                                                     ProjetoUtils.getIdProjeto());
        BDGerenciador.getInstance(this).updateAutorHipotese(idHipotese, autorNovo);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu_aplicativo, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.menusobre:
                Intent i = new Intent(TelaHipoteseDetalhadaActivity.this, TelaSobreActivity.class);
                startActivity(i);
                break;
        }
        return super.onOptionsItemSelected(item);
    }
}




Java Source Code List

com.vrs.reqdroid.activities.DrawerPrincipalActivity.java
com.vrs.reqdroid.activities.MainActivity.java
com.vrs.reqdroid.activities.TelaAbrirProjetoActivity.java
com.vrs.reqdroid.activities.TelaEditarEscopoActivity.java
com.vrs.reqdroid.activities.TelaEscopoActivity.java
com.vrs.reqdroid.activities.TelaHipoteseDetalhadaActivity.java
com.vrs.reqdroid.activities.TelaNovoProjetoActivity.java
com.vrs.reqdroid.activities.TelaPrincipalActivity.java
com.vrs.reqdroid.activities.TelaRequisitoAtrasadoDetalhadoActivity.java
com.vrs.reqdroid.activities.TelaRequisitoDetalhadoActivity.java
com.vrs.reqdroid.activities.TelaSobreActivity.java
com.vrs.reqdroid.dao.BDGerenciador.java
com.vrs.reqdroid.dao.IOperacoesBD.java
com.vrs.reqdroid.fragments.CaracteristicasUsuarioFragment.java
com.vrs.reqdroid.fragments.DependenciasFragment.java
com.vrs.reqdroid.fragments.HipotesesEDependenciasFragment.java
com.vrs.reqdroid.fragments.HipotesesFragment.java
com.vrs.reqdroid.fragments.ProjetosListFragment.java
com.vrs.reqdroid.fragments.RequisitosAtrasadosFragment.java
com.vrs.reqdroid.fragments.RequisitosFragment.java
com.vrs.reqdroid.models.Dependencia.java
com.vrs.reqdroid.models.Projeto.java
com.vrs.reqdroid.util.AlertsUtil.java
com.vrs.reqdroid.util.DependenciasUtils.java
com.vrs.reqdroid.util.DrawerPrincipalAdapter.java
com.vrs.reqdroid.util.HipotesesUtils.java
com.vrs.reqdroid.util.IRequisito.java
com.vrs.reqdroid.util.ListViewDependenciasAdapter.java
com.vrs.reqdroid.util.ListViewHipotesesAdapter.java
com.vrs.reqdroid.util.ListViewProjetosAdapter.java
com.vrs.reqdroid.util.ListViewRequisitosAdapter.java
com.vrs.reqdroid.util.ListViewRequisitosAtrasadosAdapter.java
com.vrs.reqdroid.util.ProjetoUtils.java
com.vrs.reqdroid.util.RequisitosAtrasadosUtils.java
com.vrs.reqdroid.util.RequisitosUtils.java