Fixes fail test cases in AccessibilitySettingsTest
AccessibilityHearingAidPreferenceController can't be instantiated correctly in tests with the lack of LocalBluetoothManager. This causes null pointer exception when AccessibilityHearingAidPreferenceController.setFragmentManager() is called in AccessibilitySettings.onAttach(). Solution: Mocks the LocalBluetoothManager for tests to successfully instantiate AccessibilityHearingAidPreferenceController to prevent null pointer exception from happening. Bug: 269407238 Test: atest AccessibilitySettingsTest Change-Id: Ibcfffa10b46fd6e85c1b74b03343e5ee0e8843b3
This commit is contained in:
@@ -56,9 +56,11 @@ import com.android.internal.accessibility.util.AccessibilityUtils;
|
||||
import com.android.internal.content.PackageMonitor;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.testutils.XmlTestUtils;
|
||||
import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
|
||||
import com.android.settings.testutils.shadow.ShadowFragment;
|
||||
import com.android.settings.testutils.shadow.ShadowUserManager;
|
||||
import com.android.settingslib.RestrictedPreference;
|
||||
import com.android.settingslib.bluetooth.LocalBluetoothManager;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.search.SearchIndexableRaw;
|
||||
|
||||
@@ -85,6 +87,7 @@ import java.util.List;
|
||||
|
||||
/** Test for {@link AccessibilitySettings}. */
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Config(shadows = {ShadowBluetoothUtils.class})
|
||||
public class AccessibilitySettingsTest {
|
||||
private static final String PACKAGE_NAME = "com.android.test";
|
||||
private static final String CLASS_NAME = PACKAGE_NAME + ".test_a11y_service";
|
||||
@@ -116,6 +119,8 @@ public class AccessibilitySettingsTest {
|
||||
private ShadowAccessibilityManager mShadowAccessibilityManager;
|
||||
@Mock
|
||||
private AppOpsManager mAppOpsManager;
|
||||
@Mock
|
||||
private LocalBluetoothManager mLocalBluetoothManager;
|
||||
|
||||
private Lifecycle mLifecycle;
|
||||
|
||||
@@ -134,6 +139,7 @@ public class AccessibilitySettingsTest {
|
||||
anyInt(), anyString())).thenReturn(AppOpsManager.MODE_ALLOWED);
|
||||
mLifecycle = new Lifecycle(() -> mLifecycle);
|
||||
when(mFragment.getSettingsLifecycle()).thenReturn(mLifecycle);
|
||||
ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Reference in New Issue
Block a user