Update OpenNetworkSelect UI at main thread
Bug: 270652395
Test: local test and atest AutoSelectPreferenceControllerTest
Change-Id: Idfc7a07106d552c35a94414bb14eac0fbdc3974f
diff --git a/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java b/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java
index f46a452..c0b903d 100644
--- a/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java
+++ b/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java
@@ -211,6 +211,7 @@
mSwitchPreference.setChecked(isChecked());
}
mRecursiveUpdate.decrementAndGet();
+ updateListenerValue();
dismissProgressBar();
});
});
@@ -245,13 +246,13 @@
ThreadUtils.postOnBackgroundThread(() -> {
queryNetworkSelectionMode(INTERNAL_LOG_TAG_INIT);
-
//Update UI in UI thread
mUiHandler.post(() -> {
if (mSwitchPreference != null) {
mRecursiveUpdate.getAndIncrement();
mSwitchPreference.setChecked(isChecked());
mRecursiveUpdate.decrementAndGet();
+ updateListenerValue();
}
});
});
@@ -267,7 +268,6 @@
private void queryNetworkSelectionMode(String tag) {
mCacheOfModeStatus = mTelephonyManager.getNetworkSelectionMode();
Log.d(LOG_TAG, tag + ": query commend done. mCacheOfModeStatus: " + mCacheOfModeStatus);
- updateListenerValue();
}
@VisibleForTesting
@@ -284,12 +284,11 @@
}
mCacheOfModeStatus = networkSelectionMode;
Log.d(LOG_TAG, "updateUiAutoSelectValue: mCacheOfModeStatus: " + mCacheOfModeStatus);
- updateListenerValue();
mRecursiveUpdate.getAndIncrement();
updateState(mSwitchPreference);
mRecursiveUpdate.decrementAndGet();
-
+ updateListenerValue();
}
}