Pass extra TrackFileFormat enum like a Serializable instead of String (with String resulted in Null after get extra).

This commit is contained in:
Román
2020-07-13 11:17:10 +02:00
committed by Dennis Guse
parent 2dbab929ac
commit f209031df0
2 changed files with 6 additions and 5 deletions
@@ -50,7 +50,7 @@ public class ExportProgressDialogFragment extends DialogFragment {
private static final String TAG = ExportProgressDialogFragment.class.getSimpleName(); private static final String TAG = ExportProgressDialogFragment.class.getSimpleName();
public static final String EXPORT_DIALOG_TAG = "import_dialog_tag"; public static final String EXPORT_DIALOG_TAG = "export_dialog_tag";
private DismissCallback caller; private DismissCallback caller;
@@ -64,10 +64,10 @@ public class ExportProgressDialogFragment extends DialogFragment {
/** /**
* Create a new instance. * Create a new instance.
*/ */
public static void showDialog(FragmentManager fragmentManager, String trackFileFormat, Uri documentFileUri) { public static void showDialog(FragmentManager fragmentManager, TrackFileFormat trackFileFormat, Uri documentFileUri) {
Bundle bundle = new Bundle(); Bundle bundle = new Bundle();
bundle.putParcelable(EXTRA_DIRECTORY_URI_KEY, documentFileUri); bundle.putParcelable(EXTRA_DIRECTORY_URI_KEY, documentFileUri);
bundle.putString(EXTRA_DIRECTORY_URI_KEY, trackFileFormat); bundle.putSerializable(EXTRA_TRACKFILEFORMAT_KEY, trackFileFormat);
ExportProgressDialogFragment dialogFragment = new ExportProgressDialogFragment(); ExportProgressDialogFragment dialogFragment = new ExportProgressDialogFragment();
dialogFragment.setArguments(bundle); dialogFragment.setArguments(bundle);
@@ -83,7 +83,7 @@ public class ExportProgressDialogFragment extends DialogFragment {
setRetainInstance(true); setRetainInstance(true);
Uri directoryUri = getArguments().getParcelable(EXTRA_DIRECTORY_URI_KEY); Uri directoryUri = getArguments().getParcelable(EXTRA_DIRECTORY_URI_KEY);
TrackFileFormat trackFileFormat = TrackFileFormat.valueOf(getArguments().getString(EXTRA_TRACKFILEFORMAT_KEY)); TrackFileFormat trackFileFormat = (TrackFileFormat) getArguments().getSerializable(EXTRA_TRACKFILEFORMAT_KEY);
DocumentFile documentFile = DocumentFile.fromTreeUri(getContext(), directoryUri); DocumentFile documentFile = DocumentFile.fromTreeUri(getContext(), directoryUri);
directoryDisplayName = FileUtils.getPath(documentFile); directoryDisplayName = FileUtils.getPath(documentFile);
@@ -24,6 +24,7 @@ import androidx.fragment.app.FragmentActivity;
import de.dennisguse.opentracks.fragments.ExportFinishedDialogFragment; import de.dennisguse.opentracks.fragments.ExportFinishedDialogFragment;
import de.dennisguse.opentracks.fragments.ExportProgressDialogFragment; import de.dennisguse.opentracks.fragments.ExportProgressDialogFragment;
import de.dennisguse.opentracks.io.file.TrackFileFormat;
/** /**
* An activity for saving tracks to the external storage. * An activity for saving tracks to the external storage.
@@ -44,7 +45,7 @@ public class ExportActivity extends FragmentActivity implements ExportProgressDi
if (savedInstanceState == null || !savedInstanceState.getBoolean(BUNDLE_ACTIVITY_RECREATED, false)) { if (savedInstanceState == null || !savedInstanceState.getBoolean(BUNDLE_ACTIVITY_RECREATED, false)) {
Uri directoryUri = getIntent().getParcelableExtra(EXTRA_DIRECTORY_URI_KEY); Uri directoryUri = getIntent().getParcelableExtra(EXTRA_DIRECTORY_URI_KEY);
String trackfileformat = getIntent().getStringExtra(EXTRA_TRACKFILEFORMAT_KEY); TrackFileFormat trackfileformat = (TrackFileFormat) getIntent().getSerializableExtra(EXTRA_TRACKFILEFORMAT_KEY);
ExportProgressDialogFragment.showDialog(getSupportFragmentManager(), trackfileformat, directoryUri); ExportProgressDialogFragment.showDialog(getSupportFragmentManager(), trackfileformat, directoryUri);
} }
} }