aboutsummaryrefslogtreecommitdiff
path: root/libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehiclePropValueUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehiclePropValueUtil.java')
-rw-r--r--libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehiclePropValueUtil.java272
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;
- }
-}