From 0a9840997f8a69f0516dac8f82a2719b8d688792 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Wed, 21 Dec 2016 12:06:20 -0200 Subject: [PATCH] This adds a `handleDbException()` method to BaseActivity and a corresponding method for fragments that calls through to the activity. For now, the method just finishes the activity and NavDrawerActivity overrides it to do nothing, and all the error places marked with TODO that finish the activity call the method instead. That gives us zero functional improvement over the status quo, but it allows us to change the default behaviour easily, and then we can start thinking about which cases should have non-default behaviour. --- .../briar/android/activity/BaseActivity.java | 6 ++++++ .../briar/android/blog/BlogFragment.java | 15 +++++---------- .../briar/android/blog/BlogPostFragment.java | 3 +-- .../briar/android/blog/FeedFragment.java | 8 ++++---- .../briar/android/blog/FeedPostFragment.java | 2 +- .../briar/android/blog/ReblogFragment.java | 6 ++---- .../BaseContactSelectorFragment.java | 3 +-- .../briar/android/forum/ForumActivity.java | 3 +-- .../briar/android/fragment/BaseFragment.java | 9 +++++++++ .../android/navdrawer/NavDrawerActivity.java | 6 ++++++ .../conversation/GroupActivity.java | 9 +++------ .../creation/BaseGroupInviteActivity.java | 3 +-- .../creation/CreateGroupActivity.java | 3 +-- .../privategroup/list/GroupListFragment.java | 7 +++---- .../memberlist/GroupMemberListActivity.java | 3 +-- .../reveal/RevealContactsActivity.java | 8 +++----- .../android/sharing/InvitationActivity.java | 6 ++---- .../android/sharing/ShareBlogActivity.java | 2 +- .../android/sharing/ShareForumActivity.java | 2 +- .../android/threaded/ThreadListActivity.java | 17 ++++++----------- 20 files changed, 58 insertions(+), 63 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 699985ee6..1953756c6 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,6 +6,7 @@ import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.inputmethod.InputMethodManager; +import org.briarproject.bramble.api.db.DbException; import org.briarproject.briar.android.AndroidComponent; import org.briarproject.briar.android.BriarApplication; import org.briarproject.briar.android.DestroyableContext; @@ -116,4 +117,9 @@ public abstract class BaseActivity extends AppCompatActivity Object o = getSystemService(INPUT_METHOD_SERVICE); ((InputMethodManager) o).hideSoftInputFromWindow(token, 0); } + + public void handleDbException(DbException 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 2dcbd3766..d3e8626d2 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 @@ -205,8 +205,7 @@ public class BlogFragment extends BaseFragment @Override public void onExceptionUi(DbException exception) { - // TODO: Decide how to handle errors in the UI - finish(); + handleDbException(exception); } } ); @@ -234,8 +233,7 @@ public class BlogFragment extends BaseFragment @Override public void onExceptionUi(DbException exception) { - // TODO: Decide how to handle errors in the UI - finish(); + handleDbException(exception); } }); } @@ -254,8 +252,7 @@ public class BlogFragment extends BaseFragment @Override public void onExceptionUi(DbException exception) { - // TODO: Decide how to handle errors in the UI - finish(); + handleDbException(exception); } }); } @@ -277,8 +274,7 @@ public class BlogFragment extends BaseFragment @Override public void onExceptionUi(DbException exception) { - // TODO: Decide how to handle errors in the UI - finish(); + handleDbException(exception); } }); } @@ -373,8 +369,7 @@ public class BlogFragment extends BaseFragment @Override public void onExceptionUi(DbException exception) { - // TODO: Decide how to handle errors in the UI - finish(); + handleDbException(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 2655c7ff3..5c631f177 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 @@ -55,8 +55,7 @@ public class BlogPostFragment extends BasePostFragment { @Override public void onExceptionUi(DbException exception) { - // TODO: Decide how to handle errors in the UI - finish(); + handleDbException(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 279e58668..7d2c89bd0 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 @@ -129,7 +129,7 @@ public class FeedFragment extends BaseFragment implements @Override public void onExceptionUi(DbException exception) { - // TODO: Decide how to handle errors in the UI + handleDbException(exception); } }); } @@ -153,8 +153,8 @@ public class FeedFragment extends BaseFragment implements } @Override - public void onExceptionUi(DbException e) { - // TODO: Decide how to handle errors in the UI + public void onExceptionUi(DbException exception) { + handleDbException(exception); } }); list.startPeriodicUpdate(); @@ -211,7 +211,7 @@ public class FeedFragment extends BaseFragment implements @Override public void onExceptionUi(DbException exception) { - // TODO: Decide how to handle errors in the UI + handleDbException(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 233c5b99c..54d4c5221 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) { - // TODO: Decide how to handle errors in the UI + handleDbException(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 43064752f..eda320d2f 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 @@ -99,8 +99,7 @@ public class ReblogFragment extends BaseFragment implements TextInputListener { @Override public void onExceptionUi(DbException exception) { - // TODO - finish(); + handleDbException(exception); } }); } @@ -130,8 +129,7 @@ public class ReblogFragment extends BaseFragment implements TextInputListener { new UiExceptionHandler(this) { @Override public void onExceptionUi(DbException exception) { - // TODO proper error handling - // do nothing, this fragment is gone already + handleDbException(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 ec318ebe3..c7c10849d 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 @@ -130,8 +130,7 @@ public abstract class BaseContactSelectorFragment(3); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupActivity.java index 1f6dab890..2542db31f 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupActivity.java @@ -117,8 +117,7 @@ public class GroupActivity extends @Override public void onExceptionUi(DbException exception) { - // TODO proper error handling - finish(); + handleDbException(exception); } }); } @@ -137,8 +136,7 @@ public class GroupActivity extends @Override public void onExceptionUi(DbException exception) { - // TODO proper error handling - finish(); + handleDbException(exception); } }); } @@ -276,8 +274,7 @@ public class GroupActivity extends // GroupRemovedEvent being fired @Override public void onExceptionUi(DbException exception) { - // TODO proper error handling - finish(); + handleDbException(exception); } }); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/BaseGroupInviteActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/BaseGroupInviteActivity.java index 30d64e95a..315aed855 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/BaseGroupInviteActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/BaseGroupInviteActivity.java @@ -43,9 +43,8 @@ public abstract class BaseGroupInviteActivity @Override public void onExceptionUi(DbException exception) { - // TODO proper error handling setResult(RESULT_CANCELED); - finish(); + handleDbException(exception); } }); return true; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupActivity.java index 0f13bab83..5e7a64f56 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupActivity.java @@ -58,8 +58,7 @@ public class CreateGroupActivity extends BaseGroupInviteActivity implements @Override public void onExceptionUi(DbException exception) { - // TODO proper error handling - finish(); + handleDbException(exception); } }); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListFragment.java index bea0ff235..9fbed643c 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListFragment.java @@ -132,7 +132,7 @@ public class GroupListFragment extends BaseFragment implements // result handled by GroupRemovedEvent and onGroupRemoved() @Override public void onExceptionUi(DbException exception) { - // TODO handle error + handleDbException(exception); } }); } @@ -202,7 +202,7 @@ public class GroupListFragment extends BaseFragment implements @Override public void onExceptionUi(DbException exception) { - // TODO handle this error + handleDbException(exception); } }); } @@ -224,8 +224,7 @@ public class GroupListFragment extends BaseFragment implements @Override public void onExceptionUi(DbException exception) { - // TODO handle this error - finish(); + handleDbException(exception); } }); } 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 182a336d0..feadb3d51 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 @@ -67,8 +67,7 @@ public class GroupMemberListActivity extends BriarActivity { @Override public void onExceptionUi(DbException exception) { - // TODO proper error handling - finish(); + handleDbException(exception); } }); list.startPeriodicUpdate(); 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 450b6e4ff..778802f72 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,8 +80,7 @@ public class RevealContactsActivity extends ContactSelectorActivity @Override public void onExceptionUi(DbException exception) { - // TODO proper error handling - finish(); + handleDbException(exception); } }); } @@ -132,7 +131,7 @@ public class RevealContactsActivity extends ContactSelectorActivity new UiExceptionHandler(this) { @Override public void onExceptionUi(DbException exception) { - // TODO proper error handling + handleDbException(exception); } }); } @@ -149,8 +148,7 @@ public class RevealContactsActivity extends ContactSelectorActivity new UiExceptionHandler(this) { @Override public void onExceptionUi(DbException exception) { - // TODO proper error handling - finish(); + handleDbException(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 1f755fe36..6f57eed9f 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 @@ -97,8 +97,7 @@ public abstract class InvitationActivity @Override public void onExceptionUi(DbException exception) { - // TODO proper error handling - finish(); + handleDbException(exception); } }); } @@ -111,8 +110,7 @@ public abstract class InvitationActivity new UiExceptionHandler(this) { @Override public void onExceptionUi(DbException exception) { - // TODO proper error handling - finish(); + handleDbException(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 1d6581e6b..b9fbcbde5 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 @@ -56,10 +56,10 @@ public class ShareBlogActivity extends ShareActivity { new UiExceptionHandler(this) { @Override public void onExceptionUi(DbException exception) { - // TODO proper error handling Toast.makeText(ShareBlogActivity.this, R.string.blogs_sharing_error, LENGTH_SHORT) .show(); + handleDbException(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 dc16a239f..b274991a1 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 @@ -56,10 +56,10 @@ public class ShareForumActivity extends ShareActivity { new UiExceptionHandler(this) { @Override public void onExceptionUi(DbException exception) { - // TODO proper error handling Toast.makeText(ShareForumActivity.this, R.string.forum_share_error, LENGTH_SHORT) .show(); + handleDbException(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 b1d937dda..0f83203db 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 @@ -114,8 +114,7 @@ public abstract class ThreadListActivity