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 699985ee6d418d72034a14f7090534066e1f0db3..1953756c626b08f4e7b8b1b15334cbaaf2b1caff 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 2dcbd3766c25807309f83552d78d8434054401a9..d3e8626d2d25ad250c06ea93576e2a6b30a9dec9 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 2655c7ff33aca6c0aae2778fd72527daf1c45124..5c631f177217668530608511194e7dca52c31155 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 279e58668510b129f55b5d6b5638c8dcebead46c..7d2c89bd0d1f7fdfe822c627ab6d175bfa32d101 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 233c5b99cad23c73d7fd6968f430b178ae79fd9f..54d4c52210175be58fd17c441ee37d88a3fa6ade 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 43064752fc67e16b931148517e4b7963636c3834..eda320d2f6d7be0e05dd72173245ec64d6d34b2b 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<DbException>(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 ec318ebe36c16d005d9332e302db9ab05281b0ad..c7c10849d7de9ff3c12b7f0ccf65e0dbf891d8b9 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<I extends SelectableContactIte @Override public void onExceptionUi(DbException exception) { - // TODO error handling - finish(); + handleDbException(exception); } }); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumActivity.java index 5729e4c8b787c66b9685ba01eac73f477ba0a512..a5152fb9cceddb1996fff52d2108b43d93c80b4a 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumActivity.java @@ -192,8 +192,7 @@ public class ForumActivity extends @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/fragment/BaseFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/fragment/BaseFragment.java index 46c7c01a91e81c5023d0ea96566426119ec7982d..7273a7f54f1c6eddf19946cd01a7c3cb69c07024 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/fragment/BaseFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/fragment/BaseFragment.java @@ -8,6 +8,7 @@ import android.support.annotation.UiThread; import android.support.v4.app.Fragment; import android.view.MenuItem; +import org.briarproject.bramble.api.db.DbException; import org.briarproject.briar.android.DestroyableContext; import org.briarproject.briar.android.activity.ActivityComponent; @@ -71,6 +72,9 @@ public abstract class BaseFragment extends Fragment @UiThread void showNextFragment(BaseFragment f); + + @UiThread + void handleDbException(DbException e); } @CallSuper @@ -95,4 +99,9 @@ public abstract class BaseFragment extends Fragment listener.showNextFragment(f); } + @UiThread + protected void handleDbException(DbException e) { + listener.handleDbException(e); + } + } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerActivity.java index 1a5398630e5c737f2f90cd2f22dfafde53f3c088..f0ff34aedc309f4d0d4345f883aeb045c0140105 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerActivity.java @@ -19,6 +19,7 @@ import android.widget.GridView; import android.widget.ImageView; import android.widget.TextView; +import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.plugin.BluetoothConstants; import org.briarproject.bramble.api.plugin.LanTcpConstants; import org.briarproject.bramble.api.plugin.TorConstants; @@ -246,6 +247,11 @@ public class NavDrawerActivity extends BriarActivity implements POP_BACK_STACK_INCLUSIVE); } + @Override + public void handleDbException(DbException e) { + // Do nothing for now + } + private void initializeTransports(final LayoutInflater inflater) { transports = new ArrayList<>(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 1f6dab890927789d2bef1e9f1605fde3e9af7e08..2542db31f7caecaf8bb938facbaf6950d40b35c5 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 30d64e95a17aa983973a8fe5924959d20072a45a..315aed855bb74453e3b82f86488287aecc8d47ca 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 0f13bab833458307852c1b9a802c99e80cff1e68..5e7a64f56432a42a93ac4d611f0f16e558e472a6 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 bea0ff2359ae2c8bab05374836c41be08f17d597..9fbed643c539cc9271ee8c7e0927054243704538 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 182a336d00bb72d1c382327b9e7fd1abb33de8c4..feadb3d5162af879b23e0cb347e79de743dd592d 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 450b6e4ff1b1804bffdf46e5e66261ec67e57f44..778802f72616035f0084b0dd118bb998f130b6c8 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<DbException>(this) { @Override public void onExceptionUi(DbException exception) { - // TODO proper error handling + handleDbException(exception); } }); } @@ -149,8 +148,7 @@ public class RevealContactsActivity extends ContactSelectorActivity new UiExceptionHandler<DbException>(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 1f755fe366e1b3f5f46cda5a36b9ebee0b432afd..6f57eed9fe3c942f1be1f26fdfe4ba1f5b1cc178 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<I extends InvitationItem> @Override public void onExceptionUi(DbException exception) { - // TODO proper error handling - finish(); + handleDbException(exception); } }); } @@ -111,8 +110,7 @@ public abstract class InvitationActivity<I extends InvitationItem> new UiExceptionHandler<DbException>(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 1d6581e6b1581f70ceef2365d2dd391e14341463..b9fbcbde54930c0fcf9b7203f3c133d3e52f8faf 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<DbException>(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 dc16a239fbf75bdee5589c35e975c20d61518ec1..b274991a1a9db503d9614811a7a4866fc002a75a 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<DbException>(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 b1d937dda529df39fd9a102451e43ad05f78fbe9..0f83203db915cb514794d8f78fbec1c807a7e3bf 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<G extends NamedGroup, A extends ThreadI @Override public void onExceptionUi(DbException exception) { - // TODO Proper error handling - finish(); + handleDbException(exception); } }); } @@ -147,8 +146,7 @@ public abstract class ThreadListActivity<G extends NamedGroup, A extends ThreadI @Override public void onExceptionUi(DbException exception) { - // TODO Proper error handling - finish(); + handleDbException(exception); } }); } @@ -165,9 +163,8 @@ public abstract class ThreadListActivity<G extends NamedGroup, A extends ThreadI } @Override - public void onExceptionUi(DbException e) { - // TODO Proper error handling - finish(); + public void onExceptionUi(DbException exception) { + handleDbException(exception); } }); } @@ -299,8 +296,7 @@ public abstract class ThreadListActivity<G extends NamedGroup, A extends ThreadI @Override public void onExceptionUi(DbException exception) { - // TODO add proper exception handling - finish(); + handleDbException(exception); } }; getController().createAndStoreMessage(text, replyItem, handler); @@ -323,8 +319,7 @@ public abstract class ThreadListActivity<G extends NamedGroup, A extends ThreadI @Override public void onExceptionUi(DbException exception) { - // TODO add proper exception handling - finish(); + handleDbException(exception); } }); }