/** * Creates a new {@link AudioRoutesInfo} to be used for updating the Bluetooth audio route. * * @param bluetoothDeviceName the name of the Bluetooth device or null to indicate that the * already-existing Bluetooth A2DP device should be removed */ private static AudioRoutesInfo newAudioRouteInfo(@Nullable String bluetoothDeviceName) { Parcel p = Parcel.obtain(); TextUtils.writeToParcel(bluetoothDeviceName, p, /* parcelableFlags= */ 0); p.setDataPosition(0); return AudioRoutesInfo.CREATOR.createFromParcel(p); }
@Test public void shouldCorrectlySaveAndRestoreAParcelWithAMinDate() { Calendar minDate = Calendar.getInstance(); minDate.set(Calendar.YEAR, 1980); DefaultDateRangeLimiter limiter = new DefaultDateRangeLimiter(); limiter.setMinDate(minDate); Parcel parcel = Parcel.obtain(); limiter.writeToParcel(parcel, 0); parcel.setDataPosition(0); DefaultDateRangeLimiter clonedLimiter = DefaultDateRangeLimiter.CREATOR.createFromParcel(parcel); assertEquals(clonedLimiter.getMinDate(), limiter.getMinDate()); }
@Test public void shouldBeParcelable() throws Exception { Account expected = new Account("name", "type"); Parcel p = Parcel.obtain(); expected.writeToParcel(p, 0); p.setDataPosition(0); Account actual = Account.CREATOR.createFromParcel(p); assertThat(actual).isEqualTo(expected); }
@Implementation(maxSdk = JELLY_BEAN_MR1) @SuppressWarnings("TypeParameterUnusedInFormals") protected <T extends Parcelable> T readParcelable(ClassLoader loader) { // prior to JB MR2, readParcelableCreator() is inlined here. Parcelable.Creator<?> creator = readParcelableCreator(loader); if (creator == null) { return null; } if (creator instanceof Parcelable.ClassLoaderCreator<?>) { Parcelable.ClassLoaderCreator<?> classLoaderCreator = (Parcelable.ClassLoaderCreator<?>) creator; return (T) classLoaderCreator.createFromParcel(realObject, loader); } return (T) creator.createFromParcel(realObject); }
public static <T> T unmarshall(byte[] bytes, Parcelable.Creator<T> creator) { Parcel parcel = unmarshall(bytes); T result = creator.createFromParcel(parcel); parcel.recycle(); return result; }
@Test public void shouldCorrectlySaveAndRestoreAParcel() { Timepoint input = new Timepoint(1, 2, 3); Parcel timepointParcel = Parcel.obtain(); input.writeToParcel(timepointParcel, 0); timepointParcel.setDataPosition(0); Timepoint output = Timepoint.CREATOR.createFromParcel(timepointParcel); assertEquals(input.getHour(), output.getHour()); assertEquals(input.getMinute(), output.getMinute()); assertEquals(input.getSecond(), output.getSecond()); } }
public static <T> T toParcelable(byte[] bytes, Parcelable.Creator<T> creator) { Parcel parcel=Parcel.obtain(); parcel.unmarshall(bytes, 0, bytes.length); parcel.setDataPosition(0); T result=creator.createFromParcel(parcel); parcel.recycle(); return(result); } }
@Test public void testParcelable() { String[] children = new String[] {"child0", "child1"}; Id3Frame[] subFrames = new Id3Frame[] { new TextInformationFrame("TIT2", null, "title"), new UrlLinkFrame("WXXX", "description", "url") }; ChapterTocFrame chapterTocFrameToParcel = new ChapterTocFrame("id", false, true, children, subFrames); Parcel parcel = Parcel.obtain(); chapterTocFrameToParcel.writeToParcel(parcel, 0); parcel.setDataPosition(0); ChapterTocFrame chapterTocFrameFromParcel = ChapterTocFrame.CREATOR.createFromParcel(parcel); assertThat(chapterTocFrameFromParcel).isEqualTo(chapterTocFrameToParcel); parcel.recycle(); }
@Test public void testParcelable() { MlltFrame mlltFrameToParcel = new MlltFrame( /* mpegFramesBetweenReference= */ 1, /* bytesBetweenReference= */ 1, /* millisecondsBetweenReference= */ 1, /* bytesDeviations= */ new int[] {1, 2}, /* millisecondsDeviations= */ new int[] {1, 2}); Parcel parcel = Parcel.obtain(); mlltFrameToParcel.writeToParcel(parcel, 0); parcel.setDataPosition(0); MlltFrame mlltFrameFromParcel = MlltFrame.CREATOR.createFromParcel(parcel); assertThat(mlltFrameFromParcel).isEqualTo(mlltFrameToParcel); parcel.recycle(); }
@Test public void testParcelable() { Format format1 = Format.createSampleFormat("1", MimeTypes.VIDEO_H264, 0); Format format2 = Format.createSampleFormat("2", MimeTypes.AUDIO_AAC, 0); Format format3 = Format.createSampleFormat("3", MimeTypes.VIDEO_H264, 0); TrackGroup trackGroup1 = new TrackGroup(format1, format2); TrackGroup trackGroup2 = new TrackGroup(format3); TrackGroupArray trackGroupArrayToParcel = new TrackGroupArray(trackGroup1, trackGroup2); Parcel parcel = Parcel.obtain(); trackGroupArrayToParcel.writeToParcel(parcel, 0); parcel.setDataPosition(0); TrackGroupArray trackGroupArrayFromParcel = TrackGroupArray.CREATOR.createFromParcel(parcel); assertThat(trackGroupArrayFromParcel).isEqualTo(trackGroupArrayToParcel); parcel.recycle(); } }
public void testWebViewSavedState() throws Throwable { Parcel parcel = Parcel.obtain(); ObservableWebView.SavedState state1 = new ObservableWebView.SavedState(AbsSavedState.EMPTY_STATE); state1.prevScrollY = 1; state1.scrollY = 2; state1.writeToParcel(parcel, 0); parcel.setDataPosition(0); ObservableWebView.SavedState state2 = ObservableWebView.SavedState.CREATOR.createFromParcel(parcel); assertNotNull(state2); assertEquals(state1.prevScrollY, state2.prevScrollY); assertEquals(state1.scrollY, state2.scrollY); } }
public void testScrollViewSavedState() throws Throwable { Parcel parcel = Parcel.obtain(); ObservableScrollView.SavedState state1 = new ObservableScrollView.SavedState(AbsSavedState.EMPTY_STATE); state1.prevScrollY = 1; state1.scrollY = 2; state1.writeToParcel(parcel, 0); parcel.setDataPosition(0); ObservableScrollView.SavedState state2 = ObservableScrollView.SavedState.CREATOR.createFromParcel(parcel); assertNotNull(state2); assertEquals(state1.prevScrollY, state2.prevScrollY); assertEquals(state1.scrollY, state2.scrollY); }
@Test public void testParcelable() { Id3Frame[] subFrames = new Id3Frame[] { new TextInformationFrame("TIT2", null, "title"), new UrlLinkFrame("WXXX", "description", "url") }; ChapterFrame chapterFrameToParcel = new ChapterFrame("id", 0, 1, 2, 3, subFrames); Parcel parcel = Parcel.obtain(); chapterFrameToParcel.writeToParcel(parcel, 0); parcel.setDataPosition(0); ChapterFrame chapterFrameFromParcel = ChapterFrame.CREATOR.createFromParcel(parcel); assertThat(chapterFrameFromParcel).isEqualTo(chapterFrameToParcel); parcel.recycle(); }
private static PackageInfo newPackageInfo(PackageInfo orig) { Parcel parcel = Parcel.obtain(); orig.writeToParcel(parcel, 0); parcel.setDataPosition(0); return PackageInfo.CREATOR.createFromParcel(parcel); }
@Test public void testParcelable() { Format format1 = Format.createSampleFormat("1", MimeTypes.VIDEO_H264, 0); Format format2 = Format.createSampleFormat("2", MimeTypes.AUDIO_AAC, 0); TrackGroup trackGroupToParcel = new TrackGroup(format1, format2); Parcel parcel = Parcel.obtain(); trackGroupToParcel.writeToParcel(parcel, 0); parcel.setDataPosition(0); TrackGroup trackGroupFromParcel = TrackGroup.CREATOR.createFromParcel(parcel); assertThat(trackGroupFromParcel).isEqualTo(trackGroupToParcel); parcel.recycle(); } }
@Test public void testEventMessageParcelable() { EventMessage eventMessage = new EventMessage("urn:test", "123", 3000, 1000403, new byte[] {0, 1, 2, 3, 4}, 1000); // Write to parcel. Parcel parcel = Parcel.obtain(); eventMessage.writeToParcel(parcel, 0); // Create from parcel. parcel.setDataPosition(0); EventMessage fromParcelEventMessage = EventMessage.CREATOR.createFromParcel(parcel); // Assert equals. assertThat(fromParcelEventMessage).isEqualTo(eventMessage); }
/** Tests {@link SelectionOverride}'s {@link android.os.Parcelable} implementation. */ @Test public void testSelectionOverrideParcelable() { int[] tracks = new int[] {2, 3}; SelectionOverride selectionOverrideToParcel = new SelectionOverride(/* groupIndex= */ 1, tracks); Parcel parcel = Parcel.obtain(); selectionOverrideToParcel.writeToParcel(parcel, 0); parcel.setDataPosition(0); SelectionOverride selectionOverrideFromParcel = SelectionOverride.CREATOR.createFromParcel(parcel); assertThat(selectionOverrideFromParcel).isEqualTo(selectionOverrideToParcel); parcel.recycle(); }
@Test public void shouldWriteAndReadFromParcelCorrectly() { Parcel p = Parcel.obtain(); node.setContentDescription("test"); node.writeToParcel(p, 0); p.setDataPosition(0); AccessibilityNodeInfo anotherNode = AccessibilityNodeInfo.CREATOR.createFromParcel(p); assertThat(node).isEqualTo(anotherNode); node.setContentDescription(null); }
@Test public void testParcelable() { MdtaMetadataEntry mdtaMetadataEntryToParcel = new MdtaMetadataEntry("test", new byte[] {1, 2}, 3, 4); Parcel parcel = Parcel.obtain(); mdtaMetadataEntryToParcel.writeToParcel(parcel, 0); parcel.setDataPosition(0); MdtaMetadataEntry mdtaMetadataEntryFromParcel = MdtaMetadataEntry.CREATOR.createFromParcel(parcel); assertThat(mdtaMetadataEntryFromParcel).isEqualTo(mdtaMetadataEntryToParcel); parcel.recycle(); } }
@Test public void testParcelable() { DrmInitData drmInitDataToParcel = new DrmInitData(DATA_1, DATA_2); Parcel parcel = Parcel.obtain(); drmInitDataToParcel.writeToParcel(parcel, 0); parcel.setDataPosition(0); DrmInitData drmInitDataFromParcel = DrmInitData.CREATOR.createFromParcel(parcel); assertThat(drmInitDataFromParcel).isEqualTo(drmInitDataToParcel); parcel.recycle(); }