Solve fragment deprecations

Signed-off-by: Hidde Wieringa <hidde@hiddewieringa.nl>
This commit is contained in:
Hidde Wieringa 2022-10-19 20:58:00 +02:00 committed by Roman Tsisyk
parent 1de7596cd5
commit a10f1ff5df
8 changed files with 42 additions and 26 deletions

View file

@ -41,8 +41,9 @@ public class ChooseBookmarksSortingTypeFragment extends BaseMwmDialogFragment
args.putIntArray(EXTRA_SORTING_TYPES, availableTypes);
args.putInt(EXTRA_CURRENT_SORT_TYPE, currentType);
String name = ChooseBookmarksSortingTypeFragment.class.getName();
final ChooseBookmarksSortingTypeFragment fragment =
(ChooseBookmarksSortingTypeFragment) Fragment.instantiate(context, name, args);
final ChooseBookmarksSortingTypeFragment fragment = (ChooseBookmarksSortingTypeFragment) manager
.getFragmentFactory()
.instantiate(context.getClassLoader(), name);
fragment.setArguments(args);
fragment.show(manager, name);
}

View file

@ -18,6 +18,7 @@ import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager;
import com.google.android.material.textfield.TextInputLayout;
import com.mapswithme.maps.R;
import com.mapswithme.maps.base.BaseMwmDialogFragment;
@ -89,9 +90,11 @@ public class EditTextDialogFragment extends BaseMwmDialogFragment
args.putString(ARG_NEGATIVE_BUTTON, negativeBtn == null ? null : negativeBtn);
args.putString(ARG_HINT, hint);
args.putInt(ARG_TEXT_LENGTH_LIMIT, textLimit);
final EditTextDialogFragment fragment = (EditTextDialogFragment) Fragment.instantiate(parent.requireActivity(), EditTextDialogFragment.class.getName());
FragmentManager fragmentManager = parent.getChildFragmentManager();
final EditTextDialogFragment fragment = (EditTextDialogFragment) fragmentManager.getFragmentFactory()
.instantiate(parent.requireActivity().getClassLoader(), EditTextDialogFragment.class.getName());
fragment.setArguments(args);
fragment.show(parent.getChildFragmentManager(), EditTextDialogFragment.class.getName());
fragment.show(fragmentManager, EditTextDialogFragment.class.getName());
fragment.mInputValidator = inputValidator;
return fragment;

View file

@ -16,6 +16,7 @@ import androidx.annotation.StringRes;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import com.mapswithme.maps.MwmApplication;
import com.mapswithme.maps.R;
import com.mapswithme.maps.base.BaseMwmToolbarFragment;
@ -205,10 +206,13 @@ public class EditorHostFragment extends BaseMwmToolbarFragment
Bundle args = new Bundle();
if (focusToLastName)
args.putInt(EditorFragment.LAST_INDEX_OF_NAMES_ARRAY, sNames.size() - 1);
final Fragment editorFragment = Fragment.instantiate(requireActivity(), EditorFragment.class.getName(), args);
getChildFragmentManager().beginTransaction()
.replace(R.id.fragment_container, editorFragment, EditorFragment.class.getName())
.commit();
FragmentManager fragmentManager = getChildFragmentManager();
final Fragment editorFragment = fragmentManager.getFragmentFactory()
.instantiate(requireActivity().getClassLoader(), EditorFragment.class.getName());
editorFragment.setArguments(args);
fragmentManager.beginTransaction()
.replace(R.id.fragment_container, editorFragment, EditorFragment.class.getName())
.commit();
}
protected void editTimetable()
@ -253,7 +257,9 @@ public class EditorHostFragment extends BaseMwmToolbarFragment
mMode = newMode;
getToolbarController().setTitle(toolbarTitle);
showSearchControls(showSearch);
final Fragment fragment = Fragment.instantiate(requireActivity(), fragmentClass.getName(), args);
FragmentManager fragmentManager = requireActivity().getSupportFragmentManager();
final Fragment fragment = fragmentManager.getFragmentFactory().instantiate(requireActivity().getClassLoader(), fragmentClass.getName());
fragment.setArguments(args);
getChildFragmentManager().beginTransaction()
.replace(R.id.fragment_container, fragment, fragmentClass.getName())
.commit();

View file

@ -62,8 +62,10 @@ public class HoursMinutesPickerFragment extends BaseMwmDialogFragment
args.putParcelable(EXTRA_TO, to);
args.putInt(EXTRA_SELECT_FIRST, selectedPosition);
args.putInt(EXTRA_ID, id);
final HoursMinutesPickerFragment fragment =
(HoursMinutesPickerFragment) Fragment.instantiate(context, HoursMinutesPickerFragment.class.getName(), args);
final HoursMinutesPickerFragment fragment = (HoursMinutesPickerFragment) manager.getFragmentFactory()
.instantiate(context.getClassLoader(), HoursMinutesPickerFragment.class.getName());
fragment.setArguments(args);
fragment.show(manager, null);
}

View file

@ -231,7 +231,7 @@ class SimpleTimetableAdapter extends RecyclerView.Adapter<SimpleTimetableAdapter
closedHours[i] = span;
final int finalI = i;
span.findViewById(R.id.iv__remove_closed)
.setOnClickListener(v -> removeClosedHours(getAdapterPosition(), finalI));
.setOnClickListener(v -> removeClosedHours(getBindingAdapterPosition(), finalI));
}
}
@ -249,7 +249,7 @@ class SimpleTimetableAdapter extends RecyclerView.Adapter<SimpleTimetableAdapter
@Override
void onBind()
{
final int position = getAdapterPosition();
final int position = getBindingAdapterPosition();
final Timetable data = mItems.get(position);
UiUtils.showIf(position > 0, deleteTimetable);
tvOpen.setText(data.workingTimespan.start.toString());
@ -265,16 +265,16 @@ class SimpleTimetableAdapter extends RecyclerView.Adapter<SimpleTimetableAdapter
switch (v.getId())
{
case R.id.time_open:
pickTime(getAdapterPosition(), HoursMinutesPickerFragment.TAB_FROM, ID_OPENING);
pickTime(getBindingAdapterPosition(), HoursMinutesPickerFragment.TAB_FROM, ID_OPENING);
break;
case R.id.time_close:
pickTime(getAdapterPosition(), HoursMinutesPickerFragment.TAB_TO, ID_OPENING);
pickTime(getBindingAdapterPosition(), HoursMinutesPickerFragment.TAB_TO, ID_OPENING);
break;
case R.id.tv__remove_timetable:
removeTimetable(getAdapterPosition());
removeTimetable(getBindingAdapterPosition());
break;
case R.id.tv__add_closed:
pickTime(getAdapterPosition(), HoursMinutesPickerFragment.TAB_FROM, ID_CLOSING);
pickTime(getBindingAdapterPosition(), HoursMinutesPickerFragment.TAB_FROM, ID_CLOSING);
break;
case R.id.allday:
swAllday.toggle();
@ -288,7 +288,7 @@ class SimpleTimetableAdapter extends RecyclerView.Adapter<SimpleTimetableAdapter
switch (buttonView.getId())
{
case R.id.sw__allday:
setFullday(getAdapterPosition(), isChecked);
setFullday(getBindingAdapterPosition(), isChecked);
break;
case R.id.chb__day:
final int dayIndex = (Integer) buttonView.getTag();
@ -362,9 +362,9 @@ class SimpleTimetableAdapter extends RecyclerView.Adapter<SimpleTimetableAdapter
{
final CheckBox checkBox = days.get(dayIndex);
if (checkBox.isChecked())
addWorkingDay(dayIndex, getAdapterPosition());
addWorkingDay(dayIndex, getBindingAdapterPosition());
else
removeWorkingDay(dayIndex, getAdapterPosition());
removeWorkingDay(dayIndex, getBindingAdapterPosition());
}
private void checkWithoutCallback(CompoundButton button, boolean check)

View file

@ -174,8 +174,10 @@ public class TimetableContainerFragment extends BaseMwmFragment implements OnBac
mMode = mode;
mSwitchMode.setText(mMode.getSwitchButtonLabel());
if (mFragments[mMode.ordinal()] == null)
mFragments[mMode.ordinal()] = Fragment.instantiate(requireActivity(), mMode.getFragmentClassname());
if (mFragments[mMode.ordinal()] == null) {
mFragments[mMode.ordinal()] = requireActivity().getSupportFragmentManager().getFragmentFactory()
.instantiate(requireActivity().getClassLoader(), mMode.getFragmentClassname());
}
Fragment fragment = mFragments[mMode.ordinal()];
getChildFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment).commit();
mMode.setTimetableChangedListener(fragment, this);

View file

@ -194,7 +194,7 @@ public class SearchFragment extends BaseMwmFragment
if (fragment == null || fragment.isDetached() || fragment.isRemoving())
{
fragment = Fragment.instantiate(requireActivity(), fragmentName, null);
fragment = fm.getFragmentFactory().instantiate(requireActivity().getClassLoader(), fragmentName);
fm.beginTransaction()
.add(R.id.download_suggest_frame, fragment, fragmentName)
.commit();

View file

@ -33,6 +33,7 @@ import androidx.annotation.Nullable;
import androidx.appcompat.widget.Toolbar;
import androidx.core.widget.NestedScrollViewClickFixed;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.recyclerview.widget.RecyclerView;
import com.mapswithme.maps.Framework;
import com.mapswithme.maps.MwmActivity;
@ -1421,10 +1422,11 @@ public class PlacePageView extends NestedScrollViewClickFixed
private void showBigDirection()
{
final DirectionFragment fragment = (DirectionFragment) Fragment.instantiate(requireActivity(), DirectionFragment.class
.getName(), null);
final FragmentManager fragmentManager = requireActivity().getSupportFragmentManager();
final DirectionFragment fragment = (DirectionFragment) fragmentManager.getFragmentFactory()
.instantiate(getContext().getClassLoader(), DirectionFragment.class.getName());
fragment.setMapObject(mMapObject);
fragment.show(requireActivity().getSupportFragmentManager(), null);
fragment.show(fragmentManager, null);
}
/// @todo Unify urls processing (fb, twitter, instagram, ...).