10c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project/*
20c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * Copyright (C) 2008 The Android Open Source Project
30c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project *
40c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
50c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * you may not use this file except in compliance with the License.
60c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * You may obtain a copy of the License at
70c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project *
80c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
90c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project *
100c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software
110c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
120c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
130c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * See the License for the specific language governing permissions and
140c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project * limitations under the License.
150c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project */
160c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project
170c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Projectpackage com.android.browser;
180c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project
190c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Projectimport com.android.internal.preference.YesNoPreference;
200c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project
210c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Projectimport android.content.Context;
220c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Projectimport android.util.AttributeSet;
230c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project
240c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Projectclass BrowserYesNoPreference extends YesNoPreference {
250c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project
260c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project    // This is the constructor called by the inflater
270c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project    public BrowserYesNoPreference(Context context, AttributeSet attrs) {
280c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project        super(context, attrs);
290c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project    }
300c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project
310c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project    @Override
320c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project    protected void onDialogClosed(boolean positiveResult) {
330c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project        super.onDialogClosed(positiveResult);
340c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project
350c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project        if (positiveResult) {
360c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project            setEnabled(false);
370c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project
3835e9dd6283a2d65687104eb0b3a459c02dcb150bJohn Reck            BrowserSettings settings = BrowserSettings.getInstance();
3935e9dd6283a2d65687104eb0b3a459c02dcb150bJohn Reck            if (PreferenceKeys.PREF_PRIVACY_CLEAR_CACHE.equals(getKey())) {
4035e9dd6283a2d65687104eb0b3a459c02dcb150bJohn Reck                settings.clearCache();
4135e9dd6283a2d65687104eb0b3a459c02dcb150bJohn Reck                settings.clearDatabases();
4235e9dd6283a2d65687104eb0b3a459c02dcb150bJohn Reck            } else if (PreferenceKeys.PREF_PRIVACY_CLEAR_COOKIES.equals(getKey())) {
4335e9dd6283a2d65687104eb0b3a459c02dcb150bJohn Reck                settings.clearCookies();
4435e9dd6283a2d65687104eb0b3a459c02dcb150bJohn Reck            } else if (PreferenceKeys.PREF_PRIVACY_CLEAR_HISTORY.equals(getKey())) {
4535e9dd6283a2d65687104eb0b3a459c02dcb150bJohn Reck                settings.clearHistory();
4635e9dd6283a2d65687104eb0b3a459c02dcb150bJohn Reck            } else if (PreferenceKeys.PREF_PRIVACY_CLEAR_FORM_DATA.equals(getKey())) {
4735e9dd6283a2d65687104eb0b3a459c02dcb150bJohn Reck                settings.clearFormData();
4835e9dd6283a2d65687104eb0b3a459c02dcb150bJohn Reck            } else if (PreferenceKeys.PREF_PRIVACY_CLEAR_PASSWORDS.equals(getKey())) {
4935e9dd6283a2d65687104eb0b3a459c02dcb150bJohn Reck                settings.clearPasswords();
5035e9dd6283a2d65687104eb0b3a459c02dcb150bJohn Reck            } else if (PreferenceKeys.PREF_RESET_DEFAULT_PREFERENCES.equals(
510c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project                    getKey())) {
5235e9dd6283a2d65687104eb0b3a459c02dcb150bJohn Reck                settings.resetDefaultPreferences();
530c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project                setEnabled(true);
5435e9dd6283a2d65687104eb0b3a459c02dcb150bJohn Reck            } else if (PreferenceKeys.PREF_PRIVACY_CLEAR_GEOLOCATION_ACCESS.equals(
55f344d03c0b01d30575ba1ddd1ed340705c6f5a97Steve Block                    getKey())) {
5635e9dd6283a2d65687104eb0b3a459c02dcb150bJohn Reck                settings.clearLocationAccess();
570c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project            }
580c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project        }
590c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project    }
600c90888c75eed12f6e2e14a9044faf50bd4af8edThe Android Open Source Project}
61