Respond with null data when no biometrics.
Safety Center expects a response to the broadcast in this case. The Settings app should respond with explicitely no data to Safety Center rather than not respond. Bug: 295143688 Test: atest BiometricsSafetySourceTest Change-Id: Iea7f7c53919d90bf3d7fd989fb2f320a5c9ee9c6
This commit is contained in:
@@ -164,7 +164,12 @@ public final class BiometricsSafetySource {
|
|||||||
disablingAdmin == null /* enabled */,
|
disablingAdmin == null /* enabled */,
|
||||||
fingerprintStatusUtils.hasEnrolled(),
|
fingerprintStatusUtils.hasEnrolled(),
|
||||||
safetyEvent);
|
safetyEvent);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SafetyCenterManagerWrapper.get()
|
||||||
|
.setSafetySourceData(
|
||||||
|
context, SAFETY_SOURCE_ID, /* safetySourceData= */ null, safetyEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Notifies Safety Center of a change in biometrics settings. */
|
/** Notifies Safety Center of a change in biometrics settings. */
|
||||||
|
@@ -67,24 +67,18 @@ import java.util.List;
|
|||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public class BiometricsSafetySourceTest {
|
public class BiometricsSafetySourceTest {
|
||||||
|
|
||||||
private static final ComponentName COMPONENT_NAME =
|
private static final ComponentName COMPONENT_NAME = new ComponentName("package", "class");
|
||||||
new ComponentName("package", "class");
|
|
||||||
private static final UserHandle USER_HANDLE = new UserHandle(UserHandle.myUserId());
|
private static final UserHandle USER_HANDLE = new UserHandle(UserHandle.myUserId());
|
||||||
private static final SafetyEvent EVENT_SOURCE_STATE_CHANGED =
|
private static final SafetyEvent EVENT_SOURCE_STATE_CHANGED =
|
||||||
new SafetyEvent.Builder(SAFETY_EVENT_TYPE_SOURCE_STATE_CHANGED).build();
|
new SafetyEvent.Builder(SAFETY_EVENT_TYPE_SOURCE_STATE_CHANGED).build();
|
||||||
|
|
||||||
private Context mApplicationContext;
|
private Context mApplicationContext;
|
||||||
|
|
||||||
@Mock
|
@Mock private PackageManager mPackageManager;
|
||||||
private PackageManager mPackageManager;
|
@Mock private DevicePolicyManager mDevicePolicyManager;
|
||||||
@Mock
|
@Mock private FingerprintManager mFingerprintManager;
|
||||||
private DevicePolicyManager mDevicePolicyManager;
|
@Mock private FaceManager mFaceManager;
|
||||||
@Mock
|
@Mock private SafetyCenterManagerWrapper mSafetyCenterManagerWrapper;
|
||||||
private FingerprintManager mFingerprintManager;
|
|
||||||
@Mock
|
|
||||||
private FaceManager mFaceManager;
|
|
||||||
@Mock
|
|
||||||
private SafetyCenterManagerWrapper mSafetyCenterManagerWrapper;
|
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
@@ -119,15 +113,16 @@ public class BiometricsSafetySourceTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void setSafetySourceData_whenSafetyCenterIsEnabled_withoutBiometrics_doesNotSetData() {
|
public void setSafetySourceData_whenSafetyCenterIsEnabled_withoutBiometrics_setsNullData() {
|
||||||
when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(false);
|
when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(false);
|
||||||
when(mFingerprintManager.isHardwareDetected()).thenReturn(false);
|
when(mFingerprintManager.isHardwareDetected()).thenReturn(false);
|
||||||
when(mFaceManager.isHardwareDetected()).thenReturn(false);
|
when(mFaceManager.isHardwareDetected()).thenReturn(false);
|
||||||
|
|
||||||
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
||||||
|
|
||||||
verify(mSafetyCenterManagerWrapper, never())
|
verify(mSafetyCenterManagerWrapper)
|
||||||
.setSafetySourceData(any(), any(), any(), any());
|
.setSafetySourceData(
|
||||||
|
any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), eq(null), any());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -140,8 +135,9 @@ public class BiometricsSafetySourceTest {
|
|||||||
|
|
||||||
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
||||||
|
|
||||||
verify(mSafetyCenterManagerWrapper).setSafetySourceData(
|
verify(mSafetyCenterManagerWrapper)
|
||||||
any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), any(), any());
|
.setSafetySourceData(
|
||||||
|
any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), any(), any());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -225,7 +221,8 @@ public class BiometricsSafetySourceTest {
|
|||||||
|
|
||||||
assertSafetySourceEnabledDataSetWithPluralSummary(
|
assertSafetySourceEnabledDataSetWithPluralSummary(
|
||||||
"security_settings_fingerprint_preference_title",
|
"security_settings_fingerprint_preference_title",
|
||||||
"security_settings_fingerprint_preference_summary", enrolledFingerprintsCount,
|
"security_settings_fingerprint_preference_summary",
|
||||||
|
enrolledFingerprintsCount,
|
||||||
FingerprintSettings.class.getName());
|
FingerprintSettings.class.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -346,8 +343,9 @@ public class BiometricsSafetySourceTest {
|
|||||||
when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
|
when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
|
||||||
when(mFaceManager.isHardwareDetected()).thenReturn(true);
|
when(mFaceManager.isHardwareDetected()).thenReturn(true);
|
||||||
when(mDevicePolicyManager.getKeyguardDisabledFeatures(COMPONENT_NAME))
|
when(mDevicePolicyManager.getKeyguardDisabledFeatures(COMPONENT_NAME))
|
||||||
.thenReturn(DevicePolicyManager.KEYGUARD_DISABLE_FACE
|
.thenReturn(
|
||||||
| DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT);
|
DevicePolicyManager.KEYGUARD_DISABLE_FACE
|
||||||
|
| DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT);
|
||||||
|
|
||||||
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
||||||
|
|
||||||
@@ -363,8 +361,8 @@ public class BiometricsSafetySourceTest {
|
|||||||
when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
|
when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
|
||||||
when(mFaceManager.isHardwareDetected()).thenReturn(true);
|
when(mFaceManager.isHardwareDetected()).thenReturn(true);
|
||||||
when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(true);
|
when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(true);
|
||||||
when(mFingerprintManager.getEnrolledFingerprints(anyInt())).thenReturn(
|
when(mFingerprintManager.getEnrolledFingerprints(anyInt()))
|
||||||
createFingerprintList(enrolledFingerprintsCount));
|
.thenReturn(createFingerprintList(enrolledFingerprintsCount));
|
||||||
|
|
||||||
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
||||||
|
|
||||||
@@ -381,8 +379,8 @@ public class BiometricsSafetySourceTest {
|
|||||||
when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
|
when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
|
||||||
when(mFaceManager.isHardwareDetected()).thenReturn(true);
|
when(mFaceManager.isHardwareDetected()).thenReturn(true);
|
||||||
when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(true);
|
when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(true);
|
||||||
when(mFingerprintManager.getEnrolledFingerprints(anyInt())).thenReturn(
|
when(mFingerprintManager.getEnrolledFingerprints(anyInt()))
|
||||||
createFingerprintList(enrolledFingerprintsCount));
|
.thenReturn(createFingerprintList(enrolledFingerprintsCount));
|
||||||
|
|
||||||
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
||||||
|
|
||||||
@@ -398,8 +396,8 @@ public class BiometricsSafetySourceTest {
|
|||||||
when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
|
when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
|
||||||
when(mFaceManager.isHardwareDetected()).thenReturn(true);
|
when(mFaceManager.isHardwareDetected()).thenReturn(true);
|
||||||
when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(true);
|
when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(true);
|
||||||
when(mFingerprintManager.getEnrolledFingerprints(anyInt())).thenReturn(
|
when(mFingerprintManager.getEnrolledFingerprints(anyInt()))
|
||||||
Collections.emptyList());
|
.thenReturn(Collections.emptyList());
|
||||||
|
|
||||||
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
||||||
|
|
||||||
@@ -415,8 +413,8 @@ public class BiometricsSafetySourceTest {
|
|||||||
when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(true);
|
when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(true);
|
||||||
when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
|
when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
|
||||||
when(mFaceManager.isHardwareDetected()).thenReturn(false);
|
when(mFaceManager.isHardwareDetected()).thenReturn(false);
|
||||||
when(mFingerprintManager.getEnrolledFingerprints(anyInt())).thenReturn(
|
when(mFingerprintManager.getEnrolledFingerprints(anyInt()))
|
||||||
createFingerprintList(enrolledFingerprintsCount));
|
.thenReturn(createFingerprintList(enrolledFingerprintsCount));
|
||||||
|
|
||||||
ActiveUnlockTestUtils.enable(mApplicationContext);
|
ActiveUnlockTestUtils.enable(mApplicationContext);
|
||||||
|
|
||||||
@@ -452,8 +450,8 @@ public class BiometricsSafetySourceTest {
|
|||||||
when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
|
when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
|
||||||
when(mFaceManager.isHardwareDetected()).thenReturn(true);
|
when(mFaceManager.isHardwareDetected()).thenReturn(true);
|
||||||
when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(true);
|
when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(true);
|
||||||
when(mFingerprintManager.getEnrolledFingerprints(anyInt())).thenReturn(
|
when(mFingerprintManager.getEnrolledFingerprints(anyInt()))
|
||||||
createFingerprintList(enrolledFingerprintsCount));
|
.thenReturn(createFingerprintList(enrolledFingerprintsCount));
|
||||||
ActiveUnlockTestUtils.enable(mApplicationContext);
|
ActiveUnlockTestUtils.enable(mApplicationContext);
|
||||||
|
|
||||||
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
||||||
@@ -462,7 +460,6 @@ public class BiometricsSafetySourceTest {
|
|||||||
"security_settings_biometric_preference_title",
|
"security_settings_biometric_preference_title",
|
||||||
"security_settings_biometric_preference_summary_both_fp_single",
|
"security_settings_biometric_preference_summary_both_fp_single",
|
||||||
Settings.CombinedBiometricSettingsActivity.class.getName());
|
Settings.CombinedBiometricSettingsActivity.class.getName());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -472,14 +469,15 @@ public class BiometricsSafetySourceTest {
|
|||||||
when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
|
when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
|
||||||
when(mFaceManager.isHardwareDetected()).thenReturn(true);
|
when(mFaceManager.isHardwareDetected()).thenReturn(true);
|
||||||
when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(false);
|
when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(false);
|
||||||
when(mFingerprintManager.getEnrolledFingerprints(anyInt())).thenReturn(
|
when(mFingerprintManager.getEnrolledFingerprints(anyInt()))
|
||||||
createFingerprintList(enrolledFingerprintsCount));
|
.thenReturn(createFingerprintList(enrolledFingerprintsCount));
|
||||||
|
|
||||||
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
||||||
|
|
||||||
assertSafetySourceEnabledDataSetWithPluralSummary(
|
assertSafetySourceEnabledDataSetWithPluralSummary(
|
||||||
"security_settings_biometric_preference_title",
|
"security_settings_biometric_preference_title",
|
||||||
"security_settings_fingerprint_preference_summary", enrolledFingerprintsCount,
|
"security_settings_fingerprint_preference_summary",
|
||||||
|
enrolledFingerprintsCount,
|
||||||
Settings.CombinedBiometricSettingsActivity.class.getName());
|
Settings.CombinedBiometricSettingsActivity.class.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -494,8 +492,12 @@ public class BiometricsSafetySourceTest {
|
|||||||
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
||||||
|
|
||||||
ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
|
ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
|
||||||
verify(mSafetyCenterManagerWrapper).setSafetySourceData(
|
verify(mSafetyCenterManagerWrapper)
|
||||||
any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
|
.setSafetySourceData(
|
||||||
|
any(),
|
||||||
|
eq(BiometricsSafetySource.SAFETY_SOURCE_ID),
|
||||||
|
captor.capture(),
|
||||||
|
any());
|
||||||
SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
|
SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
|
||||||
assertThat(safetySourceStatus.getSeverityLevel())
|
assertThat(safetySourceStatus.getSeverityLevel())
|
||||||
.isEqualTo(SafetySourceData.SEVERITY_LEVEL_INFORMATION);
|
.isEqualTo(SafetySourceData.SEVERITY_LEVEL_INFORMATION);
|
||||||
@@ -512,8 +514,12 @@ public class BiometricsSafetySourceTest {
|
|||||||
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
||||||
|
|
||||||
ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
|
ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
|
||||||
verify(mSafetyCenterManagerWrapper).setSafetySourceData(
|
verify(mSafetyCenterManagerWrapper)
|
||||||
any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
|
.setSafetySourceData(
|
||||||
|
any(),
|
||||||
|
eq(BiometricsSafetySource.SAFETY_SOURCE_ID),
|
||||||
|
captor.capture(),
|
||||||
|
any());
|
||||||
SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
|
SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
|
||||||
assertThat(safetySourceStatus.getSeverityLevel())
|
assertThat(safetySourceStatus.getSeverityLevel())
|
||||||
.isEqualTo(SafetySourceData.SEVERITY_LEVEL_INFORMATION);
|
.isEqualTo(SafetySourceData.SEVERITY_LEVEL_INFORMATION);
|
||||||
@@ -530,8 +536,12 @@ public class BiometricsSafetySourceTest {
|
|||||||
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
||||||
|
|
||||||
ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
|
ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
|
||||||
verify(mSafetyCenterManagerWrapper).setSafetySourceData(
|
verify(mSafetyCenterManagerWrapper)
|
||||||
any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
|
.setSafetySourceData(
|
||||||
|
any(),
|
||||||
|
eq(BiometricsSafetySource.SAFETY_SOURCE_ID),
|
||||||
|
captor.capture(),
|
||||||
|
any());
|
||||||
SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
|
SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
|
||||||
assertThat(safetySourceStatus.getSeverityLevel())
|
assertThat(safetySourceStatus.getSeverityLevel())
|
||||||
.isEqualTo(SafetySourceData.SEVERITY_LEVEL_UNSPECIFIED);
|
.isEqualTo(SafetySourceData.SEVERITY_LEVEL_UNSPECIFIED);
|
||||||
@@ -547,8 +557,12 @@ public class BiometricsSafetySourceTest {
|
|||||||
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
||||||
|
|
||||||
ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
|
ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
|
||||||
verify(mSafetyCenterManagerWrapper).setSafetySourceData(
|
verify(mSafetyCenterManagerWrapper)
|
||||||
any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
|
.setSafetySourceData(
|
||||||
|
any(),
|
||||||
|
eq(BiometricsSafetySource.SAFETY_SOURCE_ID),
|
||||||
|
captor.capture(),
|
||||||
|
any());
|
||||||
SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
|
SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
|
||||||
assertThat(safetySourceStatus.getSeverityLevel())
|
assertThat(safetySourceStatus.getSeverityLevel())
|
||||||
.isEqualTo(SafetySourceData.SEVERITY_LEVEL_INFORMATION);
|
.isEqualTo(SafetySourceData.SEVERITY_LEVEL_INFORMATION);
|
||||||
@@ -564,8 +578,12 @@ public class BiometricsSafetySourceTest {
|
|||||||
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
||||||
|
|
||||||
ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
|
ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
|
||||||
verify(mSafetyCenterManagerWrapper).setSafetySourceData(
|
verify(mSafetyCenterManagerWrapper)
|
||||||
any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
|
.setSafetySourceData(
|
||||||
|
any(),
|
||||||
|
eq(BiometricsSafetySource.SAFETY_SOURCE_ID),
|
||||||
|
captor.capture(),
|
||||||
|
any());
|
||||||
SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
|
SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
|
||||||
assertThat(safetySourceStatus.getSeverityLevel())
|
assertThat(safetySourceStatus.getSeverityLevel())
|
||||||
.isEqualTo(SafetySourceData.SEVERITY_LEVEL_UNSPECIFIED);
|
.isEqualTo(SafetySourceData.SEVERITY_LEVEL_UNSPECIFIED);
|
||||||
@@ -581,8 +599,12 @@ public class BiometricsSafetySourceTest {
|
|||||||
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
||||||
|
|
||||||
ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
|
ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
|
||||||
verify(mSafetyCenterManagerWrapper).setSafetySourceData(
|
verify(mSafetyCenterManagerWrapper)
|
||||||
any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
|
.setSafetySourceData(
|
||||||
|
any(),
|
||||||
|
eq(BiometricsSafetySource.SAFETY_SOURCE_ID),
|
||||||
|
captor.capture(),
|
||||||
|
any());
|
||||||
SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
|
SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
|
||||||
assertThat(safetySourceStatus.getSeverityLevel())
|
assertThat(safetySourceStatus.getSeverityLevel())
|
||||||
.isEqualTo(SafetySourceData.SEVERITY_LEVEL_INFORMATION);
|
.isEqualTo(SafetySourceData.SEVERITY_LEVEL_INFORMATION);
|
||||||
@@ -598,61 +620,74 @@ public class BiometricsSafetySourceTest {
|
|||||||
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
|
||||||
|
|
||||||
ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
|
ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
|
||||||
verify(mSafetyCenterManagerWrapper).setSafetySourceData(
|
verify(mSafetyCenterManagerWrapper)
|
||||||
any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
|
.setSafetySourceData(
|
||||||
|
any(),
|
||||||
|
eq(BiometricsSafetySource.SAFETY_SOURCE_ID),
|
||||||
|
captor.capture(),
|
||||||
|
any());
|
||||||
SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
|
SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
|
||||||
assertThat(safetySourceStatus.getSeverityLevel())
|
assertThat(safetySourceStatus.getSeverityLevel())
|
||||||
.isEqualTo(SafetySourceData.SEVERITY_LEVEL_UNSPECIFIED);
|
.isEqualTo(SafetySourceData.SEVERITY_LEVEL_UNSPECIFIED);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assertSafetySourceDisabledDataSetWithSingularSummary(String expectedTitleResName,
|
private void assertSafetySourceDisabledDataSetWithSingularSummary(
|
||||||
String expectedSummaryResName) {
|
String expectedTitleResName, String expectedSummaryResName) {
|
||||||
assertSafetySourceDisabledDataSet(
|
assertSafetySourceDisabledDataSet(
|
||||||
ResourcesUtils.getResourcesString(mApplicationContext, expectedTitleResName),
|
ResourcesUtils.getResourcesString(mApplicationContext, expectedTitleResName),
|
||||||
ResourcesUtils.getResourcesString(mApplicationContext, expectedSummaryResName)
|
ResourcesUtils.getResourcesString(mApplicationContext, expectedSummaryResName));
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assertSafetySourceEnabledDataSetWithSingularSummary(String expectedTitleResName,
|
private void assertSafetySourceEnabledDataSetWithSingularSummary(
|
||||||
|
String expectedTitleResName,
|
||||||
String expectedSummaryResName,
|
String expectedSummaryResName,
|
||||||
String expectedSettingsClassName) {
|
String expectedSettingsClassName) {
|
||||||
assertSafetySourceEnabledDataSet(
|
assertSafetySourceEnabledDataSet(
|
||||||
ResourcesUtils.getResourcesString(mApplicationContext, expectedTitleResName),
|
ResourcesUtils.getResourcesString(mApplicationContext, expectedTitleResName),
|
||||||
ResourcesUtils.getResourcesString(mApplicationContext, expectedSummaryResName),
|
ResourcesUtils.getResourcesString(mApplicationContext, expectedSummaryResName),
|
||||||
expectedSettingsClassName
|
expectedSettingsClassName);
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assertSafetySourceDisabledDataSetWithPluralSummary(String expectedTitleResName,
|
private void assertSafetySourceDisabledDataSetWithPluralSummary(
|
||||||
String expectedSummaryResName, int expectedSummaryQuantity) {
|
String expectedTitleResName,
|
||||||
final int stringResId = ResourcesUtils.getResourcesId(
|
String expectedSummaryResName,
|
||||||
ApplicationProvider.getApplicationContext(), "string",
|
int expectedSummaryQuantity) {
|
||||||
expectedSummaryResName);
|
final int stringResId =
|
||||||
|
ResourcesUtils.getResourcesId(
|
||||||
|
ApplicationProvider.getApplicationContext(),
|
||||||
|
"string",
|
||||||
|
expectedSummaryResName);
|
||||||
assertSafetySourceDisabledDataSet(
|
assertSafetySourceDisabledDataSet(
|
||||||
ResourcesUtils.getResourcesString(mApplicationContext, expectedTitleResName),
|
ResourcesUtils.getResourcesString(mApplicationContext, expectedTitleResName),
|
||||||
StringUtil.getIcuPluralsString(mApplicationContext,
|
StringUtil.getIcuPluralsString(
|
||||||
expectedSummaryQuantity, stringResId)
|
mApplicationContext, expectedSummaryQuantity, stringResId));
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assertSafetySourceEnabledDataSetWithPluralSummary(String expectedTitleResName,
|
private void assertSafetySourceEnabledDataSetWithPluralSummary(
|
||||||
String expectedSummaryResName, int expectedSummaryQuantity,
|
String expectedTitleResName,
|
||||||
|
String expectedSummaryResName,
|
||||||
|
int expectedSummaryQuantity,
|
||||||
String expectedSettingsClassName) {
|
String expectedSettingsClassName) {
|
||||||
final int stringResId = ResourcesUtils.getResourcesId(
|
final int stringResId =
|
||||||
ApplicationProvider.getApplicationContext(), "string",
|
ResourcesUtils.getResourcesId(
|
||||||
expectedSummaryResName);
|
ApplicationProvider.getApplicationContext(),
|
||||||
|
"string",
|
||||||
|
expectedSummaryResName);
|
||||||
assertSafetySourceEnabledDataSet(
|
assertSafetySourceEnabledDataSet(
|
||||||
ResourcesUtils.getResourcesString(mApplicationContext, expectedTitleResName),
|
ResourcesUtils.getResourcesString(mApplicationContext, expectedTitleResName),
|
||||||
StringUtil.getIcuPluralsString(mApplicationContext,
|
StringUtil.getIcuPluralsString(
|
||||||
expectedSummaryQuantity, stringResId),
|
mApplicationContext, expectedSummaryQuantity, stringResId),
|
||||||
expectedSettingsClassName
|
expectedSettingsClassName);
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assertSafetySourceDisabledDataSet(String expectedTitle, String expectedSummary) {
|
private void assertSafetySourceDisabledDataSet(String expectedTitle, String expectedSummary) {
|
||||||
ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
|
ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
|
||||||
verify(mSafetyCenterManagerWrapper).setSafetySourceData(
|
verify(mSafetyCenterManagerWrapper)
|
||||||
any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
|
.setSafetySourceData(
|
||||||
|
any(),
|
||||||
|
eq(BiometricsSafetySource.SAFETY_SOURCE_ID),
|
||||||
|
captor.capture(),
|
||||||
|
any());
|
||||||
SafetySourceData safetySourceData = captor.getValue();
|
SafetySourceData safetySourceData = captor.getValue();
|
||||||
SafetySourceStatus safetySourceStatus = safetySourceData.getStatus();
|
SafetySourceStatus safetySourceStatus = safetySourceData.getStatus();
|
||||||
|
|
||||||
@@ -667,11 +702,15 @@ public class BiometricsSafetySourceTest {
|
|||||||
assertThat(clickIntent.getAction()).isEqualTo(ACTION_SHOW_ADMIN_SUPPORT_DETAILS);
|
assertThat(clickIntent.getAction()).isEqualTo(ACTION_SHOW_ADMIN_SUPPORT_DETAILS);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assertSafetySourceEnabledDataSet(String expectedTitle, String expectedSummary,
|
private void assertSafetySourceEnabledDataSet(
|
||||||
String expectedSettingsClassName) {
|
String expectedTitle, String expectedSummary, String expectedSettingsClassName) {
|
||||||
ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
|
ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
|
||||||
verify(mSafetyCenterManagerWrapper).setSafetySourceData(
|
verify(mSafetyCenterManagerWrapper)
|
||||||
any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
|
.setSafetySourceData(
|
||||||
|
any(),
|
||||||
|
eq(BiometricsSafetySource.SAFETY_SOURCE_ID),
|
||||||
|
captor.capture(),
|
||||||
|
any());
|
||||||
SafetySourceData safetySourceData = captor.getValue();
|
SafetySourceData safetySourceData = captor.getValue();
|
||||||
SafetySourceStatus safetySourceStatus = safetySourceData.getStatus();
|
SafetySourceStatus safetySourceStatus = safetySourceData.getStatus();
|
||||||
|
|
||||||
@@ -680,10 +719,8 @@ public class BiometricsSafetySourceTest {
|
|||||||
assertThat(safetySourceStatus.isEnabled()).isTrue();
|
assertThat(safetySourceStatus.isEnabled()).isTrue();
|
||||||
final Intent clickIntent = safetySourceStatus.getPendingIntent().getIntent();
|
final Intent clickIntent = safetySourceStatus.getPendingIntent().getIntent();
|
||||||
assertThat(clickIntent).isNotNull();
|
assertThat(clickIntent).isNotNull();
|
||||||
assertThat(clickIntent.getComponent().getPackageName())
|
assertThat(clickIntent.getComponent().getPackageName()).isEqualTo("com.android.settings");
|
||||||
.isEqualTo("com.android.settings");
|
assertThat(clickIntent.getComponent().getClassName()).isEqualTo(expectedSettingsClassName);
|
||||||
assertThat(clickIntent.getComponent().getClassName())
|
|
||||||
.isEqualTo(expectedSettingsClassName);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<Fingerprint> createFingerprintList(int size) {
|
private List<Fingerprint> createFingerprintList(int size) {
|
||||||
|
Reference in New Issue
Block a user