diff options
author | scheib <scheib@chromium.org> | 2016-02-26 15:24:24 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-26 23:25:36 +0000 |
commit | 7b0ec9c32bf336aeb7e2563005c85122b2c58d3c (patch) | |
tree | 595921f6fabb9e1811454a6ce1243abc18be3db4 | |
parent | d1e45374111c047fc69c8719434bf14417f74d2e (diff) | |
download | chromium_src-7b0ec9c32bf336aeb7e2563005c85122b2c58d3c.zip chromium_src-7b0ec9c32bf336aeb7e2563005c85122b2c58d3c.tar.gz chromium_src-7b0ec9c32bf336aeb7e2563005c85122b2c58d3c.tar.bz2 |
bluetooth: android: register for adapter on/off events followup.
Followup changes requested by tedchoc on https://codereview.chromium.org/1711393002
BUG=543060
Review URL: https://codereview.chromium.org/1745463002
Cr-Commit-Position: refs/heads/master@{#378022}
3 files changed, 15 insertions, 9 deletions
diff --git a/chrome/browser/ui/android/bluetooth_chooser_android.cc b/chrome/browser/ui/android/bluetooth_chooser_android.cc index d08203f..5631e64 100644 --- a/chrome/browser/ui/android/bluetooth_chooser_android.cc +++ b/chrome/browser/ui/android/bluetooth_chooser_android.cc @@ -62,12 +62,12 @@ bool BluetoothChooserAndroid::CanAskForScanningPermission() { } void BluetoothChooserAndroid::SetAdapterPresence(AdapterPresence presence) { + JNIEnv* env = AttachCurrentThread(); if (presence != AdapterPresence::POWERED_ON) { - Java_BluetoothChooserDialog_notifyAdapterTurnedOff(AttachCurrentThread(), - java_dialog_.obj()); + Java_BluetoothChooserDialog_notifyAdapterTurnedOff(env, java_dialog_.obj()); } else { - Java_BluetoothChooserDialog_notifyAdapterTurnedOn(AttachCurrentThread(), - java_dialog_.obj()); + Java_BluetoothChooserDialog_notifyAdapterTurnedOn(env, java_dialog_.obj()); + RestartSearch(); } } @@ -130,11 +130,15 @@ void BluetoothChooserAndroid::OnDialogFinished( NOTREACHED(); } -void BluetoothChooserAndroid::RestartSearch(JNIEnv* env, - const JavaParamRef<jobject>& obj) { +void BluetoothChooserAndroid::RestartSearch() { event_handler_.Run(Event::RESCAN, ""); } +void BluetoothChooserAndroid::RestartSearch(JNIEnv*, + const JavaParamRef<jobject>&) { + RestartSearch(); +} + void BluetoothChooserAndroid::ShowBluetoothOverviewLink( JNIEnv* env, const JavaParamRef<jobject>& obj) { diff --git a/chrome/browser/ui/android/bluetooth_chooser_android.h b/chrome/browser/ui/android/bluetooth_chooser_android.h index fc77e63..0af0b1a 100644 --- a/chrome/browser/ui/android/bluetooth_chooser_android.h +++ b/chrome/browser/ui/android/bluetooth_chooser_android.h @@ -37,8 +37,9 @@ class BluetoothChooserAndroid : public content::BluetoothChooser { const base::android::JavaParamRef<jstring>& device_id); // Notify bluetooth stack that the search needs to be re-issued. - void RestartSearch(JNIEnv* env, - const base::android::JavaParamRef<jobject>& obj); + void RestartSearch(); + // Calls RestartSearch(). Unused JNI parameters enable calls from Java. + void RestartSearch(JNIEnv*, const base::android::JavaParamRef<jobject>&); void ShowBluetoothOverviewLink( JNIEnv* env, diff --git a/device/bluetooth/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothAdapter.java b/device/bluetooth/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothAdapter.java index 54a8eb9..a7751f7 100644 --- a/device/bluetooth/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothAdapter.java +++ b/device/bluetooth/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothAdapter.java @@ -34,7 +34,8 @@ final class ChromeBluetoothAdapter extends BroadcastReceiver { private static final String TAG = "Bluetooth"; private long mNativeBluetoothAdapterAndroid; - private Wrappers.BluetoothAdapterWrapper mAdapter; + // mAdapter is final to ensure registerReceiver is followed by unregisterReceiver. + private final Wrappers.BluetoothAdapterWrapper mAdapter; private int mNumDiscoverySessions; private ScanCallback mScanCallback; |