summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/FileSource.java
diff options
context:
space:
mode:
authorTobrun Van Nuland <tobrun.van.nuland@gmail.com>2017-09-12 18:40:25 +0200
committerTobrun <tobrun@mapbox.com>2017-10-17 17:22:29 +0200
commitd95079a0f94fdc9294c41739fa993eb48ea2971d (patch)
tree31b0b55593ca5d14086854348bd6fc46313ab545 /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/FileSource.java
parent10978329f958f5b9e260c525e25598484f623a49 (diff)
downloadqtlocation-mapboxgl-d95079a0f94fdc9294c41739fa993eb48ea2971d.tar.gz
[android] - use FileSource pause and resume when foregrounding/backgrounding app
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/FileSource.java')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/FileSource.java24
1 files changed, 23 insertions, 1 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/FileSource.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/FileSource.java
index a968cdf192..41dc449b50 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/FileSource.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/FileSource.java
@@ -72,7 +72,7 @@ public class FileSource {
MapboxConstants.KEY_META_DATA_SET_STORAGE_EXTERNAL,
MapboxConstants.DEFAULT_SET_STORAGE_EXTERNAL);
} catch (PackageManager.NameNotFoundException exception) {
- Timber.e(exception,"Failed to read the package metadata: ");
+ Timber.e(exception, "Failed to read the package metadata: ");
} catch (Exception exception) {
Timber.e(exception, "Failed to read the storage key: ");
}
@@ -119,17 +119,39 @@ public class FileSource {
}
private long nativePtr;
+ private long activeCounter;
+ private boolean wasPaused;
private FileSource(String cachePath, AssetManager assetManager) {
initialize(Mapbox.getAccessToken(), cachePath, assetManager);
}
+ public void activate() {
+ activeCounter++;
+ if (activeCounter == 1 && wasPaused) {
+ wasPaused = false;
+ resume();
+ }
+ }
+
+ public void deactivate() {
+ activeCounter--;
+ if (activeCounter == 0) {
+ wasPaused = true;
+ pause();
+ }
+ }
+
public native void setAccessToken(@NonNull String accessToken);
public native String getAccessToken();
public native void setApiBaseUrl(String baseUrl);
+ private native void resume();
+
+ private native void pause();
+
/**
* Sets a callback for transforming URLs requested from the internet
* <p>