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();
     }
 }