summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorJake Hamby <jhamby@google.com>2011-07-25 17:21:39 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-07-25 17:21:39 -0700
commitddf71724fd042a7d1b794fc676dd463b387de355 (patch)
tree6ac3fc4792a1f485a145c31dfc3af6e6f166631e /src/com
parentb55738841b2a9e53bb6873bd4d5fb133f8dc099c (diff)
parent49cfe8a3c8a15c5ec747cbeecacb50908da8e09b (diff)
downloadpackages_apps_settings-ddf71724fd042a7d1b794fc676dd463b387de355.zip
packages_apps_settings-ddf71724fd042a7d1b794fc676dd463b387de355.tar.gz
packages_apps_settings-ddf71724fd042a7d1b794fc676dd463b387de355.tar.bz2
Merge "Fix some Bluetooth settings bugs."
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/settings/bluetooth/BluetoothDiscoverableEnabler.java14
-rw-r--r--src/com/android/settings/bluetooth/BluetoothFindNearby.java71
-rw-r--r--src/com/android/settings/bluetooth/BluetoothSettings.java40
-rw-r--r--src/com/android/settings/bluetooth/DeviceListPreferenceFragment.java1
4 files changed, 32 insertions, 94 deletions
diff --git a/src/com/android/settings/bluetooth/BluetoothDiscoverableEnabler.java b/src/com/android/settings/bluetooth/BluetoothDiscoverableEnabler.java
index 0ad8948..6b654b5 100644
--- a/src/com/android/settings/bluetooth/BluetoothDiscoverableEnabler.java
+++ b/src/com/android/settings/bluetooth/BluetoothDiscoverableEnabler.java
@@ -144,12 +144,24 @@ final class BluetoothDiscoverableEnabler implements Preference.OnPreferenceClick
if (getDiscoverableTimeout() == DISCOVERABLE_TIMEOUT_NEVER) {
mDiscoveryPreference.setSummary(R.string.bluetooth_is_discoverable_always);
} else {
- String textTimeout = DateUtils.formatElapsedTime(timeout);
+ String textTimeout = formatTimeRemaining(timeout);
mDiscoveryPreference.setSummary(mContext.getString(R.string.bluetooth_is_discoverable,
textTimeout));
}
}
+ private static String formatTimeRemaining(int timeout) {
+ StringBuilder sb = new StringBuilder(6); // "mmm:ss"
+ int min = timeout / 60;
+ sb.append(min).append(':');
+ int sec = timeout - (min * 60);
+ if (sec < 10) {
+ sb.append('0');
+ }
+ sb.append(sec);
+ return sb.toString();
+ }
+
void setDiscoverableTimeout(int index) {
String timeoutValue;
switch (index) {
diff --git a/src/com/android/settings/bluetooth/BluetoothFindNearby.java b/src/com/android/settings/bluetooth/BluetoothFindNearby.java
deleted file mode 100644
index 066f4f6..0000000
--- a/src/com/android/settings/bluetooth/BluetoothFindNearby.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2011 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 android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothDevice;
-
-import com.android.settings.R;
-
-/**
- * Fragment to scan and show the discoverable devices.
- */
-public final class BluetoothFindNearby extends DeviceListPreferenceFragment {
-
- @Override
- void addPreferencesForActivity() {
- addPreferencesFromResource(R.xml.device_picker);
- }
-
- @Override
- public void onResume() {
- super.onResume();
- if (mSelectedDevice != null) {
- CachedBluetoothDeviceManager manager = mLocalManager.getCachedDeviceManager();
- CachedBluetoothDevice device = manager.findDevice(mSelectedDevice);
- if (device != null && device.getBondState() == BluetoothDevice.BOND_BONDED) {
- // selected device was paired, so return from this screen
- finish();
- return;
- }
- }
- mLocalAdapter.startScanning(true);
- }
-
- @Override
- void onDevicePreferenceClick(BluetoothDevicePreference btPreference) {
- mLocalAdapter.stopScanning();
- super.onDevicePreferenceClick(btPreference);
- }
-
- public void onDeviceBondStateChanged(CachedBluetoothDevice
- cachedDevice, int bondState) {
- if (bondState == BluetoothDevice.BOND_BONDED) {
- // return from scan screen after successful auto-pairing
- finish();
- }
- }
-
- @Override
- public void onBluetoothStateChanged(int bluetoothState) {
- super.onBluetoothStateChanged(bluetoothState);
-
- if (bluetoothState == BluetoothAdapter.STATE_ON) {
- mLocalAdapter.startScanning(false);
- }
- }
-}
diff --git a/src/com/android/settings/bluetooth/BluetoothSettings.java b/src/com/android/settings/bluetooth/BluetoothSettings.java
index ede218d..4b0db68 100644
--- a/src/com/android/settings/bluetooth/BluetoothSettings.java
+++ b/src/com/android/settings/bluetooth/BluetoothSettings.java
@@ -72,6 +72,8 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment {
private View mView;
private TextView mEmptyView;
+ private final IntentFilter mIntentFilter;
+
// accessed from inner class (not private to avoid thunks)
Preference mMyDevicePreference;
@@ -79,21 +81,22 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
- if (action.equals(BluetoothAdapter.ACTION_LOCAL_NAME_CHANGED) ||
- (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED) &&
- (intent.getIntExtra(BluetoothAdapter.EXTRA_STATE,
- BluetoothAdapter.ERROR) == BluetoothAdapter.STATE_ON))) {
+ if (action.equals(BluetoothAdapter.ACTION_LOCAL_NAME_CHANGED)) {
updateDeviceName();
}
}
private void updateDeviceName() {
- if (mLocalAdapter != null && mLocalAdapter.isEnabled() && mMyDevicePreference != null) {
+ if (mLocalAdapter.isEnabled() && mMyDevicePreference != null) {
mMyDevicePreference.setTitle(mLocalAdapter.getName());
}
}
};
+ public BluetoothSettings() {
+ mIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_LOCAL_NAME_CHANGED);
+ }
+
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
@@ -142,16 +145,12 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment {
super.onResume();
mBluetoothEnabler.resume();
- updateContent(mLocalAdapter.getBluetoothState());
-
if (mDiscoverableEnabler != null) {
mDiscoverableEnabler.resume();
}
+ getActivity().registerReceiver(mReceiver, mIntentFilter);
- IntentFilter filter = new IntentFilter();
- filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
- filter.addAction(BluetoothAdapter.ACTION_LOCAL_NAME_CHANGED);
- getActivity().registerReceiver(mReceiver, filter);
+ updateContent(mLocalAdapter.getBluetoothState());
}
@Override
@@ -174,8 +173,10 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment {
.setEnabled(bluetoothIsEnabled && !isDiscovering)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
menu.add(Menu.NONE, MENU_ID_RENAME_DEVICE, 0, R.string.bluetooth_rename_device)
- .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
+ .setEnabled(bluetoothIsEnabled)
+ .setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
menu.add(Menu.NONE, MENU_ID_VISIBILITY_TIMEOUT, 0, R.string.bluetooth_visibility_timeout)
+ .setEnabled(bluetoothIsEnabled)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
menu.add(Menu.NONE, MENU_ID_SHOW_RECEIVED, 0, R.string.bluetooth_show_received_files)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
@@ -233,7 +234,6 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment {
private void updateContent(int bluetoothState) {
final PreferenceScreen preferenceScreen = getPreferenceScreen();
- getActivity().invalidateOptionsMenu();
int messageId = 0;
switch (bluetoothState) {
@@ -245,9 +245,7 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment {
if (mMyDevicePreference == null) {
mMyDevicePreference = new Preference(getActivity());
}
- if (mLocalAdapter != null) {
- mMyDevicePreference.setTitle(mLocalAdapter.getName());
- }
+ mMyDevicePreference.setTitle(mLocalAdapter.getName());
mMyDevicePreference.setPersistent(false);
mMyDevicePreference.setEnabled(true);
preferenceScreen.addPreference(mMyDevicePreference);
@@ -255,6 +253,7 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment {
if (mDiscoverableEnabler == null) {
mDiscoverableEnabler = new BluetoothDiscoverableEnabler(getActivity(),
mLocalAdapter, mMyDevicePreference);
+ mDiscoverableEnabler.resume();
}
// Paired devices category
@@ -291,14 +290,12 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment {
preferenceScreen.removePreference(mPairedDevicesCategory);
startScanning();
}
+ getActivity().invalidateOptionsMenu();
return; // not break
case BluetoothAdapter.STATE_TURNING_OFF:
- int preferenceCount = preferenceScreen.getPreferenceCount();
- for (int i = 0; i < preferenceCount; i++) {
- preferenceScreen.getPreference(i).setEnabled(false);
- }
- return; // not break
+ messageId = R.string.bluetooth_turning_off;
+ break;
case BluetoothAdapter.STATE_OFF:
messageId = R.string.bluetooth_empty_list_bluetooth_off;
@@ -312,6 +309,7 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment {
setDeviceListGroup(preferenceScreen);
removeAllDevices();
mEmptyView.setText(messageId);
+ getActivity().invalidateOptionsMenu();
}
@Override
diff --git a/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.java b/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.java
index 9783fd7..53bd33c 100644
--- a/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.java
+++ b/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.java
@@ -151,7 +151,6 @@ public abstract class DeviceListPreferenceFragment extends
public void onDeviceAdded(CachedBluetoothDevice cachedDevice) {
if (mDevicePreferenceMap.get(cachedDevice) != null) {
- Log.e(TAG, "Got onDeviceAdded, but cachedDevice already exists");
return;
}