From 832878cac1a136b1952de51cc2417d4e18188403 Mon Sep 17 00:00:00 2001 From: Hung-ying Tyan Date: Thu, 11 Feb 2010 15:56:03 +0800 Subject: Fix two certinstaller bugs. + Certinstaller does not handle key pair correctly when keystore is locked. http://b/issue?id=2351926 + Certinstaller crashes when installing from SD card where the "download" folder does not exist. + Remove redundant res IDs. --- res/layout/name_credential_dialog.xml | 6 ++---- src/com/android/certinstaller/CertFile.java | 11 +++++++++-- src/com/android/certinstaller/CertInstaller.java | 9 +++++---- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/res/layout/name_credential_dialog.xml b/res/layout/name_credential_dialog.xml index 15a3527..21588ff 100644 --- a/res/layout/name_credential_dialog.xml +++ b/res/layout/name_credential_dialog.xml @@ -31,8 +31,7 @@ android:textStyle="bold" android:visibility="gone" /> - - getAllCertFiles() { List allFiles = new ArrayList(); File root = Environment.getExternalStorageDirectory(); + File download = new File(root, DOWNLOAD_DIR); - Collections.addAll(allFiles, download.listFiles(this)); - Collections.addAll(allFiles, root.listFiles(this)); + if (download != null) { + File[] files = download.listFiles(this); + if (files != null) Collections.addAll(allFiles, files); + } + + File[] files = root.listFiles(this); + if (files != null) Collections.addAll(allFiles, files); + return allFiles; } diff --git a/src/com/android/certinstaller/CertInstaller.java b/src/com/android/certinstaller/CertInstaller.java index f06d9bc..fb64124 100644 --- a/src/com/android/certinstaller/CertInstaller.java +++ b/src/com/android/certinstaller/CertInstaller.java @@ -101,8 +101,11 @@ public class CertInstaller extends Activity protected void onResume() { super.onResume(); - mState = STATE_RUNNING; - if (mNextAction != null) mNextAction.run(this); + if (mState == STATE_INIT) { + mState = STATE_RUNNING; + } else { + if (mNextAction != null) mNextAction.run(this); + } } private boolean needsKeyStoreAccess() { @@ -316,8 +319,6 @@ public class CertInstaller extends Activity View view = View.inflate(this, R.layout.name_credential_dialog, null); mView.setView(view); - mView.setText(R.id.credential_name_title, R.string.credential_name); - mView.setText(R.id.credential_info_title, R.string.credential_info); mView.setText(R.id.credential_info, mCredentials.getDescription(this).toString()); -- cgit v1.2.3