Merge "[hearing devices page] Launch 'Hearing decice controls' to Accessibility hearing device page."

This commit is contained in:
Jason Hsu
2023-01-10 09:05:55 +00:00
committed by Android (Google) Code Review
2 changed files with 62 additions and 3 deletions

View File

@@ -18,13 +18,24 @@ package com.android.settings.bluetooth;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.Intent;
import android.util.FeatureFlagUtils;
import androidx.preference.Preference;
import com.android.settings.SettingsActivity;
import com.android.settings.accessibility.AccessibilityHearingAidsFragment;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
import org.robolectric.RobolectricTestRunner;
@@ -36,14 +47,18 @@ public class BluetoothDetailsHearingDeviceControlsControllerTest extends
@Rule
public final MockitoRule mockito = MockitoJUnit.rule();
@Captor
private ArgumentCaptor<Intent> mIntentArgumentCaptor;
private BluetoothDetailsHearingDeviceControlsController mController;
@Override
public void setUp() {
super.setUp();
mController = new BluetoothDetailsHearingDeviceControlsController(mContext, mFragment,
FakeFeatureFactory.setupForTest();
mController = new BluetoothDetailsHearingDeviceControlsController(mActivity, mFragment,
mCachedDevice, mLifecycle);
when(mCachedDevice.isHearingAidDevice()).thenReturn(true);
}
@Test
@@ -63,4 +78,23 @@ public class BluetoothDetailsHearingDeviceControlsControllerTest extends
assertThat(mController.isAvailable()).isFalse();
}
@Test
public void onPreferenceClick_hearingDeviceControlsKey_LaunchExpectedFragment() {
final Preference hearingControlsKeyPreference = new Preference(mContext);
hearingControlsKeyPreference.setKey(
BluetoothDetailsHearingDeviceControlsController.KEY_HEARING_DEVICE_CONTROLS);
mController.onPreferenceClick(hearingControlsKeyPreference);
assertStartActivityWithExpectedFragment(mActivity,
AccessibilityHearingAidsFragment.class.getName());
}
private void assertStartActivityWithExpectedFragment(Context mockContext, String fragmentName) {
verify(mockContext).startActivity(mIntentArgumentCaptor.capture());
assertThat(mIntentArgumentCaptor.getValue()
.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
.isEqualTo(fragmentName);
}
}