mirror of
https://github.com/zoriya/react-native-omni.git
synced 2026-08-16 02:44:51 +00:00
feat(cast): clicking on the notif opens specified path
This commit is contained in:
+7
-3
@@ -34,8 +34,11 @@ namespace margelo::nitro::omni {
|
||||
static const auto clazz = javaClassStatic();
|
||||
static const auto fieldReceiverApplicationId = clazz->getField<jni::JString>("receiverApplicationId");
|
||||
jni::local_ref<jni::JString> receiverApplicationId = this->getFieldValue(fieldReceiverApplicationId);
|
||||
static const auto fieldNotificationUrl = clazz->getField<jni::JString>("notificationUrl");
|
||||
jni::local_ref<jni::JString> notificationUrl = this->getFieldValue(fieldNotificationUrl);
|
||||
return CastOptions(
|
||||
receiverApplicationId != nullptr ? std::make_optional(receiverApplicationId->toStdString()) : std::nullopt
|
||||
receiverApplicationId != nullptr ? std::make_optional(receiverApplicationId->toStdString()) : std::nullopt,
|
||||
notificationUrl != nullptr ? std::make_optional(notificationUrl->toStdString()) : std::nullopt
|
||||
);
|
||||
}
|
||||
|
||||
@@ -45,12 +48,13 @@ namespace margelo::nitro::omni {
|
||||
*/
|
||||
[[maybe_unused]]
|
||||
static jni::local_ref<JCastOptions::javaobject> fromCpp(const CastOptions& value) {
|
||||
using JSignature = JCastOptions(jni::alias_ref<jni::JString>);
|
||||
using JSignature = JCastOptions(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>);
|
||||
static const auto clazz = javaClassStatic();
|
||||
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
||||
return create(
|
||||
clazz,
|
||||
value.receiverApplicationId.has_value() ? jni::make_jstring(value.receiverApplicationId.value()) : nullptr
|
||||
value.receiverApplicationId.has_value() ? jni::make_jstring(value.receiverApplicationId.value()) : nullptr,
|
||||
value.notificationUrl.has_value() ? jni::make_jstring(value.notificationUrl.value()) : nullptr
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -20,7 +20,10 @@ import java.util.Objects
|
||||
data class CastOptions(
|
||||
@DoNotStrip
|
||||
@Keep
|
||||
val receiverApplicationId: String?
|
||||
val receiverApplicationId: String?,
|
||||
@DoNotStrip
|
||||
@Keep
|
||||
val notificationUrl: String?
|
||||
) {
|
||||
/* primary constructor */
|
||||
|
||||
@@ -28,11 +31,13 @@ data class CastOptions(
|
||||
if (this === other) return true
|
||||
if (other !is CastOptions) return false
|
||||
return Objects.deepEquals(this.receiverApplicationId, other.receiverApplicationId)
|
||||
&& Objects.deepEquals(this.notificationUrl, other.notificationUrl)
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
return arrayOf<Any?>(
|
||||
receiverApplicationId
|
||||
receiverApplicationId,
|
||||
notificationUrl
|
||||
).contentDeepHashCode()
|
||||
}
|
||||
|
||||
@@ -44,8 +49,8 @@ data class CastOptions(
|
||||
@Keep
|
||||
@Suppress("unused")
|
||||
@JvmStatic
|
||||
private fun fromCpp(receiverApplicationId: String?): CastOptions {
|
||||
return CastOptions(receiverApplicationId)
|
||||
private fun fromCpp(receiverApplicationId: String?, notificationUrl: String?): CastOptions {
|
||||
return CastOptions(receiverApplicationId, notificationUrl)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user