From f1e674634b6d62e1357a48b7827d84f5d6fcf600 Mon Sep 17 00:00:00 2001 From: Stefan Niedermann Date: Mon, 10 Jan 2022 10:57:23 +0100 Subject: Reset bindings to null onDestroy Signed-off-by: Stefan Niedermann --- .../deck/ui/accountswitcher/AccountSwitcherDialog.java | 10 ++++++++-- .../nextcloud/deck/ui/board/EditBoardDialogFragment.java | 10 ++++++++-- .../board/accesscontrol/AccessControlDialogFragment.java | 6 ++++++ .../ui/board/managelabels/EditLabelDialogFragment.java | 10 ++++++++-- .../ui/board/managelabels/ManageLabelsDialogFragment.java | 6 ++++++ .../niedermann/nextcloud/deck/ui/card/NewCardDialog.java | 7 ++++++- .../deck/ui/card/assignee/CardAssigneeDialog.java | 6 ++++++ .../ui/card/attachments/previewdialog/PreviewDialog.java | 1 + .../ui/card/comments/CardCommentsEditDialogFragment.java | 6 ++++++ .../card/projectresources/CardProjectResourcesDialog.java | 6 ++++++ .../nextcloud/deck/ui/filter/FilterDueTypeFragment.java | 10 ++++++++-- .../nextcloud/deck/ui/filter/FilterUserFragment.java | 10 ++++++++-- .../deck/ui/manageaccounts/ManageAccountsActivity.java | 14 ++++++++++---- .../nextcloud/deck/ui/movecard/MoveCardDialogFragment.java | 6 ++++++ .../nextcloud/deck/ui/pickstack/PickStackFragment.java | 6 ++++++ .../nextcloud/deck/ui/settings/SettingsActivity.java | 10 +++++++++- .../deck/ui/sharetarget/ShareProgressDialogFragment.java | 6 ++++++ .../nextcloud/deck/ui/stack/EditStackDialogFragment.java | 6 ++++++ .../niedermann/nextcloud/deck/ui/stack/StackFragment.java | 6 ++++++ .../nextcloud/deck/ui/takephoto/TakePhotoActivity.java | 6 ++++++ .../deck/ui/upcomingcards/UpcomingCardsActivity.java | 9 ++++++++- .../widget/filter/FilterWidgetConfigurationActivity.java | 6 ++++++ 22 files changed, 146 insertions(+), 17 deletions(-) (limited to 'app/src/main/java') diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java index 3b30e4563..98690e0ca 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java @@ -1,5 +1,7 @@ package it.niedermann.nextcloud.deck.ui.accountswitcher; +import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.LiveDataHelper.observeOnce; + import android.app.Dialog; import android.net.Uri; import android.os.Bundle; @@ -29,8 +31,6 @@ import it.niedermann.nextcloud.deck.model.Account; import it.niedermann.nextcloud.deck.ui.MainViewModel; import it.niedermann.nextcloud.deck.ui.manageaccounts.ManageAccountsActivity; -import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.LiveDataHelper.observeOnce; - public class AccountSwitcherDialog extends DialogFragment { private AccountSwitcherAdapter adapter; @@ -98,6 +98,12 @@ public class AccountSwitcherDialog extends DialogFragment { .create(); } + @Override + public void onDestroy() { + super.onDestroy(); + this.binding = null; + } + public static DialogFragment newInstance() { return new AccountSwitcherDialog(); } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/EditBoardDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/EditBoardDialogFragment.java index 79e29c08b..eff80cea6 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/EditBoardDialogFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/EditBoardDialogFragment.java @@ -1,5 +1,7 @@ package it.niedermann.nextcloud.deck.ui.board; +import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToEditTextInputLayout; + import android.app.Dialog; import android.content.Context; import android.os.Bundle; @@ -22,8 +24,6 @@ import it.niedermann.nextcloud.deck.databinding.DialogTextColorInputBinding; import it.niedermann.nextcloud.deck.model.full.FullBoard; import it.niedermann.nextcloud.deck.ui.MainViewModel; -import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToEditTextInputLayout; - public class EditBoardDialogFragment extends DialogFragment { private DialogTextColorInputBinding binding; @@ -90,6 +90,12 @@ public class EditBoardDialogFragment extends DialogFragment { return super.onCreateView(inflater, container, savedInstanceState); } + @Override + public void onDestroy() { + super.onDestroy(); + this.binding = null; + } + public static DialogFragment newInstance(long boardId) { final DialogFragment dialog = new EditBoardDialogFragment(); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlDialogFragment.java index 241fa6121..17f8e6891 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlDialogFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlDialogFragment.java @@ -98,6 +98,12 @@ public class AccessControlDialogFragment extends DialogFragment implements Acces .create(); } + @Override + public void onDestroy() { + super.onDestroy(); + this.binding = null; + } + @Override public void updateAccessControl(AccessControl accessControl) { viewModel.updateAccessControl(accessControl, new IResponseCallback<>() { diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/managelabels/EditLabelDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/managelabels/EditLabelDialogFragment.java index 73a2bdf3e..b372e04c7 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/managelabels/EditLabelDialogFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/managelabels/EditLabelDialogFragment.java @@ -1,5 +1,7 @@ package it.niedermann.nextcloud.deck.ui.board.managelabels; +import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToEditTextInputLayout; + import android.app.Dialog; import android.content.Context; import android.os.Bundle; @@ -13,8 +15,6 @@ import it.niedermann.nextcloud.deck.databinding.DialogTextColorInputBinding; import it.niedermann.nextcloud.deck.model.Label; import it.niedermann.nextcloud.deck.ui.branding.BrandedDialogFragment; -import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToEditTextInputLayout; - public class EditLabelDialogFragment extends BrandedDialogFragment { private DialogTextColorInputBinding binding; @@ -72,6 +72,12 @@ public class EditLabelDialogFragment extends BrandedDialogFragment { .create(); } + @Override + public void onDestroy() { + super.onDestroy(); + this.binding = null; + } + public static DialogFragment newInstance(@NonNull Label label) { final DialogFragment dialog = new EditLabelDialogFragment(); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/managelabels/ManageLabelsDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/managelabels/ManageLabelsDialogFragment.java index 8f778c749..34abebf8e 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/managelabels/ManageLabelsDialogFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/managelabels/ManageLabelsDialogFragment.java @@ -111,6 +111,12 @@ public class ManageLabelsDialogFragment extends BrandedDialogFragment implements .create(); } + @Override + public void onDestroy() { + super.onDestroy(); + this.binding = null; + } + @Override public void applyBrand(int mainColor) { applyBrandToFAB(mainColor, binding.fab); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/NewCardDialog.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/NewCardDialog.java index 466d4a2c6..6d6a5434d 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/NewCardDialog.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/NewCardDialog.java @@ -23,7 +23,6 @@ import androidx.fragment.app.DialogFragment; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModelProvider; -import it.niedermann.nextcloud.deck.DeckLog; import it.niedermann.nextcloud.deck.R; import it.niedermann.nextcloud.deck.api.IResponseCallback; import it.niedermann.nextcloud.deck.databinding.DialogNewCardBinding; @@ -154,6 +153,12 @@ public class NewCardDialog extends DialogFragment implements DialogInterface.OnC return super.onCreateView(inflater, container, savedInstanceState); } + @Override + public void onDestroy() { + super.onDestroy(); + this.binding = null; + } + @Override public void onClick(DialogInterface dialog, int which) { final boolean openOnSuccess; diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/assignee/CardAssigneeDialog.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/assignee/CardAssigneeDialog.java index 8ee2c6318..6a15a4f6c 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/assignee/CardAssigneeDialog.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/assignee/CardAssigneeDialog.java @@ -98,6 +98,12 @@ public class CardAssigneeDialog extends DialogFragment { binding.title.setText(user.getDisplayname()); } + @Override + public void onDestroy() { + super.onDestroy(); + this.binding = null; + } + public static DialogFragment newInstance(@NonNull User user) { final var fragment = new CardAssigneeDialog(); final var args = new Bundle(); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/previewdialog/PreviewDialog.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/previewdialog/PreviewDialog.java index bbe0dc8a1..52aa36128 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/previewdialog/PreviewDialog.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/previewdialog/PreviewDialog.java @@ -88,6 +88,7 @@ public class PreviewDialog extends DialogFragment { this.imageBuilder$.removeObservers(requireActivity()); this.title$.removeObservers(requireActivity()); super.onDestroy(); + this.binding = null; } public static DialogFragment newInstance() { diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsEditDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsEditDialogFragment.java index 2f1ed7b09..b6f6df906 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsEditDialogFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsEditDialogFragment.java @@ -69,6 +69,12 @@ public class CardCommentsEditDialogFragment extends BrandedDialogFragment { return super.onCreateView(inflater, container, savedInstanceState); } + @Override + public void onDestroy() { + super.onDestroy(); + this.binding = null; + } + public static DialogFragment newInstance(@NonNull Long commentLocalId, String message) { final var fragment = new CardCommentsEditDialogFragment(); final var args = new Bundle(); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/projectresources/CardProjectResourcesDialog.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/projectresources/CardProjectResourcesDialog.java index 1a2803d7e..de9c3460c 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/projectresources/CardProjectResourcesDialog.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/projectresources/CardProjectResourcesDialog.java @@ -56,6 +56,12 @@ public class CardProjectResourcesDialog extends DialogFragment { .create(); } + @Override + public void onDestroy() { + super.onDestroy(); + this.binding = null; + } + @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { final var adapter = new CardProjectResourceAdapter(viewModel, resources, requireActivity()); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDueTypeFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDueTypeFragment.java index 5134498b2..ac23faf6c 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDueTypeFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDueTypeFragment.java @@ -18,12 +18,12 @@ import it.niedermann.nextcloud.deck.model.enums.EDueType; public class FilterDueTypeFragment extends Fragment implements SelectionListener { private FilterViewModel filterViewModel; + private DialogFilterDuedateBinding binding; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - - final var binding = DialogFilterDuedateBinding.inflate(requireActivity().getLayoutInflater()); + binding = DialogFilterDuedateBinding.inflate(requireActivity().getLayoutInflater()); filterViewModel = new ViewModelProvider(requireActivity()).get(FilterViewModel.class); @@ -33,6 +33,12 @@ public class FilterDueTypeFragment extends Fragment implements SelectionListener return binding.getRoot(); } + @Override + public void onDestroy() { + super.onDestroy(); + this.binding = null; + } + @Override public void onItemSelected(EDueType item) { filterViewModel.setFilterInformationDraftDueType(item); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterUserFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterUserFragment.java index 708e2e541..59768de39 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterUserFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterUserFragment.java @@ -22,12 +22,12 @@ import it.niedermann.nextcloud.deck.ui.MainViewModel; public class FilterUserFragment extends Fragment implements SelectionListener { private FilterViewModel filterViewModel; + private DialogFilterAssigneesBinding binding; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - - final var binding = DialogFilterAssigneesBinding.inflate(requireActivity().getLayoutInflater()); + binding = DialogFilterAssigneesBinding.inflate(requireActivity().getLayoutInflater()); final var mainViewModel = new ViewModelProvider(requireActivity()).get(MainViewModel.class); filterViewModel = new ViewModelProvider(requireActivity()).get(FilterViewModel.class); @@ -46,6 +46,12 @@ public class FilterUserFragment extends Fragment implements SelectionListener