diff --git a/res/values/strings.xml b/res/values/strings.xml
index 93a7720d861..515ed38eeaf 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -237,7 +237,11 @@
handsfree/headset
- Scanning
+ Searching
+
+ Tap to pair
+
+ No Bluetooth devices were found nearby.
Bluetooth pairing request
@@ -936,8 +940,10 @@
Scan for devices
-
- Scan
+
+ Search for devices
+
+ Searching\u2026
Device settings
diff --git a/src/com/android/settings/ProgressCategory.java b/src/com/android/settings/ProgressCategory.java
index bedcc98c327..eee19bc6f50 100644
--- a/src/com/android/settings/ProgressCategory.java
+++ b/src/com/android/settings/ProgressCategory.java
@@ -17,12 +17,15 @@
package com.android.settings;
import android.content.Context;
+import android.preference.Preference;
import android.util.AttributeSet;
import android.view.View;
+import android.widget.TextView;
public class ProgressCategory extends ProgressCategoryBase {
private boolean mProgress = false;
+ private Preference mNoDeviceFoundPreference;
public ProgressCategory(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -32,12 +35,27 @@ public class ProgressCategory extends ProgressCategoryBase {
@Override
public void onBindView(View view) {
super.onBindView(view);
- final View textView = view.findViewById(R.id.scanning_text);
+ final TextView textView = (TextView) view.findViewById(R.id.scanning_text);
final View progressBar = view.findViewById(R.id.scanning_progress);
- final int visibility = mProgress ? View.VISIBLE : View.INVISIBLE;
- textView.setVisibility(visibility);
- progressBar.setVisibility(visibility);
+ textView.setText(mProgress ? R.string.progress_scanning : R.string.progress_tap_to_pair);
+ boolean noDeviceFound = getPreferenceCount() == 0;
+ textView.setVisibility(noDeviceFound ? View.INVISIBLE : View.VISIBLE);
+ progressBar.setVisibility(mProgress ? View.VISIBLE : View.INVISIBLE);
+
+ if (mProgress) {
+ if (mNoDeviceFoundPreference != null) {
+ removePreference(mNoDeviceFoundPreference);
+ }
+ } else {
+ if (noDeviceFound) {
+ if (mNoDeviceFoundPreference == null) {
+ mNoDeviceFoundPreference = new Preference(getContext());
+ mNoDeviceFoundPreference.setSummary(R.string.bluetooth_no_devices_found);
+ }
+ addPreference(mNoDeviceFoundPreference);
+ }
+ }
}
@Override
diff --git a/src/com/android/settings/bluetooth/BluetoothSettings.java b/src/com/android/settings/bluetooth/BluetoothSettings.java
index 76bf6232b48..cd3730904e7 100644
--- a/src/com/android/settings/bluetooth/BluetoothSettings.java
+++ b/src/com/android/settings/bluetooth/BluetoothSettings.java
@@ -101,9 +101,12 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment {
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
boolean bluetoothIsEnabled = mLocalAdapter.getBluetoothState() == BluetoothAdapter.STATE_ON;
- menu.add(Menu.NONE, MENU_ID_SCAN, 0, R.string.bluetooth_scan_nearby_devices)
+ boolean isDiscovering = mLocalAdapter.isDiscovering();
+ int textId = isDiscovering ? R.string.bluetooth_searching_for_devices :
+ R.string.bluetooth_search_for_devices;
+ menu.add(Menu.NONE, MENU_ID_SCAN, 0, textId)
//.setIcon(R.drawable.ic_menu_scan_network)
- .setEnabled(bluetoothIsEnabled && !mLocalAdapter.isDiscovering())
+ .setEnabled(bluetoothIsEnabled && !isDiscovering)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
menu.add(Menu.NONE, MENU_ID_ADVANCED, 0, R.string.bluetooth_menu_advanced)
//.setIcon(android.R.drawable.ic_menu_manage)
@@ -218,7 +221,7 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment {
@Override
public void onScanningStateChanged(boolean started) {
super.onScanningStateChanged(started);
- // Update 'Scan' option enabled state
+ // Update options' enabled state
getActivity().invalidateOptionsMenu();
}