소스 검색

Move dialog into a new function

Signed-off-by: Joas Schilling <coding@schilljs.com>
Joas Schilling 4 년 전
부모
커밋
c368af6bab
1개의 변경된 파일45개의 추가작업 그리고 40개의 파일을 삭제
  1. 45 40
      app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java

+ 45 - 40
app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java

@@ -271,46 +271,8 @@ public class ConversationsListController extends BaseController implements Searc
 
         if (currentUser != null) {
             if (currentUser.isServerEOL()) {
-                new LovelyStandardDialog(getActivity(), LovelyStandardDialog.ButtonLayout.HORIZONTAL)
-                        .setTopColorRes(R.color.nc_darkRed)
-                        .setIcon(DisplayUtils.getTintedDrawable(context.getResources(),
-                                                                R.drawable.ic_timer_black_24dp, R.color.bg_default))
-                        .setPositiveButtonColor(context.getResources().getColor(R.color.nc_darkRed))
-                        .setCancelable(false)
-                        .setTitle(R.string.nc_settings_server_eol_title)
-                        .setMessage(R.string.nc_settings_server_eol)
-                        .setPositiveButton(R.string.nc_settings_remove_account, new View.OnClickListener() {
-                            @Override
-                            public void onClick(View v) {
-                                boolean otherUserExists = userUtils.scheduleUserForDeletionWithId(currentUser.getId());
-
-                                OneTimeWorkRequest accountRemovalWork = new OneTimeWorkRequest.Builder(AccountRemovalWorker.class).build();
-                                WorkManager.getInstance().enqueue(accountRemovalWork);
-
-                                if (otherUserExists && getView() != null) {
-                                    onViewBound(getView());
-                                    onAttach(getView());
-                                } else if (!otherUserExists) {
-                                    getRouter().setRoot(RouterTransaction.with(
-                                            new ServerSelectionController())
-                                                                .pushChangeHandler(new VerticalChangeHandler())
-                                                                .popChangeHandler(new VerticalChangeHandler()));
-                                }
-                            }
-                        })
-                        .setNegativeButton(R.string.nc_cancel, new View.OnClickListener() {
-                            @Override
-                            public void onClick(View v) {
-                                if (userUtils.hasMultipleUsers()) {
-                                    getRouter().pushController(RouterTransaction.with(new SwitchAccountController()));
-                                } else {
-                                    getActivity().finishAffinity();
-                                    getActivity().finish();
-                                }
-                            }
-                        })
-                        .setInstanceStateHandler(ID_DELETE_CONVERSATION_DIALOG, saveStateHandler)
-                        .show();
+                showServerEOLDialog();
+                return;
             }
 
             credentials = ApiUtils.getCredentials(currentUser.getUsername(), currentUser.getToken());
@@ -906,6 +868,49 @@ public class ConversationsListController extends BaseController implements Searc
         }
     }
 
+    private void showServerEOLDialog() {
+        new LovelyStandardDialog(getActivity(), LovelyStandardDialog.ButtonLayout.HORIZONTAL)
+                .setTopColorRes(R.color.nc_darkRed)
+                .setIcon(DisplayUtils.getTintedDrawable(context.getResources(),
+                                                        R.drawable.ic_timer_black_24dp, R.color.bg_default))
+                .setPositiveButtonColor(context.getResources().getColor(R.color.nc_darkRed))
+                .setCancelable(false)
+                .setTitle(R.string.nc_settings_server_eol_title)
+                .setMessage(R.string.nc_settings_server_eol)
+                .setPositiveButton(R.string.nc_settings_remove_account, new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        boolean otherUserExists = userUtils.scheduleUserForDeletionWithId(currentUser.getId());
+
+                        OneTimeWorkRequest accountRemovalWork = new OneTimeWorkRequest.Builder(AccountRemovalWorker.class).build();
+                        WorkManager.getInstance().enqueue(accountRemovalWork);
+
+                        if (otherUserExists && getView() != null) {
+                            onViewBound(getView());
+                            onAttach(getView());
+                        } else if (!otherUserExists) {
+                            getRouter().setRoot(RouterTransaction.with(
+                                    new ServerSelectionController())
+                                                        .pushChangeHandler(new VerticalChangeHandler())
+                                                        .popChangeHandler(new VerticalChangeHandler()));
+                        }
+                    }
+                })
+                .setNegativeButton(R.string.nc_cancel, new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        if (userUtils.hasMultipleUsers()) {
+                            getRouter().pushController(RouterTransaction.with(new SwitchAccountController()));
+                        } else {
+                            getActivity().finishAffinity();
+                            getActivity().finish();
+                        }
+                    }
+                })
+                .setInstanceStateHandler(ID_DELETE_CONVERSATION_DIALOG, saveStateHandler)
+                .show();
+    }
+
     private void deleteConversation(Data data) {
         OneTimeWorkRequest deleteConversationWorker =
                 new OneTimeWorkRequest.Builder(DeleteConversationWorker.class).setInputData(data).build();