Loading service/Android.bp +1 −1 Original line number Diff line number Diff line Loading @@ -224,7 +224,7 @@ android_robolectric_test { "framework-statsd.stubs.module_lib", ], sdk_version: "module_current", sdk_version: "test_current", upstream: true, test_suites: ["general-tests"], strict_mode: false, Loading service/src/BleScanSettingListener.kt +5 −2 Original line number Diff line number Diff line Loading @@ -27,6 +27,9 @@ import android.provider.Settings private const val TAG = "BleScanSettingListener" object BleScanSettingListener { // Must match Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE but cannot depend on the variable const val BLE_SCAN_ALWAYS_AVAILABLE = "ble_scan_always_enabled" @JvmStatic var isScanAllowed = false private set Loading @@ -43,7 +46,7 @@ object BleScanSettingListener { val notifyForDescendants = false resolver.registerContentObserver( Settings.Global.getUriFor(Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE), Settings.Global.getUriFor(BLE_SCAN_ALWAYS_AVAILABLE), notifyForDescendants, object : ContentObserver(Handler(looper)) { override fun onChange(selfChange: Boolean) { Loading Loading @@ -72,7 +75,7 @@ object BleScanSettingListener { */ private fun getScanSettingValue(resolver: ContentResolver): Boolean { try { return Settings.Global.getInt(resolver, Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE) != 0 return Settings.Global.getInt(resolver, BLE_SCAN_ALWAYS_AVAILABLE) != 0 } catch (e: Settings.SettingNotFoundException) { Log.i(TAG, "Settings not found. Default to false") return false Loading service/src/BleScanSettingListenerTest.kt +3 −2 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.content.Context import android.os.Looper import android.provider.Settings import androidx.test.core.app.ApplicationProvider import com.android.server.bluetooth.BleScanSettingListener.BLE_SCAN_ALWAYS_AVAILABLE import com.android.server.bluetooth.BleScanSettingListener.initialize import com.android.server.bluetooth.BleScanSettingListener.isScanAllowed import com.google.common.truth.Truth.assertThat Loading Loading @@ -48,12 +49,12 @@ class BleScanSettingListenerTest { } private fun enableSetting() { Settings.Global.putInt(resolver, Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE, 1) Settings.Global.putInt(resolver, BLE_SCAN_ALWAYS_AVAILABLE, 1) shadowOf(looper).idle() } private fun disableSetting() { Settings.Global.putInt(resolver, Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE, 0) Settings.Global.putInt(resolver, BLE_SCAN_ALWAYS_AVAILABLE, 0) shadowOf(looper).idle() } Loading service/src/com/android/server/bluetooth/BluetoothManagerService.java +2 −2 Original line number Diff line number Diff line Loading @@ -905,7 +905,7 @@ class BluetoothManagerService { } try { return Settings.Global.getInt( mContentResolver, Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE) mContentResolver, BleScanSettingListener.BLE_SCAN_ALWAYS_AVAILABLE) != 0; } catch (SettingNotFoundException e) { // The settings is considered as false by default. Loading Loading @@ -956,7 +956,7 @@ class BluetoothManagerService { }; mContentResolver.registerContentObserver( Settings.Global.getUriFor(Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE), Settings.Global.getUriFor(BleScanSettingListener.BLE_SCAN_ALWAYS_AVAILABLE), false, contentObserver); } Loading Loading
service/Android.bp +1 −1 Original line number Diff line number Diff line Loading @@ -224,7 +224,7 @@ android_robolectric_test { "framework-statsd.stubs.module_lib", ], sdk_version: "module_current", sdk_version: "test_current", upstream: true, test_suites: ["general-tests"], strict_mode: false, Loading
service/src/BleScanSettingListener.kt +5 −2 Original line number Diff line number Diff line Loading @@ -27,6 +27,9 @@ import android.provider.Settings private const val TAG = "BleScanSettingListener" object BleScanSettingListener { // Must match Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE but cannot depend on the variable const val BLE_SCAN_ALWAYS_AVAILABLE = "ble_scan_always_enabled" @JvmStatic var isScanAllowed = false private set Loading @@ -43,7 +46,7 @@ object BleScanSettingListener { val notifyForDescendants = false resolver.registerContentObserver( Settings.Global.getUriFor(Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE), Settings.Global.getUriFor(BLE_SCAN_ALWAYS_AVAILABLE), notifyForDescendants, object : ContentObserver(Handler(looper)) { override fun onChange(selfChange: Boolean) { Loading Loading @@ -72,7 +75,7 @@ object BleScanSettingListener { */ private fun getScanSettingValue(resolver: ContentResolver): Boolean { try { return Settings.Global.getInt(resolver, Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE) != 0 return Settings.Global.getInt(resolver, BLE_SCAN_ALWAYS_AVAILABLE) != 0 } catch (e: Settings.SettingNotFoundException) { Log.i(TAG, "Settings not found. Default to false") return false Loading
service/src/BleScanSettingListenerTest.kt +3 −2 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.content.Context import android.os.Looper import android.provider.Settings import androidx.test.core.app.ApplicationProvider import com.android.server.bluetooth.BleScanSettingListener.BLE_SCAN_ALWAYS_AVAILABLE import com.android.server.bluetooth.BleScanSettingListener.initialize import com.android.server.bluetooth.BleScanSettingListener.isScanAllowed import com.google.common.truth.Truth.assertThat Loading Loading @@ -48,12 +49,12 @@ class BleScanSettingListenerTest { } private fun enableSetting() { Settings.Global.putInt(resolver, Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE, 1) Settings.Global.putInt(resolver, BLE_SCAN_ALWAYS_AVAILABLE, 1) shadowOf(looper).idle() } private fun disableSetting() { Settings.Global.putInt(resolver, Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE, 0) Settings.Global.putInt(resolver, BLE_SCAN_ALWAYS_AVAILABLE, 0) shadowOf(looper).idle() } Loading
service/src/com/android/server/bluetooth/BluetoothManagerService.java +2 −2 Original line number Diff line number Diff line Loading @@ -905,7 +905,7 @@ class BluetoothManagerService { } try { return Settings.Global.getInt( mContentResolver, Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE) mContentResolver, BleScanSettingListener.BLE_SCAN_ALWAYS_AVAILABLE) != 0; } catch (SettingNotFoundException e) { // The settings is considered as false by default. Loading Loading @@ -956,7 +956,7 @@ class BluetoothManagerService { }; mContentResolver.registerContentObserver( Settings.Global.getUriFor(Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE), Settings.Global.getUriFor(BleScanSettingListener.BLE_SCAN_ALWAYS_AVAILABLE), false, contentObserver); } Loading