Modify ConfirmDialogFragment to pass in an array of track ids

This commit is contained in:
Jimmy Shih
2013-05-08 13:09:00 -07:00
parent 9ccae3e3a9
commit c0900491d6
3 changed files with 21 additions and 21 deletions
@@ -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();
}