TrackDeleteActivity: keep a wakelock while deletion is ongoing.

This commit is contained in:
Dennis Guse
2020-07-13 17:56:47 +02:00
parent f209031df0
commit 7fd9893560
3 changed files with 13 additions and 3 deletions
@@ -18,9 +18,11 @@ package de.dennisguse.opentracks;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.os.PowerManager;
import android.view.View; import android.view.View;
import de.dennisguse.opentracks.content.provider.ContentProviderUtils; import de.dennisguse.opentracks.content.provider.ContentProviderUtils;
import de.dennisguse.opentracks.util.SystemUtils;
/** /**
* An activity for deleting tracks. * An activity for deleting tracks.
@@ -46,13 +48,20 @@ public class TrackDeleteActivity extends AbstractActivity {
deleteThread = new Thread(() -> { deleteThread = new Thread(() -> {
ContentProviderUtils contentProviderUtils = new ContentProviderUtils(TrackDeleteActivity.this); ContentProviderUtils contentProviderUtils = new ContentProviderUtils(TrackDeleteActivity.this);
PowerManager.WakeLock wakeLock = SystemUtils.acquireWakeLock(TrackDeleteActivity.this, null);
for (long id : trackIds) { for (long id : trackIds) {
if (Thread.interrupted()) { if (Thread.interrupted()) {
return; break;
} }
contentProviderUtils.deleteTrack(TrackDeleteActivity.this, id); contentProviderUtils.deleteTrack(TrackDeleteActivity.this, id);
} }
wakeLock = SystemUtils.releaseWakeLock(wakeLock);
if (Thread.interrupted()) {
return;
}
runOnUiThread(TrackDeleteActivity.this::onAsyncTaskCompleted); runOnUiThread(TrackDeleteActivity.this::onAsyncTaskCompleted);
}); });
} }
@@ -69,10 +69,10 @@ public class KmlFileTrackImporter extends AbstractFileTrackImporter {
private ArrayList<Float> powerList; private ArrayList<Float> powerList;
/** /**
* Constructor.
*
* @param context the context * @param context the context
* @param importTrackId track id to import to. This should not be -1L so that images in the kmz file can be imported.
*/ */
@Deprecated //TODO Do not pass importTrackId here; get it from somewhere else
public KmlFileTrackImporter(Context context, long importTrackId) { public KmlFileTrackImporter(Context context, long importTrackId) {
this(context, importTrackId, new ContentProviderUtils(context)); this(context, importTrackId, new ContentProviderUtils(context));
} }
@@ -60,6 +60,7 @@ public class KmzTrackImporter implements TrackImporter {
* @param importTrackId track id to import to. This should not be -1L so that images in the kmz file can be imported. * @param importTrackId track id to import to. This should not be -1L so that images in the kmz file can be imported.
* @param uriFile URI of the kmz file. * @param uriFile URI of the kmz file.
*/ */
@Deprecated //TODO Do not pass importTrackId here; get it from somewhere else
public KmzTrackImporter(Context context, long importTrackId, Uri uriFile) { public KmzTrackImporter(Context context, long importTrackId, Uri uriFile) {
this.context = context; this.context = context;
this.importTrackId = importTrackId; this.importTrackId = importTrackId;