diff --git a/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupController.java b/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupController.java index 7eabf018c8a..c095fee1739 100644 --- a/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupController.java +++ b/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupController.java @@ -134,6 +134,11 @@ public class AvailableMediaDeviceGroupController extends BasePreferenceControlle AvailableMediaDeviceGroupController.this, fragment.getMetricsCategory()); } + @VisibleForTesting + public void setFragmentManager(FragmentManager fragmentManager) { + mFragmentManager = fragmentManager; + } + @VisibleForTesting public void setBluetoothDeviceUpdater(BluetoothDeviceUpdater bluetoothDeviceUpdater) { mBluetoothDeviceUpdater = bluetoothDeviceUpdater; diff --git a/tests/robotests/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupControllerTest.java index abc01fa3282..06dd42bc8cf 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupControllerTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupControllerTest.java @@ -17,9 +17,7 @@ package com.android.settings.connecteddevice; import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE; import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE; - import static com.google.common.truth.Truth.assertThat; - import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.doReturn; @@ -44,7 +42,6 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.bluetooth.AvailableMediaBluetoothDeviceUpdater; import com.android.settings.bluetooth.Utils; -import com.android.settings.dashboard.DashboardFragment; import com.android.settings.testutils.shadow.ShadowAlertDialogCompat; import com.android.settings.testutils.shadow.ShadowAudioManager; import com.android.settings.testutils.shadow.ShadowBluetoothAdapter; @@ -73,15 +70,13 @@ import org.robolectric.annotation.Config; ShadowAudioManager.class, ShadowBluetoothAdapter.class, ShadowBluetoothUtils.class, - com.android.settings.testutils.shadow.ShadowFragment.class, + ShadowAlertDialogCompat.class, }) public class AvailableMediaDeviceGroupControllerTest { private static final String TEST_DEVICE_ADDRESS = "00:A1:A1:A1:A1:A1"; private static final String PREFERENCE_KEY_1 = "pref_key_1"; - @Mock - private DashboardFragment mDashboardFragment; @Mock private AvailableMediaBluetoothDeviceUpdater mAvailableMediaBluetoothDeviceUpdater; @Mock @@ -115,11 +110,8 @@ public class AvailableMediaDeviceGroupControllerTest { mPreferenceGroup = spy(new PreferenceScreen(mContext, null)); final FragmentActivity mActivity = Robolectric.setupActivity(FragmentActivity.class); when(mPreferenceGroup.getPreferenceManager()).thenReturn(mPreferenceManager); - doReturn(mContext).when(mDashboardFragment).getContext(); doReturn(mPackageManager).when(mContext).getPackageManager(); doReturn(true).when(mPackageManager).hasSystemFeature(PackageManager.FEATURE_BLUETOOTH); - when(mDashboardFragment.getParentFragmentManager()).thenReturn( - mActivity.getSupportFragmentManager()); ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager; mLocalBluetoothManager = Utils.getLocalBtManager(mContext); @@ -134,6 +126,8 @@ public class AvailableMediaDeviceGroupControllerTest { new AvailableMediaDeviceGroupController(mContext)); mAvailableMediaDeviceGroupController. setBluetoothDeviceUpdater(mAvailableMediaBluetoothDeviceUpdater); + mAvailableMediaDeviceGroupController.setFragmentManager( + mActivity.getSupportFragmentManager()); mAvailableMediaDeviceGroupController.mPreferenceGroup = mPreferenceGroup; } @@ -247,18 +241,17 @@ public class AvailableMediaDeviceGroupControllerTest { } @Test - @Config(shadows = ShadowAlertDialogCompat.class) public void onActiveDeviceChanged_hearingAidProfile_launchHearingAidPairingDialog() { when(mCachedBluetoothDevice.isConnectedAshaHearingAidDevice()).thenReturn(true); when(mCachedBluetoothDevice.getDeviceMode()).thenReturn( HearingAidInfo.DeviceMode.MODE_BINAURAL); when(mCachedBluetoothDevice.getDeviceSide()).thenReturn( HearingAidInfo.DeviceSide.SIDE_LEFT); - mAvailableMediaDeviceGroupController.init(mDashboardFragment); mAvailableMediaDeviceGroupController.onActiveDeviceChanged(mCachedBluetoothDevice, BluetoothProfile.HEARING_AID); shadowMainLooper().idle(); + final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog(); assertThat(dialog.isShowing()).isTrue(); }