Settings.java revision de2d9f5f109265873196f1615e1f3546b114aaa7
17a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten/*
27a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten * Copyright (C) 2008 The Android Open Source Project
37a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten *
47a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten * Licensed under the Apache License, Version 2.0 (the "License");
57a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten * you may not use this file except in compliance with the License.
67a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten * You may obtain a copy of the License at
77a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten *
87a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten *      http://www.apache.org/licenses/LICENSE-2.0
97a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten *
107a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten * Unless required by applicable law or agreed to in writing, software
117a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten * distributed under the License is distributed on an "AS IS" BASIS,
127a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
137a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten * See the License for the specific language governing permissions and
147a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten * limitations under the License.
157a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten */
167a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten
177a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kastenpackage com.android.settings;
187a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten
197a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kastenimport android.os.Bundle;
207a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kastenimport android.preference.PreferenceActivity;
217a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kastenimport android.preference.PreferenceGroup;
227a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kastenimport android.provider.Settings.System;
237a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten
247a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kastenpublic class Settings extends PreferenceActivity {
257a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten
267a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten    private static final String KEY_PARENT = "parent";
277a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten    private static final String KEY_CALL_SETTINGS = "call_settings";
287a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten    private static final String KEY_SYNC_SETTINGS = "sync_settings";
297a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten
307a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten    @Override
317a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten    protected void onCreate(Bundle savedInstanceState) {
327a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten        super.onCreate(savedInstanceState);
337a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten
347a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten        addPreferencesFromResource(R.xml.settings);
357a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten
367a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten        PreferenceGroup parent = (PreferenceGroup) findPreference(KEY_PARENT);
377a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten        Utils.updatePreferenceToSpecificActivityOrRemove(this, parent, KEY_SYNC_SETTINGS, 0);
387a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten    }
397a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten
407a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten    @Override
417a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten    protected void onResume() {
427a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten        findPreference(KEY_CALL_SETTINGS).setEnabled(!isAirplaneMode());
437a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten        super.onResume();
447a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten    }
457a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten
467a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten    private boolean isAirplaneMode() {
477a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten        return System.getInt(getContentResolver(),
487a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten                              System.AIRPLANE_MODE_ON, 0) > 0;
497a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten    }
507a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten
517a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten}
527a79f519d89eb0e1a5b3f4005484b16d6854d7e2Glenn Kasten