Fix UI flashing after changing network mode
DashboardFragment will dynamically control every preference's visibility according to preference's availability status, but EID and IMEI preference controllers have incorrect visibility control logic when these two preferences are inavailable, which leads to confliction with DashboardFragment's visibility control logic.
Remove EID and IMEI preferences's visibility settings from their controllers.
Bug: 335369817
Test: the author has tested.
Flag: EXEMPT bugfix
Change-Id: I572f9de07ff3fb8b39294d4b54b04a40a26a78ab
diff --git a/src/com/android/settings/network/telephony/MobileNetworkEidPreferenceController.kt b/src/com/android/settings/network/telephony/MobileNetworkEidPreferenceController.kt
index 1e635a5..621465e 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkEidPreferenceController.kt
+++ b/src/com/android/settings/network/telephony/MobileNetworkEidPreferenceController.kt
@@ -91,7 +91,6 @@
)
return
}
- preference.isVisible = false
val viewModel by lazyViewModel
coroutineScope = viewLifecycleOwner.lifecycleScope
@@ -127,7 +126,6 @@
preference.title = title
preference.dialogTitle = title
preference.summary = eid
- preference.isVisible = eid.isNotEmpty()
}
override fun handlePreferenceTreeClick(preference: Preference): Boolean {
diff --git a/src/com/android/settings/network/telephony/MobileNetworkImeiPreferenceController.kt b/src/com/android/settings/network/telephony/MobileNetworkImeiPreferenceController.kt
index a6fb7ba..6b3f903 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkImeiPreferenceController.kt
+++ b/src/com/android/settings/network/telephony/MobileNetworkImeiPreferenceController.kt
@@ -113,7 +113,6 @@
private fun refreshUi(){
preference.title = title
preference.summary = imei
- preference.isVisible = true
}
override fun handlePreferenceTreeClick(preference: Preference): Boolean {