@@ -217,22 +217,27 @@ void AndroidLogDownloadFromNode::FinishLogDownloadFromNode(CHIP_ERROR err)
217
217
// Java method signature : boolean onSuccess(int fabricIndex, long nodeId)
218
218
jniErr = JniReferences::GetInstance ().FindMethod (env, mJavaCallback .ObjectRef (), " onSuccess" , " (IJ)V" , &onSuccessMethod);
219
219
220
- VerifyOrReturn (jniErr == CHIP_NO_ERROR, ChipLogError (Controller, " Could not find onSuccess method" ));
220
+ VerifyOrExit (jniErr == CHIP_NO_ERROR, ChipLogError (Controller, " Could not find onSuccess method" ));
221
221
222
222
env->CallVoidMethod (mJavaCallback .ObjectRef (), onSuccessMethod, static_cast <jint>(mController ->GetFabricIndex ()),
223
223
static_cast <jlong>(mRemoteNodeId ));
224
- return ;
225
224
}
225
+ else
226
+ {
227
+ ChipLogError (Controller, " Log Download Failed : %" CHIP_ERROR_FORMAT, err.Format ());
226
228
227
- ChipLogError (Controller, " Log Download Failed : %" CHIP_ERROR_FORMAT, err.Format ());
229
+ jmethodID onErrorMethod;
230
+ // Java method signature : void onError(int fabricIndex, long nodeId, long errorCode)
231
+ jniErr = JniReferences::GetInstance ().FindMethod (env, mJavaCallback .ObjectRef (), " onError" , " (IJJ)V" , &onErrorMethod);
232
+ VerifyOrExit (jniErr == CHIP_NO_ERROR, ChipLogError (Controller, " Could not find onError method" ));
228
233
229
- jmethodID onErrorMethod;
230
- // Java method signature : void onError(int fabricIndex, long nodeId, long errorCode)
231
- jniErr = JniReferences::GetInstance ().FindMethod (env, mJavaCallback .ObjectRef (), " onError" , " (IJJ)V" , &onErrorMethod);
232
- VerifyOrReturn (jniErr == CHIP_NO_ERROR, ChipLogError (Controller, " Could not find onError method" ));
234
+ env->CallVoidMethod (mJavaCallback .ObjectRef (), onErrorMethod, static_cast <jint>(mController ->GetFabricIndex ()),
235
+ static_cast <jlong>(mRemoteNodeId ), static_cast <jlong>(err.AsInteger ()));
236
+ }
233
237
234
- env->CallVoidMethod (mJavaCallback .ObjectRef (), onErrorMethod, static_cast <jint>(mController ->GetFabricIndex ()),
235
- static_cast <jlong>(mRemoteNodeId ), static_cast <jlong>(err.AsInteger ()));
238
+ exit :
239
+ // Finish this function, this object will be deleted.
240
+ delete this ;
236
241
}
237
242
238
243
void AndroidLogDownloadFromNode::OnBdxTransferCallback (void * context, FabricIndex fabricIndex, NodeId remoteNodeId,
0 commit comments