From a51e0f16c09ee283216febcdf27661a6effdec74 Mon Sep 17 00:00:00 2001 From: str4d Date: Fri, 5 Jun 2015 10:42:10 +0000 Subject: [PATCH] Update identities loaders on changes Requires i2p.i2p-bote 2bf81924e31a6c73f97f37a67ee877147d908cc2 --- .../i2p/bote/android/EmailListActivity.java | 23 +++++++++++++++--- .../identities/IdentityListFragment.java | 24 +++++++++++++++++-- 2 files changed, 42 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/i2p/bote/android/EmailListActivity.java b/app/src/main/java/i2p/bote/android/EmailListActivity.java index d6bfed7..8e044fe 100644 --- a/app/src/main/java/i2p/bote/android/EmailListActivity.java +++ b/app/src/main/java/i2p/bote/android/EmailListActivity.java @@ -56,6 +56,7 @@ import i2p.bote.android.util.BetterAsyncTaskLoader; import i2p.bote.android.util.BoteHelper; import i2p.bote.android.util.MoveToDialogFragment; import i2p.bote.email.EmailIdentity; +import i2p.bote.email.IdentitiesListener; import i2p.bote.fileencryption.PasswordCacheListener; import i2p.bote.fileencryption.PasswordException; import i2p.bote.folder.EmailFolder; @@ -446,7 +447,7 @@ public class EmailListActivity extends BoteActivityBase implements } } - private static class DrawerIdentityLoader extends BetterAsyncTaskLoader> { + private static class DrawerIdentityLoader extends BetterAsyncTaskLoader> implements IdentitiesListener { private int identiconSize; public DrawerIdentityLoader(Context context) { @@ -492,17 +493,33 @@ public class EmailListActivity extends BoteActivityBase implements @Override protected void onStartMonitoring() { - + I2PBote.getInstance().getIdentities().addIdentitiesListener(this); } @Override protected void onStopMonitoring() { - + I2PBote.getInstance().getIdentities().removeIdentitiesListener(this); } @Override protected void releaseResources(ArrayList data) { + } + // IdentitiesListener + + @Override + public void identityAdded(String s) { + onContentChanged(); + } + + @Override + public void identityUpdated(String s) { + onContentChanged(); + } + + @Override + public void identityRemoved(String s) { + onContentChanged(); } } diff --git a/app/src/main/java/i2p/bote/android/identities/IdentityListFragment.java b/app/src/main/java/i2p/bote/android/identities/IdentityListFragment.java index 50ea680..a55efb8 100644 --- a/app/src/main/java/i2p/bote/android/identities/IdentityListFragment.java +++ b/app/src/main/java/i2p/bote/android/identities/IdentityListFragment.java @@ -28,6 +28,7 @@ import i2p.bote.android.util.BetterAsyncTaskLoader; import i2p.bote.android.widget.DividerItemDecoration; import i2p.bote.android.widget.LoadingRecyclerView; import i2p.bote.email.EmailIdentity; +import i2p.bote.email.IdentitiesListener; import i2p.bote.fileencryption.PasswordException; public class IdentityListFragment extends AuthenticatedFragment implements @@ -149,7 +150,7 @@ public class IdentityListFragment extends AuthenticatedFragment implements private void startNewIdentity() { Intent nii = new Intent(getActivity(), EditIdentityActivity.class); - getActivity().startActivityForResult(nii, IdentityListActivity.ALTER_IDENTITY_LIST); + getActivity().startActivity(nii); } protected void updateIdentityList() { @@ -162,7 +163,7 @@ public class IdentityListFragment extends AuthenticatedFragment implements return new IdentityLoader(getActivity()); } - private static class IdentityLoader extends BetterAsyncTaskLoader> { + private static class IdentityLoader extends BetterAsyncTaskLoader> implements IdentitiesListener { public IdentityLoader(Context context) { super(context); } @@ -185,15 +186,34 @@ public class IdentityListFragment extends AuthenticatedFragment implements @Override protected void onStartMonitoring() { + I2PBote.getInstance().getIdentities().addIdentitiesListener(this); } @Override protected void onStopMonitoring() { + I2PBote.getInstance().getIdentities().removeIdentitiesListener(this); } @Override protected void releaseResources(Collection data) { } + + // IdentitiesListener + + @Override + public void identityAdded(String s) { + onContentChanged(); + } + + @Override + public void identityUpdated(String s) { + onContentChanged(); + } + + @Override + public void identityRemoved(String s) { + onContentChanged(); + } } @Override