var name: String =""
var number: String =""
var addresses:ArrayList<Address> = ArrayList()
constructor(parcel: Parcel) : this() {
name = parcel.readString()?:""
number = parcel.readString()?:""
addresses= parcel.createTypedArrayList(Address.CREATOR)?:ArrayList()
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeString(name)
parcel.writeString(number)
parcel.writeTypedList(addresses)
override fun describeContents(): Int {
return 0
companion object CREATOR : Parcelable.Creator<Person> {
override fun createFromParcel(parcel: Parcel): Person {
return Person(parcel)
override fun newArray(size: Int): Array<Person?> {
return arrayOfNulls(size)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import
android
.
os
.
Parcel
import
android
.
os
.
Parcelable
class
Person
(
)
:
Parcelable
{
var
name
:
String
=
""
var
number
:
String
=
""
var
addresses
:
ArrayList
&
lt
;
Address
&
gt
;
=
ArrayList
(
)
constructor
(
parcel
:
Parcel
)
:
this
(
)
{
name
=
parcel
.
readString
(
)
?
:
""
number
=
parcel
.
readString
(
)
?
:
""
addresses
=
parcel
.
createTypedArrayList
(
Address
.
CREATOR
)
?
:
ArrayList
(
)
}
override
fun
writeToParcel
(
parcel
:
Parcel
,
flags
:
Int
)
{
parcel
.
writeString
(
name
)
parcel
.
writeString
(
number
)
parcel
.
writeTypedList
(
addresses
)
}
override
fun
describeContents
(
)
:
Int
{
return
0
}
companion
object
CREATOR
:
Parcelable
.
Creator
&
lt
;
Person
&
gt
;
{
override
fun
createFromParcel
(
parcel
:
Parcel
)
:
Person
{
return
Person
(
parcel
)
}
override
fun
newArray
(
size
:
Int
)
:
Array
&
lt
;
Person
?
&
gt
;
{
return
arrayOfNulls
(
size
)
}
}
}
constructor(parcel: Parcel) : this() {
city = parcel.readString()?:""
state = parcel.readString()?:""
country = parcel.readString()?:""
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeString(city)
parcel.writeString(state)
parcel.writeString(country)
override fun describeContents(): Int {
return 0
companion object CREATOR : Parcelable.Creator<Address> {
override fun createFromParcel(parcel: Parcel): Address {
return Address(parcel)
override fun newArray(size: Int): Array<Address?> {
return arrayOfNulls(size)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import
android
.
os
.
Parcel
import
android
.
os
.
Parcelable
class
Address
(
)
:
Parcelable
{
var
city
:
String
=
""
var
state
:
String
=
""
var
country
:
String
=
""
constructor
(
parcel
:
Parcel
)
:
this
(
)
{
city
=
parcel
.
readString
(
)
?
:
""
state
=
parcel
.
readString
(
)
?
:
""
country
=
parcel
.
readString
(
)
?
:
""
}
override
fun
writeToParcel
(
parcel
:
Parcel
,
flags
:
Int
)
{
parcel
.
writeString
(
city
)
parcel
.
writeString
(
state
)
parcel
.
writeString
(
country
)
}
override
fun
describeContents
(
)
:
Int
{
return
0
}
companion
object
CREATOR
:
Parcelable
.
Creator
&
lt
;
Address
&
gt
;
{
override
fun
createFromParcel
(
parcel
:
Parcel
)
:
Address
{
return
Address
(
parcel
)
}
override
fun
newArray
(
size
:
Int
)
:
Array
&
lt
;
Address
?
&
gt
;
{
return
arrayOfNulls
(
size
)
}
}
}