package org.odk.collect.android.utilities; import android.os.Parcel; import org.joda.time.DateTime; /** * Utilities for {@link Parcel}s. */ public class Parcels { /** * Reads a possibly-{@code null} string from a {@link Parcel} */ public static String readNullableString(Parcel source) { return (source.readByte() == 0) ? null : source.readString(); } /** * Writes a possibly-{@code null} string to a {@link Parcel}. */ public static void writeNullableString(Parcel dest, String string) { if (string == null) { dest.writeByte((byte) 0); } else { dest.writeByte((byte) 1); dest.writeString(string); } } /** * Reads a possibly-{@code null} {@link DateTime} from a {@link Parcel} */ public static DateTime readNullableDateTime(Parcel source) { return (source.readByte() == 0) ? null : new DateTime(source.readLong()); } /** * Writes a possibly-{@code null} {@link DateTime} to a {@link Parcel}. */ public static void writeNullableDateTime(Parcel dest, DateTime dateTime) { if (dateTime == null) { dest.writeByte((byte) 0); } else { dest.writeByte((byte) 1); dest.writeLong(dateTime.getMillis()); } } private Parcels() {} }