Enforce device policy in credential manager (settings)

Centralizes the provider list generation logic
in CredentialProviderInfo and enforce device
policy. Adds an test API that can be used by
CTS.

Bug: 261978289
Test: ondevice & cts
Change-Id: Idb7d75dc84e1a34025054075bc78b3c3d06f130f
This commit is contained in:
Becca Hughes
2023-01-13 17:50:33 +00:00
parent 8fe240626a
commit db0ba1ad3d

View File

@@ -35,7 +35,6 @@ import android.os.Bundle;
import android.os.CancellationSignal;
import android.os.OutcomeReceiver;
import android.os.UserHandle;
import android.service.credentials.CredentialProviderInfo;
import android.util.IconDrawableFactory;
import android.util.Log;
@@ -129,12 +128,10 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
return;
}
List<ServiceInfo> services = new ArrayList<>();
for (CredentialProviderInfo cpi :
CredentialProviderInfo.getAvailableServices(mContext, getUser())) {
services.add(cpi.getServiceInfo());
}
setAvailableServices(lifecycleOwner, services);
setAvailableServices(
lifecycleOwner,
mCredentialManager.getCredentialProviderServices(
getUser(), CredentialManager.PROVIDER_FILTER_USER_PROVIDERS_ONLY));
mCredentialManager.listEnabledProviders(
mCancellationSignal,