Add AndroidNfcCommissioningManager() to AndroidChipPlatform constructor. (#39683)
* Add AndroidNfcCommissioningManager() to AndroidChipPlatform constructor.
* Update examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/ChipClient.kt
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Restyled by google-java-format
* Kotlin formating.
Change-Id: I3b3287d0e77cdade217fa8d1be85787c03179f07
* Update src/platform/android/java/chip/platform/AndroidChipPlatform.java
Co-authored-by: Terence Hampson <thampson@google.com>
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Restyled.io <commits@restyled.io>
Co-authored-by: Terence Hampson <thampson@google.com>
diff --git a/examples/android/CHIPTest/app/src/main/java/com/tcl/chip/chiptest/MainActivity.kt b/examples/android/CHIPTest/app/src/main/java/com/tcl/chip/chiptest/MainActivity.kt
index c29cee7..c9f664a 100644
--- a/examples/android/CHIPTest/app/src/main/java/com/tcl/chip/chiptest/MainActivity.kt
+++ b/examples/android/CHIPTest/app/src/main/java/com/tcl/chip/chiptest/MainActivity.kt
@@ -57,6 +57,7 @@
AndroidChipPlatform(
AndroidBleManager(),
+ AndroidNfcCommissioningManager(),
PreferencesKeyValueStoreManager(this),
PreferencesConfigurationManager(this),
NsdManagerServiceResolver(this),
diff --git a/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/ChipClient.kt b/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/ChipClient.kt
index de8e598..0428ca3 100644
--- a/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/ChipClient.kt
+++ b/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/ChipClient.kt
@@ -26,6 +26,7 @@
import chip.devicecontroller.ICDClientInfo
import chip.platform.AndroidBleManager
import chip.platform.AndroidChipPlatform
+import chip.platform.AndroidNfcCommissioningManager
import chip.platform.ChipMdnsCallbackImpl
import chip.platform.DiagnosticDataProviderImpl
import chip.platform.NsdManagerServiceBrowser
@@ -45,6 +46,8 @@
private lateinit var androidPlatform: AndroidChipPlatform
/* 0xFFF4 is a test vendor ID, replace with your assigned company ID */
const val VENDOR_ID = 0xFFF4
+ private var androidNfcCommissioningManager: AndroidNfcCommissioningManager =
+ AndroidNfcCommissioningManager()
private var icdCheckInCallback: ICDCheckInCallback? = null
@@ -95,6 +98,7 @@
androidPlatform =
AndroidChipPlatform(
AndroidBleManager(context),
+ androidNfcCommissioningManager,
PreferencesKeyValueStoreManager(context),
PreferencesConfigurationManager(context),
NsdManagerServiceResolver(
diff --git a/examples/tv-app/android/App/platform-app/src/main/java/com/matter/tv/server/service/MatterServant.java b/examples/tv-app/android/App/platform-app/src/main/java/com/matter/tv/server/service/MatterServant.java
index 683fb22..887d423 100644
--- a/examples/tv-app/android/App/platform-app/src/main/java/com/matter/tv/server/service/MatterServant.java
+++ b/examples/tv-app/android/App/platform-app/src/main/java/com/matter/tv/server/service/MatterServant.java
@@ -23,6 +23,7 @@
import chip.appserver.ChipAppServer;
import chip.platform.AndroidBleManager;
import chip.platform.AndroidChipPlatform;
+import chip.platform.AndroidNfcCommissioningManager;
import chip.platform.ChipMdnsCallbackImpl;
import chip.platform.DiagnosticDataProviderImpl;
import chip.platform.NsdManagerServiceBrowser;
@@ -130,6 +131,7 @@
AndroidChipPlatform chipPlatform =
new AndroidChipPlatform(
new AndroidBleManager(),
+ new AndroidNfcCommissioningManager(),
new PreferencesKeyValueStoreManager(applicationContext),
new PreferencesConfigurationManager(applicationContext),
new NsdManagerServiceResolver(applicationContext),
diff --git a/examples/tv-casting-app/android/App/app/src/main/jni/com/matter/casting/core/CastingApp.java b/examples/tv-casting-app/android/App/app/src/main/jni/com/matter/casting/core/CastingApp.java
index c860a9b..74080ce 100644
--- a/examples/tv-casting-app/android/App/app/src/main/jni/com/matter/casting/core/CastingApp.java
+++ b/examples/tv-casting-app/android/App/app/src/main/jni/com/matter/casting/core/CastingApp.java
@@ -22,6 +22,7 @@
import chip.appserver.ChipAppServer;
import chip.platform.AndroidBleManager;
import chip.platform.AndroidChipPlatform;
+import chip.platform.AndroidNfcCommissioningManager;
import chip.platform.ChipMdnsCallbackImpl;
import chip.platform.DiagnosticDataProviderImpl;
import chip.platform.NsdManagerServiceBrowser;
@@ -76,6 +77,7 @@
chipPlatform =
new AndroidChipPlatform(
new AndroidBleManager(),
+ new AndroidNfcCommissioningManager(),
new PreferencesKeyValueStoreManager(appParameters.getApplicationContext()),
appParameters.getConfigurationManagerProvider().get(),
new NsdManagerServiceResolver(
diff --git a/examples/virtual-device-app/android/App/core/matter/src/main/java/com/matter/virtual/device/app/core/matter/MatterApp.kt b/examples/virtual-device-app/android/App/core/matter/src/main/java/com/matter/virtual/device/app/core/matter/MatterApp.kt
index 6c8088a..ee5eb89 100644
--- a/examples/virtual-device-app/android/App/core/matter/src/main/java/com/matter/virtual/device/app/core/matter/MatterApp.kt
+++ b/examples/virtual-device-app/android/App/core/matter/src/main/java/com/matter/virtual/device/app/core/matter/MatterApp.kt
@@ -82,6 +82,7 @@
androidChipPlatform =
AndroidChipPlatform(
AndroidBleManager(),
+ AndroidNfcCommissioningManager(),
PreferencesKeyValueStoreManager(context),
MatterPreferencesConfigurationManager(
context,
diff --git a/src/platform/android/java/chip/platform/AndroidChipPlatform.java b/src/platform/android/java/chip/platform/AndroidChipPlatform.java
index 060a888..bb60c5e 100644
--- a/src/platform/android/java/chip/platform/AndroidChipPlatform.java
+++ b/src/platform/android/java/chip/platform/AndroidChipPlatform.java
@@ -19,9 +19,11 @@
public final class AndroidChipPlatform {
private BleManager mBleManager = null;
+ private NfcCommissioningManager mNfcCommissioningManager = null;
public AndroidChipPlatform(
BleManager ble,
+ NfcCommissioningManager nfc,
KeyValueStoreManager kvm,
ConfigurationManager cfg,
ServiceResolver resolver,
@@ -31,6 +33,9 @@
// Order is important here: initChipStack() initializes the BLEManagerImpl, which depends on the
// BLEManager being set.
setBLEManager(ble);
+ // Order is important here: initChipStack() initializes the NFCCommissioningManagerImpl, which
+ // depends on the NFCCommissioningManager being set.
+ setNFCCommissioningManager(nfc);
setKeyValueStoreManager(kvm);
setConfigurationManager(cfg);
setDnssdDelegates(resolver, browser, chipMdnsCallback);
@@ -38,6 +43,19 @@
initChipStack();
}
+ // for NFCCommissioningManager
+ public NfcCommissioningManager getNFCCommissioningManager() {
+ return mNfcCommissioningManager;
+ }
+
+ private void setNFCCommissioningManager(NfcCommissioningManager manager) {
+ if (manager != null) {
+ mNfcCommissioningManager = manager;
+ manager.setAndroidChipPlatform(this);
+ nativeSetNFCCommissioningManager(manager);
+ }
+ }
+
public native void onNfcTagResponse(byte[] response);
public native void onNfcTagError();