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(); }