816 B
816 B
Defining constants as part of an interface
AIDL has been enhanced to support defining integer and string constants as part of an interface.
Integer constants
interface IMyInterface {
const int CONST_A = 1;
const int CONST_B = 2;
const int CONST_C = 3;
...
}
These map to appropriate 32 bit integer class constants in Java and C++ (e.g.
IMyInterface.CONST_A
and IMyInterface::CONST_A
respectively).
String constants
interface IMyInterface {
const String CONST_A = "foo";
const String CONST_B = "bar";
...
}
These map to class level String constants in Java, and static getter functions that return a const android::String16& in C++.
The constants are limited to contain printable ASCII characters < 0x10 and without backspaces (i.e. no '' character).