Revert "[nearby] Add disable logic"
This reverts commit 3f5aea69f9f36097b407822b0cc177c0df51f061.
Reason for revert: Caused crash
Fix: 312430336
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:4ed63b1873841a37f3ebbef5ff5072a253fa6186)
Merged-In: Id664a6cba297674d8edeb0af700df1e96baaf70e
Change-Id: Id664a6cba297674d8edeb0af700df1e96baaf70e
diff --git a/nearby/service/java/com/android/server/nearby/managers/DiscoveryProviderManager.java b/nearby/service/java/com/android/server/nearby/managers/DiscoveryProviderManager.java
index fe952fe..5c04a6c 100644
--- a/nearby/service/java/com/android/server/nearby/managers/DiscoveryProviderManager.java
+++ b/nearby/service/java/com/android/server/nearby/managers/DiscoveryProviderManager.java
@@ -142,6 +142,8 @@
/** Called after boot completed. */
public void init() {
+ // Register BLE only scan when Bluetooth is turned off
+ setBleScanEnabled();
if (mInjector.getContextHubManager() != null) {
mChreDiscoveryProvider.init();
}
@@ -165,14 +167,12 @@
@Override
public void onRegister() {
Log.v(TAG, "Registering the DiscoveryProviderManager.");
- enableBle();
startProviders();
}
@Override
public void onUnregister() {
Log.v(TAG, "Unregistering the DiscoveryProviderManager.");
- disableBle();
stopProviders();
}
@@ -322,7 +322,7 @@
* @return {@code true} when Nearby currently can scan through Bluetooth or Ble or successfully
* registers Nearby service to Ble scan when Blutooth is off.
*/
- public boolean enableBle() {
+ public boolean setBleScanEnabled() {
BluetoothAdapter adapter = mInjector.getBluetoothAdapter();
if (adapter == null) {
Log.e(TAG, "BluetoothAdapter is null.");
@@ -341,18 +341,4 @@
}
return true;
}
-
- /**
- * Unregisters Nearby service to Ble.
- * Ble can be disabled when there is no app register the Ble service, so we can only to know we
- * successfully unregister Ble by getting result from {@link BluetoothAdapter#disableBle()}.
- */
- public boolean disableBle() {
- BluetoothAdapter adapter = mInjector.getBluetoothAdapter();
- if (adapter == null) {
- Log.e(TAG, "BluetoothAdapter is null.");
- return false;
- }
- return adapter.disableBLE();
- }
}
diff --git a/nearby/service/java/com/android/server/nearby/managers/DiscoveryProviderManagerLegacy.java b/nearby/service/java/com/android/server/nearby/managers/DiscoveryProviderManagerLegacy.java
index 65168d0..549a6bf 100644
--- a/nearby/service/java/com/android/server/nearby/managers/DiscoveryProviderManagerLegacy.java
+++ b/nearby/service/java/com/android/server/nearby/managers/DiscoveryProviderManagerLegacy.java
@@ -221,6 +221,8 @@
/** Called after boot completed. */
public void init() {
+ // Register BLE only scan when Bluetooth is turned off
+ setBleScanEnabled();
if (mInjector.getContextHubManager() != null) {
mChreDiscoveryProvider.init();
}
@@ -344,9 +346,6 @@
Log.w(TAG, "failed to start any provider because client disabled BLE");
return false;
}
- if (!enableBle()) {
- return false;
- }
List<ScanFilter> scanFilters = getPresenceScanFilters();
boolean chreOnly = isChreOnly(scanFilters);
Boolean chreAvailable = mChreDiscoveryProvider.available();
@@ -414,9 +413,7 @@
}
}
- @VisibleForTesting
- protected void stopProviders() {
- disableBle();
+ private void stopProviders() {
stopBleProvider();
stopChreProvider();
}
@@ -515,7 +512,7 @@
* @return {@code true} when Nearby currently can scan through Bluetooth or Ble or successfully
* registers Nearby service to Ble scan when Blutooth is off.
*/
- public boolean enableBle() {
+ public boolean setBleScanEnabled() {
BluetoothAdapter adapter = mInjector.getBluetoothAdapter();
if (adapter == null) {
Log.e(TAG, "BluetoothAdapter is null.");
@@ -534,18 +531,4 @@
}
return true;
}
-
- /**
- * Unregisters Nearby service to Ble.
- * Ble can be disabled when there is no app register the Ble service, so we can only to know we
- * successfully unregister Ble by getting result from {@link BluetoothAdapter#disableBle()}.
- */
- public boolean disableBle() {
- BluetoothAdapter adapter = mInjector.getBluetoothAdapter();
- if (adapter == null) {
- Log.e(TAG, "BluetoothAdapter is null.");
- return false;
- }
- return adapter.disableBLE();
- }
}
diff --git a/nearby/tests/unit/src/com/android/server/nearby/managers/DiscoveryProviderManagerLegacyTest.java b/nearby/tests/unit/src/com/android/server/nearby/managers/DiscoveryProviderManagerLegacyTest.java
index c04cb38..a8c30a8 100644
--- a/nearby/tests/unit/src/com/android/server/nearby/managers/DiscoveryProviderManagerLegacyTest.java
+++ b/nearby/tests/unit/src/com/android/server/nearby/managers/DiscoveryProviderManagerLegacyTest.java
@@ -173,10 +173,7 @@
@Test
public void test_enableBleWhenBleOff() throws Exception {
when(mBluetoothAdapter.isEnabled()).thenReturn(false);
- ScanRequest scanRequest = new ScanRequest.Builder()
- .setScanType(SCAN_TYPE_NEARBY_PRESENCE)
- .addScanFilter(getChreOnlyPresenceScanFilter()).build();
- mDiscoveryProviderManager.startProviders(scanRequest);
+ mDiscoveryProviderManager.init();
verify(mBluetoothAdapter, times(1)).enableBLE();
}
@@ -336,10 +333,9 @@
.isTrue();
assertThat(manager.mChreDiscoveryProvider.getFiltersLocked()).isNotNull();
- manager.stopProviders();
+ manager.stopChreProvider();
Thread.sleep(200);
// The filters should be cleared right after.
- verify(mBluetoothAdapter, times(1)).disableBLE();
assertThat(manager.mChreDiscoveryProvider.getController().isStarted())
.isFalse();
assertThat(manager.mChreDiscoveryProvider.getFiltersLocked()).isEmpty();
@@ -401,7 +397,7 @@
when(mBluetoothAdapter.isBleScanAlwaysAvailable()).thenReturn(true);
when(mBluetoothAdapter.enableBLE()).thenReturn(true);
- assertThat(mDiscoveryProviderManager.enableBle()).isTrue();
+ assertThat(mDiscoveryProviderManager.setBleScanEnabled()).isTrue();
}
@Test
@@ -411,7 +407,7 @@
when(mBluetoothAdapter.isBleScanAlwaysAvailable()).thenReturn(true);
when(mBluetoothAdapter.enableBLE()).thenReturn(true);
- assertThat(mDiscoveryProviderManager.enableBle()).isTrue();
+ assertThat(mDiscoveryProviderManager.setBleScanEnabled()).isTrue();
}
@Test
@@ -421,7 +417,7 @@
when(mBluetoothAdapter.isBleScanAlwaysAvailable()).thenReturn(true);
when(mBluetoothAdapter.enableBLE()).thenReturn(true);
- assertThat(mDiscoveryProviderManager.enableBle()).isTrue();
+ assertThat(mDiscoveryProviderManager.setBleScanEnabled()).isTrue();
}
@Test
@@ -431,7 +427,7 @@
when(mBluetoothAdapter.isBleScanAlwaysAvailable()).thenReturn(true);
when(mBluetoothAdapter.enableBLE()).thenReturn(false);
- assertThat(mDiscoveryProviderManager.enableBle()).isFalse();
+ assertThat(mDiscoveryProviderManager.setBleScanEnabled()).isFalse();
}
@Test
@@ -440,7 +436,7 @@
when(mBluetoothAdapter.isLeEnabled()).thenReturn(false);
when(mBluetoothAdapter.isBleScanAlwaysAvailable()).thenReturn(false);
- assertThat(mDiscoveryProviderManager.enableBle()).isTrue();
+ assertThat(mDiscoveryProviderManager.setBleScanEnabled()).isTrue();
}
@Test
@@ -449,6 +445,6 @@
when(mBluetoothAdapter.isLeEnabled()).thenReturn(false);
when(mBluetoothAdapter.isBleScanAlwaysAvailable()).thenReturn(false);
- assertThat(mDiscoveryProviderManager.enableBle()).isFalse();
+ assertThat(mDiscoveryProviderManager.setBleScanEnabled()).isFalse();
}
}
diff --git a/nearby/tests/unit/src/com/android/server/nearby/managers/DiscoveryProviderManagerTest.java b/nearby/tests/unit/src/com/android/server/nearby/managers/DiscoveryProviderManagerTest.java
index d747e59..b05893f 100644
--- a/nearby/tests/unit/src/com/android/server/nearby/managers/DiscoveryProviderManagerTest.java
+++ b/nearby/tests/unit/src/com/android/server/nearby/managers/DiscoveryProviderManagerTest.java
@@ -166,26 +166,11 @@
@Test
public void test_enableBleWhenBleOff() throws Exception {
when(mBluetoothAdapter.isEnabled()).thenReturn(false);
- ScanRequest scanRequest = new ScanRequest.Builder()
- .setScanType(SCAN_TYPE_NEARBY_PRESENCE)
- .addScanFilter(getChreOnlyPresenceScanFilter()).build();
- mDiscoveryProviderManager.registerScanListener(scanRequest, mScanListener, mCallerIdentity);
+ mDiscoveryProviderManager.init();
verify(mBluetoothAdapter, times(1)).enableBLE();
}
@Test
- public void test_disBleBleWhenNoClient() throws Exception {
- when(mBluetoothAdapter.isEnabled()).thenReturn(false);
- ScanRequest scanRequest = new ScanRequest.Builder()
- .setScanType(SCAN_TYPE_NEARBY_PRESENCE)
- .addScanFilter(getChreOnlyPresenceScanFilter()).build();
- mDiscoveryProviderManager.registerScanListener(scanRequest, mScanListener, mCallerIdentity);
- verify(mBluetoothAdapter, times(1)).enableBLE();
- mDiscoveryProviderManager.unregisterScanListener(mScanListener);
- verify(mBluetoothAdapter, times(1)).disableBLE();
- }
-
- @Test
public void testStartProviders_chreOnlyChreAvailable_bleProviderNotStarted() {
reset(mBluetoothController);
when(mChreDiscoveryProvider.available()).thenReturn(true);
@@ -373,7 +358,7 @@
when(mBluetoothAdapter.isBleScanAlwaysAvailable()).thenReturn(true);
when(mBluetoothAdapter.enableBLE()).thenReturn(true);
- assertThat(mDiscoveryProviderManager.enableBle()).isTrue();
+ assertThat(mDiscoveryProviderManager.setBleScanEnabled()).isTrue();
}
@Test
@@ -383,7 +368,7 @@
when(mBluetoothAdapter.isBleScanAlwaysAvailable()).thenReturn(true);
when(mBluetoothAdapter.enableBLE()).thenReturn(true);
- assertThat(mDiscoveryProviderManager.enableBle()).isTrue();
+ assertThat(mDiscoveryProviderManager.setBleScanEnabled()).isTrue();
}
@Test
@@ -393,7 +378,7 @@
when(mBluetoothAdapter.isBleScanAlwaysAvailable()).thenReturn(true);
when(mBluetoothAdapter.enableBLE()).thenReturn(true);
- assertThat(mDiscoveryProviderManager.enableBle()).isTrue();
+ assertThat(mDiscoveryProviderManager.setBleScanEnabled()).isTrue();
}
@Test
@@ -403,7 +388,7 @@
when(mBluetoothAdapter.isBleScanAlwaysAvailable()).thenReturn(true);
when(mBluetoothAdapter.enableBLE()).thenReturn(false);
- assertThat(mDiscoveryProviderManager.enableBle()).isFalse();
+ assertThat(mDiscoveryProviderManager.setBleScanEnabled()).isFalse();
}
@Test
@@ -412,7 +397,7 @@
when(mBluetoothAdapter.isLeEnabled()).thenReturn(false);
when(mBluetoothAdapter.isBleScanAlwaysAvailable()).thenReturn(false);
- assertThat(mDiscoveryProviderManager.enableBle()).isTrue();
+ assertThat(mDiscoveryProviderManager.setBleScanEnabled()).isTrue();
}
@Test
@@ -421,6 +406,6 @@
when(mBluetoothAdapter.isLeEnabled()).thenReturn(false);
when(mBluetoothAdapter.isBleScanAlwaysAvailable()).thenReturn(false);
- assertThat(mDiscoveryProviderManager.enableBle()).isFalse();
+ assertThat(mDiscoveryProviderManager.setBleScanEnabled()).isFalse();
}
}