[android] - avoid crashing when deleting already deleted region (#8920)

This commit is contained in:
Tobrun
2017-05-11 21:39:17 +02:00
committed by GitHub
parent ad46d67aeb
commit 850b008a2f

View File

@@ -37,6 +37,9 @@ public class OfflineRegion {
//Region id
private long id;
// delete status
private boolean isDeleted;
private OfflineRegionDefinition definition;
/**
@@ -353,28 +356,31 @@ public class OfflineRegion {
* @param callback the callback to be invoked
*/
public void delete(@NonNull final OfflineRegionDeleteCallback callback) {
deleteOfflineRegion(new OfflineRegionDeleteCallback() {
@Override
public void onDelete() {
getHandler().post(new Runnable() {
@Override
public void run() {
callback.onDelete();
OfflineRegion.this.finalize();
}
});
}
if (!isDeleted) {
deleteOfflineRegion(new OfflineRegionDeleteCallback() {
@Override
public void onDelete() {
isDeleted = true;
getHandler().post(new Runnable() {
@Override
public void run() {
callback.onDelete();
OfflineRegion.this.finalize();
}
});
}
@Override
public void onError(final String error) {
getHandler().post(new Runnable() {
@Override
public void run() {
callback.onError(error);
}
});
}
});
@Override
public void onError(final String error) {
getHandler().post(new Runnable() {
@Override
public void run() {
callback.onError(error);
}
});
}
});
}
}
/**