|
@@ -271,46 +271,8 @@ public class ConversationsListController extends BaseController implements Searc
|
|
|
|
|
|
if (currentUser != null) {
|
|
if (currentUser != null) {
|
|
if (currentUser.isServerEOL()) {
|
|
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());
|
|
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) {
|
|
private void deleteConversation(Data data) {
|
|
OneTimeWorkRequest deleteConversationWorker =
|
|
OneTimeWorkRequest deleteConversationWorker =
|
|
new OneTimeWorkRequest.Builder(DeleteConversationWorker.class).setInputData(data).build();
|
|
new OneTimeWorkRequest.Builder(DeleteConversationWorker.class).setInputData(data).build();
|