[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:
@@ -26,8 +26,12 @@ import com.android.settings.overlay.FeatureFactory;
|
|||||||
import com.android.settings.widget.TickButtonPreference;
|
import com.android.settings.widget.TickButtonPreference;
|
||||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||||
|
|
||||||
|
import java.util.concurrent.Executor;
|
||||||
|
import java.util.concurrent.Executors;
|
||||||
|
|
||||||
public abstract class TermsOfAddressBaseController extends BasePreferenceController {
|
public abstract class TermsOfAddressBaseController extends BasePreferenceController {
|
||||||
|
|
||||||
|
private static final Executor sExecutor = Executors.newSingleThreadExecutor();
|
||||||
private PreferenceScreen mPreferenceScreen;
|
private PreferenceScreen mPreferenceScreen;
|
||||||
private MetricsFeatureProvider mMetricsFeatureProvider;
|
private MetricsFeatureProvider mMetricsFeatureProvider;
|
||||||
private TickButtonPreference mPreference;
|
private TickButtonPreference mPreference;
|
||||||
@@ -46,8 +50,11 @@ public abstract class TermsOfAddressBaseController extends BasePreferenceControl
|
|||||||
mPreferenceScreen = screen;
|
mPreferenceScreen = screen;
|
||||||
mPreference = screen.findPreference(getPreferenceKey());
|
mPreference = screen.findPreference(getPreferenceKey());
|
||||||
mPreference.setOnPreferenceClickListener(clickedPref -> {
|
mPreference.setOnPreferenceClickListener(clickedPref -> {
|
||||||
|
sExecutor.execute(
|
||||||
|
() -> {
|
||||||
mGrammaticalInflectionManager.setSystemWideGrammaticalGender(
|
mGrammaticalInflectionManager.setSystemWideGrammaticalGender(
|
||||||
getGrammaticalGenderType());
|
getGrammaticalGenderType());
|
||||||
|
});
|
||||||
setSelected(mPreference);
|
setSelected(mPreference);
|
||||||
mMetricsFeatureProvider.action(mContext, getMetricsActionKey());
|
mMetricsFeatureProvider.action(mContext, getMetricsActionKey());
|
||||||
return true;
|
return true;
|
||||||
|
Reference in New Issue
Block a user