/* Tibisay Movil Copyright (C) 2013 Antonio Araujo (aaraujo@cenditel.gob.ve), Jose Ruiz (jruiz@cenditel.gob.ve), Fundacion Centro Nacional de Desarrollo e Investigacion en Tecnologias Libres - CENDITEL. La Fundación CENDITEL concede permiso para usar, copiar, distribuir y/o modificar este programa, reconociendo el derecho que la humanidad posee al libre acceso al conocimiento, bajo los términos de la licencia de software GPL versión 2.0 de la Free Software Foundation. Este programa se distribuye con la esperanza de que sea util, pero SIN NINGUNA GARANTIA; tampoco las implicitas garantias de MERCANTILIDAD o ADECUACION A UN PROPOSITO PARTICULAR. Para mayor información sobre los términos de la licencia ver el archivo llamado "gpl-2.0.txt" en ingles. */ package ve.gob.cenditel.tibisaymovil; import java.io.Serializable; import java.util.ArrayList; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; public class ActivitySignatureErrors extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { //Estilando la barra de titulo final boolean customTitleSupported = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); super.onCreate(savedInstanceState); setContentView(R.layout.activity_signature_errors); //Estilando Barra de titulo if(customTitleSupported) getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_bar); // deshabilitar los botones de finalizar y compartir LinearLayout shareButton = (LinearLayout) this.findViewById(R.id.button_remove_certificate_zone); shareButton.setVisibility(LinearLayout.GONE); ImageView backImage = (ImageView) this.findViewById(R.id.button_add_certificate); backImage.setVisibility(ImageView.GONE); TextView buttonFinishText = (TextView) this.findViewById(R.id.button_add_certificate_text); buttonFinishText.setVisibility(TextView.GONE); // se crea el adaptador para mostrar los objetos detalle de error de firma ListView errorsListView = (ListView) findViewById(R.id.listViewErrors); final ArrayList errors = new ArrayList(); //errors.add(new SignatureErrorDetail("Antonio Araujo Brett", "El certificado expiro.")); Bundle bundle = getIntent().getExtras(); String test = bundle.getString("numeroObjetoError"); //Log.d("ActivitySignatureErrors.onCreate", "numero de objetos de error: "+test); ArrayList errorList = (ArrayList) bundle.getSerializable("SignatureErrorDetailList"); //Log.d("ActivitySignatureErrors:", "obteniendo ArrayList errorList"); //Log.d("ActivitySignatureErrors: numero de objetos de error:", Integer.toString(errorList.size())); //Log.d("ActivitySignatureErrors: firmante del objeto 0", errorList.get(0).getSigner()); //Log.d("ActivitySignatureErrors: numero de errores del objeto 0", Integer.toString(errorList.get(0).getListError().size())); //Log.d("ActivitySignatureErrors: firmante del objeto 1", errorList.get(1).getSigner()); //Log.d("ActivitySignatureErrors: numero de errores del objeto 1", Integer.toString(errorList.get(1).getListError().size())); // asignacion del adaptador SignatureErrorDetailAdapter errorsAdapter = new SignatureErrorDetailAdapter(ActivitySignatureErrors.this, errorList); errorsListView.setAdapter(errorsAdapter); } /* // clase que abstrae un objeto de tipo detalle de error de firma public class SignatureErrorDetail implements Serializable { private String mSigner; private String mError; public SignatureErrorDetail(String signer, String error){ mSigner = signer; mError = error; } public void setName(String signer) { this.mSigner = signer; } public String getSigner() { return mSigner; } public void setError(String error) { this.mError = error; } public String getError() { return mError; } } // fin de clase SignatureErrorDetail */ // clase que abstrae el adaptador para llenar el ListView de objetos // de detalle de error de firma private class SignatureErrorDetailAdapter extends BaseAdapter { private ArrayList mSignatureErrorDetailList; private LayoutInflater lInflater; private SignatureErrorDetailAdapter(Context context, ArrayList errorList) { this.lInflater = LayoutInflater.from(context); this.mSignatureErrorDetailList = errorList; } @Override public int getCount() { return mSignatureErrorDetailList.size(); } @Override public Object getItem(int position) { return mSignatureErrorDetailList.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder container = null; if (convertView == null){ container = new ViewHolder(); convertView = lInflater.inflate(R.layout.error_inside_signature_item, null); container.signer_info = (TextView) convertView.findViewById(R.id.signer_info); container.signature_errors = (TextView) convertView.findViewById(R.id.signature_errors); container.signature_icon = (ImageView) convertView.findViewById(R.id.signature_icon); convertView.setTag(container); }//else{ container = (ViewHolder) convertView.getTag(); //} SignatureErrorDetail detailError = (SignatureErrorDetail) getItem(position); container.signer_info.setText(detailError.getSigner()); //container.signature_errors.setText(detailError.getError()); container.signature_errors.setText(detailError.getTransalatedStringError()); Log.d("SignatureErrorDetailAdapter: position: "+Integer.toString(position), "Integer.toString(position)"); Log.d("SignatureErrorDetailAdapter: signer: ", detailError.getSigner()); Log.d("SignatureErrorDetailAdapter: lista de errores:", detailError.getTransalatedStringError()); container.signature_icon.setImageResource(R.drawable.ic_firmar_verde); return convertView; } class ViewHolder{ TextView signer_info; TextView signature_errors; ImageView signature_icon; } } }