diff --git a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java index 54b6db830d..71317fff01 100644 --- a/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java +++ b/OsmAnd/src/net/osmand/plus/audionotes/AudioVideoNotesPlugin.java @@ -879,17 +879,17 @@ public class AudioVideoNotesPlugin extends OsmandPlugin { } stopRecording(mapActivity); SHOW_RECORDINGS.set(true); - indexFile(f); + indexFile(true, f); mapActivity.getMapView().refreshMap(); updateWidgetIcon(recordControl); } }); } - public void indexFile(File f) { + public boolean indexSingleFile(File f) { boolean oldFileExist = recordingByFileName.containsKey(f.getName()); if (oldFileExist) { - return; + return false; } Recording r = new Recording(f); String encodeName = f.getName(); @@ -918,6 +918,7 @@ public class AudioVideoNotesPlugin extends OsmandPlugin { } recordings.registerObject(r.lat, r.lon, r); recordingByFileName.put(f.getName(), r); + return true; } @Override @@ -943,31 +944,35 @@ public class AudioVideoNotesPlugin extends OsmandPlugin { File[] files = avPath.listFiles(); if (files != null) { for (File f : files) { - if (f.getName().endsWith(THREEGP_EXTENSION) || f.getName().endsWith(MPEG4_EXTENSION) - || f.getName().endsWith(IMG_EXTENSION)) { - indexFile(f); - if (registerNew) { - Recording rec = recordingByFileName.get(f.getName()); - if (rec != null && app.getSettings().SAVE_TRACK_TO_GPX.get() - && OsmandPlugin.getEnabledPlugin(OsmandMonitoringPlugin.class) != null) { - String name = f.getName(); - SavingTrackHelper savingTrackHelper = app.getSavingTrackHelper(); - - savingTrackHelper.insertPointData(rec.lat, rec.lon, System.currentTimeMillis(), name); - if (app.getSettings().SHOW_CURRENT_GPX_TRACK.get()) { - app.getFavorites().addFavoritePointToGPXFile(new FavouritePoint(rec.lat, rec.lon, name, "")); - } - } - } - - } - } + indexFile(registerNew, f); + } } } return null; } - public DataTileManager getRecordings() { + private void indexFile(boolean registerInGPX, File f) { + if (f.getName().endsWith(THREEGP_EXTENSION) || f.getName().endsWith(MPEG4_EXTENSION) + || f.getName().endsWith(IMG_EXTENSION)) { + boolean newFileIndexed = indexSingleFile(f); + if (newFileIndexed && registerInGPX) { + Recording rec = recordingByFileName.get(f.getName()); + if (rec != null && app.getSettings().SAVE_TRACK_TO_GPX.get() + && OsmandPlugin.getEnabledPlugin(OsmandMonitoringPlugin.class) != null) { + String name = f.getName(); + SavingTrackHelper savingTrackHelper = app.getSavingTrackHelper(); + + savingTrackHelper.insertPointData(rec.lat, rec.lon, System.currentTimeMillis(), name); + if (app.getSettings().SHOW_CURRENT_GPX_TRACK.get()) { + app.getFavorites().addFavoritePointToGPXFile(new FavouritePoint(rec.lat, rec.lon, name, "")); + } + } + } + + } + } + + public DataTileManager getRecordings() { return recordings; } @@ -1008,7 +1013,7 @@ public class AudioVideoNotesPlugin extends OsmandPlugin { @Override public void onMapActivityExternalResult(int requestCode, int resultCode, Intent data) { - if (requestCode == 205) { + if (requestCode == 205 || requestCode == 105) { indexingFiles(null, true, true); } } @@ -1209,7 +1214,7 @@ public class AudioVideoNotesPlugin extends OsmandPlugin { FileOutputStream fos = new FileOutputStream(pictureFile); fos.write(data); fos.close(); - indexingFiles(null, true, true); + indexFile(true, pictureFile); dlg.dismiss(); // play sound after photo - sound file must be loaded at this time: if (AV_PHOTO_PLAY_SOUND.get()) {