forked from upstream-mirrors/OpenTracks
Code cleanup: save a save_all option to SaveActivity.
This commit is contained in:
@@ -634,7 +634,7 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
|
|||||||
AnalyticsUtils.sendPageViews(
|
AnalyticsUtils.sendPageViews(
|
||||||
this, "/action/save_all_" + trackFileFormat.name().toLowerCase(Locale.US));
|
this, "/action/save_all_" + trackFileFormat.name().toLowerCase(Locale.US));
|
||||||
intent = IntentUtils.newIntent(this, SaveActivity.class)
|
intent = IntentUtils.newIntent(this, SaveActivity.class)
|
||||||
.putExtra(SaveActivity.EXTRA_TRACK_IDS, new long[] { -1L })
|
.putExtra(SaveActivity.EXTRA_SAVE_ALL, true)
|
||||||
.putExtra(SaveActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) trackFileFormat);
|
.putExtra(SaveActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) trackFileFormat);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ import java.io.File;
|
|||||||
public class SaveActivity extends Activity {
|
public class SaveActivity extends Activity {
|
||||||
|
|
||||||
public static final String EXTRA_TRACK_FILE_FORMAT = "track_file_format";
|
public static final String EXTRA_TRACK_FILE_FORMAT = "track_file_format";
|
||||||
|
public static final String EXTRA_SAVE_ALL = "save_all";
|
||||||
public static final String EXTRA_TRACK_IDS = "track_ids";
|
public static final String EXTRA_TRACK_IDS = "track_ids";
|
||||||
public static final String EXTRA_PLAY_TRACK = "play_track";
|
public static final String EXTRA_PLAY_TRACK = "play_track";
|
||||||
|
|
||||||
@@ -71,6 +72,7 @@ public class SaveActivity extends Activity {
|
|||||||
|
|
||||||
Intent intent = getIntent();
|
Intent intent = getIntent();
|
||||||
trackFileFormat = intent.getParcelableExtra(EXTRA_TRACK_FILE_FORMAT);
|
trackFileFormat = intent.getParcelableExtra(EXTRA_TRACK_FILE_FORMAT);
|
||||||
|
boolean saveAll = intent.getBooleanExtra(EXTRA_SAVE_ALL, false);
|
||||||
trackIds = intent.getLongArrayExtra(EXTRA_TRACK_IDS);
|
trackIds = intent.getLongArrayExtra(EXTRA_TRACK_IDS);
|
||||||
playTrack = intent.getBooleanExtra(EXTRA_PLAY_TRACK, false);
|
playTrack = intent.getBooleanExtra(EXTRA_PLAY_TRACK, false);
|
||||||
|
|
||||||
@@ -99,7 +101,7 @@ public class SaveActivity extends Activity {
|
|||||||
saveAsyncTask = (SaveAsyncTask) retained;
|
saveAsyncTask = (SaveAsyncTask) retained;
|
||||||
saveAsyncTask.setActivity(this);
|
saveAsyncTask.setActivity(this);
|
||||||
} else {
|
} else {
|
||||||
saveAsyncTask = new SaveAsyncTask(this, trackFileFormat, trackIds, directory);
|
saveAsyncTask = new SaveAsyncTask(this, trackFileFormat, saveAll, trackIds, directory);
|
||||||
saveAsyncTask.execute();
|
saveAsyncTask.execute();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -162,7 +164,7 @@ public class SaveActivity extends Activity {
|
|||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
}).setTitle(titleId);
|
}).setTitle(titleId);
|
||||||
if (!playTrack && trackIds.length == 1 && trackIds[0] != -1L && successCount == totalCount
|
if (!playTrack && trackIds != null && trackIds.length == 1 && successCount == totalCount
|
||||||
&& savedPath != null) {
|
&& savedPath != null) {
|
||||||
builder.setNegativeButton(
|
builder.setNegativeButton(
|
||||||
R.string.share_track_share_file, new DialogInterface.OnClickListener() {
|
R.string.share_track_share_file, new DialogInterface.OnClickListener() {
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ public class SaveAsyncTask extends AsyncTask<Void, Integer, Boolean> {
|
|||||||
|
|
||||||
private SaveActivity saveActivity;
|
private SaveActivity saveActivity;
|
||||||
private final TrackFileFormat trackFileFormat;
|
private final TrackFileFormat trackFileFormat;
|
||||||
|
private final boolean saveAll;
|
||||||
private final long[] trackIds;
|
private final long[] trackIds;
|
||||||
private final File directory;
|
private final File directory;
|
||||||
private final Context context;
|
private final Context context;
|
||||||
@@ -70,14 +71,16 @@ public class SaveAsyncTask extends AsyncTask<Void, Integer, Boolean> {
|
|||||||
* Creates an AsyncTask.
|
* Creates an AsyncTask.
|
||||||
*
|
*
|
||||||
* @param saveActivity the activity currently associated with this task
|
* @param saveActivity the activity currently associated with this task
|
||||||
* @track id the track id to save, -1L to save all tracks
|
|
||||||
* @param trackFileFormat the track file format
|
* @param trackFileFormat the track file format
|
||||||
|
* @param saveAll true to save all the tracks
|
||||||
|
* @param trackIds the track ids to save. null if saveAll if true
|
||||||
* @param directory the directory to save to
|
* @param directory the directory to save to
|
||||||
*/
|
*/
|
||||||
public SaveAsyncTask(
|
public SaveAsyncTask(SaveActivity saveActivity, TrackFileFormat trackFileFormat, boolean saveAll,
|
||||||
SaveActivity saveActivity, TrackFileFormat trackFileFormat, long[] trackIds, File directory) {
|
long[] trackIds, File directory) {
|
||||||
this.saveActivity = saveActivity;
|
this.saveActivity = saveActivity;
|
||||||
this.trackFileFormat = trackFileFormat;
|
this.trackFileFormat = trackFileFormat;
|
||||||
|
this.saveAll = saveAll;
|
||||||
this.trackIds = trackIds;
|
this.trackIds = trackIds;
|
||||||
this.directory = directory;
|
this.directory = directory;
|
||||||
context = saveActivity.getApplicationContext();
|
context = saveActivity.getApplicationContext();
|
||||||
@@ -119,10 +122,13 @@ public class SaveAsyncTask extends AsyncTask<Void, Integer, Boolean> {
|
|||||||
if (!isRecording || isPaused) {
|
if (!isRecording || isPaused) {
|
||||||
wakeLock = SystemUtils.acquireWakeLock(saveActivity, wakeLock);
|
wakeLock = SystemUtils.acquireWakeLock(saveActivity, wakeLock);
|
||||||
}
|
}
|
||||||
if (trackIds.length == 1 && trackIds[0] == -1L) {
|
if (saveAll) {
|
||||||
return saveAllTracks();
|
return saveAllTracks();
|
||||||
} else {
|
} else {
|
||||||
totalCount = 1;
|
totalCount = 1;
|
||||||
|
if (trackIds == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
Track[] tracks = new Track[trackIds.length];
|
Track[] tracks = new Track[trackIds.length];
|
||||||
for (int i = 0; i < trackIds.length; i++) {
|
for (int i = 0; i < trackIds.length; i++) {
|
||||||
tracks[i] = myTracksProviderUtils.getTrack(trackIds[i]);
|
tracks[i] = myTracksProviderUtils.getTrack(trackIds[i]);
|
||||||
@@ -193,7 +199,7 @@ public class SaveAsyncTask extends AsyncTask<Void, Integer, Boolean> {
|
|||||||
* If only saving one track, update the progress dialog once every
|
* If only saving one track, update the progress dialog once every
|
||||||
* 500 points
|
* 500 points
|
||||||
*/
|
*/
|
||||||
if (trackIds.length == 1 && trackIds[0] != -1L && number % 500 == 0) {
|
if (trackIds != null && trackIds.length == 1 && number % 500 == 0) {
|
||||||
publishProgress(number, max);
|
publishProgress(number, max);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user