소스 검색

Exit the app when there is only this EOL account

Signed-off-by: Joas Schilling <coding@schilljs.com>
Joas Schilling 4 년 전
부모
커밋
c789152122

+ 6 - 1
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)

+ 5 - 0
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();