public void onCreate()

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;
            }
        });
    }