Commit f64f1ba5 authored by Varun Patil's avatar Varun Patil

Remove static map activity (remove potential memory leak)

parent 60c7e8e6
......@@ -661,7 +661,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
// Map
MapFragment mapFragment = (MapFragment) getSupportFragmentManager().findFragmentByTag(MapFragment.TAG);
if (mapFragment != null && mapFragment.isVisible()) {
MapFragment.getMainActivity().setupGPS(true);
mapFragment.setupGPS(true);
}
// File complaint
......
......@@ -113,7 +113,6 @@ public class MapFragment extends Fragment implements TextWatcher,
public static final int SOUND_ID_RESULT = 0;
public static final int SOUND_ID_ADD = 1;
public static final int SOUND_ID_REMOVE = 2;
private static MapFragment mainactivity;
private final String firstStackTag = "FIRST_TAG";
private final int MSG_ANIMATE = 1;
private final int MSG_PLAY_SOUND = 2;
......@@ -175,10 +174,6 @@ public class MapFragment extends Fragment implements TextWatcher,
// Required empty public constructor
}
public static MapFragment getMainActivity() {
return mainactivity;
}
public static void setListViewHeightBasedOnChildren(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null)
......@@ -206,7 +201,6 @@ public class MapFragment extends Fragment implements TextWatcher,
@Override
public void onCreate(Bundle savedInstanceState) {
mainactivity = this;
super.onCreate(savedInstanceState);
}
......@@ -381,6 +375,7 @@ public class MapFragment extends Fragment implements TextWatcher,
settingsManager = new SettingsManager(getContext());
campusMapView = (CampusMapView) getActivity().findViewById(R.id.campusMapView);
campusMapView.initialise(this);
campusMapView.setImageAsset("map.jpg");
campusMapView.setSettingsManager(settingsManager);
campusMapView.setData(data);
......@@ -389,7 +384,7 @@ public class MapFragment extends Fragment implements TextWatcher,
addMarkerIcon = (ImageButton) getActivity().findViewById(R.id.add_marker_icon);
fragmentManager = getChildFragmentManager();
listFragment = new ListFragment();
listFragment = (new ListFragment()).forFragment(this);
adapter.setSettingsManager(settingsManager);
......
......@@ -12,19 +12,25 @@ import app.insti.fragment.MapFragment;
public class ListFragment extends Fragment {
private MapFragment mapFragment = null;
public ListFragment() {
}
public ListFragment forFragment(MapFragment mapFragment) {
this.mapFragment = mapFragment;
return this;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
MapFragment mainActivity = MapFragment.getMainActivity();
final FuzzySearchAdapter adapter = mainActivity.getAdapter();
final FuzzySearchAdapter adapter = mapFragment.getAdapter();
View rootView = inflater.inflate(R.layout.map_list_fragment, container, false);
ListView list = rootView.findViewById(R.id.suggestion_list);
list.setAdapter(adapter);
list.setOnItemClickListener(mainActivity);
list.setOnTouchListener(mainActivity);
list.setOnItemClickListener(mapFragment);
list.setOnTouchListener(mapFragment);
list.setFastScrollEnabled(true);
return rootView;
}
......
......@@ -82,7 +82,6 @@ public class CampusMapView extends SubsamplingScaleImageView {
public CampusMapView(Context context, AttributeSet attr) {
super(context, attr);
initialise();
}
public static int getShowPinRatio() {
......@@ -109,15 +108,14 @@ public class CampusMapView extends SubsamplingScaleImageView {
this.initialMarkerName = initialMarkerName;
}
private void initialise() {
public void initialise(MapFragment mapFragment) {
displayMetrics = getResources().getDisplayMetrics();
density = displayMetrics.density;
highlightedMarkerScale = 1.0f;
initMarkers();
initPaints();
mainActivity = MapFragment.getMainActivity();
mainActivity = mapFragment;
setGestureDetector();
super.setMaxScale(density * MAX_SCALE);
......@@ -769,7 +767,7 @@ public class CampusMapView extends SubsamplingScaleImageView {
@Override
public boolean onTouchEvent(MotionEvent event) {
MapFragment.getMainActivity().setFollowingUser(false);
mainActivity.setFollowingUser(false);
return super.onTouchEvent(event);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment