From 3e40014876626b2318e293bf6a5d187879606771 Mon Sep 17 00:00:00 2001 From: Sharad Binjola <31142146+sharadb-amazon@users.noreply.github.com> Date: Fri, 20 May 2022 07:22:53 -0700 Subject: [PATCH] Android/tv-casting-app: Fixing commissioning and command delivery (#18636) * Android/tv-casting-app: Fixing commissioning and command delivery * Moved app server init to to later in main --- .../App/app/src/main/jni/cpp/TvCastingApp-JNI.cpp | 12 ++++++------ examples/tv-casting-app/linux/main.cpp | 5 +++++ .../tv-casting-common/src/CastingServer.cpp | 5 ----- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/examples/tv-casting-app/android/App/app/src/main/jni/cpp/TvCastingApp-JNI.cpp b/examples/tv-casting-app/android/App/app/src/main/jni/cpp/TvCastingApp-JNI.cpp index c9b3447506beec..bbbb967f25afcd 100644 --- a/examples/tv-casting-app/android/App/app/src/main/jni/cpp/TvCastingApp-JNI.cpp +++ b/examples/tv-casting-app/android/App/app/src/main/jni/cpp/TvCastingApp-JNI.cpp @@ -99,6 +99,8 @@ JNI_METHOD(void, setDACProvider)(JNIEnv *, jobject, jobject provider) JNI_METHOD(jboolean, openBasicCommissioningWindow)(JNIEnv *, jobject, jint duration) { + chip::DeviceLayer::StackLock lock; + ChipLogProgress(AppServer, "JNI_METHOD openBasicCommissioningWindow called with duration %d", duration); CHIP_ERROR err = CastingServer::GetInstance()->OpenBasicCommissioningWindow(); @@ -151,16 +153,14 @@ JNI_METHOD(jboolean, initServer)(JNIEnv * env, jobject, jobject jCommissioningCo { ChipLogProgress(AppServer, "JNI_METHOD initServer called"); CHIP_ERROR err = SetUpMatterCallbackHandler(env, jCommissioningCompleteHandler, gCommissioningCompleteHandler); - if (err == CHIP_NO_ERROR) - { - CastingServer::GetInstance()->InitServer(CommissioningCompleteHandler); - return true; - } - else + if (err != CHIP_NO_ERROR) { ChipLogError(AppServer, "initServer error: %s", err.AsString()); return false; } + + CastingServer::GetInstance()->InitServer(CommissioningCompleteHandler); + return true; } JNI_METHOD(void, contentLauncherLaunchURL)(JNIEnv * env, jobject, jstring contentUrl, jstring contentDisplayStr) diff --git a/examples/tv-casting-app/linux/main.cpp b/examples/tv-casting-app/linux/main.cpp index 5ff06d815aeef0..4ef4c23eae98d2 100644 --- a/examples/tv-casting-app/linux/main.cpp +++ b/examples/tv-casting-app/linux/main.cpp @@ -135,6 +135,11 @@ int main(int argc, char * argv[]) SetDeviceAttestationVerifier(GetDefaultDACVerifier(testingRootStore)); } + // Enter commissioning mode, open commissioning window + static chip::CommonCaseDeviceServerInitParams initParams; + (void) initParams.InitializeStaticResourcesBeforeServerInit(); + VerifyOrDie(CHIP_NO_ERROR == chip::Server::GetInstance().Init(initParams)); + // Send discover commissioners request SuccessOrExit(err = CastingServer::GetInstance()->DiscoverCommissioners()); diff --git a/examples/tv-casting-app/tv-casting-common/src/CastingServer.cpp b/examples/tv-casting-app/tv-casting-common/src/CastingServer.cpp index 0b0870517c4df9..275812c2db06b5 100644 --- a/examples/tv-casting-app/tv-casting-common/src/CastingServer.cpp +++ b/examples/tv-casting-app/tv-casting-common/src/CastingServer.cpp @@ -58,11 +58,6 @@ void CastingServer::InitServer(std::function commissioningComplete mCommissioningCompleteCallback = commissioningCompleteCallback; - // Enter commissioning mode, open commissioning window - static chip::CommonCaseDeviceServerInitParams initParams; - (void) initParams.InitializeStaticResourcesBeforeServerInit(); - chip::Server::GetInstance().Init(initParams); - // Initialize binding handlers ReturnOnFailure(InitBindingHandlers());