Merge "Fix IBinder parcelling" into sc-dev

This commit is contained in:
Eugene Susla
2021-03-24 16:28:33 +00:00
committed by Android (Google) Code Review
9 changed files with 147 additions and 36 deletions

View File

@@ -32,7 +32,7 @@ public class HierrarchicalDataClassBase implements Parcelable {
// Code below generated by codegen v1.0.20. // Code below generated by codegen v1.0.23.
// //
// DO NOT MODIFY! // DO NOT MODIFY!
// CHECKSTYLE:OFF Generated code // CHECKSTYLE:OFF Generated code
@@ -98,8 +98,8 @@ public class HierrarchicalDataClassBase implements Parcelable {
}; };
@DataClass.Generated( @DataClass.Generated(
time = 1604522375155L, time = 1616541542813L,
codegenVersion = "1.0.20", codegenVersion = "1.0.23",
sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/HierrarchicalDataClassBase.java", sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/HierrarchicalDataClassBase.java",
inputSignatures = "private int mBaseData\nclass HierrarchicalDataClassBase extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genConstructor=false, genSetters=true)") inputSignatures = "private int mBaseData\nclass HierrarchicalDataClassBase extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genConstructor=false, genSetters=true)")
@Deprecated @Deprecated

View File

@@ -46,7 +46,7 @@ public class HierrarchicalDataClassChild extends HierrarchicalDataClassBase {
// Code below generated by codegen v1.0.20. // Code below generated by codegen v1.0.23.
// //
// DO NOT MODIFY! // DO NOT MODIFY!
// CHECKSTYLE:OFF Generated code // CHECKSTYLE:OFF Generated code
@@ -120,8 +120,8 @@ public class HierrarchicalDataClassChild extends HierrarchicalDataClassBase {
}; };
@DataClass.Generated( @DataClass.Generated(
time = 1604522376059L, time = 1616541543730L,
codegenVersion = "1.0.20", codegenVersion = "1.0.23",
sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/HierrarchicalDataClassChild.java", sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/HierrarchicalDataClassChild.java",
inputSignatures = "private @android.annotation.NonNull java.lang.String mChildData\nclass HierrarchicalDataClassChild extends com.android.codegentest.HierrarchicalDataClassBase implements []\n@com.android.internal.util.DataClass(genParcelable=true, genConstructor=false, genSetters=true)") inputSignatures = "private @android.annotation.NonNull java.lang.String mChildData\nclass HierrarchicalDataClassChild extends com.android.codegentest.HierrarchicalDataClassBase implements []\n@com.android.internal.util.DataClass(genParcelable=true, genConstructor=false, genSetters=true)")
@Deprecated @Deprecated

View File

@@ -54,7 +54,7 @@ public class ParcelAllTheThingsDataClass implements Parcelable {
// Code below generated by codegen v1.0.20. // Code below generated by codegen v1.0.23.
// //
// DO NOT MODIFY! // DO NOT MODIFY!
// CHECKSTYLE:OFF Generated code // CHECKSTYLE:OFF Generated code
@@ -412,8 +412,8 @@ public class ParcelAllTheThingsDataClass implements Parcelable {
} }
@DataClass.Generated( @DataClass.Generated(
time = 1604522374190L, time = 1616541541942L,
codegenVersion = "1.0.20", codegenVersion = "1.0.23",
sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/ParcelAllTheThingsDataClass.java", sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/ParcelAllTheThingsDataClass.java",
inputSignatures = " @android.annotation.NonNull java.lang.String[] mStringArray\n @android.annotation.NonNull int[] mIntArray\n @android.annotation.NonNull java.util.List<java.lang.String> mStringList\n @android.annotation.NonNull java.util.Map<java.lang.String,com.android.codegentest.SampleWithCustomBuilder> mMap\n @android.annotation.NonNull java.util.Map<java.lang.String,java.lang.String> mStringMap\n @android.annotation.NonNull android.util.SparseArray<com.android.codegentest.SampleWithCustomBuilder> mSparseArray\n @android.annotation.NonNull android.util.SparseIntArray mSparseIntArray\n @java.lang.SuppressWarnings @android.annotation.Nullable java.lang.Boolean mNullableBoolean\nclass ParcelAllTheThingsDataClass extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genBuilder=true, genAidl=false, genToString=true)") inputSignatures = " @android.annotation.NonNull java.lang.String[] mStringArray\n @android.annotation.NonNull int[] mIntArray\n @android.annotation.NonNull java.util.List<java.lang.String> mStringList\n @android.annotation.NonNull java.util.Map<java.lang.String,com.android.codegentest.SampleWithCustomBuilder> mMap\n @android.annotation.NonNull java.util.Map<java.lang.String,java.lang.String> mStringMap\n @android.annotation.NonNull android.util.SparseArray<com.android.codegentest.SampleWithCustomBuilder> mSparseArray\n @android.annotation.NonNull android.util.SparseIntArray mSparseIntArray\n @java.lang.SuppressWarnings @android.annotation.Nullable java.lang.Boolean mNullableBoolean\nclass ParcelAllTheThingsDataClass extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genBuilder=true, genAidl=false, genToString=true)")
@Deprecated @Deprecated

View File

@@ -23,8 +23,11 @@ import android.annotation.Size;
import android.annotation.StringDef; import android.annotation.StringDef;
import android.annotation.StringRes; import android.annotation.StringRes;
import android.annotation.UserIdInt; import android.annotation.UserIdInt;
import android.companion.ICompanionDeviceManager;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.net.LinkAddress; import android.net.LinkAddress;
import android.os.Binder;
import android.os.IBinder;
import android.os.Parcel; import android.os.Parcel;
import android.os.Parcelable; import android.os.Parcelable;
import android.view.accessibility.AccessibilityNodeInfo; import android.view.accessibility.AccessibilityNodeInfo;
@@ -281,6 +284,16 @@ public final class SampleDataClass implements Parcelable {
private float[] mCoords = new float[] {0f, 0f}; private float[] mCoords = new float[] {0f, 0f};
/**
* Binder types are also supported
*/
private @NonNull IBinder mToken = new Binder();
/**
* AIDL interface types are also supported
*/
private @Nullable ICompanionDeviceManager mIPCInterface = null;
/** /**
* Manually declaring any method that would otherwise be generated suppresses its generation, * Manually declaring any method that would otherwise be generated suppresses its generation,
* allowing for fine-grained overrides of the generated behavior. * allowing for fine-grained overrides of the generated behavior.
@@ -344,7 +357,7 @@ public final class SampleDataClass implements Parcelable {
// Code below generated by codegen v1.0.20. // Code below generated by codegen v1.0.23.
// //
// DO NOT MODIFY! // DO NOT MODIFY!
// CHECKSTYLE:OFF Generated code // CHECKSTYLE:OFF Generated code
@@ -492,6 +505,10 @@ public final class SampleDataClass implements Parcelable {
* *
* Validation annotations following {@link Each} annotation, will be applied for each * Validation annotations following {@link Each} annotation, will be applied for each
* array/collection element instead. * array/collection element instead.
* @param token
* Binder types are also supported
* @param iPCInterface
* AIDL interface types are also supported
*/ */
@DataClass.Generated.Member @DataClass.Generated.Member
public SampleDataClass( public SampleDataClass(
@@ -514,7 +531,9 @@ public final class SampleDataClass implements Parcelable {
@Nullable LinkAddress[] linkAddresses5, @Nullable LinkAddress[] linkAddresses5,
@StringRes int stringRes, @StringRes int stringRes,
@android.annotation.IntRange(from = 0, to = 6) int dayOfWeek, @android.annotation.IntRange(from = 0, to = 6) int dayOfWeek,
@Size(2) @NonNull @FloatRange(from = 0f) float[] coords) { @Size(2) @NonNull @FloatRange(from = 0f) float[] coords,
@NonNull IBinder token,
@Nullable ICompanionDeviceManager iPCInterface) {
this.mNum = num; this.mNum = num;
this.mNum2 = num2; this.mNum2 = num2;
this.mNum4 = num4; this.mNum4 = num4;
@@ -597,6 +616,10 @@ public final class SampleDataClass implements Parcelable {
"from", 0f); "from", 0f);
} }
this.mToken = token;
AnnotationValidations.validate(
NonNull.class, null, mToken);
this.mIPCInterface = iPCInterface;
onConstructed(); onConstructed();
} }
@@ -796,6 +819,22 @@ public final class SampleDataClass implements Parcelable {
return mCoords; return mCoords;
} }
/**
* Binder types are also supported
*/
@DataClass.Generated.Member
public @NonNull IBinder getToken() {
return mToken;
}
/**
* AIDL interface types are also supported
*/
@DataClass.Generated.Member
public @Nullable ICompanionDeviceManager getIPCInterface() {
return mIPCInterface;
}
/** /**
* When using transient fields for caching it's often also a good idea to initialize them * When using transient fields for caching it's often also a good idea to initialize them
* lazily. * lazily.
@@ -1089,6 +1128,26 @@ public final class SampleDataClass implements Parcelable {
return this; return this;
} }
/**
* Binder types are also supported
*/
@DataClass.Generated.Member
public @NonNull SampleDataClass setToken(@NonNull IBinder value) {
mToken = value;
AnnotationValidations.validate(
NonNull.class, null, mToken);
return this;
}
/**
* AIDL interface types are also supported
*/
@DataClass.Generated.Member
public @NonNull SampleDataClass setIPCInterface(@NonNull ICompanionDeviceManager value) {
mIPCInterface = value;
return this;
}
@Override @Override
@DataClass.Generated.Member @DataClass.Generated.Member
public String toString() { public String toString() {
@@ -1115,7 +1174,9 @@ public final class SampleDataClass implements Parcelable {
"linkAddresses5 = " + java.util.Arrays.toString(mLinkAddresses5) + ", " + "linkAddresses5 = " + java.util.Arrays.toString(mLinkAddresses5) + ", " +
"stringRes = " + mStringRes + ", " + "stringRes = " + mStringRes + ", " +
"dayOfWeek = " + mDayOfWeek + ", " + "dayOfWeek = " + mDayOfWeek + ", " +
"coords = " + java.util.Arrays.toString(mCoords) + "coords = " + java.util.Arrays.toString(mCoords) + ", " +
"token = " + mToken + ", " +
"iPCInterface = " + mIPCInterface +
" }"; " }";
} }
@@ -1151,7 +1212,9 @@ public final class SampleDataClass implements Parcelable {
&& java.util.Arrays.equals(mLinkAddresses5, that.mLinkAddresses5) && java.util.Arrays.equals(mLinkAddresses5, that.mLinkAddresses5)
&& mStringRes == that.mStringRes && mStringRes == that.mStringRes
&& mDayOfWeek == that.mDayOfWeek && mDayOfWeek == that.mDayOfWeek
&& java.util.Arrays.equals(mCoords, that.mCoords); && java.util.Arrays.equals(mCoords, that.mCoords)
&& Objects.equals(mToken, that.mToken)
&& Objects.equals(mIPCInterface, that.mIPCInterface);
} }
@Override @Override
@@ -1181,6 +1244,8 @@ public final class SampleDataClass implements Parcelable {
_hash = 31 * _hash + mStringRes; _hash = 31 * _hash + mStringRes;
_hash = 31 * _hash + mDayOfWeek; _hash = 31 * _hash + mDayOfWeek;
_hash = 31 * _hash + java.util.Arrays.hashCode(mCoords); _hash = 31 * _hash + java.util.Arrays.hashCode(mCoords);
_hash = 31 * _hash + Objects.hashCode(mToken);
_hash = 31 * _hash + Objects.hashCode(mIPCInterface);
return _hash; return _hash;
} }
@@ -1208,6 +1273,8 @@ public final class SampleDataClass implements Parcelable {
actionInt.acceptInt(this, "stringRes", mStringRes); actionInt.acceptInt(this, "stringRes", mStringRes);
actionInt.acceptInt(this, "dayOfWeek", mDayOfWeek); actionInt.acceptInt(this, "dayOfWeek", mDayOfWeek);
actionObject.acceptObject(this, "coords", mCoords); actionObject.acceptObject(this, "coords", mCoords);
actionObject.acceptObject(this, "token", mToken);
actionObject.acceptObject(this, "iPCInterface", mIPCInterface);
} }
/** @deprecated May cause boxing allocations - use with caution! */ /** @deprecated May cause boxing allocations - use with caution! */
@@ -1234,6 +1301,8 @@ public final class SampleDataClass implements Parcelable {
action.acceptObject(this, "stringRes", mStringRes); action.acceptObject(this, "stringRes", mStringRes);
action.acceptObject(this, "dayOfWeek", mDayOfWeek); action.acceptObject(this, "dayOfWeek", mDayOfWeek);
action.acceptObject(this, "coords", mCoords); action.acceptObject(this, "coords", mCoords);
action.acceptObject(this, "token", mToken);
action.acceptObject(this, "iPCInterface", mIPCInterface);
} }
@DataClass.Generated.Member @DataClass.Generated.Member
@@ -1269,6 +1338,7 @@ public final class SampleDataClass implements Parcelable {
if (mOtherParcelable != null) flg |= 0x40; if (mOtherParcelable != null) flg |= 0x40;
if (mLinkAddresses4 != null) flg |= 0x800; if (mLinkAddresses4 != null) flg |= 0x800;
if (mLinkAddresses5 != null) flg |= 0x10000; if (mLinkAddresses5 != null) flg |= 0x10000;
if (mIPCInterface != null) flg |= 0x200000;
dest.writeLong(flg); dest.writeLong(flg);
dest.writeInt(mNum); dest.writeInt(mNum);
dest.writeInt(mNum2); dest.writeInt(mNum2);
@@ -1290,6 +1360,8 @@ public final class SampleDataClass implements Parcelable {
dest.writeInt(mStringRes); dest.writeInt(mStringRes);
dest.writeInt(mDayOfWeek); dest.writeInt(mDayOfWeek);
dest.writeFloatArray(mCoords); dest.writeFloatArray(mCoords);
dest.writeStrongBinder(mToken);
if (mIPCInterface != null) dest.writeStrongInterface(mIPCInterface);
} }
@Override @Override
@@ -1326,6 +1398,8 @@ public final class SampleDataClass implements Parcelable {
int stringRes = in.readInt(); int stringRes = in.readInt();
int dayOfWeek = in.readInt(); int dayOfWeek = in.readInt();
float[] coords = in.createFloatArray(); float[] coords = in.createFloatArray();
IBinder token = (IBinder) in.readStrongBinder();
ICompanionDeviceManager iPCInterface = (flg & 0x200000) == 0 ? null : ICompanionDeviceManager.Stub.asInterface(in.readStrongBinder());
this.mNum = num; this.mNum = num;
this.mNum2 = num2; this.mNum2 = num2;
@@ -1409,6 +1483,10 @@ public final class SampleDataClass implements Parcelable {
"from", 0f); "from", 0f);
} }
this.mToken = token;
AnnotationValidations.validate(
NonNull.class, null, mToken);
this.mIPCInterface = iPCInterface;
onConstructed(); onConstructed();
} }
@@ -1454,6 +1532,8 @@ public final class SampleDataClass implements Parcelable {
private @StringRes int mStringRes; private @StringRes int mStringRes;
private @android.annotation.IntRange(from = 0, to = 6) int mDayOfWeek; private @android.annotation.IntRange(from = 0, to = 6) int mDayOfWeek;
private @Size(2) @NonNull @FloatRange(from = 0f) float[] mCoords; private @Size(2) @NonNull @FloatRange(from = 0f) float[] mCoords;
private @NonNull IBinder mToken;
private @Nullable ICompanionDeviceManager mIPCInterface;
private long mBuilderFieldsSet = 0L; private long mBuilderFieldsSet = 0L;
@@ -1794,10 +1874,32 @@ public final class SampleDataClass implements Parcelable {
return this; return this;
} }
/**
* Binder types are also supported
*/
@DataClass.Generated.Member
public @NonNull Builder setToken(@NonNull IBinder value) {
checkNotUsed();
mBuilderFieldsSet |= 0x100000;
mToken = value;
return this;
}
/**
* AIDL interface types are also supported
*/
@DataClass.Generated.Member
public @NonNull Builder setIPCInterface(@NonNull ICompanionDeviceManager value) {
checkNotUsed();
mBuilderFieldsSet |= 0x200000;
mIPCInterface = value;
return this;
}
/** Builds the instance. This builder should not be touched after calling this! */ /** Builds the instance. This builder should not be touched after calling this! */
public @NonNull SampleDataClass build() { public @NonNull SampleDataClass build() {
checkNotUsed(); checkNotUsed();
mBuilderFieldsSet |= 0x100000; // Mark builder used mBuilderFieldsSet |= 0x400000; // Mark builder used
if ((mBuilderFieldsSet & 0x10) == 0) { if ((mBuilderFieldsSet & 0x10) == 0) {
mName2 = "Bob"; mName2 = "Bob";
@@ -1841,6 +1943,12 @@ public final class SampleDataClass implements Parcelable {
if ((mBuilderFieldsSet & 0x80000) == 0) { if ((mBuilderFieldsSet & 0x80000) == 0) {
mCoords = new float[] { 0f, 0f }; mCoords = new float[] { 0f, 0f };
} }
if ((mBuilderFieldsSet & 0x100000) == 0) {
mToken = new Binder();
}
if ((mBuilderFieldsSet & 0x200000) == 0) {
mIPCInterface = null;
}
SampleDataClass o = new SampleDataClass( SampleDataClass o = new SampleDataClass(
mNum, mNum,
mNum2, mNum2,
@@ -1861,12 +1969,14 @@ public final class SampleDataClass implements Parcelable {
mLinkAddresses5, mLinkAddresses5,
mStringRes, mStringRes,
mDayOfWeek, mDayOfWeek,
mCoords); mCoords,
mToken,
mIPCInterface);
return o; return o;
} }
private void checkNotUsed() { private void checkNotUsed() {
if ((mBuilderFieldsSet & 0x100000) != 0) { if ((mBuilderFieldsSet & 0x400000) != 0) {
throw new IllegalStateException( throw new IllegalStateException(
"This Builder should not be reused. Use a new Builder instance instead"); "This Builder should not be reused. Use a new Builder instance instead");
} }
@@ -1874,10 +1984,10 @@ public final class SampleDataClass implements Parcelable {
} }
@DataClass.Generated( @DataClass.Generated(
time = 1604522372172L, time = 1616541539978L,
codegenVersion = "1.0.20", codegenVersion = "1.0.23",
sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/SampleDataClass.java", sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/SampleDataClass.java",
inputSignatures = "public static final java.lang.String STATE_NAME_UNDEFINED\npublic static final java.lang.String STATE_NAME_ON\npublic static final java.lang.String STATE_NAME_OFF\npublic static final int STATE_ON\npublic static final int STATE_OFF\npublic static final int STATE_UNDEFINED\npublic static final @com.android.codegentest.SampleDataClass.RequestFlags int FLAG_MANUAL_REQUEST\npublic static final @com.android.codegentest.SampleDataClass.RequestFlags int FLAG_COMPATIBILITY_MODE_REQUEST\npublic static final @com.android.codegentest.SampleDataClass.RequestFlags int FLAG_AUGMENTED_REQUEST\nprivate int mNum\nprivate int mNum2\nprivate int mNum4\nprivate @android.annotation.Nullable java.lang.String mName\nprivate @android.annotation.NonNull java.lang.String mName2\nprivate @android.annotation.NonNull java.lang.String mName4\nprivate @android.annotation.Nullable android.view.accessibility.AccessibilityNodeInfo mOtherParcelable\nprivate @com.android.internal.util.DataClass.ParcelWith(com.android.codegentest.MyDateParcelling.class) @android.annotation.NonNull java.util.Date mDate\nprivate @com.android.internal.util.DataClass.ParcelWith(com.android.internal.util.Parcelling.BuiltIn.ForPattern.class) @android.annotation.NonNull java.util.regex.Pattern mPattern\nprivate @android.annotation.NonNull java.util.List<android.net.LinkAddress> mLinkAddresses2\nprivate @com.android.internal.util.DataClass.PluralOf(\"linkAddress\") @android.annotation.NonNull java.util.ArrayList<android.net.LinkAddress> mLinkAddresses\nprivate @android.annotation.Nullable android.net.LinkAddress[] mLinkAddresses4\nprivate @com.android.codegentest.SampleDataClass.StateName @android.annotation.NonNull java.lang.String mStateName\nprivate @com.android.codegentest.SampleDataClass.RequestFlags int mFlags\nprivate @com.android.codegentest.SampleDataClass.State int mState\npublic @android.annotation.NonNull java.lang.CharSequence charSeq\nprivate final @android.annotation.Nullable android.net.LinkAddress[] mLinkAddresses5\nprivate transient android.net.LinkAddress[] mLinkAddresses6\ntransient int[] mTmpStorage\nprivate @android.annotation.StringRes int mStringRes\nprivate @android.annotation.IntRange int mDayOfWeek\nprivate @android.annotation.Size @android.annotation.NonNull @com.android.internal.util.DataClass.Each @android.annotation.FloatRange float[] mCoords\nprivate static java.lang.String defaultName4()\nprivate int[] lazyInitTmpStorage()\npublic android.net.LinkAddress[] getLinkAddresses4()\nprivate boolean patternEquals(java.util.regex.Pattern)\nprivate int patternHashCode()\nprivate void onConstructed()\npublic void dump(java.io.PrintWriter)\nclass SampleDataClass extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genBuilder=true, genConstructor=true, genEqualsHashCode=true, genToString=true, genForEachField=true, genSetters=true)") inputSignatures = "public static final java.lang.String STATE_NAME_UNDEFINED\npublic static final java.lang.String STATE_NAME_ON\npublic static final java.lang.String STATE_NAME_OFF\npublic static final int STATE_ON\npublic static final int STATE_OFF\npublic static final int STATE_UNDEFINED\npublic static final @com.android.codegentest.SampleDataClass.RequestFlags int FLAG_MANUAL_REQUEST\npublic static final @com.android.codegentest.SampleDataClass.RequestFlags int FLAG_COMPATIBILITY_MODE_REQUEST\npublic static final @com.android.codegentest.SampleDataClass.RequestFlags int FLAG_AUGMENTED_REQUEST\nprivate int mNum\nprivate int mNum2\nprivate int mNum4\nprivate @android.annotation.Nullable java.lang.String mName\nprivate @android.annotation.NonNull java.lang.String mName2\nprivate @android.annotation.NonNull java.lang.String mName4\nprivate @android.annotation.Nullable android.view.accessibility.AccessibilityNodeInfo mOtherParcelable\nprivate @com.android.internal.util.DataClass.ParcelWith(com.android.codegentest.MyDateParcelling.class) @android.annotation.NonNull java.util.Date mDate\nprivate @com.android.internal.util.DataClass.ParcelWith(com.android.internal.util.Parcelling.BuiltIn.ForPattern.class) @android.annotation.NonNull java.util.regex.Pattern mPattern\nprivate @android.annotation.NonNull java.util.List<android.net.LinkAddress> mLinkAddresses2\nprivate @com.android.internal.util.DataClass.PluralOf(\"linkAddress\") @android.annotation.NonNull java.util.ArrayList<android.net.LinkAddress> mLinkAddresses\nprivate @android.annotation.Nullable android.net.LinkAddress[] mLinkAddresses4\nprivate @com.android.codegentest.SampleDataClass.StateName @android.annotation.NonNull java.lang.String mStateName\nprivate @com.android.codegentest.SampleDataClass.RequestFlags int mFlags\nprivate @com.android.codegentest.SampleDataClass.State int mState\npublic @android.annotation.NonNull java.lang.CharSequence charSeq\nprivate final @android.annotation.Nullable android.net.LinkAddress[] mLinkAddresses5\nprivate transient android.net.LinkAddress[] mLinkAddresses6\ntransient int[] mTmpStorage\nprivate @android.annotation.StringRes int mStringRes\nprivate @android.annotation.IntRange int mDayOfWeek\nprivate @android.annotation.Size @android.annotation.NonNull @com.android.internal.util.DataClass.Each @android.annotation.FloatRange float[] mCoords\nprivate @android.annotation.NonNull android.os.IBinder mToken\nprivate @android.annotation.Nullable android.companion.ICompanionDeviceManager mIPCInterface\nprivate static java.lang.String defaultName4()\nprivate int[] lazyInitTmpStorage()\npublic android.net.LinkAddress[] getLinkAddresses4()\nprivate boolean patternEquals(java.util.regex.Pattern)\nprivate int patternHashCode()\nprivate void onConstructed()\npublic void dump(java.io.PrintWriter)\nclass SampleDataClass extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genBuilder=true, genConstructor=true, genEqualsHashCode=true, genToString=true, genForEachField=true, genSetters=true)")
@Deprecated @Deprecated
private void __metadata() {} private void __metadata() {}

View File

@@ -85,7 +85,7 @@ public class SampleWithCustomBuilder implements Parcelable {
// Code below generated by codegen v1.0.20. // Code below generated by codegen v1.0.23.
// //
// DO NOT MODIFY! // DO NOT MODIFY!
// CHECKSTYLE:OFF Generated code // CHECKSTYLE:OFF Generated code
@@ -253,8 +253,8 @@ public class SampleWithCustomBuilder implements Parcelable {
} }
@DataClass.Generated( @DataClass.Generated(
time = 1604522373190L, time = 1616541540898L,
codegenVersion = "1.0.20", codegenVersion = "1.0.23",
sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/SampleWithCustomBuilder.java", sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/SampleWithCustomBuilder.java",
inputSignatures = " long delayAmount\n @android.annotation.NonNull java.util.concurrent.TimeUnit delayUnit\n long creationTimestamp\nprivate static java.util.concurrent.TimeUnit unparcelDelayUnit(android.os.Parcel)\nprivate void parcelDelayUnit(android.os.Parcel,int)\nclass SampleWithCustomBuilder extends java.lang.Object implements [android.os.Parcelable]\nabstract com.android.codegentest.SampleWithCustomBuilder.Builder setDelayAmount(long)\npublic abstract com.android.codegentest.SampleWithCustomBuilder.Builder setDelayUnit(java.util.concurrent.TimeUnit)\npublic com.android.codegentest.SampleWithCustomBuilder.Builder setDelay(long,java.util.concurrent.TimeUnit)\nclass BaseBuilder extends java.lang.Object implements []\n@com.android.internal.util.DataClass(genBuilder=true, genAidl=false, genToString=true)\nabstract com.android.codegentest.SampleWithCustomBuilder.Builder setDelayAmount(long)\npublic abstract com.android.codegentest.SampleWithCustomBuilder.Builder setDelayUnit(java.util.concurrent.TimeUnit)\npublic com.android.codegentest.SampleWithCustomBuilder.Builder setDelay(long,java.util.concurrent.TimeUnit)\nclass BaseBuilder extends java.lang.Object implements []") inputSignatures = " long delayAmount\n @android.annotation.NonNull java.util.concurrent.TimeUnit delayUnit\n long creationTimestamp\nprivate static java.util.concurrent.TimeUnit unparcelDelayUnit(android.os.Parcel)\nprivate void parcelDelayUnit(android.os.Parcel,int)\nclass SampleWithCustomBuilder extends java.lang.Object implements [android.os.Parcelable]\nabstract com.android.codegentest.SampleWithCustomBuilder.Builder setDelayAmount(long)\npublic abstract com.android.codegentest.SampleWithCustomBuilder.Builder setDelayUnit(java.util.concurrent.TimeUnit)\npublic com.android.codegentest.SampleWithCustomBuilder.Builder setDelay(long,java.util.concurrent.TimeUnit)\nclass BaseBuilder extends java.lang.Object implements []\n@com.android.internal.util.DataClass(genBuilder=true, genAidl=false, genToString=true)\nabstract com.android.codegentest.SampleWithCustomBuilder.Builder setDelayAmount(long)\npublic abstract com.android.codegentest.SampleWithCustomBuilder.Builder setDelayUnit(java.util.concurrent.TimeUnit)\npublic com.android.codegentest.SampleWithCustomBuilder.Builder setDelay(long,java.util.concurrent.TimeUnit)\nclass BaseBuilder extends java.lang.Object implements []")
@Deprecated @Deprecated

View File

@@ -36,7 +36,7 @@ public class SampleWithNestedDataClasses {
// Code below generated by codegen v1.0.20. // Code below generated by codegen v1.0.23.
// //
// DO NOT MODIFY! // DO NOT MODIFY!
// CHECKSTYLE:OFF Generated code // CHECKSTYLE:OFF Generated code
@@ -135,8 +135,8 @@ public class SampleWithNestedDataClasses {
}; };
@DataClass.Generated( @DataClass.Generated(
time = 1604522377998L, time = 1616541545539L,
codegenVersion = "1.0.20", codegenVersion = "1.0.23",
sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/SampleWithNestedDataClasses.java", sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/SampleWithNestedDataClasses.java",
inputSignatures = " @android.annotation.NonNull java.lang.String mBar\nclass NestedDataClass extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true)") inputSignatures = " @android.annotation.NonNull java.lang.String mBar\nclass NestedDataClass extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true)")
@Deprecated @Deprecated
@@ -160,7 +160,7 @@ public class SampleWithNestedDataClasses {
// Code below generated by codegen v1.0.20. // Code below generated by codegen v1.0.23.
// //
// DO NOT MODIFY! // DO NOT MODIFY!
// CHECKSTYLE:OFF Generated code // CHECKSTYLE:OFF Generated code
@@ -259,8 +259,8 @@ public class SampleWithNestedDataClasses {
}; };
@DataClass.Generated( @DataClass.Generated(
time = 1604522378007L, time = 1616541545548L,
codegenVersion = "1.0.20", codegenVersion = "1.0.23",
sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/SampleWithNestedDataClasses.java", sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/SampleWithNestedDataClasses.java",
inputSignatures = " @android.annotation.NonNull long mBaz2\nclass NestedDataClass3 extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true)") inputSignatures = " @android.annotation.NonNull long mBaz2\nclass NestedDataClass3 extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true)")
@Deprecated @Deprecated
@@ -274,7 +274,7 @@ public class SampleWithNestedDataClasses {
// Code below generated by codegen v1.0.20. // Code below generated by codegen v1.0.23.
// //
// DO NOT MODIFY! // DO NOT MODIFY!
// CHECKSTYLE:OFF Generated code // CHECKSTYLE:OFF Generated code
@@ -373,8 +373,8 @@ public class SampleWithNestedDataClasses {
}; };
@DataClass.Generated( @DataClass.Generated(
time = 1604522378015L, time = 1616541545552L,
codegenVersion = "1.0.20", codegenVersion = "1.0.23",
sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/SampleWithNestedDataClasses.java", sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/SampleWithNestedDataClasses.java",
inputSignatures = " @android.annotation.NonNull java.lang.String mBaz\nclass NestedDataClass2 extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true)") inputSignatures = " @android.annotation.NonNull java.lang.String mBaz\nclass NestedDataClass2 extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true)")
@Deprecated @Deprecated

View File

@@ -64,7 +64,7 @@ public class StaleDataclassDetectorFalsePositivesTest {
// Code below generated by codegen v1.0.20. // Code below generated by codegen v1.0.23.
// //
// DO NOT MODIFY! // DO NOT MODIFY!
// CHECKSTYLE:OFF Generated code // CHECKSTYLE:OFF Generated code
@@ -89,8 +89,8 @@ public class StaleDataclassDetectorFalsePositivesTest {
} }
@DataClass.Generated( @DataClass.Generated(
time = 1604522377011L, time = 1616541544639L,
codegenVersion = "1.0.20", codegenVersion = "1.0.23",
sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/StaleDataclassDetectorFalsePositivesTest.java", sourceFile = "frameworks/base/tests/Codegen/src/com/android/codegentest/StaleDataclassDetectorFalsePositivesTest.java",
inputSignatures = "private @android.annotation.Nullable java.util.List<java.util.Set<?>> mUsesWildcards\npublic @android.annotation.NonNull java.lang.String someMethod(int)\nprivate @android.annotation.IntRange void annotatedWithConstArg()\nclass StaleDataclassDetectorFalsePositivesTest extends java.lang.Object implements []\n@com.android.internal.util.DataClass(genConstructor=false, genBuilder=false)") inputSignatures = "private @android.annotation.Nullable java.util.List<java.util.Set<?>> mUsesWildcards\npublic @android.annotation.NonNull java.lang.String someMethod(int)\nprivate @android.annotation.IntRange void annotatedWithConstArg()\nclass StaleDataclassDetectorFalsePositivesTest extends java.lang.Object implements []\n@com.android.internal.util.DataClass(genConstructor=false, genBuilder=false)")
@Deprecated @Deprecated

View File

@@ -220,11 +220,12 @@ data class FieldInfo(
isBinder(FieldInnerType!!) -> "BinderList" isBinder(FieldInnerType!!) -> "BinderList"
else -> "ParcelableList" else -> "ParcelableList"
} }
isStrongBinder(Type) -> "StrongBinder"
isIInterface(Type) -> "StrongInterface" isIInterface(Type) -> "StrongInterface"
isBinder(Type) -> "StrongBinder"
else -> "TypedObject" else -> "TypedObject"
}.capitalize() }.capitalize()
private fun isStrongBinder(type: String) = type == "Binder" || type == "IBinder"
private fun isBinder(type: String) = type == "Binder" || type == "IBinder" || isIInterface(type) private fun isBinder(type: String) = type == "Binder" || type == "IBinder" || isIInterface(type)
private fun isIInterface(type: String) = type.length >= 2 && type[0] == 'I' && type[1].isUpperCase() private fun isIInterface(type: String) = type.length >= 2 && type[0] == 'I' && type[1].isUpperCase()
} }

View File

@@ -1,7 +1,7 @@
package com.android.codegen package com.android.codegen
const val CODEGEN_NAME = "codegen" const val CODEGEN_NAME = "codegen"
const val CODEGEN_VERSION = "1.0.22" const val CODEGEN_VERSION = "1.0.23"
const val CANONICAL_BUILDER_CLASS = "Builder" const val CANONICAL_BUILDER_CLASS = "Builder"
const val BASE_BUILDER_CLASS = "BaseBuilder" const val BASE_BUILDER_CLASS = "BaseBuilder"