public void writeToParcel(Parcel dest, int parcelableFlags) { if (activityInfo != null) { dest.writeInt(1); activityInfo.writeToParcel(dest, parcelableFlags); } else if (serviceInfo != null) { dest.writeInt(2); serviceInfo.writeToParcel(dest, parcelableFlags); } else if (providerInfo != null) { dest.writeInt(3); providerInfo.writeToParcel(dest, parcelableFlags); } else { dest.writeInt(0); } if (filter != null) { dest.writeInt(1); filter.writeToParcel(dest, parcelableFlags); } else { dest.writeInt(0); } dest.writeInt(priority); dest.writeInt(preferredOrder); dest.writeInt(match); dest.writeInt(specificIndex); dest.writeInt(labelRes); TextUtils.writeToParcel(nonLocalizedLabel, dest, parcelableFlags); dest.writeInt(icon); dest.writeString(resolvePackageName); dest.writeInt(system ? 1 : 0); }