1 package test_package;
2 
3 import test_package.Bar;
4 import test_package.ByteEnum;
5 import test_package.IntEnum;
6 import test_package.LongEnum;
7 import test_package.SimpleUnion;
8 
9 parcelable Foo {
10     const int kZero = 0;
11     const int kOne = 1;
12     const int kOnes = 0xffffffff;
13     const byte kByteOne = 1;
14     const long kLongOnes = 0xffffffffffffffff;
15     const String kEmpty = "";
16     const String kFoo = "foo";
17 
18     String a="FOO";
19     int b=42;
20     float c=3.14f;
21     Bar d;
22     Bar e;
23     int f=3;
24     ByteEnum shouldBeByteBar;
25     IntEnum shouldBeIntBar;
26     LongEnum shouldBeLongBar;
27     ByteEnum[] shouldContainTwoByteFoos;
28     IntEnum[] shouldContainTwoIntFoos;
29     LongEnum[] shouldContainTwoLongFoos;
30     @nullable String[] g;
31     @nullable SimpleUnion u;
32 
33     // example: using int constants
34     const int BIT0 = 0x1;
35     const int BIT1 = 0x1 << 1;
36     const int BIT2 = 0x1 << 2;
37     int shouldSetBit0AndBit2;
38 
39     // example: using a String constant of union
40     @nullable SimpleUnion shouldBeConstS1;
41 }
42