summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortobrun <tobrun.van.nuland@gmail.com>2019-04-25 18:30:23 +0200
committertobrun <tobrun.van.nuland@gmail.com>2019-04-25 18:30:23 +0200
commite1d7f06f4c3c2993eb43c7079926b461b2771450 (patch)
tree7eb5cedca130cbc7cfa30da069f64af62730a9e8
parent3832a081cb481bf5e375f3fc51a467cbe84aa04a (diff)
downloadqtlocation-mapboxgl-upstream/tvn-weakreference-callback.tar.gz
[android] - don't weak reference an anymous callbackupstream/tvn-weakreference-callback
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/FileSource.java16
1 files changed, 8 insertions, 8 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 cc4988b549..d3cf5fca2f 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
@@ -11,7 +11,6 @@ import android.support.annotation.Keep;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.UiThread;
-
import com.mapbox.mapboxsdk.MapStrictMode;
import com.mapbox.mapboxsdk.Mapbox;
import com.mapbox.mapboxsdk.constants.MapboxConstants;
@@ -272,23 +271,25 @@ public class FileSource {
*/
public static void setResourcesCachePath(@NonNull Context context,
@NonNull final String path,
- @NonNull ResourcesCachePathChangeCallback callback) {
+ @Nullable final ResourcesCachePathChangeCallback callback) {
final String fileSourceActivatedMessage = "Cannot set path, file source is activated."
+ " Make sure that the map or a resources download is not running.";
if (getInstance(context).isActivated()) {
Logger.w(TAG, fileSourceActivatedMessage);
- callback.onError(fileSourceActivatedMessage);
+ if (callback != null) {
+ callback.onError(fileSourceActivatedMessage);
+ }
} else if (path.equals(resourcesCachePath)) {
- // no need to change the path
- callback.onSuccess(path);
+ if (callback != null) {
+ // no need to change the path
+ callback.onSuccess(path);
+ }
} else {
final WeakReference<Context> contextWeakReference = new WeakReference<>(context);
- final WeakReference<ResourcesCachePathChangeCallback> callbackWeakReference = new WeakReference<>(callback);
new FileUtils.CheckFileWritePermissionTask(new FileUtils.OnCheckFileWritePermissionListener() {
@Override
public void onWritePermissionGranted() {
final Context context = contextWeakReference.get();
- final ResourcesCachePathChangeCallback callback = callbackWeakReference.get();
if (callback == null) {
Logger.w(TAG, "Lost callback reference.");
@@ -316,7 +317,6 @@ public class FileSource {
@Override
public void onError() {
- final ResourcesCachePathChangeCallback callback = callbackWeakReference.get();
if (callback != null) {
String message = "Path is not writable: " + path;
Logger.e(TAG, message);