source: dispositivos_moviles/TibisayMovil/src/ve/gob/cenditel/tibisaymovil/TibisayMovilActivity.java @ f907928

Last change on this file since f907928 was f907928, checked in by Jose Ruiz <joseruiz@…>, 11 years ago

Merge branch 'master' of https://tibisay.cenditel.gob.ve/trac/scm/git/dispositivos_moviles

Conflicts:

TibisayMovil/AndroidManifest?.xml
TibisayMovil?/gen/net/neiti/droidtext/R.java
TibisayMovil?/gen/ve/gob/cenditel/tibisaymovil/R.java
TibisayMovil?/src/ve/gob/cenditel/tibisaymovil/CertificateRepositoryActivity.java
TibisayMovil?/src/ve/gob/cenditel/tibisaymovil/TibisayMovilActivity.java

  • Property mode set to 100644
File size: 10.4 KB
Line 
1package ve.gob.cenditel.tibisaymovil;
2
3import android.os.Build;
4import android.os.Bundle;
5import android.app.Activity;
6import android.app.AlertDialog;
7import android.content.Context;
8import android.content.DialogInterface;
9import android.content.Intent;
10import android.util.Log;
11import android.view.Menu;
12import android.view.View;
13import android.view.Window;
14import android.widget.AdapterView;
15import android.widget.AdapterView.OnItemClickListener;
16import android.widget.ArrayAdapter;
17import android.widget.ListView;
18import android.widget.TextView;
19import android.widget.Toast;
20
21//public class TibisayMovilActivity extends KeyChainClientActivity {
22//implements OnItemClickListener, OnClickListener {
23public class TibisayMovilActivity extends Activity {
24
25
26    public DirectKeyChain keyChain;
27   
28        @Override
29        protected void onCreate(Bundle savedInstanceState) {
30                super.onCreate(savedInstanceState);
31       
32                final boolean customTitleSupported = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);         
33                setContentView(R.layout.activity_main);   
34                if(customTitleSupported)
35                        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_bar);
36       
37                // listview de funciones
38                final ListView listViewFunctions = (ListView) findViewById(R.id.listViewFunctions);
39               
40                String[] values = new String[] {getString(R.string.firmar), 
41                                                                                getString(R.string.verificar), 
42                                                                                getString(R.string.cifrar), 
43                                                                                getString(R.string.descifrar), 
44                                                                                getString(R.string.compartir), 
45                                                                                getString(R.string.certificados), 
46                                                                                getString(R.string.preferencias) };
47                       
48                       
49                FunctionListAdapter ad = new FunctionListAdapter(this, values);
50                listViewFunctions.setAdapter(ad);
51               
52               
53               
54               
55                /*************** Dialogos de submenus *******************/
56                //Crear dialogo de opciones para firmar
57                final AlertDialog sign_dialog = makeSignatureOptionsDialog();
58               
59                //Crear dialogo de opciones para compartir archivo
60                final AlertDialog share_dialog = makeShareOptionsDialog();
61                       
62                //Crear dialogo de opciones para compartir cifrar archivo
63                final AlertDialog certificate_dialog = makeCertificateOptionsDialog();
64
65               
66                listViewFunctions.setOnItemClickListener(new OnItemClickListener(){
67                       
68                        @Override
69                        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
70                                        long arg3) {
71
72                                Context context = getApplicationContext();
73                                //CharSequence text = "Click!";
74                                int duration = Toast.LENGTH_SHORT;
75                                //Toast.makeText(context, text, duration).show();
76                               
77                                View curr = arg0.getChildAt((int) arg3);
78                                TextView c = (TextView)curr.findViewById(R.id.textListMainMenu);
79                                String function = c.getText().toString();
80                                //Toast.makeText(context, function, duration).show();
81
82                                // seleccion de firmar
83                                if(function.equals(getString(R.string.firmar))) {
84                                        sign_dialog.show();
85                                }
86                               
87                                // seleccion de verificar
88                                if(function.equals(getString(R.string.verificar))) {
89                                        Toast.makeText(context, "VERIFICAR", duration).show();
90                                        verifyBDOCSignedFile();
91                                }
92                               
93                                // seleccion de cifrar
94                                if(function.equals(getString(R.string.cifrar))) {
95                                        Toast.makeText(context, "CIFRAR", duration).show();
96                                        encryptFile();
97                                }
98                               
99                               
100                                // seleccion de gestionar certificados
101<<<<<<< HEAD
102                                if (function.equals(getString(R.string.certificados))){
103                                        Toast.makeText(context, "Gestionar repositorio", duration).show();                                     
104=======
105                                if (function.equals("Certificados")){
106                                        Toast.makeText(context, "Gestionar repositorio", duration).show();
107                                       
108                                        certificate_dialog.show();
109                                        /*
110>>>>>>> c2318907ec781e759fbf9e1a0e0d0eb01a54dd36
111                                       
112                                        // Chequeo de version del API de Android para creacion de repositorio           
113                                if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH){
114                                        //RelativeLayout certTab = (RelativeLayout) this.findViewById(R.id.linetab2);
115                                    //certTab.setVisibility(View.VISIBLE);           
116                                    //this.tabsListener.setKeyChainController(this.keyChainController);
117                                        Toast.makeText(context, "API < 4.0", duration).show();
118                                       
119                                }
120                                       
121                                        //manageKeyChain();
122                                       
123                                        // lanzar activity de gestion de repositorio
124                                        testRepository();
125                                       
126                                        */
127                                }
128                               
129                                // seleccion de compartir archivo
130                                if (function.equals(getString(R.string.compartir))){
131                                        Toast.makeText(context, "Compartir Archivo", duration).show();
132                                        share_dialog.show();
133                               
134                                }
135                                // seleccion de firmar
136                                if(function.equals(getString(R.string.preferencias))) {
137                                        preferences();
138                                }
139                               
140                        }
141                }); //setOnItemClickListener
142        } // end onCreate
143
144        @Override
145        public boolean onCreateOptionsMenu(Menu menu) {
146                // Inflate the menu; this adds items to the action bar if it is present.
147                getMenuInflater().inflate(R.menu.main, menu);
148                return true;
149        }
150
151        /*
152        @Override
153    public void setAlias(String alias) {
154
155        if (alias == null) {
156            finish();
157            return;
158        }
159       
160        this.privateKeyAlias = alias;
161       
162        //Intent intent = new Intent(this, CertValidatorActivity.class);
163        //intent.putExtra(IntentExtraField.ALIAS, alias);
164        //intent.putParcelableArrayListExtra(IntentExtraField.FILES, TypeUtils.convertToUriArrayList(this.selected));
165        //startActivityForResult(intent, ActivityResult.CHECK_CERTIFICATE_VALIDITY);       
166       
167    }
168        */
169
170//      private void manageKeyChain(){
171//              //
172//              //Intent intent = new Intent(this, PKCS12FilePickerActivity.class);
173//        //startActivityForResult(intent, ActivityResult.IMPORT_CERTIFICATE);
174//        //KeyChainStrategy.getInstance().choosePrivateKeyAlias();
175//      }
176       
177        private void testRepository(){
178
179//              this.keyChain = DirectKeyChain.getInstance();
180//              this.keyChain.setListView(this.viewHolder.aliases);
181//              this.keyChain.setMasterActivity((Activity) this);
182//              this.keyChain.choosePrivateKeyAlias();
183
184        Intent intent = new Intent(this, CertificateRepositoryActivity.class);
185                startActivity(intent);
186        }
187       
188        private void fileToSignHandwrittenSignature(){
189                Intent intent = new Intent(this, FileToSignHandwrittenSignatureActivity.class);
190                startActivity(intent);
191        }
192       
193        private void filesToPKCS7Sign(){
194                Intent intent = new Intent(this, FilesToPKCS7SignActivity.class);
195                startActivity(intent);
196        }
197
198       
199        // lanza activity para verificar un documento firmado
200        private void verifyBDOCSignedFile(){
201                //Intent intent = new Intent(this, FileToSignHandwrittenSignatureActivity.class);
202                Intent intent = new Intent(this, FileToVerifySignatureActivity.class);
203                startActivity(intent);
204        }
205       
206        // lanza activity para compartir un documento
207        private void shareFile(String path){
208                Intent intent = new Intent(this, FileToShareActivity.class);
209               
210                intent.putExtra("path", path);
211               
212                startActivity(intent);
213        }
214
215        // lanza activity para cifrar un documento
216        private void encryptFile(){
217                Intent intent = new Intent(this, FileToEncryptActivity.class);         
218                startActivity(intent);
219        }
220
221        // lanza la activity para gestionar los certificados de destinarios (cifrado)
222        private void manageRecipientCertificates() {
223                Intent intent = new Intent(this, EncryptionCertificatesActivity.class);         
224                startActivity(intent);
225        }
226       
227       
228        //Crea dialogo de opciones para firma electronica
229        public AlertDialog makeSignatureOptionsDialog() {
230                final String[] option = new String[] {getString(R.string.firmar_man_pdf), getString(R.string.firmar_elec_pdf), getString(R.string.firmar_pkcs7) };
231                ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
232                        android.R.layout.select_dialog_item, option);
233                AlertDialog.Builder builder = new AlertDialog.Builder(this);
234               
235                builder.setTitle(getString(R.string.seleccione_opcion));
236                builder.setAdapter(adapter, new DialogInterface.OnClickListener() {
237               
238                  public void onClick(DialogInterface dialog, int which) {
239                         
240                          switch (which) {
241                        case 0: // Firma Manuscrita PDF
242                                Log.i("DEBUG", "antes de activity call");
243                                fileToSignHandwrittenSignature();
244                                break;
245                        case 1: // Firma Electronica PDF
246                               
247                                break;
248                        case 2: // Firma PKCS7
249                                filesToPKCS7Sign();                             
250                                break;
251
252                        default:
253                                break;
254                        }
255                  }
256                 
257                });     
258               
259                return builder.create();
260        }
261<<<<<<< HEAD
262
263       
264        // lanza activity para preferencias
265        private void preferences(){
266                Intent intent = new Intent(this, PreferencesActivity.class);
267                startActivity(intent);
268        }
269=======
270       
271        //Crea dialogo de opciones para compartir archivos
272        public AlertDialog makeShareOptionsDialog() {
273                final String[] option = new String[] {getString(R.string.share_pdf_signed), 
274                                getString(R.string.share_bdoc_downloaded), getString(R.string.share_extracted_file_from_bdoc), 
275                                getString(R.string.share_encrypted) };
276                ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
277                        android.R.layout.select_dialog_item, option);
278                AlertDialog.Builder builder = new AlertDialog.Builder(this);
279               
280                builder.setTitle(getString(R.string.seleccione_opcion));
281                builder.setAdapter(adapter, new DialogInterface.OnClickListener() {
282               
283                  public void onClick(DialogInterface dialog, int which) {
284                         
285                          switch (which) {
286                        case 0: // Archivo Firmado
287                                Log.i("DEBUG", "antes de activity call");
288                                shareFile("archivoFirmado");
289                                break;
290                        case 1: // Archivos BDOC Descargados
291                                shareFile("bdocDescargado");
292                                break;
293                        case 2: // Archivos extraídos de BDOC
294                                shareFile("extraidoDeBdoc");
295                                break;
296
297                        case 3: // Archivos cifrados
298                                shareFile("cifrado");
299                                break;
300                        default:
301                                break;
302                        }
303                  }
304                 
305                });     
306               
307                return builder.create();
308        }
309       
310        //Crea dialogo de opciones para gestionar certificados
311        public AlertDialog makeCertificateOptionsDialog() {
312                final String[] option = new String[] {getString(R.string.manage_personal_certificates), getString(R.string.manage_certificates_for_encryption) };
313                ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
314                        android.R.layout.select_dialog_item, option);
315                AlertDialog.Builder builder = new AlertDialog.Builder(this);
316               
317                builder.setTitle(getString(R.string.seleccione_opcion));
318                builder.setAdapter(adapter, new DialogInterface.OnClickListener() {
319               
320                  public void onClick(DialogInterface dialog, int which) {
321                         
322                          switch (which) {
323                        case 0: // Certificados personales
324                                Log.i("DEBUG", "antes de activity call");
325                               
326                                break;
327                        case 1: // Certificados para cifrado
328                                Toast.makeText(getApplicationContext(), "Lanzar certificados de destinatarios", Toast.LENGTH_SHORT).show();
329                                manageRecipientCertificates();
330                                break;
331                               
332                        default:
333                                break;
334                        }
335                  }
336                 
337                });     
338               
339                return builder.create();
340        }
341       
342>>>>>>> c2318907ec781e759fbf9e1a0e0d0eb01a54dd36
343}
Note: See TracBrowser for help on using the repository browser.