Added stubs for wiki integration.
parent
3b15bb7994
commit
2a91ea55a7
|
@ -5,4 +5,6 @@ package pl.tpolgrabia.urbanexplorer;
|
|||
*/
|
||||
public class AppConstants {
|
||||
public static final String GOOGLE_API_KEY = "AIzaSyDAnmEK6cgovRrefUuYojL1pxPEbIBLZUw";
|
||||
public static final long MIN_TIME = 60000;
|
||||
public static final float MIN_DISTANCE = 100;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
package pl.tpolgrabia.urbanexplorer;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.location.Location;
|
||||
import android.location.LocationManager;
|
||||
import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.support.v4.app.FragmentTransaction;
|
||||
|
@ -11,10 +15,14 @@ import android.view.GestureDetector;
|
|||
import android.view.MenuItem;
|
||||
import android.view.MotionEvent;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
import com.nostra13.universalimageloader.cache.memory.impl.WeakMemoryCache;
|
||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
|
||||
import pl.tpolgrabia.urbanexplorer.callbacks.StandardLocationListener;
|
||||
import pl.tpolgrabia.urbanexplorer.callbacks.StandardLocationListenerCallback;
|
||||
import pl.tpolgrabia.urbanexplorer.dto.PanoramioImageInfo;
|
||||
import pl.tpolgrabia.urbanexplorer.fragments.HomeFragment;
|
||||
import pl.tpolgrabia.urbanexplorer.fragments.PanoramioShowerFragment;
|
||||
|
@ -23,6 +31,7 @@ import pl.tpolgrabia.urbanexplorer.utils.ImageLoaderUtils;
|
|||
|
||||
public class MainActivity extends ActionBarActivity implements GestureDetector.OnGestureListener {
|
||||
|
||||
private static final int LOCATION_SETTINGS_REQUEST_ID = 1;
|
||||
private static final String CLASS_TAG = MainActivity.class.getSimpleName();
|
||||
private static final String PHOTO_BACKSTACK = "PHOTO_BACKSTACK";
|
||||
private static final float SWIPE_VELOCITY_THRESHOLD = 20;
|
||||
|
@ -34,6 +43,14 @@ public class MainActivity extends ActionBarActivity implements GestureDetector.O
|
|||
private GestureDetectorCompat gestureDetector;
|
||||
private float SWIPE_THRESHOLD = 50;
|
||||
private int currentFragmentId = 0;
|
||||
private LocationManager locationService;
|
||||
private StandardLocationListener locationCallback;
|
||||
|
||||
private boolean gpsLocationEnabled;
|
||||
private boolean networkLocationEnabled;
|
||||
private boolean locationEnabled;
|
||||
private String locationProvider;
|
||||
private boolean locationServicesActivated = false;
|
||||
|
||||
@Override
|
||||
public boolean onTouchEvent(MotionEvent event) {
|
||||
|
@ -66,9 +83,10 @@ public class MainActivity extends ActionBarActivity implements GestureDetector.O
|
|||
.add(R.id.fragments, new HomeFragment())
|
||||
.commit();
|
||||
|
||||
LinearLayout locations = (LinearLayout) findViewById(R.id.locations);
|
||||
// lLinearLayout locations = (LinearLayout) findViewById(R.id.locations);
|
||||
// locations.setOnTouchListener(new OnSwipeTouchListener);
|
||||
gestureDetector = new GestureDetectorCompat(this, this);
|
||||
initLocalication();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -217,4 +235,87 @@ public class MainActivity extends ActionBarActivity implements GestureDetector.O
|
|||
currentFragmentId = (int)Math.min(MAX_FRAGMENT_ID, currentFragmentId+1);
|
||||
switchFragment();
|
||||
}
|
||||
|
||||
private void initLocalication() {
|
||||
if (checkForLocalicatonEnabled()) return;
|
||||
|
||||
locationCallback.setLocationChangedCallback(new StandardLocationListenerCallback() {
|
||||
@Override
|
||||
public void callback(Location location) {
|
||||
double lat = location.getLatitude();
|
||||
double lng = location.getLongitude();
|
||||
TextView locationInfo = (TextView) findViewById(R.id.locationInfo);
|
||||
locationInfo.setText("Location: (" + lat + "," + lng + ")");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private boolean checkForLocalicatonEnabled() {
|
||||
|
||||
locationService = (LocationManager) getSystemService(LOCATION_SERVICE);
|
||||
|
||||
checkLocationSourceAvailability();
|
||||
|
||||
if (!locationEnabled) {
|
||||
Intent locationSettingsIntent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
|
||||
startActivityForResult(locationSettingsIntent, LOCATION_SETTINGS_REQUEST_ID);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private void checkLocationSourceAvailability() {
|
||||
gpsLocationEnabled = locationService.isProviderEnabled(LocationManager.GPS_PROVIDER);
|
||||
networkLocationEnabled = locationService.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
|
||||
locationEnabled = gpsLocationEnabled || networkLocationEnabled;
|
||||
if (gpsLocationEnabled) {
|
||||
locationProvider = LocationManager.GPS_PROVIDER;
|
||||
return;
|
||||
}
|
||||
|
||||
if (networkLocationEnabled) {
|
||||
locationProvider = LocationManager.NETWORK_PROVIDER;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
|
||||
if (locationProvider != null) {
|
||||
locationService.requestLocationUpdates(locationProvider,
|
||||
AppConstants.MIN_TIME,
|
||||
AppConstants.MIN_DISTANCE,
|
||||
locationCallback);
|
||||
locationServicesActivated = true;
|
||||
Toast.makeText(this, "Location resumed", Toast.LENGTH_LONG).show();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
if (locationServicesActivated) {
|
||||
locationService.removeUpdates(locationCallback);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
|
||||
switch (requestCode) {
|
||||
case LOCATION_SETTINGS_REQUEST_ID:
|
||||
checkLocationSourceAvailability();
|
||||
if (!locationEnabled) {
|
||||
// sadly, nothing to do except from notifing user that program is not enable working
|
||||
Toast.makeText(this, "Sorry location services are not working." +
|
||||
" Program cannot work properly - check location settings to allow program working correctly",
|
||||
Toast.LENGTH_LONG).show();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
package pl.tpolgrabia.urbanexplorer.callbacks;
|
||||
|
||||
import android.location.Location;
|
||||
import android.location.LocationListener;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
|
||||
/**
|
||||
* Created by tpolgrabia on 28.08.16.
|
||||
*/
|
||||
public class StandardLocationListener implements LocationListener {
|
||||
private static final String CLASS_TAG = StandardLocationListener.class.getSimpleName();
|
||||
private StandardLocationListenerCallback locationChangedCallback;
|
||||
|
||||
@Override
|
||||
public void onLocationChanged(Location location) {
|
||||
Log.i(CLASS_TAG, "Location provider changed: " + location);
|
||||
if (locationChangedCallback != null) {
|
||||
locationChangedCallback.callback(location);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStatusChanged(String provider, int status, Bundle extras) {
|
||||
// Log.i(CLASS_TAG, "Location provider status changed")
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onProviderEnabled(String provider) {
|
||||
Log.i(CLASS_TAG, "Provider " + provider + " enabled");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onProviderDisabled(String provider) {
|
||||
Log.i(CLASS_TAG, "Provider " + provider + " disabled");
|
||||
}
|
||||
|
||||
public void setLocationChangedCallback(StandardLocationListenerCallback locationChangedCallback) {
|
||||
this.locationChangedCallback = locationChangedCallback;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
package pl.tpolgrabia.urbanexplorer.callbacks;
|
||||
|
||||
import android.location.Location;
|
||||
|
||||
/**
|
||||
* Created by tpolgrabia on 28.08.16.
|
||||
*/
|
||||
public interface StandardLocationListenerCallback {
|
||||
|
||||
void callback(Location location);
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
package pl.tpolgrabia.urbanexplorer.callbacks;
|
||||
|
||||
/**
|
||||
* Created by tpolgrabia on 28.08.16.
|
||||
*/
|
||||
public class WikiResponse {
|
||||
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
package pl.tpolgrabia.urbanexplorer.callbacks;
|
||||
|
||||
/**
|
||||
* Created by tpolgrabia on 28.08.16.
|
||||
*/
|
||||
public interface WikiResponseCallback {
|
||||
void callback(WikiStatus status, WikiResponse response);
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
package pl.tpolgrabia.urbanexplorer.callbacks;
|
||||
|
||||
/**
|
||||
* Created by tpolgrabia on 28.08.16.
|
||||
*/
|
||||
public enum WikiStatus {
|
||||
SUCCESS,
|
||||
NETWORK_ERROR,
|
||||
GENERAL_ERROR
|
||||
}
|
|
@ -1,12 +1,10 @@
|
|||
package pl.tpolgrabia.urbanexplorer.fragments;
|
||||
|
||||
|
||||
import android.content.Intent;
|
||||
import android.content.Context;
|
||||
import android.location.Location;
|
||||
import android.location.LocationListener;
|
||||
import android.location.LocationManager;
|
||||
import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.text.Editable;
|
||||
import android.text.TextWatcher;
|
||||
|
@ -22,7 +20,9 @@ import org.json.JSONException;
|
|||
import org.json.JSONObject;
|
||||
import pl.tpolgrabia.urbanexplorer.MainActivity;
|
||||
import pl.tpolgrabia.urbanexplorer.R;
|
||||
import pl.tpolgrabia.urbanexplorer.callbacks.StandardLocationListener;
|
||||
import pl.tpolgrabia.urbanexplorer.dto.PanoramioImageInfo;
|
||||
import pl.tpolgrabia.urbanexplorer.utils.LocationUtils;
|
||||
import pl.tpolgrabia.urbanexplorer.utils.NumberUtils;
|
||||
import pl.tpolgrabia.urbanexplorer.utils.PanoramioUtils;
|
||||
|
||||
|
@ -30,25 +30,14 @@ import java.text.ParseException;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static android.content.Context.LOCATION_SERVICE;
|
||||
|
||||
/**
|
||||
* A simple {@link Fragment} subclass.
|
||||
*/
|
||||
public class HomeFragment extends Fragment implements LocationListener {
|
||||
public class HomeFragment extends Fragment {
|
||||
|
||||
private static final String CLASS_TAG = HomeFragment.class.getSimpleName();
|
||||
private static final long MIN_TIME = 60000;
|
||||
private static final float MIN_DISTANCE = 100;
|
||||
private static final int LOCATION_SETTINGS_REQUEST_ID = 1;
|
||||
private static final String LOCATIONS_LIST_IMAGE_SIZE = "medium";
|
||||
private static final String LOCATIONS_ORDER = "popularity";
|
||||
private boolean gpsLocationEnabled;
|
||||
private boolean networkLocationEnabled;
|
||||
private boolean locationEnabled;
|
||||
private LocationManager locationService;
|
||||
private String locationProvider;
|
||||
private boolean locationServicesActivated = false;
|
||||
private AQuery aq;
|
||||
|
||||
private View inflatedView;
|
||||
|
@ -60,6 +49,9 @@ public class HomeFragment extends Fragment implements LocationListener {
|
|||
private ImageView nextWidget;
|
||||
private Long photosCount;
|
||||
private TextView locationsResultInfo;
|
||||
private StandardLocationListener locationCallback = new StandardLocationListener();
|
||||
private LocationManager locationService;
|
||||
private String locationProvider = LocationUtils.getDefaultLocation(getActivity());
|
||||
|
||||
public HomeFragment() {
|
||||
// Required empty public constructor
|
||||
|
@ -70,15 +62,7 @@ public class HomeFragment extends Fragment implements LocationListener {
|
|||
super.onCreate(savedInstanceState);
|
||||
aq = new AQuery(getActivity());
|
||||
|
||||
locationService = (LocationManager) getActivity().getSystemService(LOCATION_SERVICE);
|
||||
|
||||
checkLocationSourceAvailability();
|
||||
|
||||
if (!locationEnabled) {
|
||||
Intent locationSettingsIntent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
|
||||
startActivityForResult(locationSettingsIntent, LOCATION_SETTINGS_REQUEST_ID);
|
||||
return;
|
||||
}
|
||||
locationService = (LocationManager)getActivity().getSystemService(Context.LOCATION_SERVICE);
|
||||
|
||||
}
|
||||
|
||||
|
@ -202,7 +186,7 @@ public class HomeFragment extends Fragment implements LocationListener {
|
|||
}
|
||||
|
||||
private void fetchPanoramioPhotos() {
|
||||
final Location location = locationService.getLastKnownLocation(locationProvider);
|
||||
final Location location = locationService.getLastKnownLocation(LocationUtils.getDefaultLocation(getActivity()));
|
||||
Double radiusX = fetchRadiusX();
|
||||
Double radiusY = fetchRadiusY();
|
||||
final String aqQuery = "http://www.panoramio.com/map/get_panoramas.php?" +
|
||||
|
@ -285,82 +269,4 @@ public class HomeFragment extends Fragment implements LocationListener {
|
|||
return safeParseDouble(radiusyTextView.getText());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLocationChanged(Location location) {
|
||||
Log.i(CLASS_TAG, "Location provider changed: " + location);
|
||||
double lat = location.getLatitude();
|
||||
double lng = location.getLongitude();
|
||||
TextView locationInfo = (TextView) getActivity().findViewById(R.id.locationInfo);
|
||||
locationInfo.setText("Location: (" + lat + "," + lng + ")");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStatusChanged(String provider, int status, Bundle extras) {
|
||||
// Log.i(CLASS_TAG, "Location provider status changed")
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onProviderEnabled(String provider) {
|
||||
Log.i(CLASS_TAG, "Provider " + provider + " enabled");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onProviderDisabled(String provider) {
|
||||
Log.i(CLASS_TAG, "Provider " + provider + " disabled");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
|
||||
if (locationProvider != null) {
|
||||
locationService.requestLocationUpdates(locationProvider,
|
||||
MIN_TIME,
|
||||
MIN_DISTANCE,
|
||||
this);
|
||||
locationServicesActivated = true;
|
||||
Toast.makeText(getActivity(), "Location resumed", Toast.LENGTH_LONG).show();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
if (locationServicesActivated) {
|
||||
locationService.removeUpdates(this);
|
||||
}
|
||||
}
|
||||
|
||||
private void checkLocationSourceAvailability() {
|
||||
gpsLocationEnabled = locationService.isProviderEnabled(LocationManager.GPS_PROVIDER);
|
||||
networkLocationEnabled = locationService.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
|
||||
locationEnabled = gpsLocationEnabled || networkLocationEnabled;
|
||||
if (gpsLocationEnabled) {
|
||||
locationProvider = LocationManager.GPS_PROVIDER;
|
||||
return;
|
||||
}
|
||||
|
||||
if (networkLocationEnabled) {
|
||||
locationProvider = LocationManager.NETWORK_PROVIDER;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
|
||||
switch (requestCode) {
|
||||
case LOCATION_SETTINGS_REQUEST_ID:
|
||||
checkLocationSourceAvailability();
|
||||
if (!locationEnabled) {
|
||||
// sadly, nothing to do except from notifing user that program is not enable working
|
||||
Toast.makeText(getActivity(), "Sorry location services are not working." +
|
||||
" Program cannot work properly - check location settings to allow program working correctly",
|
||||
Toast.LENGTH_LONG).show();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,13 +1,22 @@
|
|||
package pl.tpolgrabia.urbanexplorer.fragments;
|
||||
|
||||
|
||||
import android.location.Location;
|
||||
import android.location.LocationManager;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
import pl.tpolgrabia.urbanexplorer.R;
|
||||
import pl.tpolgrabia.urbanexplorer.utils.LocationUtils;
|
||||
import pl.tpolgrabia.urbanexplorer.utils.WikiUtils;
|
||||
|
||||
import static android.content.Context.LOCATION_SERVICE;
|
||||
|
||||
/**
|
||||
* A simple {@link Fragment} subclass.
|
||||
|
@ -15,6 +24,10 @@ import pl.tpolgrabia.urbanexplorer.R;
|
|||
public class WikiLocationsFragment extends Fragment {
|
||||
|
||||
|
||||
private LocationManager locationService;
|
||||
private TextView currentLocation;
|
||||
private Button fetchPlaces;
|
||||
|
||||
public WikiLocationsFragment() {
|
||||
// Required empty public constructor
|
||||
}
|
||||
|
@ -24,7 +37,42 @@ public class WikiLocationsFragment extends Fragment {
|
|||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
// Inflate the layout for this fragment
|
||||
return inflater.inflate(R.layout.fragment_wiki_locations, container, false);
|
||||
final View inflatedView = inflater.inflate(R.layout.fragment_wiki_locations, container, false);
|
||||
|
||||
inflatedView.findViewById(R.id.wiki_fetch_places).setOnClickListener(
|
||||
new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
// TODO replace this
|
||||
Toast.makeText(getActivity(), "Fetch wiki objects", Toast.LENGTH_SHORT);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
locationService = (LocationManager) getActivity().getSystemService(LOCATION_SERVICE);
|
||||
currentLocation = (TextView) inflatedView.findViewById(R.id.wiki_current_location);
|
||||
fetchPlaces = (Button)inflatedView.findViewById(R.id.wiki_fetch_places);
|
||||
fetchPlaces.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Location location = locationService.getLastKnownLocation(LocationUtils.getDefaultLocation(getActivity()));
|
||||
WikiUtils.fetchNearPlaces(this, location.getLatitude(), location.getLongitude());
|
||||
}
|
||||
});
|
||||
|
||||
return inflatedView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
|
||||
final Location location = locationService.getLastKnownLocation(LocationUtils.getDefaultLocation(getActivity()));
|
||||
currentLocation.setText("Location: " + location.getLatitude() + "," + location.getLongitude());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
package pl.tpolgrabia.urbanexplorer.utils;
|
||||
|
||||
import android.content.Context;
|
||||
import android.location.LocationManager;
|
||||
|
||||
/**
|
||||
* Created by tpolgrabia on 28.08.16.
|
||||
*/
|
||||
public class LocationUtils {
|
||||
public static String getDefaultLocation(Context ctx) {
|
||||
LocationManager locationService = (LocationManager) ctx.getSystemService(Context.LOCATION_SERVICE);
|
||||
if (locationService.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
|
||||
return LocationManager.GPS_PROVIDER;
|
||||
}
|
||||
|
||||
if (locationService.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
|
||||
return LocationManager.NETWORK_PROVIDER;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
package pl.tpolgrabia.urbanexplorer.utils;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.View;
|
||||
import com.androidquery.AQuery;
|
||||
import com.androidquery.callback.AjaxCallback;
|
||||
import com.androidquery.callback.AjaxStatus;
|
||||
import org.json.JSONObject;
|
||||
import pl.tpolgrabia.urbanexplorer.callbacks.WikiResponseCallback;
|
||||
|
||||
/**
|
||||
* Created by tpolgrabia on 28.08.16.
|
||||
*/
|
||||
public class WikiUtils {
|
||||
public static void fetchNearPlaces(Context ctx, double latitude, double longitude, final WikiResponseCallback callback) {
|
||||
AQuery aq = new AQuery(ctx);
|
||||
aq.ajax("TODO", JSONObject.class, new AjaxCallback<JSONObject>(){
|
||||
@Override
|
||||
public void callback(String url, JSONObject object, AjaxStatus status) {
|
||||
// TODO handle response
|
||||
callback.callback(null, null);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
|
@ -1,13 +1,23 @@
|
|||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context="pl.tpolgrabia.urbanexplorer.fragments.WikiLocationsFragment">
|
||||
<TextView android:id="@+id/wiki_current_location"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Location:"/>
|
||||
|
||||
<!-- TODO: Update blank fragment layout -->
|
||||
<TextView
|
||||
<ListView android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1">
|
||||
|
||||
</ListView>
|
||||
|
||||
<Button android:id="@+id/wiki_fetch_places"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:text="@string/hello_blank_fragment"/>
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Fetch wiki places in the neighbourhood"/>
|
||||
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
|
|
Loading…
Reference in New Issue