[Audiosharing] Fix tests when flag is on.

Test: atest
Bug: 305620450
Change-Id: I85e8be4aef84a550bd4fe556848f3627b0f29fa6
This commit is contained in:
Yiyi Shen
2024-02-02 16:04:09 +08:00
parent e96833943a
commit 769f9ae45e
3 changed files with 20 additions and 32 deletions

View File

@@ -25,8 +25,6 @@ import static org.mockito.Mockito.spy;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.platform.test.annotations.RequiresFlagsDisabled;
import android.platform.test.annotations.RequiresFlagsEnabled;
import android.platform.test.flag.junit.CheckFlagsRule; import android.platform.test.flag.junit.CheckFlagsRule;
import android.platform.test.flag.junit.DeviceFlagsValueProvider; import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import android.provider.SearchIndexableResource; import android.provider.SearchIndexableResource;
@@ -34,7 +32,6 @@ import android.provider.SearchIndexableResource;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.BasePreferenceController; import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.PreferenceControllerListHelper; import com.android.settings.core.PreferenceControllerListHelper;
import com.android.settings.flags.Flags;
import com.android.settings.slices.SlicePreferenceController; import com.android.settings.slices.SlicePreferenceController;
import com.android.settings.testutils.shadow.ShadowBluetoothAdapter; import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
import com.android.settings.testutils.shadow.ShadowConnectivityManager; import com.android.settings.testutils.shadow.ShadowConnectivityManager;
@@ -53,8 +50,12 @@ import org.robolectric.annotation.Config;
import java.util.List; import java.util.List;
@RunWith(RobolectricTestRunner.class) @RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowUserManager.class, @Config(
ShadowConnectivityManager.class, ShadowBluetoothAdapter.class}) shadows = {
ShadowUserManager.class,
ShadowConnectivityManager.class,
ShadowBluetoothAdapter.class
})
public class ConnectedDeviceDashboardFragmentTest { public class ConnectedDeviceDashboardFragmentTest {
@Rule @Rule
public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule(); public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
@@ -98,30 +99,11 @@ public class ConnectedDeviceDashboardFragmentTest {
} }
@Test @Test
@RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
public void nonIndexableKeys_existInXmlLayout() { public void nonIndexableKeys_existInXmlLayout() {
final List<String> niks = final List<String> niks =
ConnectedDeviceDashboardFragment.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys( ConnectedDeviceDashboardFragment.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(
mContext); mContext);
assertThat(niks)
.containsExactly(
KEY_CONNECTED_DEVICES,
KEY_AVAILABLE_DEVICES,
KEY_NEARBY_DEVICES,
KEY_DISCOVERABLE_FOOTER,
KEY_SAVED_DEVICE_SEE_ALL,
KEY_FAST_PAIR_DEVICE_SEE_ALL,
KEY_AUDIO_SHARING_SETTINGS);
}
@Test
@RequiresFlagsDisabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
public void nonIndexableKeys_existInXmlLayout_flagOff() {
final List<String> niks =
ConnectedDeviceDashboardFragment.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(
mContext);
assertThat(niks) assertThat(niks)
.containsExactly( .containsExactly(
KEY_CONNECTED_DEVICES, KEY_CONNECTED_DEVICES,
@@ -160,10 +142,12 @@ public class ConnectedDeviceDashboardFragmentTest {
PreferenceControllerListHelper.getPreferenceControllersFromXml( PreferenceControllerListHelper.getPreferenceControllersFromXml(
mContext, R.xml.connected_devices); mContext, R.xml.connected_devices);
assertThat(controllers assertThat(
.stream() controllers.stream()
.filter(controller -> controller instanceof SlicePreferenceController) .filter(
.count()) controller ->
controller instanceof SlicePreferenceController)
.count())
.isEqualTo(1); .isEqualTo(1);
} }
} }

View File

@@ -158,7 +158,9 @@ public class AudioSharingDialogFragmentTest {
@Test @Test
@RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING) @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
public void onCreateDialog_singleConnectedDevice_dialogDismiss() { public void onCreateDialog_singleConnectedDevice_dialogDismiss() {
mFragment.show(mParent, new ArrayList<>(), (item) -> {}); ArrayList<AudioSharingDeviceItem> list = new ArrayList<>();
list.add(TEST_DEVICE_ITEM1);
mFragment.show(mParent, list, (item) -> {});
shadowMainLooper().idle(); shadowMainLooper().idle();
AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog(); AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog); ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
@@ -170,10 +172,12 @@ public class AudioSharingDialogFragmentTest {
@Test @Test
@RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING) @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
public void onCreateDialog_singleConnectedDevice_shareClicked() { public void onCreateDialog_singleConnectedDevice_shareClicked() {
ArrayList<AudioSharingDeviceItem> list = new ArrayList<>();
list.add(TEST_DEVICE_ITEM1);
AtomicBoolean isShareBtnClicked = new AtomicBoolean(false); AtomicBoolean isShareBtnClicked = new AtomicBoolean(false);
mFragment.show( mFragment.show(
mParent, mParent,
new ArrayList<>(), list,
(item) -> { (item) -> {
isShareBtnClicked.set(true); isShareBtnClicked.set(true);
}); });

View File

@@ -18,7 +18,6 @@ package com.android.settings.connecteddevice.audiosharing;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.verify;
import static org.robolectric.Shadows.shadowOf; import static org.robolectric.Shadows.shadowOf;
import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothAdapter;
@@ -71,6 +70,7 @@ public class AudioSharingSwitchBarControllerTest {
@Test @Test
@RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING) @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
public void bluetoothOff_switchDisabled() { public void bluetoothOff_switchDisabled() {
assertThat(mSwitchBar.isEnabled()).isTrue();
mContext.registerReceiver( mContext.registerReceiver(
mController.mReceiver, mController.mReceiver,
mController.mIntentFilter, mController.mIntentFilter,
@@ -79,7 +79,7 @@ public class AudioSharingSwitchBarControllerTest {
intent.putExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.STATE_OFF); intent.putExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.STATE_OFF);
mContext.sendBroadcast(intent); mContext.sendBroadcast(intent);
shadowOf(Looper.getMainLooper()).idle(); shadowOf(Looper.getMainLooper()).idle();
verify(mSwitch).setEnabled(false); assertThat(mSwitchBar.isEnabled()).isFalse();
assertThat(mOnSwitchBarChanged).isTrue(); assertThat(mOnSwitchBarChanged).isTrue();
} }
} }