@@ -1897,9 +1897,19 @@ JNI_METHOD(jobject, getDiscoveredDevice)(JNIEnv * env, jobject self, jlong handl
1897
1897
jclass discoveredDeviceCls = env->FindClass (" chip/devicecontroller/DiscoveredDevice" );
1898
1898
jmethodID constructor = env->GetMethodID (discoveredDeviceCls, " <init>" , " ()V" );
1899
1899
1900
- jfieldID discrminatorID = env->GetFieldID (discoveredDeviceCls, " discriminator" , " J" );
1901
- jfieldID ipAddressID = env->GetFieldID (discoveredDeviceCls, " ipAddress" , " Ljava/lang/String;" );
1902
- jfieldID portID = env->GetFieldID (discoveredDeviceCls, " port" , " I" );
1900
+ jfieldID discrminatorID = env->GetFieldID (discoveredDeviceCls, " discriminator" , " J" );
1901
+ jfieldID ipAddressID = env->GetFieldID (discoveredDeviceCls, " ipAddress" , " Ljava/lang/String;" );
1902
+ jfieldID portID = env->GetFieldID (discoveredDeviceCls, " port" , " I" );
1903
+ jfieldID deviceTypeID = env->GetFieldID (discoveredDeviceCls, " deviceType" , " J" );
1904
+ jfieldID vendorIdID = env->GetFieldID (discoveredDeviceCls, " vendorId" , " I" );
1905
+ jfieldID productIdID = env->GetFieldID (discoveredDeviceCls, " productId" , " I" );
1906
+ jfieldID rotatingIdID = env->GetFieldID (discoveredDeviceCls, " rotatingId" , " [B" );
1907
+ jfieldID instanceNameID = env->GetFieldID (discoveredDeviceCls, " instanceName" , " Ljava/lang/String;" );
1908
+ jfieldID deviceNameID = env->GetFieldID (discoveredDeviceCls, " deviceName" , " Ljava/lang/String;" );
1909
+ jfieldID pairingInstructionID = env->GetFieldID (discoveredDeviceCls, " pairingInstruction" , " Ljava/lang/String;" );
1910
+
1911
+ jmethodID setCommissioningModeID = env->GetMethodID (discoveredDeviceCls, " setCommissioningMode" , " (I)V" );
1912
+ jmethodID setPairingHintID = env->GetMethodID (discoveredDeviceCls, " setPairingHint" , " (I)V" );
1903
1913
1904
1914
jobject discoveredObj = env->NewObject (discoveredDeviceCls, constructor);
1905
1915
@@ -1911,6 +1921,26 @@ JNI_METHOD(jobject, getDiscoveredDevice)(JNIEnv * env, jobject self, jlong handl
1911
1921
1912
1922
env->SetObjectField (discoveredObj, ipAddressID, jniipAdress);
1913
1923
env->SetIntField (discoveredObj, portID, static_cast <jint>(data->resolutionData .port ));
1924
+ env->SetLongField (discoveredObj, deviceTypeID, static_cast <jlong>(data->commissionData .deviceType ));
1925
+ env->SetIntField (discoveredObj, vendorIdID, static_cast <jint>(data->commissionData .vendorId ));
1926
+ env->SetIntField (discoveredObj, productIdID, static_cast <jint>(data->commissionData .productId ));
1927
+
1928
+ jbyteArray jRotatingId;
1929
+ CHIP_ERROR err = JniReferences::GetInstance ().N2J_ByteArray (
1930
+ env, data->commissionData .rotatingId , static_cast <jsize>(data->commissionData .rotatingIdLen ), jRotatingId);
1931
+
1932
+ if (err != CHIP_NO_ERROR)
1933
+ {
1934
+ ChipLogError (Controller, " jRotatingId N2J_ByteArray error : %" CHIP_ERROR_FORMAT, err.Format ());
1935
+ return nullptr ;
1936
+ }
1937
+ env->SetObjectField (discoveredObj, rotatingIdID, static_cast <jobject>(jRotatingId));
1938
+ env->SetObjectField (discoveredObj, instanceNameID, env->NewStringUTF (data->commissionData .instanceName ));
1939
+ env->SetObjectField (discoveredObj, deviceNameID, env->NewStringUTF (data->commissionData .deviceName ));
1940
+ env->SetObjectField (discoveredObj, pairingInstructionID, env->NewStringUTF (data->commissionData .pairingInstruction ));
1941
+
1942
+ env->CallVoidMethod (discoveredObj, setCommissioningModeID, static_cast <jint>(data->commissionData .commissioningMode ));
1943
+ env->CallVoidMethod (discoveredObj, setPairingHintID, static_cast <jint>(data->commissionData .pairingHint ));
1914
1944
1915
1945
return discoveredObj;
1916
1946
}
0 commit comments