summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/bluetooth/DevicePickerFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/bluetooth/DevicePickerFragment.java')
-rw-r--r--src/com/android/settings/bluetooth/DevicePickerFragment.java21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/com/android/settings/bluetooth/DevicePickerFragment.java b/src/com/android/settings/bluetooth/DevicePickerFragment.java
index 9441626..aa34224 100644
--- a/src/com/android/settings/bluetooth/DevicePickerFragment.java
+++ b/src/com/android/settings/bluetooth/DevicePickerFragment.java
@@ -48,6 +48,7 @@ public final class DevicePickerFragment extends DeviceListPreferenceFragment {
private String mLaunchPackage;
private String mLaunchClass;
private boolean mStartScanOnResume;
+ private boolean mDeviceSelected;
@Override
void addPreferencesForActivity() {
@@ -70,7 +71,8 @@ public final class DevicePickerFragment extends DeviceListPreferenceFragment {
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.add(Menu.NONE, MENU_ID_REFRESH, 0, R.string.bluetooth_search_for_devices)
.setEnabled(true)
- .setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
+ .setIcon(com.android.internal.R.drawable.ic_menu_refresh)
+ .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
super.onCreateOptionsMenu(menu, inflater);
}
@@ -103,6 +105,7 @@ public final class DevicePickerFragment extends DeviceListPreferenceFragment {
public void onResume() {
super.onResume();
addCachedDevices();
+ mDeviceSelected = false;
if (mStartScanOnResume) {
mLocalAdapter.startScanning(true);
mStartScanOnResume = false;
@@ -110,6 +113,21 @@ public final class DevicePickerFragment extends DeviceListPreferenceFragment {
}
@Override
+ public void onDestroy() {
+ super.onDestroy();
+ /* Check if any device was selected, if no device selected
+ * send ACTION_DEVICE_NOT_SELECTED intent, otherwise
+ * don;t do anything */
+ if (!mDeviceSelected) {
+ Intent intent = new Intent(BluetoothDevicePicker.ACTION_DEVICE_NOT_SELECTED);
+ if (mLaunchPackage != null && mLaunchClass != null) {
+ intent.setClassName(mLaunchPackage, mLaunchClass);
+ }
+ getActivity().sendBroadcast(intent);
+ }
+ }
+
+ @Override
void onDevicePreferenceClick(BluetoothDevicePreference btPreference) {
mLocalAdapter.stopScanning();
LocalBluetoothPreferences.persistSelectedDeviceInPicker(
@@ -144,6 +162,7 @@ public final class DevicePickerFragment extends DeviceListPreferenceFragment {
}
private void sendDevicePickedIntent(BluetoothDevice device) {
+ mDeviceSelected = true;
Intent intent = new Intent(BluetoothDevicePicker.ACTION_DEVICE_SELECTED);
intent.putExtra(BluetoothDevice.EXTRA_DEVICE, device);
if (mLaunchPackage != null && mLaunchClass != null) {