From 5953395fa2e4bc2bc1b1ed011100ea48fb73a78a Mon Sep 17 00:00:00 2001 From: misaochan Date: Fri, 26 Aug 2016 18:41:08 +1200 Subject: [PATCH] Pass location to NearbyListFragment --- .../fr/free/nrw/commons/nearby/NearbyActivity.java | 11 +++++++++-- .../free/nrw/commons/nearby/NearbyListFragment.java | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyActivity.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyActivity.java index 5d985df34..fe745d926 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyActivity.java @@ -19,6 +19,7 @@ public class NearbyActivity extends AppCompatActivity { private LocationManager locationManager; private String provider; private Criteria criteria; + private LatLng mLatestLocation; private double currentLatitude, currentLongitude; //private String gpsCoords; @@ -30,6 +31,7 @@ public class NearbyActivity extends AppCompatActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_nearby); getSupportActionBar().setDisplayHomeAsUpEnabled(true); + registerLocationManager(); // Begin the transaction FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); @@ -50,12 +52,14 @@ public class NearbyActivity extends AppCompatActivity { protected void onResume(){ super.onResume(); - registerLocationManager(); + //TODO: Check if we need String or double coords, and in what format //gpsCoords = String.valueOf(currentLatitude) + "|" + String.valueOf(currentLongitude); } - + protected LatLng getmLatestLocation() { + return mLatestLocation; + } /** * Registers a LocationManager to listen for current location */ @@ -68,6 +72,7 @@ public class NearbyActivity extends AppCompatActivity { try { locationManager.requestLocationUpdates(provider, 400, 1, myLocationListener); Location location = locationManager.getLastKnownLocation(provider); + //Location works, just need to 'send' GPS coords via emulator extended controls if testing on emulator Log.d(TAG, "Checking for location..."); if (location != null) { myLocationListener.onLocationChanged(location); @@ -97,6 +102,8 @@ public class NearbyActivity extends AppCompatActivity { currentLatitude = location.getLatitude(); currentLongitude = location.getLongitude(); Log.d(TAG, "Latitude: " + String.valueOf(currentLatitude) + " Longitude: " + String.valueOf(currentLongitude)); + + mLatestLocation = new LatLng(currentLatitude, currentLongitude); } @Override 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 2bca37d91..c5c43d3a7 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 @@ -66,6 +66,7 @@ public class NearbyListFragment extends ListFragment { public void onViewCreated(View view, Bundle savedInstanceState) { //Load from data source (NearbyPlaces.java) + LatLng mLatestLocation = ((NearbyActivity) getActivity()).getmLatestLocation(); //FIXME: mLatestLocation not set. Hardcode it first for testing places = loadAttractionsFromLocation(mLatestLocation);