@iternio/react-native-auto-play 0.3.3 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,7 +27,7 @@ object AndroidTelemetryObserver : TelemetryObserver() {
27
27
  model.year.value
28
28
  } else null
29
29
 
30
- telemetryHolder.updateVehicle(name, manufacturer, year)
30
+ telemetryHolder.updateVehicle(name, manufacturer, year, null)
31
31
 
32
32
  telemetryHolder.toTelemetry()?.let {
33
33
  telemetryCallbacks.forEach { callback ->
@@ -45,7 +45,7 @@ object AndroidTelemetryObserver : TelemetryObserver() {
45
45
  VehiclePropertyIds.INFO_EV_BATTERY_CAPACITY, VehicleAreaType.VEHICLE_AREA_TYPE_GLOBAL
46
46
  )?.value ?: 0f
47
47
 
48
- telemetryHolder.updateVehicle(carModel, carManufacturer, carModelYear)
48
+ telemetryHolder.updateVehicle(carModel, carManufacturer, carModelYear, batteryCapacity)
49
49
  }
50
50
 
51
51
  val vehiclePropertyReceiver = object : CarPropertyManager.CarPropertyEventCallback {
@@ -42,14 +42,17 @@ class AndroidAutoTelemetryHolder {
42
42
  private var name: String? = null
43
43
  private var manufacturer: String? = null
44
44
  private var year: Int? = null
45
+ private var batteryCapacity: Float? = null
45
46
 
46
- fun updateVehicle(name: String?, manufacturer: String?, year: Int?) = synchronized(lock) {
47
- this.name = name
48
- this.manufacturer = manufacturer
49
- this.year = year
47
+ fun updateVehicle(name: String?, manufacturer: String?, year: Int?, batteryCapacity: Float?) =
48
+ synchronized(lock) {
49
+ this.name = name
50
+ this.manufacturer = manufacturer
51
+ this.year = year
52
+ this.batteryCapacity = batteryCapacity
50
53
 
51
- isDirty = true
52
- }
54
+ isDirty = true
55
+ }
53
56
 
54
57
  fun updateBatteryLevel(value: Float) = synchronized(lock) {
55
58
  if (batteryLevel == value) {
@@ -208,7 +211,8 @@ class AndroidAutoTelemetryHolder {
208
211
  vehicle = VehicleTelemetryItem(
209
212
  name = createStringTelemetryItem(name),
210
213
  manufacturer = createStringTelemetryItem(manufacturer),
211
- year = createNumericTelemetryItem(year?.toFloat(), 0)
214
+ year = createNumericTelemetryItem(year?.toFloat(), 0),
215
+ batteryCapacity = createNumericTelemetryItem(batteryCapacity, 0)
212
216
  )
213
217
  )
214
218
  }
@@ -41,6 +41,7 @@ type VehicleTelemetryItem = {
41
41
  name?: StringTelemetryItem;
42
42
  year?: NumericTelemetryItem;
43
43
  manufacturer?: StringTelemetryItem;
44
+ batteryCapacity?: NumericTelemetryItem;
44
45
  };
45
46
  export declare enum VehicleGear {
46
47
  Neutral = 1,
@@ -42,10 +42,13 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
42
42
  jni::local_ref<JNumericTelemetryItem> year = this->getFieldValue(fieldYear);
43
43
  static const auto fieldManufacturer = clazz->getField<JStringTelemetryItem>("manufacturer");
44
44
  jni::local_ref<JStringTelemetryItem> manufacturer = this->getFieldValue(fieldManufacturer);
45
+ static const auto fieldBatteryCapacity = clazz->getField<JNumericTelemetryItem>("batteryCapacity");
46
+ jni::local_ref<JNumericTelemetryItem> batteryCapacity = this->getFieldValue(fieldBatteryCapacity);
45
47
  return VehicleTelemetryItem(
46
48
  name != nullptr ? std::make_optional(name->toCpp()) : std::nullopt,
47
49
  year != nullptr ? std::make_optional(year->toCpp()) : std::nullopt,
48
- manufacturer != nullptr ? std::make_optional(manufacturer->toCpp()) : std::nullopt
50
+ manufacturer != nullptr ? std::make_optional(manufacturer->toCpp()) : std::nullopt,
51
+ batteryCapacity != nullptr ? std::make_optional(batteryCapacity->toCpp()) : std::nullopt
49
52
  );
50
53
  }
51
54
 
@@ -55,14 +58,15 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
55
58
  */
56
59
  [[maybe_unused]]
57
60
  static jni::local_ref<JVehicleTelemetryItem::javaobject> fromCpp(const VehicleTelemetryItem& value) {
58
- using JSignature = JVehicleTelemetryItem(jni::alias_ref<JStringTelemetryItem>, jni::alias_ref<JNumericTelemetryItem>, jni::alias_ref<JStringTelemetryItem>);
61
+ using JSignature = JVehicleTelemetryItem(jni::alias_ref<JStringTelemetryItem>, jni::alias_ref<JNumericTelemetryItem>, jni::alias_ref<JStringTelemetryItem>, jni::alias_ref<JNumericTelemetryItem>);
59
62
  static const auto clazz = javaClassStatic();
60
63
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
61
64
  return create(
62
65
  clazz,
63
66
  value.name.has_value() ? JStringTelemetryItem::fromCpp(value.name.value()) : nullptr,
64
67
  value.year.has_value() ? JNumericTelemetryItem::fromCpp(value.year.value()) : nullptr,
65
- value.manufacturer.has_value() ? JStringTelemetryItem::fromCpp(value.manufacturer.value()) : nullptr
68
+ value.manufacturer.has_value() ? JStringTelemetryItem::fromCpp(value.manufacturer.value()) : nullptr,
69
+ value.batteryCapacity.has_value() ? JNumericTelemetryItem::fromCpp(value.batteryCapacity.value()) : nullptr
66
70
  );
67
71
  }
68
72
  };
@@ -25,7 +25,10 @@ data class VehicleTelemetryItem(
25
25
  val year: NumericTelemetryItem?,
26
26
  @DoNotStrip
27
27
  @Keep
28
- val manufacturer: StringTelemetryItem?
28
+ val manufacturer: StringTelemetryItem?,
29
+ @DoNotStrip
30
+ @Keep
31
+ val batteryCapacity: NumericTelemetryItem?
29
32
  ) {
30
33
  /* primary constructor */
31
34
 
@@ -37,8 +40,8 @@ data class VehicleTelemetryItem(
37
40
  @Keep
38
41
  @Suppress("unused")
39
42
  @JvmStatic
40
- private fun fromCpp(name: StringTelemetryItem?, year: NumericTelemetryItem?, manufacturer: StringTelemetryItem?): VehicleTelemetryItem {
41
- return VehicleTelemetryItem(name, year, manufacturer)
43
+ private fun fromCpp(name: StringTelemetryItem?, year: NumericTelemetryItem?, manufacturer: StringTelemetryItem?, batteryCapacity: NumericTelemetryItem?): VehicleTelemetryItem {
44
+ return VehicleTelemetryItem(name, year, manufacturer, batteryCapacity)
42
45
  }
43
46
  }
44
47
  }
@@ -47,10 +47,11 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
47
47
  std::optional<StringTelemetryItem> name SWIFT_PRIVATE;
48
48
  std::optional<NumericTelemetryItem> year SWIFT_PRIVATE;
49
49
  std::optional<StringTelemetryItem> manufacturer SWIFT_PRIVATE;
50
+ std::optional<NumericTelemetryItem> batteryCapacity SWIFT_PRIVATE;
50
51
 
51
52
  public:
52
53
  VehicleTelemetryItem() = default;
53
- explicit VehicleTelemetryItem(std::optional<StringTelemetryItem> name, std::optional<NumericTelemetryItem> year, std::optional<StringTelemetryItem> manufacturer): name(name), year(year), manufacturer(manufacturer) {}
54
+ explicit VehicleTelemetryItem(std::optional<StringTelemetryItem> name, std::optional<NumericTelemetryItem> year, std::optional<StringTelemetryItem> manufacturer, std::optional<NumericTelemetryItem> batteryCapacity): name(name), year(year), manufacturer(manufacturer), batteryCapacity(batteryCapacity) {}
54
55
 
55
56
  public:
56
57
  friend bool operator==(const VehicleTelemetryItem& lhs, const VehicleTelemetryItem& rhs) = default;
@@ -68,7 +69,8 @@ namespace margelo::nitro {
68
69
  return margelo::nitro::swe::iternio::reactnativeautoplay::VehicleTelemetryItem(
69
70
  JSIConverter<std::optional<margelo::nitro::swe::iternio::reactnativeautoplay::StringTelemetryItem>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "name"))),
70
71
  JSIConverter<std::optional<margelo::nitro::swe::iternio::reactnativeautoplay::NumericTelemetryItem>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "year"))),
71
- JSIConverter<std::optional<margelo::nitro::swe::iternio::reactnativeautoplay::StringTelemetryItem>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "manufacturer")))
72
+ JSIConverter<std::optional<margelo::nitro::swe::iternio::reactnativeautoplay::StringTelemetryItem>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "manufacturer"))),
73
+ JSIConverter<std::optional<margelo::nitro::swe::iternio::reactnativeautoplay::NumericTelemetryItem>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "batteryCapacity")))
72
74
  );
73
75
  }
74
76
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::swe::iternio::reactnativeautoplay::VehicleTelemetryItem& arg) {
@@ -76,6 +78,7 @@ namespace margelo::nitro {
76
78
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "name"), JSIConverter<std::optional<margelo::nitro::swe::iternio::reactnativeautoplay::StringTelemetryItem>>::toJSI(runtime, arg.name));
77
79
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "year"), JSIConverter<std::optional<margelo::nitro::swe::iternio::reactnativeautoplay::NumericTelemetryItem>>::toJSI(runtime, arg.year));
78
80
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "manufacturer"), JSIConverter<std::optional<margelo::nitro::swe::iternio::reactnativeautoplay::StringTelemetryItem>>::toJSI(runtime, arg.manufacturer));
81
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "batteryCapacity"), JSIConverter<std::optional<margelo::nitro::swe::iternio::reactnativeautoplay::NumericTelemetryItem>>::toJSI(runtime, arg.batteryCapacity));
79
82
  return obj;
80
83
  }
81
84
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -89,6 +92,7 @@ namespace margelo::nitro {
89
92
  if (!JSIConverter<std::optional<margelo::nitro::swe::iternio::reactnativeautoplay::StringTelemetryItem>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "name")))) return false;
90
93
  if (!JSIConverter<std::optional<margelo::nitro::swe::iternio::reactnativeautoplay::NumericTelemetryItem>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "year")))) return false;
91
94
  if (!JSIConverter<std::optional<margelo::nitro::swe::iternio::reactnativeautoplay::StringTelemetryItem>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "manufacturer")))) return false;
95
+ if (!JSIConverter<std::optional<margelo::nitro::swe::iternio::reactnativeautoplay::NumericTelemetryItem>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "batteryCapacity")))) return false;
92
96
  return true;
93
97
  }
94
98
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iternio/react-native-auto-play",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "description": "Android Auto and Apple CarPlay for react-native",
5
5
  "main": "lib/index",
6
6
  "module": "lib/index",
@@ -49,6 +49,7 @@ type VehicleTelemetryItem = {
49
49
  name?: StringTelemetryItem;
50
50
  year?: NumericTelemetryItem;
51
51
  manufacturer?: StringTelemetryItem;
52
+ batteryCapacity?: NumericTelemetryItem;
52
53
  };
53
54
 
54
55
  export enum VehicleGear {