Android Open Source - ReqDroid Tela Requisito Atrasado Detalhado 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  ww  w  .  ja  va 2  s . c  o 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.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
import android.widget.TextView;
import com.vrs.reqdroid.R;
import com.vrs.reqdroid.dao.BDGerenciador;
import com.vrs.reqdroid.fragments.RequisitosAtrasadosFragment;
import com.vrs.reqdroid.util.ProjetoUtils;
import com.vrs.reqdroid.util.RequisitosAtrasadosUtils;
import com.vrs.reqdroid.util.RequisitosUtils;

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

    private TextView descricaoRequisitoTV;
    private TextView dataTV;
    private TextView versaoTV;
    private TextView autorTV;
    private TextView tituloTV;
    private RatingBar prioridadeTV;
    private int versaoRequisito;
    private int subversaoRequisito;

    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.requisito_detalhado);
        recebeRequisito();
        editaRequisito();
        removeRequisito();
        moveRequisito();
        atualizaPrioridade();
        editaAutorRequisito();
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }

    /**
     * Carrega o descricaoRequisitoTV selecionado na lista de requisitos atraves do banco de dados do aplicativo.
     */
    private void recebeRequisito()
    {
        String textoRequisito = RequisitosAtrasadosFragment.getRequisitoSelecionado();
        int idProjeto = ProjetoUtils.getIdProjeto();
        String dataRequisito;
        int prioridadeRequisito;
        String autorRequisito;
        int tituloRequisito;

        descricaoRequisitoTV = (TextView)findViewById(R.id.textoRequisitoDetalhado);
        descricaoRequisitoTV.setText(textoRequisito);

        dataTV = (TextView)findViewById(R.id.campoDataRequisito);
        dataRequisito = BDGerenciador.getInstance(this).selectDataRequisitoAtrasado(textoRequisito, idProjeto);
        dataTV.setText(dataRequisito);

        versaoTV = (TextView)findViewById(R.id.campoVersaoRequisito);
        versaoRequisito = BDGerenciador.getInstance(this).selectVersaoRequisitoAtrasado(textoRequisito, idProjeto);
        subversaoRequisito = BDGerenciador.getInstance(this).selectSubversaoRequisitoAtrasado(textoRequisito, idProjeto);
        versaoTV.setText(versaoRequisito + "." + subversaoRequisito);

        prioridadeTV = (RatingBar)findViewById(R.id.ratingBarPrioridadeRequisito);
        prioridadeRequisito = BDGerenciador.getInstance(this).selectPrioridadeRequisitoAtrasado(textoRequisito, idProjeto);
        prioridadeTV.setRating(prioridadeRequisito);

        autorTV = (EditText)findViewById(R.id.campoAutorRequisito);
        autorRequisito = BDGerenciador.getInstance(this).selectAutorRequisitoAtrasado(textoRequisito, idProjeto);
        autorTV.setText(autorRequisito);

        tituloTV = (TextView)findViewById(R.id.campoTituloRequisito);
        tituloRequisito = BDGerenciador.getInstance(this).selectNumeroRequisitoAtrasado(textoRequisito, idProjeto);
        tituloTV.setText(getResources().getString(R.string.tela_detalhes_requisito_atrasado_nome_requisito) + tituloRequisito);

    }

    /**
     * Atualiza o RatingBar de prioridadeTV do descricaoRequisitoTV ao clicar em uma das estrelas.
     * A atualizacao tambem e feita no banco de dados do aplicativo.
     */
    private void atualizaPrioridade()
    {

        prioridadeTV = (RatingBar)findViewById(R.id.ratingBarPrioridadeRequisito);

        //Listener para a RatingBar da prioridadeTV.
        prioridadeTV.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
            public void onRatingChanged(RatingBar ratingBar, float rating,
                                        boolean fromUser) {
                int idRequisito;
                idRequisito = BDGerenciador.getInstance(TelaRequisitoAtrasadoDetalhadoActivity.this).
                        selectRequisitoAtrasadoPorDescricao(descricaoRequisitoTV.getText().toString(),
                                ProjetoUtils.getIdProjeto());
                BDGerenciador.getInstance(TelaRequisitoAtrasadoDetalhadoActivity.this).updatePrioridadeRequisitoAtrasado(idRequisito, (int) prioridadeTV.getRating());
            }
        });
    }

    /**
     * Edita o descricaoRequisitoTV ao clicar no botao "Editar".
     */
    private void editaRequisito()
    {
        Button bEditarRequisito = (Button)findViewById(R.id.botaoEditarRequisito);

        bEditarRequisito.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v) {
                exibeJanelaEditarRequisito();
            }
        });
    }

    /**
     * Edita o autorTV do descricaoRequisitoTV.
     */
    private void editaAutorRequisito()
    {
        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) {
                editaAutorRequisitoBD(descricaoRequisitoTV.getText().toString(), autorTV.getText().toString());
            }

            @Override
            public void afterTextChanged(Editable editable) {

            }
        });
    }

    /**
     * Remove o descricaoRequisitoTV da lista e do banco de dados do aplicativo.
     */
    private void removeRequisito()
    {
        Button bRemoverRequisito = (Button)findViewById(R.id.botaoRemoverRequisito);
        final AlertDialog.Builder alertBoxConfirmaExclusao = new AlertDialog.Builder(this);

        bRemoverRequisito.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v) {
                alertBoxConfirmaExclusao.setTitle(R.string.alert_remover_requisito_titulo);
                alertBoxConfirmaExclusao.setMessage(R.string.alert_remover_requisito_msg);
                alertBoxConfirmaExclusao.setPositiveButton(R.string.alert_sim, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                        String requisito = RequisitosAtrasadosFragment.getRequisitoSelecionado();
                        RequisitosAtrasadosFragment.atualizaListaRemovido(RequisitosAtrasadosFragment.getPosicaoRequisitoSelecionado());
                        RequisitosAtrasadosUtils.removeRequisitoBD(TelaRequisitoAtrasadoDetalhadoActivity.this, requisito,
                                ProjetoUtils.getIdProjeto());
                        finish();
                    }
                });
                alertBoxConfirmaExclusao.setNegativeButton(R.string.alert_cancelar, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                    }
                });
                alertBoxConfirmaExclusao.show();
            }
        });
    }

    /**
     * Move o descricaoRequisitoTV para a lista de requisitos atrasados do aplicativo.
     */
    private void moveRequisito()
    {
        Button bMoverRequisito = (Button)findViewById(R.id.botaoMoverRequisito);
        final AlertDialog.Builder alertbox = new AlertDialog.Builder(this);

        bMoverRequisito.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v) {
                alertbox.setTitle(R.string.alert_mover_requisito_atrasado_titulo);
                alertbox.setMessage(R.string.alert_mover_requisito_atrasado_msg);
                alertbox.setPositiveButton(R.string.alert_sim, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                        String requisito = RequisitosAtrasadosFragment.getRequisitoSelecionado();
                        RequisitosAtrasadosFragment.atualizaListaRemovido(RequisitosAtrasadosFragment.getPosicaoRequisitoSelecionado());
                        RequisitosAtrasadosUtils.removeRequisitoBD(TelaRequisitoAtrasadoDetalhadoActivity.this, requisito,
                                ProjetoUtils.getIdProjeto());
                        RequisitosAtrasadosUtils.moveRequisitoBD(TelaRequisitoAtrasadoDetalhadoActivity.this, requisito,
                                dataTV.getText().toString(), (int) prioridadeTV.getRating(),
                                versaoRequisito, subversaoRequisito, 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 do descricaoRequisitoTV.
     */
    private void exibeJanelaEditarRequisito()
    {
        final AlertDialog.Builder alert = new AlertDialog.Builder(this);
        alert.setTitle(R.string.alert_editar_requisito_titulo);
        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(descricaoRequisitoTV.getText().toString());
        npVersao.setValue(versaoRequisito);
        npSubversao.setValue(subversaoRequisito);
        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(""))
                {
                    RequisitosUtils.editaRequisito(TelaRequisitoAtrasadoDetalhadoActivity.this, descricaoAtual, entrada.getText().toString(),
                                                   npVersao.getValue(), npSubversao.getValue(),
                                                   RequisitosAtrasadosFragment.getPosicaoRequisitoSelecionado(), ProjetoUtils.getIdProjeto());
                    descricaoRequisitoTV.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 do descricaoRequisitoTV no banco de dados do aplicativo.
     *
     * @param descricaoAtual A descricao atual do descricaoRequisitoTV
     * @param autorNovo O novo autorTV do descricaoRequisitoTV
     */
    private void editaAutorRequisitoBD(String descricaoAtual, String autorNovo)
    {
        int idRequisito;
        idRequisito = BDGerenciador.getInstance(this).selectRequisitoAtrasadoPorDescricao(descricaoAtual,
                ProjetoUtils.getIdProjeto());
        BDGerenciador.getInstance(this).updateAutorRequisitoAtrasado(idRequisito, 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(TelaRequisitoAtrasadoDetalhadoActivity.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