in AutofillFramework/afservice/src/main/java/com/example/android/autofill/service/settings/SettingsActivity.java [75:178]
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.multidataset_service_settings_activity);
SharedPreferences localAfDataSourceSharedPrefs =
getSharedPreferences(LocalAutofillDataSource.SHARED_PREF_KEY, Context.MODE_PRIVATE);
DefaultFieldTypesSource defaultFieldTypesSource =
DefaultFieldTypesLocalJsonSource.getInstance(getResources(),
new GsonBuilder().create());
AutofillDao autofillDao = AutofillDatabase.getInstance(
this, defaultFieldTypesSource, new AppExecutors()).autofillDao();
mPackageName = getPackageName();
mLocalAutofillDataSource = LocalAutofillDataSource.getInstance(localAfDataSourceSharedPrefs,
autofillDao, new AppExecutors());
mAutofillManager = getSystemService(AutofillManager.class);
mPackageVerificationDataSource =
SharedPrefsPackageVerificationRepository.getInstance(this);
mPreferences = MyPreferences.getInstance(this);
setupSettingsSwitch(R.id.settings_auth_responses_container,
R.id.settings_auth_responses_label,
R.id.settings_auth_responses_switch,
mPreferences.isResponseAuth(),
(compoundButton, isResponseAuth) -> mPreferences.setResponseAuth(isResponseAuth));
setupSettingsSwitch(R.id.settings_auth_datasets_container,
R.id.settings_auth_datasets_label,
R.id.settings_auth_datasets_switch,
mPreferences.isDatasetAuth(),
(compoundButton, isDatasetAuth) -> mPreferences.setDatasetAuth(isDatasetAuth));
setupSettingsButton(R.id.settings_add_data_container,
R.id.settings_add_data_label,
R.id.settings_add_data_icon,
(view) -> buildAddDataDialog().show());
setupSettingsButton(R.id.settings_clear_data_container,
R.id.settings_clear_data_label,
R.id.settings_clear_data_icon,
(view) -> buildClearDataDialog().show());
setupSettingsButton(R.id.settings_auth_credentials_container,
R.id.settings_auth_credentials_label,
R.id.settings_auth_credentials_icon,
(view) -> {
if (mPreferences.getMasterPassword() != null) {
buildCurrentCredentialsDialog().show();
} else {
buildNewCredentialsDialog().show();
}
});
setupSettingsSwitch(R.id.settingsSetServiceContainer,
R.id.settingsSetServiceLabel,
R.id.settingsSetServiceSwitch,
mAutofillManager.hasEnabledAutofillServices(),
(compoundButton, serviceSet) -> setService(serviceSet));
RadioGroup loggingLevelContainer = findViewById(R.id.loggingLevelContainer);
Util.LogLevel loggingLevel = mPreferences.getLoggingLevel();
Util.setLoggingLevel(loggingLevel);
switch (loggingLevel) {
case Off:
loggingLevelContainer.check(R.id.loggingOff);
break;
case Debug:
loggingLevelContainer.check(R.id.loggingDebug);
break;
case Verbose:
loggingLevelContainer.check(R.id.loggingVerbose);
break;
}
loggingLevelContainer.setOnCheckedChangeListener((group, checkedId) -> {
switch (checkedId) {
case R.id.loggingOff:
mPreferences.setLoggingLevel(Util.LogLevel.Off);
break;
case R.id.loggingDebug:
mPreferences.setLoggingLevel(Util.LogLevel.Debug);
break;
case R.id.loggingVerbose:
mPreferences.setLoggingLevel(Util.LogLevel.Verbose);
break;
}
});
RadioGroup dalCheckRequirementContainer = findViewById(R.id.dalCheckRequirementContainer);
Util.DalCheckRequirement dalCheckRequirement = mPreferences.getDalCheckRequirement();
switch (dalCheckRequirement) {
case Disabled:
dalCheckRequirementContainer.check(R.id.dalDisabled);
break;
case LoginOnly:
dalCheckRequirementContainer.check(R.id.dalLoginOnly);
break;
case AllUrls:
dalCheckRequirementContainer.check(R.id.dalAllUrls);
break;
}
dalCheckRequirementContainer.setOnCheckedChangeListener((group, checkedId) -> {
switch (checkedId) {
case R.id.dalDisabled:
mPreferences.setDalCheckRequired(Disabled);
break;
case R.id.dalLoginOnly:
mPreferences.setDalCheckRequired(LoginOnly);
break;
case R.id.dalAllUrls:
mPreferences.setDalCheckRequired(AllUrls);
break;
}
});
}