[ToA] Move IO to background thread

Bug: 295826542
Bug: 312324895
Test: atest TermsOfAddressNotSpecifiedControllerTest, atest
TermsOfAddressNeutralControllerTest, atest
TermsOfAddressMasculineControllerTest, atest TermsOfAddressFeminineControllerTest

Change-Id: I45808815401f2caa24ffc03d634a4b2c90dfd55e
This commit is contained in:
Allen Su
2024-03-15 06:41:47 +00:00
parent e5ba5da9e2
commit bb62c74bda

View File

@@ -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;