private ProgressDialog mProgressDialogForScanVCard;
private List<VCardFile> mAllVCardFileList;
+ private VCardScanThread mVCardScanThread;
private VCardReadThread mVCardReadThread;
private ProgressDialog mProgressDialogForReadVCard;
mHandler.post(new Runnable() {
public void run() {
mVCardReadThread = new VCardReadThread(selectedVCardFileList);
- mVCardReadThread.start();
showDialog(R.id.dialog_reading_vcard);
}
});
mHandler.post(new Runnable() {
public void run() {
mVCardReadThread = new VCardReadThread(canonicalPath);
- mVCardReadThread.start();
showDialog(R.id.dialog_reading_vcard);
}
});
mProgressDialogForReadVCard.setMessage(message);
mProgressDialogForReadVCard.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
mProgressDialogForReadVCard.setOnCancelListener(mVCardReadThread);
+ mVCardReadThread.start();
}
return mProgressDialogForReadVCard;
}
protected Dialog onCreateDialog(int resId) {
switch (resId) {
case R.id.dialog_searching_vcard: {
- if (mProgressDialogForScanVCard != null) {
- return mProgressDialogForScanVCard;
- } else {
- // It may happen in the complicated situation.
- // TODO: Investigate on this.
- Log.e(LOG_TAG, "Cached ProgressDialog object is null, which should not happen.");
- break;
+ if (mProgressDialogForScanVCard == null) {
+ String title = getString(R.string.searching_vcard_title);
+ String message = getString(R.string.searching_vcard_message);
+ mProgressDialogForScanVCard =
+ ProgressDialog.show(this, title, message, true, false);
+ mProgressDialogForScanVCard.setOnCancelListener(mVCardScanThread);
+ mVCardScanThread.start();
}
+ return mProgressDialogForScanVCard;
}
case R.id.dialog_sdcard_not_found: {
AlertDialog.Builder builder = new AlertDialog.Builder(this)
return getVCardFileSelectDialog(false);
}
case R.id.dialog_reading_vcard: {
- // mVCardReadThread.start() must be called before.
return getReadingVCardDialog();
}
case R.id.dialog_io_exception: {
showDialog(R.id.dialog_sdcard_not_found);
} else {
File sdcardDirectory = new File("/sdcard");
- String title = getString(R.string.searching_vcard_title);
- String message = getString(R.string.searching_vcard_message);
- mProgressDialogForScanVCard = ProgressDialog.show(this, title, message, true, false);
- VCardScanThread thread = new VCardScanThread(sdcardDirectory);
- mProgressDialogForScanVCard.setOnCancelListener(thread);
- thread.start();
+ mVCardScanThread = new VCardScanThread(sdcardDirectory);
showDialog(R.id.dialog_searching_vcard);
}
}