diff options
Diffstat (limited to 'libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehiclePropValueUtil.java')
-rw-r--r-- | libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehiclePropValueUtil.java | 272 |
1 files changed, 0 insertions, 272 deletions
diff --git a/libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehiclePropValueUtil.java b/libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehiclePropValueUtil.java deleted file mode 100644 index 5e47546300..0000000000 --- a/libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehiclePropValueUtil.java +++ /dev/null @@ -1,272 +0,0 @@ -/* - * Copyright (C) 2015 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.android.car.vehiclenetwork; - -import static java.lang.Integer.toHexString; - -import com.google.protobuf.ByteString; - -import com.android.car.vehiclenetwork.VehicleNetworkConsts.VehicleValueType; -import com.android.car.vehiclenetwork.VehicleNetworkProto.VehiclePropValue; - -import java.util.Arrays; -import java.util.List; - -/** - * Utility class to help creating VehiclePropValue. - */ -public final class VehiclePropValueUtil { - - /** To prevent creating of utility class */ - private VehiclePropValueUtil() {} - - public static VehiclePropValue createIntValue(int property, int value, long timestamp) { - return createBuilder(property, VehicleValueType.VEHICLE_VALUE_TYPE_INT32, timestamp). - addInt32Values(value). - build(); - } - - public static VehiclePropValue createIntVectorValue(int property, int[] values, - long timestamp) { - VehiclePropValue.Builder builder = createBuilder(property, - getVectorValueType(VehicleValueType.VEHICLE_VALUE_TYPE_INT32, values.length), - timestamp); - for (int v : values) { - builder.addInt32Values(v); - } - return builder.build(); - } - - public static VehiclePropValue createFloatValue(int property, float value, long timestamp) { - return createBuilder(property, VehicleValueType.VEHICLE_VALUE_TYPE_FLOAT, timestamp). - addFloatValues(value). - build(); - } - - public static VehiclePropValue createFloatVectorValue(int property, float[] values, - long timestamp) { - VehiclePropValue.Builder builder = createBuilder(property, - getVectorValueType(VehicleValueType.VEHICLE_VALUE_TYPE_FLOAT, values.length), - timestamp); - for (float v : values) { - builder.addFloatValues(v); - } - return builder.build(); - } - - public static VehiclePropValue createLongValue(int property, long value, long timestamp) { - return createBuilder(property, VehicleValueType.VEHICLE_VALUE_TYPE_INT64, timestamp). - setInt64Value(value). - build(); - } - - public static VehiclePropValue createStringValue(int property, String value, long timestamp) { - return createBuilder(property, VehicleValueType.VEHICLE_VALUE_TYPE_STRING, timestamp). - setStringValue(value). - build(); - } - - public static VehiclePropValue createBooleanValue(int property, boolean value, long timestamp) { - return createBuilder(property, VehicleValueType.VEHICLE_VALUE_TYPE_BOOLEAN, timestamp). - addInt32Values(value ? 1 : 0). - build(); - } - - public static VehiclePropValue createBytesValue(int property, byte[] value, long timestamp) { - return createBuilder(property, VehicleValueType.VEHICLE_VALUE_TYPE_BYTES, timestamp). - setBytesValue(ByteString.copyFrom(value)). - build(); - } - - public static VehiclePropValue createZonedIntValue(int property, int zone, int value, - long timestamp) { - return createBuilder(property, VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_INT32, timestamp). - setZone(zone). - addInt32Values(value). - build(); - } - - public static VehiclePropValue createZonedIntVectorValue(int property, int zone, int[] values, - long timestamp) { - int valueType = getVectorValueType( - VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_INT32, values.length); - VehiclePropValue.Builder builder = createBuilder(property, valueType, timestamp). - setZone(zone); - for (int value : values) { - builder.addInt32Values(value); - } - return builder.build(); - } - - public static VehiclePropValue createZonedFloatVectorValue(int property, int zone, - float[] values, long timestamp) { - int valueType = getVectorValueType( - VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_FLOAT, values.length); - VehiclePropValue.Builder builder = createBuilder(property, valueType, timestamp). - setZone(zone); - for (float value : values) { - builder.addFloatValues(value); - } - return builder.build(); - } - - - public static VehiclePropValue createZonedBooleanValue(int property, int zone, boolean value, - long timestamp) { - return createBuilder(property, VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_BOOLEAN,timestamp). - setZone(zone). - addInt32Values(value ? 1 : 0). - build(); - } - - public static VehiclePropValue createZonedFloatValue(int property, int zone, float value, - long timestamp) { - return createBuilder(property, VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_FLOAT,timestamp). - setZone(zone). - addFloatValues(value). - build(); - } - - public static VehiclePropValue createDummyValue(int property, int valueType) { - switch (valueType) { - case VehicleValueType.VEHICLE_VALUE_TYPE_STRING: { - return createStringValue(property, "dummy", 0); - } - case VehicleValueType.VEHICLE_VALUE_TYPE_BYTES: { - return createBytesValue(property, new byte[1], 0); - } - case VehicleValueType.VEHICLE_VALUE_TYPE_BOOLEAN: { - return createBooleanValue(property, false, 0); - } - case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_INT32: { - return createZonedIntValue(property, 0, 0, 0); - } - case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_FLOAT: { - return createZonedFloatValue(property, 0, 0, 0); - } - case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_BOOLEAN: { - return createZonedBooleanValue(property, 0, false, 0); - } - case VehicleValueType.VEHICLE_VALUE_TYPE_INT64: { - return createLongValue(property, 0, 0); - } - case VehicleValueType.VEHICLE_VALUE_TYPE_FLOAT: { - return createFloatValue(property, 0, 0); - } - case VehicleValueType.VEHICLE_VALUE_TYPE_FLOAT_VEC2: - case VehicleValueType.VEHICLE_VALUE_TYPE_FLOAT_VEC3: - case VehicleValueType.VEHICLE_VALUE_TYPE_FLOAT_VEC4: - case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_FLOAT_VEC2: - case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_FLOAT_VEC3: - case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_FLOAT_VEC4:{ - return createFloatVectorValue(property, new float[getVectorLength(valueType)], 0); - } - case VehicleValueType.VEHICLE_VALUE_TYPE_INT32: { - return createIntValue(property, 0, 0); - } - case VehicleValueType.VEHICLE_VALUE_TYPE_INT32_VEC2: - case VehicleValueType.VEHICLE_VALUE_TYPE_INT32_VEC3: - case VehicleValueType.VEHICLE_VALUE_TYPE_INT32_VEC4: - case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_INT32_VEC2: - case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_INT32_VEC3: - case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_INT32_VEC4: { - return createIntVectorValue(property, new int[getVectorLength(valueType)], 0); - } - - } - return null; - } - - public static VehiclePropValue.Builder createBuilder(int property, int valueType, - long timestamp) { - return VehiclePropValue.newBuilder(). - setProp(property). - setValueType(valueType). - setTimestamp(timestamp); - } - - public static int getVectorLength(int vehicleValueType) { - switch (vehicleValueType) { - case VehicleValueType.VEHICLE_VALUE_TYPE_BOOLEAN: - case VehicleValueType.VEHICLE_VALUE_TYPE_INT32: - case VehicleValueType.VEHICLE_VALUE_TYPE_FLOAT: - case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_INT32: - case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_BOOLEAN: - case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_FLOAT: - return 1; - case VehicleValueType.VEHICLE_VALUE_TYPE_FLOAT_VEC2: - case VehicleValueType.VEHICLE_VALUE_TYPE_INT32_VEC2: - case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_FLOAT_VEC2: - case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_INT32_VEC2: - return 2; - case VehicleValueType.VEHICLE_VALUE_TYPE_FLOAT_VEC3: - case VehicleValueType.VEHICLE_VALUE_TYPE_INT32_VEC3: - case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_FLOAT_VEC3: - case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_INT32_VEC3: - return 3; - case VehicleValueType.VEHICLE_VALUE_TYPE_INT32_VEC4: - case VehicleValueType.VEHICLE_VALUE_TYPE_FLOAT_VEC4: - case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_FLOAT_VEC4: - case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_INT32_VEC4: - return 4; - default: - throw new IllegalArgumentException("Unknown value type: " + vehicleValueType); - } - } - - public static boolean isCustomProperty(int property) { - return property >= VehicleNetworkConsts.VEHICLE_PROPERTY_CUSTOM_START && - property <= VehicleNetworkConsts.VEHICLE_PROPERTY_CUSTOM_END; - } - - /** Converts {@link VehiclePropValue} to string just for debug purpose. */ - public static String toString(VehiclePropValue value) { - if (value == null) { - return String.valueOf(null); - } - return value.getClass().getSimpleName() + " { prop: 0x" + toHexString(value.getProp()) + - ", valueType: 0x" + toHexString(value.getValueType()) + - ", timestamp: " + value.getTimestamp() + - ", int32Values: " + Arrays.toString(toIntArray(value.getInt32ValuesList())) + - ", int64Value: " + value.getInt64Value() + - ", floatValues: " + Arrays.toString(toFloatArray(value.getFloatValuesList())) + - ", stringValue: " + value.getStringValue() + - ", byteValue: " + Arrays.toString(value.getBytesValue().toByteArray()) + - ", zone: {" + value.getZone() + "} }"; - } - - public static int[] toIntArray(List<Integer> collection) { - int[] array = new int[collection.size()]; - int i = 0; - for (int value : collection) { - array[i++] = value; - } - return array; - } - - public static float[] toFloatArray(List<Float> collection) { - float[] array = new float[collection.size()]; - int i = 0; - for (float value : collection) { - array[i++] = value; - } - return array; - } - - public static int getVectorValueType(int vehicleValueType, int length) { - return vehicleValueType + length - 1; - } -} |