summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineManager.java9
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegion.java14
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionDefinition.java3
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionError.java3
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineRegionStatus.java3
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineTilePyramidRegionDefinition.java7
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