Add the ability to delete gpx file with aidl
This commit is contained in:
parent
3c2965c7c1
commit
60354edc72
5 changed files with 81 additions and 0 deletions
|
@ -49,6 +49,8 @@ import net.osmand.aidl.note.StartVideoRecordingParams;
|
||||||
import net.osmand.aidl.note.StartAudioRecordingParams;
|
import net.osmand.aidl.note.StartAudioRecordingParams;
|
||||||
import net.osmand.aidl.note.StopRecordingParams;
|
import net.osmand.aidl.note.StopRecordingParams;
|
||||||
|
|
||||||
|
import net.osmand.aidl.gpx.RemoveGpxParams;
|
||||||
|
|
||||||
// NOTE: Add new methods at the end of file!!!
|
// NOTE: Add new methods at the end of file!!!
|
||||||
|
|
||||||
interface IOsmAndAidlInterface {
|
interface IOsmAndAidlInterface {
|
||||||
|
@ -98,4 +100,5 @@ interface IOsmAndAidlInterface {
|
||||||
boolean navigate(in NavigateParams params);
|
boolean navigate(in NavigateParams params);
|
||||||
boolean navigateGpx(in NavigateGpxParams params);
|
boolean navigateGpx(in NavigateGpxParams params);
|
||||||
|
|
||||||
|
boolean removeGpx(in RemoveGpxParams params);
|
||||||
}
|
}
|
|
@ -1135,6 +1135,24 @@ public class OsmandAidlApi {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean removeGpx(String fileName) {
|
||||||
|
if (!Algorithms.isEmpty(fileName)) {
|
||||||
|
final File f = app.getAppPath(IndexConstants.GPX_INDEX_DIR + fileName);
|
||||||
|
if (f.exists()) {
|
||||||
|
new AsyncTask<File, Void, Void>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Void doInBackground(File... files) {
|
||||||
|
Algorithms.removeAllFiles(f);
|
||||||
|
app.getGpxDatabase().remove(f);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
boolean setMapLocation(double latitude, double longitude, int zoom, boolean animated) {
|
boolean setMapLocation(double latitude, double longitude, int zoom, boolean animated) {
|
||||||
Intent intent = new Intent();
|
Intent intent = new Intent();
|
||||||
intent.setAction(AIDL_SET_MAP_LOCATION);
|
intent.setAction(AIDL_SET_MAP_LOCATION);
|
||||||
|
|
|
@ -15,6 +15,7 @@ import net.osmand.aidl.favorite.group.UpdateFavoriteGroupParams;
|
||||||
import net.osmand.aidl.gpx.ASelectedGpxFile;
|
import net.osmand.aidl.gpx.ASelectedGpxFile;
|
||||||
import net.osmand.aidl.gpx.HideGpxParams;
|
import net.osmand.aidl.gpx.HideGpxParams;
|
||||||
import net.osmand.aidl.gpx.ImportGpxParams;
|
import net.osmand.aidl.gpx.ImportGpxParams;
|
||||||
|
import net.osmand.aidl.gpx.RemoveGpxParams;
|
||||||
import net.osmand.aidl.gpx.ShowGpxParams;
|
import net.osmand.aidl.gpx.ShowGpxParams;
|
||||||
import net.osmand.aidl.gpx.StartGpxRecordingParams;
|
import net.osmand.aidl.gpx.StartGpxRecordingParams;
|
||||||
import net.osmand.aidl.gpx.StopGpxRecordingParams;
|
import net.osmand.aidl.gpx.StopGpxRecordingParams;
|
||||||
|
@ -269,6 +270,14 @@ public class OsmandAidlService extends Service {
|
||||||
return getApi().getActiveGpx(files);
|
return getApi().getActiveGpx(files);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean removeGpx(RemoveGpxParams params) throws RemoteException {
|
||||||
|
if (params != null && params.getFileName() != null) {
|
||||||
|
return getApi().removeGpx(params.getFileName());
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean setMapLocation(SetMapLocationParams params) throws RemoteException {
|
public boolean setMapLocation(SetMapLocationParams params) throws RemoteException {
|
||||||
if (params != null) {
|
if (params != null) {
|
||||||
|
|
3
OsmAnd/src/net/osmand/aidl/gpx/RemoveGpxParams.aidl
Normal file
3
OsmAnd/src/net/osmand/aidl/gpx/RemoveGpxParams.aidl
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
package net.osmand.aidl.gpx;
|
||||||
|
|
||||||
|
parcelable RemoveGpxParams;
|
48
OsmAnd/src/net/osmand/aidl/gpx/RemoveGpxParams.java
Normal file
48
OsmAnd/src/net/osmand/aidl/gpx/RemoveGpxParams.java
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
package net.osmand.aidl.gpx;
|
||||||
|
|
||||||
|
import android.os.Parcel;
|
||||||
|
import android.os.Parcelable;
|
||||||
|
|
||||||
|
public class RemoveGpxParams implements Parcelable {
|
||||||
|
|
||||||
|
private String fileName;
|
||||||
|
|
||||||
|
public RemoveGpxParams(String fileName) {
|
||||||
|
this.fileName = fileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RemoveGpxParams(Parcel in) {
|
||||||
|
readFromParcel(in);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final Creator<RemoveGpxParams> CREATOR = new
|
||||||
|
Creator<RemoveGpxParams>() {
|
||||||
|
@Override
|
||||||
|
public RemoveGpxParams createFromParcel(Parcel in) {
|
||||||
|
return new RemoveGpxParams(in);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public RemoveGpxParams[] newArray(int size) {
|
||||||
|
return new RemoveGpxParams[size];
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public String getFileName() {
|
||||||
|
return fileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void writeToParcel(Parcel out, int flags) {
|
||||||
|
out.writeString(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void readFromParcel(Parcel in) {
|
||||||
|
fileName = in.readString();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int describeContents() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue