diff --git a/packages/CredentialManager/src/com/android/credentialmanager/CredentialManagerRepo.kt b/packages/CredentialManager/src/com/android/credentialmanager/CredentialManagerRepo.kt index 2dafbcb952059..a78509d897aa0 100644 --- a/packages/CredentialManager/src/com/android/credentialmanager/CredentialManagerRepo.kt +++ b/packages/CredentialManager/src/com/android/credentialmanager/CredentialManagerRepo.kt @@ -66,8 +66,9 @@ class CredentialManagerRepo( ) val originName: String? = when (requestInfo?.type) { - RequestInfo.TYPE_CREATE -> requestInfo.createCredentialRequest?.origin - RequestInfo.TYPE_GET -> requestInfo.getCredentialRequest?.origin + RequestInfo.TYPE_CREATE -> processHttpsOrigin( + requestInfo.createCredentialRequest?.origin) + RequestInfo.TYPE_GET -> processHttpsOrigin(requestInfo.getCredentialRequest?.origin) else -> null } @@ -247,6 +248,9 @@ class CredentialManagerRepo( } companion object { + private const val HTTPS = "https://" + private const val FORWARD_SLASH = "/" + fun sendCancellationCode( cancelCode: Int, requestToken: IBinder?, @@ -266,5 +270,17 @@ class CredentialManagerRepo( CancelUiRequest::class.java ) } + + /** Removes "https://", and the trailing slash if present for an https request. */ + private fun processHttpsOrigin(origin: String?): String? { + var processed = origin + if (processed?.startsWith(HTTPS) == true) { // Removes "https://" + processed = processed.substring(HTTPS.length) + if (processed?.endsWith(FORWARD_SLASH) == true) { // Removes the trailing slash + processed = processed.substring(0, processed.length - 1) + } + } + return processed + } } }