mirror of
https://github.com/zoriya/react-native-omni.git
synced 2026-08-16 02:44:51 +00:00
feat(tracks): add track indexes
This commit is contained in:
+5
-1
@@ -34,6 +34,8 @@ namespace margelo::nitro::omni {
|
||||
static const auto clazz = javaClassStatic();
|
||||
static const auto fieldId = clazz->getField<jni::JString>("id");
|
||||
jni::local_ref<jni::JString> id = this->getFieldValue(fieldId);
|
||||
static const auto fieldIndex = clazz->getField<double>("index");
|
||||
double index = this->getFieldValue(fieldIndex);
|
||||
static const auto fieldLabel = clazz->getField<jni::JString>("label");
|
||||
jni::local_ref<jni::JString> label = this->getFieldValue(fieldLabel);
|
||||
static const auto fieldLanguage = clazz->getField<jni::JString>("language");
|
||||
@@ -42,6 +44,7 @@ namespace margelo::nitro::omni {
|
||||
jboolean selected = this->getFieldValue(fieldSelected);
|
||||
return Track(
|
||||
id->toStdString(),
|
||||
index,
|
||||
label != nullptr ? std::make_optional(label->toStdString()) : std::nullopt,
|
||||
language != nullptr ? std::make_optional(language->toStdString()) : std::nullopt,
|
||||
static_cast<bool>(selected)
|
||||
@@ -54,12 +57,13 @@ namespace margelo::nitro::omni {
|
||||
*/
|
||||
[[maybe_unused]]
|
||||
static jni::local_ref<JTrack::javaobject> fromCpp(const Track& value) {
|
||||
using JSignature = JTrack(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jboolean);
|
||||
using JSignature = JTrack(jni::alias_ref<jni::JString>, double, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jboolean);
|
||||
static const auto clazz = javaClassStatic();
|
||||
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
||||
return create(
|
||||
clazz,
|
||||
jni::make_jstring(value.id),
|
||||
value.index,
|
||||
value.label.has_value() ? jni::make_jstring(value.label.value()) : nullptr,
|
||||
value.language.has_value() ? jni::make_jstring(value.language.value()) : nullptr,
|
||||
value.selected
|
||||
|
||||
@@ -23,6 +23,9 @@ data class Track(
|
||||
val id: String,
|
||||
@DoNotStrip
|
||||
@Keep
|
||||
val index: Double,
|
||||
@DoNotStrip
|
||||
@Keep
|
||||
val label: String?,
|
||||
@DoNotStrip
|
||||
@Keep
|
||||
@@ -37,6 +40,7 @@ data class Track(
|
||||
if (this === other) return true
|
||||
if (other !is Track) return false
|
||||
return Objects.deepEquals(this.id, other.id)
|
||||
&& Objects.deepEquals(this.index, other.index)
|
||||
&& Objects.deepEquals(this.label, other.label)
|
||||
&& Objects.deepEquals(this.language, other.language)
|
||||
&& Objects.deepEquals(this.selected, other.selected)
|
||||
@@ -45,6 +49,7 @@ data class Track(
|
||||
override fun hashCode(): Int {
|
||||
return arrayOf<Any?>(
|
||||
id,
|
||||
index,
|
||||
label,
|
||||
language,
|
||||
selected
|
||||
@@ -59,8 +64,8 @@ data class Track(
|
||||
@Keep
|
||||
@Suppress("unused")
|
||||
@JvmStatic
|
||||
private fun fromCpp(id: String, label: String?, language: String?, selected: Boolean): Track {
|
||||
return Track(id, label, language, selected)
|
||||
private fun fromCpp(id: String, index: Double, label: String?, language: String?, selected: Boolean): Track {
|
||||
return Track(id, index, label, language, selected)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user