diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline')
6 files changed, 38 insertions, 1 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineManager.java index f2faabd63b..dbf425986d 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineManager.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineManager.java @@ -4,6 +4,7 @@ import android.annotation.SuppressLint; import android.content.Context; import android.os.Handler; import android.os.Looper; +import android.support.annotation.Keep; import android.support.annotation.NonNull; import com.mapbox.mapboxsdk.LibraryLoader; @@ -31,6 +32,7 @@ public class OfflineManager { } // Native peer pointer + @Keep private long nativePtr; // Reference to the file source to keep it alive for the @@ -51,6 +53,7 @@ public class OfflineManager { * This callback receives an asynchronous response containing a list of all * OfflineRegion in the database or an error message otherwise. */ + @Keep public interface ListOfflineRegionsCallback { /** * Receives the list of offline regions. @@ -71,6 +74,7 @@ public class OfflineManager { * This callback receives an asynchronous response containing the newly created * OfflineRegion in the database or an error message otherwise. */ + @Keep public interface CreateOfflineRegionCallback { /** * Receives the newly created offline region. @@ -249,15 +253,20 @@ public class OfflineManager { * * @param limit the new tile count limit. */ + @Keep public native void setOfflineMapboxTileCountLimit(long limit); + @Keep private native void initialize(FileSource fileSource); @Override + @Keep protected native void finalize() throws Throwable; + @Keep private native void listOfflineRegions(FileSource fileSource, ListOfflineRegionsCallback callback); + @Keep private native void createOfflineRegion(FileSource fileSource, OfflineRegionDefinition definition, byte[] metadata, CreateOfflineRegionCallback callback); diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegion.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegion.java index 946d3694d5..d4335d1d7a 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegion.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegion.java @@ -3,6 +3,7 @@ package com.mapbox.mapboxsdk.offline; import android.os.Handler; import android.os.Looper; import android.support.annotation.IntDef; +import android.support.annotation.Keep; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import com.mapbox.mapboxsdk.LibraryLoader; @@ -30,6 +31,7 @@ public class OfflineRegion { // Members // Holds the pointer to JNI OfflineRegion + @Keep private long nativePtr; // Holds a reference to the FileSource to keep it alive @@ -57,6 +59,7 @@ public class OfflineRegion { * A region can have a single observer, which gets notified whenever a change * to the region's status occurs. */ + @Keep public interface OfflineRegionObserver { /** * Implement this method to be notified of a change in the status of an @@ -102,6 +105,7 @@ public class OfflineRegion { * This callback receives an asynchronous response containing the OfflineRegionStatus * of the offline region, or a {@link String} error message otherwise. */ + @Keep public interface OfflineRegionStatusCallback { /** * Receives the status @@ -122,6 +126,7 @@ public class OfflineRegion { * This callback receives an asynchronous response containing a notification when * an offline region has been deleted, or a {@link String} error message otherwise. */ + @Keep public interface OfflineRegionDeleteCallback { /** * Receives the delete notification @@ -140,6 +145,7 @@ public class OfflineRegion { * This callback receives an asynchronous response containing the newly update * OfflineMetadata in the database, or an error message otherwise. */ + @Keep public interface OfflineRegionUpdateMetadataCallback { /** * Receives the newly update offline region metadata. @@ -214,6 +220,7 @@ public class OfflineRegion { * For JNI use only, to create a new offline region, use * {@link OfflineManager#createOfflineRegion} instead. */ + @Keep private OfflineRegion(long offlineRegionPtr, FileSource fileSource, long id, OfflineRegionDefinition definition, byte[] metadata) { this.fileSource = fileSource; @@ -427,19 +434,26 @@ public class OfflineRegion { }); } + @Keep private native void initialize(long offlineRegionPtr, FileSource fileSource); @Override + @Keep protected native void finalize(); + @Keep private native void setOfflineRegionObserver(OfflineRegionObserver callback); + @Keep private native void setOfflineRegionDownloadState(@DownloadState int offlineRegionDownloadState); + @Keep private native void getOfflineRegionStatus(OfflineRegionStatusCallback callback); + @Keep private native void deleteOfflineRegion(OfflineRegionDeleteCallback callback); + @Keep private native void updateOfflineRegionMetadata(byte[] metadata, OfflineRegionUpdateMetadataCallback callback); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionDefinition.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionDefinition.java index 18d662a286..d1b18445fa 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionDefinition.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionDefinition.java @@ -1,5 +1,7 @@ package com.mapbox.mapboxsdk.offline; +import android.support.annotation.Keep; + import com.mapbox.mapboxsdk.geometry.LatLngBounds; /** @@ -7,6 +9,7 @@ import com.mapbox.mapboxsdk.geometry.LatLngBounds; * <p> * For the present, a tile pyramid is the only type of offline region. */ +@Keep public interface OfflineRegionDefinition { LatLngBounds getBounds(); diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionError.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionError.java index 83f3c06d68..c6f328d533 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionError.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionError.java @@ -1,5 +1,6 @@ package com.mapbox.mapboxsdk.offline; +import android.support.annotation.Keep; import android.support.annotation.StringDef; import java.lang.annotation.Retention; @@ -34,7 +35,7 @@ public class OfflineRegionError { private final String message; // Constructors - + @Keep private OfflineRegionError(String reason, String message) { // For JNI use only this.reason = reason; diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionStatus.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionStatus.java index 0f4b81fc39..1fd60de79d 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionStatus.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionStatus.java @@ -1,5 +1,7 @@ package com.mapbox.mapboxsdk.offline; +import android.support.annotation.Keep; + /** * A region's status includes its active/inactive state as well as counts * of the number of resources that have completed downloading, their total @@ -61,6 +63,7 @@ public class OfflineRegionStatus { * * For JNI use only */ + @Keep private OfflineRegionStatus(int downloadState, long completedResourceCount, long completedResourceSize, long completedTileCount, long completedTileSize, long requiredResourceCount, diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineTilePyramidRegionDefinition.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineTilePyramidRegionDefinition.java index ea9a066df7..b0d12859ed 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineTilePyramidRegionDefinition.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineTilePyramidRegionDefinition.java @@ -2,6 +2,7 @@ package com.mapbox.mapboxsdk.offline; import android.os.Parcel; import android.os.Parcelable; +import android.support.annotation.Keep; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.geometry.LatLngBounds; @@ -19,10 +20,15 @@ import com.mapbox.mapboxsdk.geometry.LatLngBounds; */ public class OfflineTilePyramidRegionDefinition implements OfflineRegionDefinition, Parcelable { + @Keep private String styleURL; + @Keep private LatLngBounds bounds; + @Keep private double minZoom; + @Keep private double maxZoom; + @Keep private float pixelRatio; /** @@ -34,6 +40,7 @@ public class OfflineTilePyramidRegionDefinition implements OfflineRegionDefiniti * @param maxZoom max zoom * @param pixelRatio pixel ratio of the device */ + @Keep public OfflineTilePyramidRegionDefinition( String styleURL, LatLngBounds bounds, double minZoom, double maxZoom, float pixelRatio) { // Note: Also used in JNI |