Skip to content

Commit da34ea3

Browse files
joonhaengHeorestyled-commits
authored andcommitted
[Android] Fix Crash when Jni FindMethod (#20096)
* Fix Android Crash * Restyled by clang-format Co-authored-by: Restyled.io <[email protected]>
1 parent 8226d14 commit da34ea3

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

src/controller/java/CHIPDeviceController-JNI.cpp

+12-10
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,6 @@ pthread_t sIOThread = PTHREAD_NULL;
8787

8888
jclass sChipDeviceControllerExceptionCls = NULL;
8989

90-
const char * PARAMS_CLASS = "()Lchip/devicecontroller/ControllerParams;";
91-
9290
} // namespace
9391

9492
// NOTE: Remote device ID is in sync with the echo server device id
@@ -166,27 +164,31 @@ JNI_METHOD(jlong, newDeviceController)(JNIEnv * env, jobject self, jobject contr
166164

167165
// Retrieve initialization params.
168166
jmethodID getUdpListenPort;
169-
err = chip::JniReferences::GetInstance().FindMethod(env, controllerParams, "getUdpListenPort", PARAMS_CLASS, &getUdpListenPort);
167+
err = chip::JniReferences::GetInstance().FindMethod(env, controllerParams, "getUdpListenPort", "()I", &getUdpListenPort);
170168
SuccessOrExit(err);
171169

172170
jmethodID getKeypairDelegate;
173-
err = chip::JniReferences::GetInstance().FindMethod(env, controllerParams, "getKeypairDelegate", PARAMS_CLASS,
174-
&getKeypairDelegate);
171+
err = chip::JniReferences::GetInstance().FindMethod(env, controllerParams, "getKeypairDelegate",
172+
"()Lchip/devicecontroller/KeypairDelegate;", &getKeypairDelegate);
173+
SuccessOrExit(err);
175174

176175
jmethodID getRootCertificate;
177-
err = chip::JniReferences::GetInstance().FindMethod(env, controllerParams, "getRootCertificate", PARAMS_CLASS,
178-
&getRootCertificate);
176+
err = chip::JniReferences::GetInstance().FindMethod(env, controllerParams, "getRootCertificate", "()[B", &getRootCertificate);
177+
SuccessOrExit(err);
179178

180179
jmethodID getIntermediateCertificate;
181-
err = chip::JniReferences::GetInstance().FindMethod(env, controllerParams, "getIntermediateCertificate", PARAMS_CLASS,
180+
err = chip::JniReferences::GetInstance().FindMethod(env, controllerParams, "getIntermediateCertificate", "()[B",
182181
&getIntermediateCertificate);
182+
SuccessOrExit(err);
183183

184184
jmethodID getOperationalCertificate;
185-
err = chip::JniReferences::GetInstance().FindMethod(env, controllerParams, "getOperationalCertificate", PARAMS_CLASS,
185+
err = chip::JniReferences::GetInstance().FindMethod(env, controllerParams, "getOperationalCertificate", "()[B",
186186
&getOperationalCertificate);
187+
SuccessOrExit(err);
187188

188189
jmethodID getIpk;
189-
err = chip::JniReferences::GetInstance().FindMethod(env, controllerParams, "getIpk", PARAMS_CLASS, &getIpk);
190+
err = chip::JniReferences::GetInstance().FindMethod(env, controllerParams, "getIpk", "()[B", &getIpk);
191+
SuccessOrExit(err);
190192

191193
{
192194
uint16_t listenPort = env->CallIntMethod(controllerParams, getUdpListenPort);

0 commit comments

Comments
 (0)