diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMapOptions.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMapOptions.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMapOptions.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMapOptions.java index 48c83628d6..aab8123a85 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMapOptions.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMapOptions.java @@ -3,6 +3,7 @@ package com.mapbox.mapboxsdk.maps; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; @@ -22,6 +23,7 @@ import com.mapbox.mapboxsdk.camera.CameraPosition; import com.mapbox.mapboxsdk.constants.MapboxConstants; import com.mapbox.mapboxsdk.utils.ColorUtils; +import java.io.ByteArrayOutputStream; import java.util.Arrays; /** @@ -174,6 +176,24 @@ public class MapboxMapOptions implements Parcelable { } } + static byte[] getByteArrayFromDrawable(Drawable drawable) { + if (drawable == null) { + return null; + } + Bitmap bitmap = getBitmapFromDrawable(drawable); + ByteArrayOutputStream stream = new ByteArrayOutputStream(); + bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream); + return stream.toByteArray(); + } + + static Drawable getDrawableFromBytArray(Context context, byte[] array) { + if (array == null) { + return null; + } + Bitmap compass = BitmapFactory.decodeByteArray(array, 0, array.length); + return new BitmapDrawable(context.getResources(), compass); + } + /** * Creates a MapboxMapsOptions from the attribute set.s * |