Skip to content

Commit

Permalink
Apply new callback of AppDelegate
Browse files Browse the repository at this point in the history
Signed-off-by: Jaehoon You <jaehoon.you@samsung.com>
Signed-off-by: Charles Kim <chulspro.kim@samsung.com>
  • Loading branch information
Jaehoon-You authored and chulspro committed Jul 27, 2023
1 parent 1dbd7b0 commit a848b9d
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,12 @@ class MatterApp @Inject constructor() {
Timber.d("onCommissioningSessionStarted()")
}

override fun onCommissioningSessionStopped(errorCode: Int) {
Timber.d("onCommissioningSessionStopped():$errorCode")
override fun onCommissioningSessionEstablishmentError(errorCode: Int) {
Timber.d("onCommissioningSessionEstablishmentError():$errorCode")
}

override fun onCommissioningSessionStopped() {
Timber.d("onCommissioningSessionStopped()")
}

override fun onCommissioningWindowOpened() {
Expand Down
30 changes: 26 additions & 4 deletions src/app/server/java/ChipAppServerDelegate.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ void ChipAppServerDelegate::OnCommissioningSessionEstablishmentStarted()
env->CallVoidMethod(mChipAppServerDelegateObject, mOnCommissioningSessionEstablishmentStartedMethod);
if (env->ExceptionCheck())
{
ChipLogError(AppServer, "Java exception in OnCommissioningSessionStartedMethod");
ChipLogError(AppServer, "Java exception in OnCommissioningSessionEstablishmentStartedMethod");
env->ExceptionDescribe();
env->ExceptionClear();
}
Expand All @@ -55,15 +55,33 @@ void ChipAppServerDelegate::OnCommissioningSessionStarted()
}
}

void ChipAppServerDelegate::OnCommissioningSessionStopped(CHIP_ERROR err)
void ChipAppServerDelegate::OnCommissioningSessionEstablishmentError(CHIP_ERROR err)
{
JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread();
VerifyOrReturn(env != nullptr, ChipLogError(AppServer, "JNIEnv is nullptr"));
VerifyOrReturn(mOnCommissioningSessionEstablishmentErrorMethod != nullptr,
ChipLogError(AppServer, "mOnCommissioningSessionEstablishmentErrorMethod is nullptr"));

env->ExceptionClear();
env->CallVoidMethod(mChipAppServerDelegateObject, mOnCommissioningSessionEstablishmentErrorMethod,
static_cast<jint>(err.AsInteger()));
if (env->ExceptionCheck())
{
ChipLogError(AppServer, "Java exception in OnCommissioningSessionEstablishmentErrorMethod");
env->ExceptionDescribe();
env->ExceptionClear();
}
}

void ChipAppServerDelegate::OnCommissioningSessionStopped()
{
JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread();
VerifyOrReturn(env != nullptr, ChipLogError(AppServer, "JNIEnv is nullptr"));
VerifyOrReturn(mOnCommissioningSessionStoppedMethod != nullptr,
ChipLogError(AppServer, "mOnCommissioningSessionStoppedMethod is nullptr"));

env->ExceptionClear();
env->CallVoidMethod(mChipAppServerDelegateObject, mOnCommissioningSessionStoppedMethod, static_cast<jint>(err.AsInteger()));
env->CallVoidMethod(mChipAppServerDelegateObject, mOnCommissioningSessionStoppedMethod);
if (env->ExceptionCheck())
{
ChipLogError(AppServer, "Java exception in OnCommissioningSessionStoppedMethod");
Expand Down Expand Up @@ -124,7 +142,11 @@ CHIP_ERROR ChipAppServerDelegate::InitializeWithObjects(jobject appDelegateObjec
mOnCommissioningSessionStartedMethod = env->GetMethodID(chipAppServerDelegateClass, "onCommissioningSessionStarted", "()V");
VerifyOrReturnLogError(mOnCommissioningSessionStartedMethod != nullptr, CHIP_JNI_ERROR_METHOD_NOT_FOUND);

mOnCommissioningSessionStoppedMethod = env->GetMethodID(chipAppServerDelegateClass, "onCommissioningSessionStopped", "(I)V");
mOnCommissioningSessionEstablishmentErrorMethod =
env->GetMethodID(chipAppServerDelegateClass, "onCommissioningSessionEstablishmentError", "(I)V");
VerifyOrReturnLogError(mOnCommissioningSessionEstablishmentErrorMethod != nullptr, CHIP_JNI_ERROR_METHOD_NOT_FOUND);

mOnCommissioningSessionStoppedMethod = env->GetMethodID(chipAppServerDelegateClass, "onCommissioningSessionStopped", "()V");
VerifyOrReturnLogError(mOnCommissioningSessionStoppedMethod != nullptr, CHIP_JNI_ERROR_METHOD_NOT_FOUND);

mOnCommissioningWindowOpenedMethod = env->GetMethodID(chipAppServerDelegateClass, "onCommissioningWindowOpened", "()V");
Expand Down
4 changes: 3 additions & 1 deletion src/app/server/java/ChipAppServerDelegate.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ class ChipAppServerDelegate : public AppDelegate
public:
void OnCommissioningSessionEstablishmentStarted() override;
void OnCommissioningSessionStarted() override;
void OnCommissioningSessionStopped(CHIP_ERROR err) override;
void OnCommissioningSessionEstablishmentError(CHIP_ERROR err) override;
void OnCommissioningSessionStopped() override;
void OnCommissioningWindowOpened() override;
void OnCommissioningWindowClosed() override;

Expand All @@ -36,6 +37,7 @@ class ChipAppServerDelegate : public AppDelegate
jobject mChipAppServerDelegateObject = nullptr;
jmethodID mOnCommissioningSessionEstablishmentStartedMethod = nullptr;
jmethodID mOnCommissioningSessionStartedMethod = nullptr;
jmethodID mOnCommissioningSessionEstablishmentErrorMethod = nullptr;
jmethodID mOnCommissioningSessionStoppedMethod = nullptr;
jmethodID mOnCommissioningWindowOpenedMethod = nullptr;
jmethodID mOnCommissioningWindowClosedMethod = nullptr;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@ public interface ChipAppServerDelegate {

void onCommissioningSessionStarted();

void onCommissioningSessionStopped(int errorCode);
void onCommissioningSessionEstablishmentError(int errorCode);

void onCommissioningSessionStopped();

void onCommissioningWindowOpened();

Expand Down

0 comments on commit a848b9d

Please sign in to comment.