forked from upstream-mirrors/OpenTracks
Modify ConfirmDialogFragment to pass in an array of track ids
This commit is contained in:
@@ -346,35 +346,36 @@ public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActiv
|
||||
if (shareTrack.equals(driveValue)) {
|
||||
ConfirmDialogFragment.newInstance(R.string.confirm_share_drive_key,
|
||||
PreferencesUtils.CONFIRM_SHARE_DRIVE_DEFAULT,
|
||||
getString(R.string.share_track_drive_confirm_message), trackId)
|
||||
getString(R.string.share_track_drive_confirm_message), new long[] { trackId })
|
||||
.show(getSupportFragmentManager(), ConfirmDialogFragment.CONFIRM_DIALOG_TAG);
|
||||
} else if (shareTrack.equals(mapsValue)) {
|
||||
ConfirmDialogFragment.newInstance(R.string.confirm_share_maps_key,
|
||||
PreferencesUtils.CONFIRM_SHARE_MAPS_DEFAULT, StringUtils.getHtml(
|
||||
this, R.string.share_track_maps_confirm_message, R.string.maps_public_unlisted_url),
|
||||
trackId).show(getSupportFragmentManager(), ConfirmDialogFragment.CONFIRM_DIALOG_TAG);
|
||||
new long[] { trackId })
|
||||
.show(getSupportFragmentManager(), ConfirmDialogFragment.CONFIRM_DIALOG_TAG);
|
||||
} else {
|
||||
ConfirmDialogFragment.newInstance(R.string.confirm_share_file_key,
|
||||
PreferencesUtils.CONFIRM_SHARE_FILE_DEFAULT,
|
||||
getString(R.string.share_track_file_confirm_message), trackId)
|
||||
getString(R.string.share_track_file_confirm_message), new long[] { trackId })
|
||||
.show(getSupportFragmentManager(), ConfirmDialogFragment.CONFIRM_DIALOG_TAG);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfirmDone(int confirmId, long trackId) {
|
||||
public void onConfirmDone(int confirmId, long[] trackIds) {
|
||||
SendRequest newRequest;
|
||||
switch (confirmId) {
|
||||
case R.string.confirm_share_drive_key:
|
||||
AnalyticsUtils.sendPageViews(this, "/action/share_drive");
|
||||
newRequest = new SendRequest(trackId);
|
||||
newRequest = new SendRequest(trackIds[0]);
|
||||
newRequest.setSendDrive(true);
|
||||
newRequest.setDriveShare(true);
|
||||
sendToGoogle(newRequest);
|
||||
break;
|
||||
case R.string.confirm_share_maps_key:
|
||||
AnalyticsUtils.sendPageViews(this, "/action/share_maps");
|
||||
newRequest = new SendRequest(trackId);
|
||||
newRequest = new SendRequest(trackIds[0]);
|
||||
newRequest.setSendMaps(true);
|
||||
newRequest.setMapsShare(true);
|
||||
sendToGoogle(newRequest);
|
||||
@@ -393,7 +394,7 @@ public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActiv
|
||||
trackFileFormat = TrackFileFormat.TCX;
|
||||
}
|
||||
Intent intent = IntentUtils.newIntent(this, SaveActivity.class)
|
||||
.putExtra(SaveActivity.EXTRA_TRACK_ID, trackId)
|
||||
.putExtra(SaveActivity.EXTRA_TRACK_ID, trackIds[0])
|
||||
.putExtra(SaveActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) trackFileFormat)
|
||||
.putExtra(SaveActivity.EXTRA_SHARE_TRACK, true);
|
||||
startActivity(intent);
|
||||
|
||||
@@ -345,7 +345,7 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity
|
||||
if (GoogleEarthUtils.isEarthInstalled(this)) {
|
||||
ConfirmDialogFragment.newInstance(R.string.confirm_play_earth_key,
|
||||
PreferencesUtils.CONFIRM_PLAY_EARTH_DEFAULT,
|
||||
getString(R.string.track_detail_play_confirm_message), trackId)
|
||||
getString(R.string.track_detail_play_confirm_message), new long[] { trackId })
|
||||
.show(getSupportFragmentManager(), ConfirmDialogFragment.CONFIRM_DIALOG_TAG);
|
||||
} else {
|
||||
new InstallEarthDialogFragment().show(
|
||||
@@ -425,18 +425,18 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfirmDone(int confirmId, long confirmTrackId) {
|
||||
public void onConfirmDone(int confirmId, long[] confirmTrackIds) {
|
||||
switch (confirmId) {
|
||||
case R.string.confirm_play_earth_key:
|
||||
AnalyticsUtils.sendPageViews(this, "/action/play");
|
||||
Intent intent = IntentUtils.newIntent(this, SaveActivity.class)
|
||||
.putExtra(SaveActivity.EXTRA_TRACK_ID, confirmTrackId)
|
||||
.putExtra(SaveActivity.EXTRA_TRACK_ID, confirmTrackIds[0])
|
||||
.putExtra(SaveActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) TrackFileFormat.KML)
|
||||
.putExtra(SaveActivity.EXTRA_PLAY_TRACK, true);
|
||||
startActivity(intent);
|
||||
break;
|
||||
default:
|
||||
super.onConfirmDone(confirmId, confirmTrackId);
|
||||
super.onConfirmDone(confirmId, confirmTrackIds);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ public class ConfirmDialogFragment extends DialogFragment {
|
||||
/**
|
||||
* Called when confirm is done.
|
||||
*/
|
||||
public void onConfirmDone(int confirmId, long trackId);
|
||||
public void onConfirmDone(int confirmId, long[] trackIds);
|
||||
}
|
||||
|
||||
public static final String CONFIRM_DIALOG_TAG = "confirmDialog";
|
||||
@@ -55,17 +55,17 @@ public class ConfirmDialogFragment extends DialogFragment {
|
||||
private static final String KEY_CONFIRM_ID = "confirmId";
|
||||
private static final String KEY_DEFAULT_VALUE = "defaultValue";
|
||||
private static final String KEY_MESSAGE = "message";
|
||||
private static final String KEY_TRACK_ID = "trackId";
|
||||
private static final String KEY_TRACK_IDS = "trackIds";
|
||||
|
||||
private CheckBox checkBox;
|
||||
|
||||
public static ConfirmDialogFragment newInstance(
|
||||
int confirmId, boolean defaultValue, CharSequence message, long trackId) {
|
||||
int confirmId, boolean defaultValue, CharSequence message, long[] trackIds) {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putInt(KEY_CONFIRM_ID, confirmId);
|
||||
bundle.putBoolean(KEY_DEFAULT_VALUE, defaultValue);
|
||||
bundle.putCharSequence(KEY_MESSAGE, message);
|
||||
bundle.putLong(KEY_TRACK_ID, trackId);
|
||||
bundle.putLongArray(KEY_TRACK_IDS, trackIds);
|
||||
|
||||
ConfirmDialogFragment confirmDialogFragment = new ConfirmDialogFragment();
|
||||
confirmDialogFragment.setArguments(bundle);
|
||||
@@ -93,9 +93,9 @@ public class ConfirmDialogFragment extends DialogFragment {
|
||||
boolean defaultValue = getArguments().getBoolean(KEY_DEFAULT_VALUE);
|
||||
fragmentActivity = getActivity();
|
||||
if (!PreferencesUtils.getBoolean(fragmentActivity, confirmId, defaultValue)) {
|
||||
long trackId = getArguments().getLong(KEY_TRACK_ID);
|
||||
long[] trackIds = getArguments().getLongArray(KEY_TRACK_IDS);
|
||||
dismiss();
|
||||
caller.onConfirmDone(confirmId, trackId);
|
||||
caller.onConfirmDone(confirmId, trackIds);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,15 +106,14 @@ public class ConfirmDialogFragment extends DialogFragment {
|
||||
textView.setText(getArguments().getCharSequence(KEY_MESSAGE));
|
||||
checkBox = (CheckBox) view.findViewById(R.id.confirm_dialog_check_box);
|
||||
|
||||
return new AlertDialog.Builder(fragmentActivity).setNegativeButton(
|
||||
R.string.generic_no, null)
|
||||
return new AlertDialog.Builder(fragmentActivity).setNegativeButton(R.string.generic_no, null)
|
||||
.setPositiveButton(R.string.generic_yes, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
int confirmId = getArguments().getInt(KEY_CONFIRM_ID);
|
||||
long trackId = getArguments().getLong(KEY_TRACK_ID);
|
||||
long[] trackIds = getArguments().getLongArray(KEY_TRACK_IDS);
|
||||
PreferencesUtils.setBoolean(fragmentActivity, confirmId, !checkBox.isChecked());
|
||||
caller.onConfirmDone(confirmId, trackId);
|
||||
caller.onConfirmDone(confirmId, trackIds);
|
||||
}
|
||||
}).setTitle(R.string.generic_confirm_title).setView(view).create();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user