浏览代码

set showUnauthorizedDialog to modal

avoid crash when login view is shown after coming from showUnauthorizedDialog

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
Marcel Hibbe 4 年之前
父节点
当前提交
4f0a813512
共有 1 个文件被更改,包括 6 次插入5 次删除
  1. 6 5
      app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java

+ 6 - 5
app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java

@@ -263,7 +263,9 @@ public class ConversationsListController extends BaseController implements Searc
     @Override
     @Override
     protected void onAttach(@NonNull View view) {
     protected void onAttach(@NonNull View view) {
         super.onAttach(view);
         super.onAttach(view);
-        eventBus.register(this);
+        if (!eventBus.isRegistered(this)) {
+            eventBus.register(this);
+        }
 
 
         currentUser = userUtils.getCurrentUser();
         currentUser = userUtils.getCurrentUser();
 
 
@@ -480,12 +482,10 @@ public class ConversationsListController extends BaseController implements Searc
                         HttpException exception = (HttpException) throwable;
                         HttpException exception = (HttpException) throwable;
                         switch (exception.code()) {
                         switch (exception.code()) {
                             case 401:
                             case 401:
-                                if (getParentController() != null &&
-                                        getParentController().getRouter() != null) {
+                                if (getParentController() != null && getParentController().getRouter() != null) {
                                     Log.d(TAG, "Starting reauth webview via getParentController()");
                                     Log.d(TAG, "Starting reauth webview via getParentController()");
                                     getParentController().getRouter().pushController((RouterTransaction.with
                                     getParentController().getRouter().pushController((RouterTransaction.with
-                                            (new WebViewLoginController(currentUser.getBaseUrl(),
-                                                                        true))
+                                            (new WebViewLoginController(currentUser.getBaseUrl(), true))
                                             .pushChangeHandler(new VerticalChangeHandler())
                                             .pushChangeHandler(new VerticalChangeHandler())
                                             .popChangeHandler(new VerticalChangeHandler())));
                                             .popChangeHandler(new VerticalChangeHandler())));
                                 } else {
                                 } else {
@@ -827,6 +827,7 @@ public class ConversationsListController extends BaseController implements Searc
                     .setIcon(DisplayUtils.getTintedDrawable(context.getResources(),
                     .setIcon(DisplayUtils.getTintedDrawable(context.getResources(),
                                                             R.drawable.ic_delete_black_24dp, R.color.bg_default))
                                                             R.drawable.ic_delete_black_24dp, R.color.bg_default))
                     .setPositiveButtonColor(context.getResources().getColor(R.color.nc_darkRed))
                     .setPositiveButtonColor(context.getResources().getColor(R.color.nc_darkRed))
+                    .setCancelable(false)
                     .setTitle(R.string.nc_dialog_invalid_password)
                     .setTitle(R.string.nc_dialog_invalid_password)
                     .setMessage(R.string.nc_dialog_reauth_or_delete)
                     .setMessage(R.string.nc_dialog_reauth_or_delete)
                     .setPositiveButton(R.string.nc_delete, new View.OnClickListener() {
                     .setPositiveButton(R.string.nc_delete, new View.OnClickListener() {