summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author William Escande <wescande@google.com> 2024-12-10 12:03:38 -0800
committer William Escande <wescande@google.com> 2024-12-10 13:16:09 -0800
commit1f3cf67a2689f2c76f725691864ea6f20de4e5b5 (patch)
treed8d1f183e21963cd551ecb08857b066dffba0044
parentfde407b003638f389954c2c9d93db06c1168aa8c (diff)
24Q4: Removal of respect_ble_scan_setting
Bug: 341783936 Fix: 341783936 Flag: com.android.bluetooth.flags.respect_ble_scan_setting Test: atest ServiceBluetoothRoboTests Change-Id: I8e9fd57087e4d7cd19566d0356863cea2c24b732
-rw-r--r--flags/system_service.aconfig10
-rw-r--r--service/src/com/android/server/bluetooth/BluetoothManagerService.java62
2 files changed, 7 insertions, 65 deletions
diff --git a/flags/system_service.aconfig b/flags/system_service.aconfig
index ab542121b9..fba0792eca 100644
--- a/flags/system_service.aconfig
+++ b/flags/system_service.aconfig
@@ -52,16 +52,6 @@ flag {
}
flag {
- name: "respect_ble_scan_setting"
- namespace: "bluetooth"
- description: "No longer allow BLE_ON mode when the settings is explicitly disable"
- metadata {
- purpose: PURPOSE_BUGFIX
- }
- bug: "341783936"
-}
-
-flag {
name: "system_server_messenger"
namespace: "bluetooth"
description: "Replace binder call to the system server with a Messenger to enforce thread safety"
diff --git a/service/src/com/android/server/bluetooth/BluetoothManagerService.java b/service/src/com/android/server/bluetooth/BluetoothManagerService.java
index f9e53ff65e..0cfdfea987 100644
--- a/service/src/com/android/server/bluetooth/BluetoothManagerService.java
+++ b/service/src/com/android/server/bluetooth/BluetoothManagerService.java
@@ -62,7 +62,6 @@ import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
-import android.database.ContentObserver;
import android.os.Binder;
import android.os.Build;
import android.os.Bundle;
@@ -79,7 +78,6 @@ import android.os.SystemProperties;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
-import android.provider.Settings.SettingNotFoundException;
import android.sysprop.BluetoothProperties;
import android.util.proto.ProtoOutputStream;
@@ -589,11 +587,7 @@ class BluetoothManagerService {
mHandler = new BluetoothHandler(mLooper);
// Observe BLE scan only mode settings change.
- if (Flags.respectBleScanSetting()) {
- BleScanSettingListener.initialize(mLooper, mContentResolver, this::onBleScanDisabled);
- } else {
- registerForBleScanModeChange();
- }
+ BleScanSettingListener.initialize(mLooper, mContentResolver, this::onBleScanDisabled);
// Disable ASHA if BLE is not supported, overriding any system property
if (!isBleSupported(mContext)) {
@@ -861,20 +855,10 @@ class BluetoothManagerService {
if (AirplaneModeListener.isOn() && !mEnable) {
return false;
}
- if (Flags.respectBleScanSetting()) {
- if (SatelliteModeListener.isOn()) {
- return false;
- }
- return BleScanSettingListener.isScanAllowed();
- }
- try {
- return Settings.Global.getInt(
- mContentResolver, BleScanSettingListener.BLE_SCAN_ALWAYS_AVAILABLE)
- != 0;
- } catch (SettingNotFoundException e) {
- // The settings is considered as false by default.
+ if (SatelliteModeListener.isOn()) {
return false;
}
+ return BleScanSettingListener.isScanAllowed();
}
boolean isHearingAidProfileSupported() {
@@ -892,32 +876,6 @@ class BluetoothManagerService {
return mAdapter.isMediaProfileConnected(mContext.getAttributionSource());
}
- // Monitor change of BLE scan only mode settings.
- private void registerForBleScanModeChange() {
- ContentObserver contentObserver =
- new ContentObserver(new Handler(mLooper)) {
- @Override
- public void onChange(boolean selfChange) {
- if (isBleScanAvailable()) {
- // Nothing to do
- return;
- }
- // BLE scan is not available.
- disableBleScanMode();
- clearBleApps();
- if (mState.oneOf(STATE_BLE_ON)) {
- ActiveLogs.add(ENABLE_DISABLE_REASON_APPLICATION_REQUEST, false);
- bleOnToOff();
- }
- }
- };
-
- mContentResolver.registerContentObserver(
- Settings.Global.getUriFor(BleScanSettingListener.BLE_SCAN_ALWAYS_AVAILABLE),
- false,
- contentObserver);
- }
-
// Disable ble scan only mode.
private void disableBleScanMode() {
if (mState.oneOf(STATE_ON)) {
@@ -972,7 +930,7 @@ class BluetoothManagerService {
return false;
}
- if (Flags.respectBleScanSetting() && !BleScanSettingListener.isScanAllowed()) {
+ if (!BleScanSettingListener.isScanAllowed()) {
Log.d(TAG, "enableBle: not enabling - Scan mode is not allowed.");
return false;
}
@@ -1005,12 +963,6 @@ class BluetoothManagerService {
+ (" isBinding=" + isBinding())
+ (" mState=" + mState));
- // Remove this with flag, preventing a "disable" make no sense, even in satellite mode
- if (!Flags.respectBleScanSetting() && isSatelliteModeOn()) {
- Log.d(TAG, "disableBle: not disabling - satellite mode is on.");
- return false;
- }
-
if (mState.oneOf(STATE_OFF)) {
Log.i(TAG, "disableBle: Already disabled");
return false;
@@ -1075,9 +1027,9 @@ class BluetoothManagerService {
Log.d(TAG, "sendBrEdrDownCallback: mAdapter is null");
return;
}
- boolean scanIsAllowed =
- !Flags.respectBleScanSetting() || BleScanSettingListener.isScanAllowed();
- if (!AirplaneModeListener.isOn() && isBleAppPresent() && scanIsAllowed) {
+ if (BleScanSettingListener.isScanAllowed()
+ && !AirplaneModeListener.isOn()
+ && isBleAppPresent()) {
// Need to stay at BLE ON. Disconnect all Gatt connections
Log.i(TAG, "sendBrEdrDownCallback: Staying in BLE_ON");
try {