summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorTobrun <tobrun.van.nuland@gmail.com>2016-04-01 09:19:43 +0200
committerTobrun <tobrun.van.nuland@gmail.com>2016-04-01 11:45:13 +0200
commitaef1f8124c29026c05a37d4f525c87fe27448862 (patch)
treed7519a48fb8d366c9724c542537785438f7fe5df /platform
parent862305d935e647f7fbb36986f3ce02e3730433dc (diff)
downloadqtlocation-mapboxgl-aef1f8124c29026c05a37d4f525c87fe27448862.tar.gz
[android] #4516 - cleanup snapshot PR
Diffstat (limited to 'platform')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java17
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/SnapshotActivity.java56
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_add_a_photo_black_24dp.xml9
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_snapshot.xml38
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/ids.xml4
5 files changed, 73 insertions, 51 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
index 96849688e7..32b2690272 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
@@ -1469,11 +1469,22 @@ public class MapboxMap {
mMapView.update();
}
+ /**
+ * Takes a snapshot of the map.
+ *
+ * @param callback Callback method invoked when the snapshot is taken.
+ * @param bitmap A pre-allocated bitmap.
+ */
@UiThread
public void snapshot(@NonNull SnapshotReadyCallback callback, @Nullable final Bitmap bitmap) {
mMapView.snapshot(callback, bitmap);
}
+ /**
+ * Takes a snapshot of the map.
+ *
+ * @param callback Callback method invoked when the snapshot is taken.
+ */
@UiThread
public void snapshot(@NonNull SnapshotReadyCallback callback) {
mMapView.snapshot(callback, null);
@@ -1700,7 +1711,13 @@ public class MapboxMap {
void onFinish();
}
+ /**
+ * Interface definition for a callback to be invoked when the snapshot has been taken.
+ */
public interface SnapshotReadyCallback {
+ /**
+ * Invoked when the snapshot has been taken.
+ **/
void onSnapshotReady(Bitmap snapshot);
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/SnapshotActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/SnapshotActivity.java
index 9f48406acf..74e556da54 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/SnapshotActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/SnapshotActivity.java
@@ -3,20 +3,16 @@ package com.mapbox.mapboxsdk.testapp.activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.annotation.NonNull;
+import android.support.design.widget.FloatingActionButton;
+import android.support.v4.content.ContextCompat;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
-import android.util.Log;
-import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
-import com.mapbox.mapboxsdk.camera.CameraPosition;
-import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
-import com.mapbox.mapboxsdk.constants.MapboxConstants;
-import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
@@ -25,12 +21,10 @@ import com.mapbox.mapboxsdk.testapp.utils.ApiAccess;
public class SnapshotActivity extends AppCompatActivity {
- private static final String TAG = "SnapshotActivity";
-
- private MapView mMapView;
+ private MapView mapView;
@Override
- protected void onCreate(Bundle savedInstanceState) {
+ public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_snapshot);
@@ -43,21 +37,15 @@ public class SnapshotActivity extends AppCompatActivity {
actionBar.setDisplayShowHomeEnabled(true);
}
- mMapView = (MapView) findViewById(R.id.cameraMapView);
- mMapView.setAccessToken(ApiAccess.getToken(this));
- mMapView.onCreate(savedInstanceState);
- mMapView.getMapAsync(new OnMapReadyCallback() {
+ mapView = (MapView) findViewById(R.id.mapView);
+ mapView.setAccessToken(ApiAccess.getToken(this));
+ mapView.onCreate(savedInstanceState);
+ mapView.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(@NonNull final MapboxMap mapboxMap) {
- // set a style
- mapboxMap.setOnCameraChangeListener(new MapboxMap.OnCameraChangeListener() {
- @Override
- public void onCameraChange(CameraPosition position) {
- Log.v(MapboxConstants.TAG, position.toString());
- }
- });
-
- findViewById(R.id.makeSnapshotButton).setOnClickListener(new View.OnClickListener() {
+ FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
+ fab.setColorFilter(ContextCompat.getColor(SnapshotActivity.this, R.color.primary));
+ fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final long startTime = System.nanoTime();
@@ -66,7 +54,7 @@ public class SnapshotActivity extends AppCompatActivity {
public void onSnapshotReady(Bitmap snapshot) {
long endTime = System.nanoTime();
long duration = (long) ((endTime - startTime) / 1e6);
- ImageView snapshotView = (ImageView) findViewById(R.id.snapshotImageView);
+ ImageView snapshotView = (ImageView) findViewById(R.id.imageView);
snapshotView.setImageBitmap(snapshot);
Toast.makeText(SnapshotActivity.this, String.format("Snapshot taken in %d ms", duration), Toast.LENGTH_LONG).show();
}
@@ -80,31 +68,31 @@ public class SnapshotActivity extends AppCompatActivity {
@Override
public void onResume() {
super.onResume();
- mMapView.onResume();
+ mapView.onResume();
}
@Override
public void onPause() {
super.onPause();
- mMapView.onPause();
+ mapView.onPause();
}
@Override
- protected void onSaveInstanceState(Bundle outState) {
+ public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
- mMapView.onSaveInstanceState(outState);
+ mapView.onSaveInstanceState(outState);
}
@Override
- protected void onDestroy() {
- super.onDestroy();
- mMapView.onDestroy();
+ public void onLowMemory() {
+ super.onLowMemory();
+ mapView.onLowMemory();
}
@Override
- public void onLowMemory() {
- super.onLowMemory();
- mMapView.onLowMemory();
+ public void onDestroy() {
+ super.onDestroy();
+ mapView.onDestroy();
}
@Override
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_add_a_photo_black_24dp.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_add_a_photo_black_24dp.xml
new file mode 100644
index 0000000000..3d2ba42f3e
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_add_a_photo_black_24dp.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M3,4L3,1h2v3h3v2L5,6v3L3,9L3,6L0,6L0,4h3zM6,10L6,7h3L9,4h7l1.83,2L21,6c1.1,0 2,0.9 2,2v12c0,1.1 -0.9,2 -2,2L5,22c-1.1,0 -2,-0.9 -2,-2L3,10h3zM13,19c2.76,0 5,-2.24 5,-5s-2.24,-5 -5,-5 -5,2.24 -5,5 2.24,5 5,5zM9.8,14c0,1.77 1.43,3.2 3.2,3.2s3.2,-1.43 3.2,-3.2 -1.43,-3.2 -3.2,-3.2 -3.2,1.43 -3.2,3.2z"/>
+</vector>
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_snapshot.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_snapshot.xml
index 14860666c2..b9701b53e0 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_snapshot.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_snapshot.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
@@ -11,32 +12,37 @@
android:background="@color/primary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ <LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/toolbar"
- android:orientation="vertical" >
+ android:orientation="vertical">
+
+ <ImageView
+ android:id="@+id/imageView"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ android:background="@color/primary" />
+
<com.mapbox.mapboxsdk.maps.MapView
- android:id="@+id/cameraMapView"
+ android:id="@id/mapView"
android:layout_width="match_parent"
android:layout_height="0dp"
- android:layout_weight="1" />
- <ImageView
- android:id="@+id/snapshotImageView"
- android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="1" />
+ android:layout_weight="1"
+ app:style_url="@string/style_emerald" />
+
</LinearLayout>
- <Button
+ <android.support.design.widget.FloatingActionButton
+ android:id="@id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/button_make_snapshot"
- android:id="@+id/makeSnapshotButton"
- android:layout_margin="@dimen/fab_margin"
- android:layout_alignParentLeft="true"
- android:layout_alignParentStart="true"
android:layout_alignParentBottom="true"
- android:background="@color/white"/>
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
+ android:layout_margin="@dimen/fab_margin"
+ android:src="@drawable/ic_add_a_photo_black_24dp"
+ app:backgroundTint="@android:color/white" />
</RelativeLayout>
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/ids.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/ids.xml
index 1f36e6c015..ff7021a765 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/ids.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/ids.xml
@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
- <item name="mapView" type="id"/>
+ <item name="mapView" type="id" />
+ <item name="fab" type="id" />
+ <item name="imageView" type="id" />
<item name="item_click_support" type="id" />
</resources> \ No newline at end of file