Skip to content

Commit fb94ff8

Browse files
jeonghwan7pull[bot]
authored andcommitted
[Android] Update Subscribe UI update to clarify options (#24460)
* [Android] Update Subscribe UI update to clarify options * Make Dropbox Menu(Spinner) to clarify select options ('Keep Subscription' and 'is Fabric Filter') * [Android] Handle Crash when interval is empty and modify variable name * Handle Crash when interval * modify variable name
1 parent 29d597f commit fb94ff8

File tree

4 files changed

+54
-16
lines changed

4 files changed

+54
-16
lines changed

examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/clusterclient/WildcardFragment.kt

+15-5
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ import android.view.View
88
import android.view.ViewGroup
99
import android.widget.Button
1010
import android.widget.EditText
11+
import android.widget.Spinner
1112
import androidx.fragment.app.Fragment
1213
import androidx.lifecycle.lifecycleScope
1314
import chip.devicecontroller.ChipDeviceController
1415
import chip.devicecontroller.ChipIdLookup
1516
import chip.devicecontroller.ReportCallback
16-
import chip.devicecontroller.ReportEventCallback
1717
import chip.devicecontroller.ResubscriptionAttemptCallback
1818
import chip.devicecontroller.SubscriptionEstablishedCallback
1919
import chip.devicecontroller.model.ChipAttributePath
@@ -186,7 +186,7 @@ class WildcardFragment : Fragment() {
186186
setView(dialogView)
187187
}.create()
188188

189-
val isFabricFilteredEd = dialogView.findViewById<EditText>(R.id.isFabricFilteredEd)
189+
val isFabricFilteredEd = dialogView.findViewById<EditText>(R.id.isFabricFilteredSp)
190190
dialogView.findViewById<Button>(R.id.readBtn).setOnClickListener {
191191
scope.launch {
192192
read(type, isFabricFilteredEd.text.toString().toBoolean())
@@ -204,11 +204,21 @@ class WildcardFragment : Fragment() {
204204

205205
val minIntervalEd = dialogView.findViewById<EditText>(R.id.minIntervalEd)
206206
val maxIntervalEd = dialogView.findViewById<EditText>(R.id.maxIntervalEd)
207-
val keepSubscriptionsEd = dialogView.findViewById<EditText>(R.id.keepSubscriptionsEd)
208-
val isFabricFilteredEd = dialogView.findViewById<EditText>(R.id.isFabricFilteredEd)
207+
val keepSubscriptionsSp = dialogView.findViewById<Spinner>(R.id.keepSubscriptionsSp)
208+
val isFabricFilteredSp = dialogView.findViewById<Spinner>(R.id.isFabricFilteredSp)
209209
dialogView.findViewById<Button>(R.id.subscribeBtn).setOnClickListener {
210210
scope.launch {
211-
subscribe(type, minIntervalEd.text.toString().toInt(), maxIntervalEd.text.toString().toInt(), keepSubscriptionsEd.text.toString().toBoolean(), isFabricFilteredEd.text.toString().toBoolean())
211+
if(minIntervalEd.text.isNotBlank() && maxIntervalEd.text.isNotBlank()) {
212+
subscribe(
213+
type,
214+
minIntervalEd.text.toString().toInt(),
215+
maxIntervalEd.text.toString().toInt(),
216+
keepSubscriptionsSp.selectedItem.toString().toBoolean(),
217+
isFabricFilteredSp.selectedItem.toString().toBoolean()
218+
)
219+
} else {
220+
Log.e(TAG, "minInterval or maxInterval is empty!" )
221+
}
212222
requireActivity().runOnUiThread { dialog.dismiss() }
213223
}
214224
}

examples/android/CHIPTool/app/src/main/res/layout/read_dialog.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414
app:layout_constraintTop_toTopOf="parent" />
1515

1616
<EditText
17-
android:id="@+id/isFabricFilteredEd"
17+
android:id="@+id/isFabricFilteredSp"
1818
android:layout_width="wrap_content"
1919
android:layout_height="wrap_content"
2020
android:hint="@string/read_dialog_is_fabric_filtered_hint"
2121
android:inputType="text"
2222
android:textSize="16sp"
2323
android:layout_marginBottom="8dp"
2424
app:layout_constraintStart_toStartOf="parent"
25-
app:layout_constraintTop_toBottomOf="@id/isFabricFilteredEd"
25+
app:layout_constraintTop_toBottomOf="@id/isFabricFilteredSp"
2626
app:layout_constraintBottom_toTopOf="@+id/subscribeBtn"/>
2727

2828
<Button

examples/android/CHIPTool/app/src/main/res/layout/subscribe_dialog.xml

+32-8
Original file line numberDiff line numberDiff line change
@@ -34,28 +34,52 @@
3434
android:layout_marginBottom="8dp"
3535
app:layout_constraintStart_toStartOf="parent"
3636
app:layout_constraintTop_toBottomOf="@id/minIntervalEd" />
37-
38-
<EditText
39-
android:id="@+id/keepSubscriptionsEd"
37+
<TextView
38+
android:id="@+id/titleKeepSubscriptions"
39+
android:layout_width="match_parent"
40+
android:layout_height="wrap_content"
41+
android:text="@string/subscribe_dialog_keep_subscriptions_hint"
42+
android:textSize="16sp"
43+
android:layout_marginTop="8dp"
44+
app:layout_constraintStart_toStartOf="parent"
45+
app:layout_constraintTop_toBottomOf="@id/maxIntervalEd"
46+
/>
47+
<Spinner
48+
android:id="@+id/keepSubscriptionsSp"
4049
android:layout_width="wrap_content"
4150
android:layout_height="wrap_content"
4251
android:hint="@string/subscribe_dialog_keep_subscriptions_hint"
52+
android:entries="@array/chip_select_menu"
4353
android:inputType="text"
54+
android:spinnerMode="dropdown"
4455
android:textSize="16sp"
45-
android:layout_marginBottom="8dp"
56+
android:layout_marginTop="8dp"
4657
app:layout_constraintStart_toStartOf="parent"
47-
app:layout_constraintTop_toBottomOf="@id/maxIntervalEd" />
58+
app:layout_constraintTop_toBottomOf="@id/titleKeepSubscriptions" />
4859

49-
<EditText
50-
android:id="@+id/isFabricFilteredEd"
60+
<TextView
61+
android:id="@+id/titleIsFabricFilter"
62+
android:layout_width="match_parent"
63+
android:layout_height="wrap_content"
64+
android:text="@string/subscribe_dialog_is_fabric_filtered_hint"
65+
android:textSize="16sp"
66+
android:layout_marginTop="8dp"
67+
app:layout_constraintStart_toStartOf="parent"
68+
app:layout_constraintTop_toBottomOf="@id/keepSubscriptionsSp"
69+
/>
70+
71+
<Spinner
72+
android:id="@+id/isFabricFilteredSp"
5173
android:layout_width="wrap_content"
5274
android:layout_height="wrap_content"
5375
android:hint="@string/subscribe_dialog_is_fabric_filtered_hint"
5476
android:inputType="text"
77+
android:entries="@array/chip_select_menu"
78+
android:spinnerMode="dropdown"
5579
android:textSize="16sp"
5680
android:layout_marginBottom="8dp"
5781
app:layout_constraintStart_toStartOf="parent"
58-
app:layout_constraintTop_toBottomOf="@id/keepSubscriptionsEd"
82+
app:layout_constraintTop_toBottomOf="@id/titleIsFabricFilter"
5983
app:layout_constraintBottom_toTopOf="@+id/subscribeBtn"/>
6084

6185
<Button
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
<?xml version="1.0" encoding="utf-8"?>
12
<resources>
2-
3+
<string-array name="chip_select_menu">
4+
<item>false</item>
5+
<item>true</item>
6+
</string-array>
37
</resources>

0 commit comments

Comments
 (0)