diff options
author | tobrun <tobrun.van.nuland@gmail.com> | 2019-04-25 18:30:23 +0200 |
---|---|---|
committer | tobrun <tobrun.van.nuland@gmail.com> | 2019-04-25 18:30:23 +0200 |
commit | e1d7f06f4c3c2993eb43c7079926b461b2771450 (patch) | |
tree | 7eb5cedca130cbc7cfa30da069f64af62730a9e8 | |
parent | 3832a081cb481bf5e375f3fc51a467cbe84aa04a (diff) | |
download | qtlocation-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.java | 16 |
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); |