Loading packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java +8 −6 Original line number Diff line number Diff line Loading @@ -175,13 +175,15 @@ public class BluetoothTile extends QSTileImpl<BooleanState> { @Override protected void handleSecondaryClick(@Nullable Expandable expandable) { handleClickWithSatelliteCheck(() -> { if (!mController.canConfigBluetooth()) { mActivityStarter.postStartActivityDismissingKeyguard( new Intent(Settings.ACTION_BLUETOOTH_SETTINGS), 0); return; } } else { toggleBluetooth(); } }); } @Override public CharSequence getTileLabel() { Loading packages/SystemUI/tests/src/com/android/systemui/qs/tiles/BluetoothTileTest.kt +38 −9 Original line number Diff line number Diff line Loading @@ -16,11 +16,13 @@ import android.service.quicksettings.Tile import android.testing.TestableLooper import android.testing.TestableLooper.RunWithLooper import androidx.test.filters.SmallTest import com.android.dx.mockito.inline.extended.ExtendedMockito import com.android.internal.logging.MetricsLogger import com.android.settingslib.Utils import com.android.settingslib.bluetooth.BatteryLevelsInfo import com.android.settingslib.bluetooth.CachedBluetoothDevice import com.android.settingslib.flags.Flags.FLAG_REFACTOR_BATTERY_LEVEL_DISPLAY import com.android.settingslib.satellite.SatelliteDialogUtils import com.android.systemui.Flags import com.android.systemui.SysuiTestCase import com.android.systemui.bluetooth.ui.viewModel.BluetoothDetailsContentViewModel Loading Loading @@ -50,6 +52,7 @@ import org.junit.Before import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import org.mockito.ArgumentMatchers.anyInt import org.mockito.Mock import org.mockito.Mockito.times import org.mockito.Mockito.verify Loading Loading @@ -345,6 +348,7 @@ class BluetoothTileTest(flags: FlagsParameterization) : SysuiTestCase() { @Test @EnableFlags(QSComposeFragment.FLAG_NAME) fun disableBluetooth_transientTurningOff() { bypassingSatelliteDialog { enableBluetooth() tile.refreshState() testableLooper.processAllMessages() Loading @@ -358,6 +362,7 @@ class BluetoothTileTest(flags: FlagsParameterization) : SysuiTestCase() { assertThat(state.isTransient).isTrue() assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_bluetooth_icon_off)) } } @Test @EnableFlags(QSComposeFragment.FLAG_NAME) Loading Loading @@ -461,6 +466,30 @@ class BluetoothTileTest(flags: FlagsParameterization) : SysuiTestCase() { tile.handleUpdateState(state, /* arg= */ null) } private inline fun bypassingSatelliteDialog(testBody: () -> Unit) { val mockitoSession = ExtendedMockito.mockitoSession() .mockStatic(SatelliteDialogUtils::class.java) .startMocking() whenever( SatelliteDialogUtils.mayStartSatelliteWarningDialog( eq(mContext), eq(tile), anyInt(), any(), ) ) .thenAnswer { invocation -> (invocation.arguments[3] as (Boolean) -> Unit).invoke(true) mock<Job>() } testBody() mockitoSession.finishMocking() } private fun listenToDeviceBatteryLevelsInfo( state: QSTile.BooleanState, cachedDevice: CachedBluetoothDevice, Loading Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java +8 −6 Original line number Diff line number Diff line Loading @@ -175,13 +175,15 @@ public class BluetoothTile extends QSTileImpl<BooleanState> { @Override protected void handleSecondaryClick(@Nullable Expandable expandable) { handleClickWithSatelliteCheck(() -> { if (!mController.canConfigBluetooth()) { mActivityStarter.postStartActivityDismissingKeyguard( new Intent(Settings.ACTION_BLUETOOTH_SETTINGS), 0); return; } } else { toggleBluetooth(); } }); } @Override public CharSequence getTileLabel() { Loading
packages/SystemUI/tests/src/com/android/systemui/qs/tiles/BluetoothTileTest.kt +38 −9 Original line number Diff line number Diff line Loading @@ -16,11 +16,13 @@ import android.service.quicksettings.Tile import android.testing.TestableLooper import android.testing.TestableLooper.RunWithLooper import androidx.test.filters.SmallTest import com.android.dx.mockito.inline.extended.ExtendedMockito import com.android.internal.logging.MetricsLogger import com.android.settingslib.Utils import com.android.settingslib.bluetooth.BatteryLevelsInfo import com.android.settingslib.bluetooth.CachedBluetoothDevice import com.android.settingslib.flags.Flags.FLAG_REFACTOR_BATTERY_LEVEL_DISPLAY import com.android.settingslib.satellite.SatelliteDialogUtils import com.android.systemui.Flags import com.android.systemui.SysuiTestCase import com.android.systemui.bluetooth.ui.viewModel.BluetoothDetailsContentViewModel Loading Loading @@ -50,6 +52,7 @@ import org.junit.Before import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import org.mockito.ArgumentMatchers.anyInt import org.mockito.Mock import org.mockito.Mockito.times import org.mockito.Mockito.verify Loading Loading @@ -345,6 +348,7 @@ class BluetoothTileTest(flags: FlagsParameterization) : SysuiTestCase() { @Test @EnableFlags(QSComposeFragment.FLAG_NAME) fun disableBluetooth_transientTurningOff() { bypassingSatelliteDialog { enableBluetooth() tile.refreshState() testableLooper.processAllMessages() Loading @@ -358,6 +362,7 @@ class BluetoothTileTest(flags: FlagsParameterization) : SysuiTestCase() { assertThat(state.isTransient).isTrue() assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_bluetooth_icon_off)) } } @Test @EnableFlags(QSComposeFragment.FLAG_NAME) Loading Loading @@ -461,6 +466,30 @@ class BluetoothTileTest(flags: FlagsParameterization) : SysuiTestCase() { tile.handleUpdateState(state, /* arg= */ null) } private inline fun bypassingSatelliteDialog(testBody: () -> Unit) { val mockitoSession = ExtendedMockito.mockitoSession() .mockStatic(SatelliteDialogUtils::class.java) .startMocking() whenever( SatelliteDialogUtils.mayStartSatelliteWarningDialog( eq(mContext), eq(tile), anyInt(), any(), ) ) .thenAnswer { invocation -> (invocation.arguments[3] as (Boolean) -> Unit).invoke(true) mock<Job>() } testBody() mockitoSession.finishMocking() } private fun listenToDeviceBatteryLevelsInfo( state: QSTile.BooleanState, cachedDevice: CachedBluetoothDevice, Loading