From 99403aeafabf14b6a588c5ea20072d6ad593794f Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 6 Sep 2016 18:11:55 +1200 Subject: [PATCH 01/13] Tidy up NearbyListFragment --- .../commons/nearby/NearbyListFragment.java | 68 +++++++++---------- 1 file changed, 32 insertions(+), 36 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java index 9b0ad4e42..ae3b74364 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java @@ -9,21 +9,16 @@ import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; import android.support.v4.app.ListFragment; -import android.support.v7.widget.RecyclerView; -import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.Adapter; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ImageView; -import android.widget.ListAdapter; import android.widget.ListView; import android.widget.ProgressBar; import android.widget.TextView; -import android.widget.Toast; import java.text.NumberFormat; import java.util.Collections; @@ -34,8 +29,7 @@ import fr.free.nrw.commons.R; public class NearbyListFragment extends ListFragment { - private int mImageSize; - private boolean mItemClicked; + private NearbyAsyncTask nearbyAsyncTask; private NearbyAdapter mAdapter; private List places; @@ -66,42 +60,16 @@ public class NearbyListFragment extends ListFragment { mLatestLocation = ((NearbyActivity) getActivity()).getmLatestLocation(); - getNearbyPlaces nearbyList = new getNearbyPlaces(); - nearbyList.execute(); + nearbyAsyncTask = new NearbyAsyncTask(); + nearbyAsyncTask.execute(); Log.d(TAG, "Adapter set to ListView"); } - private List loadAttractionsFromLocation(final LatLng curLatLng) { - List places = NearbyPlaces.get(); - if (curLatLng != null) { - Log.d(TAG, "Sorting places by distance..."); - Collections.sort(places, - new Comparator() { - @Override - public int compare(Place lhs, Place rhs) { - double lhsDistance = computeDistanceBetween( - lhs.location, curLatLng); - double rhsDistance = computeDistanceBetween( - rhs.location, curLatLng); - return (int) (lhsDistance - rhsDistance); - } - } - ); - } - for(int i = 0; i < 500; i++) { - Place place = places.get(i); - String distance = formatDistanceBetween(mLatestLocation, place.location); - System.out.println("Sorted " + place.name + " at " + distance + " away."); - place.setDistance(distance); - } - return places; - } - - private class getNearbyPlaces extends AsyncTask> { + private class NearbyAsyncTask extends AsyncTask> { @Override protected void onPreExecute() { super.onPreExecute(); @@ -241,6 +209,34 @@ public class NearbyListFragment extends ListFragment { } } + private List loadAttractionsFromLocation(final LatLng curLatLng) { + + List places = NearbyPlaces.get(); + if (curLatLng != null) { + Log.d(TAG, "Sorting places by distance..."); + Collections.sort(places, + new Comparator() { + @Override + public int compare(Place lhs, Place rhs) { + double lhsDistance = computeDistanceBetween( + lhs.location, curLatLng); + double rhsDistance = computeDistanceBetween( + rhs.location, curLatLng); + return (int) (lhsDistance - rhsDistance); + } + } + ); + } + + for(int i = 0; i < 500; i++) { + Place place = places.get(i); + String distance = formatDistanceBetween(mLatestLocation, place.location); + System.out.println("Sorted " + place.name + " at " + distance + " away."); + place.setDistance(distance); + } + return places; + } + private String formatDistanceBetween(LatLng point1, LatLng point2) { if (point1 == null || point2 == null) { return null; From 0a32db5c0bfe8fb65e0a08c6a9f0a7d6f2745772 Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 6 Sep 2016 18:25:36 +1200 Subject: [PATCH 02/13] Added onCreate and onActivityCreated --- .../commons/nearby/NearbyListFragment.java | 36 +++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java index ae3b74364..fab917f7c 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java @@ -27,36 +27,56 @@ import java.util.List; import fr.free.nrw.commons.R; -public class NearbyListFragment extends ListFragment { +public class NearbyListFragment extends ListFragment { private NearbyAsyncTask nearbyAsyncTask; private NearbyAdapter mAdapter; + private ProgressBar progressBar; + private boolean isTaskRunning = false; + private List places; private LatLng mLatestLocation; - private ProgressBar progressBar; + private static final String TAG = "NearbyListFragment"; public NearbyListFragment() { } + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setRetainInstance(true); + } + + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { Log.d(TAG, "NearbyListFragment created"); View view = inflater.inflate(R.layout.fragment_nearby, container, false); + progressBar = (ProgressBar) view.findViewById(R.id.progressBar); return view; } + @Override + public void onActivityCreated(Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + // If we are returning here from a screen orientation + // and the AsyncTask is still working, re-create and display the + // progress dialog. + if (isTaskRunning) { + progressBar.setVisibility(View.VISIBLE); + } + } + + @Override public void onViewCreated(View view, Bundle savedInstanceState) { - progressBar = (ProgressBar) view.findViewById(R.id.progressBar); - progressBar.setMax(10); progressBar.setVisibility(View.VISIBLE); - progressBar.setProgress(0); mLatestLocation = ((NearbyActivity) getActivity()).getmLatestLocation(); @@ -67,8 +87,10 @@ public class NearbyListFragment extends ListFragment { } - - + public void onTaskStarted() { + isTaskRunning = true; + progressDialog = ProgressDialog.show(getActivity(), "Loading", "Please wait a moment!"); + } private class NearbyAsyncTask extends AsyncTask> { @Override protected void onPreExecute() { From 26ab3faf1ee143602252e821e357b079c617db54 Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 6 Sep 2016 18:32:22 +1200 Subject: [PATCH 03/13] Added TaskListener interface --- .../nrw/commons/nearby/NearbyListFragment.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java index fab917f7c..cb676a24a 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java @@ -44,6 +44,12 @@ public class NearbyListFragment extends ListFragment { public NearbyListFragment() { } + public interface TaskListener { + void onTaskStarted(); + + void onTaskFinished(List result); + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -77,12 +83,10 @@ public class NearbyListFragment extends ListFragment { public void onViewCreated(View view, Bundle savedInstanceState) { progressBar.setVisibility(View.VISIBLE); - mLatestLocation = ((NearbyActivity) getActivity()).getmLatestLocation(); nearbyAsyncTask = new NearbyAsyncTask(); nearbyAsyncTask.execute(); - Log.d(TAG, "Adapter set to ListView"); } @@ -91,10 +95,19 @@ public class NearbyListFragment extends ListFragment { isTaskRunning = true; progressDialog = ProgressDialog.show(getActivity(), "Loading", "Please wait a moment!"); } + private class NearbyAsyncTask extends AsyncTask> { + + private final TaskListener listener; + + public NearbyAsyncTask (TaskListener listener) { + this.listener = listener; + } + @Override protected void onPreExecute() { super.onPreExecute(); + listener.onTaskStarted(); lockScreenOrientation(); } @@ -141,6 +154,7 @@ public class NearbyListFragment extends ListFragment { } } }); + listener.onTaskFinished(result); mAdapter.notifyDataSetChanged(); } } From f0843ca4f6cc83bb1834fed28870a3d678dd4248 Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 6 Sep 2016 18:35:17 +1200 Subject: [PATCH 04/13] Put TaskListener in separate file and implement onTaskStarted and onTaskFinished --- .../commons/nearby/NearbyListFragment.java | 19 +++++++++++-------- .../free/nrw/commons/nearby/TaskListener.java | 9 +++++++++ 2 files changed, 20 insertions(+), 8 deletions(-) create mode 100644 app/src/main/java/fr/free/nrw/commons/nearby/TaskListener.java diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java index cb676a24a..271d7ba40 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java @@ -27,7 +27,8 @@ import java.util.List; import fr.free.nrw.commons.R; -public class NearbyListFragment extends ListFragment { + +public class NearbyListFragment extends ListFragment implements TaskListener { private NearbyAsyncTask nearbyAsyncTask; private NearbyAdapter mAdapter; @@ -44,11 +45,6 @@ public class NearbyListFragment extends ListFragment { public NearbyListFragment() { } - public interface TaskListener { - void onTaskStarted(); - - void onTaskFinished(List result); - } @Override public void onCreate(Bundle savedInstanceState) { @@ -91,9 +87,16 @@ public class NearbyListFragment extends ListFragment { } + @Override public void onTaskStarted() { - isTaskRunning = true; - progressDialog = ProgressDialog.show(getActivity(), "Loading", "Please wait a moment!"); + progressDialog = ProgressDialog.show(CopyOfMainActivity.this, "Loading", "Please wait a moment!"); + } + + @Override + public void onTaskFinished(List result) { + if (progressDialog != null) { + progressDialog.dismiss(); + } } private class NearbyAsyncTask extends AsyncTask> { diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/TaskListener.java b/app/src/main/java/fr/free/nrw/commons/nearby/TaskListener.java new file mode 100644 index 000000000..bc2fc6ee5 --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/nearby/TaskListener.java @@ -0,0 +1,9 @@ +package fr.free.nrw.commons.nearby; + +import java.util.List; + +public interface TaskListener { + void onTaskStarted(); + + void onTaskFinished(List result); +} \ No newline at end of file From 53b26a567f7bd937b095e9e89c6591b7c9b1c5ee Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 6 Sep 2016 18:37:42 +1200 Subject: [PATCH 05/13] Put in progressBar --- .../fr/free/nrw/commons/nearby/NearbyListFragment.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java index 271d7ba40..8365f4e0f 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java @@ -81,7 +81,7 @@ public class NearbyListFragment extends ListFragment implements TaskListener { progressBar.setVisibility(View.VISIBLE); mLatestLocation = ((NearbyActivity) getActivity()).getmLatestLocation(); - nearbyAsyncTask = new NearbyAsyncTask(); + nearbyAsyncTask = new NearbyAsyncTask(this); nearbyAsyncTask.execute(); Log.d(TAG, "Adapter set to ListView"); @@ -89,13 +89,13 @@ public class NearbyListFragment extends ListFragment implements TaskListener { @Override public void onTaskStarted() { - progressDialog = ProgressDialog.show(CopyOfMainActivity.this, "Loading", "Please wait a moment!"); + progressBar.setVisibility(View.VISIBLE); } @Override public void onTaskFinished(List result) { - if (progressDialog != null) { - progressDialog.dismiss(); + if (progressBar != null) { + progressBar.setVisibility(View.GONE); } } From 7f7de82cf4b300c16097b18737c1ef33bfd13f02 Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 6 Sep 2016 18:38:47 +1200 Subject: [PATCH 06/13] Fix whitespace --- .../fr/free/nrw/commons/nearby/NearbyListFragment.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java index 8365f4e0f..b527c311a 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java @@ -1,6 +1,5 @@ package fr.free.nrw.commons.nearby; - import android.content.Context; import android.content.Intent; import android.content.pm.ActivityInfo; @@ -27,7 +26,6 @@ import java.util.List; import fr.free.nrw.commons.R; - public class NearbyListFragment extends ListFragment implements TaskListener { private NearbyAsyncTask nearbyAsyncTask; @@ -39,20 +37,17 @@ public class NearbyListFragment extends ListFragment implements TaskListener { private List places; private LatLng mLatestLocation; - private static final String TAG = "NearbyListFragment"; public NearbyListFragment() { } - @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(true); } - @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -73,8 +68,7 @@ public class NearbyListFragment extends ListFragment implements TaskListener { progressBar.setVisibility(View.VISIBLE); } } - - + @Override public void onViewCreated(View view, Bundle savedInstanceState) { From 38d4531f420fefc8c9cdcf0321e3bfbd8d0d2d9c Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 6 Sep 2016 18:41:29 +1200 Subject: [PATCH 07/13] Add onDetach() --- .../nrw/commons/nearby/NearbyListFragment.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java index b527c311a..732589697 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java @@ -68,7 +68,7 @@ public class NearbyListFragment extends ListFragment implements TaskListener { progressBar.setVisibility(View.VISIBLE); } } - + @Override public void onViewCreated(View view, Bundle savedInstanceState) { @@ -83,6 +83,7 @@ public class NearbyListFragment extends ListFragment implements TaskListener { @Override public void onTaskStarted() { + isTaskRunning = true; progressBar.setVisibility(View.VISIBLE); } @@ -91,6 +92,17 @@ public class NearbyListFragment extends ListFragment implements TaskListener { if (progressBar != null) { progressBar.setVisibility(View.GONE); } + isTaskRunning = false; + } + + @Override + public void onDetach() { + // All dialogs should be closed before leaving the activity in order to avoid + // the: Activity has leaked window com.android.internal.policy... exception + if (progressBar != null && progressBar.isShown()) { + progressBar.setVisibility(View.GONE); + } + super.onDetach(); } private class NearbyAsyncTask extends AsyncTask> { From 9d61dc434571021efcc79bcf6f9ec5d33f76e703 Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 6 Sep 2016 18:49:39 +1200 Subject: [PATCH 08/13] Remove screenOrientation methods --- .../commons/nearby/NearbyListFragment.java | 22 ++----------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java index 732589697..f99899c86 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java @@ -117,7 +117,7 @@ public class NearbyListFragment extends ListFragment implements TaskListener { protected void onPreExecute() { super.onPreExecute(); listener.onTaskStarted(); - lockScreenOrientation(); + //lockScreenOrientation(); } @Override @@ -136,7 +136,7 @@ public class NearbyListFragment extends ListFragment implements TaskListener { protected void onPostExecute(List result) { super.onPostExecute(result); progressBar.setVisibility(View.GONE); - unlockScreenOrientation(); + //unlockScreenOrientation(); mAdapter = new NearbyAdapter(getActivity(), places); ListView listview = (ListView) getView().findViewById(R.id.listview); @@ -145,7 +145,6 @@ public class NearbyListFragment extends ListFragment implements TaskListener { listview.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView parent, View view, int position, long id) { - Place place = places.get(position); LatLng placeLatLng = place.location; @@ -168,23 +167,6 @@ public class NearbyListFragment extends ListFragment implements TaskListener { } } - private void lockScreenOrientation() { - int currentOrientation = getResources().getConfiguration().orientation; - if (currentOrientation == Configuration.ORIENTATION_PORTRAIT) { - getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); - } else { - getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); - } - } - - private void unlockScreenOrientation() { - try { - getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); - } catch (NullPointerException e){ - Log.e(TAG, "NPE: ", e); - } - } - private class NearbyAdapter extends ArrayAdapter { public List placesList; From 9a8bbb4dd11dc630f41d47a0324d8a606a1fea3a Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 6 Sep 2016 18:50:21 +1200 Subject: [PATCH 09/13] Remove calls to screen orientation methods --- .../java/fr/free/nrw/commons/nearby/NearbyListFragment.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java index f99899c86..61bc6173c 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java @@ -117,7 +117,6 @@ public class NearbyListFragment extends ListFragment implements TaskListener { protected void onPreExecute() { super.onPreExecute(); listener.onTaskStarted(); - //lockScreenOrientation(); } @Override @@ -136,7 +135,6 @@ public class NearbyListFragment extends ListFragment implements TaskListener { protected void onPostExecute(List result) { super.onPostExecute(result); progressBar.setVisibility(View.GONE); - //unlockScreenOrientation(); mAdapter = new NearbyAdapter(getActivity(), places); ListView listview = (ListView) getView().findViewById(R.id.listview); From 2b4f29b62540e3d37e144711e76754f5bfd9b42f Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 6 Sep 2016 19:04:23 +1200 Subject: [PATCH 10/13] Add onSaveInstanceState() --- .../commons/nearby/NearbyListFragment.java | 29 ++++++++++--------- .../free/nrw/commons/nearby/NearbyPlaces.java | 4 ++- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java index 61bc6173c..9a8978580 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java @@ -30,6 +30,7 @@ public class NearbyListFragment extends ListFragment implements TaskListener { private NearbyAsyncTask nearbyAsyncTask; private NearbyAdapter mAdapter; + private ListView listview; private ProgressBar progressBar; private boolean isTaskRunning = false; @@ -59,8 +60,18 @@ public class NearbyListFragment extends ListFragment implements TaskListener { } @Override - public void onActivityCreated(Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); + public void onViewCreated(View view, Bundle savedInstanceState) { + listview = (ListView) getView().findViewById(R.id.listview); + + if(savedInstanceState == null) { + mLatestLocation = ((NearbyActivity) getActivity()).getmLatestLocation(); + + nearbyAsyncTask = new NearbyAsyncTask(this); + nearbyAsyncTask.execute(); + progressBar.setVisibility(View.VISIBLE); + Log.d(TAG, "Saved instance state is null, populating ListView"); + } + // If we are returning here from a screen orientation // and the AsyncTask is still working, re-create and display the // progress dialog. @@ -70,15 +81,8 @@ public class NearbyListFragment extends ListFragment implements TaskListener { } @Override - public void onViewCreated(View view, Bundle savedInstanceState) { - - progressBar.setVisibility(View.VISIBLE); - mLatestLocation = ((NearbyActivity) getActivity()).getmLatestLocation(); - - nearbyAsyncTask = new NearbyAsyncTask(this); - nearbyAsyncTask.execute(); - Log.d(TAG, "Adapter set to ListView"); - + public void onSaveInstanceState(Bundle outInstanceState) { + outInstanceState.putInt("value", 1); } @Override @@ -137,7 +141,7 @@ public class NearbyListFragment extends ListFragment implements TaskListener { progressBar.setVisibility(View.GONE); mAdapter = new NearbyAdapter(getActivity(), places); - ListView listview = (ListView) getView().findViewById(R.id.listview); + listview.setAdapter(mAdapter); listview.setOnItemClickListener(new AdapterView.OnItemClickListener() { @@ -256,7 +260,6 @@ public class NearbyListFragment extends ListFragment implements TaskListener { for(int i = 0; i < 500; i++) { Place place = places.get(i); String distance = formatDistanceBetween(mLatestLocation, place.location); - System.out.println("Sorted " + place.name + " at " + distance + " away."); place.setDistance(distance); } return places; diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyPlaces.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyPlaces.java index 12e0a2fdd..1201cf0d0 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyPlaces.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyPlaces.java @@ -2,6 +2,7 @@ package fr.free.nrw.commons.nearby; import android.net.Uri; import android.os.StrictMode; +import android.util.Log; import java.io.BufferedReader; import java.io.IOException; @@ -12,6 +13,7 @@ import java.util.List; public class NearbyPlaces { + private static final String TAG = "NearbyPlaces"; static List places = null; public static List get() { @@ -30,6 +32,7 @@ public class NearbyPlaces { boolean firstLine = true; String line; + Log.d(TAG, "Reading from CSV file..."); while ((line = in.readLine()) != null) { @@ -39,7 +42,6 @@ public class NearbyPlaces { continue; } - System.out.println(line); String[] fields = line.split(","); String name = fields[0]; From 7a511535ab92d3bca7720a02699cd0a8efa7ecff Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 6 Sep 2016 19:10:02 +1200 Subject: [PATCH 11/13] Move listview initialization to inside if statement --- .../java/fr/free/nrw/commons/nearby/NearbyListFragment.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java index 9a8978580..5aec082b7 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java @@ -61,15 +61,16 @@ public class NearbyListFragment extends ListFragment implements TaskListener { @Override public void onViewCreated(View view, Bundle savedInstanceState) { - listview = (ListView) getView().findViewById(R.id.listview); if(savedInstanceState == null) { mLatestLocation = ((NearbyActivity) getActivity()).getmLatestLocation(); - + listview = (ListView) getView().findViewById(R.id.listview); nearbyAsyncTask = new NearbyAsyncTask(this); nearbyAsyncTask.execute(); progressBar.setVisibility(View.VISIBLE); Log.d(TAG, "Saved instance state is null, populating ListView"); + } else { + progressBar.setVisibility(View.GONE); } // If we are returning here from a screen orientation From ea8759acdfbd18b5266d4a085b790eeed1225f5b Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 6 Sep 2016 19:13:11 +1200 Subject: [PATCH 12/13] Add comments --- .../java/fr/free/nrw/commons/nearby/NearbyListFragment.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java index 5aec082b7..86ea40b78 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java @@ -62,6 +62,7 @@ public class NearbyListFragment extends ListFragment implements TaskListener { @Override public void onViewCreated(View view, Bundle savedInstanceState) { + //Check that this is the first time view is created, to avoid double list when screen orientation changed if(savedInstanceState == null) { mLatestLocation = ((NearbyActivity) getActivity()).getmLatestLocation(); listview = (ListView) getView().findViewById(R.id.listview); @@ -73,9 +74,8 @@ public class NearbyListFragment extends ListFragment implements TaskListener { progressBar.setVisibility(View.GONE); } - // If we are returning here from a screen orientation - // and the AsyncTask is still working, re-create and display the - // progress dialog. + // If we are returning here from a screen orientation and the AsyncTask is still working, + // re-create and display the progress dialog. if (isTaskRunning) { progressBar.setVisibility(View.VISIBLE); } From 003c33e30a5a0f7fa9fc17a95e9aaf135a50699f Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 6 Sep 2016 19:18:30 +1200 Subject: [PATCH 13/13] Add comments --- .../main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java index 86ea40b78..6ca009403 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java @@ -83,6 +83,7 @@ public class NearbyListFragment extends ListFragment implements TaskListener { @Override public void onSaveInstanceState(Bundle outInstanceState) { + // See http://stackoverflow.com/questions/8942135/listview-added-dublicate-item-in-list-when-screen-orientation-changes outInstanceState.putInt("value", 1); }