forked from upstream-mirrors/OpenTracks
Move ExportServiceResultReceiver.java into ExportService.
This commit is contained in:
@@ -56,7 +56,7 @@ import de.dennisguse.opentracks.util.FileUtils;
|
|||||||
* So, for this check actually a different file name might be used than in the ExportService.
|
* So, for this check actually a different file name might be used than in the ExportService.
|
||||||
* * Saved state as an object instead of individual values.
|
* * Saved state as an object instead of individual values.
|
||||||
*/
|
*/
|
||||||
public class ExportActivity extends FragmentActivity implements ExportServiceResultReceiver.Receiver {
|
public class ExportActivity extends FragmentActivity implements ExportService.ExportServiceResultReceiver.Receiver {
|
||||||
|
|
||||||
private static final String TAG = ExportActivity.class.getSimpleName();
|
private static final String TAG = ExportActivity.class.getSimpleName();
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@ public class ExportActivity extends FragmentActivity implements ExportServiceRes
|
|||||||
private TrackFileFormat trackFileFormat;
|
private TrackFileFormat trackFileFormat;
|
||||||
private Uri directoryUri;
|
private Uri directoryUri;
|
||||||
|
|
||||||
private ExportServiceResultReceiver resultReceiver;
|
private ExportService.ExportServiceResultReceiver resultReceiver;
|
||||||
|
|
||||||
private List<String> directoryFiles;
|
private List<String> directoryFiles;
|
||||||
|
|
||||||
@@ -161,7 +161,7 @@ public class ExportActivity extends FragmentActivity implements ExportServiceRes
|
|||||||
DocumentFile documentFile = DocumentFile.fromTreeUri(this, directoryUri);
|
DocumentFile documentFile = DocumentFile.fromTreeUri(this, directoryUri);
|
||||||
String directoryDisplayName = FileUtils.getPath(documentFile);
|
String directoryDisplayName = FileUtils.getPath(documentFile);
|
||||||
|
|
||||||
resultReceiver = new ExportServiceResultReceiver(new Handler(), this);
|
resultReceiver = new ExportService.ExportServiceResultReceiver(new Handler(), this);
|
||||||
|
|
||||||
if (savedInstanceState == null) {
|
if (savedInstanceState == null) {
|
||||||
autoConflict = ConflictResolutionStrategy.CONFLICT_NONE;
|
autoConflict = ConflictResolutionStrategy.CONFLICT_NONE;
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import android.content.Context;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.Handler;
|
||||||
import android.os.ResultReceiver;
|
import android.os.ResultReceiver;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
@@ -57,4 +58,41 @@ public class ExportService extends JobIntentService {
|
|||||||
int resultCode = success ? ExportServiceResultReceiver.RESULT_CODE_SUCCESS : ExportServiceResultReceiver.RESULT_CODE_ERROR;
|
int resultCode = success ? ExportServiceResultReceiver.RESULT_CODE_SUCCESS : ExportServiceResultReceiver.RESULT_CODE_ERROR;
|
||||||
resultReceiver.send(resultCode, bundle);
|
resultReceiver.send(resultCode, bundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new ResultReceive to receive results.
|
||||||
|
* Your {@link #onReceiveResult} method will be called from the thread running <var>handler</var> if given, or from an arbitrary thread if null.
|
||||||
|
*/
|
||||||
|
public static class ExportServiceResultReceiver extends ResultReceiver {
|
||||||
|
|
||||||
|
public static final int RESULT_CODE_SUCCESS = 1;
|
||||||
|
public static final int RESULT_CODE_ERROR = 0;
|
||||||
|
|
||||||
|
public static final String RESULT_EXTRA_EXPORT_TASK = "result_extra_export_task";
|
||||||
|
|
||||||
|
private final Receiver receiver;
|
||||||
|
|
||||||
|
public ExportServiceResultReceiver(Handler handler, @NonNull Receiver receiver) {
|
||||||
|
super(handler);
|
||||||
|
this.receiver = receiver;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onReceiveResult(int resultCode, Bundle resultData) {
|
||||||
|
ExportTask exportTask = resultData.getParcelable(ExportServiceResultReceiver.RESULT_EXTRA_EXPORT_TASK);
|
||||||
|
switch (resultCode) {
|
||||||
|
case RESULT_CODE_SUCCESS -> receiver.onExportSuccess(exportTask);
|
||||||
|
case RESULT_CODE_ERROR -> receiver.onExportError(exportTask);
|
||||||
|
default -> throw new RuntimeException("Unknown resultCode.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface Receiver {
|
||||||
|
default void onExportSuccess(ExportTask exportTask) {
|
||||||
|
}
|
||||||
|
|
||||||
|
default void onExportError(ExportTask exportTask) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
-44
@@ -1,44 +0,0 @@
|
|||||||
package de.dennisguse.opentracks.io.file.exporter;
|
|
||||||
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.os.Handler;
|
|
||||||
import android.os.ResultReceiver;
|
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new ResultReceive to receive results.
|
|
||||||
* Your {@link #onReceiveResult} method will be called from the thread running <var>handler</var> if given, or from an arbitrary thread if null.
|
|
||||||
*/
|
|
||||||
public class ExportServiceResultReceiver extends ResultReceiver {
|
|
||||||
|
|
||||||
public static final int RESULT_CODE_SUCCESS = 1;
|
|
||||||
public static final int RESULT_CODE_ERROR = 0;
|
|
||||||
|
|
||||||
public static final String RESULT_EXTRA_EXPORT_TASK = "result_extra_export_task";
|
|
||||||
|
|
||||||
private final Receiver receiver;
|
|
||||||
|
|
||||||
public ExportServiceResultReceiver(Handler handler, @NonNull Receiver receiver) {
|
|
||||||
super(handler);
|
|
||||||
this.receiver = receiver;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onReceiveResult(int resultCode, Bundle resultData) {
|
|
||||||
ExportTask exportTask = resultData.getParcelable(ExportServiceResultReceiver.RESULT_EXTRA_EXPORT_TASK);
|
|
||||||
switch (resultCode) {
|
|
||||||
case RESULT_CODE_SUCCESS -> receiver.onExportSuccess(exportTask);
|
|
||||||
case RESULT_CODE_ERROR -> receiver.onExportError(exportTask);
|
|
||||||
default -> throw new RuntimeException("Unknown resultCode.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface Receiver {
|
|
||||||
default void onExportSuccess(ExportTask exportTask) {
|
|
||||||
}
|
|
||||||
|
|
||||||
default void onExportError(ExportTask exportTask) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -25,7 +25,7 @@ import de.dennisguse.opentracks.data.models.Track;
|
|||||||
import de.dennisguse.opentracks.io.file.TrackFileFormat;
|
import de.dennisguse.opentracks.io.file.TrackFileFormat;
|
||||||
import de.dennisguse.opentracks.io.file.TrackFilenameGenerator;
|
import de.dennisguse.opentracks.io.file.TrackFilenameGenerator;
|
||||||
import de.dennisguse.opentracks.io.file.exporter.ExportService;
|
import de.dennisguse.opentracks.io.file.exporter.ExportService;
|
||||||
import de.dennisguse.opentracks.io.file.exporter.ExportServiceResultReceiver;
|
import de.dennisguse.opentracks.io.file.exporter.ExportService.ExportServiceResultReceiver;
|
||||||
import de.dennisguse.opentracks.io.file.exporter.ExportTask;
|
import de.dennisguse.opentracks.io.file.exporter.ExportTask;
|
||||||
import de.dennisguse.opentracks.io.file.exporter.TrackExporter;
|
import de.dennisguse.opentracks.io.file.exporter.TrackExporter;
|
||||||
import de.dennisguse.opentracks.settings.PreferencesUtils;
|
import de.dennisguse.opentracks.settings.PreferencesUtils;
|
||||||
|
|||||||
Reference in New Issue
Block a user