Files
frameworks_base/tests/Codegen/src/com/android/codegentest/MyDateParcelling.java
Eugene Susla 3156a4ce21 Addresses further review comments from ag/8000041
Including:
 - An API to opt out of Int/StringDefs generation on per-field basis
 - A way to customize Builder
 - Non-optional fields are passed in Builder constructor
 - Various adjustments to SampleDataclass examples, as requested

Test: . $ANDROID_BUILD_TOP/frameworks/base/tests/Codegen/runTest.sh
Change-Id: I32d2eec52f05d505ff07779d923e4793d3036579
2019-08-05 16:54:41 -07:00

52 lines
1.5 KiB
Java

/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.codegentest;
import android.os.Parcel;
import com.android.internal.util.Parcelling;
import java.util.Date;
import java.util.concurrent.atomic.AtomicInteger;
/**
* Sample {@link Parcelling} implementation for {@link Date}.
*
* See {@link SampleDataClass#mDate} for usage.
* See {@link SampleDataClass#writeToParcel} + {@link SampleDataClass#sParcellingForDate}
* for resulting generated code.
*
* Ignore {@link #sInstanceCount} - used for testing.
*/
public class MyDateParcelling implements Parcelling<Date> {
static AtomicInteger sInstanceCount = new AtomicInteger(0);
public MyDateParcelling() {
sInstanceCount.getAndIncrement();
}
@Override
public void parcel(Date item, Parcel dest, int parcelFlags) {
dest.writeLong(item.getTime());
}
@Override
public Date unparcel(Parcel source) {
return new Date(source.readLong());
}
}