From bb62c74bda48e971ddb527f54cda308992276161 Mon Sep 17 00:00:00 2001 From: Allen Su Date: Fri, 15 Mar 2024 06:41:47 +0000 Subject: [PATCH] [ToA] Move IO to background thread Bug: 295826542 Bug: 312324895 Test: atest TermsOfAddressNotSpecifiedControllerTest, atest TermsOfAddressNeutralControllerTest, atest TermsOfAddressMasculineControllerTest, atest TermsOfAddressFeminineControllerTest Change-Id: I45808815401f2caa24ffc03d634a4b2c90dfd55e --- .../localepicker/TermsOfAddressBaseController.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/localepicker/TermsOfAddressBaseController.java b/src/com/android/settings/localepicker/TermsOfAddressBaseController.java index 34c502fe0dc..d9962de9579 100644 --- a/src/com/android/settings/localepicker/TermsOfAddressBaseController.java +++ b/src/com/android/settings/localepicker/TermsOfAddressBaseController.java @@ -26,8 +26,12 @@ import com.android.settings.overlay.FeatureFactory; import com.android.settings.widget.TickButtonPreference; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; +import java.util.concurrent.Executor; +import java.util.concurrent.Executors; + public abstract class TermsOfAddressBaseController extends BasePreferenceController { + private static final Executor sExecutor = Executors.newSingleThreadExecutor(); private PreferenceScreen mPreferenceScreen; private MetricsFeatureProvider mMetricsFeatureProvider; private TickButtonPreference mPreference; @@ -46,8 +50,11 @@ public abstract class TermsOfAddressBaseController extends BasePreferenceControl mPreferenceScreen = screen; mPreference = screen.findPreference(getPreferenceKey()); mPreference.setOnPreferenceClickListener(clickedPref -> { - mGrammaticalInflectionManager.setSystemWideGrammaticalGender( - getGrammaticalGenderType()); + sExecutor.execute( + () -> { + mGrammaticalInflectionManager.setSystemWideGrammaticalGender( + getGrammaticalGenderType()); + }); setSelected(mPreference); mMetricsFeatureProvider.action(mContext, getMetricsActionKey()); return true;