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 7eb03356ae003d3e9d5fbc0618e4b88c8ca6340a..bcf4a92a2dda3b6c2466f9bca63b472038f9ec1f 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 ef0787af5979d75a1c01029f2a72e860888c1089..623e7b2a086f5b9aaf94992da59a5b43e6fcb01b 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 2c5a99b0691abcff3d6fe059f69df46140822740..545c21158f52faccc048b3f03c26db89dc1b6d58 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) {