summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorscheib <scheib@chromium.org>2016-02-26 15:24:24 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-26 23:25:36 +0000
commit7b0ec9c32bf336aeb7e2563005c85122b2c58d3c (patch)
tree595921f6fabb9e1811454a6ce1243abc18be3db4
parentd1e45374111c047fc69c8719434bf14417f74d2e (diff)
downloadchromium_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}
-rw-r--r--chrome/browser/ui/android/bluetooth_chooser_android.cc16
-rw-r--r--chrome/browser/ui/android/bluetooth_chooser_android.h5
-rw-r--r--device/bluetooth/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothAdapter.java3
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;