1 /* 2 * Copyright 2022 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package android.credentials; 18 19 import java.util.List; 20 21 import android.credentials.CredentialProviderInfo; 22 import android.credentials.ClearCredentialStateRequest; 23 import android.credentials.CreateCredentialRequest; 24 import android.credentials.GetCredentialRequest; 25 import android.credentials.RegisterCredentialDescriptionRequest; 26 import android.credentials.UnregisterCredentialDescriptionRequest; 27 import android.credentials.IClearCredentialStateCallback; 28 import android.credentials.ICreateCredentialCallback; 29 import android.credentials.IGetCredentialCallback; 30 import android.credentials.IPrepareGetCredentialCallback; 31 import android.credentials.ISetEnabledProvidersCallback; 32 import android.content.ComponentName; 33 import android.os.ICancellationSignal; 34 35 /** 36 * System private interface for talking to the credential manager service. 37 * 38 * @hide 39 */ 40 interface ICredentialManager { 41 executeGetCredential(in GetCredentialRequest request, in IGetCredentialCallback callback, String callingPackage)42 @nullable ICancellationSignal executeGetCredential(in GetCredentialRequest request, in IGetCredentialCallback callback, String callingPackage); 43 executePrepareGetCredential(in GetCredentialRequest request, in IPrepareGetCredentialCallback prepareGetCredentialCallback, in IGetCredentialCallback getCredentialCallback, String callingPackage)44 @nullable ICancellationSignal executePrepareGetCredential(in GetCredentialRequest request, in IPrepareGetCredentialCallback prepareGetCredentialCallback, in IGetCredentialCallback getCredentialCallback, String callingPackage); 45 executeCreateCredential(in CreateCredentialRequest request, in ICreateCredentialCallback callback, String callingPackage)46 @nullable ICancellationSignal executeCreateCredential(in CreateCredentialRequest request, in ICreateCredentialCallback callback, String callingPackage); 47 clearCredentialState(in ClearCredentialStateRequest request, in IClearCredentialStateCallback callback, String callingPackage)48 @nullable ICancellationSignal clearCredentialState(in ClearCredentialStateRequest request, in IClearCredentialStateCallback callback, String callingPackage); 49 setEnabledProviders(in List<String> primaryProviders, in List<String> providers, in int userId, in ISetEnabledProvidersCallback callback)50 void setEnabledProviders(in List<String> primaryProviders, in List<String> providers, in int userId, in ISetEnabledProvidersCallback callback); 51 registerCredentialDescription(in RegisterCredentialDescriptionRequest request, String callingPackage)52 void registerCredentialDescription(in RegisterCredentialDescriptionRequest request, String callingPackage); 53 unregisterCredentialDescription(in UnregisterCredentialDescriptionRequest request, String callingPackage)54 void unregisterCredentialDescription(in UnregisterCredentialDescriptionRequest request, String callingPackage); 55 isEnabledCredentialProviderService(in ComponentName componentName, String callingPackage)56 boolean isEnabledCredentialProviderService(in ComponentName componentName, String callingPackage); 57 getCredentialProviderServices(in int userId, in int providerFilter)58 List<CredentialProviderInfo> getCredentialProviderServices(in int userId, in int providerFilter); 59 getCredentialProviderServicesForTesting(in int providerFilter)60 List<CredentialProviderInfo> getCredentialProviderServicesForTesting(in int providerFilter); 61 isServiceEnabled()62 boolean isServiceEnabled(); 63 } 64 65