From 6086984dfb5c8c2b3111fd4adb35806a63bfd547 Mon Sep 17 00:00:00 2001 From: Jeonghwan Kim Date: Wed, 5 Apr 2023 21:12:35 +0900 Subject: [PATCH] [Android] Add Endpoint Number in Fragment (#25892) --- .../clusterclient/AddressUpdateFragment.kt | 7 ++- .../clusterclient/BasicClientFragment.kt | 8 ++- .../clusterclient/OnOffClientFragment.kt | 11 +++- .../res/layout/address_update_fragment.xml | 50 +++++++++++-------- 4 files changed, 51 insertions(+), 25 deletions(-) diff --git a/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/clusterclient/AddressUpdateFragment.kt b/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/clusterclient/AddressUpdateFragment.kt index 9e7c021aad039a..5579c04735d83b 100644 --- a/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/clusterclient/AddressUpdateFragment.kt +++ b/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/clusterclient/AddressUpdateFragment.kt @@ -20,7 +20,11 @@ class AddressUpdateFragment: Fragment() { val deviceId: Long get() = binding.deviceIdEd.text.toString().toULong().toLong() - + var endpointId : Int + get() = binding.epIdEd.text.toString().toInt() + set(value) { + binding.epIdEd.setText(value.toString()) + } private var _binding: AddressUpdateFragmentBinding? = null private val binding get() = _binding!! @@ -39,6 +43,7 @@ class AddressUpdateFragment: Fragment() { val compressedFabricId = deviceController.compressedFabricId binding.fabricIdEd.setText(compressedFabricId.toULong().toString(16).padStart(16, '0')) binding.deviceIdEd.setText(DeviceIdUtil.getLastDeviceId(requireContext()).toString()) + binding.epIdEd.setText(endpointId.toString()) } override fun onDestroyView() { diff --git a/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/clusterclient/BasicClientFragment.kt b/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/clusterclient/BasicClientFragment.kt index 792850b7bc3f1a..9e73c5d4e645ea 100644 --- a/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/clusterclient/BasicClientFragment.kt +++ b/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/clusterclient/BasicClientFragment.kt @@ -42,7 +42,6 @@ class BasicClientFragment : Fragment() { addressUpdateFragment = childFragmentManager.findFragmentById(R.id.addressUpdateFragment) as AddressUpdateFragment - binding.writeNodeLabelBtn.setOnClickListener { scope.launch { sendWriteNodeLabelAttribute() binding.nodeLabelEd.onEditorAction(EditorInfo.IME_ACTION_DONE) @@ -480,10 +479,15 @@ class BasicClientFragment : Fragment() { private suspend fun getBasicClusterForDevice(): BasicInformationCluster { return BasicInformationCluster( - ChipClient.getConnectedDevicePointer(requireContext(), addressUpdateFragment.deviceId), ENDPOINT + ChipClient.getConnectedDevicePointer(requireContext(), addressUpdateFragment.deviceId), addressUpdateFragment.endpointId ) } + override fun onResume() { + super.onResume() + addressUpdateFragment.endpointId = ENDPOINT + } + companion object { private const val TAG = "BasicClientFragment" private const val ENDPOINT = 0 diff --git a/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/clusterclient/OnOffClientFragment.kt b/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/clusterclient/OnOffClientFragment.kt index 02188301d2ec40..891d63bf0414bd 100644 --- a/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/clusterclient/OnOffClientFragment.kt +++ b/examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/clusterclient/OnOffClientFragment.kt @@ -166,7 +166,7 @@ class OnOffClientFragment : Fragment() { private suspend fun sendLevelCommandClick() { val cluster = ChipClusters.LevelControlCluster( ChipClient.getConnectedDevicePointer(requireContext(), addressUpdateFragment.deviceId), - LEVEL_CONTROL_CLUSTER_ENDPOINT + addressUpdateFragment.endpointId ) cluster.moveToLevel(object : ChipClusters.DefaultClusterCallback { override fun onSuccess() { @@ -223,8 +223,9 @@ class OnOffClientFragment : Fragment() { private suspend fun getOnOffClusterForDevice(): OnOffCluster { return OnOffCluster( + ChipClient.getConnectedDevicePointer(requireContext(), addressUpdateFragment.deviceId), - ON_OFF_CLUSTER_ENDPOINT + addressUpdateFragment.endpointId ) } @@ -240,6 +241,12 @@ class OnOffClientFragment : Fragment() { } } + override fun onResume() { + super.onResume() + addressUpdateFragment.endpointId = ON_OFF_CLUSTER_ENDPOINT + + } + companion object { private const val TAG = "OnOffClientFragment" diff --git a/examples/android/CHIPTool/app/src/main/res/layout/address_update_fragment.xml b/examples/android/CHIPTool/app/src/main/res/layout/address_update_fragment.xml index 3a401297e326aa..53d85ba9eb5144 100644 --- a/examples/android/CHIPTool/app/src/main/res/layout/address_update_fragment.xml +++ b/examples/android/CHIPTool/app/src/main/res/layout/address_update_fragment.xml @@ -1,35 +1,45 @@ - + android:layout_height="match_parent"> + + + + + android:text ="1" + app:layout_constraintStart_toEndOf="@+id/deviceIdEd" + app:layout_constraintTop_toTopOf="parent" /> + app:constraint_referenced_ids="fabricIdEd,deviceIdEd,epIdEd" /> \ No newline at end of file