diff options
Diffstat (limited to 'src/com/android/settings/bluetooth/DevicePickerFragment.java')
-rw-r--r-- | src/com/android/settings/bluetooth/DevicePickerFragment.java | 21 |
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) { |