diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java b/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java index 9a6fefeae..a5b564c64 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java @@ -301,7 +301,12 @@ public class ConversationsListController extends BaseController implements Searc .setNegativeButton(R.string.nc_cancel, new View.OnClickListener() { @Override public void onClick(View v) { - getRouter().pushController(RouterTransaction.with(new SwitchAccountController())); + if (userUtils.hasMultipleUsers()) { + getRouter().pushController(RouterTransaction.with(new SwitchAccountController())); + } else { + getActivity().finishAffinity(); + getActivity().finish(); + } } }) .setInstanceStateHandler(ID_DELETE_CONVERSATION_DIALOG, saveStateHandler) diff --git a/app/src/main/java/com/nextcloud/talk/utils/database/user/UserUtils.java b/app/src/main/java/com/nextcloud/talk/utils/database/user/UserUtils.java index 6871a740a..cf3458353 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/database/user/UserUtils.java +++ b/app/src/main/java/com/nextcloud/talk/utils/database/user/UserUtils.java @@ -48,6 +48,11 @@ public class UserUtils { .limit(1).get().value() > 0); } + public boolean hasMultipleUsers() { + return (dataStore.count(User.class).where(UserEntity.SCHEDULED_FOR_DELETION.notEqual(Boolean.TRUE)) + .get().value() > 1); + } + public List getUsers() { Result findUsersQueryResult = dataStore.select(User.class).where (UserEntity.SCHEDULED_FOR_DELETION.notEqual(true)).get();