Fix error for taking actions of notis when entering port forward setting
Bug: 385259292
Bug: 385105455
Test: Run VmTerminalApp
Change-Id: I3613c252fb436c2f5883ec1bfcdafbe091990cf9
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/PortsStateManager.kt b/android/TerminalApp/java/com/android/virtualization/terminal/PortsStateManager.kt
index 7e53cce..317ca8e 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/PortsStateManager.kt
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/PortsStateManager.kt
@@ -55,12 +55,12 @@
}
fun updateActivePorts(ports: Set<Int>) {
+ val oldPorts = getActivePorts()
synchronized(lock) {
- val oldPorts = getActivePorts()
activePorts.clear()
activePorts.addAll(ports)
- notifyPortsStateUpdated(oldPorts, getActivePorts())
}
+ notifyPortsStateUpdated(oldPorts, getActivePorts())
}
fun updateEnabledPort(port: Int, enabled: Boolean) {
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsPortForwardingActiveAdapter.kt b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsPortForwardingActiveAdapter.kt
index c46effa..1bfa390 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsPortForwardingActiveAdapter.kt
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsPortForwardingActiveAdapter.kt
@@ -50,6 +50,7 @@
val port = mItems[position].port
viewHolder.port.text = port.toString()
viewHolder.enabledSwitch.contentDescription = viewHolder.port.text
+ viewHolder.enabledSwitch.setOnCheckedChangeListener(null)
viewHolder.enabledSwitch.isChecked = mItems[position].enabled
viewHolder.enabledSwitch.setOnCheckedChangeListener { _, isChecked ->
mPortsStateManager.updateEnabledPort(port, isChecked)
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsPortForwardingActivity.kt b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsPortForwardingActivity.kt
index 27d6ce7..b4ca77b 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/SettingsPortForwardingActivity.kt
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/SettingsPortForwardingActivity.kt
@@ -140,8 +140,10 @@
}
private fun refreshAdapters() {
- mActivePortsAdapter.refreshItems()
- mInactivePortsAdapter.refreshItems()
+ runOnUiThread {
+ mActivePortsAdapter.refreshItems()
+ mInactivePortsAdapter.refreshItems()
+ }
}
override fun onResume() {