PasskeyCredentialSelectionActivity.kt

1.4 KB · raw

1package com.peachpasswords.passkeys23import android.app.Activity4import android.app.PendingIntent5import android.content.Context6import android.content.Intent7import android.os.Build8import android.os.Bundle9import androidx.credentials.exceptions.GetCredentialUnsupportedException10import androidx.credentials.provider.PendingIntentHandler1112class PasskeyCredentialSelectionActivity : Activity() {13    override fun onCreate(savedInstanceState: Bundle?) {14        super.onCreate(savedInstanceState)15        val result = Intent()16        PendingIntentHandler.setGetCredentialException(17            result,18            GetCredentialUnsupportedException("Peach passkey signing is not available yet."),19        )20        setResult(RESULT_OK, result)21        finish()22    }2324    companion object {25        private const val EXTRA_ENTRY_ID = "com.peachpasswords.passkeys.EXTRA_ENTRY_ID"2627        fun pendingIntent(context: Context, entryId: String): PendingIntent {28            val intent = Intent(context, PasskeyCredentialSelectionActivity::class.java)29                .putExtra(EXTRA_ENTRY_ID, entryId)30            val mutableFlag = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) PendingIntent.FLAG_MUTABLE else 031            return PendingIntent.getActivity(32                context,33                entryId.hashCode(),34                intent,35                PendingIntent.FLAG_UPDATE_CURRENT or mutableFlag,36            )37        }38    }39}