@@ -221,18 +221,22 @@ void AndroidLogDownloadFromNode::FinishLogDownloadFromNode(CHIP_ERROR err)
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
+ VerifyOrReturn (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
+ // Finish this function, this object will be deleted.
239
+ delete this ;
236
240
}
237
241
238
242
void AndroidLogDownloadFromNode::OnBdxTransferCallback (void * context, FabricIndex fabricIndex, NodeId remoteNodeId,
0 commit comments