diff options
author | Tobrun Van Nuland <tobrun.van.nuland@gmail.com> | 2017-09-12 18:40:25 +0200 |
---|---|---|
committer | Tobrun <tobrun@mapbox.com> | 2017-10-17 17:22:29 +0200 |
commit | d95079a0f94fdc9294c41739fa993eb48ea2971d (patch) | |
tree | 31b0b55593ca5d14086854348bd6fc46313ab545 /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage | |
parent | 10978329f958f5b9e260c525e25598484f623a49 (diff) | |
download | qtlocation-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')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/FileSource.java | 24 |
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> |