Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2816a26d authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "BleScan: Handle when settings does not exist" into main

parents 51585aa8 9bfb7f9b
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -47,10 +47,14 @@ object BleScanSettingListener {
            notifyForDescendants,
            object : ContentObserver(Handler(looper)) {
                override fun onChange(selfChange: Boolean) {
                    val previousValue = isScanAllowed
                    isScanAllowed = getScanSettingValue(resolver)
                    if (isScanAllowed) {
                        Log.i(TAG, "Ble Scan mode is now allowed. Nothing to do")
                        return
                    } else if (previousValue == isScanAllowed) {
                        Log.i(TAG, "Ble Scan mode was already considered as false. Discarding")
                        return
                    } else {
                        Log.i(TAG, "Trigger callback to disable BLE_ONLY mode")
                        callback()
@@ -67,6 +71,11 @@ object BleScanSettingListener {
     * @return whether Bluetooth should consider this radio or not
     */
    private fun getScanSettingValue(resolver: ContentResolver): Boolean {
        try {
            return Settings.Global.getInt(resolver, Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE) != 0
        } catch (e: Settings.SettingNotFoundException) {
            Log.i(TAG, "Settings not found. Default to false")
            return false
        }
    }
}
+11 −3
Original line number Diff line number Diff line
@@ -41,7 +41,6 @@ class BleScanSettingListenerTest {
    @Before
    public fun setup() {
        callbackTriggered = false
        enableSetting()
    }

    private fun startListener() {
@@ -62,6 +61,14 @@ class BleScanSettingListenerTest {
        callbackTriggered = true
    }

    @Test
    fun initialize_whenNoSettings_isOff() {
        startListener()

        assertThat(isScanAllowed).isFalse()
        assertThat(callbackTriggered).isFalse()
    }

    @Test
    fun initialize_whenSettingsOff_isOff() {
        disableSetting()
@@ -74,6 +81,7 @@ class BleScanSettingListenerTest {

    @Test
    fun initialize_whenSettingsOn_isScanAllowed() {
        enableSetting()
        startListener()

        assertThat(isScanAllowed).isTrue()
@@ -82,6 +90,7 @@ class BleScanSettingListenerTest {

    @Test
    fun changeModeToOn_whenSettingsOn_isScanAllowedAndEventDiscarded() {
        enableSetting()
        startListener()

        enableSetting()
@@ -92,7 +101,6 @@ class BleScanSettingListenerTest {

    @Test
    fun changeModeToOff_whenSettingsOff_isOffAndEventDiscarded() {
        disableSetting()
        startListener()

        disableSetting()
@@ -103,7 +111,6 @@ class BleScanSettingListenerTest {

    @Test
    fun changeModeToOn_whenSettingsOff_isScanAllowedWithoutCallback() {
        disableSetting()
        startListener()

        enableSetting()
@@ -114,6 +121,7 @@ class BleScanSettingListenerTest {

    @Test
    fun changeModeToOff_whenSettingsOn_isOffAndCallbackTriggered() {
        enableSetting()
        startListener()

        disableSetting()