forked from organicmaps/organicmaps
[android] Fix NPE in PlacePageView.destroy()
Fixes #4606 Signed-off-by: Roman Tsisyk <roman@tsisyk.com>
This commit is contained in:
parent
8dbf76a9e1
commit
73391adba6
1 changed files with 7 additions and 10 deletions
|
@ -39,15 +39,12 @@ import app.organicmaps.downloader.CountryItem;
|
||||||
import app.organicmaps.downloader.DownloaderStatusIcon;
|
import app.organicmaps.downloader.DownloaderStatusIcon;
|
||||||
import app.organicmaps.downloader.MapManager;
|
import app.organicmaps.downloader.MapManager;
|
||||||
import app.organicmaps.editor.Editor;
|
import app.organicmaps.editor.Editor;
|
||||||
import app.organicmaps.editor.OpeningHours;
|
|
||||||
import app.organicmaps.editor.data.Timetable;
|
|
||||||
import app.organicmaps.location.LocationHelper;
|
import app.organicmaps.location.LocationHelper;
|
||||||
import app.organicmaps.location.LocationListener;
|
import app.organicmaps.location.LocationListener;
|
||||||
import app.organicmaps.routing.RoutingController;
|
import app.organicmaps.routing.RoutingController;
|
||||||
import app.organicmaps.settings.RoadType;
|
import app.organicmaps.settings.RoadType;
|
||||||
import app.organicmaps.util.SharingUtils;
|
import app.organicmaps.util.SharingUtils;
|
||||||
import app.organicmaps.util.StringUtils;
|
import app.organicmaps.util.StringUtils;
|
||||||
import app.organicmaps.util.ThemeUtils;
|
|
||||||
import app.organicmaps.util.UiUtils;
|
import app.organicmaps.util.UiUtils;
|
||||||
import app.organicmaps.util.concurrency.UiThread;
|
import app.organicmaps.util.concurrency.UiThread;
|
||||||
import app.organicmaps.widget.ArrowView;
|
import app.organicmaps.widget.ArrowView;
|
||||||
|
@ -138,7 +135,7 @@ public class PlacePageView extends Fragment implements View.OnClickListener,
|
||||||
};
|
};
|
||||||
private PlacePageViewListener mPlacePageViewListener;
|
private PlacePageViewListener mPlacePageViewListener;
|
||||||
|
|
||||||
private PlacePageViewModel viewModel;
|
private PlacePageViewModel mViewModel;
|
||||||
private MapObject mMapObject;
|
private MapObject mMapObject;
|
||||||
|
|
||||||
private static void refreshMetadataOrHide(String metadata, View metaLayout, TextView metaTv)
|
private static void refreshMetadataOrHide(String metadata, View metaLayout, TextView metaTv)
|
||||||
|
@ -167,6 +164,7 @@ public class PlacePageView extends Fragment implements View.OnClickListener,
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState)
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState)
|
||||||
{
|
{
|
||||||
|
mViewModel = new ViewModelProvider(requireActivity()).get(PlacePageViewModel.class);
|
||||||
return inflater.inflate(R.layout.place_page, container, false);
|
return inflater.inflate(R.layout.place_page, container, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -241,9 +239,8 @@ public class PlacePageView extends Fragment implements View.OnClickListener,
|
||||||
|
|
||||||
mDownloaderInfo = mPreview.findViewById(R.id.tv__downloader_details);
|
mDownloaderInfo = mPreview.findViewById(R.id.tv__downloader_details);
|
||||||
|
|
||||||
viewModel = new ViewModelProvider(requireActivity()).get(PlacePageViewModel.class);
|
mViewModel.getMapObject().observe(requireActivity(), this);
|
||||||
viewModel.getMapObject().observe(requireActivity(), this);
|
mMapObject = mViewModel.getMapObject().getValue();
|
||||||
mMapObject = viewModel.getMapObject().getValue();
|
|
||||||
|
|
||||||
LocationHelper.INSTANCE.addListener(this);
|
LocationHelper.INSTANCE.addListener(this);
|
||||||
}
|
}
|
||||||
|
@ -256,11 +253,11 @@ public class PlacePageView extends Fragment implements View.OnClickListener,
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDestroy()
|
public void onDestroyView()
|
||||||
{
|
{
|
||||||
super.onDestroy();
|
super.onDestroyView();
|
||||||
detachCountry();
|
detachCountry();
|
||||||
viewModel.getMapObject().removeObserver(this);
|
mViewModel.getMapObject().removeObserver(this);
|
||||||
LocationHelper.INSTANCE.removeListener(this);
|
LocationHelper.INSTANCE.removeListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue