From 897a1bec71af0d13434b88cac4196ce9138f5887 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Wed, 20 May 2020 20:53:17 -0400 Subject: [PATCH] blacklist: update on account change Change-Id: I25aa432f17adad155a8f9d474b211cc65ee4e46c --- .../cx/ring/account/AccountEditionFragment.java | 14 ++++++++++++-- .../cx/ring/contactrequests/BlackListFragment.java | 10 +++++++++- .../src/main/java/cx/ring/model/Interaction.java | 2 +- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/ring-android/app/src/main/java/cx/ring/account/AccountEditionFragment.java b/ring-android/app/src/main/java/cx/ring/account/AccountEditionFragment.java index 7eb03356a..bcf4a92a2 100644 --- a/ring-android/app/src/main/java/cx/ring/account/AccountEditionFragment.java +++ b/ring-android/app/src/main/java/cx/ring/account/AccountEditionFragment.java @@ -126,15 +126,17 @@ public class AccountEditionFragment extends BaseSupportFragment<AccountEditionPr toggleView(accountId, true); FragmentManager fragmentManager = getChildFragmentManager(); Fragment existingFragment = fragmentManager.findFragmentByTag(JamiAccountSummaryFragment.TAG); + Bundle args = new Bundle(); + args.putString(ACCOUNT_ID_KEY, accountId); if (existingFragment == null) { JamiAccountSummaryFragment fragment = new JamiAccountSummaryFragment(); - Bundle args = new Bundle(); - args.putString(ACCOUNT_ID_KEY, accountId); fragment.setArguments(args); fragmentManager.beginTransaction() .add(R.id.fragment_container, fragment, JamiAccountSummaryFragment.TAG) .commit(); } else { + if (!existingFragment.isStateSaved()) + existingFragment.setArguments(args); ((JamiAccountSummaryFragment) existingFragment).setAccount(accountId); } } @@ -149,6 +151,14 @@ public class AccountEditionFragment extends BaseSupportFragment<AccountEditionPr binding.pager.setOffscreenPageLimit(4); binding.slidingTabs.setupWithViewPager(binding.pager); binding.pager.setAdapter(new PreferencesPagerAdapter(getChildFragmentManager(), getActivity(), accountId, isJami)); + BlackListFragment existingFragment = (BlackListFragment) getChildFragmentManager().findFragmentByTag(BlackListFragment.TAG); + if (existingFragment != null) { + Bundle args = new Bundle(); + args.putString(ACCOUNT_ID_KEY, accountId); + if (!existingFragment.isStateSaved()) + existingFragment.setArguments(args); + existingFragment.setAccount(accountId); + } } @Override diff --git a/ring-android/app/src/main/java/cx/ring/contactrequests/BlackListFragment.java b/ring-android/app/src/main/java/cx/ring/contactrequests/BlackListFragment.java index ef0787af5..623e7b2a0 100644 --- a/ring-android/app/src/main/java/cx/ring/contactrequests/BlackListFragment.java +++ b/ring-android/app/src/main/java/cx/ring/contactrequests/BlackListFragment.java @@ -38,6 +38,7 @@ import cx.ring.client.HomeActivity; import cx.ring.databinding.FragBlacklistBinding; import cx.ring.model.CallContact; import cx.ring.mvp.BaseSupportFragment; +import cx.ring.utils.DeviceUtils; public class BlackListFragment extends BaseSupportFragment<BlackListPresenter> implements BlackListView, BlackListViewHolder.BlackListListeners { @@ -69,7 +70,10 @@ public class BlackListFragment extends BaseSupportFragment<BlackListPresenter> i return; } presenter.setAccountId(getArguments().getString(AccountEditionFragment.ACCOUNT_ID_KEY)); - ((HomeActivity) getActivity()).setToolbarTitle(R.string.ic_blacklist_menu); + HomeActivity activity = (HomeActivity) getActivity(); + if (activity != null && DeviceUtils.isTablet(activity)) { + activity.setTabletTitle(R.string.ic_blacklist_menu); + } } @Override @@ -109,4 +113,8 @@ public class BlackListFragment extends BaseSupportFragment<BlackListPresenter> i public void displayEmptyListMessage(final boolean display) { binding.emptyTextView.setVisibility(display ? View.VISIBLE : View.GONE); } + + public void setAccount(String accountId) { + presenter.setAccountId(accountId); + } } \ No newline at end of file diff --git a/ring-android/libringclient/src/main/java/cx/ring/model/Interaction.java b/ring-android/libringclient/src/main/java/cx/ring/model/Interaction.java index 2c5a99b06..545c21158 100644 --- a/ring-android/libringclient/src/main/java/cx/ring/model/Interaction.java +++ b/ring-android/libringclient/src/main/java/cx/ring/model/Interaction.java @@ -153,7 +153,7 @@ public class Interaction { } JsonObject toJson(String value) { - return new JsonParser().parse(value).getAsJsonObject(); + return JsonParser.parseString(value).getAsJsonObject(); } String fromJson(JsonObject json) { -- GitLab