From 7f02013358318e163c7f01b830d08d65244a5f80 Mon Sep 17 00:00:00 2001 From: Arpan Date: Wed, 1 Feb 2023 01:07:20 +0000 Subject: [PATCH] Setup Place to Define Provider Metrics Generating a fixed location to invoke providers where metrics can be easily placed. Bug: 253157163 Bug: 253157181 Test: Builds Change-Id: I4c2b0083093fef5050567dd8b6622e9a0d9a0174 --- .../credentials/CredentialManagerService.java | 24 +++---------------- .../credentials/ProviderClearSession.java | 7 ++++++ .../credentials/ProviderCreateSession.java | 7 ++++++ .../credentials/ProviderGetSession.java | 7 ++++++ .../server/credentials/ProviderSession.java | 4 ++++ 5 files changed, 28 insertions(+), 21 deletions(-) diff --git a/services/credentials/java/com/android/server/credentials/CredentialManagerService.java b/services/credentials/java/com/android/server/credentials/CredentialManagerService.java index f76cf4993ebce..4f479bf8559e4 100644 --- a/services/credentials/java/com/android/server/credentials/CredentialManagerService.java +++ b/services/credentials/java/com/android/server/credentials/CredentialManagerService.java @@ -45,8 +45,6 @@ import android.os.ICancellationSignal; import android.os.RemoteException; import android.os.UserHandle; import android.provider.Settings; -import android.service.credentials.BeginCreateCredentialRequest; -import android.service.credentials.BeginGetCredentialRequest; import android.service.credentials.CallingAppInfo; import android.service.credentials.CredentialProviderInfo; import android.text.TextUtils; @@ -302,11 +300,7 @@ public final class CredentialManagerService } // Iterate over all provider sessions and invoke the request - providerSessions.forEach( - providerGetSession -> providerGetSession - .getRemoteCredentialService().onBeginGetCredential( - (BeginGetCredentialRequest) providerGetSession.getProviderRequest(), - /*callback=*/providerGetSession)); + providerSessions.forEach(ProviderSession::invokeSession); return cancelTransport; } @@ -350,12 +344,7 @@ public final class CredentialManagerService // Iterate over all provider sessions and invoke the request providerSessions.forEach( - providerCreateSession -> providerCreateSession - .getRemoteCredentialService() - .onCreateCredential( - (BeginCreateCredentialRequest) - providerCreateSession.getProviderRequest(), - /* callback= */ providerCreateSession)); + ProviderSession::invokeSession); return cancelTransport; } @@ -468,14 +457,7 @@ public final class CredentialManagerService // Iterate over all provider sessions and invoke the request providerSessions.forEach( - providerClearSession -> { - providerClearSession - .getRemoteCredentialService() - .onClearCredentialState( - (android.service.credentials.ClearCredentialStateRequest) - providerClearSession.getProviderRequest(), - /* callback= */ providerClearSession); - }); + ProviderSession::invokeSession); return cancelTransport; } } diff --git a/services/credentials/java/com/android/server/credentials/ProviderClearSession.java b/services/credentials/java/com/android/server/credentials/ProviderClearSession.java index 48e35b2d0643f..b1126499d56fa 100644 --- a/services/credentials/java/com/android/server/credentials/ProviderClearSession.java +++ b/services/credentials/java/com/android/server/credentials/ProviderClearSession.java @@ -115,4 +115,11 @@ public final class ProviderClearSession extends ProviderSession prepareUiSaveEntries(@NonNull List saveEntries) { Log.i(TAG, "in populateUiSaveEntries"); List uiSaveEntries = new ArrayList<>(); diff --git a/services/credentials/java/com/android/server/credentials/ProviderGetSession.java b/services/credentials/java/com/android/server/credentials/ProviderGetSession.java index 95f231347ad10..b4058ed19725d 100644 --- a/services/credentials/java/com/android/server/credentials/ProviderGetSession.java +++ b/services/credentials/java/com/android/server/credentials/ProviderGetSession.java @@ -230,6 +230,13 @@ public final class ProviderGetSession extends ProviderSession /** Should be overridden to handle the selected entry from the UI. */ protected abstract void onUiEntrySelected(String entryType, String entryId, ProviderPendingIntentResponse providerPendingIntentResponse); + + /** Should be overridden to invoke the provider at a defined location. Helpful for + * situations such as metric generation. */ + protected abstract void invokeSession(); }