Update OpenNetworkSelect UI at main thread

Bug: 270652395
Test: local test and atest AutoSelectPreferenceControllerTest
Change-Id: Idfc7a07106d552c35a94414bb14eac0fbdc3974f
This commit is contained in:
SongFerngWang
2023-03-17 18:36:07 +08:00
parent 813f654aa1
commit 12066c72f9

View File

@@ -211,6 +211,7 @@ public class AutoSelectPreferenceController extends TelephonyTogglePreferenceCon
mSwitchPreference.setChecked(isChecked()); mSwitchPreference.setChecked(isChecked());
} }
mRecursiveUpdate.decrementAndGet(); mRecursiveUpdate.decrementAndGet();
updateListenerValue();
dismissProgressBar(); dismissProgressBar();
}); });
}); });
@@ -245,13 +246,13 @@ public class AutoSelectPreferenceController extends TelephonyTogglePreferenceCon
ThreadUtils.postOnBackgroundThread(() -> { ThreadUtils.postOnBackgroundThread(() -> {
queryNetworkSelectionMode(INTERNAL_LOG_TAG_INIT); queryNetworkSelectionMode(INTERNAL_LOG_TAG_INIT);
//Update UI in UI thread //Update UI in UI thread
mUiHandler.post(() -> { mUiHandler.post(() -> {
if (mSwitchPreference != null) { if (mSwitchPreference != null) {
mRecursiveUpdate.getAndIncrement(); mRecursiveUpdate.getAndIncrement();
mSwitchPreference.setChecked(isChecked()); mSwitchPreference.setChecked(isChecked());
mRecursiveUpdate.decrementAndGet(); mRecursiveUpdate.decrementAndGet();
updateListenerValue();
} }
}); });
}); });
@@ -267,7 +268,6 @@ public class AutoSelectPreferenceController extends TelephonyTogglePreferenceCon
private void queryNetworkSelectionMode(String tag) { private void queryNetworkSelectionMode(String tag) {
mCacheOfModeStatus = mTelephonyManager.getNetworkSelectionMode(); mCacheOfModeStatus = mTelephonyManager.getNetworkSelectionMode();
Log.d(LOG_TAG, tag + ": query commend done. mCacheOfModeStatus: " + mCacheOfModeStatus); Log.d(LOG_TAG, tag + ": query commend done. mCacheOfModeStatus: " + mCacheOfModeStatus);
updateListenerValue();
} }
@VisibleForTesting @VisibleForTesting
@@ -284,12 +284,11 @@ public class AutoSelectPreferenceController extends TelephonyTogglePreferenceCon
} }
mCacheOfModeStatus = networkSelectionMode; mCacheOfModeStatus = networkSelectionMode;
Log.d(LOG_TAG, "updateUiAutoSelectValue: mCacheOfModeStatus: " + mCacheOfModeStatus); Log.d(LOG_TAG, "updateUiAutoSelectValue: mCacheOfModeStatus: " + mCacheOfModeStatus);
updateListenerValue();
mRecursiveUpdate.getAndIncrement(); mRecursiveUpdate.getAndIncrement();
updateState(mSwitchPreference); updateState(mSwitchPreference);
mRecursiveUpdate.decrementAndGet(); mRecursiveUpdate.decrementAndGet();
updateListenerValue();
} }
} }