summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/bluetooth/BluetoothEnabler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/bluetooth/BluetoothEnabler.java')
-rw-r--r--src/com/android/settings/bluetooth/BluetoothEnabler.java149
1 files changed, 0 insertions, 149 deletions
diff --git a/src/com/android/settings/bluetooth/BluetoothEnabler.java b/src/com/android/settings/bluetooth/BluetoothEnabler.java
deleted file mode 100644
index 661700f..0000000
--- a/src/com/android/settings/bluetooth/BluetoothEnabler.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.bluetooth;
-
-import com.android.settings.R;
-import com.android.settings.bluetooth.LocalBluetoothManager.ExtendedBluetoothState;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.preference.Preference;
-import android.preference.CheckBoxPreference;
-import android.text.TextUtils;
-import android.util.Config;
-
-/**
- * BluetoothEnabler is a helper to manage the Bluetooth on/off checkbox
- * preference. It is turns on/off Bluetooth and ensures the summary of the
- * preference reflects the current state.
- */
-public class BluetoothEnabler implements Preference.OnPreferenceChangeListener {
-
- private static final boolean LOCAL_LOGD = Config.LOGD || false;
- private static final String TAG = "BluetoothEnabler";
-
- private final Context mContext;
- private final CheckBoxPreference mCheckBoxPreference;
- private final CharSequence mOriginalSummary;
-
- private final LocalBluetoothManager mLocalManager;
-
- private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- handleStateChanged(mLocalManager.getBluetoothState());
- }
- };
-
- public BluetoothEnabler(Context context, CheckBoxPreference checkBoxPreference) {
- mContext = context;
- mCheckBoxPreference = checkBoxPreference;
-
- mOriginalSummary = checkBoxPreference.getSummary();
- checkBoxPreference.setPersistent(false);
-
- mLocalManager = LocalBluetoothManager.getInstance(context);
- if (mLocalManager == null) {
- // Bluetooth not supported
- checkBoxPreference.setEnabled(false);
- }
- }
-
- public void resume() {
- if (mLocalManager == null) {
- return;
- }
-
- ExtendedBluetoothState state = mLocalManager.getBluetoothState();
- // This is the widget enabled state, not the preference toggled state
- mCheckBoxPreference.setEnabled(state == ExtendedBluetoothState.ENABLED ||
- state == ExtendedBluetoothState.DISABLED);
- // BT state is not a sticky broadcast, so set it manually
- handleStateChanged(state);
-
- mContext.registerReceiver(mReceiver,
- new IntentFilter(LocalBluetoothManager.EXTENDED_BLUETOOTH_STATE_CHANGED_ACTION));
- mCheckBoxPreference.setOnPreferenceChangeListener(this);
- }
-
- public void pause() {
- if (mLocalManager == null) {
- return;
- }
-
- mContext.unregisterReceiver(mReceiver);
- mCheckBoxPreference.setOnPreferenceChangeListener(null);
- }
-
- public boolean onPreferenceChange(Preference preference, Object value) {
- // Turn on/off BT
- setEnabled((Boolean) value);
-
- // Don't update UI to opposite state until we're sure
- return false;
- }
-
- private void setEnabled(final boolean enable) {
- // Disable preference
- mCheckBoxPreference.setEnabled(false);
-
- mLocalManager.setBluetoothEnabled(enable);
- }
-
- private void handleStateChanged(ExtendedBluetoothState state) {
-
- if (state == ExtendedBluetoothState.DISABLED || state == ExtendedBluetoothState.ENABLED) {
- mCheckBoxPreference.setChecked(state == ExtendedBluetoothState.ENABLED);
- mCheckBoxPreference
- .setSummary(state == ExtendedBluetoothState.DISABLED ? mOriginalSummary : null);
-
- mCheckBoxPreference.setEnabled(isEnabledByDependency());
-
- } else if (state == ExtendedBluetoothState.ENABLING ||
- state == ExtendedBluetoothState.DISABLING) {
- mCheckBoxPreference.setSummary(state == ExtendedBluetoothState.ENABLING
- ? R.string.wifi_starting
- : R.string.wifi_stopping);
-
- } else if (state == ExtendedBluetoothState.UNKNOWN) {
- mCheckBoxPreference.setChecked(false);
- mCheckBoxPreference.setSummary(R.string.wifi_error);
- mCheckBoxPreference.setEnabled(true);
- }
- }
-
- private boolean isEnabledByDependency() {
- Preference dep = getDependencyPreference();
- if (dep == null) {
- return true;
- }
-
- return !dep.shouldDisableDependents();
- }
-
- private Preference getDependencyPreference() {
- String depKey = mCheckBoxPreference.getDependency();
- if (TextUtils.isEmpty(depKey)) {
- return null;
- }
-
- return mCheckBoxPreference.getPreferenceManager().findPreference(depKey);
- }
-
-}