Merge changes I2159bf13,I93146faa
am: baa778df4d
Change-Id: I7208ca285d6fbeba6295041c6b91e85497e2e432
This commit is contained in:
@@ -175,7 +175,7 @@ public final class StatsEvent {
|
|||||||
* @hide
|
* @hide
|
||||||
**/
|
**/
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
public static final int ERROR_ATTRIBUTION_UIDS_TAGS_SIZES_NOT_EQUAL = 0x400;
|
public static final int ERROR_ATTRIBUTION_UIDS_TAGS_SIZES_NOT_EQUAL = 0x1000;
|
||||||
|
|
||||||
// Size limits.
|
// Size limits.
|
||||||
|
|
||||||
@@ -593,9 +593,9 @@ public final class StatsEvent {
|
|||||||
if (0 == mErrorMask) {
|
if (0 == mErrorMask) {
|
||||||
mBuffer.putByte(POS_NUM_ELEMENTS, (byte) mNumElements);
|
mBuffer.putByte(POS_NUM_ELEMENTS, (byte) mNumElements);
|
||||||
} else {
|
} else {
|
||||||
mBuffer.putByte(0, TYPE_ERRORS);
|
mPos += mBuffer.putByte(mPos, TYPE_ERRORS);
|
||||||
mBuffer.putByte(POS_NUM_ELEMENTS, (byte) 3);
|
|
||||||
mPos += mBuffer.putInt(mPos, mErrorMask);
|
mPos += mBuffer.putInt(mPos, mErrorMask);
|
||||||
|
mBuffer.putByte(POS_NUM_ELEMENTS, (byte) 3);
|
||||||
size = mPos;
|
size = mPos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -53,8 +53,8 @@ public class StatsEventTest {
|
|||||||
final ByteBuffer buffer =
|
final ByteBuffer buffer =
|
||||||
ByteBuffer.wrap(statsEvent.getBytes()).order(ByteOrder.LITTLE_ENDIAN);
|
ByteBuffer.wrap(statsEvent.getBytes()).order(ByteOrder.LITTLE_ENDIAN);
|
||||||
|
|
||||||
assertWithMessage("Root element in buffer is not TYPE_ERRORS")
|
assertWithMessage("Root element in buffer is not TYPE_OBJECT")
|
||||||
.that(buffer.get()).isEqualTo(StatsEvent.TYPE_ERRORS);
|
.that(buffer.get()).isEqualTo(StatsEvent.TYPE_OBJECT);
|
||||||
|
|
||||||
assertWithMessage("Incorrect number of elements in root object")
|
assertWithMessage("Incorrect number of elements in root object")
|
||||||
.that(buffer.get()).isEqualTo(3);
|
.that(buffer.get()).isEqualTo(3);
|
||||||
@@ -71,6 +71,9 @@ public class StatsEventTest {
|
|||||||
assertWithMessage("Incorrect atom id")
|
assertWithMessage("Incorrect atom id")
|
||||||
.that(buffer.getInt()).isEqualTo(expectedAtomId);
|
.that(buffer.getInt()).isEqualTo(expectedAtomId);
|
||||||
|
|
||||||
|
assertWithMessage("Third element is not errors type")
|
||||||
|
.that(buffer.get()).isEqualTo(StatsEvent.TYPE_ERRORS);
|
||||||
|
|
||||||
final int errorMask = buffer.getInt();
|
final int errorMask = buffer.getInt();
|
||||||
|
|
||||||
assertWithMessage("ERROR_NO_ATOM_ID should be the only error in the error mask")
|
assertWithMessage("ERROR_NO_ATOM_ID should be the only error in the error mask")
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ static int write_java_methods(
|
|||||||
// Print method body.
|
// Print method body.
|
||||||
string indent("");
|
string indent("");
|
||||||
if (DEFAULT_MODULE_NAME != moduleName) {
|
if (DEFAULT_MODULE_NAME != moduleName) {
|
||||||
fprintf(out, " if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {\n");
|
fprintf(out, " if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q) {\n");
|
||||||
indent = " ";
|
indent = " ";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -116,16 +116,19 @@ static int write_java_methods(
|
|||||||
fprintf(out, "%s builder.writeString(arg%d);\n", indent.c_str(), argIndex);
|
fprintf(out, "%s builder.writeString(arg%d);\n", indent.c_str(), argIndex);
|
||||||
break;
|
break;
|
||||||
case JAVA_TYPE_BYTE_ARRAY:
|
case JAVA_TYPE_BYTE_ARRAY:
|
||||||
fprintf(out, "%s builder.writeByteArray(arg%d);\n",
|
fprintf(out, "%s builder.writeByteArray(null == arg%d ? new byte[0] : arg%d);\n",
|
||||||
indent.c_str(), argIndex);
|
indent.c_str(), argIndex, argIndex);
|
||||||
break;
|
break;
|
||||||
case JAVA_TYPE_ATTRIBUTION_CHAIN:
|
case JAVA_TYPE_ATTRIBUTION_CHAIN:
|
||||||
{
|
{
|
||||||
const char* uidName = attributionDecl.fields.front().name.c_str();
|
const char* uidName = attributionDecl.fields.front().name.c_str();
|
||||||
const char* tagName = attributionDecl.fields.back().name.c_str();
|
const char* tagName = attributionDecl.fields.back().name.c_str();
|
||||||
|
|
||||||
fprintf(out, "%s builder.writeAttributionChain(%s, %s);\n",
|
fprintf(out, "%s builder.writeAttributionChain(\n", indent.c_str());
|
||||||
indent.c_str(), uidName, tagName);
|
fprintf(out, "%s null == %s ? new int[0] : %s,\n",
|
||||||
|
indent.c_str(), uidName, uidName);
|
||||||
|
fprintf(out, "%s null == %s ? new String[0] : %s);\n",
|
||||||
|
indent.c_str(), tagName, tagName);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case JAVA_TYPE_KEY_VALUE_PAIR:
|
case JAVA_TYPE_KEY_VALUE_PAIR:
|
||||||
|
|||||||
Reference in New Issue
Block a user