Changeset a8bb2bb in dispositivos_moviles for TibisayMovil/src
- Timestamp:
- Aug 15, 2013, 5:33:02 PM (11 years ago)
- Branches:
- master
- Children:
- 5147e01
- Parents:
- 37467be
- Location:
- TibisayMovil/src/ve/gob/cenditel/tibisaymovil
- Files:
-
- 3 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
TibisayMovil/src/ve/gob/cenditel/tibisaymovil/FileToSignHandwrittenSignatureActivity.java
r37467be ra8bb2bb 6 6 import java.util.Collections; 7 7 import java.util.Date; 8 import java.util.List;9 8 import ve.gob.cenditel.tibisaymovil.R; 10 9 import android.app.Activity; 10 import android.app.AlertDialog; 11 import android.content.DialogInterface; 12 import android.content.Intent; 11 13 import android.graphics.drawable.Drawable; 14 import android.net.Uri; 12 15 import android.os.Bundle; 13 16 import android.util.Log; … … 17 20 import android.view.View.OnClickListener; 18 21 import android.view.Window; 22 import android.webkit.MimeTypeMap; 19 23 import android.widget.AdapterView; 24 import android.widget.ArrayAdapter; 20 25 import android.widget.BaseAdapter; 21 import android.widget.CheckBox;22 26 import android.widget.ImageView; 23 27 import android.widget.LinearLayout; 24 28 import android.widget.ListView; 29 import android.widget.RadioButton; 25 30 import android.widget.TextView; 31 import android.widget.AdapterView.OnItemClickListener; 26 32 import android.widget.Toast; 27 import android.widget.AdapterView.OnItemClickListener;28 33 29 34 public class FileToSignHandwrittenSignatureActivity extends Activity implements OnItemClickListener, OnClickListener { 30 35 31 36 private File cwd; 32 private List<File>selected;37 private File selected; 33 38 private FileBrowserView viewHolder; 34 39 private FileListAdapter listAdapter; 40 private String filterMImeType = "application/pdf"; 35 41 36 42 @Override … … 44 50 45 51 if (savedInstanceState != null) { 46 this.selected = TypeUtils.convertToFileList(savedInstanceState.getStringArrayList("selected")); 47 48 if (this.selected.size() > 0) { 52 if(savedInstanceState.getString("selected") != null) 53 this.selected = new File(savedInstanceState.getString("selected")); 54 55 if (this.selected != null) { 49 56 50 57 FileToSignHandwrittenSignatureActivity.this.updateButton … … 52 59 53 60 } 54 61 55 62 this.cwd = new File(savedInstanceState.getString("cwd")); 56 this.viewHolder.fileList.setAdapter(this.listAdapter = new FileListAdapter(this.cwd.getAbsolutePath() ));63 this.viewHolder.fileList.setAdapter(this.listAdapter = new FileListAdapter(this.cwd.getAbsolutePath(), filterMImeType)); 57 64 58 65 } else { 59 this.selected = n ew ArrayList<File>();66 this.selected = null; 60 67 this.viewHolder.fileList.setAdapter(this.listAdapter = new FileListAdapter()); 61 68 } … … 63 70 64 71 boolean enabled = false; 65 if ( !this.selected.isEmpty())72 if (this.selected != null) 66 73 enabled = this.viewHolder.accept.isEnabled(); 67 74 … … 86 93 87 94 private FileListAdapter() { 88 this("/" );95 this("/",filterMImeType); 89 96 } 90 97 91 98 private FileListAdapter(String location) { 99 this(location, ""); 100 } 101 102 private FileListAdapter(String location, String filterMimeType) { 92 103 93 104 directories = new ArrayList<File>(); … … 104 115 //Obtiene el directorio padre del objeto file cwd 105 116 File parent = FileToSignHandwrittenSignatureActivity.this.cwd.getParentFile(); 106 //Si tiene un padre, lo agrega en la posición cero de la lista de directorios 117 //Si tiene un padre, lo agrega en la posición cero de la lista de directorios 118 107 119 if (parent != null) { 108 120 directories.add(0, parent); … … 113 125 if (ls != null) { 114 126 for (File f : ls) { //recorre todos los archivos contenidos en el directorio 127 115 128 if (FsUtils.isHiddenOrNotReadable(f)) { // Si son ocultos no hace nada 116 129 continue; … … 122 135 } else // De lo contrario lo agrega a la lista de archivos 123 136 { 124 files.add(f); 137 //Valida tipo de archivo a mostrar 138 Uri selectedUri = Uri.fromFile(f); 139 String fileExtension = MimeTypeMap.getFileExtensionFromUrl(selectedUri.toString()); 140 String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(fileExtension); 141 142 // Toast.makeText(FileToSignHandwrittenSignatureActivity.this, 143 // "FileExtension: " + fileExtension + "\n" + 144 // "MimeType: " + mimeType, 145 // Toast.LENGTH_LONG).show(); 146 147 //Filtra por mimeType 148 if(filterMimeType.isEmpty() || filterMimeType == mimeType) 149 files.add(f); 150 125 151 } 126 152 } … … 173 199 if (convertView == null) { 174 200 LayoutInflater inflater = LayoutInflater.from(FileToSignHandwrittenSignatureActivity.this); 175 convertView = inflater.inflate(R.layout.file_ browser_item, parent, false);201 convertView = inflater.inflate(R.layout.file_to_sign_handwritten_signature_item, parent, false); 176 202 } 177 203 … … 184 210 File file = getItem(position); 185 211 186 // CheckBox187 CheckBox check = (CheckBox) convertView.findViewById(R.id.file_checkbox);188 check.setFocusable(false);189 190 // Se asignan los iconos según el tipo de archivo y se oculta el checkboxen los directorios212 //RadioButton 213 RadioButton radio = (RadioButton) convertView.findViewById(R.id.file_radio); 214 radio.setFocusable(false); 215 216 // Se asignan los iconos según el tipo de archivo y se oculta el radio en los directorios 191 217 if (file.isDirectory()) { 192 218 image.setImageResource(R.drawable.ic_carpeta); 193 check.setVisibility(View.INVISIBLE);194 check.setChecked(false);219 radio.setVisibility(View.INVISIBLE); 220 radio.setChecked(false); 195 221 } else { 196 222 image.setImageResource(R.drawable.ic_archivo); 197 check.setVisibility(View.VISIBLE); 198 if (!FileToSignHandwrittenSignatureActivity.this.selected.contains(file)){ 199 check.setChecked(false); 223 radio.setVisibility(View.VISIBLE); 224 225 if (FileToSignHandwrittenSignatureActivity.this.selected == null || 226 FileToSignHandwrittenSignatureActivity.this.selected.hashCode() != file.hashCode()){ 227 radio.setChecked(false); 200 228 } else{ 201 check.setChecked(true); 202 } 203 229 radio.setChecked(true); 230 } 204 231 } 205 232 … … 233 260 //Si es un directorio el seleccionado se hace un llamado del fileBrowser del directorio 234 261 if (item.isDirectory()) { 235 parent.setAdapter(FileToSignHandwrittenSignatureActivity.this.listAdapter = new FileListAdapter(item.getAbsolutePath() ));262 parent.setAdapter(FileToSignHandwrittenSignatureActivity.this.listAdapter = new FileListAdapter(item.getAbsolutePath(), filterMImeType)); 236 263 } else { // Si es un archivo 237 264 238 //Se agrega el archivo a la lista de seleccionados si no se encuentra en la misma 239 if (!FileToSignHandwrittenSignatureActivity.this.selected.contains(item)){ 240 FileToSignHandwrittenSignatureActivity.this.selected.add(item); 265 //Se agrega el archivo a la lista de seleccionados si no se encuentra en la misma 266 if (FileToSignHandwrittenSignatureActivity.this.selected == null || 267 FileToSignHandwrittenSignatureActivity.this.selected.hashCode() != item.hashCode()){ 268 269 FileToSignHandwrittenSignatureActivity.this.selected = item; 241 270 242 271 FileToSignHandwrittenSignatureActivity.this.updateButton(FileToSignHandwrittenSignatureActivity.this.viewHolder.accept,true); 243 244 }else{ // De lo contrario se elimina de la lista de seleccionados 272 273 } 274 else{ // De lo contrario se elimina de la lista de seleccionados 245 275 246 FileToSignHandwrittenSignatureActivity.this.selected.remove(item); 247 248 249 if (FileToSignHandwrittenSignatureActivity.this.selected.isEmpty()){ 250 FileToSignHandwrittenSignatureActivity.this.updateButton(FileToSignHandwrittenSignatureActivity.this.viewHolder.accept,false); 251 }else { 252 FileToSignHandwrittenSignatureActivity.this.updateButton(FileToSignHandwrittenSignatureActivity.this.viewHolder.accept,true); 253 } 254 276 FileToSignHandwrittenSignatureActivity.this.selected = null; 277 FileToSignHandwrittenSignatureActivity.this.updateButton(FileToSignHandwrittenSignatureActivity.this.viewHolder.accept,false); 278 255 279 } 256 280 notifyDataSetChanged(); … … 259 283 } 260 284 285 286 287 288 @Override 289 protected void onSaveInstanceState(Bundle outState) { 290 super.onSaveInstanceState(outState); 291 292 outState.putParcelable("intent", this.getIntent()); 293 outState.putString("cwd", this.cwd.getAbsolutePath()); 294 if(this.selected != null) 295 outState.putString("selected", this.selected.getAbsolutePath()); 296 297 } 261 298 262 299 private void updateButton(View v, boolean bool) { … … 351 388 case R.id.button_clear_zone: 352 389 353 this.selected .clear();390 this.selected = null; 354 391 this.listAdapter.notifyDataSetChanged(); 355 392 … … 357 394 this.updateButton(this.viewHolder.accept, false); 358 395 break; 359 396 397 398 399 case R.id.button_accept_zone: 400 401 //Crear dialogo de opciones para firmar 402 final AlertDialog image_dialog = selectImageOptionsDialog(); 403 image_dialog.show(); 404 405 break; 406 360 407 } 361 408 } 409 410 411 //Crea dialogo de opciones para seleccion de imagen de firma 412 public AlertDialog selectImageOptionsDialog() { 413 final String[] option = new String[] {getString(R.string.firmar_man_capt_img), getString(R.string.firmar_man_exist_img), getString(R.string.firmar_man_prefer_img) }; 414 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 415 android.R.layout.select_dialog_item, option); 416 AlertDialog.Builder builder = new AlertDialog.Builder(this); 417 418 builder.setTitle(getString(R.string.seleccione_opcion_firmar_man_img)); 419 builder.setAdapter(adapter, new DialogInterface.OnClickListener() { 420 421 public void onClick(DialogInterface dialog, int which) { 422 423 switch (which) { 424 case 0: // Capturar imágen 425 Intent intent = new Intent(FileToSignHandwrittenSignatureActivity.this, CaptureImgHandwrittenSignatureActivity.class); 426 intent.putExtra("FILE_TO_SIGN", FileToSignHandwrittenSignatureActivity.this.selected.getAbsolutePath()); 427 Log.i("DEBUG", FileToSignHandwrittenSignatureActivity.this.selected.getAbsolutePath()); 428 startActivity(intent); 429 430 break; 431 case 1: // Buscar en archivos 432 433 break; 434 case 2: // Usar predeterminada 435 436 break; 437 438 default: 439 break; 440 } 441 } 442 443 }); 444 445 return builder.create(); 446 } 362 447 363 448 } -
TibisayMovil/src/ve/gob/cenditel/tibisaymovil/FunctionListAdapter.java
r37467be ra8bb2bb 2 2 3 3 4 import android.annotation.SuppressLint; 4 5 import android.content.Context; 5 6 import android.view.LayoutInflater; -
TibisayMovil/src/ve/gob/cenditel/tibisaymovil/TibisayMovilActivity.java
r37467be ra8bb2bb 1 1 package ve.gob.cenditel.tibisaymovil; 2 2 3 import ve.gob.cenditel.tibisaymovil.R.color; 3 4 import android.os.Build; 4 5 import android.os.Bundle; … … 134 135 135 136 private void fileToSignHandwrittenSignature(){ 136 Log.i("DEBUG", "antes de declarar intent");137 137 Intent intent = new Intent(this, FileToSignHandwrittenSignatureActivity.class); 138 Log.i("DEBUG", "despues de declarar intent");139 138 startActivity(intent); 140 Log.i("DEBUG", "despues de llamar intent");141 139 } 142 140
Note: See TracChangeset
for help on using the changeset viewer.