From 6409a3b17960deaeee57d14f4f5efedf6d3a55d4 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Mon, 4 Jan 2021 15:39:02 -0300 Subject: [PATCH] Refactor handleDbException to handleException --- .../briar/android/activity/BaseActivity.java | 3 +-- .../briar/android/blog/BlogFragment.java | 10 +++++----- .../briar/android/blog/BlogPostFragment.java | 2 +- .../briar/android/blog/FeedFragment.java | 6 +++--- .../briar/android/blog/FeedPostFragment.java | 2 +- .../briar/android/blog/ReblogFragment.java | 4 ++-- .../BaseContactSelectorFragment.java | 2 +- .../briar/android/forum/ForumActivity.java | 2 +- .../briar/android/fragment/BaseFragment.java | 7 +++---- .../android/navdrawer/NavDrawerActivity.java | 3 +-- .../conversation/GroupActivity.java | 6 +++--- .../creation/CreateGroupActivity.java | 2 +- .../creation/GroupInviteActivity.java | 2 +- .../privategroup/list/GroupListFragment.java | 18 ++++++------------ .../memberlist/GroupMemberListActivity.java | 2 +- .../reveal/RevealContactsActivity.java | 6 +++--- .../android/sharing/InvitationActivity.java | 4 ++-- .../android/sharing/ShareBlogActivity.java | 2 +- .../android/sharing/ShareForumActivity.java | 2 +- .../android/threaded/ThreadListActivity.java | 8 ++++---- .../briar/android/viewmodel/LiveResult.java | 17 +++++++++++++++++ 21 files changed, 59 insertions(+), 51 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/activity/BaseActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/activity/BaseActivity.java index f67f1fc91..1398c223a 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/activity/BaseActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/activity/BaseActivity.java @@ -6,7 +6,6 @@ import android.view.View; import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; -import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault; import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault; import org.briarproject.briar.R; @@ -240,7 +239,7 @@ public abstract class BaseActivity extends AppCompatActivity } @UiThread - public void handleDbException(DbException e) { + public void handleException(Exception e) { supportFinishAfterTransition(); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogFragment.java index a9e3da6d3..e138ec501 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogFragment.java @@ -232,7 +232,7 @@ public class BlogFragment extends BaseFragment @Override public void onExceptionUi(DbException exception) { - handleDbException(exception); + handleException(exception); } } ); @@ -277,7 +277,7 @@ public class BlogFragment extends BaseFragment @Override public void onExceptionUi(DbException exception) { - handleDbException(exception); + handleException(exception); } }); } @@ -296,7 +296,7 @@ public class BlogFragment extends BaseFragment @Override public void onExceptionUi(DbException exception) { - handleDbException(exception); + handleException(exception); } }); } @@ -318,7 +318,7 @@ public class BlogFragment extends BaseFragment @Override public void onExceptionUi(DbException exception) { - handleDbException(exception); + handleException(exception); } }); } @@ -398,7 +398,7 @@ public class BlogFragment extends BaseFragment @Override public void onExceptionUi(DbException exception) { - handleDbException(exception); + handleException(exception); } }); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostFragment.java index 25eb5d23b..cb61b75de 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostFragment.java @@ -58,7 +58,7 @@ public class BlogPostFragment extends BasePostFragment implements BlogListener { @Override public void onExceptionUi(DbException exception) { - handleDbException(exception); + handleException(exception); } }); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedFragment.java index cbb686e9d..75026a034 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedFragment.java @@ -156,7 +156,7 @@ public class FeedFragment extends BaseFragment implements @Override public void onExceptionUi(DbException exception) { - handleDbException(exception); + handleException(exception); } }); } @@ -187,7 +187,7 @@ public class FeedFragment extends BaseFragment implements @Override public void onExceptionUi(DbException exception) { - handleDbException(exception); + handleException(exception); } }); } @@ -242,7 +242,7 @@ public class FeedFragment extends BaseFragment implements @Override public void onExceptionUi(DbException exception) { - handleDbException(exception); + handleException(exception); } } ); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedPostFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedPostFragment.java index fb397898d..b9750a5a1 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedPostFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedPostFragment.java @@ -79,7 +79,7 @@ public class FeedPostFragment extends BasePostFragment { @Override public void onExceptionUi(DbException exception) { - handleDbException(exception); + handleException(exception); } }); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/ReblogFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/ReblogFragment.java index 058c09a2e..3f6f881ad 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/ReblogFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/ReblogFragment.java @@ -101,7 +101,7 @@ public class ReblogFragment extends BaseFragment implements SendListener { @Override public void onExceptionUi(DbException exception) { - handleDbException(exception); + handleException(exception); } }); @@ -128,7 +128,7 @@ public class ReblogFragment extends BaseFragment implements SendListener { new UiExceptionHandler(this) { @Override public void onExceptionUi(DbException exception) { - handleDbException(exception); + handleException(exception); } }); finish(); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contactselection/BaseContactSelectorFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/contactselection/BaseContactSelectorFragment.java index 3c6052c77..0d7558f02 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contactselection/BaseContactSelectorFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contactselection/BaseContactSelectorFragment.java @@ -133,7 +133,7 @@ public abstract class BaseContactSelectorFragment { - List items = result.getResultOrNull(); - if (items == null && result.getException() instanceof DbException) { - handleDbException((DbException) result.getException()); - } else { - adapter.submitList(items); - if (requireNonNull(items).size() == 0) list.showData(); - } - }); + viewModel.getGroupItems().observe(getViewLifecycleOwner(), result -> + result.onError(this::handleException).onSuccess(items -> { + adapter.submitList(items); + if (requireNonNull(items).size() == 0) list.showData(); + }) + ); Snackbar snackbar = new BriarSnackbarBuilder() .setAction(R.string.show, this) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/GroupMemberListActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/GroupMemberListActivity.java index 6a6fe5a7a..d359068db 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/GroupMemberListActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/GroupMemberListActivity.java @@ -124,7 +124,7 @@ public class GroupMemberListActivity extends BriarActivity @Override public void onExceptionUi(DbException exception) { - handleDbException(exception); + handleException(exception); } }); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/reveal/RevealContactsActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/reveal/RevealContactsActivity.java index 2e906f5e4..33dd285ae 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/reveal/RevealContactsActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/reveal/RevealContactsActivity.java @@ -80,7 +80,7 @@ public class RevealContactsActivity extends ContactSelectorActivity @Override public void onExceptionUi(DbException exception) { - handleDbException(exception); + handleException(exception); } }); } @@ -120,7 +120,7 @@ public class RevealContactsActivity extends ContactSelectorActivity new UiExceptionHandler(this) { @Override public void onExceptionUi(DbException exception) { - handleDbException(exception); + handleException(exception); } }); } @@ -137,7 +137,7 @@ public class RevealContactsActivity extends ContactSelectorActivity new UiExceptionHandler(this) { @Override public void onExceptionUi(DbException exception) { - handleDbException(exception); + handleException(exception); } }); supportFinishAfterTransition(); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationActivity.java index ab83a50a1..e82b19ad6 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationActivity.java @@ -98,7 +98,7 @@ public abstract class InvitationActivity @Override public void onExceptionUi(DbException exception) { - handleDbException(exception); + handleException(exception); } }); } @@ -110,7 +110,7 @@ public abstract class InvitationActivity new UiExceptionHandler(this) { @Override public void onExceptionUi(DbException exception) { - handleDbException(exception); + handleException(exception); } }); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareBlogActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareBlogActivity.java index 56bd95f72..9bc3cda43 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareBlogActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareBlogActivity.java @@ -59,7 +59,7 @@ public class ShareBlogActivity extends ShareActivity { Toast.makeText(ShareBlogActivity.this, R.string.blogs_sharing_error, LENGTH_SHORT) .show(); - handleDbException(exception); + handleException(exception); } }); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareForumActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareForumActivity.java index 5969ea92d..f2c1d63e5 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareForumActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareForumActivity.java @@ -59,7 +59,7 @@ public class ShareForumActivity extends ShareActivity { Toast.makeText(ShareForumActivity.this, R.string.forum_share_error, LENGTH_SHORT) .show(); - handleDbException(exception); + handleException(exception); } }); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java index b01248782..22138f19e 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java @@ -152,7 +152,7 @@ public abstract class ThreadListActivity { @@ -36,4 +37,20 @@ public class LiveResult { return exception != null; } + /** + * Runs the given function, if {@link #hasError()} is true. + */ + public LiveResult onError(Consumer fun) { + if (exception != null) fun.accept(exception); + return this; + } + + /** + * Runs the given function, if {@link #hasError()} is false. + */ + public LiveResult onSuccess(Consumer fun) { + if (result != null) fun.accept(result); + return this; + } + }