diff --git a/app/build.gradle b/app/build.gradle index c77aea346..ca3651fbd 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,6 +17,9 @@ dependencies { compile "com.jakewharton:butterknife:$BUTTERKNIFE_VERSION" annotationProcessor "com.jakewharton:butterknife-compiler:$BUTTERKNIFE_VERSION" compile 'com.jakewharton.timber:timber:4.5.1' + compile ('com.mapbox.mapboxsdk:mapbox-android-sdk:5.0.2@aar'){ + transitive=true + } testCompile 'junit:junit:4.12' androidTestCompile "com.android.support:support-annotations:${project.supportLibVersion}" 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 54657c2f8..ec410ca69 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 @@ -2,7 +2,6 @@ package fr.free.nrw.commons.nearby; import android.os.Bundle; import android.support.v4.app.FragmentTransaction; -import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -12,6 +11,7 @@ import fr.free.nrw.commons.location.LocationServiceManager; import fr.free.nrw.commons.theme.BaseActivity; public class NearbyActivity extends BaseActivity { + private boolean isMapViewActive = false; private LocationServiceManager locationManager; @@ -47,21 +47,32 @@ public class NearbyActivity extends BaseActivity { refreshView(); return true; case R.id.action_map: - Log.d("Nearby","map is clicked"); + showMapView(); return true; default: return super.onOptionsItemSelected(item); } } + private void showMapView() { + isMapViewActive = true; + getSupportFragmentManager().beginTransaction() + .replace(R.id.container, new NearbyMapFragment()).commit(); + } + @Override protected void onResume() { super.onResume(); } protected void refreshView() { - getSupportFragmentManager().beginTransaction() - .replace(R.id.container, new NearbyListFragment()).commit(); + if (isMapViewActive) { + getSupportFragmentManager().beginTransaction() + .replace(R.id.container, new NearbyMapFragment()).commit(); + } else { + getSupportFragmentManager().beginTransaction() + .replace(R.id.container, new NearbyListFragment()).commit(); + } } public LocationServiceManager getLocationManager() { diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyMapFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyMapFragment.java new file mode 100644 index 000000000..2535aaa4b --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyMapFragment.java @@ -0,0 +1,83 @@ +package fr.free.nrw.commons.nearby; + +import android.app.Fragment; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.mapbox.mapboxsdk.Mapbox; +import com.mapbox.mapboxsdk.maps.MapView; +import com.mapbox.mapboxsdk.maps.MapboxMap; +import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; +import com.mapbox.services.android.telemetry.MapboxTelemetry; + +import butterknife.BindView; +import butterknife.ButterKnife; +import fr.free.nrw.commons.R; + +public class NearbyMapFragment extends android.support.v4.app.Fragment { + @BindView(R.id.mapview) MapView mapView; + + public NearbyMapFragment() { + + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + Mapbox.getInstance(getActivity(), + getString(R.string.mapbox_commons_app_token)); + MapboxTelemetry.getInstance().setTelemetryEnabled(false); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_nearby_map, container, false); + ButterKnife.bind(this, view); + + mapView.onCreate(savedInstanceState); + + setHasOptionsMenu(false); + + mapView.getMapAsync(new OnMapReadyCallback() { + @Override + public void onMapReady(MapboxMap mapboxMap) { + + } + }); + + return view; + } + + @Override + public void onStart() { + mapView.onStart(); + super.onStart(); + } + + @Override + public void onPause() { + mapView.onPause(); + super.onPause(); + } + + @Override + public void onResume() { + mapView.onResume(); + super.onResume(); + } + + @Override + public void onStop() { + mapView.onStop(); + super.onStop(); + } + + @Override + public void onDestroyView() { + mapView.onDestroy(); + super.onDestroyView(); + } +} diff --git a/app/src/main/res/layout/fragment_nearby_map.xml b/app/src/main/res/layout/fragment_nearby_map.xml new file mode 100644 index 000000000..ff4ba4d54 --- /dev/null +++ b/app/src/main/res/layout/fragment_nearby_map.xml @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 67ddd2396..981c617e9 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -167,4 +167,5 @@ Tap this message (or hit back) to skip this step. https://play.google.com/apps/testing/fr.free.nrw.commons Use Wikidata (Warning: disabling this may cause large mobile data consumption) + pk.eyJ1IjoibWFza2FyYXZpdmVrIiwiYSI6ImNqMmxvdzFjMTAwMHYzM283ZWM3eW5tcDAifQ.ib5SZ9EVjwJe6GSKve0bcg diff --git a/gradle.properties b/gradle.properties index 8bc6a1463..95e1dd81b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -gradleVersion = 2.3.0 +gradleVersion = 2.2.0 supportLibVersion = 25.2.0 @@ -13,3 +13,4 @@ android.useDeprecatedNdk=true # Library dependencies BUTTERKNIFE_VERSION=8.4.0 +