aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Ramos <hiperzone@gmail.com>2015-04-24 03:35:30 +0100
committerDaniel Ramos <hiperzone@gmail.com>2015-04-24 03:35:30 +0100
commitd9cabf8dc4a4de0153ab6a07919ae8d7614cfc9d (patch)
tree29b6d6915779afc587ca82b183ea934ecb9ce38a
parentd097131a3dcdf806608f43e49e0be96cf34f5c64 (diff)
downloadopen-keychain-d9cabf8dc4a4de0153ab6a07919ae8d7614cfc9d.tar.gz
open-keychain-d9cabf8dc4a4de0153ab6a07919ae8d7614cfc9d.tar.bz2
open-keychain-d9cabf8dc4a4de0153ab6a07919ae8d7614cfc9d.zip
-Fixed a crash while recreating CreateKeyEmailFragment
-Email data is properly restored while rotating the Activity. -Added necessary logic to guarantee that an email is actually valid before continuing, there are verifications for empty, duplicated and invalid formatted emails for both additional and main email.
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyEmailFragment.java32
1 files changed, 16 insertions, 16 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyEmailFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyEmailFragment.java
index 26c307957..8fdfb35cb 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyEmailFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CreateKeyEmailFragment.java
@@ -47,16 +47,13 @@ import java.util.List;
import java.util.regex.Pattern;
public class CreateKeyEmailFragment extends Fragment {
-
- CreateKeyActivity mCreateKeyActivity;
- EmailEditText mEmailEdit;
- RecyclerView mEmailsRecyclerView;
- View mBackButton;
- View mNextButton;
-
- ArrayList<EmailAdapter.ViewModel> mAdditionalEmailModels;
-
- EmailAdapter mEmailAdapter;
+ private CreateKeyActivity mCreateKeyActivity;
+ private EmailEditText mEmailEdit;
+ private RecyclerView mEmailsRecyclerView;
+ private View mBackButton;
+ private View mNextButton;
+ private ArrayList<EmailAdapter.ViewModel> mAdditionalEmailModels;
+ private EmailAdapter mEmailAdapter;
/**
* Creates new instance of this fragment
@@ -125,9 +122,6 @@ public class CreateKeyEmailFragment extends Fragment {
// initial values
if (mAdditionalEmailModels == null) {
mAdditionalEmailModels = new ArrayList<>();
- if (mCreateKeyActivity.mAdditionalEmails != null && mEmailAdapter != null) {
- mEmailAdapter.addAll(mCreateKeyActivity.mAdditionalEmails);
- }
}
if (mEmailAdapter == null) {
@@ -137,6 +131,10 @@ public class CreateKeyEmailFragment extends Fragment {
addEmail();
}
});
+
+ if (mCreateKeyActivity.mAdditionalEmails != null) {
+ mEmailAdapter.addAll(mCreateKeyActivity.mAdditionalEmails);
+ }
}
mEmailsRecyclerView.setAdapter(mEmailAdapter);
@@ -203,6 +201,9 @@ public class CreateKeyEmailFragment extends Fragment {
return false;
}
+ /**
+ * Displays a dialog fragment for the user to input a valid email.
+ */
private void addEmail() {
Handler returnHandler = new Handler() {
@Override
@@ -218,12 +219,11 @@ public class CreateKeyEmailFragment extends Fragment {
}
}
};
-
// Create a new Messenger for the communication back
- Messenger messenger = new Messenger(returnHandler);
+ Messenger messenger = new Messenger(returnHandler);
AddEmailDialogFragment addEmailDialog = AddEmailDialogFragment.newInstance(messenger);
-
+ addEmailDialog.setTargetFragment(this, -1);
addEmailDialog.show(getActivity().getSupportFragmentManager(), "addEmailDialog");
}