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

Commit 2b42881a authored by William Escande's avatar William Escande
Browse files

Flag 24Q3: remove airplane_mode_x_ble_on

Bug: 338079154
Fix: 338079154
Test: atest ServiceBluetoothRoboTests
Flag: com.android.bluetooth.flags.airplane_mode_x_ble_on
Change-Id: I1ebcdf122d7427729da80c4731d916f4cf90094c
parent 1af41541
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
package: "com.android.bluetooth.flags"
container: "com.android.btservices"

flag {
    name: "airplane_mode_x_ble_on"
    namespace: "bluetooth"
    description: "Airplane mode is not properly listen to when reaching BLE mode"
    metadata {
        purpose: PURPOSE_BUGFIX
    }
    bug: "338079154"
}

flag {
    name: "auto_on_feature"
    is_exported: true
+1 −4
Original line number Diff line number Diff line
@@ -27,7 +27,6 @@ import android.os.Looper
import android.provider.Settings
import android.widget.Toast
import com.android.bluetooth.BluetoothStatsLog
import com.android.bluetooth.flags.Flags
import com.android.server.bluetooth.BluetoothAdapterState
import com.android.server.bluetooth.Log
import com.android.server.bluetooth.initializeRadioModeListener
@@ -120,9 +119,7 @@ public fun initialize(
                if (previousMode == isOnOverrode) {
                    Log.d(TAG, "Ignore mode change to same state. $description")
                    return
                } else if (
                    Flags.airplaneModeXBleOn() && isOnOverrode == false && state.oneOf(STATE_ON)
                ) {
                } else if (isOnOverrode == false && state.oneOf(STATE_ON)) {
                    Log.d(TAG, "Ignore mode change as Bluetooth is ON. $description")
                    return
                }
+1 −21
Original line number Diff line number Diff line
@@ -22,8 +22,6 @@ import android.content.Context
import android.content.res.Resources
import android.os.Looper
import android.os.UserHandle
import android.platform.test.annotations.DisableFlags
import android.platform.test.annotations.EnableFlags
import android.platform.test.flag.junit.FlagsParameterization
import android.platform.test.flag.junit.SetFlagsRule
import android.provider.Settings
@@ -66,10 +64,7 @@ class ModeListenerTest(flags: FlagsParameterization) {
        @JvmStatic
        @Parameters(name = "{0}")
        fun getParams() =
            FlagsParameterization.allCombinationsOf(
                Flags.FLAG_AIRPLANE_MODE_X_BLE_ON,
                Flags.FLAG_GET_STATE_FROM_SYSTEM_SERVER
            )
            FlagsParameterization.allCombinationsOf(Flags.FLAG_GET_STATE_FROM_SYSTEM_SERVER)

        internal fun setupAirplaneModeToOn(
            resolver: ContentResolver,
@@ -282,7 +277,6 @@ class ModeListenerTest(flags: FlagsParameterization) {
    }

    @Test
    @EnableFlags(Flags.FLAG_AIRPLANE_MODE_X_BLE_ON)
    fun disable_whenBluetoothOn_discardUpdate() {
        initializeAirplane()
        enableMode()
@@ -294,20 +288,6 @@ class ModeListenerTest(flags: FlagsParameterization) {
        assertThat(mode).containsExactly(true)
    }

    // Test to remove once AIRPLANE_MODE_X_BLE_ON has shipped
    @Test
    @DisableFlags(Flags.FLAG_AIRPLANE_MODE_X_BLE_ON)
    fun disable_whenBluetoothOn_notDiscardUpdate() {
        initializeAirplane()
        enableMode()

        state.set(BluetoothAdapter.STATE_ON)
        disableMode()

        assertThat(isOnOverrode).isFalse()
        assertThat(mode).containsExactly(true, false)
    }

    @Test
    fun enabled_whenEnabled_discardOnChange() {
        enableSensitive()
+6 −21
Original line number Diff line number Diff line
@@ -847,15 +847,9 @@ class BluetoothManagerService {
    }

    boolean isBleScanAvailable() {
        if (Flags.airplaneModeXBleOn()) {
        if (AirplaneModeListener.isOn() && !mEnable) {
            return false;
        }
        } else {
            if (AirplaneModeListener.isOnOverrode() && !mEnable) {
                return false;
            }
        }
        if (Flags.respectBleScanSetting()) {
            if (SatelliteModeListener.isOn()) {
                return false;
@@ -967,17 +961,10 @@ class BluetoothManagerService {
                        + (" isBinding=" + isBinding())
                        + (" mState=" + mState));

        if (Flags.airplaneModeXBleOn()) {
        if (AirplaneModeListener.isOn() && !mEnable) {
            Log.d(TAG, "enableBle: not enabling - Airplane mode is ON on system");
            return false;
        }
        } else {
            if (AirplaneModeListener.isOnOverrode()) {
                Log.d(TAG, "enableBle: not enabling - Airplane mode is ON");
                return false;
            }
        }

        if (isSatelliteModeOn()) {
            Log.d(TAG, "enableBle: not enabling - Satellite mode is on.");
@@ -1096,11 +1083,9 @@ class BluetoothManagerService {
                Log.w(TAG, "sendBrEdrDownCallback: mAdapter is null");
                return;
            }
            boolean airplaneDoesNotAllowBleOn =
                    Flags.airplaneModeXBleOn() && AirplaneModeListener.isOn();
            boolean scanIsAllowed =
                    !Flags.respectBleScanSetting() || BleScanSettingListener.isScanAllowed();
            if (!airplaneDoesNotAllowBleOn && isBleAppPresent() && scanIsAllowed) {
            if (!AirplaneModeListener.isOn() && isBleAppPresent() && scanIsAllowed) {
                // Need to stay at BLE ON. Disconnect all Gatt connections
                Log.i(TAG, "sendBrEdrDownCallback: Staying in BLE_ON");
                mAdapter.unregAllGattClient(mContext.getAttributionSource());