diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/CredentialInteractor.kt b/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/CredentialInteractor.kt index 23afb7c71bec54446c32c3712dc9b0c955002b5c..49973708487b6fa0d336e870cf4887aec72c72b1 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/CredentialInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/domain/interactor/CredentialInteractor.kt @@ -62,7 +62,7 @@ constructor( userManager.getCredentialOwnerProfile(userId) override fun getParentProfileIdOrSelfId(userId: Int): Int = - userManager.getProfileParent(userId).id + userManager.getProfileParent(userId)?.id ?: userManager.getCredentialOwnerProfile(userId) override fun verifyCredential( request: BiometricPromptRequest.Credential, diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/domain/interactor/CredentialInteractorImplTest.kt b/packages/SystemUI/tests/src/com/android/systemui/biometrics/domain/interactor/CredentialInteractorImplTest.kt index 569e0642a16088699670a7deb4e934e79d12620d..8690d4eb1f3ebecd4a0e935ce3728da05e81f3cb 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/domain/interactor/CredentialInteractorImplTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/domain/interactor/CredentialInteractorImplTest.kt @@ -99,6 +99,16 @@ class CredentialInteractorImplTest : SysuiTestCase() { } } + @Test + fun useCredentialOwnerWhenParentProfileIsNull() { + val value = 1 + + whenever(userManager.getProfileParent(eq(USER_ID))).thenReturn(null) + whenever(userManager.getCredentialOwnerProfile(eq(USER_ID))).thenReturn(value) + + assertThat(interactor.getParentProfileIdOrSelfId(USER_ID)).isEqualTo(value) + } + @Test fun pinCredentialWhenGood() = pinCredential(goodCredential()) @Test fun pinCredentialWhenBad() = pinCredential(badCredential())