diff --git a/app/src/main/java/i2p/bote/android/identities/IdentityAdapter.java b/app/src/main/java/i2p/bote/android/identities/IdentityAdapter.java index ab54758..315bd7b 100644 --- a/app/src/main/java/i2p/bote/android/identities/IdentityAdapter.java +++ b/app/src/main/java/i2p/bote/android/identities/IdentityAdapter.java @@ -19,7 +19,7 @@ import i2p.bote.email.EmailIdentity; public class IdentityAdapter extends RecyclerView.Adapter { private Context mCtx; private List mIdentities; - private IdentityListFragment.IdentityListListener mListener; + private IdentityListFragment.OnIdentitySelectedListener mListener; public static class SimpleViewHolder extends RecyclerView.ViewHolder { public SimpleViewHolder(View itemView) { @@ -38,7 +38,7 @@ public class IdentityAdapter extends RecyclerView.Adapter> { - IdentityListListener mCallback; + OnIdentitySelectedListener mCallback; private LoadingRecyclerView mIdentitiesList; private IdentityAdapter mAdapter; + private View mNewIdentity; + // Container Activity must implement this interface - public interface IdentityListListener { - void onNewIdentity(); + public interface OnIdentitySelectedListener { void onIdentitySelected(EmailIdentity identity); } @@ -51,7 +50,7 @@ public class IdentityListFragment extends AuthenticatedFragment implements // This makes sure that the container activity has implemented // the callback interface. If not, it throws an exception try { - mCallback = (IdentityListListener) activity; + mCallback = (OnIdentitySelectedListener) activity; } catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " must implement OnIdentitySelectedListener"); @@ -75,6 +74,14 @@ public class IdentityListFragment extends AuthenticatedFragment implements ProgressWheel loading = (ProgressWheel) v.findViewById(R.id.loading); mIdentitiesList.setLoadingView(empty, loading); + mNewIdentity = v.findViewById(R.id.action_new_identity); + mNewIdentity.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + startNewIdentity(); + } + }); + return v; } @@ -119,6 +126,7 @@ public class IdentityListFragment extends AuthenticatedFragment implements boolean passwordRequired = I2PBote.getInstance().isPasswordRequired(); menu.findItem(R.id.export_identities).setVisible(!passwordRequired); menu.findItem(R.id.import_identities).setVisible(!passwordRequired); + mNewIdentity.setVisibility(passwordRequired ? View.GONE : View.VISIBLE); } @Override @@ -139,17 +147,12 @@ public class IdentityListFragment extends AuthenticatedFragment implements } } - private void startNewContact() { - Intent nci = new Intent(getActivity(), EditContactActivity.class); - getActivity().startActivityForResult(nci, IdentityListActivity.ALTER_IDENTITY_LIST); + private void startNewIdentity() { + Intent nii = new Intent(getActivity(), EditIdentityActivity.class); + getActivity().startActivityForResult(nii, IdentityListActivity.ALTER_IDENTITY_LIST); } - private void startScanQrCode() { - IntentIntegrator integrator = new IntentIntegrator(getActivity()); - integrator.initiateScan(IntentIntegrator.QR_CODE_TYPES); - } - - protected void updateContactList() { + protected void updateIdentityList() { getLoaderManager().restartLoader(0, null, this); } diff --git a/app/src/main/res/layout/fragment_list_identities.xml b/app/src/main/res/layout/fragment_list_identities.xml index d32eba5..fc812d2 100644 --- a/app/src/main/res/layout/fragment_list_identities.xml +++ b/app/src/main/res/layout/fragment_list_identities.xml @@ -1,28 +1,46 @@ - - - - - - - \ No newline at end of file + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e66eaca..0e1b6c3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -226,6 +226,7 @@ To remove the password, leave the \'New password\' fields blank. Password changed successfully Identities + No identities New identity… Edit identity New identity