From c6fc52ff7c9452f40f134ffeae48e90b1cb09305 Mon Sep 17 00:00:00 2001 From: str4d Date: Thu, 27 Feb 2014 04:18:06 +0000 Subject: [PATCH] Pass exceptions through from BoteHelper (like in GeneralHelper) Todo: handle them. --- src/i2p/bote/BoteHelper.java | 16 +++++--------- src/i2p/bote/FolderAdapter.java | 12 +++++++++- src/i2p/bote/FolderFragment.java | 38 +++++++++++++++++++++++++++----- 3 files changed, 49 insertions(+), 17 deletions(-) diff --git a/src/i2p/bote/BoteHelper.java b/src/i2p/bote/BoteHelper.java index 80838bd..4734168 100644 --- a/src/i2p/bote/BoteHelper.java +++ b/src/i2p/bote/BoteHelper.java @@ -16,8 +16,10 @@ public class BoteHelper extends GeneralHelper { * @param folder The folder. * @param showNew Should the name contain the number of new messages? * @return The name of the folder. + * @throws PasswordException + * @throws GeneralSecurityException */ - public static String getFolderDisplayName(Context ctx, EmailFolder folder, boolean showNew) { + public static String getFolderDisplayName(Context ctx, EmailFolder folder, boolean showNew) throws PasswordException, GeneralSecurityException { String displayName = ""; String name = folder.getName(); @@ -33,15 +35,9 @@ public class BoteHelper extends GeneralHelper { displayName = name; if (showNew) { - try { - int numNew = folder.getNumNewEmails(); - if (numNew > 0) - displayName = displayName + " (" + numNew + ")"; - } catch (GeneralSecurityException e) { - // TODO Auto-generated catch block - } catch (PasswordException e) { - // TODO Auto-generated catch block - } + int numNew = folder.getNumNewEmails(); + if (numNew > 0) + displayName = displayName + " (" + numNew + ")"; } return displayName; diff --git a/src/i2p/bote/FolderAdapter.java b/src/i2p/bote/FolderAdapter.java index 2174e12..14af16d 100644 --- a/src/i2p/bote/FolderAdapter.java +++ b/src/i2p/bote/FolderAdapter.java @@ -1,7 +1,9 @@ package i2p.bote; +import java.security.GeneralSecurityException; import java.util.List; +import i2p.bote.fileencryption.PasswordException; import i2p.bote.folder.EmailFolder; import android.content.Context; import android.view.LayoutInflater; @@ -34,7 +36,15 @@ public class FolderAdapter extends ArrayAdapter { TextView name = (TextView) v.findViewById(R.id.folder_name); // TODO: This needs to be updated when emails change. - name.setText(BoteHelper.getFolderDisplayName(getContext(), folder, true)); + try { + name.setText(BoteHelper.getFolderDisplayName(getContext(), folder, true)); + } catch (PasswordException e) { + // TODO: Get password from user and retry + name.setText("ERROR: " + e.getMessage()); + } catch (GeneralSecurityException e) { + // TODO: Handle properly + name.setText("ERROR: " + e.getMessage()); + } return v; } diff --git a/src/i2p/bote/FolderFragment.java b/src/i2p/bote/FolderFragment.java index 54fcb90..0a5ddbf 100644 --- a/src/i2p/bote/FolderFragment.java +++ b/src/i2p/bote/FolderFragment.java @@ -1,8 +1,10 @@ package i2p.bote; +import java.security.GeneralSecurityException; import java.util.List; import i2p.bote.email.Email; +import i2p.bote.fileencryption.PasswordException; import i2p.bote.folder.EmailFolder; import android.os.Bundle; import android.support.v4.app.ListFragment; @@ -43,8 +45,16 @@ public class FolderFragment extends ListFragment implements setListShown(false); setEmptyText(getResources().getString( R.string.folder_empty)); - getActivity().setTitle( - BoteHelper.getFolderDisplayName(getActivity(), mFolder, false)); + try { + getActivity().setTitle( + BoteHelper.getFolderDisplayName(getActivity(), mFolder, false)); + } catch (PasswordException e) { + // TODO: Get password from user and retry + getActivity().setTitle("ERROR: " + e.getMessage()); + } catch (GeneralSecurityException e) { + // TODO: Handle properly + getActivity().setTitle("ERROR: " + e.getMessage()); + } getLoaderManager().initLoader(EMAIL_LIST_LOADER, null, this); } } @@ -58,8 +68,16 @@ public class FolderFragment extends ListFragment implements public void onLoadFinished(Loader> loader, List data) { mAdapter.setData(data); - getActivity().setTitle( - BoteHelper.getFolderDisplayName(getActivity(), mFolder, true)); + try { + getActivity().setTitle( + BoteHelper.getFolderDisplayName(getActivity(), mFolder, true)); + } catch (PasswordException e) { + // TODO: Get password from user and retry + getActivity().setTitle("ERROR: " + e.getMessage()); + } catch (GeneralSecurityException e) { + // TODO: Handle properly + getActivity().setTitle("ERROR: " + e.getMessage()); + } if (isResumed()) { setListShown(true); @@ -70,7 +88,15 @@ public class FolderFragment extends ListFragment implements public void onLoaderReset(Loader> loader) { mAdapter.setData(null); - getActivity().setTitle( - BoteHelper.getFolderDisplayName(getActivity(), mFolder, false)); + try { + getActivity().setTitle( + BoteHelper.getFolderDisplayName(getActivity(), mFolder, false)); + } catch (PasswordException e) { + // TODO: Get password from user and retry + getActivity().setTitle("ERROR: " + e.getMessage()); + } catch (GeneralSecurityException e) { + // TODO: Handle properly + getActivity().setTitle("ERROR: " + e.getMessage()); + } } }