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