Index: TibisayMovil/src/ve/gob/cenditel/tibisaymovil/PKCS12ToDecryptActivity.java
===================================================================
--- TibisayMovil/src/ve/gob/cenditel/tibisaymovil/PKCS12ToDecryptActivity.java	(revision fd4a5b990122becaff2b0720b102d4816844f563)
+++ TibisayMovil/src/ve/gob/cenditel/tibisaymovil/PKCS12ToDecryptActivity.java	(revision 647bb1fc72eeb1363c7064dc02a911d1c36b7e13)
@@ -116,8 +116,43 @@
 		
 		
-		//Capturando archivo original que se debe descifrar
-		fileToDecrypt = getIntent().getExtras().getString("fileToDecrypt");
-
-
+		// chequear si intent tiene data
+        final android.content.Intent intent = getIntent();
+        final android.net.Uri data = intent.getData();
+      
+        
+        if (data != null) {
+        	// verificar el tipo de scheme
+      	    String scheme = data.getScheme();
+      	    
+      	    // descifrar un archivo que esta en el dispositivo 
+            if (scheme.equals("file")) {
+            	Log.d("PKCS12ToDecryptActivity: ", "scheme == file");
+            	Toast.makeText(getApplicationContext(), "Descifrar archivo: "+data.getPath(), Toast.LENGTH_SHORT).show();
+          
+            	// obtener archivo a descifrar
+	        	  if (data.getPath().endsWith("cdoc")){
+	        		  fileToDecrypt = data.getPath();
+	        		  
+	        		  
+					}else{
+						Toast.makeText(getApplicationContext(), "¡Intentando descifrar un archivo distinto de .cdoc!", Toast.LENGTH_SHORT).show();
+						Log.d("PKCS12ToDecryptActivity: ", "¡Intentando descifrar un archivo distinto de .cdoc!");
+						finish();
+					}            	
+            }
+        }else{
+        
+        	final Bundle bundle = getIntent().getExtras();
+        	// verificacion de archivo desde la Activity principal
+        	if (bundle != null) {
+        		Log.d("PKCS12ToDecryptActivity: ", "bundle != null");
+        		// Capturando archivo original que se debe descifrar
+        		fileToDecrypt = getIntent().getExtras().getString("fileToDecrypt");
+        	}
+  	
+        }
+  	    //Capturando archivo original que se debe descifrar
+    	//fileToDecrypt = getIntent().getExtras().getString("fileToDecrypt");
+  	    
 	}
 
@@ -691,5 +726,5 @@
 			Toast.makeText(getApplicationContext(), ex.getMessage(), Toast.LENGTH_SHORT).show();
 			
-			showDialog("Error:", ex.getMessage());
+			showDialog("Error:", ex.getMessage(), false);
 			return;
 		}
@@ -730,13 +765,13 @@
     			// el pasword del PKCS12 no es correcto
     			showDialog(getResources().getString(R.string.msg_encryption_error), 
-    					"password incorrecto");
+    					"password incorrecto", false);
     			return;
     		}
-    		showDialog(getResources().getString(R.string.msg_encryption_error), ex.getMessage());
+    		showDialog(getResources().getString(R.string.msg_encryption_error), ex.getMessage(), false);
 			return;
     		
 		} catch(ArrayIndexOutOfBoundsException ex) {
 			showDialog(getResources().getString(R.string.msg_encryption_error), 
-					getResources().getString(R.string.error_decrypting_file_index_out_of_bounds));
+					getResources().getString(R.string.error_decrypting_file_index_out_of_bounds), false);
 			return;
 		}
@@ -798,5 +833,5 @@
             	System.err.println("DataFile has no data!");
             	showDialog(getResources().getString(R.string.msg_encryption_error), 
-            			"DataFile has no data!");
+            			"DataFile has no data!", false);
             	return;
             }
@@ -817,5 +852,5 @@
             Toast.makeText(getApplicationContext(), "Descifrado correctamente: " + decryptedFile, Toast.LENGTH_SHORT).show();
     		
-            showDialog("Información:", "Archivo descifrado exitosamente.");
+            showDialog("Información:", "Archivo descifrado exitosamente.", true);
             
             // TODO lanzar la actividad para mostrar el resultado del cifrado
@@ -827,5 +862,5 @@
 			
 			showDialog(getResources().getString(R.string.msg_encryption_error), 
-					e.getMessage());
+					e.getMessage(), false);
 			return;
 		}
@@ -833,9 +868,9 @@
 		catch (FileNotFoundException e) {
 			showDialog(getResources().getString(R.string.msg_encryption_error), 
-					e.getMessage());
+					e.getMessage(), false);
 			return;
 		} catch (IOException e) {
 			showDialog(getResources().getString(R.string.msg_encryption_error), 
-					e.getMessage());
+					e.getMessage(), false);
 			return;
 		}
@@ -852,5 +887,5 @@
      * @return void
      */
-    public void showDialog(String title, String msg) {
+    public void showDialog(String title, String msg, final boolean success) {
     	
     	// 1. Instantiate an AlertDialog.Builder with its constructor
@@ -868,5 +903,7 @@
             	
             	// TODO lanzar la actividad para mostrar el resultado del cifrado
-                showDecryptionResults(fileToDecrypt, decryptedFile);
+            	if (success){
+            		showDecryptionResults(fileToDecrypt, decryptedFile);
+            	}
             }
     		});
